]> git.pld-linux.org Git - packages/pure-ftpd.git/blame - utf8.patch
- rel 5; more caps and no hack needed (but that doesn't seem to be the good way of...
[packages/pure-ftpd.git] / utf8.patch
CommitLineData
c91bab60
AM
1diff --git a/src/ftpd.c b/src/ftpd.c
2index 0d5030c..7029d72 100644
3--- a/src/ftpd.c
4+++ b/src/ftpd.c
5@@ -3565,14 +3565,16 @@ void dofeat(void)
6 # define FEAT_ESTP CRLF " ESTP"
7 # endif
8
9- char feat[] = FEAT FEAT_DEBUG FEAT_TLS FEAT_TVFS FEAT_ESTA FEAT_PASV FEAT_ESTP;
10+# define FEAT_UTF8 CRLF " UTF8"
11+
12+ char feat[] = FEAT FEAT_DEBUG FEAT_TLS FEAT_UTF8 FEAT_TVFS FEAT_ESTA FEAT_PASV FEAT_ESTP;
13
14 if (disallow_passive != 0) {
15- feat[sizeof FEAT FEAT_DEBUG FEAT_TLS FEAT_TVFS FEAT_ESTA] = 0;
16+ feat[sizeof FEAT FEAT_DEBUG FEAT_TLS FEAT_UTF8 FEAT_TVFS FEAT_ESTA] = 0;
17 }
18 # ifndef MINIMAL
19 else if (STORAGE_FAMILY(force_passive_ip) != 0) {
20- feat[sizeof FEAT FEAT_DEBUG FEAT_TLS FEAT_TVFS FEAT_ESTA FEAT_PASV] = 0;
21+ feat[sizeof FEAT FEAT_DEBUG FEAT_TLS FEAT_UTF8 FEAT_TVFS FEAT_ESTA FEAT_PASV] = 0;
22 }
23 # endif
24 addreply_noformat(0, feat);
25@@ -4639,7 +4641,20 @@ void doopts(char *args)
26 cmdopts++;
27 (void) cmdopts;
28 }
29+ if (strncasecmp("utf8 ", args, 5) == 0 ||
30+ strncasecmp("utf-8 ", args, 6) == 0) {
31+ if (cmdopts == NULL || *cmdopts == 0) {
32+ addreply_noformat(501, "OPTS UTF8: " MSG_MISSING_ARG);
33+ } else if (strncasecmp(cmdopts, "on", sizeof "on" - 1U) == 0) {
34+ addreply_noformat(200, "OK, UTF-8 enabled");
35+ } else if (strncasecmp(cmdopts, "off", sizeof "off" - 1U)) {
36+ addreply_noformat(200, "OK, UTF-8 disabled");
37+ } else {
38+ addreply_noformat(502, MSG_UNKNOWN_COMMAND);
39+ }
40+ return;
41+ }
42 if (strncasecmp("mlst ", args, 5) == 0) {
43 addreply_noformat(200, " MLST OPTS "
44 "type;size;sizd;modify;UNIX.mode;UNIX.uid;"
45
This page took 0.293753 seconds and 4 git commands to generate.