diff options
author | beech <beech@FreeBSD.org> | 2008-09-17 13:11:19 +0800 |
---|---|---|
committer | beech <beech@FreeBSD.org> | 2008-09-17 13:11:19 +0800 |
commit | e4b6c935bb66f69da072e99f0d77b5768d88bf5f (patch) | |
tree | 4d82aed5207af28288fcfcc578889605f7570da8 /ftp/proftpd | |
parent | 666c20a6583749c644ab1f8d9b4287193ba489c8 (diff) | |
download | freebsd-ports-gnome-e4b6c935bb66f69da072e99f0d77b5768d88bf5f.tar.gz freebsd-ports-gnome-e4b6c935bb66f69da072e99f0d77b5768d88bf5f.tar.zst freebsd-ports-gnome-e4b6c935bb66f69da072e99f0d77b5768d88bf5f.zip |
- Patch src netio.c - wrong telnet filter
- Telnet filters input data, but Russian symbols deleted
PR: ports/127096
Submitted by: Sherbacov Dmitriy <sherbacov@bsys.ru>
Approved by: portmgr (linimon)
Diffstat (limited to 'ftp/proftpd')
-rw-r--r-- | ftp/proftpd/Makefile | 9 | ||||
-rw-r--r-- | ftp/proftpd/files/extra-patch-src-netio.c | 51 |
2 files changed, 58 insertions, 2 deletions
diff --git a/ftp/proftpd/Makefile b/ftp/proftpd/Makefile index c1bbc131e2bf..643f89bde753 100644 --- a/ftp/proftpd/Makefile +++ b/ftp/proftpd/Makefile @@ -87,8 +87,8 @@ OPTIONS= IPV6 "Use IPv6" off \ CLAMAV "Include mod_clamav" off \ DIGEST "Include mod_digest" off \ COMB "Include mod_comb (multistream upload)" off \ - CODECONV "Use charset conversion (possibly broken)" off - + CODECONV "Use charset conversion (possibly broken)" off \ + RUSSIANCHAR "Disable telnet filterning (Fix Russian)" off MODULES?= LIBDIRS?= INCLUDEDIRS?= @@ -265,6 +265,11 @@ PROFTPD_LIBS+= -liconv -L${LOCALBASE}/lib EXTRA_PATCHES+= ${FILESDIR}/extra-patch-mod-codeconv .endif +.if defined(WITH_RUSSIANCHAR) +EXTRA_PATCHES+= ${FILESDIR}/extra-patch-src-netio.c +.endif + + # mod_ifsession should be the last item in the modules list .if !defined(WITHOUT_IFSESSION) MODULES:=${MODULES}:mod_ifsession diff --git a/ftp/proftpd/files/extra-patch-src-netio.c b/ftp/proftpd/files/extra-patch-src-netio.c new file mode 100644 index 000000000000..060c4f5d30b9 --- /dev/null +++ b/ftp/proftpd/files/extra-patch-src-netio.c @@ -0,0 +1,51 @@ +diff -r -u -P src/netio.c src/netio.c +--- src/netio.c.orig 2007-08-22 18:50:23.000000000 +0400 ++++ src/netio.c 2008-09-04 18:27:21.000000000 +0400 +@@ -954,47 +954,6 @@ + cp = *pbuf->current++; + pbuf->remaining++; + +- switch (mode) { +- case IAC: +- switch (cp) { +- case WILL: +- case WONT: +- case DO: +- case DONT: +- mode = cp; +- continue; +- +- case IAC: +- mode = 0; +- break; +- +- default: +- /* Ignore */ +- mode = 0; +- continue; +- } +- break; +- +- case WILL: +- case WONT: +- pr_netio_printf(out_nstrm, "%c%c%c", IAC, DONT, cp); +- mode = 0; +- continue; +- +- case DO: +- case DONT: +- pr_netio_printf(out_nstrm, "%c%c%c", IAC, WONT, cp); +- mode = 0; +- continue; +- +- default: +- if (cp == IAC) { +- mode = cp; +- continue; +- } +- break; +- } +- + *bp++ = cp; + buflen--; + } |