summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorOkan Demirmen <okan@cvs.openbsd.org>2012-10-02 15:26:18 +0000
committerOkan Demirmen <okan@cvs.openbsd.org>2012-10-02 15:26:18 +0000
commit7dc7ab738c945d2e0c4d71bbcca3c9f181f92d39 (patch)
tree9127446e4e52041b833a83f439c31bfa8d86badc
parent81b0ab8e5a54cf0e38b8ed756c64975e13871452 (diff)
while it's of little harm, it's also been 5.5 years (and 8 releases),
remove the db conversion from BTREE to HASH. ok beck@
-rw-r--r--libexec/spamd/grey.c76
-rw-r--r--usr.sbin/spamdb/spamdb.c11
2 files changed, 4 insertions, 83 deletions
diff --git a/libexec/spamd/grey.c b/libexec/spamd/grey.c
index 8b4951de07f..b006ad88efb 100644
--- a/libexec/spamd/grey.c
+++ b/libexec/spamd/grey.c
@@ -1,4 +1,4 @@
-/* $OpenBSD: grey.c,v 1.51 2011/03/03 21:58:58 deraadt Exp $ */
+/* $OpenBSD: grey.c,v 1.52 2012/10/02 15:26:17 okan Exp $ */
/*
* Copyright (c) 2004-2006 Bob Beck. All rights reserved.
@@ -1079,71 +1079,6 @@ drop_privs(void)
}
static void
-convert_spamd_db(void)
-{
- char sfn[] = "/var/db/spamd.XXXXXXXXX";
- int r, fd = -1;
- DB *db1, *db2;
- BTREEINFO btreeinfo;
- HASHINFO hashinfo;
- DBT dbk, dbd;
-
- /* try to open the db as a BTREE */
- memset(&btreeinfo, 0, sizeof(btreeinfo));
- db1 = dbopen(PATH_SPAMD_DB, O_EXLOCK|O_RDWR, 0600, DB_BTREE,
- &btreeinfo);
- if (db1 == NULL) {
- syslog_r(LOG_ERR, &sdata,
- "corrupt db in %s, remove and restart", PATH_SPAMD_DB);
- exit(1);
- }
-
- if ((fd = mkstemp(sfn)) == -1) {
- syslog_r(LOG_ERR, &sdata,
- "can't convert %s: mkstemp failed (%m)", PATH_SPAMD_DB);
- exit(1);
- }
- memset(&hashinfo, 0, sizeof(hashinfo));
- db2 = dbopen(sfn, O_EXLOCK|O_RDWR, 0600, DB_HASH, &hashinfo);
- if (db2 == NULL) {
- unlink(sfn);
- syslog_r(LOG_ERR, &sdata,
- "can't convert %s: can't dbopen %s (%m)", PATH_SPAMD_DB,
- sfn);
- db1->close(db1);
- exit(1);
- }
-
- memset(&dbk, 0, sizeof(dbk));
- memset(&dbd, 0, sizeof(dbd));
- for (r = db1->seq(db1, &dbk, &dbd, R_FIRST); !r;
- r = db1->seq(db1, &dbk, &dbd, R_NEXT)) {
- if (db2->put(db2, &dbk, &dbd, 0)) {
- db2->sync(db2, 0);
- db2->close(db2);
- db1->close(db1);
- unlink(sfn);
- syslog_r(LOG_ERR, &sdata,
- "can't convert %s - remove and restart",
- PATH_SPAMD_DB);
- exit(1);
- }
- }
- db2->sync(db2, 0);
- db2->close(db2);
- db1->sync(db1, 0);
- db1->close(db1);
- rename(sfn, PATH_SPAMD_DB);
- close(fd);
- /* if we are dropping privs, chown to that user */
- if (pw && (chown(PATH_SPAMD_DB, pw->pw_uid, pw->pw_gid) == -1)) {
- syslog_r(LOG_ERR, &sdata,
- "chown %s failed (%m)", PATH_SPAMD_DB);
- exit(1);
- }
-}
-
-static void
check_spamd_db(void)
{
HASHINFO hashinfo;
@@ -1173,15 +1108,6 @@ check_spamd_db(void)
drop_privs();
return;
break;
- case EFTYPE:
- /*
- * db may be old BTREE instead of HASH, attempt to
- * convert.
- */
- convert_spamd_db();
- drop_privs();
- return;
- break;
default:
syslog_r(LOG_ERR, &sdata, "open of %s failed (%m)",
PATH_SPAMD_DB);
diff --git a/usr.sbin/spamdb/spamdb.c b/usr.sbin/spamdb/spamdb.c
index c417f948320..f4a809c2eb1 100644
--- a/usr.sbin/spamdb/spamdb.c
+++ b/usr.sbin/spamdb/spamdb.c
@@ -1,4 +1,4 @@
-/* $OpenBSD: spamdb.c,v 1.24 2008/05/17 10:48:06 millert Exp $ */
+/* $OpenBSD: spamdb.c,v 1.25 2012/10/02 15:26:17 okan Exp $ */
/*
* Copyright (c) 2004 Bob Beck. All rights reserved.
@@ -301,13 +301,8 @@ main(int argc, char **argv)
db = dbopen(PATH_SPAMD_DB, O_EXLOCK | (action ? O_RDWR : O_RDONLY),
0600, DB_HASH, &hashinfo);
if (db == NULL) {
- if (errno == EFTYPE)
- err(1,
- "%s is old, run current spamd to convert it",
- PATH_SPAMD_DB);
- else
- err(1, "cannot open %s for %s", PATH_SPAMD_DB,
- action ? "writing" : "reading");
+ err(1, "cannot open %s for %s", PATH_SPAMD_DB,
+ action ? "writing" : "reading");
}
switch (action) {