CURLE_QUOTE_ERROR: QUOT command failed with 550

Get help for specific problems
User avatar
Posts: 9
Joined: 9 May 2019

kuzmandi

The same credentials are working with FileZilla and Cyberduck, but not with FreeFileSync. Every time I'm trying to connect, I get "CURLE_QUOTE_ERROR: QUOT command failed with 550".

I used Wireshark to do some sniffing:
65 A -> B TCP 78 62377 → 21 [SYN]
66 B -> A TCP 74 21 → 62377 [SYN, ACK]
67 A -> B TCP 66 62377 → 21 [ACK]
68 B -> A FTP 88 Response: 220 World4You FTP 01
69 A -> B TCP 66 62377 → 21 [ACK]
70 A -> B FTP 83 Request: USER xxxxxxx
71 B -> A TCP 66 21 → 62377 [ACK]
72 B -> A FTP 109 Response: 331 User xxxxxxx OK. Password required
73 A -> B TCP 66 62377 → 21 [ACK]
74 A -> B FTP 83 Request: PASS xxxxxxx
75 B -> A TCP 66 21 → 62377 [ACK]
76 B -> A FTP 138 Response: 230-Your bandwidth usage is restricted
77 A -> B TCP 66 62377 → 21 [ACK]
78 A -> B FTP 71 Request: PWD
79 B -> A TCP 66 21 → 62377 [ACK]
80 B -> A FTP 100 Response: 257 "/" is your current location
81 A -> B TCP 66 62377 → 21 [ACK]
82 A -> B FTP 72 Request: FEAT
83 B -> A FTP 81 Response: 211-Features:
84 B -> A FTP 83 Response: AUTH TLS
85 B -> A FTP 128 Response: CLNT
86 B -> A FTP 346 Response: HOST
87 B -> A FTP 73 Response: SIZE
88 B -> A FTP 73 Response: SSCN
89 B -> A FTP 80 Response: TVFS
90 B -> A FTP 124 Response: XCRC
91 A -> B TCP 66 62377 → 21 [ACK]
92 A -> B FTP 85 Request: CLNT FreeFileSync
93 B -> A FTP 87 Response: 500 Unknown command
94 A -> B TCP 66 62377 → 21 [ACK]
95 A -> B TCP 66 62377 → 21 [FIN, ACK]
96 B -> A TCP 66 21 → 62377 [FIN, ACK]
97 A -> B TCP 66 62377 → 21 [ACK]
It seems to have a problem with
Request: CLNT FreeFileSync
Response: 500 Unknown command
(lines 92, 93), so the question is if that could be changed/suppressed by FreeFileSync.

