head 1.3; access; symbols OPENPKG_2_STABLE_MP:1.3 OPENPKG_E1_MP_HEAD:1.3 OPENPKG_E1_MP:1.3 OPENPKG_E1_MP_2_STABLE:1.3 OPENPKG_E1_FP:1.3 OPENPKG_2_STABLE_20061018:1.3 OPENPKG_2_STABLE:1.3.0.20 OPENPKG_2_STABLE_BP:1.3 OPENPKG_2_5_SOLID:1.3.0.18 OPENPKG_2_5_SOLID_BP:1.3 OPENPKG_2_4_RELEASE:1.3 OPENPKG_2_4_SOLID:1.3.0.16 OPENPKG_2_4_SOLID_BP:1.3 OPENPKG_2_3_RELEASE:1.3 OPENPKG_2_3_SOLID:1.3.0.14 OPENPKG_2_3_SOLID_BP:1.3 OPENPKG_2_2_RELEASE:1.3 OPENPKG_2_2_SOLID:1.3.0.12 OPENPKG_2_2_SOLID_BP:1.3 OPENPKG_2_1_RELEASE:1.3 OPENPKG_2_1_SOLID:1.3.0.10 OPENPKG_2_1_SOLID_BP:1.3 OPENPKG_2_0_RELEASE:1.3 OPENPKG_2_0_SOLID:1.3.0.8 OPENPKG_2_0_SOLID_BP:1.3 OPENPKG_1_3_RELEASE:1.3 OPENPKG_1_3_SOLID:1.3.0.6 OPENPKG_1_3_SOLID_BP:1.3 OPENPKG_1_2_SOLID:1.3.0.4 OPENPKG_1_2_SOLID_BP:1.3 OPENPKG_1_STABLE:1.3.0.2 OPENPKG_1_STABLE_BP:1.3; locks; strict; comment @# @; 1.3 date 2003.01.01.08.28.55; author rse; state dead; branches; next 1.2; 1.2 date 2002.10.14.19.40.32; author ms; state Exp; branches; next 1.1; 1.1 date 2002.10.10.14.24.00; author ms; state Exp; branches; next ; desc @@ 1.3 log @upgrading package: inn 2.3.3 -> 2.3.4 @ text @diff -Naur inn-2.3.3.orig/storage/ovdb/ovdb.c inn-2.3.3/storage/ovdb/ovdb.c --- inn-2.3.3.orig/storage/ovdb/ovdb.c Mon May 6 08:02:07 2002 +++ inn-2.3.3/storage/ovdb/ovdb.c Mon Oct 14 21:37:07 2002 @@@@ -99,7 +99,7 @@@@ #error Need BerkeleyDB 2.6.x, 2.7.x, or 3.x #endif #else -#if DB_VERSION_MAJOR != 3 +#if DB_VERSION_MAJOR != 3 && DB_VERSION_MAJOR != 4 #error Need BerkeleyDB 2.6.x, 2.7.x, or 3.x #endif #endif @@@@ -401,13 +401,23 @@@@ if(ovdb_conf.pagesize > 0) (dbs[which])->set_pagesize(dbs[which], ovdb_conf.pagesize); +#if (DB_VERSION_MAJOR >= 4 && DB_VERSION_MAJOR >= 1) +/* starting sometime early db 4.X, db->open gets a new parameter */ + if(ret = (dbs[which])->open(dbs[which], 0, _dbnames[which], NULL, + DB_BTREE, _db_flags, 0666)) { + (dbs[which])->close(dbs[which], 0); + dbs[which] = NULL; + return ret; + } +#else if(ret = (dbs[which])->open(dbs[which], _dbnames[which], NULL, DB_BTREE, _db_flags, 0666)) { (dbs[which])->close(dbs[which], 0); dbs[which] = NULL; return ret; } -#endif +#endif /* #if DB_VERSION_MAJOR >= 4 */ +#endif /* #if DB_VERSION_MAJOR == 2 */ return 0; } @@@@ -590,7 +600,7 @@@@ return TRUE; } -#if DB_VERSION_MAJOR == 3 +#if DB_VERSION_MAJOR >= 3 static int upgrade_database(char *name) { int ret; @@@@ -659,7 +669,7 @@@@ if(flags & OVDB_RECOVER) ai_flags |= DB_RECOVER; -#if DB_VERSION_MAJOR == 2 || DB_VERSION_MINOR < 2 +#if DB_VERSION_MAJOR == 2 || (DB_VERSION_MAJOR == 3 && DB_VERSION_MINOR < 2) if(ovdb_conf.txn_nosync) ai_flags |= DB_TXN_NOSYNC; #endif @@@@ -697,12 +707,12 @@@@ OVDBenv->set_errcall(OVDBenv, OVDBerror); OVDBenv->set_cachesize(OVDBenv, 0, ovdb_conf.cachesize, 1); -#if DB_VERSION_MINOR >= 2 +#if (DB_VERSION_MAJOR == 3 && DB_VERSION_MINOR >= 2) || DB_VERSION_MAJOR >= 4 if(ovdb_conf.txn_nosync) OVDBenv->set_flags(OVDBenv, DB_TXN_NOSYNC, 1); #endif -#if DB_VERSION_MINOR == 0 +#if DB_VERSION_MAJOR == 3 && DB_VERSION_MINOR == 0 if(ret = OVDBenv->open(OVDBenv, ovdb_conf.home, NULL, ai_flags, 0666)) { #else if(ret = OVDBenv->open(OVDBenv, ovdb_conf.home, ai_flags, 0666)) { @@@@ -726,12 +736,22 @@@@ syslog(L_FATAL, "OVDB: open: db_create: %s", db_strerror(ret)); return ret; } - if(ret = vdb->open(vdb, "version", NULL, DB_BTREE, + +#if (DB_VERSION_MAJOR >= 4 && DB_VERSION_MAJOR >= 1) +/* starting sometime early db 4.X, db->open gets a new parameter */ + if(ret = vdb->open(vdb, 0, "version", NULL, DB_BTREE, _db_flags, 0666)) { vdb->close(vdb, 0); syslog(L_FATAL, "OVDB: open: version->open: %s", db_strerror(ret)); return ret; } +#else + if(ret = vdb->open(vdb, "version", NULL, DB_BTREE, _db_flags, 0666)) { + vdb->close(vdb, 0); + syslog(L_FATAL, "OVDB: open: version->open: %s", db_strerror(ret)); + return ret; + } +#endif /* DB_VERSION_MAJOR >= 4 */ #endif /* DB_VERSION_MAJOR == 2 */ memset(&key, 0, sizeof key); @@@@ -841,33 +861,62 @@@@ syslog(L_FATAL, "OVDB: open: db_create: %s", db_strerror(ret)); return FALSE; } + +#if (DB_VERSION_MAJOR >= 4 && DB_VERSION_MAJOR >= 1) +/* starting sometime early db 4.X, db->open gets a new parameter */ + if(ret = groupstats->open(groupstats, 0, "groupstats", NULL, + DB_BTREE, _db_flags, 0666)) { + groupstats->close(groupstats, 0); + syslog(L_FATAL, "OVDB: open: groupstats->open: %s", db_strerror(ret)); + return FALSE; + } +#else if(ret = groupstats->open(groupstats, "groupstats", NULL, DB_BTREE, _db_flags, 0666)) { groupstats->close(groupstats, 0); syslog(L_FATAL, "OVDB: open: groupstats->open: %s", db_strerror(ret)); return FALSE; } +#endif /* #if DB_VERSION_MAJOR >= 4 */ if(ret = db_create(&groupsbyname, OVDBenv, 0)) { syslog(L_FATAL, "OVDB: open: db_create: %s", db_strerror(ret)); return FALSE; } +#if (DB_VERSION_MAJOR >= 4 && DB_VERSION_MAJOR >= 1) + if(ret = groupsbyname->open(groupsbyname, 0, "groupsbyname", NULL, DB_HASH, + _db_flags, 0666)) { + groupsbyname->close(groupsbyname, 0); + syslog(L_FATAL, "OVDB: open: groupsbyname->open: %s", db_strerror(ret)); + return FALSE; + } +#else if(ret = groupsbyname->open(groupsbyname, "groupsbyname", NULL, DB_HASH, _db_flags, 0666)) { groupsbyname->close(groupsbyname, 0); syslog(L_FATAL, "OVDB: open: groupsbyname->open: %s", db_strerror(ret)); return FALSE; } +#endif /* #if DB_VERSION_MAJOR >= 4 */ if(ret = db_create(&groupaliases, OVDBenv, 0)) { syslog(L_FATAL, "OVDB: open: db_create: %s", db_strerror(ret)); return FALSE; } +#if (DB_VERSION_MAJOR >= 4 && DB_VERSION_MAJOR >= 1) + if(ret = groupaliases->open(groupaliases, 0, "groupaliases", NULL, DB_HASH, + _db_flags, 0666)) { + groupaliases->close(groupaliases, 0); + syslog(L_FATAL, "OVDB: open: groupaliases->open: %s", db_strerror(ret)); + return FALSE; + } +#else if(ret = groupaliases->open(groupaliases, "groupaliases", NULL, DB_HASH, _db_flags, 0666)) { groupaliases->close(groupaliases, 0); syslog(L_FATAL, "OVDB: open: groupaliases->open: %s", db_strerror(ret)); return FALSE; } -#endif +#endif /* #if DB_VERSION_MAJOR >= 4 */ +#endif /* #if DB_VERSION_MAJOR == 2 */ Cutofflow = FALSE; return TRUE; @ 1.2 log @Reduced patch code to minimum, using no transaction contexts. @ text @@ 1.1 log @Includes new patches to use current version of Berkley db. The patch should be removed when inn 2.4 is released, because it supposedly :-( fixes the incompatibilities. @ text @d2 2 a3 2 --- inn-2.3.3.orig/storage/ovdb/ovdb.c Thu Oct 10 14:29:29 2002 +++ inn-2.3.3/storage/ovdb/ovdb.c Thu Oct 10 16:15:55 2002 d13 1 a13 11 @@@@ -382,6 +382,9 @@@@ static int open_db_file(int which) { int ret; +#if DB_VERSION_MAJOR == 4 + DB_TXN *txnp = NULL; +#endif if(dbs[which] != NULL) return 0; @@@@ -401,13 +404,28 @@@@ d17 3 a19 8 +#if DB_VERSION_MAJOR == 4 +/* starting sometime early db 4.X, db->open gets a new parameter txnp */ + if (ret = OVDBenv->txn_begin(OVDBenv, NULL, &txnp, 0)) { + (dbs[which])->close(dbs[which], 0); + dbs[which] = NULL; + return ret; + } + if(ret = (dbs[which])->open(dbs[which], txnp, _dbnames[which], NULL, d27 1 a27 2 - _db_flags, 0666)) { + _db_flags, 0666)) { d33 1 a33 1 +#endif /* #if DB_VERSION_MAJOR == 4 */ d38 1 a38 1 @@@@ -590,7 +608,7 @@@@ d47 1 a47 10 @@@@ -636,6 +654,8 @@@@ DB *vdb; #if DB_VERSION_MAJOR == 2 DB_INFO dbinfo; +#elif DB_VERSION_MAJOR == 4 + DB_TXN *txnp = NULL; #endif DBT key, val; @@@@ -659,7 +679,7 @@@@ d56 1 a56 1 @@@@ -697,12 +717,12 @@@@ d61 1 a61 1 +#if (DB_VERSION_MAJOR == 3 && DB_VERSION_MINOR >= 2) || DB_VERSION_MAJOR == 4 d71 1 a71 1 @@@@ -726,12 +746,27 @@@@ d77 3 a79 8 +#if DB_VERSION_MAJOR == 4 +/* starting sometime early db 4.X, db->open gets a new parameter txnp */ + if (ret = OVDBenv->txn_begin(OVDBenv, NULL, &txnp, 0)) { + vdb->close(vdb, 0); + vdb = NULL; + return ret; + } + if(ret = vdb->open(vdb, txnp, "version", NULL, DB_BTREE, d91 1 a91 1 +#endif /* DB_VERSION_MAJOR == 4 */ d95 1 a95 10 @@@@ -779,6 +814,8 @@@@ #if DB_VERSION_MAJOR == 2 DB_INFO dbinfo; +#elif DB_VERSION_MAJOR == 4 + DB_TXN *txnp = NULL; #endif if(OVDBenv != NULL) { @@@@ -841,33 +878,77 @@@@ d100 3 a102 8 +#if DB_VERSION_MAJOR == 4 +/* starting sometime early db 4.X, db->open gets a new parameter txnp */ + if (ret = OVDBenv->txn_begin(OVDBenv, NULL, &txnp, 0)) { + groupstats->close(groupstats, 0); + groupstats = NULL; + return ret; + } + if(ret = groupstats->open(groupstats, txnp, "groupstats", NULL, d115 1 a115 1 +#endif /* #if DB_VERSION_MAJOR == 4 */ d120 2 a121 7 +#if DB_VERSION_MAJOR == 4 + if (ret = OVDBenv->txn_begin(OVDBenv, NULL, &txnp, 0)) { + groupsbyname->close(groupsbyname, 0); + groupsbyname = NULL; + return ret; + } + if(ret = groupsbyname->open(groupsbyname, txnp, "groupsbyname", NULL, DB_HASH, d134 1 a134 1 +#endif /* #if DB_VERSION_MAJOR == 4 */ d139 2 a140 7 +#if DB_VERSION_MAJOR == 4 + if (ret = OVDBenv->txn_begin(OVDBenv, NULL, &txnp, 0)) { + groupaliases->close(groupaliases, 0); + groupaliases = NULL; + return ret; + } + if(ret = groupaliases->open(groupaliases, txnp, "groupaliases", NULL, DB_HASH, d154 1 a154 1 +#endif /* #if DB_VERSION_MAJOR == 4 */ @