summaryrefslogtreecommitdiffstats
path: root/contrib/ipfilter/FWTK/fwtkp
diff options
context:
space:
mode:
Diffstat (limited to 'contrib/ipfilter/FWTK/fwtkp')
-rw-r--r--contrib/ipfilter/FWTK/fwtkp812
1 files changed, 0 insertions, 812 deletions
diff --git a/contrib/ipfilter/FWTK/fwtkp b/contrib/ipfilter/FWTK/fwtkp
deleted file mode 100644
index aba869d..0000000
--- a/contrib/ipfilter/FWTK/fwtkp
+++ /dev/null
@@ -1,812 +0,0 @@
-diff -c -r ./ftp-gw/ftp-gw.c ../../NEW/fwtk/ftp-gw/ftp-gw.c
-*** ./ftp-gw/ftp-gw.c Fri Sep 6 12:55:05 1996
---- ../../NEW/fwtk/ftp-gw/ftp-gw.c Wed Oct 9 02:51:35 1996
-***************
-*** 40,47 ****
-
- extern char *optarg;
-
-! #include "firewall.h"
-
-
- #ifndef BSIZ
- #define BSIZ 2048
---- 40,48 ----
-
- extern char *optarg;
-
-! char *getdsthost();
-
-+ #include "firewall.h"
-
- #ifndef BSIZ
- #define BSIZ 2048
-***************
-*** 84,89 ****
---- 85,92 ----
- static int cmdcnt = 0;
- static int timeout = PROXY_TIMEOUT;
-
-+ static int do_transparent=0;
-+
-
- static int cmd_user();
- static int cmd_authorize();
-***************
-*** 98,103 ****
---- 101,107 ----
- static void saveline();
- static void flushsaved();
- static void trap_sigurg();
-+ static int connectdest();
-
- #define OP_CONN 001 /* only valid if connected */
- #define OP_WCON 002 /* writethrough if connected */
-***************
-*** 170,175 ****
---- 174,180 ----
- char xuf[1024];
- char huf[128];
- char *passuser = (char *)0; /* passed user as av */
-+ char *psychic, *hotline;
-
- #ifndef LOG_DAEMON
- openlog("ftp-gw",LOG_PID);
-***************
-*** 314,319 ****
---- 319,326 ----
- } else
- timeout = 60*60;
-
-+ psychic=getdsthost(0,NULL);
-+ if(psychic) { do_transparent++; }
-
- /* display a welcome file or message */
- if(passuser == (char *)0) {
-***************
-*** 322,327 ****
---- 329,340 ----
- syslog(LLEV,"fwtkcfgerr: welcome-msg must have one parameter, line %d",cf->ln);
- exit(1);
- }
-+ if(do_transparent) {
-+ if(sayfile2(0,cf->argv[0],220)) {
-+ syslog(LLEV,"fwtksyserr: cannot display welcome %s: %m",cf->argv[0]);
-+ exit(1);
-+ }
-+ } else
- if(sayfile(0,cf->argv[0],220)) {
- syslog(LLEV,"fwtksyserr: cannot display welcome %s: %m",cf->argv[0]);
- exit(1);
-***************
-*** 332,338 ****
- if(authallflg)
- if(say(0,"220-Proxy first requires authentication"))
- exit(1);
-! sprintf(xuf,"220 %s FTP proxy (Version %s) ready.",huf,FWTK_VERSION_MINOR);
- if(say(0,xuf))
- exit(1);
- }
---- 345,357 ----
- if(authallflg)
- if(say(0,"220-Proxy first requires authentication"))
- exit(1);
-! /* foo */
-! if(do_transparent)
-! sprintf(xuf,"220-%s FTP proxy (Version %s) ready.",huf,FWTK_VERSION_MINOR);
-! else
-! sprintf(xuf,"220 %s FTP Proxy (Version %s) ready.",huf,FWTK_VERSION_MINOR);
-! /* foo */
-!
- if(say(0,xuf))
- exit(1);
- }
-***************
-*** 353,358 ****
---- 372,381 ----
- exit(1);
- }
-
-+ if(do_transparent) {
-+ connectdest(psychic,21);
-+ }
-+
- /* main loop */
- while(1) {
- FD_ZERO(&rdy);
-***************
-*** 676,681 ****
---- 699,713 ----
- return(sayn(0,noad,sizeof(noad)-1));
- }
-
-+ if(do_transparent) {
-+ if((rfd==(-1)) && (x=connectdest(dest,port))) return x;
-+ sprintf(buf,"USER %s",user);
-+ if(say(rfd,buf)) return(1);
-+ x=getresp(rfd,buf,sizeof(buf),1);
-+ if(sendsaved(0,x)) return(1);
-+ return(say(0,buf));
-+ }
-+
- if(*dest == '\0')
- dest = "localhost";
-
-***************
-*** 701,708 ****
- if(msg_int == 1) {
- sprintf(mbuf,"Permission denied for user %s to connect to %s",authuser,dest);
- syslog(LLEV,"deny host=%s/%s connect to %s user=%s",rladdr,riaddr,dest,authuser);
-! say(0,mbuf);
-! return(1);
- } else {
- if(msg_int == -1) {
- sprintf(mbuf,"No match in netperm-table for %s to ftp to %s",authuser,dest);
---- 733,740 ----
- if(msg_int == 1) {
- sprintf(mbuf,"Permission denied for user %s to connect to %s",authuser,dest);
- syslog(LLEV,"deny host=%s/%s connect to %s user=%s",rladdr,riaddr,dest,authuser);
-! say(0,mbuf);
-! return(1);
- } else {
- if(msg_int == -1) {
- sprintf(mbuf,"No match in netperm-table for %s to ftp to %s",authuser,dest);
-***************
-*** 717,723 ****
- char ebuf[512];
-
- strcpy(ebuf,buf);
-! sprintf(buf,"521 %s: %s",dest,ebuf);
- rfd = -1;
- return(say(0,buf));
- }
---- 749,759 ----
- char ebuf[512];
-
- strcpy(ebuf,buf);
-! if(do_transparent) {
-! sprintf(buf,"521 %s,%d: %s",dest,ntohs(port),ebuf);
-! } else {
-! sprintf(buf,"521 %s: %s",dest,ebuf);
-! }
- rfd = -1;
- return(say(0,buf));
- }
-***************
-*** 732,737 ****
---- 768,778 ----
- }
- saveline(buf);
-
-+ /* if(do_transparent) {
-+ sendsaved(0,-1);
-+ return(0);
-+ } /* EEEk. I can't remember what this does. */
-+
- sprintf(buf,"USER %s",user);
- if(say(rfd,buf))
- return(1);
-***************
-*** 744,749 ****
---- 785,860 ----
- return 0;
- }
-
-+ static int connectdest(dest, port)
-+ char *dest;
-+ short port;
-+ {
-+ char buf[1024], mbuf[512];
-+ int msg_int, x;
-+
-+ if(*dest == '\0')
-+ dest = "localhost";
-+
-+ if(validests != (char **)0) {
-+ char **xp;
-+ int x;
-+
-+ for(xp = validests; *xp != (char *)0; xp++) {
-+ if(**xp == '!' && hostmatch(*xp + 1,dest)) {
-+ return(baddest(0,dest));
-+ } else {
-+ if(hostmatch(*xp,dest))
-+ break;
-+ }
-+ }
-+ if(*xp == (char *)0)
-+ return(baddest(0,dest));
-+ }
-+
-+ /* Extended permissions processing goes in here for destination */
-+ if(extendperm) {
-+ msg_int = auth_perm(confp, authuser, "ftp-gw", dest,(char *)0);
-+ if(msg_int == 1) {
-+ sprintf(mbuf,"Permission denied for user %s to connect to %s",authuser,dest);
-+ syslog(LLEV,"deny host=%s/%s connect to %s user=%s",rladdr,riaddr,dest,authuser);
-+ say(0,mbuf);
-+ return(1);
-+ } else {
-+ if(msg_int == -1) {
-+ sprintf(mbuf,"No match in netperm-table for %s to ftp to %s",authuser,dest);
-+ say(0,mbuf);
-+ return(1);
-+ }
-+ }
-+ }
-+
-+ syslog(LLEV,"permit host=%s/%s connect to %s",rladdr,riaddr,dest);
-+
-+ if((rfd = conn_server(dest,port,0,buf)) < 0) {
-+ char ebuf[512];
-+
-+ strcpy(ebuf,buf);
-+ sprintf(buf,"521 %s: %s",dest,ebuf);
-+ rfd = -1;
-+ return(say(0,buf));
-+ }
-+ if(!do_transparent) {
-+ sprintf(buf,"----GATEWAY CONNECTED TO %s----",dest);
-+ saveline(buf);
-+ }
-+
-+ /* we are now connected and need to try the autologin thing */
-+ x = getresp(rfd,buf,sizeof(buf),1);
-+ if(x / 100 != COMPLETE) {
-+ sendsaved(0,-1);
-+ return(say(0,buf));
-+ }
-+ saveline(buf);
-+
-+ sendsaved(0,-1);
-+ return 0;
-+ }
-+
-
-
- static int
-***************
-*** 1053,1058 ****
---- 1164,1171 ----
- static char nprn[] = "500 cannot get peername";
- char buf[512];
-
-+ /* syslog(LLEV,"DEBUG: port cmd"); */
-+
- if(ac < 2)
- return(sayn(0,narg,sizeof(narg)-1));
-
-***************
-*** 1119,1124 ****
---- 1232,1238 ----
- #define UC(c) (((int)c) & 0xff)
- sprintf(buf,"PORT %d,%d,%d,%d,%d,%d\r\n",UC(k[0]),UC(k[1]),UC(k[2]),
- UC(k[3]),UC(l[0]),UC(l[1]));
-+ /* syslog(LLEV,"DEBUG: %s",buf); */
- s = strlen(buf);
- if (write(rfd, buf, s) != s)
- return 1;
-***************
-*** 1330,1335 ****
---- 1444,1450 ----
- callback()
- {
- /* if we haven't gotten a valid PORT scrub the connection */
-+ /* syslog(LLEV,"DEBUG: callback()."); */
- if((outgoing = accept(boundport,(struct sockaddr *)0,(int *)0)) < 0 || clntport.sin_port == 0)
- goto bomb;
- if(pasvport != -1) { /* incoming handled by PASVcallback */
-***************
-*** 1796,1801 ****
---- 1911,1960 ----
- }
- return(0);
- }
-+
-+ /* ok, so i'm in a hurry. english paper due RSN. */
-+ sayfile2(fd,fn,code)
-+ int fd;
-+ char *fn;
-+ int code;
-+ {
-+ FILE *f;
-+ char buf[BUFSIZ];
-+ char yuf[BUFSIZ];
-+ char *c;
-+ int x;
-+ int saidsomething = 0;
-+
-+ if((f = fopen(fn,"r")) == (FILE *)0)
-+ return(1);
-+ while(fgets(buf,sizeof(buf),f) != (char *)0) {
-+ if((c = index(buf,'\n')) != (char *)0)
-+ *c = '\0';
-+ x = fgetc(f);
-+ if(feof(f))
-+ sprintf(yuf,"%3.3d-%s",code,buf);
-+ else {
-+ sprintf(yuf,"%3.3d-%s",code,buf);
-+ ungetc(x,f);
-+ }
-+ if(say(fd,yuf)) {
-+ fclose(f);
-+ return(1);
-+ }
-+ saidsomething++;
-+ }
-+ fclose(f);
-+ if (!saidsomething) {
-+ syslog(LLEV,"fwtkcfgerr: sayfile for %d is empty",code);
-+ sprintf(yuf, "%3.3d The file to display is empty",code);
-+ if(say(fd,yuf)) {
-+ fclose(f);
-+ return(1);
-+ }
-+ }
-+ return(0);
-+ }
-+
-
-
- porttoaddr(s,a)
-diff -c -r ./http-gw/http-gw.c ../../NEW/fwtk/http-gw/http-gw.c
-*** ./http-gw/http-gw.c Mon Sep 9 14:40:53 1996
---- ../../NEW/fwtk/http-gw/http-gw.c Wed Oct 9 02:51:57 1996
-***************
-*** 27,32 ****
---- 27,37 ----
- static char http_buffer[8192];
- static char reason[8192];
- static int checkBrowserType = 1;
-+ /* foo */
-+ static int do_transparent=0;
-+ /* foo */
-+
-+ char *getdsthost();
-
- static void do_logging()
- { char *proto = "GOPHER";
-***************
-*** 422,427 ****
---- 427,443 ----
- /*(NOT A SPECIAL FORM)*/
-
- if((rem_type & TYPE_LOCAL)== 0){
-+ /* foo */
-+ char *psychic=getdsthost(sockfd,&def_port);
-+ if(psychic) {
-+ if(strlen(psychic)<=MAXHOSTNAMELEN) {
-+ do_transparent++;
-+ strncpy(def_httpd,psychic,strlen(psychic));
-+ strncpy(def_server,psychic,strlen(psychic));
-+ }
-+ }
-+
-+ /* foo */
- /* See if it can be forwarded */
-
- if( can_forward(buf)){
-***************
-*** 1513,1519 ****
- parse_vec[0],
- parse_vec[1],
- ourname, ourport);
-! }else{
- sprintf(new_reply,"%s\tgopher://%s:%s/%c%s\t%s\t%u",
- parse_vec[0], parse_vec[2],
- parse_vec[3], chk_type_ch,
---- 1529,1541 ----
- parse_vec[0],
- parse_vec[1],
- ourname, ourport);
-! }
-! /* FOO */
-! else if(do_transparent) {
-! sprintf(new_reply,"%s\t%s\t%s\t%s",parse_vec[0],parse_vec[1],parse_vec[2],parse_vec[3]);
-! }
-! /* FOO */
-! else{
- sprintf(new_reply,"%s\tgopher://%s:%s/%c%s\t%s\t%u",
- parse_vec[0], parse_vec[2],
- parse_vec[3], chk_type_ch,
-diff -c -r ./lib/hnam.c ../../NEW/fwtk/lib/hnam.c
-*** ./lib/hnam.c Fri Nov 4 18:30:19 1994
---- ../../NEW/fwtk/lib/hnam.c Wed Oct 9 02:34:13 1996
-***************
-*** 22,27 ****
---- 22,31 ----
-
-
- #include "firewall.h"
-+ #ifdef __FreeBSD__
-+ #include <net/if.h>
-+ #include "ip_nat.h"
-+ #endif /* __FreeBSD__ */
-
-
- char *
-***************
-*** 44,47 ****
---- 48,115 ----
-
- bcopy(hp->h_addr,&sin.sin_addr,hp->h_length);
- return(inet_ntoa(sin.sin_addr));
-+ }
-+
-+ char *getdsthost(fd, ptr)
-+ int fd;
-+ int *ptr;
-+ {
-+ struct sockaddr_in sin;
-+ struct hostent *hp;
-+ int sl=sizeof(struct sockaddr_in), err=0, local_h=0, i=0;
-+ char buf[255], hostbuf[255];
-+ #ifdef __FreeBSD__
-+ struct sockaddr_in rsin;
-+ struct natlookup natlookup;
-+ #endif
-+
-+ #ifdef linux
-+ /* This should also work for UDP. Unfortunately, it doesn't.
-+ Maybe when the Linux UDP proxy code gets a little cleaner.
-+ */
-+ if(!(err=getsockname(0,&sin,&sl))) {
-+ if(ptr) *ptr=ntohs(sin.sin_port);
-+ sprintf(buf,"%s",inet_ntoa(sin.sin_addr));
-+ gethostname(hostbuf,254);
-+ hp=gethostbyname(hostbuf);
-+ while(hp->h_addr_list[i]) {
-+ bzero(&sin,&sl);
-+ memcpy(&sin.sin_addr,hp->h_addr_list[i++],sizeof(hp->h_addr_list[i++]));
-+ if(!strcmp(buf,inet_ntoa(sin.sin_addr))) local_h++;
-+ }
-+ if(local_h) { /* syslog(LLEV,"DEBUG: hnam.c: non-transparent."); */ return(NULL); }
-+ else { return(buf); }
-+ }
-+ #endif
-+
-+ #ifdef __FreeBSD__
-+ /* The basis for this block of code is Darren Reed's
-+ patches to the TIS ftwk's ftp-gw.
-+ */
-+ bzero((char*)&sin,sizeof(sin));
-+ bzero((char*)&rsin,sizeof(rsin));
-+ if(getsockname(fd,(struct sockaddr*)&sin,&sl)<0) {
-+ return NULL;
-+ }
-+ sl=sizeof(rsin);
-+ if(getpeername(fd,(struct sockaddr*)&rsin,&sl)<0) {
-+ return NULL;
-+ }
-+ natlookup.nl_inport=sin.sin_port;
-+ natlookup.nl_outport=rsin.sin_port;
-+ natlookup.nl_inip=sin.sin_addr;
-+ natlookup.nl_outip=rsin.sin_addr;
-+ if((natfd=open(IPL_NAT,O_RDONLY))<0) {
-+ return(NULL);
-+ }
-+ if(ioctl(natfd,SIOCGNATL,&natlookup)==(-1)) {
-+ return(NULL);
-+ }
-+ close(natfd);
-+ if(ptr) *ptr=ntohs(natlookup.nl_realport);
-+ sprintf(buf,"%s",inet_ntoa(natlookup.nl_realip));
-+ #endif
-+
-+ /* No transparent proxy support */
-+ return(NULL);
- }
-Only in ./lib: hnam.c.orig
-diff -c -r ./plug-gw/plug-gw.c ../../NEW/fwtk/plug-gw/plug-gw.c
-*** ./plug-gw/plug-gw.c Thu Sep 5 15:36:33 1996
---- ../../NEW/fwtk/plug-gw/plug-gw.c Wed Oct 9 02:46:48 1996
-***************
-*** 39,44 ****
---- 39,48 ----
- static char **validdests = (char **)0;
- static Cfg *confp;
-
-+ int do_transparent=0;
-+
-+ char *getdsthost();
-+
- main(ac,av)
- int ac;
- char *av[];
-***************
-*** 193,201 ****
---- 197,213 ----
- char *ptr;
- int state = 0;
- int ssl_plug = 0;
-+ int pport=0;
-
- struct timeval timo;
-
-+ /* Transparent plug-gw is probably a bad idea, but hey .. */
-+ dhost=getdsthost(0,&pport);
-+ if(dhost) {
-+ do_transparent++;
-+ portid=pport;
-+ }
-+
- if(c->flags & PERM_DENY) {
- if (p == -1)
- syslog(LLEV,"deny host=%s/%s port=any",rhost,raddr);
-***************
-*** 215,221 ****
- syslog(LLEV,"fwtkcfgerr: -plug-to takes an argument, line %d",c->ln);
- exit (1);
- }
-! dhost = av[x];
- continue;
- }
-
---- 227,234 ----
- syslog(LLEV,"fwtkcfgerr: -plug-to takes an argument, line %d",c->ln);
- exit (1);
- }
-! if(!dhost) dhost = av[x];
-! /* syslog(LLEV,"DEBUG: dhost now is [%s]",dhost); */
- continue;
- }
-
-diff -c -r ./rlogin-gw/rlogin-gw.c ../../NEW/fwtk/rlogin-gw/rlogin-gw.c
-*** ./rlogin-gw/rlogin-gw.c Fri Sep 6 12:56:33 1996
---- ../../NEW/fwtk/rlogin-gw/rlogin-gw.c Wed Oct 9 02:49:04 1996
-***************
-*** 39,45 ****
---- 39,47 ----
-
-
- extern char *maphostname();
-+ char *getdsthost();
-
-+ int do_transparent=0;
-
- static int cmd_quit();
- static int cmd_help();
-***************
-*** 120,125 ****
---- 122,130 ----
- static char *tokav[56];
- int tokac;
- struct timeval timo;
-+ /* foo */
-+ char *psychic;
-+ /* foo */
-
- #ifndef LOG_NDELAY
- openlog("rlogin-gw",LOG_PID);
-***************
-*** 185,191 ****
- xforwarder = cf->argv[0];
- }
-
-!
-
- if((cf = cfg_get("directory",confp)) != (Cfg *)0) {
- if(cf->argc != 1) {
---- 190,203 ----
- xforwarder = cf->argv[0];
- }
-
-! /* foo */
-! psychic=getdsthost(0,NULL);
-! if(psychic) {
-! do_transparent++;
-! strncpy(dest,psychic,511);
-! dest[511]='\0';
-! }
-! /* foo */
-
- if((cf = cfg_get("directory",confp)) != (Cfg *)0) {
- if(cf->argc != 1) {
-***************
-*** 260,269 ****
- }
-
- /* if present a host name, chop and save username and hostname */
-! dest[0] = '\0';
- if((p = index(rusername,'@')) != (char *)0) {
- char *namp;
-
- *p++ = '\0';
- if(*p == '\0')
- p = "localhost";
---- 272,282 ----
- }
-
- /* if present a host name, chop and save username and hostname */
-! /* dest[0] = '\0'; */
- if((p = index(rusername,'@')) != (char *)0) {
- char *namp;
-
-+ dest[0] = '\0';
- *p++ = '\0';
- if(*p == '\0')
- p = "localhost";
-***************
-*** 293,300 ****
---- 306,326 ----
- goto leave;
- }
-
-+ /* syslog(LLEV,"DEBUG: Uh-oh, $dest = %s\n",dest); */
-+
- if(dest[0] != '\0') {
- /* Setup connection directly to remote machine */
-+ if((cf = cfg_get("welcome-msg",confp)) != (Cfg *)0) {
-+ if(cf->argc != 1) {
-+ syslog(LLEV,"fwtkcfgerr: welcome-msg must have one parameter, line %d",cf->ln);
-+ exit(1);
-+ }
-+ if(sayfile(0,cf->argv[0])) {
-+ syslog(LLEV,"fwtksyserr: cannot display welcome %s: %m",cf->argv[0]);
-+ exit(1);
-+ }
-+ }
-+ /* Does this cmd_connect thing feel like a kludge or what? */
- sprintf(buf,"connect %.1000s",dest);
- tokac = enargv(buf, tokav, 56, tokbuf, sizeof(tokbuf));
- if (cmd_connect(tokac, tokav, buf) != 2)
-***************
-*** 526,539 ****
- char ebuf[512];
-
- syslog(LLEV,"permit host=%s/%s connect to %s",rhost,raddr,namp);
- if(strlen(namp) > 20)
- namp[20] = '\0';
- if(rusername[0] != '\0')
- sprintf(ebuf,"Trying %s@%s...",rusername,namp);
- else
- sprintf(ebuf,"Trying %s...",namp);
-! if(say(0,ebuf))
-! return(1);
- } else
- syslog(LLEV,"permit host=%s/%s connect to %s",rhost,raddr,av[1]);
- if((serfd = conn_server(av[1],RLOGINPORT,1,buf)) < 0) {
---- 552,567 ----
- char ebuf[512];
-
- syslog(LLEV,"permit host=%s/%s connect to %s",rhost,raddr,namp);
-+ if(!do_transparent) {
- if(strlen(namp) > 20)
- namp[20] = '\0';
- if(rusername[0] != '\0')
- sprintf(ebuf,"Trying %s@%s...",rusername,namp);
- else
- sprintf(ebuf,"Trying %s...",namp);
-! if(say(0,ebuf))
-! return(1);
-! }
- } else
- syslog(LLEV,"permit host=%s/%s connect to %s",rhost,raddr,av[1]);
- if((serfd = conn_server(av[1],RLOGINPORT,1,buf)) < 0) {
-diff -c -r ./tn-gw/tn-gw.c ../../NEW/fwtk/tn-gw/tn-gw.c
-*** ./tn-gw/tn-gw.c Fri Sep 6 12:55:48 1996
---- ../../NEW/fwtk/tn-gw/tn-gw.c Wed Oct 9 02:50:17 1996
-***************
-*** 87,92 ****
---- 87,94 ----
- static int cmd_xforward();
- static int cmd_timeout();
-
-+ char *getdsthost();
-+
- static int tn3270 = 1; /* don't do tn3270 stuff */
- static int doX;
-
-***************
-*** 97,102 ****
---- 99,106 ----
- static int timeout = PROXY_TIMEOUT;
- static char timed_out_msg[] = "\r\nConnection closed due to inactivity";
-
-+ int do_transparent=0;
-+
- typedef struct {
- char *name;
- char *hmsg;
-***************
-*** 140,145 ****
---- 144,151 ----
- char tokbuf[BSIZ];
- char *tokav[56];
- int tokac;
-+ int port;
-+ char *psychic;
-
- #ifndef LOG_DAEMON
- openlog("tn-gw",LOG_PID);
-***************
-*** 308,313 ****
---- 314,346 ----
- }
- }
-
-+ psychic=getdsthost(0,&port);
-+ if(psychic) {
-+ if((strlen(psychic) + 10) < 510) {
-+ do_transparent++;
-+ if(port)
-+ sprintf(dest,"%s:%d",psychic,port);
-+ else
-+ sprintf(dest,"%s",psychic);
-+
-+
-+ if(!welcomedone)
-+ if((cf = cfg_get("welcome-msg",confp)) != (Cfg *)0) {
-+ if(cf->argc != 1) {
-+ syslog(LLEV,"fwtkcfgerr: welcome-msg must have one parameter, line %d",cf->ln);
-+ exit(1);
-+ }
-+ if(sayfile(0,cf->argv[0])) {
-+ syslog(LLEV,"fwtksyserr: cannot display welcome %s:%m",cf->argv[0]);
-+ exit(1);
-+ }
-+ welcomedone = 1;
-+ }
-+
-+
-+ }
-+ }
-+
- while (argc > 1) {
- argc--;
- argv++;
-***************
-*** 864,877 ****
- }
- }
-
--
- if((namp = maphostname(av[1])) != (char *)0) {
- char ebuf[512];
-
- syslog(LLEV,"permit host=%s/%s destination=%s",rladdr,riaddr,namp);
-! sprintf(ebuf,"Trying %s port %d...",namp,port);
-! if(say(0,ebuf))
-! return(1);
- } else
- syslog(LLEV,"permit host=%s/%s destination=%s",rladdr,riaddr,av[1]);
-
---- 897,911 ----
- }
- }
-
- if((namp = maphostname(av[1])) != (char *)0) {
- char ebuf[512];
-
- syslog(LLEV,"permit host=%s/%s destination=%s",rladdr,riaddr,namp);
-! if(!do_transparent) {
-! sprintf(ebuf,"Trying %s port %d...",namp,port);
-! if(say(0,ebuf))
-! return(1);
-! }
- } else
- syslog(LLEV,"permit host=%s/%s destination=%s",rladdr,riaddr,av[1]);
-
-***************
-*** 903,910 ****
-
- syslog(LLEV,"connected host=%s/%s destination=%s",rladdr,riaddr,av[1]);
- strncpy(dest,av[1], 511);
-! sprintf(buf, "Connected to %s.", dest);
-! say(0, buf);
- return(2);
- }
-
---- 937,946 ----
-
- syslog(LLEV,"connected host=%s/%s destination=%s",rladdr,riaddr,av[1]);
- strncpy(dest,av[1], 511);
-! if(!do_transparent) {
-! sprintf(buf, "Connected to %s.", dest);
-! say(0, buf);
-! }
- return(2);
- }
-
-
-
OpenPOWER on IntegriCloud