FtpServer Class Reference
#include <FtpServer.h>
Inheritance diagram for FtpServer:
Collaboration diagram for FtpServer:
Public Member Functions | |
void | addUser (const String &login, const String &pass, IFS::UserRole userRole=IFS::UserRole::Admin) |
IFS::UserRole | validateUser (const char *login, const char *pass) override |
Validate user. More... | |
bool | checkUser (const String &login, const String &pass) |
Legacy user validation. More... | |
![]() | |
CustomFtpServer (IFS::FileSystem *fileSystem=nullptr) | |
![]() | |
TcpServer () | |
TcpServer (TcpClientConnectDelegate onClientHandler, TcpClientDataDelegate clientReceiveDataHandler, TcpClientCompleteDelegate clientCompleteHandler) | |
TcpServer (TcpClientDataDelegate clientReceiveDataHandler, TcpClientCompleteDelegate clientCompleteHandler) | |
TcpServer (TcpClientDataDelegate clientReceiveDataHandler) | |
void | setClientReceiveHandler (TcpClientDataDelegate clientReceiveDataHandler) |
~TcpServer () | |
virtual bool | listen (int port, bool useSsl=false) |
void | setKeepAlive (uint16_t seconds) |
void | shutdown () |
const Vector< TcpConnection * > & | getConnections () const |
![]() | |
TcpConnection (bool autoDestruct) | |
TcpConnection (tcp_pcb *connection, bool autoDestruct) | |
virtual | ~TcpConnection () |
virtual bool | connect (const String &server, int port, bool useSsl=false) |
virtual bool | connect (IpAddress addr, uint16_t port, bool useSsl=false) |
virtual void | close () |
int | writeString (const char *data, uint8_t apiflags=TCP_WRITE_FLAG_COPY) |
Writes string data directly to the TCP buffer. More... | |
int | writeString (const String &data, uint8_t apiflags=TCP_WRITE_FLAG_COPY) |
Writes string data directly to the TCP buffer. More... | |
virtual int | write (const char *data, int len, uint8_t apiflags=TCP_WRITE_FLAG_COPY) |
Base write operation. More... | |
int | write (IDataSourceStream *stream) |
Writes stream data directly to the TCP buffer. More... | |
uint16_t | getAvailableWriteSize () |
void | flush () |
void | setTimeOut (uint16_t waitTimeOut) |
IpAddress | getRemoteIp () const |
uint16_t | getRemotePort () const |
void | setDestroyedDelegate (TcpConnectionDestroyedDelegate destroyedDelegate) |
Sets a callback to be called when the object instance is destroyed. More... | |
void | setSslInitHandler (Ssl::Session::InitDelegate handler) |
Set the SSL session initialisation callback. More... | |
bool | setSslConnection (Ssl::Connection *connection) |
Ssl::Session * | getSsl () |
Get a pointer to the current SSL session object. More... | |
![]() | |
bool | joinMulticastGroup (IpAddress localIp, IpAddress multicastIp) |
Uses IGMP to add a local network interface to multicast group. More... | |
bool | joinMulticastGroup (IpAddress multicastIp) |
Uses IGMP to add all local network interfaces to multicast group. More... | |
bool | leaveMulticastGroup (IpAddress localIp, IpAddress multicastIp) |
Uses IGMP to remove a local network interface from multicast group. More... | |
bool | leaveMulticastGroup (IpAddress multicastIp) |
Uses IGMP to remove all local network interfaces from multicast group. More... | |
Protected Member Functions | |
bool | onCommand (String cmd, String data, FtpServerConnection &connection) override |
Handle an incomding command. More... | |
![]() | |
TcpConnection * | createClient (tcp_pcb *clientTcp) override |
IFS::FileSystem * | getFileSystem () const |
![]() | |
virtual err_t | onAccept (tcp_pcb *clientTcp, err_t err) |
virtual void | onClient (TcpClient *client) |
virtual bool | onClientReceive (TcpClient &client, char *data, int size) |
virtual void | onClientComplete (TcpClient &client, bool successful) |
virtual void | onClientDestroy (TcpConnection &connection) |
![]() | |
void | initialize (tcp_pcb *pcb) |
bool | internalConnect (IpAddress addr, uint16_t port) |
bool | sslCreateSession () |
virtual void | sslInitSession (Ssl::Session &session) |
Override in inherited classes to perform custom session initialisation. More... | |
virtual err_t | onConnected (err_t err) |
virtual err_t | onReceive (pbuf *buf) |
virtual err_t | onSent (uint16_t len) |
virtual err_t | onPoll () |
virtual void | onError (err_t err) |
virtual void | onReadyToSendData (TcpConnectionEvent sourceEvent) |
virtual void | onClosed () |
Gets called when there is/was a tcp connection, the latter does not have to be established, that is closed due to error or normal disconnect. More... | |
void | trySend (TcpConnectionEvent event) |
err_t | internalOnConnected (err_t err) |
err_t | internalOnReceive (pbuf *p, err_t err) |
err_t | internalOnSent (uint16_t len) |
err_t | internalOnPoll () |
void | internalOnError (err_t err) |
void | internalOnDnsResponse (const char *name, LWIP_IP_ADDR_T *ipaddr, int port) |
Additional Inherited Members | |
![]() | |
uint16_t | activeClients = 0 |
![]() | |
size_t | minHeapSize = 16384 |
uint16_t | maxConnections = 0 |
By default, don't limit connection count. More... | |
bool | active = true |
Vector< TcpConnection * > | connections |
![]() | |
tcp_pcb * | tcp = nullptr |
uint16_t | sleep = 0 |
uint16_t | timeOut = USHRT_MAX |
By default a TCP connection does not have a time out. More... | |
bool | canSend = true |
bool | autoSelfDestruct = true |
Ssl::Session * | ssl = nullptr |
Ssl::Session::InitDelegate | sslInit |
bool | useSsl = false |
Member Function Documentation
◆ addUser()
void FtpServer::addUser | ( | const String & | login, |
const String & | pass, | ||
IFS::UserRole | userRole = IFS::UserRole::Admin |
||
) |
◆ checkUser()
Legacy user validation.
- Deprecated:
- Use
validateUser()
instead
◆ onCommand()
|
overrideprotectedvirtual |
Handle an incomding command.
- Parameters
-
cmd The command identifier, e.g. LIST data Any command arguments connection The associated TCP connection to receive any response
- Return values
-
bool true if command handled and response sent
Reimplemented from CustomFtpServer.
◆ validateUser()
|
overridevirtual |
Validate user.
- Parameters
-
login User name pass User password
- Return values
-
IFS::UserRole Returns assigned user role, None if user not validated
Implements CustomFtpServer.
The documentation for this class was generated from the following file: