FtpClient.cc
Go to the documentation of this file.
507 debugs(9, DBG_IMPORTANT, "ERROR: Broken FTP Server at " << ctrl.conn->remote << ". Wrong accept code for EPSV");
531 debugs(9, DBG_IMPORTANT, "ERROR: Broken FTP Server at " << ctrl.conn->remote << ". 522 error missing protocol negotiation hints");
552 debugs(9, DBG_IMPORTANT, "WARNING: Server at " << ctrl.conn->remote << " sent unknown protocol negotiation hint: " << buf);
634 debugs(9, 3, "Listening for FTP data connection on port" << comm_local_port(data.conn->fd) << " or port?" << data.conn->local.port());
694 debugs(9, 5, "FTP Channel is IPv6 (" << ctrl.conn->remote << ") attempting EPSV 2 after EPSV ALL has failed.");
703 debugs(9, 5, "FTP Channel is IPv4 (" << ctrl.conn->remote << ") attempting EPSV 1 after EPSV ALL has failed.");
715 debugs(9, 5, "FTP Channel (" << ctrl.conn->remote << ") rejects EPSV connection attempts. Trying PASV instead.");
727 debugs(9, 5, "EPSV support manually disabled. Sending PASV for FTP Channel (" << ctrl.conn->remote <<")");
731 debugs(9, 5, "EPSV ALL manually enabled. Attempting with FTP Channel (" << ctrl.conn->remote <<")");
788 AsyncCall::Pointer callback = JobCallback(9, 3, Dialer, this, Ftp::Client::dataChannelConnected);
870 debugs(9, DBG_IMPORTANT, "ERROR: FTP command write failure: " << io.conn << ": " << xstrerr(io.xerrno));
Definition: wordlist.h:41
Definition: AsyncJob.h:31
SBuf verbose(const HttpRequestPointer &) const override
Definition: FtpClient.cc:81
AsyncCall::Pointer comm_add_close_handler(int fd, CLCB *handler, void *data)
Definition: comm.cc:952
Definition: FilledChecklist.h:33
void commUnsetConnTimeout(const Comm::ConnectionPointer &conn)
Definition: comm.cc:616
void appendf(const char *fmt,...) PRINTF_FORMAT_ARG2
Append operation with printf-style arguments.
Definition: Packable.h:61
void fd_bytes(const int fd, const int len, const IoDirection direction)
Definition: fd.cc:226
void opened(const Comm::ConnectionPointer &conn, const AsyncCall::Pointer &aCloser)
called after the socket is opened, sets up close handler
Definition: FtpClient.cc:90
struct IoStats::@66 Ftp
struct SquidConfig::@98 accessList
void setAddrs(const Ip::Address &aLocal, const Ip::Address &aRemote)
Definition: Connection.h:106
void sentRequestBody(const CommIoCbParams &io) override
Definition: FtpClient.cc:1078
struct StatCounters::@112::@122 all
void error(char *format,...)
void abortAll(const char *reason) override
abnormal transaction termination; reason is for debugging only
Definition: FtpClient.cc:1055
Definition: ConnOpener.h:24
struct StatCounters::@112 server
IoStats IOStats
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
FTP client functionality shared among FTP Gateway and Relay clients.
Definition: FtpClient.h:110
Definition: forward.h:23
virtual void dataChannelConnected(const CommConnectCbParams &io)=0
#define MAX_IPSTRLEN
Length of buffer that needs to be allocated to old a null-terminated IP-string.
Definition: forward.h:25
Definition: Range.h:18
bool handlePasvReply(Ip::Address &remoteAddr)
Definition: FtpClient.cc:455
void comm_read(const Comm::ConnectionPointer &conn, char *buf, int len, AsyncCall::Pointer &callback)
Definition: Read.h:59
void leaveOrphanage()
resume relying on owner(s) to initiate an explicit connection closure
Definition: Connection.h:92
void noteDelayAwareReadChance() override
Definition: FtpClient.cc:908
virtual void dataClosed(const CommCloseCbParams &io)
handler called by Comm when FTP data channel is closed unexpectedly
Definition: FtpClient.cc:810
static ErrorDetail::Pointer NewIfAny(const int errorNo)
Definition: SysErrorDetail.h:22
const Comm::ConnectionPointer & serverConnection() const
Definition: FwdState.h:138
Definition: MemBuf.h:23
Definition: CommCalls.h:113
bool handleEpsvReply(Ip::Address &remoteAddr)
Definition: FtpClient.cc:491
AsyncCall::Pointer dataCloser()
creates a data channel Comm close callback
Definition: FtpClient.cc:802
void scheduleReadControlReply(int buffered_ok)
Definition: FtpClient.cc:325
void close()
planned close: removes the close handler and calls comm_close
Definition: FtpClient.cc:107
Definition: CommCalls.h:165
void doneSendingRequestBody() override
Definition: FtpClient.cc:1089
#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 Write(const Comm::ConnectionPointer &conn, const char *buf, int size, AsyncCall::Pointer &callback, FREE *free_func)
Definition: Write.cc:33
struct SquidConfig::@99 Ftp
virtual Http::StatusCode failedHttpStatus(err_type &error)
Definition: FtpClient.cc:311
bool parseControlReply(size_t &bytesUsed)
Definition: FtpClient.cc:1103
void commSetConnTimeout(const Comm::ConnectionPointer &conn, time_t timeout, AsyncCall::Pointer &callback)
Definition: comm.cc:592
bool ParseIpPort(const char *buf, const char *forceIp, Ip::Address &addr)
parses and validates "A1,A2,A3,A4,P1,P2" IP,port sequence
Definition: Parsing.cc:18
void * memReallocBuf(void *buf, size_t net_size, size_t *gross_size)
Definition: minimal.cc:54
const Comm::ConnectionPointer & dataConnection() const override
Definition: FtpClient.cc:902
Definition: DelayId.h:21
struct StatCounters::@112::@122 ftp
virtual void sentRequestBody(const CommIoCbParams &io)=0
Definition: Client.cc:363
struct SquidConfig::@84 Timeout
void ctrlClosed(const CommCloseCbParams &io)
handler called by Comm when FTP control channel is closed unexpectedly
Definition: FtpClient.cc:879
SBuf ToSBuf(Args &&... args)
slowly stream-prints all arguments into a freshly allocated SBuf
Definition: Stream.h:63
Definition: CommCalls.h:133
void readControlReply(const CommIoCbParams &io)
Definition: FtpClient.cc:362
Definition: CommCalls.h:127
Definition: errorpage.h:88
@ Write
@ Read
void writeCommandCallback(const CommIoCbParams &io)
Definition: FtpClient.cc:855
struct ErrorState::@54 ftp
Definition: Address.h:42
void comm_remove_close_handler(int fd, CLCB *handler, void *data)
Definition: comm.cc:981
void switchTimeoutToDataChannel()
Definition: FtpClient.cc:1067
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