aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--mail/relaydb/Makefile4
-rw-r--r--mail/relaydb/distinfo2
-rw-r--r--mail/relaydb/files/patch-relaydb.827
-rw-r--r--mail/relaydb/files/patch-relaydb.c178
-rw-r--r--mail/relaydb/pkg-message6
5 files changed, 2 insertions, 215 deletions
diff --git a/mail/relaydb/Makefile b/mail/relaydb/Makefile
index 0fb399da8db4..32f7044260c5 100644
--- a/mail/relaydb/Makefile
+++ b/mail/relaydb/Makefile
@@ -6,8 +6,7 @@
#
PORTNAME= relaydb
-PORTVERSION= 1.6
-PORTREVISION= 1
+PORTVERSION= 1.7
CATEGORIES= mail
MASTER_SITES= http://www.benzedrine.cx/
@@ -20,6 +19,5 @@ MANCOMPRESSED= yes
do-install:
${INSTALL_PROGRAM} ${WRKSRC}/relaydb ${PREFIX}/bin
${INSTALL_MAN} ${WRKSRC}/relaydb.8.gz ${MAN8PREFIX}/man/man8
- @${CAT} ${PKGMESSAGE}
.include <bsd.port.mk>
diff --git a/mail/relaydb/distinfo b/mail/relaydb/distinfo
index 2fde816e166f..1cec850c4f5c 100644
--- a/mail/relaydb/distinfo
+++ b/mail/relaydb/distinfo
@@ -1 +1 @@
-MD5 (relaydb-1.6.tar.gz) = 4d5de68c51873fba7c312039e49d30fd
+MD5 (relaydb-1.7.tar.gz) = c23871ddb66a1445841cecdaf0e6dc26
diff --git a/mail/relaydb/files/patch-relaydb.8 b/mail/relaydb/files/patch-relaydb.8
deleted file mode 100644
index 44af4c6e33cc..000000000000
--- a/mail/relaydb/files/patch-relaydb.8
+++ /dev/null
@@ -1,27 +0,0 @@
---- relaydb.8.orig Fri Nov 21 00:41:34 2003
-+++ relaydb.8 Sun Dec 14 21:21:35 2003
-@@ -30,7 +30,7 @@
- .Nd spam relay database
- .Sh SYNOPSIS
- .Nm relaydb
--.Op Fl 46bdlnrvw
-+.Op Fl 46bdlnOrvw
- .Op Fl B Ar [+-]num
- .Op Fl W Ar [+-]num
- .Op Fl m Ar [+-]days
-@@ -118,6 +118,15 @@
- establish a new whitelist entry for a new host, then send spam from the
- same address, faking further Received: headers, to cause relaydb to blacklist
- those addresses, causing a denial of service for these addresses.
-+.It Fl O
-+List (just as
-+.Fl l
-+does) the IP addresses of a database in pre-1.5 format, necessary
-+for upgrading from earlier versions of
-+.Nm . Incompatible with
-+.Fl l
-+and
-+.Fl d .
- .It Fl r
- Revert a previously made decision.
- For instance, if a mail has been run through
diff --git a/mail/relaydb/files/patch-relaydb.c b/mail/relaydb/files/patch-relaydb.c
deleted file mode 100644
index 348d8fa33bfe..000000000000
--- a/mail/relaydb/files/patch-relaydb.c
+++ /dev/null
@@ -1,178 +0,0 @@
---- relaydb.c.orig Sun Dec 14 15:59:30 2003
-+++ relaydb.c Tue Dec 16 18:58:52 2003
-@@ -47,6 +47,11 @@
- time_t mtime;
- };
-
-+struct old_data {
-+ int white;
-+ int black;
-+};
-+
- extern char *__progname;
- const int bufsiz = 1024;
- const int factor = 3;
-@@ -318,7 +323,8 @@
- if (d.mtime >= mtime)
- continue;
- if (debug)
-- printf("touching %u %s\n", mtime, address);
-+ printf("touching %lu %s\n",
-+ (unsigned long)mtime, address);
- d.mtime = mtime;
- memset(&dbk, 0, sizeof(dbk));
- dbk.size = strlen(address);
-@@ -349,6 +355,7 @@
- int pos = 0, r;
- struct data d;
- unsigned count = 0;
-+ unsigned long time_read;
-
- if (debug)
- printf("importing %s\n", filename);
-@@ -364,8 +371,8 @@
- buf[pos] = 0;
- pos = 0;
-
-- r = sscanf(buf, "%127s %d %d %u", address,
-- &d.white, &d.black, &d.mtime);
-+ r = sscanf(buf, "%127s %d %d %lu", address,
-+ &d.white, &d.black, &time_read);
- if (r == 3)
- d.mtime = time(NULL);
- else if (r != 4) {
-@@ -373,14 +380,16 @@
- buf);
- fclose(f);
- return;
-- }
-+ } else
-+ d.mtime = time_read;
- if (!((use_v4 && address_valid_v4(address)) ||
- (use_v6 && address_valid_v6(address))) ||
- address_private(address))
- continue;
- if (debug)
-- printf("adding %s %d %d %u\n",
-- address, d.white, d.black, d.mtime);
-+ printf("adding %s %d %d %lu\n",
-+ address, d.white, d.black,
-+ (unsigned long)d.mtime);
- memset(&dbk, 0, sizeof(dbk));
- dbk.size = strlen(address);
- dbk.data = address;
-@@ -405,7 +414,7 @@
- void
- usage()
- {
-- fprintf(stderr, "usage: %s [-46bdlnrvw] "
-+ fprintf(stderr, "usage: %s [-46bdlnOrvw] "
- "[-BW [+-]num] [-m [+-]days]\n\t[-f filename] "
- "[-i filename] [-t filename]\n", __progname);
- exit(1);
-@@ -414,7 +423,7 @@
- int
- main(int argc, char *argv[])
- {
-- int list = 0, delete = 0;
-+ int list = 0, delete = 0, old_list = 0;
- const char *filename = NULL, *import = NULL, *syslog = NULL;
- time_t mtime = 0;
- int mtime_op = 0;
-@@ -423,7 +432,7 @@
- int ch;
- unsigned count = 0;
-
-- while ((ch = getopt(argc, argv, "46bB:df:i:lm:nrt:vwW:")) != -1) {
-+ while ((ch = getopt(argc, argv, "46bB:df:i:lm:nOrt:vwW:")) != -1) {
- switch (ch) {
- case '4':
- use_v4 = 1;
-@@ -482,6 +491,9 @@
- case 'n':
- traverse = 0;
- break;
-+ case 'O':
-+ old_list = 1;
-+ break;
- case 'r':
- reverse = 1;
- break;
-@@ -496,9 +508,14 @@
- }
- }
-
-- if (!list && !delete && !action && import == NULL && syslog == NULL)
-+ if (!old_list && !list && !delete && !action && import == NULL && syslog == NULL)
- usage();
-
-+ if (old_list && (list || delete)) {
-+ fprintf(stderr, "-O is incompatible with -l and -d\n");
-+ return (1);
-+ }
-+
- if (delete && !action && !mtime && black == -1 && white == -1) {
- fprintf(stderr, "to delete all entries, delete the file\n");
- return (1);
-@@ -583,8 +600,9 @@
- continue;
- if (list) {
- if (debug)
-- printf("%s %d %d %u\n",
-- a, d.white, d.black, d.mtime);
-+ printf("%s %d %d %lu\n",
-+ a, d.white, d.black,
-+ (unsigned long)d.mtime);
- else
- printf("%s\n", a);
- } else {
-@@ -600,6 +618,40 @@
- count++;
- }
- }
-+ } else if (old_list) {
-+ int r;
-+ struct old_data d;
-+ char a[128];
-+
-+ memset(&dbk, 0, sizeof(dbk));
-+ memset(&dbd, 0, sizeof(dbd));
-+ r = db->seq(db, &dbk, &dbd, R_FIRST);
-+ while (!r) {
-+ if (dbk.size < 1 || dbk.size >= sizeof(a)||
-+ dbd.size != sizeof(struct old_data)) {
-+ fprintf(stderr, "db->seq() invalid data\n");
-+ if (db->close(db))
-+ fprintf(stderr, "db->close() %s\n",
-+ strerror(errno));
-+ return (1);
-+ }
-+ memcpy(&d, dbd.data, sizeof(d));
-+ if (!action ||
-+ (action == 'b' && d.black > factor * d.white) ||
-+ (action == 'w' && d.black <= factor * d.white)) {
-+ memcpy(a, dbk.data, dbk.size);
-+ a[dbk.size] = 0;
-+ if ((use_v4 && address_valid_v4(a)) ||
-+ (use_v6 && address_valid_v6(a))) {
-+ if (debug)
-+ printf("%s %d %d\n",
-+ a, d.white, d.black);
-+ else
-+ printf("%s\n", a);
-+ }
-+ }
-+ r = db->seq(db, &dbk, &dbd, R_NEXT);
-+ }
- } else {
- if (debug)
- printf("reading mail headers, considering the mail "
-@@ -609,7 +661,7 @@
- if (delete && !list)
- printf("%u entries deleted\n", count);
-
-- if (!list && db->sync(db, 0))
-+ if (!old_list && !list && db->sync(db, 0))
- fprintf(stderr, "db->sync() %s\n", strerror(errno));
- if (db->close(db))
- fprintf(stderr, "db->close() %s\n", strerror(errno));
diff --git a/mail/relaydb/pkg-message b/mail/relaydb/pkg-message
deleted file mode 100644
index ffe3738e8a68..000000000000
--- a/mail/relaydb/pkg-message
+++ /dev/null
@@ -1,6 +0,0 @@
-*************************************************************************
-* WARNING: the database format has changed in version 1.5, *
-* so upgrades from earlier versions REQUIRE an export *
-* with (relaydb -vO >text), deletion of the database *
-* and re-import with the (relaydb -i text). *
-*************************************************************************