#include <ftp.h>
Inheritance diagram for PFTPServer:
Public Types | |
enum | { MaxIllegalPasswords = 3 } |
Public Member Functions | |
PFTPServer () | |
declare a server socket | |
PFTPServer (const PString &readyString) | |
~PFTPServer () | |
Delete the server, cleaning up passive sockets. | |
virtual PString | GetHelloString (const PString &user) const |
virtual PString | GetGoodbyeString (const PString &user) const |
return the string printed just before exiting | |
virtual PString | GetSystemTypeString () const |
return the string to be returned by the SYST command | |
BOOL | GetAllowThirdPartyPort () const |
return the thirdPartyPort flag, allowing 3 host put and get. | |
void | SetAllowThirdPartyPort (BOOL state) |
Set the thirdPartyPort flag. | |
BOOL | ProcessCommand () |
virtual BOOL | DispatchCommand (PINDEX code, const PString &args) |
virtual BOOL | CheckLoginRequired (PINDEX cmd) |
virtual BOOL | AuthoriseUser (const PString &user, const PString &password, BOOL &replied) |
virtual BOOL | OnUnknown (const PCaselessString &command) |
virtual void | OnError (PINDEX errorCode, PINDEX cmdNum, const char *msg) |
virtual void | OnSyntaxError (PINDEX cmdNum) |
Called for syntax errors in commands. | |
virtual void | OnNotImplemented (PINDEX cmdNum) |
Called for unimplemented commands. | |
virtual void | OnCommandSuccessful (PINDEX cmdNum) |
Called for successful commands. | |
virtual BOOL | OnUSER (const PCaselessString &args) |
virtual BOOL | OnPASS (const PCaselessString &args) |
virtual BOOL | OnQUIT (const PCaselessString &args) |
virtual BOOL | OnPORT (const PCaselessString &args) |
virtual BOOL | OnSTRU (const PCaselessString &args) |
virtual BOOL | OnMODE (const PCaselessString &args) |
virtual BOOL | OnTYPE (const PCaselessString &args) |
virtual BOOL | OnNOOP (const PCaselessString &args) |
virtual BOOL | OnSYST (const PCaselessString &args) |
virtual BOOL | OnSTAT (const PCaselessString &args) |
virtual BOOL | OnRETR (const PCaselessString &args) |
virtual BOOL | OnSTOR (const PCaselessString &args) |
virtual BOOL | OnACCT (const PCaselessString &args) |
virtual BOOL | OnAPPE (const PCaselessString &args) |
virtual BOOL | OnRNFR (const PCaselessString &args) |
virtual BOOL | OnRNTO (const PCaselessString &args) |
virtual BOOL | OnDELE (const PCaselessString &args) |
virtual BOOL | OnCWD (const PCaselessString &args) |
virtual BOOL | OnCDUP (const PCaselessString &args) |
virtual BOOL | OnRMD (const PCaselessString &args) |
virtual BOOL | OnMKD (const PCaselessString &args) |
virtual BOOL | OnPWD (const PCaselessString &args) |
virtual BOOL | OnLIST (const PCaselessString &args) |
virtual BOOL | OnNLST (const PCaselessString &args) |
virtual BOOL | OnPASV (const PCaselessString &args) |
virtual BOOL | OnHELP (const PCaselessString &args) |
virtual BOOL | OnSITE (const PCaselessString &args) |
virtual BOOL | OnABOR (const PCaselessString &args) |
virtual BOOL | OnSMNT (const PCaselessString &args) |
virtual BOOL | OnREIN (const PCaselessString &args) |
virtual BOOL | OnSTOU (const PCaselessString &args) |
virtual BOOL | OnALLO (const PCaselessString &args) |
virtual BOOL | OnREST (const PCaselessString &args) |
void | SendToClient (const PFilePath &filename) |
Send the specified file to the client. | |
Protected Types | |
enum | { NotConnected, NeedUser, NeedPassword, Connected, ClientConnect } |
Protected Member Functions | |
BOOL | OnOpen () |
Call back to verify open succeeded in an PInternetProtocol class. | |
void | Construct () |
Protected Attributes | |
PString | readyString |
BOOL | thirdPartyPort |
enum PFTPServer:: { ... } | state |
PIPSocket::Address | remoteHost |
WORD | remotePort |
PTCPSocket * | passiveSocket |
char | type |
char | structure |
char | mode |
PString | userName |
int | illegalPasswordCount |
PFTPServer::PFTPServer | ( | ) |
declare a server socket
PFTPServer::PFTPServer | ( | const PString & | readyString | ) |
readyString | Sign on string on connection ready. |
PFTPServer::~PFTPServer | ( | ) |
Delete the server, cleaning up passive sockets.
Get the string printed when a user logs in default value is a string giving the user name
return the string printed just before exiting
virtual PString PFTPServer::GetSystemTypeString | ( | ) | const [virtual] |
return the string to be returned by the SYST command
BOOL PFTPServer::GetAllowThirdPartyPort | ( | ) | const [inline] |
return the thirdPartyPort flag, allowing 3 host put and get.
void PFTPServer::SetAllowThirdPartyPort | ( | BOOL | state | ) | [inline] |
Set the thirdPartyPort flag.
BOOL PFTPServer::ProcessCommand | ( | ) |
Process commands, dispatching to the appropriate virtual function. This is used when the socket is acting as a server.
virtual BOOL PFTPServer::DispatchCommand | ( | PINDEX | code, | |
const PString & | args | |||
) | [virtual] |
Dispatching to the appropriate virtual function. This is used when the socket is acting as a server.
code | Parsed command code. |
args | Arguments to command. |
virtual BOOL PFTPServer::CheckLoginRequired | ( | PINDEX | cmd | ) | [virtual] |
Check to see if the command requires the server to be logged in before it may be processed.
cmd | Command to check if log in required. |
virtual BOOL PFTPServer::AuthoriseUser | ( | const PString & | user, | |
const PString & | password, | |||
BOOL & | replied | |||
) | [virtual] |
Validate the user name and password for access. After three invalid attempts, the socket will close and FALSE is returned.
Default implementation returns TRUE for all strings.
user | User name to authorise. |
password | Password supplied for the user. |
replied | Indication that a reply was sent to client. |
virtual BOOL PFTPServer::OnUnknown | ( | const PCaselessString & | command | ) | [virtual] |
Handle an unknown command.
command | Complete command line received. |
virtual void PFTPServer::OnError | ( | PINDEX | errorCode, | |
PINDEX | cmdNum, | |||
const char * | msg | |||
) | [virtual] |
Handle an error in command.
errorCode | Error code to use |
cmdNum | Command that had the error. |
msg | Error message. |
virtual void PFTPServer::OnSyntaxError | ( | PINDEX | cmdNum | ) | [virtual] |
Called for syntax errors in commands.
cmdNum | Command that had the syntax error. |
virtual void PFTPServer::OnNotImplemented | ( | PINDEX | cmdNum | ) | [virtual] |
Called for unimplemented commands.
cmdNum | Command that was not implemented. |
virtual void PFTPServer::OnCommandSuccessful | ( | PINDEX | cmdNum | ) | [virtual] |
Called for successful commands.
cmdNum | Command that had was successful. |
virtual BOOL PFTPServer::OnUSER | ( | const PCaselessString & | args | ) | [virtual] |
virtual BOOL PFTPServer::OnPASS | ( | const PCaselessString & | args | ) | [virtual] |
virtual BOOL PFTPServer::OnQUIT | ( | const PCaselessString & | args | ) | [virtual] |
virtual BOOL PFTPServer::OnPORT | ( | const PCaselessString & | args | ) | [virtual] |
virtual BOOL PFTPServer::OnSTRU | ( | const PCaselessString & | args | ) | [virtual] |
virtual BOOL PFTPServer::OnMODE | ( | const PCaselessString & | args | ) | [virtual] |
virtual BOOL PFTPServer::OnTYPE | ( | const PCaselessString & | args | ) | [virtual] |
virtual BOOL PFTPServer::OnNOOP | ( | const PCaselessString & | args | ) | [virtual] |
virtual BOOL PFTPServer::OnSYST | ( | const PCaselessString & | args | ) | [virtual] |
virtual BOOL PFTPServer::OnSTAT | ( | const PCaselessString & | args | ) | [virtual] |
virtual BOOL PFTPServer::OnRETR | ( | const PCaselessString & | args | ) | [virtual] |
virtual BOOL PFTPServer::OnSTOR | ( | const PCaselessString & | args | ) | [virtual] |
virtual BOOL PFTPServer::OnACCT | ( | const PCaselessString & | args | ) | [virtual] |
virtual BOOL PFTPServer::OnAPPE | ( | const PCaselessString & | args | ) | [virtual] |
virtual BOOL PFTPServer::OnRNFR | ( | const PCaselessString & | args | ) | [virtual] |
virtual BOOL PFTPServer::OnRNTO | ( | const PCaselessString & | args | ) | [virtual] |
virtual BOOL PFTPServer::OnDELE | ( | const PCaselessString & | args | ) | [virtual] |
virtual BOOL PFTPServer::OnCWD | ( | const PCaselessString & | args | ) | [virtual] |
virtual BOOL PFTPServer::OnCDUP | ( | const PCaselessString & | args | ) | [virtual] |
virtual BOOL PFTPServer::OnRMD | ( | const PCaselessString & | args | ) | [virtual] |
virtual BOOL PFTPServer::OnMKD | ( | const PCaselessString & | args | ) | [virtual] |
virtual BOOL PFTPServer::OnPWD | ( | const PCaselessString & | args | ) | [virtual] |
virtual BOOL PFTPServer::OnLIST | ( | const PCaselessString & | args | ) | [virtual] |
virtual BOOL PFTPServer::OnNLST | ( | const PCaselessString & | args | ) | [virtual] |
virtual BOOL PFTPServer::OnPASV | ( | const PCaselessString & | args | ) | [virtual] |
virtual BOOL PFTPServer::OnHELP | ( | const PCaselessString & | args | ) | [virtual] |
virtual BOOL PFTPServer::OnSITE | ( | const PCaselessString & | args | ) | [virtual] |
virtual BOOL PFTPServer::OnABOR | ( | const PCaselessString & | args | ) | [virtual] |
virtual BOOL PFTPServer::OnSMNT | ( | const PCaselessString & | args | ) | [virtual] |
virtual BOOL PFTPServer::OnREIN | ( | const PCaselessString & | args | ) | [virtual] |
virtual BOOL PFTPServer::OnSTOU | ( | const PCaselessString & | args | ) | [virtual] |
virtual BOOL PFTPServer::OnALLO | ( | const PCaselessString & | args | ) | [virtual] |
virtual BOOL PFTPServer::OnREST | ( | const PCaselessString & | args | ) | [virtual] |
void PFTPServer::SendToClient | ( | const PFilePath & | filename | ) |
Send the specified file to the client.
filename | File name to send. |
BOOL PFTPServer::OnOpen | ( | ) | [protected, virtual] |
Call back to verify open succeeded in an PInternetProtocol class.
Reimplemented from PIndirectChannel.
void PFTPServer::Construct | ( | ) | [protected] |
Reimplemented from PChannel.
PString PFTPServer::readyString [protected] |
BOOL PFTPServer::thirdPartyPort [protected] |
enum { ... } PFTPServer::state [protected] |
PIPSocket::Address PFTPServer::remoteHost [protected] |
WORD PFTPServer::remotePort [protected] |
PTCPSocket* PFTPServer::passiveSocket [protected] |
char PFTPServer::type [protected] |
char PFTPServer::structure [protected] |
char PFTPServer::mode [protected] |
PString PFTPServer::userName [protected] |
int PFTPServer::illegalPasswordCount [protected] |