#include <ip.h>
int socksver;
-char *inside = "/net";
-char *outside = "/net";
+char inside[128];
+char outside[128];
int
str2addr(char *s, uchar *a)
case 0x03:
n = *a++;
port = nhgets(a+n);
+ n = utfnlen((char*)a, n);
snprint(s, sizeof(s), "%s!%.*s!%d", proto, n, (char*)a, port);
return s;
}
if((cfd = listen(dir, ldir)) < 0)
return -1;
+ close(fd); /* close inside udp server */
if((fd = accept(cfd, ldir)) < 0)
return -1;
fmtinstall('I', eipfmt);
+ setnetmtpt(inside, sizeof(inside), 0);
+ setnetmtpt(outside, sizeof(outside), 0);
ARGBEGIN {
case 'x':
- outside = ARGF();
+ setnetmtpt(inside, sizeof(inside), ARGF());
+ break;
+ case 'o':
+ setnetmtpt(outside, sizeof(outside), ARGF());
break;
} ARGEND;