summaryrefslogtreecommitdiffstats
path: root/FWTK/tproxy.diff
diff options
context:
space:
mode:
Diffstat (limited to 'FWTK/tproxy.diff')
-rw-r--r--FWTK/tproxy.diff82
1 files changed, 82 insertions, 0 deletions
diff --git a/FWTK/tproxy.diff b/FWTK/tproxy.diff
new file mode 100644
index 0000000..234404b
--- /dev/null
+++ b/FWTK/tproxy.diff
@@ -0,0 +1,82 @@
+*** tproxy.c.orig Fri Dec 20 10:53:24 1996
+--- tproxy.c Sun Jan 3 11:33:55 1999
+***************
+*** 135,140 ****
+--- 135,144 ----
+ #include <netinet/in.h>
+ #include <sys/signal.h>
+ #include <syslog.h>
++ #include <unistd.h>
++ #include <fcntl.h>
++ #include <sys/ioctl.h>
++ #include <net/if.h>
+ #include "tproxy.h"
+
+ #ifdef AIX
+***************
+*** 147,152 ****
+--- 151,159 ----
+ #define bzero(buf,size) memset(buf, '\0', size);
+ #endif /* SYSV */
+
++ #include "ip_compat.h"
++ #include "ip_fil.h"
++ #include "ip_nat.h"
+
+
+ /* socket to audio server */
+***************
+*** 324,329 ****
+--- 331,369 ----
+ char localbuf[2048];
+ void timeout();
+ extern int errno;
++ /*
++ * IP-Filter block
++ */
++ struct sockaddr_in laddr, faddr;
++ struct natlookup natlookup;
++ int slen, natfd;
++
++ bzero((char *)&laddr, sizeof(laddr));
++ bzero((char *)&faddr, sizeof(faddr));
++ slen = sizeof(laddr);
++ if (getsockname(0, (struct sockaddr *)&laddr, &slen) < 0)
++ return -1;
++ slen = sizeof(faddr);
++ if (getpeername(0, (struct sockaddr *)&faddr, &slen) < 0)
++ return -1;
++ natlookup.nl_inport = laddr.sin_port;
++ natlookup.nl_outport = faddr.sin_port;
++ natlookup.nl_inip = laddr.sin_addr;
++ natlookup.nl_outip = faddr.sin_addr;
++ natlookup.nl_flags = IPN_TCP;
++ if ((natfd = open(IPL_NAT, O_RDONLY)) < 0)
++ return -1;
++ if (ioctl(natfd, SIOCGNATL, &natlookup) == -1) {
++ syslog(LOG_ERR, "SIOCGNATL failed: %m\n");
++ close(natfd);
++ return -1;
++ }
++ close(natfd);
++ strcpy(hostname, inet_ntoa(natlookup.nl_realip));
++ serverport = ntohs(natlookup.nl_realport);
++ /*
++ * End of IP-Filter block
++ */
+
+ /* setup a timeout in case dialog doesn't finish */
+ signal(SIGALRM, timeout);
+***************
+*** 337,344 ****
+--- 377,386 ----
+ * and modify the call to (and subroutine) serverconnect() as
+ * appropriate.
+ */
++ #if 0
+ strcpy(hostname, "randomhostname");
+ serverport = 7070;
++ #endif
+ /* Can we connect to the server */
+ if ( (serverfd = serverconnect(hostname, serverport)) < 0 ) {
+ /* errno may still be set from previous call */
OpenPOWER on IntegriCloud