42#define KEYWORD_NAME "ftp.completion_code"
43#define KEYWORD_DOC "ftp-keywords.html#ftp-completion_code"
44#define BUFFER_NAME "ftp.completion_code"
45#define BUFFER_DESC "ftp completion code"
47static int g_ftp_ccode_buffer_id = 0;
61 uint8_t _flow_flags, uint32_t index,
const uint8_t **buffer, uint32_t *buffer_len)
74 *buffer = (
const uint8_t *)wrapper->
response->code;
75 *buffer_len = (uint32_t)wrapper->
response->code_length;
92 "sticky buffer to match on the FTP completion code buffer";
struct HtpBodyChunk_ * next
int SCDetectBufferSetActiveList(DetectEngineCtx *de_ctx, Signature *s, const int list)
@ DETECT_FTP_COMPLETION_CODE
void DetectBufferTypeSetDescriptionByName(const char *name, const char *desc)
void DetectAppLayerMultiRegister(const char *name, AppProto alproto, uint32_t dir, int progress, InspectionMultiBufferGetDataPtr GetData, int priority)
int DetectBufferTypeGetByName(const char *name)
void DetectFtpCompletionCodeRegister(void)
int SCDetectSignatureSetAppProto(Signature *s, AppProto alproto)
SigTableElmt * sigmatch_table
#define SIG_FLAG_TOCLIENT
#define TAILQ_FOREACH(var, head, field)
#define TAILQ_EMPTY(head)
main detection engine ctx
FTPResponseLine * response
FtpCommandInfo command_descriptor
FtpRequestCommand command_code
int(* Setup)(DetectEngineCtx *, Signature *, const char *)
#define DEBUG_VALIDATE_BUG_ON(exp)