FtpRelay.cc
Go to the documentation of this file.
165 AsyncCall::Pointer call = asyncCall(9, 4, "Ftp::Relay::Abort", cbdataDialer(&Relay::HandleStoreAbort, this));
388 markParsedVirginReplyAsWhole("Ftp::Relay::handleControlReply() does not forward partial replies");
434 HttpReply *const reply = Ftp::HttpReplyWrapper(ctrl.replycode, ctrl.last_reply, httpStatus, clen);
597 assert(serverState() == fssHandlePasv || serverState() == fssHandleEpsv || serverState() == fssHandlePort || serverState() == fssHandleEprt);
766 "; FD " << (ctrl.conn != nullptr ? ctrl.conn->fd : -1) << ", Data FD " << (data.conn != nullptr ? data.conn->fd : -1) << ", this " << this);
RefCount< AsyncCallT< Dialer > > asyncCall(int aDebugSection, int aDebugLevel, const char *aName, const Dialer &aDialer)
Definition: AsyncCall.h:156
UnaryCbdataDialer< Argument1 > cbdataDialer(typename UnaryCbdataDialer< Argument1 >::Handler *handler, Argument1 *arg1)
Definition: AsyncCbdataCalls.h:40
#define JobCallback(dbgSection, dbgLevel, Dialer, job, method)
Convenience macro to create a Dialer-based job callback.
Definition: AsyncJobCalls.h:69
#define CallJobHere1(debugSection, debugLevel, job, Class, method, arg1)
Definition: AsyncJobCalls.h:63
CBDATA_NAMESPACED_CLASS_INIT(Ftp, Relay)
SBuf httpHeaderQuoteString(const char *raw)
quotes string using RFC 7230 quoted-string rules
Definition: HttpHeaderTools.cc:247
void error(char *format,...)
Definition: AsyncJob.h:32
virtual void handleRequestBodyProducerAborted()=0
Definition: Client.cc:351
Definition: CommCalls.h:105
parameters for the async notePinnedConnectionBecameIdle() call
Definition: client_side.h:183
Definition: client_side.h:84
void sendControlMsg(HttpControlMsg) override
called to send the 1xx message and notify the Source
Definition: client_side.cc:3651
void unpinConnection(const bool andClose)
Undo pinConnection() and, optionally, close the pinned connection.
Definition: client_side.cc:3917
Definition: errorpage.h:89
FTP client functionality shared among FTP Gateway and Relay clients.
Definition: FtpClient.h:111
void scheduleReadControlReply(int buffered_ok)
Definition: FtpClient.cc:325
virtual void failed(err_type error=ERR_NONE, int xerrno=0, ErrorState *ftperr=nullptr)
handle a fatal transaction error, closing the control connection
Definition: FtpClient.cc:262
Transaction information shared among our FTP client and server jobs.
Definition: FtpServer.h:43
Definition: FtpRelay.cc:35
void failedErrorMessage(err_type error, int xerrno)
Definition: FtpRelay.cc:296
void proceedAfterPreliminaryReply()
Definition: FtpRelay.cc:415
void failed(err_type error=ERR_NONE, int xerrno=0, ErrorState *ftperr=nullptr) override
handle a fatal transaction error, closing the control connection
Definition: FtpRelay.cc:283
const Ftp::MasterState & master() const
A const variant of updateMaster().
Definition: FtpRelay.cc:250
HttpReply * createHttpReply(const Http::StatusCode httpStatus, const int64_t clen=0)
Definition: FtpRelay.cc:432
CBDATA_CHILD(Relay)
struct Ftp::Relay::@39 savedReply
set and delayed while we are tracking using PWD
void forwardError(err_type error=ERR_NONE, int xerrno=0)
Definition: FtpRelay.cc:426
void stopOriginWait(int code)
Inform Ftp::Server that we are done if originWaitInProgress.
Definition: FtpRelay.cc:782
bool mayReadVirginReplyBody() const override
whether we may receive more virgin response body bytes
Definition: FtpRelay.cc:373
void dataChannelConnected(const CommConnectCbParams &io) override
Definition: FtpRelay.cc:738
static void HandleStoreAbort(Relay *)
called by Store if the entry is no longer usable
Definition: FtpRelay.cc:799
void forwardPreliminaryReply(const PreliminaryCb cb)
Definition: FtpRelay.cc:395
void handleRequestBodyProducerAborted() override
Definition: FtpRelay.cc:365
Definition: FwdState.h:53
bundles HTTP 1xx reply and the "successfully forwarded" callback
Definition: HttpControlMsg.h:47
Definition: HttpHeader.h:75
HttpHeaderEntry * findEntry(Http::HdrType id) const
Definition: HttpHeader.cc:603
Definition: HttpReply.h:25
Definition: AsyncJobCalls.h:91
void registerAbortCallback(const AsyncCall::Pointer &)
notify the StoreEntry writer of a 3rd-party initiated StoreEntry abort
Definition: store.cc:1467
Definition: SquidString.h:26
static ErrorDetail::Pointer NewIfAny(const int errorNo)
Definition: SysErrorDetail.h:22
Definition: AsyncJobCalls.h:108
Definition: wordlist.h:20
Definition: forward.h:24
bool Is1xx(const int sc)
whether this is an informational 1xx response status code
Definition: Elements.h:53
const char * UnescapeDoubleQuoted(const char *quotedPath)
parses an FTP-quoted quote-escaped path
Definition: Parsing.cc:90
HttpReply * HttpReplyWrapper(const int ftpStatus, const char *ftpReason, const Http::StatusCode httpStatus, const int64_t clen)
Create an internal HttpReply structure to house FTP control response info.
Definition: Elements.cc:30