Ik heb FileZilla Server geinstalleerd als ftp programma onder windows maar deze ondersteund geen NOOP (Keepalive) commando's voordat er is ingelogd.
Ik heb in de code van FileZilla gekeken en daaruit blijkt dat dit expliciet zo is geprogrammeerd. Verder heb ik met telnet (poort 21) reeds ingelogd op een aantal andere ftp-servers en is het soms wel en soms niet toegestaan, ook word ik niet echt wijzer van de RFC op dit gebied. En tig zoekacties met google en op fora levert ook niets op.
Mijn vraag is:
- Zijn er andere ftp-servers voor windows die wel NOOP ondersteunen voordat er is ingelogd?
- Wat is nou de officiële manier waarop er met NOOP ongegaan moet worden?
Concreet heb ik namelijk een ftp-server nodig die onder windows professional geinstalleerd kan worden en aangeroepen kan worden vanuit een AS400 server/programma. Uiteraard had deze pc onder Windows 2003 server moeten draaien maar dat is een gepasseerd station.
Alvast bedankt.
Filezilla ControlSocket.cpp:
P.S. Het was voor mij niet echt duidelijk wel forum ik moest hebben, ik twijfelde nog tussen "Programming" en "Software Engineering & Architecture". Mijn excuses als dit toch niet op de meest ideale plek staat.
Ik heb in de code van FileZilla gekeken en daaruit blijkt dat dit expliciet zo is geprogrammeerd. Verder heb ik met telnet (poort 21) reeds ingelogd op een aantal andere ftp-servers en is het soms wel en soms niet toegestaan, ook word ik niet echt wijzer van de RFC op dit gebied. En tig zoekacties met google en op fora levert ook niets op.
Mijn vraag is:
- Zijn er andere ftp-servers voor windows die wel NOOP ondersteunen voordat er is ingelogd?
- Wat is nou de officiële manier waarop er met NOOP ongegaan moet worden?
Concreet heb ik namelijk een ftp-server nodig die onder windows professional geinstalleerd kan worden en aangeroepen kan worden vanuit een AS400 server/programma. Uiteraard had deze pc onder Windows 2003 server moeten draaien maar dat is een gepasseerd station.
Alvast bedankt.
Filezilla ControlSocket.cpp:
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
| typedef struct
{
int nID;
char command[5];
BOOL bHasargs;
BOOL bValidBeforeLogon;
} t_command;
static const t_command commands[]={ COMMAND_USER, "USER", TRUE, TRUE,
COMMAND_PASS, "PASS", FALSE, TRUE,
COMMAND_QUIT, "QUIT", FALSE, TRUE,
COMMAND_CWD, "CWD", TRUE, FALSE,
COMMAND_PWD, "PWD", FALSE, FALSE,
COMMAND_PORT, "PORT", TRUE, FALSE,
COMMAND_PASV, "PASV", FALSE, FALSE,
COMMAND_TYPE, "TYPE", TRUE, FALSE,
COMMAND_LIST, "LIST", FALSE, FALSE,
COMMAND_REST, "REST", TRUE, FALSE,
COMMAND_CDUP, "CDUP", FALSE, FALSE,
COMMAND_RETR, "RETR", TRUE, FALSE,
COMMAND_STOR, "STOR", TRUE, FALSE,
COMMAND_SIZE, "SIZE", TRUE, FALSE,
COMMAND_DELE, "DELE", TRUE, FALSE,
COMMAND_RMD, "RMD", TRUE, FALSE,
COMMAND_MKD, "MKD", TRUE, FALSE,
COMMAND_RNFR, "RNFR", TRUE, FALSE,
COMMAND_RNTO, "RNTO", TRUE, FALSE,
COMMAND_ABOR, "ABOR", FALSE, FALSE,
COMMAND_SYST, "SYST", FALSE, TRUE,
--> COMMAND_NOOP, "NOOP", FALSE, FALSE,
COMMAND_APPE, "APPE", TRUE, FALSE,
COMMAND_NLST, "NLST", FALSE, FALSE,
COMMAND_MDTM, "MDTM", TRUE, FALSE,
COMMAND_XPWD, "XPWD", FALSE, FALSE,
COMMAND_XCUP, "XCUP", FALSE, FALSE,
COMMAND_XMKD, "XMKD", TRUE, FALSE,
COMMAND_XRMD, "XRMD", TRUE, FALSE,
COMMAND_NOP, "NOP", FALSE, FALSE,
COMMAND_EPSV, "EPSV", FALSE, FALSE,
COMMAND_EPRT, "EPRT", TRUE, FALSE,
COMMAND_AUTH, "AUTH", TRUE, TRUE,
COMMAND_ADAT, "ADAT", TRUE, TRUE,
COMMAND_PBSZ, "PBSZ", TRUE, TRUE,
COMMAND_PROT, "PROT", TRUE, TRUE,
COMMAND_FEAT, "FEAT", FALSE, TRUE,
COMMAND_MODE, "MODE", TRUE, FALSE,
COMMAND_OPTS, "OPTS", TRUE, FALSE,
COMMAND_HELP, "HELP", FALSE, TRUE,
COMMAND_ALLO, "ALLO", FALSE, FALSE,
COMMAND_MLST, "MLST", FALSE, FALSE,
COMMAND_MLSD, "MLSD", FALSE, FALSE
}; |
P.S. Het was voor mij niet echt duidelijk wel forum ik moest hebben, ik twijfelde nog tussen "Programming" en "Software Engineering & Architecture". Mijn excuses als dit toch niet op de meest ideale plek staat.