diff options
Diffstat (limited to 'testing/ucspi-tcp')
-rw-r--r-- | testing/ucspi-tcp/APKBUILD | 48 | ||||
-rw-r--r-- | testing/ucspi-tcp/ucspi-tcp-0.88.a_record.patch | 64 | ||||
-rw-r--r-- | testing/ucspi-tcp/ucspi-tcp-0.88.errno.patch | 12 |
3 files changed, 124 insertions, 0 deletions
diff --git a/testing/ucspi-tcp/APKBUILD b/testing/ucspi-tcp/APKBUILD new file mode 100644 index 0000000000..9cdca87524 --- /dev/null +++ b/testing/ucspi-tcp/APKBUILD @@ -0,0 +1,48 @@ +# Contributor: Francesco Colista <francesco.colista@gmail.com> +# Maintainer: Francesco Colista <francesco.colista@gmail.com> + +pkgname=ucspi-tcp +pkgver=0.88 +pkgrel=0 +pkgdesc="Easy-to-use command-line tools for building TCP client-server applications." +url="http://cr.yp.to/ucspi-tcp.html" +license="public-domain" +depends="" +makedepends="" +install= +subpackages="" +source="http://cr.yp.to/$pkgname/$pkgname-$pkgver.tar.gz + ucspi-tcp-0.88.a_record.patch + ucspi-tcp-0.88.errno.patch + " + +prepare() { + cd "$srcdir"/$pkgname-$pkgver + for i in ../*.patch; + do + msg "Applying $i" + patch -p1 -i $i || return 1 + done +} + +build() { + cd "$srcdir"/$pkgname-$pkgver + echo "${CC:-"gcc"} ${CFLAGS}" > conf-cc + echo "${CC:-"gcc"} ${LDFLAGS}" > conf-ld + echo "/usr" > conf-home + make || return 1 +} + +package() { + cd "$srcdir"/$pkgname-$pkgver + mkdir -p "$pkgdir"/usr/bin + for f in tcpserver tcprules tcprulescheck argv0 recordio tcpclient \ + *\@ tcpcat mconnect mconnect-io addcr delcr fixcrio \ + rblsmtpd; do + cp $f "$pkgdir"/usr/bin/$f + done +} + +md5sums="39b619147db54687c4a583a7a94c9163 ucspi-tcp-0.88.tar.gz +554ec0eb60f619667efde3fb5325310d ucspi-tcp-0.88.a_record.patch +759a11fafff188d9580be6498a028095 ucspi-tcp-0.88.errno.patch" diff --git a/testing/ucspi-tcp/ucspi-tcp-0.88.a_record.patch b/testing/ucspi-tcp/ucspi-tcp-0.88.a_record.patch new file mode 100644 index 0000000000..903125eaae --- /dev/null +++ b/testing/ucspi-tcp/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/testing/ucspi-tcp/ucspi-tcp-0.88.errno.patch b/testing/ucspi-tcp/ucspi-tcp-0.88.errno.patch new file mode 100644 index 0000000000..7654c783a6 --- /dev/null +++ b/testing/ucspi-tcp/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; |