Go to the documentation of this file.
40 #define BUFFER_NAME "smb_ntlmssp_user"
41 #define KEYWORD_NAME "smb.ntlmssp_user"
42 #define KEYWORD_ID DETECT_SMB_NTLMSSP_USER
44 static int g_smb_nltmssp_user_buffer_id = 0;
64 const uint8_t *b = NULL;
66 if (rs_smb_tx_get_ntlmssp_user(txv, &b, &b_len) != 1)
68 if (b == NULL || b_len == 0)
97 #define BUFFER_NAME "smb_ntlmssp_domain"
98 #define KEYWORD_NAME "smb.ntlmssp_domain"
99 #define KEYWORD_ID DETECT_SMB_NTLMSSP_DOMAIN
101 static int g_smb_nltmssp_domain_buffer_id = 0;
121 const uint8_t *b = NULL;
123 if (rs_smb_tx_get_ntlmssp_domain(txv, &b, &b_len) != 1)
125 if (b == NULL || b_len == 0)
140 "sticky buffer to match on SMB ntlmssp domain in session setup";
int DetectSignatureSetAppProto(Signature *s, AppProto alproto)
void DetectAppLayerMpmRegister2(const char *name, int direction, int priority, PrefilterRegisterFunc PrefilterRegister, InspectionBufferGetDataPtr GetData, AppProto alproto, int tx_min_progress)
register a MPM engine
#define SIGMATCH_INFO_STICKY_BUFFER
uint8_t DetectEngineInspectBufferGeneric(DetectEngineCtx *de_ctx, DetectEngineThreadCtx *det_ctx, const DetectEngineAppInspectionEngine *engine, const Signature *s, Flow *f, uint8_t flags, void *alstate, void *txv, uint64_t tx_id)
Do the content inspection & validation for a signature.
void DetectSmbNtlmsspDomainRegister(void)
int DetectBufferSetActiveList(DetectEngineCtx *de_ctx, Signature *s, const int list)
main detection engine ctx
int(* Setup)(DetectEngineCtx *, Signature *, const char *)
InspectionBuffer * InspectionBufferGet(DetectEngineThreadCtx *det_ctx, const int list_id)
int DetectBufferTypeGetByName(const char *name)
#define SIG_FLAG_TOSERVER
int PrefilterGenericMpmRegister(DetectEngineCtx *de_ctx, SigGroupHead *sgh, MpmCtx *mpm_ctx, const DetectBufferMpmRegistry *mpm_reg, int list_id)
void DetectAppLayerInspectEngineRegister2(const char *name, AppProto alproto, uint32_t dir, int progress, InspectEngineFuncPtr2 Callback2, InspectionBufferGetDataPtr GetData)
register inspect engine at start up time
Data structures and function prototypes for keeping state for the detection engine.
void DetectSmbNtlmsspUserRegister(void)
void InspectionBufferApplyTransforms(InspectionBuffer *buffer, const DetectEngineTransforms *transforms)
SigTableElmt sigmatch_table[DETECT_TBLSIZE]
void InspectionBufferSetup(DetectEngineThreadCtx *det_ctx, const int list_id, InspectionBuffer *buffer, const uint8_t *data, const uint32_t data_len)
setup the buffer with our initial data