Go Back   FlashFXP Forums > > > >

ioFTPD General New releases, comments, questions regarding the latest version of ioFTPD.

 
 
Thread Tools Rate Thread Display Modes
Prev Previous Post   Next Post Next
Old 10-20-2011, 07:11 PM   #9
Yil
Too much time...
FlashFXP Beta Tester
ioFTPD Administrator
 
Join Date: May 2005
Posts: 1,194
Default

At first I suppose this looks like an error, but it really isn't...

Your test looks a simple 'site' command (as opposed to pre/post events which are different) and all FTP commands must end in a valid 3 digit response code so the client knows if things succeeded or not. Without any script output the server uses the exit() code of the application and prints out a 200/500 code to signal success/failure.

However, you DID output the word "test" and relied upon ioFTPD to prefix it with a "200-". 200 is the default for site commands indicating success and the "-" means this isn't the final line with the only value that actually matters. After the script ran ioFTPD looked at the buffer, saw the last line was a "ddd-" continuation line and inferred the script result from that. Hence a "200 ..."success line was added so the FTP client would be happy.

For success you don't need to do anything since it will add the generic "200 Command successful." line, but you can use your own "200 Whatever" line at the end if you want a custom success message like "200 Successfully marked item" or whatever. UPDATE: You'll need to !prefix off" to actually enter such a line into the buffer.

For failure the only thing you have to do is make sure the last line ends in a "5xx Whatever" format so use "!prefix off" then output that line. If you output lines before that one you'll get the default prefix (i.e. 200- for site commands) added. If you want all the output to look like errors you'll have to use the "!prefix off" command at the start and then output your own prefixed lines like "550-Couldn't find 'foo'.".

I've been tempted to offer a way to have the server modify all lines to make the prefix numbers match the final output or to make a way to change the prefix before outputting lines, but it's not possible now so you'll have to do it yourself.

Specific response codes are defined in the FTP RFC's but you probably won't care about them as 200/550 works for nearly everything a site script cares about. The default prefix code used by ioFTPD for each type of event/script/etc can be found in /doc/Events.txt. You'll see that it's based upon the most likely response for the type of event. The ioPrefix variable in iTCL contains the default prefix for lines, but EXEC modules don't get that info but you can infer it from Events.txt and what triggered the script.

Last edited by Yil; 10-20-2011 at 07:27 PM.
Yil is offline   Reply With Quote
 

Tags
command, file, match, prefix, returns


Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump


All times are GMT -5. The time now is 07:45 PM.

Parts of this site powered by vBulletin Mods & Addons from DragonByte Technologies Ltd. (Details)