diff options
author | Sergei Golubchik <serg@mariadb.org> | 2015-04-09 00:37:47 +0200 |
---|---|---|
committer | Sergei Golubchik <serg@mariadb.org> | 2015-04-09 19:35:40 +0200 |
commit | 97d5de4ccfa75af899e764dbd1c3f4b7ea370311 (patch) | |
tree | 19bfde638b5ccefa3e8160f39e64827f2ddba7e1 /plugin/debug_key_management | |
parent | 5dffda3ccc72d026f0ac2eea63b5e1424cc1eca1 (diff) | |
download | mariadb-git-97d5de4ccfa75af899e764dbd1c3f4b7ea370311.tar.gz |
Add encryption key id to the API as a distinct concept
which is separate from the encryption key version
Diffstat (limited to 'plugin/debug_key_management')
-rw-r--r-- | plugin/debug_key_management/debug_key_management_plugin.cc | 13 |
1 files changed, 11 insertions, 2 deletions
diff --git a/plugin/debug_key_management/debug_key_management_plugin.cc b/plugin/debug_key_management/debug_key_management_plugin.cc index a389a8ab04b..33e0c6ab318 100644 --- a/plugin/debug_key_management/debug_key_management_plugin.cc +++ b/plugin/debug_key_management/debug_key_management_plugin.cc @@ -19,6 +19,8 @@ It's used to debug the encryption code with a fixed keys that change only on user request. + It does not support different key ids, the only valid key id is 1. + THIS IS AN EXAMPLE ONLY! ENCRYPTION KEYS ARE HARD-CODED AND *NOT* SECRET! DO NOT USE THIS PLUGIN IN PRODUCTION! EVER! */ @@ -40,13 +42,20 @@ static struct st_mysql_sys_var* sysvars[] = { NULL }; -static unsigned int get_latest_key_version() +static unsigned int get_latest_key_version(unsigned int keyid) { + if (keyid != 1) + return ENCRYPTION_KEY_VERSION_INVALID; + return key_version; } -static unsigned int get_key(unsigned int version, unsigned char* dstbuf, unsigned *buflen) +static unsigned int get_key(unsigned int keyid, unsigned int version, + unsigned char* dstbuf, unsigned *buflen) { + if (keyid != 1) + return ENCRYPTION_KEY_VERSION_INVALID; + if (*buflen < KEY_SIZE) { *buflen= KEY_SIZE; |