FreeBSD Bugzilla – Attachment 173994 Details for
Bug 209463
net/3proxy: ftppr became non-functional in 0.8.x
Home
|
New
|
Browse
|
Search
|
[?]
|
Reports
|
Help
|
New Account
|
Log In
Remember
[x]
|
Forgot Password
Login:
[x]
[patch]
upsteam fix for port
3proxy.patch (text/plain), 2.80 KB, created by
Pavel Timofeev
on 2016-08-24 04:04:21 UTC
(
hide
)
Description:
upsteam fix for port
Filename:
MIME Type:
Creator:
Pavel Timofeev
Created:
2016-08-24 04:04:21 UTC
Size:
2.80 KB
patch
obsolete
>diff -ruN /home/timp/3proxy.orig/Makefile 3proxy/Makefile >--- /home/timp/3proxy.orig/Makefile 2016-08-24 06:34:52.575472000 +0300 >+++ 3proxy/Makefile 2016-08-24 06:51:31.889605000 +0300 >@@ -4,6 +4,7 @@ > PORTNAME= 3proxy > PORTVERSION= 0.8.6 > DISTVERSIONPREFIX= ${PORTNAME}- >+PORTREVISION= 1 > CATEGORIES= net > > MAINTAINER= timp87@gmail.com >diff -ruN /home/timp/3proxy.orig/files/patch-src_common.c 3proxy/files/patch-src_common.c >--- /home/timp/3proxy.orig/files/patch-src_common.c 1970-01-01 03:00:00.000000000 +0300 >+++ 3proxy/files/patch-src_common.c 2016-08-24 06:50:54.237211000 +0300 >@@ -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; >diff -ruN /home/timp/3proxy.orig/files/patch-src_ftp.c 3proxy/files/patch-src_ftp.c >--- /home/timp/3proxy.orig/files/patch-src_ftp.c 1970-01-01 03:00:00.000000000 +0300 >+++ 3proxy/files/patch-src_ftp.c 2016-08-24 06:50:54.237572000 +0300 >@@ -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;
You cannot view the attachment while viewing its details because your browser does not support IFRAMEs.
View the attachment on a separate page
.
View Attachment As Diff
View Attachment As Raw
Flags:
timp87
:
maintainer-approval+
Actions:
View
|
Diff
Attachments on
bug 209463
: 173994 |
173995