aboutsummaryrefslogtreecommitdiffstats
path: root/ftp/proftpd
diff options
context:
space:
mode:
authorbeech <beech@FreeBSD.org>2008-09-17 13:11:19 +0800
committerbeech <beech@FreeBSD.org>2008-09-17 13:11:19 +0800
commite4b6c935bb66f69da072e99f0d77b5768d88bf5f (patch)
tree4d82aed5207af28288fcfcc578889605f7570da8 /ftp/proftpd
parent666c20a6583749c644ab1f8d9b4287193ba489c8 (diff)
downloadfreebsd-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/Makefile9
-rw-r--r--ftp/proftpd/files/extra-patch-src-netio.c51
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--;
+ }