The following is how connection is (successfully) established with Cyberduck (same machine, same connection, same credentials):
13 A -> B TCP 78 62571 → 21 [SYN, ECN, CWR]
14 B -> A TCP 74 21 → 62571 [SYN, ACK, ECN]
15 A -> B TCP 66 62571 → 21 [ACK]
16 B -> A FTP 88 Response: 220 World4You FTP 01
17 A -> B TCP 66 62571 → 21 [ACK]
18 A -> B FTP 83 Request: USER xxxxxxx
19 B -> A TCP 66 21 → 62571 [ACK]
20 B -> A FTP 109 Response: 331 User xxxxxxx OK. Password required
21 A -> B TCP 66 62571 → 21 [ACK]
22 A -> B FTP 83 Request: PASS xxxxxxx
23 B -> A TCP 66 21 → 62571 [ACK]
24 B -> A FTP 138 Response: 230-Your bandwidth usage is restricted
25 A -> B TCP 66 62571 → 21 [ACK]
26 A -> B FTP 72 Request: FEAT
27 B -> A TCP 66 21 → 62571 [ACK]
28 B -> A FTP 81 Response: 211-Features:
29 B -> A FTP 77 Response: AUTH TLS
30 B -> A FTP 79 Response: CCC
31 B -> A FTP 388 Response: EPRT
32 B -> A FTP 165 Response: SITE UTIME
33 A -> B TCP 66 62571 → 21 [ACK]
34 A -> B FTP 80 Request: OPTS UTF8 ON
35 B -> A FTP 87 Response: 504 Unknown command
36 A -> B TCP 66 62571 → 21 [ACK]
37 A -> B FTP 72 Request: SYST
38 B -> A FTP 85 Response: 215 UNIX Type: L8
39 A -> B TCP 66 62571 → 21 [ACK]
40 A -> B FTP 71 Request: PWD
41 B -> A FTP 100 Response: 257 "/" is your current location
42 A -> B TCP 66 62571 → 21 [ACK]
43 A -> B FTP 73 Request: CWD /
44 B -> A FTP 98 Response: 250 OK. Current directory is /
45 A -> B TCP 66 62571 → 21 [ACK]
46 A -> B FTP 74 Request: TYPE A
47 B -> A FTP 89 Response: 200 TYPE is now ASCII
48 A -> B TCP 66 62571 → 21 [ACK]
49 A -> B FTP 72 Request: PASV
50 B -> A FTP 115 Response: 227 Entering Passive Mode (B,245,72)
51 A -> B TCP 66 62571 → 21 [ACK]
55 A -> B FTP 72 Request: MLSD
56 B -> A FTP 96 Response: 150 Accepted data connection
57 A -> B TCP 66 62571 → 21 [ACK]
59 B -> A FTP 88 Response: 226 12 matches total
61 A -> B TCP 66 62571 → 21 [ACK]
Could anybody help me with this?
User avatar
Site Admin
Posts: 7052
Joined: 9 Dec 2007

Zenju

This is one crazy/broken FTP server:

1. The FEAT responses for FreeFileSync and Cyberduck are different! This should not be possible.

2. For FreeFileSync FEAT includes "CLNT". But when FreeFileSync sends "CLNT FreeFileSync", the server returns "500 Unknown command"!? This doesn't make any sense.
User avatar
Posts: 9
Joined: 9 May 2019

kuzmandi

Honest, I have no idea.

I did it again, so look:

Cyberduck:
Response: 220 World4You FTP 01
Request: USER xxxxxxx
Response: 331 User xxxxxxx OK. Password required
Request: PASS xxxxxxx
Response: 230-Your bandwidth usage is restricted
Request: FEAT
Response: 211-Features:
Response:  AUTH TLS
Response:  CLNT
Response:  HOST
Response:  SITE UTIME
Response:  XSHA
Request: OPTS UTF8 ON
Response: 504 Unknown command
Request: SYST
Response: 215 UNIX Type: L8
Request: CWD /
Response: 250 OK. Current directory is /
Request: TYPE A
Response: 200 TYPE is now ASCII
Request: PASV
Response: 227 Entering Passive Mode (178,23,85,81,208,129)
Request: MLSD
Response: 150 Accepted data connection
Response: 226 11 matches total
FileZilla:
Response: 220 World4You FTP 01
Request: USER xxxxxxx
Response: 331 User xxxxxxx OK. Password required
Request: PASS xxxxxxx
Response: 230-Your bandwidth usage is restricted
Request: SYST
Response: 215 UNIX Type: L8
Request: FEAT
Response: 211-Features:
Response:  AUTH TLS
Response:  CLNT
Response:  SITE MKDIR
Response:  SITE RMDIR
Response:  SITE UTIME
Request: CLNT FileZilla
Response: 500 Unknown command
Request: OPTS UTF8 ON
Response: 504 Unknown command
Request: PWD
Response: 257 "/" is your current location
Request: TYPE I
Response: 200 TYPE is now 8-bit binary
Request: PASV
Response: 227 Entering Passive Mode (178,23,85,81,201,249)
Request: MLSD
Response: 150 Accepted data connection
Response: 226 11 matches total
FreeFileSync:
Response: 220 World4You FTP 01
Request: USER xxxxxxx
Response: 331 User xxxxxxx OK. Password required
Request: PASS xxxxxxx
Response: 230-Your bandwidth usage is restricted
Request: PWD
Response: 257 "/" is your current location
Request: FEAT
Response: 211-Features:
Response:  AUTH TLS
Response:  CLNT
Response:  HOST
Response:  PROT
Request: CLNT FreeFileSync
Response: 500 Unknown command
The behaviour seems very strange, the type and order of the commands sent make a difference. But I think the main problem is, that FreeFileSync aborts after the "500 Unknown command" response which maybe could be avoided if the "CLNT FreeFileSync" request would be not sent. Or if the "500 Unknown command" response would be ignored.
User avatar
Site Admin
Posts: 7052
Joined: 9 Dec 2007

