Index: head/net/3proxy/Makefile =================================================================== --- head/net/3proxy/Makefile (revision 420759) +++ head/net/3proxy/Makefile (revision 420760) @@ -1,41 +1,42 @@ # Created by: tim@relay.nnn.tstu.ru # $FreeBSD$ PORTNAME= 3proxy PORTVERSION= 0.8.6 DISTVERSIONPREFIX= ${PORTNAME}- +PORTREVISION= 1 CATEGORIES= net MAINTAINER= timp87@gmail.com COMMENT= Proxy servers set (support HTTP(S), FTP, SOCKS, POP3, TCP & UDP) LICENSE= APACHE20 BSD2CLAUSE GPLv2 GPLv3 LGPL21 LGPL3 LICENSE_COMB= dual OPTIONS_DEFINE= DOCS MAKEFILE= Makefile.unix USE_LDCONFIG= ${PREFIX}/lib/${PORTNAME} USE_RC_SUBR= 3proxy USE_GITHUB= yes GH_ACCOUNT= z3APA3A PORTDOCS= README post-patch: @${REINPLACE_CMD} -e 's|%%CFLAGS%%|${CFLAGS}|' ${WRKSRC}/${MAKEFILE} post-build: ${MV} ${WRKSRC}/src/proxy ${WRKSRC}/src/httppr ${MV} ${WRKSRC}/man/proxy.8 ${WRKSRC}/man/httppr.8 do-install: ${MKDIR} ${STAGEDIR}${PREFIX}/lib/${PORTNAME}/ ${STAGEDIR}${DOCSDIR}/ cd ${WRKSRC}/src/ && ${INSTALL_PROGRAM} 3proxy dighosts ftppr icqpr mycrypt pop3p httppr smtpp socks tcppm udppm ${STAGEDIR}${PREFIX}/bin/ cd ${WRKSRC}/cfg/ && ${INSTALL_DATA} 3proxy.cfg.sample ${STAGEDIR}${PREFIX}/etc/ cd ${WRKSRC}/src/ && ${INSTALL_LIB} PCREPlugin.so StringsPlugin.so TrafficPlugin.so ${STAGEDIR}${PREFIX}/lib/${PORTNAME}/ cd ${WRKSRC}/man/ && ${INSTALL_MAN} 3proxy.cfg.3 ${STAGEDIR}${PREFIX}/man/man3/ cd ${WRKSRC}/man/ && ${INSTALL_MAN} 3proxy.8 ftppr.8 pop3p.8 httppr.8 socks.8 tcppm.8 udppm.8 ${STAGEDIR}${PREFIX}/man/man8/ cd ${WRKSRC}/ && ${INSTALL_DATA} ${PORTDOCS} ${STAGEDIR}${DOCSDIR}/ .include Index: head/net/3proxy/files/patch-src_common.c =================================================================== --- head/net/3proxy/files/patch-src_common.c (nonexistent) +++ head/net/3proxy/files/patch-src_common.c (revision 420760) @@ -0,0 +1,12 @@ +--- src/common.c.orig 2016-08-24 03:41:59 UTC ++++ src/common.c +@@ -692,8 +692,8 @@ int doconnect(struct clientparam * param + #else + fcntl(param->remsock,F_SETFL,O_NONBLOCK); + #endif +- size = sizeof(param->sinsl); + } ++ size = sizeof(param->sinsl); + if(so._getsockname(param->remsock, (struct sockaddr *)¶m->sinsl, &size)==-1) {return (15);} + } + return 0; Property changes on: head/net/3proxy/files/patch-src_common.c ___________________________________________________________________ Added: fbsd:nokeywords ## -0,0 +1 ## +yes \ No newline at end of property Added: svn:eol-style ## -0,0 +1 ## +native \ No newline at end of property Added: svn:mime-type ## -0,0 +1 ## +text/plain \ No newline at end of property Index: head/net/3proxy/files/patch-src_ftp.c =================================================================== --- head/net/3proxy/files/patch-src_ftp.c (nonexistent) +++ head/net/3proxy/files/patch-src_ftp.c (revision 420760) @@ -0,0 +1,40 @@ +--- src/ftp.c.orig 2016-08-24 03:43:37 UTC ++++ src/ftp.c +@@ -174,6 +174,7 @@ SOCKET ftpdata(struct clientparam *param + SOCKET s = INVALID_SOCKET, rem; + unsigned long b1, b2, b3, b4; + unsigned short b5, b6; ++ SASIZETYPE sasize; + + if(socksend(param->remsock, (unsigned char *)"PASV\r\n", 6, conf.timeouts[STRING_S]) != 6){ + return INVALID_SOCKET; +@@ -187,15 +188,27 @@ SOCKET ftpdata(struct clientparam *param + buf[i-2] = 0; + if(!(sb = strchr(buf+4, '(')) || !(se= strchr(sb, ')'))) return INVALID_SOCKET; + if(sscanf(sb+1, "%lu,%lu,%lu,%lu,%hu,%hu", &b1, &b2, &b3, &b4, &b5, &b6)!=6) return INVALID_SOCKET; ++ sasize = sizeof(param->sinsl); ++ if(so._getsockname(param->remsock, (struct sockaddr *)¶m->sinsl, &sasize)){return INVALID_SOCKET;} ++ sasize = sizeof(param->sinsr); ++ if(so._getpeername(param->remsock, (struct sockaddr *)¶m->sinsr, &sasize)){return INVALID_SOCKET;} + rem = param->remsock; + param->remsock = INVALID_SOCKET; + param->req = param->sinsr; + *SAPORT(¶m->req) = *SAPORT(¶m->sinsr) = htons((unsigned short)((b5<<8)^b6)); ++ *SAPORT(¶m->sinsl) = 0; + i = param->operation; + param->operation = FTP_DATA; + if((param->res = (*param->srv->authfunc)(param))) { +- param->remsock = rem; +- return INVALID_SOCKET; ++ if(param->remsock != INVALID_SOCKET) { ++ so._closesocket(param->remsock); ++ param->remsock = INVALID_SOCKET; ++ } ++ memset(¶m->sinsl, 0, sizeof(param->sinsl)); ++ if((param->res = (*param->srv->authfunc)(param))) { ++ param->remsock = rem; ++ return INVALID_SOCKET; ++ } + } + param->operation = i; + s = param->remsock; Property changes on: head/net/3proxy/files/patch-src_ftp.c ___________________________________________________________________ Added: fbsd:nokeywords ## -0,0 +1 ## +yes \ No newline at end of property Added: svn:eol-style ## -0,0 +1 ## +native \ No newline at end of property Added: svn:mime-type ## -0,0 +1 ## +text/plain \ No newline at end of property