summaryrefslogtreecommitdiff
path: root/network/ucspi-tcp/patches
diff options
context:
space:
mode:
Diffstat (limited to 'network/ucspi-tcp/patches')
-rw-r--r--network/ucspi-tcp/patches/ucspi-tcp-0.88.a_record.patch64
-rw-r--r--network/ucspi-tcp/patches/ucspi-tcp-0.88.errno.patch12
-rw-r--r--network/ucspi-tcp/patches/ucspi-tcp-0.88.nobase.patch21
3 files changed, 97 insertions, 0 deletions
diff --git a/network/ucspi-tcp/patches/ucspi-tcp-0.88.a_record.patch b/network/ucspi-tcp/patches/ucspi-tcp-0.88.a_record.patch
new file mode 100644
index 0000000000..903125eaae
--- /dev/null
+++ b/network/ucspi-tcp/patches/ucspi-tcp-0.88.a_record.patch
@@ -0,0 +1,64 @@
+diff -ruN --exclude conf-* ucspi-tcp-0.88/rblsmtpd.c ucspi-tcp-0.88.fix/rblsmtpd.c
+--- ucspi-tcp-0.88/rblsmtpd.c Sat Mar 18 10:18:42 2000
++++ ucspi-tcp-0.88.fix/rblsmtpd.c Wed Aug 9 16:42:33 2000
+@@ -60,16 +60,54 @@
+
+ void rbl(char *base)
+ {
++ int i;
++ char *altreply = 0;
+ if (decision) return;
+ if (!stralloc_copy(&tmp,&ip_reverse)) nomem();
++ i = str_chr(base, ':');
++ if (base[i]) {
++ base[i] = 0;
++ altreply = base+i+1;
++ }
+ if (!stralloc_cats(&tmp,base)) nomem();
+- if (dns_txt(&text,&tmp) == -1) {
+- flagmustnotbounce = 1;
+- if (flagfailclosed) {
+- if (!stralloc_copys(&text,"temporary RBL lookup error")) nomem();
+- decision = 2;
++ if (altreply) {
++ if (dns_ip4(&text,&tmp) == -1) {
++ flagmustnotbounce = 1;
++ if (flagfailclosed) {
++ if (!stralloc_copys(&text,"temporary RBL lookup error")) nomem();
++ decision = 2;
++ }
++ return;
++ }
++ if (text.len) {
++ if(!stralloc_copys(&text, "")) nomem();
++ while(*altreply) {
++ char *x;
++ i = str_chr(altreply, '%');
++ if(!stralloc_catb(&text, altreply, i)) nomem();
++ if(altreply[i] &&
++ altreply[i+1]=='I' &&
++ altreply[i+2]=='P' &&
++ altreply[i+3]=='%') {
++ if(!stralloc_catb(&text, ip_env, str_len(ip_env))) nomem();
++ altreply+=i+4;
++ } else if(altreply[i]) {
++ if(!stralloc_cats(&text, "%")) nomem();
++ altreply+=i+1;
++ } else {
++ altreply+=i;
++ }
++ }
++ }
++ } else {
++ if (dns_txt(&text,&tmp) == -1) {
++ flagmustnotbounce = 1;
++ if (flagfailclosed) {
++ if (!stralloc_copys(&text,"temporary RBL lookup error")) nomem();
++ decision = 2;
++ }
++ return;
+ }
+- return;
+ }
+ if (text.len)
+ if (flagrblbounce)
diff --git a/network/ucspi-tcp/patches/ucspi-tcp-0.88.errno.patch b/network/ucspi-tcp/patches/ucspi-tcp-0.88.errno.patch
new file mode 100644
index 0000000000..fd93909e49
--- /dev/null
+++ b/network/ucspi-tcp/patches/ucspi-tcp-0.88.errno.patch
@@ -0,0 +1,12 @@
+diff -u ucspi-tcp-0.88.old/error.h ucspi-tcp-0.88/error.h
+--- ucspi-tcp-0.88.old/error.h 2000-03-18 09:18:20.000000000 -0600
++++ ucspi-tcp-0.88/error.h 2003-01-08 13:39:12.000000000 -0600
+@@ -1,7 +1,7 @@
+ #ifndef ERROR_H
+ #define ERROR_H
+
+-extern int errno;
++#include <errno.h>
+
+ extern int error_intr;
+ extern int error_nomem;
diff --git a/network/ucspi-tcp/patches/ucspi-tcp-0.88.nobase.patch b/network/ucspi-tcp/patches/ucspi-tcp-0.88.nobase.patch
new file mode 100644
index 0000000000..c6649f6b6a
--- /dev/null
+++ b/network/ucspi-tcp/patches/ucspi-tcp-0.88.nobase.patch
@@ -0,0 +1,21 @@
+diff -ur ucspi-tcp-0.88.old/rblsmtpd.c ucspi-tcp-0.88/rblsmtpd.c
+--- ucspi-tcp-0.88.old/rblsmtpd.c Sat Mar 18 09:18:42 2000
++++ ucspi-tcp-0.88/rblsmtpd.c Mon Apr 1 09:26:07 2002
+@@ -22,7 +22,7 @@
+ }
+ void usage(void)
+ {
+- strerr_die1x(100,"rblsmtpd: usage: rblsmtpd [ -b ] [ -R ] [ -t timeout ] [ -r base ] [ -a base ] smtpd [ arg ... ]");
++ strerr_die1x(100,"rblsmtpd: usage: rblsmtpd -r base [ -b ] [ -R ] [ -t timeout ] [ -r base ] [ -a base ] smtpd [ arg ... ]");
+ }
+
+ char *ip_env;
+@@ -190,7 +190,7 @@
+ argv += optind;
+ if (!*argv) usage();
+
+- if (flagwantdefaultrbl) rbl("rbl.maps.vix.com");
++ if (flagwantdefaultrbl) usage();
+ if (decision >= 2) rblsmtpd();
+
+ pathexec_run(*argv,argv,envp);