Zenju

I don't know. The server's FEAT response obviously returns garbage. This should be reported to "World4You" as a bug.
User avatar
Posts: 9
Joined: 9 May 2019

kuzmandi

I have reported it. Answer was:

"I didn't notice any issues on the server side. There are also no connection problems in the log data. With FileZilla, you can basically access other servers as well. Alternatively, it can also be accessed directly via the customer portal via web FTP."

Seems like I won't be able to use FreeFileSync in the future. Unless the problem with the error, which isn't really an error, can be solved in another way. For example, in which FreeFileSync does not abort just because a FTP server responds to CLNT with 500. Is there really nothing that can be done about it?
User avatar
Site Admin
Posts: 7052
Joined: 9 Dec 2007

Zenju

Did you ask about the FEAT response? It's obviously broken as can be seen with multiple clients and your logs.
User avatar
Posts: 9
Joined: 9 May 2019

kuzmandi

I did. Answer was:

"This may have to be complained directly to the manufacturer of the program."

I have now pointed out that I do not believe that it is the manufacturer's job to straighten out the buggy outputs of an FTP server. Let's see if something else happens...

The support recommends the use of FIleZilla (or Web-FTP) and refers to its function. FileZilla ignores the 500 response to the CLNT command, which is why FileZilla works. Cyberduck has also been causing problems, although not as fatal as FreeFileSync.
User avatar
Posts: 9
Joined: 9 May 2019

kuzmandi

I have now a final answer from the support:

"The problem is not with the CLNT command, but with the subsequent QUOT query, which simply do not support the FTP connection via ftp.world4you.com (Central FTP Proxy) can. The reason for this is that the FTP proxy (which is not located on the web server) can't execute the QUOT command because it simply can't know the quota."

Maybe they have a better log than me (mine is just a Wireshark sniff).

But now I don't know what to do further. I can't suppress FTP commands, there is no settings in FreeFileSync to do such things.
User avatar
Site Admin
Posts: 7052
Joined: 9 Dec 2007

Zenju

??? "QUOT" command? Quota? What in the world are they talking about? There is no "QUOT" command issued by FreeFileSync. This has nothing to do with any "quota". The server issue is trivally seen in the Wireshark log:

The server nonsensically responds with 500 FTP error code after receiving "CLNT FreeFileSync". Before that the server included "CLNT" in its FEAT.
The server should make up its mind: Either it
1. wants to support CLNT, in which case it must not fail with 500 FTP code, or
2. doesn't want to support CLNT, in which case it must not include "CLNT" in the FEAT response.

But the simple fact that the FEAT response appears to be random depending on which client connects with it seems to indicate that the server software is fundamentally broken in other ways, too.

Also, the only mention of a "QUOT command" is in the error message. This phrase is internally generated by libcurl, which uses "QUOT" as abbreviation for "Quote", and is referring to a specific phase in libcurl's FTP processing. This has nothing to do with any FTP command named "QUOT". Such a command does not exist!

Are you sure you were talking to a real human? It seems to me like you reveived some low-quality generic answer like an AI would generate: It sounds plausible on a superficial level, but when analyzed in detail is just random words strung together, hoping to make the question asker to go away.