Roxen.git
/
server
/
plugins
/
protocols
/
ftp.pike
version
»
Context lines:
10
20
40
80
file
none
3
Roxen.git/server/plugins/protocols/ftp.pike:1:
// This is a roxen protocol module. // Copyright © 1997 - 2001, Roxen IS. /* * FTP protocol mk 2 *
-
* $Id: ftp.pike,v 2.
93
2004/05/17 13:20:
05
mani Exp $
+
* $Id: ftp.pike,v 2.
94
2004/05/17 13:20:
42
mani Exp $
* * Henrik Grubbström <grubba@roxen.com> */ /* * TODO: * * How much is supposed to be logged? */
Roxen.git/server/plugins/protocols/ftp.pike:430:
{ converted += sizeof(s); return(converter->feed(s)->drain()); } } class PutFileWrapper { static int response_code = 226;
-
static string response = "Stored.";
+
static
array(
string
)
response =
({
"Stored."
})
;
static string gotdata = ""; static int closed, recvd; static function other_read_callback; static object from_fd; static object session; static object ftpsession; int is_file;
Roxen.git/server/plugins/protocols/ftp.pike:462:
int bytes_received() { return recvd; } int close(string|void how) { DWRITE("FTP: PUT: close()\n"); ftpsession->touch_me(); if(how != "w" && !closed) {
-
ftpsession->send(response_code,
({
response
}
)
)
;
+
ftpsession->send(response_code, response);
closed = 1; session->conf->received += recvd; session->file->len = recvd; session->conf->log(session->file, session); session->file = 0; session->my_fd = from_fd; } if (how) { return from_fd->close(how); } else {
Roxen.git/server/plugins/protocols/ftp.pike:545:
string msg; gotdata += data; while((n=search(gotdata, "\n"))>=0) { if(3==sscanf(gotdata[..n], "HTTP/%*s %d %[^\r\n]", code, msg) && code>199) { if(code < 300) code = 226; else code = 550; response_code = code;
-
response =
msg
;
+
response =
({msg})
;
} gotdata = gotdata[n+1..]; } return strlen(data); } void done(mapping result) { if (result->error < 300) { response_code = 226; } else { response_code = 550; } // Cut away the code.
-
response =
((
result->rettext
||
errors
[result->error]
)/"
")[1..]
*
"
";
+
if (result->rettext)
+
response = result->rettext
/
"\n";
+
else
+
response = ({errors
[result->error]
||
""
})
;
gotdata = result->data || ""; close(); } string query_address(int|void loc) { return from_fd->query_address(loc); } }