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);
Definition: wordlist.h:41
Definition: AsyncJob.h:31
bool Is1xx(const int sc)
whether this is an informational 1xx response status code
Definition: Elements.h:53
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
Transaction information shared among our FTP client and server jobs.
Definition: FtpServer.h:42
virtual void handleRequestBodyProducerAborted()=0
Definition: Client.cc:350
void error(char *format,...)
void sendControlMsg(HttpControlMsg) override
called to send the 1xx message and notify the Source
Definition: client_side.cc:3614
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
const Ftp::MasterState & master() const
A const variant of updateMaster().
Definition: FtpRelay.cc:250
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
RefCount< AsyncCallT< Dialer > > asyncCall(int aDebugSection, int aDebugLevel, const char *aName, const Dialer &aDialer)
Definition: AsyncCall.h:156
Definition: AsyncJobCalls.h:108
FTP client functionality shared among FTP Gateway and Relay clients.
Definition: FtpClient.h:110
Definition: forward.h:23
static void HandleStoreAbort(Relay *)
called by Store if the entry is no longer usable
Definition: FtpRelay.cc:799
void stopOriginWait(int code)
Inform Ftp::Server that we are done if originWaitInProgress.
Definition: FtpRelay.cc:782
UnaryCbdataDialer< Argument1 > cbdataDialer(typename UnaryCbdataDialer< Argument1 >::Handler *handler, Argument1 *arg1)
Definition: AsyncCbdataCalls.h:40
Definition: AsyncJobCalls.h:91
parameters for the async notePinnedConnectionBecameIdle() call
Definition: client_side.h:182
HttpReply * createHttpReply(const Http::StatusCode httpStatus, const int64_t clen=0)
Definition: FtpRelay.cc:432
bundles HTTP 1xx reply and the "successfully forwarded" callback
Definition: HttpControlMsg.h:46
void dataChannelConnected(const CommConnectCbParams &io) override
Definition: FtpRelay.cc:738
static ErrorDetail::Pointer NewIfAny(const int errorNo)
Definition: SysErrorDetail.h:22
CBDATA_NAMESPACED_CLASS_INIT(Ftp, Relay)
Definition: client_side.h:79
void scheduleReadControlReply(int buffered_ok)
Definition: FtpClient.cc:325
Definition: SquidString.h:25
SBuf httpHeaderQuoteString(const char *raw)
quotes string using RFC 7230 quoted-string rules
Definition: HttpHeaderTools.cc:247
const char * UnescapeDoubleQuoted(const char *quotedPath)
parses an FTP-quoted quote-escaped path
Definition: Parsing.cc:90
#define JobCallback(dbgSection, dbgLevel, Dialer, job, method)
Convenience macro to create a Dialer-based job callback.
Definition: AsyncJobCalls.h:70
Definition: FwdState.h:86
void forwardError(err_type error=ERR_NONE, int xerrno=0)
Definition: FtpRelay.cc:426
void forwardPreliminaryReply(const PreliminaryCb cb)
Definition: FtpRelay.cc:395
Definition: CommCalls.h:104
Definition: HttpReply.h:24
struct Ftp::Relay::@38 savedReply
set and delayed while we are tracking using PWD
HttpHeaderEntry * findEntry(Http::HdrType id) const
Definition: HttpHeader.cc:602
Definition: FtpRelay.cc:34
CBDATA_CHILD(Relay)
void failedErrorMessage(err_type error, int xerrno)
Definition: FtpRelay.cc:296
Definition: errorpage.h:88
void registerAbortCallback(const AsyncCall::Pointer &)
notify the StoreEntry writer of a 3rd-party initiated StoreEntry abort
Definition: store.cc:1481
bool mayReadVirginReplyBody() const override
whether we may receive more virgin response body bytes
Definition: FtpRelay.cc:373
void proceedAfterPreliminaryReply()
Definition: FtpRelay.cc:415
void handleRequestBodyProducerAborted() override
Definition: FtpRelay.cc:365
void unpinConnection(const bool andClose)
Undo pinConnection() and, optionally, close the pinned connection.
Definition: client_side.cc:3880
Definition: HttpHeader.h:74
#define CallJobHere1(debugSection, debugLevel, job, Class, method, arg1)
Definition: AsyncJobCalls.h:64
Introduction
- About Squid
- Why Squid?
- Squid Developers
- How to Donate
- How to Help Out
- Getting Squid
- Squid Source Packages
- Squid Deployment Case-Studies
- Squid Software Foundation
Documentation
- Quick Setup
- Configuration:
- FAQ and Wiki
- Guide Books:
- Non-English
- More...
Support
- Security Advisories
- Bugzilla Database
- Mailing lists
- Contacting us
- Commercial services
- Project Sponsors
- Squid-based products