FTP Probleme

Hallo ihr alle,

dies ist mein allererster Post, bitte nicht böse sein, wenn ich irgendwas vergesse/ falsch mache!

Ich habe ein C- Programm, das sich per ftp auf einen externen Server verbindet und Dateien verschickt. Das hat bisher immer hervorragend funktioniert.
Nun haben die Partner die tolle Idee gehabt und wollen einen neuen Server als Partnerserver verwenden. Dieser Server ist statt eines Power Pcs jetzt ein IBM T170. Zudem sind sie von AIX 4.3 auf AIX 5.2 gewechselt. Wie ihr schon ahnt, bringt das Probleme mit sich: Beim Anmelden mit dem ftp zeigt sich nicht mehr nur ein 230- Returncode (user xxx loged in succesfully o.ä.), sondern gleich 3 mal 230 (1. Last login, 2. last unsuccessful login, 3. user xxx logged in).
Damit läuft mein C-Programm jetzt ins Leere und springt mit timeout irgendwann aus dem Programm aus (es rechnet als nächstes mit einer 250 auf Grund eines erfolgreichen cd- Kommandos).
Laut Anmelden am Server ist die ftp- Version aber immernoch die gleiche! Auf dem neuen Rechner 4.1 von 2005, auf dem alten 4.1 von 1999.
Ich tappe jetzt vollkommen im Dunkeln. Woran liegt es, dass ich plötzlich „zu viel“ Anmeldeinformation bekomme? Am ftp, am Betriebssystem, oder sogar am Server? Und wie kann ich dem Problem beikommen? Komme ich an diesen Code 230 irgendwie ran? So, dass ich nur noch eine Meldung bekomme und mein Programm wieder sauber laufen kann?

Ich hoffe, irgendwer kann mir helfen!
Danke schon mal für jegliche Mühe,

D. Falkenhagen

Nun haben die Partner die tolle Idee gehabt und wollen einen
neuen Server als Partnerserver verwenden. Dieser Server ist
statt eines Power Pcs jetzt ein IBM T170. Zudem sind sie von
AIX 4.3 auf AIX 5.2 gewechselt. Wie ihr schon ahnt, bringt das
Probleme mit sich: Beim Anmelden mit dem ftp zeigt sich nicht
mehr nur ein 230- Returncode (user xxx loged in succesfully
o.ä.), sondern gleich 3 mal 230 (1. Last login, 2. last
unsuccessful login, 3. user xxx logged in).

Sieht das vielleicht irgendwie so aus (auf die Bindestriche achten)?

230-user xxx loged in succesfully
230-last unsuccessful login on XXXX-YY-ZZ
230 user xxx logged in

Das ist korrekt, und ein Programm, das sich als FTP-Client ausgibt muss in dem Fall die mehrzeilige Antwort abarbeiten. Es gilt, dass wenn direkt nach dem Code ein Bindestrich folgt, noch weitere Zeilen in der selben Antwort vorliegen.

230-user xxx loged in succesfully
230-last unsuccessful login on XXXX-YY-ZZ
230 user xxx logged in

Das ist korrekt, und ein Programm, das sich als FTP-Client
ausgibt muss in dem Fall die mehrzeilige Antwort abarbeiten.
Es gilt, dass wenn direkt nach dem Code ein Bindestrich folgt,
noch weitere Zeilen in der selben Antwort vorliegen.

Hallo,
es sieht exakt so aus:

230-Last unsuccessful login: Mon Jan 01 01:01:01 DFT 2006 on ftp from xxx
230-Last login: Thu Jun 01 01:01:01 DFT 2006 on ftp from xxx
230 User xxx logged in.

Aber mit dem alten Server gabs halt nur eine Zeile:
230 User xxx logged in.

Das mit den Bindestrichen passt also soweit und erklärt mir zumindest mal die Syntax. Trotzdem frag ich mich immernoch, ob das irgendwie beeinflussbar ist. Die Informationen „Last unsuccesful…“, „Last login…“ interessieren mich (und mein Programm) nun mal gar nicht, kann man das dann nicht irgendwie abstellen? Schließlich muss die Meldung ja irgendwo kreiert werden und ggf. auch verändert…? Ich stell mir das so ein bißchen vor wie eine .profile.
Und im Übrigen versteh ich halt überhaupt nicht, warum die selbe ftp- Version plötzlich unterschiedliche Reaktionen erzeugt.
Vielleicht kann mir jemand noch mehr weiterhelfen!

Hi,
ob man das abstellen kann, sollte in der Doku des AIX FTP-Servers stehen. Im Übrigen hält sich der FTP-Server natürlich an die Regeln wie sie die RFC 959 http://www.ietf.org/rfc/rfc959.txt vorgibt.

Thus the format for multi-line replies is that the first line
 will begin with the exact required reply code, followed
 immediately by a Hyphen, "-" (also known as Minus), followed by
 text. The last line will begin with the same code, followed
 immediately by Space , optionally some text, and the Telnet
 end-of-line code.

 For example:
 123-First line
 Second line
 234 A line beginning with numbers
 123 The last line

Dein Client Programm hält sich allerdings nicht an die Regel. Normalerweise sollte man daher den fehlerhaften Teil anpassen.

Gruss
Quaser