Here are some diffs. Copy antirbl.c to detour.c before running these. Regards, John Levine, [EMAIL PROTECTED], Primary Perpetrator of "The Internet for Dummies", Information Superhighwayman wanna-be, http://iecc.com/johnl, Sewer Commissioner Finger for PGP key, f'print = 3A 5B D0 3F D9 A0 6A A4 2D AC 1E 9E A6 36 A3 47 ---detour diffs--- *** detour.c.old Tue Aug 25 11:58:22 1998 --- detour.c Sun Oct 3 15:20:42 1999 *************** *** 8,17 **** void usage() { ! strerr_die1x(100,"antirbl: usage: antirbl domain program [ arg ... ]"); } char *domain; struct ip_address ip; void check() --- 8,18 ---- void usage() { ! strerr_die1x(100,"detour: usage: detour domain relayclient program [ arg ... ]"); } char *domain; + char *relayclient; struct ip_address ip; void check() *************** *** 19,27 **** char *x; int numenv; char **newenv; int i; ! if (env_get("RBLSMTPD")) return; x = env_get("TCPREMOTEIP"); if (!x) return; --- 20,29 ---- char *x; int numenv; char **newenv; + char *newclient; int i; ! if (env_get("RELAYCLIENT")) return; x = env_get("TCPREMOTEIP"); if (!x) return; *************** *** 43,50 **** for (numenv = 0;environ[numenv];++numenv) ; newenv = (char **) alloc((numenv + 2) * sizeof(char *)); if (!newenv) return; for (i = 0;i < numenv;++i) newenv[i] = environ[i]; ! newenv[numenv++] = "RBLSMTPD="; newenv[numenv] = 0; environ = newenv; } --- 45,56 ---- for (numenv = 0;environ[numenv];++numenv) ; newenv = (char **) alloc((numenv + 2) * sizeof(char *)); if (!newenv) return; + newclient = alloc(str_len(relayclient)+13); + if (!newclient) return; + byte_copy(newclient, 12, "RELAYCLIENT="); + byte_copy(newclient+12, 1+str_len(relayclient), relayclient); for (i = 0;i < numenv;++i) newenv[i] = environ[i]; ! newenv[numenv++] = newclient; newenv[numenv] = 0; environ = newenv; } *************** *** 55,63 **** { if (!argv[1]) usage(); if (!argv[2]) usage(); domain = argv[1]; check(); ! execvp(argv[2],argv + 2); ! strerr_die4sys(111,"antirbl: fatal: ","unable to run ",argv[2],": "); } --- 61,71 ---- { if (!argv[1]) usage(); if (!argv[2]) usage(); + if (!argv[3]) usage(); domain = argv[1]; + relayclient = argv[2]; check(); ! execvp(argv[3],argv + 3); ! strerr_die4sys(111,"detour: fatal: ","unable to run ",argv[3],": "); } *** Makefile.old Mon Oct 4 10:39:25 1999 --- Makefile Sun Oct 3 15:19:47 1999 *************** *** 88,93 **** --- 88,110 ---- compile chmod 755 compile + ## JRL + detour: \ + load detour.o ip.o strerr.a substdio.a alloc.a error.a env.a str.a \ + fs.a dns.lib socket.lib + ./load detour ip.o strerr.a substdio.a alloc.a error.a \ + env.a str.a fs.a `cat dns.lib` `cat socket.lib` + + #detour.0: \ + #detour.8 + # nroff -man detour.8 > detour.0 + + detour.o: \ + compile detour.c alloc.h strerr.h fmt.h str.h ip.h env.h + ./compile detour.c + + + dns.lib: \ tryrsolv.c compile load socket.lib ( ( ./compile tryrsolv.c && ./load tryrsolv \ *************** *** 210,216 **** ./compile open_trunc.c prog: \ ! rblsmtpd antirbl rblsmtpd: \ load rblsmtpd.o txt.o commands.o ip.o getopt.a strerr.a substdio.a \ --- 227,233 ---- ./compile open_trunc.c prog: \ ! rblsmtpd antirbl detour rblsmtpd: \ load rblsmtpd.o txt.o commands.o ip.o getopt.a strerr.a substdio.a \
