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.
86
2003/01/
07
18
:
34
:
07
jhs
Exp $
+
* $Id: ftp.pike,v 2.
87
2003/01/
23
16
:
21
:
02
mani
Exp $
* * Henrik Grubbström <grubba@roxen.com> */ /* * TODO: * * How much is supposed to be logged? */
Roxen.git/server/plugins/protocols/ftp.pike:1547:
static private multiset|int allowed_shells = 0; // On a multihomed server host, the default data transfer port // (L-1) MUST be associated with the same local IP address as // the corresponding control connection to port L. // RFC 1123 4.1.2.12 string local_addr; int local_port; // The listen port object
-
roxen
.Protocol port_obj;
+
core
.Protocol port_obj;
/* * Misc */ static private int check_shell(string shell) { // FIXME: Should the shell database be protocol specific or // virtual-server specific? if (port_obj->query_option("shells") != "") {
Roxen.git/server/plugins/protocols/ftp.pike:1950:
// "I" and "L" // Binary -- no conversion needed. if (objectp(file->file) && file->file->set_nonblocking) { file->file = BinaryWrapper(file->file, 0, this_object()); } break; } object throttler=session->throttler; object pipe;
-
pipe =
roxen
.get_shuffler( fd );
+
pipe =
core
.get_shuffler( fd );
if( conf ) conf->connection_add( this_object(), pipe ); if( throttler || conf->throttler ) pipe->set_throttler( throttler || conf->throttler ); pipe->set_done_callback( lambda( Shuffler.Shuffle r, int reason ) { send_done_callback( fd, session, r->sent_data() ); } );
Roxen.git/server/plugins/protocols/ftp.pike:3325:
} } void ftp_XMKD(string args) { ftp_MKD(args); } void ftp_SYST(string args) {
-
send(215, ({ "UNIX Type: L8:
Roxen
Information
Server"}));
+
send(215, ({ "UNIX Type: L8:
ChiliMoon
Internet
Server"}));
} void ftp_CLNT(string args) { if (!expect_argument("CLNT", args)) { return; } send(200, ({ "Ok, gottcha!"})); master_session->client = args/" " - ({ "" });
Roxen.git/server/plugins/protocols/ftp.pike:3424:
*/ send(211, sprintf("%s FTP server status:\n" "Version %s\n" "Listening on %s\n" "Connected to %s\n" "Logged in %s\n" "TYPE: %s, FORM: %s; STRUcture: %s; transfer MODE: %s\n" "End of status", replace(fd->query_address(1), " ", ":"),
-
roxen
.version(),
+
core
.version(),
port_obj->sorted_urls * "\nListening on ", replace(fd->query_address(), " ", ":"), user?sprintf("as %s", user):"anonymously", (["A":"ASCII", "E":"EBCDIC", "I":"IMAGE", "L":"LOCAL"]) [mode], "Non-Print", "File", "Stream" )/"\n"); return;
Roxen.git/server/plugins/protocols/ftp.pike:3701:
Inside #if 1
#if 1 mixed err; if (err = catch { this_object()["ftp_"+cmd](args); }) { report_error("Internal server error in FTP2\n" "Handling command %O\n%s\n", line, describe_backtrace(err)); } #else
-
roxen
->handle(lambda(function f, string args, string line) {
+
core
->handle(lambda(function f, string args, string line) {
mixed err; if (err = catch { f(args); }) { report_error("Internal server error in FTP2\n" "Handling command %O\n%s\n", line, describe_backtrace(err)); } }, this_object()["ftp_"+cmd], args, line); #endif
Roxen.git/server/plugins/protocols/ftp.pike:3790:
local_addr = a[0]; local_port = (int)a[1]; call_out(timeout, FTP2_TIMEOUT); string s = c->query_option("FTPWelcome"); s = replace(s, ({ "$roxen_version", "$roxen_build", "$full_version", "$pike_version", "$ident", }),
-
({
roxen->
__roxen_version__,
roxen->
__roxen_build__,
-
roxen->
real_version, version(),
roxen->
version() }));
+
({
core.
__roxen_version__,
core.
__roxen_build__,
+
core.
real_version, version(),
core.
version() }));
send(220, s/"\n", 1); } }; void create(object f, object c) { if (f) { c->sessions++; c->ftp_users++; FTPSession(f, c); } }