mirror of
https://git.openldap.org/openldap/openldap.git
synced 2025-03-01 14:15:49 +08:00
ITS#9364 use crypto table properly
This commit is contained in:
parent
21d21a09b0
commit
12c63d299c
@ -11,6 +11,7 @@
|
||||
* source distribution.
|
||||
*/
|
||||
#include <stdio.h>
|
||||
#include <string.h>
|
||||
#include <stdlib.h>
|
||||
#include <time.h>
|
||||
#include "lmdb.h"
|
||||
@ -37,8 +38,8 @@ int main(int argc,char * argv[])
|
||||
int count;
|
||||
int *values;
|
||||
char sval[32] = "";
|
||||
char password[] = "This is my passphrase for now";
|
||||
char ekey[32];
|
||||
char password[] = "This is my passphrase for now...";
|
||||
char *ekey;
|
||||
|
||||
srand(time(NULL));
|
||||
|
||||
@ -50,14 +51,23 @@ int main(int argc,char * argv[])
|
||||
}
|
||||
|
||||
cf = MDB_crypto();
|
||||
enckey.mv_data = ekey;
|
||||
enckey.mv_size = sizeof(ekey);
|
||||
cf->mcf_str2key(password, &enckey);
|
||||
|
||||
E(mdb_env_create(&env));
|
||||
E(mdb_env_set_maxreaders(env, 1));
|
||||
E(mdb_env_set_mapsize(env, 10485760));
|
||||
E(mdb_env_set_encrypt(env, cf->mcf_encfunc, &enckey, cf->mcf_esumsize));
|
||||
if (cf->mcf_sumfunc) {
|
||||
E(mdb_env_set_checksum(env, cf->mcf_sumfunc, cf->mcf_sumsize));
|
||||
}
|
||||
if (cf->mcf_encfunc) {
|
||||
ekey = malloc(cf->mcf_keysize);
|
||||
enckey.mv_data = ekey;
|
||||
enckey.mv_size = cf->mcf_keysize;
|
||||
if (cf->mcf_str2key)
|
||||
cf->mcf_str2key(password, &enckey);
|
||||
else
|
||||
strncpy(ekey, password, cf->mcf_keysize);
|
||||
E(mdb_env_set_encrypt(env, cf->mcf_encfunc, &enckey, cf->mcf_esumsize));
|
||||
}
|
||||
E(mdb_env_open(env, "./testdb", 0 /*|MDB_NOSYNC*/, 0664));
|
||||
|
||||
E(mdb_txn_begin(env, NULL, 0, &txn));
|
||||
|
Loading…
Reference in New Issue
Block a user