bdb 0.2.6 → 0.2.6.2
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- data/README.md +1 -0
- data/VERSION +1 -1
- data/ext/bdb.c +51 -0
- data/ext/extconf.rb +1 -1
- metadata +3 -3
data/README.md
CHANGED
@@ -46,6 +46,7 @@ Sample Usage
|
|
46
46
|
Bdb::DB_INIT_LOCK | # Initialize locking.
|
47
47
|
Bdb::DB_INIT_LOG | # Initialize logging
|
48
48
|
Bdb::DB_INIT_MPOOL # Initialize the in-memory cache.
|
49
|
+
# env.encrypt = 'yourpassword' # If you need it.
|
49
50
|
env.open(File.join(File.dirname(__FILE__), 'tmp'), env_flags, 0);
|
50
51
|
|
51
52
|
db = env.db
|
data/VERSION
CHANGED
@@ -1 +1 @@
|
|
1
|
-
0.2.6
|
1
|
+
0.2.6.2
|
data/ext/bdb.c
CHANGED
@@ -1058,6 +1058,28 @@ VALUE db_truncate(VALUE obj, VALUE vtxn)
|
|
1058
1058
|
return INT2FIX(count);
|
1059
1059
|
}
|
1060
1060
|
|
1061
|
+
/**
|
1062
|
+
* call-seq:
|
1063
|
+
* db.set_encrypt(db, passwd)
|
1064
|
+
*
|
1065
|
+
* Set encrypt
|
1066
|
+
*/
|
1067
|
+
VALUE db_set_encrypt(VALUE obj, VALUE vpasswd) {
|
1068
|
+
int rv;
|
1069
|
+
t_dbh *dbh;
|
1070
|
+
const char *passwd;
|
1071
|
+
|
1072
|
+
passwd = StringValueCStr(vpasswd);
|
1073
|
+
Data_Get_Struct(obj,t_dbh,dbh);
|
1074
|
+
u_int32_t flags=0x00000001; //DB_ENCRYPT_AES
|
1075
|
+
|
1076
|
+
rv = dbh->db->set_encrypt(dbh->db, passwd, flags);
|
1077
|
+
|
1078
|
+
if ( rv != 0 )
|
1079
|
+
raise_error(rv, "set_encrypt failure: %s",db_strerror(rv));
|
1080
|
+
return vpasswd;
|
1081
|
+
}
|
1082
|
+
|
1061
1083
|
/*
|
1062
1084
|
* call-seq:
|
1063
1085
|
* db.key_range(txn,vkey,flags) -> [#less,#same,#greater]
|
@@ -2873,6 +2895,30 @@ VALUE env_set_verbose(VALUE obj, VALUE which, VALUE onoff)
|
|
2873
2895
|
return Qtrue;
|
2874
2896
|
}
|
2875
2897
|
|
2898
|
+
/*
|
2899
|
+
* call-seq:
|
2900
|
+
* env.set_encrypt(passwd)
|
2901
|
+
*
|
2902
|
+
* set encrypt
|
2903
|
+
*/
|
2904
|
+
VALUE env_set_encrypt(VALUE obj, VALUE vpasswd)
|
2905
|
+
{
|
2906
|
+
t_envh *eh;
|
2907
|
+
const char *passwd;
|
2908
|
+
int rv;
|
2909
|
+
|
2910
|
+
passwd = StringValueCStr(vpasswd);
|
2911
|
+
Data_Get_Struct(obj, t_envh, eh);
|
2912
|
+
u_int32_t flags=0x00000001; //DB_ENCRYPT_AES
|
2913
|
+
|
2914
|
+
rv = eh->env->set_encrypt(eh->env, passwd, flags);
|
2915
|
+
if ( rv != 0 ) {
|
2916
|
+
raise_error(rv, "env_set_encrypt: %s",db_strerror(rv));
|
2917
|
+
}
|
2918
|
+
|
2919
|
+
return vpasswd;
|
2920
|
+
}
|
2921
|
+
|
2876
2922
|
/*
|
2877
2923
|
* call-seq:
|
2878
2924
|
* env.rep_priority = int
|
@@ -3331,6 +3377,8 @@ EXCEPTIONS_CREATE
|
|
3331
3377
|
rb_define_method(cDb,"sync",db_sync,0);
|
3332
3378
|
rb_define_method(cDb,"truncate",db_truncate,1);
|
3333
3379
|
|
3380
|
+
rb_define_method(cDb,"encrypt=",db_set_encrypt,1);
|
3381
|
+
|
3334
3382
|
#if DB_VERSION_MAJOR == 5 || DB_VERSION_MINOR > 3
|
3335
3383
|
rb_define_method(cDb,"compact",db_compact,5);
|
3336
3384
|
#endif
|
@@ -3387,6 +3435,9 @@ EXCEPTIONS_CREATE
|
|
3387
3435
|
rb_define_method(cEnv,"home",env_get_home,0);
|
3388
3436
|
rb_define_method(cEnv,"set_verbose",env_set_verbose,2);
|
3389
3437
|
|
3438
|
+
rb_define_method(cEnv,"encrypt=",env_set_encrypt,1);
|
3439
|
+
//rb_define_method(cEnv,"encrypt",env_get_encrypt,0);
|
3440
|
+
|
3390
3441
|
rb_define_method(cEnv,"rep_priority=", env_rep_set_priority, 1);
|
3391
3442
|
rb_define_method(cEnv,"rep_priority", env_rep_get_priority, 0);
|
3392
3443
|
rb_define_method(cEnv,"rep_nsites=", env_rep_set_nsites, 1);
|
data/ext/extconf.rb
CHANGED
@@ -10,7 +10,7 @@ require 'mkmf'
|
|
10
10
|
end
|
11
11
|
|
12
12
|
# MacPorts installs the directories "inside-out" compared to the structure expected above
|
13
|
-
macports_db_versions = Dir["/opt/local/include/db*"].map { |dir|
|
13
|
+
macports_db_versions = Dir["/opt/local/include/db*"].map { |dir| %r|db(\d\d)$|.match(dir) }.compact.map { |match| match[1] }
|
14
14
|
macports_db_versions.each do |version|
|
15
15
|
dir_config('db', "/opt/local/include/db#{version}", "/opt/local/lib/db#{version}")
|
16
16
|
end
|
metadata
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: bdb
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.2.6
|
4
|
+
version: 0.2.6.2
|
5
5
|
prerelease:
|
6
6
|
platform: ruby
|
7
7
|
authors:
|
@@ -11,7 +11,7 @@ authors:
|
|
11
11
|
autorequire:
|
12
12
|
bindir: bin
|
13
13
|
cert_chain: []
|
14
|
-
date: 2011-08-
|
14
|
+
date: 2011-08-25 00:00:00.000000000Z
|
15
15
|
dependencies: []
|
16
16
|
description: Advanced Ruby Berkeley DB library.
|
17
17
|
email:
|
@@ -49,7 +49,7 @@ files:
|
|
49
49
|
- test/txn_test.rb
|
50
50
|
- LICENSE
|
51
51
|
- ext/extconf.rb
|
52
|
-
homepage: http://github.com/
|
52
|
+
homepage: http://github.com/ruby-bdb/bdb
|
53
53
|
licenses: []
|
54
54
|
post_install_message:
|
55
55
|
rdoc_options: []
|