]> git.pld-linux.org Git - packages/pure-ftpd.git/blob - 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
1 diff --git a/src/ftpd.c b/src/ftpd.c
2 index 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.068791 seconds and 3 git commands to generate.