suricata
app-layer-ftp.c File Reference
#include "suricata-common.h"
#include "debug.h"
#include "decode.h"
#include "threads.h"
#include "util-print.h"
#include "util-pool.h"
#include "flow-util.h"
#include "flow-storage.h"
#include "detect-engine-state.h"
#include "stream-tcp-private.h"
#include "stream-tcp-reassemble.h"
#include "stream-tcp.h"
#include "stream.h"
#include "app-layer.h"
#include "app-layer-protos.h"
#include "app-layer-parser.h"
#include "app-layer-ftp.h"
#include "app-layer-expectation.h"
#include "util-spm.h"
#include "util-mpm.h"
#include "util-unittest.h"
#include "util-debug.h"
#include "util-memcmp.h"
#include "util-memrchr.h"
#include "util-byte.h"
#include "util-mem.h"
#include "util-misc.h"
#include "rust-ftp-mod-gen.h"
#include "output-json.h"
Include dependency graph for app-layer-ftp.c:

Go to the source code of this file.

Data Structures

struct  FTPThreadCtx_
 
struct  FtpTransferCmd
 

Macros

#define FTP_MPM   mpm_default_matcher
 

Typedefs

typedef struct FTPThreadCtx_ FTPThreadCtx
 

Functions

 SC_ATOMIC_DECLARE (uint64_t, ftp_memuse)
 
 SC_ATOMIC_DECLARE (uint64_t, ftp_memcap)
 
uint64_t FTPMemuseGlobalCounter (void)
 
uint64_t FTPMemcapGlobalCounter (void)
 
void RegisterFTPParsers (void)
 
void FTPAtExitPrintStats (void)
 
uint16_t JsonGetNextLineFromBuffer (const char *buffer, const uint16_t len)
 
json_t * JsonFTPDataAddMetadata (const Flow *f)
 
void FTPParserCleanup (void)
 Free memory allocated for global SMTP parser state. More...
 
void FTPParserRegisterTests (void)
 

Variables

const FtpCommand FtpCommands [FTP_COMMAND_MAX+1]
 
uint64_t ftp_config_memcap = 0
 

Detailed Description

Macro Definition Documentation

#define FTP_MPM   mpm_default_matcher

Definition at line 71 of file app-layer-ftp.c.

Referenced by FTPMemcapGlobalCounter().

Typedef Documentation

typedef struct FTPThreadCtx_ FTPThreadCtx

Function Documentation

void FTPAtExitPrintStats ( void  )

Definition at line 1371 of file app-layer-ftp.c.

References SCLogDebug, SCMutexLock, and SCMutexUnlock.

uint64_t FTPMemuseGlobalCounter ( void  )

Definition at line 171 of file app-layer-ftp.c.

References SC_ATOMIC_GET.

Referenced by AppLayerRegisterGlobalCounters().

Here is the caller graph for this function:

void FTPParserRegisterTests ( void  )

Definition at line 1922 of file app-layer-ftp.c.

References UtRegisterTest().

Referenced by RegisterFTPParsers().

Here is the call graph for this function:

Here is the caller graph for this function:

json_t* JsonFTPDataAddMetadata ( const Flow f)

Definition at line 1409 of file app-layer-ftp.c.

References Flow_::alstate, BytesToStringBuffer(), FtpDataState_::command, FtpDataState_::file_len, FtpDataState_::file_name, FTP_COMMAND_RETR, FTP_COMMAND_STOR, and SCJsonString().

Referenced by AlertJsonHeader().

Here is the call graph for this function:

Here is the caller graph for this function:

uint16_t JsonGetNextLineFromBuffer ( const char *  buffer,
const uint16_t  len 
)

Definition at line 1399 of file app-layer-ftp.c.

SC_ATOMIC_DECLARE ( uint64_t  ,
ftp_memuse   
)
SC_ATOMIC_DECLARE ( uint64_t  ,
ftp_memcap   
)

Variable Documentation

uint64_t ftp_config_memcap = 0

Definition at line 129 of file app-layer-ftp.c.

Referenced by FTPMemcapGlobalCounter().

const FtpCommand FtpCommands[FTP_COMMAND_MAX+1]

Definition at line 75 of file app-layer-ftp.c.