FtpServer.h
bool handleEprtRequest(String &cmd, String ¶ms)
Definition: FtpServer.cc:1562
void wroteEarlyReply(const CommIoCbParams &io)
Definition: FtpServer.cc:1229
Http::Stream * handleUserRequest(const SBuf &cmd, SBuf ¶ms)
Definition: FtpServer.cc:1353
CBDATA_CHILD(Server)
Definition: CommCalls.h:98
void handleDataReply(const HttpReply *header, StoreIOBuffer receivedData)
Definition: FtpServer.cc:938
void(Ftp::Server::* ReplyHandler)(const HttpReply *reply, StoreIOBuffer data)
a method handling an FTP response; selected by handleReply()
Definition: FtpServer.h:168
int userDataDone
Squid will send or has sent this final status code to the FTP client.
Definition: FtpServer.h:53
Transaction information shared among our FTP client and server jobs.
Definition: FtpServer.h:42
@ MissingUsername
static void AcceptCtrlConnection(const CommAcceptCbParams ¶ms)
accept a new FTP control connection and hand it to a dedicated Server
Definition: FtpServer.cc:242
virtual int pipelinePrefetchMax() const override
returning N allows a pipeline of 1+N requests (see pipeline_prefetch)
Definition: FtpServer.cc:80
bool handlePortRequest(String &cmd, String ¶ms)
Definition: FtpServer.cc:1486
void writeForwardedForeign(const HttpReply *reply)
Definition: FtpServer.cc:1138
bool handleCwdRequest(String &cmd, String ¶ms)
Definition: FtpServer.cc:1616
bool handleFeatRequest(String &cmd, String ¶ms)
Definition: FtpServer.cc:1401
void wroteReplyData(const CommIoCbParams &io)
called when we are done writing a chunk of the response data
Definition: FtpServer.cc:981
void handleFeatReply(const HttpReply *header, StoreIOBuffer receivedData)
Definition: FtpServer.cc:807
void writeForwardedReply(const HttpReply *reply)
Definition: FtpServer.cc:1031
friend void StartListening()
accept connections on all configured ftp_ports
@ MissingHost
@ HugeRequest
bool handlePasvRequest(String &cmd, String ¶ms)
Definition: FtpServer.cc:1408
@ MalformedCommand
void handleEprtReply(const HttpReply *header, StoreIOBuffer receivedData)
Definition: FtpServer.cc:1054
void shovelUploadData()
shovel upload data from the internal buffer to the body pipe if possible
Definition: FtpServer.cc:202
Definition: forward.h:28
bool createDataConnection(Ip::Address cltAddr)
[Re]initializes dataConn for active data transfers. Does not connect.
Definition: FtpServer.cc:1427
virtual time_t idleTimeout() const override
timeout to use when waiting for the next request
Definition: FtpServer.cc:86
@ InvalidUri
MasterState::Pointer master
info shared among our FTP client and server jobs
Definition: FtpServer.h:79
Definition: HttpRequest.h:49
bool handleDataRequest(String &cmd, String ¶ms)
Definition: FtpServer.cc:1515
void replyDataWritingCheckpoint()
ClientStream checks after (actual or skipped) reply data writing.
Definition: FtpServer.cc:999
void writeErrorReply(const HttpReply *reply, const int status)
writes FTP error response with given status and reply-derived error details
Definition: FtpServer.cc:1090
Definition: StoreIOBuffer.h:16
void calcUri(const SBuf *file)
computes uri member from host and, if tracked, working dir with file name
Definition: FtpServer.cc:339
virtual void notePeerConnection(Comm::ConnectionPointer conn) override
called just before a FwdState-dispatched job starts using connection
Definition: FtpServer.cc:296
virtual void handleReply(HttpReply *header, StoreIOBuffer receivedData) override
Definition: FtpServer.cc:773
@ UnsupportedCommand
Definition: client_side.h:84
Definition: MemBuf.h:24
Definition: CommCalls.h:119
void acceptDataConnection(const CommAcceptCbParams ¶ms)
Definition: FtpServer.cc:395
bool handleCdupRequest(String &cmd, String ¶ms)
Definition: FtpServer.cc:1630
void maybeReadUploadData()
schedules another data connection read if needed
Definition: FtpServer.cc:109
void handleUploadReply(const HttpReply *header, StoreIOBuffer receivedData)
Definition: FtpServer.cc:1024
Http::Stream * earlyError(const EarlyErrorKind eek)
creates a context filled with an error message for a given early error
Definition: FtpServer.cc:564
void writeCustomReply(const int code, const char *msg, const HttpReply *reply=NULL)
Definition: FtpServer.cc:501
virtual void noteBodyConsumerAborted(BodyPipe::Pointer ptr) override
Definition: FtpServer.cc:231
void userDataCompletionCheckpoint(int finalStatusCode)
Definition: FtpServer.cc:1805
Definition: SquidString.h:26
virtual void callException(const std::exception &e) override
called when the job throws during an async call
Definition: FtpServer.cc:1746
virtual const char * status() const
internal cleanup; do not call directly
Definition: AsyncJob.cc:167
Definition: CommCalls.h:110
unsigned int listenForDataConnection()
Definition: FtpServer.cc:364
Definition: HttpReply.h:25
void handlePasvReply(const HttpReply *header, StoreIOBuffer receivedData)
Definition: FtpServer.cc:876
bool handlePassRequest(String &cmd, String ¶ms)
Definition: FtpServer.cc:1623
void readUploadData(const CommIoCbParams &io)
imports more upload data from the data connection
Definition: FtpServer.cc:168
Definition: Stream.h:70
bool checkDataConnPost() const
Check that client data connection is ready for immediate I/O.
Definition: FtpServer.cc:1687
void writeEarlyReply(const int code, const char *msg)
Definition: FtpServer.cc:470
virtual bool writeControlMsgAndCall(HttpReply *rep, AsyncCall::Pointer &call) override
handle a control message received by context from a peer and call back
Definition: FtpServer.cc:1147
Definition: CommCalls.h:133
virtual void processParsedRequest(Http::StreamPointer &context) override
start processing a freshly parsed request
Definition: FtpServer.cc:156
void writeForwardedReplyAndCall(const HttpReply *reply, AsyncCall::Pointer &call)
Definition: FtpServer.cc:1156
void handleErrorReply(const HttpReply *header, StoreIOBuffer receivedData)
Definition: FtpServer.cc:929
void handleEpsvReply(const HttpReply *header, StoreIOBuffer receivedData)
Definition: FtpServer.cc:1067
virtual void clientPinnedConnectionClosed(const CommCloseCbParams &io) override
Our close handler called by Comm when the pinned connection is closed.
Definition: FtpServer.cc:310
bool handleUploadRequest(String &cmd, String ¶ms)
Definition: FtpServer.cc:1529
void changeState(const Ftp::ServerState newState, const char *reason)
Definition: FtpServer.cc:523
virtual Http::Stream * parseOneRequest() override
Definition: FtpServer.cc:634
bool originDataDownloadAbortedOnError
whether the origin data transfer aborted
Definition: FtpServer.h:203
void connectedForData(const CommConnectCbParams ¶ms)
Done establishing a data connection to the user.
Definition: FtpServer.cc:1698
virtual void noteMoreBodySpaceAvailable(BodyPipe::Pointer) override
Definition: FtpServer.cc:222
@ MissingLogin
Definition: Address.h:41
void resetLogin(const char *reason)
clear client and server login-related state after the old login is gone
Definition: FtpServer.cc:330
bool handleEpsvRequest(String &cmd, String ¶ms)
Definition: FtpServer.cc:1591
bool(Ftp::Server::* RequestHandler)(String &cmd, String ¶ms)
a method handling an FTP command; selected by handleRequest()
Definition: FtpServer.h:155
void handlePortReply(const HttpReply *header, StoreIOBuffer receivedData)
Definition: FtpServer.cc:916
HttpReply::Pointer delayedReply
a response which writing was postponed until stopWaitingForOrigin()
Definition: FtpServer.h:206