suricata
detect-engine-register.c
Go to the documentation of this file.
1 /* Copyright (C) 2007-2024 Open Information Security Foundation
2  *
3  * You can copy, redistribute or modify this Program under the terms of
4  * the GNU General Public License version 2 as published by the Free
5  * Software Foundation.
6  *
7  * This program is distributed in the hope that it will be useful,
8  * but WITHOUT ANY WARRANTY; without even the implied warranty of
9  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
10  * GNU General Public License for more details.
11  *
12  * You should have received a copy of the GNU General Public License
13  * version 2 along with this program; if not, write to the Free Software
14  * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA
15  * 02110-1301, USA.
16  */
17 
18 /**
19  * \file
20  *
21  * \author Victor Julien <victor@inliniac.net>
22  */
23 
24 #include "detect-smb-ntlmssp.h"
25 #include "suricata-common.h"
26 #include "suricata.h"
27 #include "detect.h"
28 #include "flow.h"
29 #include "flow-private.h"
30 #include "flow-bit.h"
31 
32 #include "detect-parse.h"
33 #include "detect-engine.h"
34 #include "detect-engine-profile.h"
35 
36 #include "detect-engine-alert.h"
37 #include "detect-engine-siggroup.h"
38 #include "detect-engine-address.h"
39 #include "detect-engine-proto.h"
40 #include "detect-engine-port.h"
41 #include "detect-engine-mpm.h"
42 #include "detect-engine-iponly.h"
45 
46 #include "rust.h"
47 
48 #include "detect-engine-payload.h"
50 #include "detect-dns-name.h"
51 #include "detect-dns-response.h"
52 #include "detect-tls-sni.h"
53 #include "detect-tls-certs.h"
55 #include "detect-tls-cert-issuer.h"
57 #include "detect-tls-cert-serial.h"
58 #include "detect-tls-alpn.h"
60 #include "detect-tls-random.h"
61 #include "detect-tls-ja3-hash.h"
62 #include "detect-tls-ja3-string.h"
63 #include "detect-tls-ja3s-hash.h"
64 #include "detect-tls-ja3s-string.h"
65 #include "detect-engine-state.h"
66 #include "detect-engine-analyzer.h"
67 
68 #include "detect-http-cookie.h"
69 #include "detect-http-method.h"
70 #include "detect-http-ua.h"
71 #include "detect-http-host.h"
72 
73 #include "detect-mark.h"
74 #include "detect-nfs-version.h"
75 
76 #include "detect-engine-event.h"
77 #include "decode.h"
78 
79 #include "detect-config.h"
80 
81 #include "detect-smb-share.h"
82 #include "detect-smb-version.h"
83 #include "detect-smtp.h"
84 
85 #include "detect-base64-decode.h"
86 #include "detect-base64-data.h"
87 #include "detect-ipaddr.h"
88 #include "detect-ipopts.h"
89 #include "detect-tcp-flags.h"
90 #include "detect-fragbits.h"
91 #include "detect-fragoffset.h"
92 #include "detect-gid.h"
93 #include "detect-tcp-ack.h"
94 #include "detect-tcp-seq.h"
95 #include "detect-content.h"
96 #include "detect-uricontent.h"
97 #include "detect-pcre.h"
98 #include "detect-depth.h"
99 #include "detect-nocase.h"
100 #include "detect-rawbytes.h"
101 #include "detect-bytetest.h"
102 #include "detect-bytemath.h"
103 #include "detect-bytejump.h"
104 #include "detect-sameip.h"
105 #include "detect-l3proto.h"
106 #include "detect-ipproto.h"
107 #include "detect-within.h"
108 #include "detect-distance.h"
109 #include "detect-offset.h"
110 #include "detect-sid.h"
111 #include "detect-prefilter.h"
112 #include "detect-priority.h"
113 #include "detect-classtype.h"
114 #include "detect-reference.h"
115 #include "detect-tag.h"
116 #include "detect-threshold.h"
117 #include "detect-metadata.h"
118 #include "detect-msg.h"
119 #include "detect-rev.h"
120 #include "detect-flow.h"
121 #include "detect-flow-age.h"
122 #include "detect-flow-pkts.h"
123 #include "detect-requires.h"
124 #include "detect-tcp-window.h"
125 #include "detect-tcp-wscale.h"
126 #include "detect-ftpbounce.h"
127 #include "detect-ftp-dynamic-port.h"
128 #include "detect-isdataat.h"
129 #include "detect-id.h"
130 #include "detect-rpc.h"
131 #include "detect-asn1.h"
132 #include "detect-filename.h"
133 #include "detect-filestore.h"
134 #include "detect-filemagic.h"
135 #include "detect-filemd5.h"
136 #include "detect-filesha1.h"
137 #include "detect-filesha256.h"
138 #include "detect-filesize.h"
139 #include "detect-dataset.h"
140 #include "detect-datarep.h"
141 #include "detect-dsize.h"
142 #include "detect-flowvar.h"
143 #include "detect-flowint.h"
144 #include "detect-pktvar.h"
145 #include "detect-noalert.h"
146 #include "detect-flowbits.h"
147 #include "detect-hostbits.h"
148 #include "detect-xbits.h"
149 #include "detect-csum.h"
150 #include "detect-stream_size.h"
151 #include "detect-engine-sigorder.h"
152 #include "detect-ttl.h"
153 #include "detect-fast-pattern.h"
154 #include "detect-itype.h"
155 #include "detect-icode.h"
156 #include "detect-icmp-id.h"
157 #include "detect-icmp-seq.h"
158 #include "detect-icmpv4hdr.h"
159 #include "detect-dce-iface.h"
160 #include "detect-dce-opnum.h"
161 #include "detect-dce-stub-data.h"
162 #include "detect-urilen.h"
163 #include "detect-bsize.h"
164 #include "detect-detection-filter.h"
165 #include "detect-http-client-body.h"
166 #include "detect-http-server-body.h"
167 #include "detect-http-header.h"
169 #include "detect-http-headers.h"
170 #include "detect-http-raw-header.h"
171 #include "detect-http-uri.h"
172 #include "detect-http-protocol.h"
173 #include "detect-http-start.h"
174 #include "detect-http-stat-msg.h"
177 #include "detect-http2.h"
178 #include "detect-byte-extract.h"
179 #include "detect-file-data.h"
180 #include "detect-pkt-data.h"
181 #include "detect-replace.h"
182 #include "detect-tos.h"
183 #include "detect-app-layer-event.h"
184 #include "detect-app-layer-state.h"
185 #include "detect-lua.h"
186 #include "detect-iprep.h"
187 #include "detect-geoip.h"
189 #include "detect-template.h"
190 #include "detect-template2.h"
191 #include "detect-tcphdr.h"
192 #include "detect-tcpmss.h"
193 #include "detect-udphdr.h"
194 #include "detect-icmpv6hdr.h"
195 #include "detect-icmpv6-mtu.h"
196 #include "detect-ipv4hdr.h"
197 #include "detect-ipv6hdr.h"
198 #include "detect-krb5-cname.h"
199 #include "detect-krb5-errcode.h"
200 #include "detect-krb5-sname.h"
202 #include "detect-sip-method.h"
203 #include "detect-sip-uri.h"
204 #include "detect-target.h"
205 #include "detect-quic-sni.h"
206 #include "detect-quic-ua.h"
207 #include "detect-quic-version.h"
208 #include "detect-quic-cyu-hash.h"
209 #include "detect-quic-cyu-string.h"
210 #include "detect-ja4-hash.h"
211 #include "detect-ftp-command.h"
212 #include "detect-entropy.h"
213 #include "detect-ftp-command-data.h"
215 #include "detect-ftp-reply.h"
216 #include "detect-ftp-mode.h"
218 
219 #include "detect-bypass.h"
220 #include "detect-ftpdata.h"
222 
225 
226 #include "util-rule-vars.h"
227 
228 #include "app-layer.h"
229 #include "app-layer-protos.h"
230 #include "app-layer-htp.h"
231 #include "app-layer-smtp.h"
232 #include "detect-frame.h"
233 #include "detect-tls.h"
235 #include "detect-tls-version.h"
236 #include "detect-ssh-proto.h"
238 #include "detect-ssh-software.h"
240 #include "detect-ssh-hassh.h"
241 #include "detect-ssh-hassh-server.h"
242 #include "detect-ssh-hassh-string.h"
244 #include "detect-http-stat-code.h"
245 #include "detect-ssl-version.h"
246 #include "detect-ssl-state.h"
247 #include "detect-modbus.h"
248 #include "detect-dnp3.h"
249 #include "detect-ike-exch-type.h"
250 #include "detect-ike-spi.h"
251 #include "detect-ike-vendor.h"
252 #include "detect-ike-chosen-sa.h"
257 #include "detect-vlan.h"
258 #include "detect-email.h"
259 
260 #include "action-globals.h"
261 #include "tm-threads.h"
262 
263 #include "pkt-var.h"
264 
265 #include "conf.h"
266 #include "conf-yaml-loader.h"
267 
268 #include "stream-tcp.h"
269 #include "stream-tcp-inline.h"
270 
271 #include "util-lua.h"
272 #include "util-var-name.h"
274 #include "util-threshold-config.h"
275 #include "util-print.h"
276 #include "util-unittest.h"
277 #include "util-unittest-helper.h"
278 #include "util-debug.h"
279 #include "util-hashlist.h"
280 #include "util-privs.h"
281 #include "util-profiling.h"
282 #include "util-validate.h"
283 #include "util-optimize.h"
284 #include "util-path.h"
285 #include "util-mpm-ac.h"
286 #include "runmodes.h"
287 
290 
291 static void PrintFeatureList(const SigTableElmt *e, char sep)
292 {
293  const uint32_t flags = e->flags;
294 
295  int prev = 0;
296  if (flags & SIGMATCH_NOOPT) {
297  printf("No option");
298  prev = 1;
299  }
301  if (prev == 1)
302  printf("%c", sep);
303  printf("compatible with IP only rule");
304  prev = 1;
305  }
307  if (prev == 1)
308  printf("%c", sep);
309  printf("compatible with decoder event only rule");
310  prev = 1;
311  }
313  if (prev == 1)
314  printf("%c", sep);
315  printf("content modifier");
316  prev = 1;
317  }
319  if (prev == 1)
320  printf("%c", sep);
321  printf("sticky buffer");
322  prev = 1;
323  }
325  if (prev == 1)
326  printf("%c", sep);
327  printf("supports firewall");
328  prev = 1;
329  }
331  if (prev == 1)
332  printf("%c", sep);
333  printf("multi buffer");
334  prev = 1;
335  }
338  if (prev == 1)
339  printf("%c", sep);
341  printf("multi ");
343  printf("enum ");
345  printf("bitflags ");
347  printf("uint8");
349  printf("uint16");
351  printf("uint32");
353  printf("uint64");
354  prev = 1;
355  }
356  if (e->Transform) {
357  if (prev == 1)
358  printf("%c", sep);
359  printf("transform");
360  prev = 1;
361  }
362  if (e->SupportsPrefilter) {
363  if (prev == 1)
364  printf("%c", sep);
365  printf("prefilter");
366  prev = 1;
367  }
368  if (prev == 0) {
369  printf("none");
370  }
371 }
372 
373 static void SigMultilinePrint(size_t i, const char *prefix)
374 {
375  if (sigmatch_table[i].desc) {
376  printf("%sDescription: %s\n", prefix, sigmatch_table[i].desc);
377  }
378  printf("%sFeatures: ", prefix);
379  PrintFeatureList(&sigmatch_table[i], ',');
380  if (sigmatch_table[i].url) {
381  printf("\n%sDocumentation: %s%s", prefix, GetDocURL(), sigmatch_table[i].url);
382  }
383  if (sigmatch_table[i].alternative) {
384  printf("\n%sReplaced by: %s", prefix, sigmatch_table[sigmatch_table[i].alternative].name);
385  }
386  printf("\n");
387 }
388 
389 /** \brief Check if a keyword exists. */
390 bool SigTableHasKeyword(const char *keyword)
391 {
392  for (int i = 0; i < DETECT_TBLSIZE; i++) {
393  const char *name = sigmatch_table[i].name;
394 
395  if (name == NULL || strlen(name) == 0) {
396  continue;
397  }
398 
399  if (strcmp(keyword, name) == 0) {
400  return true;
401  }
402  }
403 
404  return false;
405 }
406 
407 int SigTableList(const char *keyword)
408 {
409  size_t size = DETECT_TBLSIZE;
410  size_t i;
411 
412  if (keyword == NULL) {
413  printf("=====Supported keywords=====\n");
414  for (i = 0; i < size; i++) {
415  const char *name = sigmatch_table[i].name;
416  if (name != NULL && strlen(name) > 0) {
417  if (name[0] == '_' || strcmp(name, "template") == 0)
418  continue;
419 
420  printf("- %s\n", name);
421  }
422  }
423  } else if (strcmp("csv", keyword) == 0) {
424  printf("name;description;app layer;features;documentation\n");
425  for (i = 0; i < size; i++) {
426  const char *name = sigmatch_table[i].name;
427  if (name != NULL && strlen(name) > 0) {
428  if (name[0] == '_' || strcmp(name, "template") == 0)
429  continue;
430 
431  printf("%s;", name);
432  if (sigmatch_table[i].desc) {
433  printf("%s", sigmatch_table[i].desc);
434  }
435  /* Build feature */
436  printf(";Unset;"); // this used to be alproto
437  PrintFeatureList(&sigmatch_table[i], ':');
438  printf(";");
439  if (sigmatch_table[i].url) {
440  printf("%s%s", GetDocURL(), sigmatch_table[i].url);
441  }
442  printf(";");
443  printf("\n");
444  }
445  }
446  } else if (strcmp("all", keyword) == 0) {
447  for (i = 0; i < size; i++) {
448  const char *name = sigmatch_table[i].name;
449  if (name != NULL && strlen(name) > 0) {
450  if (name[0] == '_' || strcmp(name, "template") == 0)
451  continue;
452  printf("%s:\n", sigmatch_table[i].name);
453  SigMultilinePrint(i, "\t");
454  }
455  }
456  } else {
457  for (i = 0; i < size; i++) {
458  if ((sigmatch_table[i].name != NULL) &&
459  strcmp(sigmatch_table[i].name, keyword) == 0) {
460  printf("= %s =\n", sigmatch_table[i].name);
461  SigMultilinePrint(i, "");
462  return TM_ECODE_DONE;
463  }
464  }
465  printf("Non existing keyword\n");
466  return TM_ECODE_FAILED;
467  }
468  return TM_ECODE_DONE;
469 }
470 
471 static void DetectFileHandlerRegister(void)
472 {
473  for (int i = 0; i < DETECT_TBLSIZE_STATIC; i++) {
474  if (filehandler_table[i].name)
476  }
477 }
478 
479 static void SigCleanCString(SigTableElmt *base)
480 {
481  SCSigTableNamesElmt kw;
482  // remove const for mut to release
483  kw.name = (char *)base->name;
484  kw.desc = (char *)base->desc;
485  kw.url = (char *)base->url;
486  SCDetectSigMatchNamesFree(&kw);
487 }
488 
490 {
491  sigmatch_table[id].Cleanup = SigCleanCString;
492 }
493 
494 void SigTableCleanup(void)
495 {
496  if (sigmatch_table != NULL) {
497  for (int i = 0; i < DETECT_TBLSIZE; i++) {
498  if ((sigmatch_table[i].Cleanup) == NULL) {
499  continue;
500  }
502  }
504  sigmatch_table = NULL;
505  DETECT_TBLSIZE = 0;
506  }
507 }
508 
509 #define ARRAY_CAP_STEP 16
510 static void (**PreregisteredCallbacks)(void) = NULL;
511 static size_t preregistered_callbacks_nb = 0;
512 static size_t preregistered_callbacks_cap = 0;
513 
514 // Plugins can preregister keywords with this function :
515 // When an app-layer plugin is loaded, it wants to register its keywords
516 // But the plugin is loaded before keywords can register
517 // The preregistration callbacks will later be called by SigTableSetup
518 int SCSigTablePreRegister(void (*KeywordsRegister)(void))
519 {
520  if (preregistered_callbacks_nb == preregistered_callbacks_cap) {
521  void *tmp = SCRealloc(PreregisteredCallbacks,
522  sizeof(void *) * (preregistered_callbacks_cap + ARRAY_CAP_STEP));
523  if (tmp == NULL) {
524  return 1;
525  }
526  preregistered_callbacks_cap += ARRAY_CAP_STEP;
527  PreregisteredCallbacks = tmp;
528  }
529  PreregisteredCallbacks[preregistered_callbacks_nb] = KeywordsRegister;
530  preregistered_callbacks_nb++;
531  return 0;
532 }
533 
534 void SigTableInit(void)
535 {
536  if (sigmatch_table == NULL) {
539  if (sigmatch_table == NULL) {
540  DETECT_TBLSIZE = 0;
541  FatalError("Could not allocate sigmatch_table");
542  }
543  }
544 }
545 
546 void SigTableSetup(void)
547 {
549 
564 
565  /* NOTE: the order of these currently affects inspect
566  * engine registration order and ultimately the order
567  * of inspect engines in the rule. Which in turn affects
568  * state keeping */
584 
592 
595 
599 
604 
613 
624 
629 
632  /* end of order dependent regs */
633 
635 
706  SCDetectNfsProcedureRegister();
743  SCDetectKrb5MsgTypeRegister();
761 
764 
765  DetectTransformCompressWhitespaceRegister();
766  DetectTransformStripWhitespaceRegister();
767  DetectTransformStripPseudoHeadersRegister();
768  DetectTransformMd5Register();
769  DetectTransformSha1Register();
770  DetectTransformSha256Register();
771  DetectTransformDotPrefixRegister();
773  DetectTransformUrlDecodeRegister();
774  DetectTransformXorRegister();
775  DetectTransformToLowerRegister();
776  DetectTransformToUpperRegister();
777  DetectTransformHeaderLowercaseRegister();
778  DetectTransformFromBase64DecodeRegister();
779  SCDetectTransformDomainRegister();
781 
782  DetectFileHandlerRegister();
783 
786 
788 
790  SCDetectDHCPRegister();
791  SCDetectWebsocketRegister();
792  SCDetectEnipRegister();
793  SCDetectMqttRegister();
794  SCDetectRfbRegister();
795  SCDetectSipRegister();
796  SCDetectTemplateRegister();
797  SCDetectLdapRegister();
798  SCDetectSdpRegister();
799  SCDetectDNSRegister();
800  SCDetectPgsqlRegister();
801 
802  for (size_t i = 0; i < preregistered_callbacks_nb; i++) {
803  PreregisteredCallbacks[i]();
804  }
805 
806  /* close keyword registration */
808 }
809 
810 #ifdef UNITTESTS
812 {
813  /* register the tests */
814  for (int i = 0; i < DETECT_TBLSIZE; i++) {
815  g_ut_modules++;
816  if (sigmatch_table[i].RegisterTests != NULL) {
818  g_ut_covered++;
819  } else {
820  SCLogDebug("detection plugin %s has no unittest "
821  "registration function.", sigmatch_table[i].name);
822 
823  if (coverage_unittests)
824  SCLogWarning("detection plugin %s has no unittest "
825  "registration function.",
826  sigmatch_table[i].name);
827  }
828  }
829 }
830 #endif
DETECT_TBLSIZE_STATIC
@ DETECT_TBLSIZE_STATIC
Definition: detect-engine-register.h:329
detect-tcp-flags.h
detect-ssh-hassh-server-string.h
DetectFtpReplyReceivedRegister
void DetectFtpReplyReceivedRegister(void)
Registration function for ftp.reply_received: keyword.
Definition: detect-ftp-reply-received.c:121
DetectSshVersionRegister
void DetectSshVersionRegister(void)
Registration function for keyword: ssh.protoversion.
Definition: detect-ssh-proto-version.c:39
DetectEmailRegister
void DetectEmailRegister(void)
Definition: detect-email.c:259
DetectFtpCommandDataRegister
void DetectFtpCommandDataRegister(void)
Definition: detect-ftp-command-data.c:89
DetectDceStubDataRegister
void DetectDceStubDataRegister(void)
Registers the keyword handlers for the "dce_stub_data" keyword.
Definition: detect-dce-stub-data.c:118
DetectFragBitsRegister
void DetectFragBitsRegister(void)
Registration function for fragbits: keyword.
Definition: detect-fragbits.c:66
DetectHttpHHRegister
void DetectHttpHHRegister(void)
Registers the keyword handlers for the "http_host" keyword.
Definition: detect-http-host.c:90
DetectITypeRegister
void DetectITypeRegister(void)
Registration function for itype: keyword.
Definition: detect-itype.c:57
SIGMATCH_INFO_UINT16
#define SIGMATCH_INFO_UINT16
Definition: detect.h:1688
detect-icmpv4hdr.h
DetectAppLayerEventRegister
void DetectAppLayerEventRegister(void)
Registers the keyword handlers for the "app-layer-event" keyword.
Definition: detect-app-layer-event.c:72
detect-ftp-reply-received.h
tm-threads.h
DetectDsizeRegister
void DetectDsizeRegister(void)
Registration function for dsize: keyword.
Definition: detect-dsize.c:61
SigTableElmt_::url
const char * url
Definition: detect.h:1460
DetectFlowBytesRegister
void DetectFlowBytesRegister(void)
Definition: detect-flow-pkts.c:273
detect-vlan.h
detect-content.h
detect-target.h
DetectMsgRegister
void DetectMsgRegister(void)
Definition: detect-msg.c:42
detect-quic-cyu-string.h
DetectTlsJa3HashRegister
void DetectTlsJa3HashRegister(void)
Registration function for keyword: ja3_hash.
Definition: detect-tls-ja3-hash.c:81
detect-ssh-hassh-string.h
DetectTemplateRegister
void DetectTemplateRegister(void)
Registration function for template: keyword.
Definition: detect-template.c:55
detect-engine.h
detect-app-layer-protocol.h
detect-dce-iface.h
SIGMATCH_INFO_STICKY_BUFFER
#define SIGMATCH_INFO_STICKY_BUFFER
Definition: detect.h:1674
DetectGeoipRegister
void DetectGeoipRegister(void)
Registration function for geoip keyword (no libgeoip support)
Definition: detect-geoip.c:54
detect-email.h
detect-engine-proto.h
DetectNfsVersionRegister
void DetectNfsVersionRegister(void)
Registration function for nfs_procedure keyword.
Definition: detect-nfs-version.c:62
DetectFtpCommandRegister
void DetectFtpCommandRegister(void)
Definition: detect-ftp-command.c:77
DetectXbitsRegister
void DetectXbitsRegister(void)
Definition: detect-xbits.c:73
SigTableElmt_::desc
const char * desc
Definition: detect.h:1459
DetectTlsJa3SHashRegister
void DetectTlsJa3SHashRegister(void)
Registration function for keyword: ja3s.hash.
Definition: detect-tls-ja3s-hash.c:81
detect-dsize.h
DetectRevRegister
void DetectRevRegister(void)
Definition: detect-rev.c:41
detect-noalert.h
sigmatch_table
SigTableElmt * sigmatch_table
Definition: detect-parse.c:79
detect-gid.h
DetectIkeExchTypeRegister
void DetectIkeExchTypeRegister(void)
Registration function for ike.exchtype keyword.
Definition: detect-ike-exch-type.c:50
DetectConfigRegister
void DetectConfigRegister(void)
Registers the "config" keyword for detection.
Definition: detect-config.c:74
stream-tcp-inline.h
detect-entropy.h
detect-priority.h
util-hashlist.h
DetectTcpmssRegister
void DetectTcpmssRegister(void)
Registration function for tcpmss: keyword.
Definition: detect-tcpmss.c:51
detect-filesha1.h
g_ut_modules
int g_ut_modules
Definition: suricata.c:944
detect-sid.h
DetectTlsSerialRegister
void DetectTlsSerialRegister(void)
Registration function for keyword: tls.cert_serial.
Definition: detect-tls-cert-serial.c:73
detect-engine-siggroup.h
SIGMATCH_INFO_CONTENT_MODIFIER
#define SIGMATCH_INFO_CONTENT_MODIFIER
Definition: detect.h:1672
DetectSidRegister
void DetectSidRegister(void)
Definition: detect-sid.c:41
DetectIkeNonceRegister
void DetectIkeNonceRegister(void)
Definition: detect-ike-nonce-payload.c:92
SigTableElmt_::name
const char * name
Definition: detect.h:1457
DetectSshSoftwareVersionRegister
void DetectSshSoftwareVersionRegister(void)
Registration function for keyword: ssh.softwareversion.
Definition: detect-ssh-software-version.c:39
stream-tcp.h
detect-engine-event.h
detect-tls-cert-validity.h
detect-mark.h
detect-pktvar.h
detect-nfs-version.h
DetectQuicCyuHashRegister
void DetectQuicCyuHashRegister(void)
Definition: detect-quic-cyu-hash.c:59
DetectTlsFingerprintRegister
void DetectTlsFingerprintRegister(void)
Registration function for keyword: tls.cert_fingerprint.
Definition: detect-tls-cert-fingerprint.c:73
DetectSmbNtlmsspDomainRegister
void DetectSmbNtlmsspDomainRegister(void)
Definition: detect-smb-ntlmssp.c:134
DetectHttpServerBodyRegister
void DetectHttpServerBodyRegister(void)
Registers the keyword handlers for the "http_server_body" keyword.
Definition: detect-http-server-body.c:69
detect-tls-cert-fingerprint.h
DetectHttpHeadersRegister
void DetectHttpHeadersRegister(void)
Definition: detect-http-headers.c:29
SigTableElmt_::flags
uint32_t flags
Definition: detect.h:1448
DetectHttpStartRegister
void DetectHttpStartRegister(void)
Registers the keyword handlers for the "http_start" keyword.
Definition: detect-http-start.c:183
DetectDNP3Register
void DetectDNP3Register(void)
Definition: detect-dnp3.c:446
DetectHttpUriRegister
void DetectHttpUriRegister(void)
Registration function for keywords: http_uri and http.uri.
Definition: detect-http-uri.c:86
DetectGidRegister
void DetectGidRegister(void)
Registration function for gid: keyword.
Definition: detect-gid.c:49
detect-ike-nonce-payload-length.h
SCLogDebug
#define SCLogDebug(...)
Definition: util-debug.h:279
DetectHttpRequestHeaderRegister
void DetectHttpRequestHeaderRegister(void)
Definition: detect-http-header.c:584
detect-isdataat.h
detect-ftp-reply.h
detect-ssh-software.h
DetectQuicUaRegister
void DetectQuicUaRegister(void)
Registration function for quic.ua: keyword.
Definition: detect-quic-ua.c:71
DetectIPProtoRegister
void DetectIPProtoRegister(void)
Registration function for ip_proto keyword.
Definition: detect-ipproto.c:60
SigTableSetup
void SigTableSetup(void)
Definition: detect-engine-register.c:546
detect-classtype.h
detect-smb-share.h
util-lua.h
DetectICMPv6hdrRegister
void DetectICMPv6hdrRegister(void)
Registration function for icmpv6.hdr: keyword.
Definition: detect-icmpv6hdr.c:52
DetectSshHasshRegister
void DetectSshHasshRegister(void)
Registration function for hassh keyword.
Definition: detect-ssh-hassh.c:151
DetectTlsJa3StringRegister
void DetectTlsJa3StringRegister(void)
Registration function for keyword: ja3.string.
Definition: detect-tls-ja3-string.c:80
TM_ECODE_DONE
@ TM_ECODE_DONE
Definition: tm-threads-common.h:83
detect-bsize.h
action-globals.h
DetectTlsRandomRegister
void DetectTlsRandomRegister(void)
Registration function for keyword: tls.random.
Definition: detect-tls-random.c:112
DetectFtpReplyRegister
void DetectFtpReplyRegister(void)
Definition: detect-ftp-reply.c:90
DetectPriorityRegister
void DetectPriorityRegister(void)
Registers the handler functions for the "priority" keyword.
Definition: detect-priority.c:49
detect-smb-ntlmssp.h
DetectHttpRawHeaderRegister
void DetectHttpRawHeaderRegister(void)
Registers the keyword handlers for the "http_raw_header" keyword.
Definition: detect-http-raw-header.c:80
DetectDceIfaceRegister
void DetectDceIfaceRegister(void)
Registers the keyword handlers for the "dce_iface" keyword.
Definition: detect-dce-iface.c:66
flow-private.h
DetectFilesizeRegister
void DetectFilesizeRegister(void)
Registration function for filesize: keyword.
Definition: detect-filesize.c:61
detect-ftp-completion-code.h
DetectHttpProtocolRegister
void DetectHttpProtocolRegister(void)
Registers the keyword handlers for the "http.protocol" keyword.
Definition: detect-http-protocol.c:157
DetectFragOffsetRegister
void DetectFragOffsetRegister(void)
Registration function for fragoffset.
Definition: detect-fragoffset.c:60
DetectRpcRegister
void DetectRpcRegister(void)
Registration function for rpc keyword.
Definition: detect-rpc.c:61
detect-tcpmss.h
SigTableInit
void SigTableInit(void)
Definition: detect-engine-register.c:534
DetectVlanLayersRegister
void DetectVlanLayersRegister(void)
Definition: detect-vlan.c:210
DetectSameipRegister
void DetectSameipRegister(void)
Registration function for sameip: keyword.
Definition: detect-sameip.c:50
detect-template2.h
DetectSmbVersionRegister
void DetectSmbVersionRegister(void)
Registers the keyword handlers for the "smb_version" keyword.
Definition: detect-smb-version.c:135
detect-ftpbounce.h
detect-transform-luaxform.h
detect-ssh-hassh-server.h
g_ut_covered
int g_ut_covered
Definition: suricata.c:945
DetectSshHasshStringRegister
void DetectSshHasshStringRegister(void)
Registration function for hassh.string keyword.
Definition: detect-ssh-hassh-string.c:123
DetectIcmpv4HdrRegister
void DetectIcmpv4HdrRegister(void)
Registration function for icmpv4.hdr: keyword.
Definition: detect-icmpv4hdr.c:48
detect-tls-ja3-string.h
detect-filemd5.h
SIGMATCH_DEONLY_COMPAT
#define SIGMATCH_DEONLY_COMPAT
Definition: detect.h:1653
detect-tls-random.h
detect-tcp-seq.h
detect-http-header.h
detect-lua.h
detect-flowint.h
flow-bit.h
DetectTcphdrRegister
void DetectTcphdrRegister(void)
Registration function for tcp.hdr: keyword.
Definition: detect-tcphdr.c:51
util-var-name.h
detect-dnp3.h
rust.h
detect-http-client-body.h
DetectFlowBytesToClientRegister
void DetectFlowBytesToClientRegister(void)
Definition: detect-flow-pkts.c:295
DetectDatarepRegister
void DetectDatarepRegister(void)
Definition: detect-datarep.c:53
DetectFlowBytesToServerRegister
void DetectFlowBytesToServerRegister(void)
Definition: detect-flow-pkts.c:283
detect-file-data.h
util-privs.h
DetectHostbitsRegister
void DetectHostbitsRegister(void)
Definition: detect-hostbits.c:81
DetectRegisterAppLayerHookLists
void DetectRegisterAppLayerHookLists(void)
register app hooks as generic lists
Definition: detect-parse.c:1152
detect-flow-age.h
DetectTlsValidityRegister
void DetectTlsValidityRegister(void)
Registration function for tls validity keywords.
Definition: detect-tls-cert-validity.c:80
DetectIpOptsRegister
void DetectIpOptsRegister(void)
Registration function for ipopts: keyword.
Definition: detect-ipopts.c:47
DetectSshHasshServerRegister
void DetectSshHasshServerRegister(void)
Registration function for hasshServer keyword.
Definition: detect-ssh-hassh-server.c:151
detect-dns-name.h
detect-icmpv6-mtu.h
detect-rev.h
DetectUricontentRegister
void DetectUricontentRegister(void)
Registration function for uricontent: keyword.
Definition: detect-uricontent.c:67
SIGMATCH_SUPPORT_FIREWALL
#define SIGMATCH_SUPPORT_FIREWALL
Definition: detect.h:1680
detect-tag.h
ARRAY_CAP_STEP
#define ARRAY_CAP_STEP
Definition: detect-engine-register.c:509
detect-ftpdata.h
detect-tls-sni.h
detect-engine-payload.h
DetectMetadataRegister
void DetectMetadataRegister(void)
Definition: detect-metadata.c:44
detect-l3proto.h
TM_ECODE_FAILED
@ TM_ECODE_FAILED
Definition: tm-threads-common.h:82
SigTableElmt_
element in sigmatch type table.
Definition: detect.h:1417
DetectFlowPktsRegister
void DetectFlowPktsRegister(void)
Definition: detect-flow-pkts.c:155
detect-pcre.h
DetectHttpHeaderNamesRegister
void DetectHttpHeaderNamesRegister(void)
Registers the keyword handlers for the "http.header_names" keyword.
Definition: detect-http-header-names.c:211
detect-depth.h
SCSigTablePreRegister
int SCSigTablePreRegister(void(*KeywordsRegister)(void))
Definition: detect-engine-register.c:518
detect-engine-prefilter.h
detect-icmpv6hdr.h
DetectFilemagicRegister
void DetectFilemagicRegister(void)
Registration function for keyword: filemagic.
Definition: detect-filemagic.c:74
util-unittest.h
DetectTlsSniRegister
void DetectTlsSniRegister(void)
Registration function for keyword: tls.sni.
Definition: detect-tls-sni.c:66
DetectTargetRegister
void DetectTargetRegister(void)
Registration function for target keyword.
Definition: detect-target.c:51
DetectBufferTypeCloseRegistration
void DetectBufferTypeCloseRegistration(void)
Definition: detect-engine.c:1647
detect-filename.h
util-unittest-helper.h
detect-stream_size.h
detect-http-ua.h
detect-asn1.h
detect-flowvar.h
detect-base64-data.h
detect-krb5-errcode.h
SigTableRegisterTests
void SigTableRegisterTests(void)
Definition: detect-engine-register.c:811
detect-udphdr.h
detect-http-protocol.h
detect-reference.h
DetectHttpResponseHeaderRegister
void DetectHttpResponseHeaderRegister(void)
Definition: detect-http-header.c:617
detect-rpc.h
detect-ftp-dynamic-port.h
detect-sameip.h
SIGMATCH_INFO_UINT32
#define SIGMATCH_INFO_UINT32
Definition: detect.h:1690
detect-dce-stub-data.h
DetectSeqRegister
void DetectSeqRegister(void)
Registration function for ack: keyword.
Definition: detect-tcp-seq.c:53
DetectAsn1Register
void DetectAsn1Register(void)
Registration function for asn1.
Definition: detect-asn1.c:48
DetectFlowAgeRegister
void DetectFlowAgeRegister(void)
Definition: detect-flow-age.c:89
DetectBsizeRegister
void DetectBsizeRegister(void)
Registration function for bsize: keyword.
Definition: detect-bsize.c:100
DetectSmbShareRegister
void DetectSmbShareRegister(void)
Definition: detect-smb-share.c:139
app-layer-htp.h
detect-xbits.h
DetectFlowPktsToClientRegister
void DetectFlowPktsToClientRegister(void)
Definition: detect-flow-pkts.c:181
detect-app-layer-event.h
DetectBytejumpRegister
void DetectBytejumpRegister(void)
Definition: detect-bytejump.c:73
detect-ike-nonce-payload.h
decode.h
DetectICMPv6mtuRegister
void DetectICMPv6mtuRegister(void)
Registration function for icmpv6.mtu: keyword.
Definition: detect-icmpv6-mtu.c:48
detect-ssh-hassh.h
util-debug.h
detect-transform-pcrexform.h
SigTableCleanup
void SigTableCleanup(void)
Definition: detect-engine-register.c:494
detect-http-header-names.h
DetectTlsVersionRegister
void DetectTlsVersionRegister(void)
Registration function for keyword: tls.version.
Definition: detect-tls-version.c:73
DetectReplaceRegister
void DetectReplaceRegister(void)
Definition: detect-replace.c:58
detect-detection-filter.h
DetectICodeRegister
void DetectICodeRegister(void)
Registration function for icode: keyword.
Definition: detect-icode.c:60
detect-iprep.h
detect-rawbytes.h
DetectWindowRegister
void DetectWindowRegister(void)
Registration function for window: keyword.
Definition: detect-tcp-window.c:59
detect-http2.h
DetectL3ProtoRegister
void DetectL3ProtoRegister(void)
Registration function for ip_proto keyword.
Definition: detect-l3proto.c:54
SIGMATCH_INFO_MULTI_UINT
#define SIGMATCH_INFO_MULTI_UINT
Definition: detect.h:1694
detect-fragbits.h
SCDetectSMTPRegister
void SCDetectSMTPRegister(void)
Definition: detect-smtp.c:129
DetectKrb5ErrCodeRegister
void DetectKrb5ErrCodeRegister(void)
Registration function for krb5_err_code: keyword.
Definition: detect-krb5-errcode.c:58
detect-ipv6hdr.h
DetectWithinRegister
void DetectWithinRegister(void)
Definition: detect-within.c:52
DetectContentRegister
void DetectContentRegister(void)
Definition: detect-content.c:59
SigTableElmt_::Cleanup
void(* Cleanup)(struct SigTableElmt_ *)
Definition: detect.h:1463
detect-http-response-line.h
detect-tos.h
util-print.h
DetectSshProtocolRegister
void DetectSshProtocolRegister(void)
Definition: detect-ssh-proto.c:96
detect-filemagic.h
detect-engine-mpm.h
DetectIcmpIdRegister
void DetectIcmpIdRegister(void)
Registration function for icode: icmp_id.
Definition: detect-icmp-id.c:59
DETECT_TBLSIZE_IDX
int DETECT_TBLSIZE_IDX
Definition: detect-engine-register.c:289
detect.h
DetectSslStateRegister
void DetectSslStateRegister(void)
Registers the keyword handlers for the "ssl_state" keyword.
Definition: detect-ssl-state.c:73
detect-http-start.h
DetectLuaRegister
void DetectLuaRegister(void)
Registration function for keyword: lua.
Definition: detect-lua.c:83
detect-ja4-hash.h
DetectDnsNameRegister
void DetectDnsNameRegister(void)
Definition: detect-dns-name.c:127
pkt-var.h
DetectIkeVendorRegister
void DetectIkeVendorRegister(void)
Registration function for ike.vendor keyword.
Definition: detect-ike-vendor.c:46
detect-quic-version.h
DetectFiledataRegister
void DetectFiledataRegister(void)
Registration function for keyword: file_data.
Definition: detect-file-data.c:148
detect-prefilter.h
DetectIpv6hdrRegister
void DetectIpv6hdrRegister(void)
Registration function for ipv6.hdr: keyword.
Definition: detect-ipv6hdr.c:51
DetectIkeKeyExchangeRegister
void DetectIkeKeyExchangeRegister(void)
Definition: detect-ike-key-exchange-payload.c:92
detect-http-uri.h
detect-tcp-window.h
detect-engine-port.h
DetectIcmpSeqRegister
void DetectIcmpSeqRegister(void)
Registration function for icmp_seq.
Definition: detect-icmp-seq.c:58
DetectIdRegister
void DetectIdRegister(void)
Registration function for keyword: id.
Definition: detect-id.c:65
DetectHttpUARegister
void DetectHttpUARegister(void)
Registers the keyword handlers for the "http_user_agent" keyword.
Definition: detect-http-ua.c:80
SigTableHasKeyword
bool SigTableHasKeyword(const char *keyword)
Check if a keyword exists.
Definition: detect-engine-register.c:390
detect-ike-vendor.h
DetectTransformLuaxformRegister
void DetectTransformLuaxformRegister(void)
Definition: detect-transform-luaxform.c:368
SCLogWarning
#define SCLogWarning(...)
Macro used to log WARNING messages.
Definition: util-debug.h:259
detect-itype.h
DetectFlowPktsToServerRegister
void DetectFlowPktsToServerRegister(void)
Definition: detect-flow-pkts.c:167
detect-requires.h
detect-engine-profile.h
DetectTcpWscaleRegister
void DetectTcpWscaleRegister(void)
Registration function for tcp.wscale keyword.
Definition: detect-tcp-wscale.c:47
DetectPktDataRegister
void DetectPktDataRegister(void)
Registration function for keyword: file_data.
Definition: detect-pkt-data.c:53
util-profiling.h
util-rule-vars.h
DetectRequiresRegister
void DetectRequiresRegister(void)
Definition: detect-requires.c:44
detect-frame.h
DetectFlowbitsRegister
void DetectFlowbitsRegister(void)
Definition: detect-flowbits.c:71
DetectDatasetRegister
void DetectDatasetRegister(void)
Definition: detect-dataset.c:55
DetectUdphdrRegister
void DetectUdphdrRegister(void)
Registration function for udp.hdr: keyword.
Definition: detect-udphdr.c:50
conf-yaml-loader.h
DetectBytetestRegister
void DetectBytetestRegister(void)
Definition: detect-bytetest.c:78
DetectTlsSubjectAltNameRegister
void DetectTlsSubjectAltNameRegister(void)
Registration function for keyword: tls.subjectaltname.
Definition: detect-tls-subjectaltname.c:83
detect-modbus.h
DetectDepthRegister
void DetectDepthRegister(void)
Definition: detect-depth.c:48
detect-bytejump.h
detect-id.h
conf.h
detect-engine-alert.h
DetectSipMethodRegister
void DetectSipMethodRegister(void)
Definition: detect-sip-method.c:128
detect-ike-spi.h
detect-ipproto.h
DetectTransformPcrexformRegister
void DetectTransformPcrexformRegister(void)
Definition: detect-transform-pcrexform.c:58
SIGMATCH_INFO_BITFLAGS_UINT
#define SIGMATCH_INFO_BITFLAGS_UINT
Definition: detect.h:1698
detect-tcp-wscale.h
name
const char * name
Definition: tm-threads.c:2163
detect-krb5-ticket-encryption.h
detect-engine-state.h
Data structures and function prototypes for keeping state for the detection engine.
detect-filestore.h
detect-http-stat-code.h
detect-replace.h
detect-krb5-cname.h
DetectMarkRegister
void DetectMarkRegister(void)
Registration function for nfq_set_mark: keyword.
Definition: detect-mark.c:57
DetectReferenceRegister
void DetectReferenceRegister(void)
Registration function for the reference: keyword.
Definition: detect-reference.c:61
detect-sip-method.h
DetectFileSha256Register
void DetectFileSha256Register(void)
Registration function for keyword: filesha256.
Definition: detect-filesha256.c:44
DetectPrefilterRegister
void DetectPrefilterRegister(void)
Definition: detect-prefilter.c:38
util-mpm-ac.h
detect-krb5-sname.h
DetectTlsCertsRegister
void DetectTlsCertsRegister(void)
Registration function for keyword: tls.certs.
Definition: detect-tls-certs.c:104
DetectFtpbounceRegister
void DetectFtpbounceRegister(void)
Registration function for ftpbounce: keyword.
Definition: detect-ftpbounce.c:61
detect-flowbits.h
runmodes.h
DetectFtpCompletionCodeRegister
void DetectFtpCompletionCodeRegister(void)
Definition: detect-ftp-completion-code.c:87
DetectKrb5TicketEncryptionRegister
void DetectKrb5TicketEncryptionRegister(void)
Definition: detect-krb5-ticket-encryption.c:68
detect-ssl-version.h
detect-offset.h
DetectOffsetRegister
void DetectOffsetRegister(void)
Definition: detect-offset.c:46
detect-nocase.h
detect-http-host.h
detect-fragoffset.h
detect-ttl.h
SCDetectHelperKeywordSetCleanCString
void SCDetectHelperKeywordSetCleanCString(uint16_t id)
Definition: detect-engine-register.c:489
DetectSshSoftwareRegister
void DetectSshSoftwareRegister(void)
Definition: detect-ssh-software.c:97
DetectQuicSniRegister
void DetectQuicSniRegister(void)
Registration function for quic.sni: keyword.
Definition: detect-quic-sni.c:71
detect-smtp.h
SCRealloc
#define SCRealloc(ptr, sz)
Definition: util-mem.h:50
detect-engine-analyzer.h
DetectSipUriRegister
void DetectSipUriRegister(void)
Definition: detect-sip-uri.c:101
detect-engine-content-inspection.h
detect-quic-cyu-hash.h
detect-http-server-body.h
detect-ssh-software-version.h
detect-bypass.h
DetectBypassRegister
void DetectBypassRegister(void)
Registration function for keyword: bypass.
Definition: detect-bypass.c:59
DetectAckRegister
void DetectAckRegister(void)
Registration function for ack: keyword.
Definition: detect-tcp-ack.c:56
DetectFilestoreRegister
void DetectFilestoreRegister(void)
Registration function for keyword: filestore.
Definition: detect-filestore.c:79
DetectAppLayerStateRegister
void DetectAppLayerStateRegister(void)
Definition: detect-app-layer-state.c:64
DetectTlsRegister
void DetectTlsRegister(void)
Registration function for keyword: tls.version.
Definition: detect-tls.c:101
DetectTagRegister
void DetectTagRegister(void)
Registration function for keyword tag.
Definition: detect-tag.c:69
DetectHttpResponseLineRegister
void DetectHttpResponseLineRegister(void)
Registers the keyword handlers for the "http_response_line" keyword.
Definition: detect-http-response-line.c:99
detect-ike-key-exchange-payload.h
detect-fast-pattern.h
DetectTlsIssuerRegister
void DetectTlsIssuerRegister(void)
Registration function for keyword: tls.cert_issuer.
Definition: detect-tls-cert-issuer.c:69
DetectSmbNtlmsspUserRegister
void DetectSmbNtlmsspUserRegister(void)
Definition: detect-smb-ntlmssp.c:77
detect-ssh-proto-version.h
DetectBase64DataRegister
void DetectBase64DataRegister(void)
Definition: detect-base64-data.c:33
flags
uint8_t flags
Definition: decode-gre.h:0
DetectHttpStatCodeRegister
void DetectHttpStatCodeRegister(void)
Registration function for keyword: http_stat_code.
Definition: detect-http-stat-code.c:82
DetectDceOpnumRegister
void DetectDceOpnumRegister(void)
Registers the keyword handlers for the "dce_opnum" keyword.
Definition: detect-dce-opnum.c:70
DetectKrb5CNameRegister
void DetectKrb5CNameRegister(void)
Definition: detect-krb5-cname.c:53
DetectHttpHeaderRegister
void DetectHttpHeaderRegister(void)
Registers the keyword handlers for the "http_header" keyword.
Definition: detect-http-header.c:403
detect-tls.h
suricata-common.h
detect-smb-version.h
util-path.h
detect-byte-extract.h
DETECT_TBLSIZE_STEP
#define DETECT_TBLSIZE_STEP
Definition: detect-engine-register.h:335
DetectTlsAlpnRegister
void DetectTlsAlpnRegister(void)
Registration function for keyword: tls.alpn.
Definition: detect-tls-alpn.c:85
detect-metadata.h
DetectKrb5SNameRegister
void DetectKrb5SNameRegister(void)
Definition: detect-krb5-sname.c:53
DetectHttpClientBodyRegister
void DetectHttpClientBodyRegister(void)
Registers the keyword handlers for the "http_client_body" keyword.
Definition: detect-http-client-body.c:85
detect-ftp-command.h
DetectIkeSpiRegister
void DetectIkeSpiRegister(void)
Definition: detect-ike-spi.c:129
detect-http-headers.h
DetectCsumRegister
void DetectCsumRegister(void)
Registers handlers for all the checksum keywords. The checksum keywords that are registered are ipv4-...
Definition: detect-csum.c:139
DetectUrilenRegister
void DetectUrilenRegister(void)
Registration function for urilen: keyword.
Definition: detect-urilen.c:61
detect-tls-cert-subject.h
DetectFtpDynamicPortRegister
void DetectFtpDynamicPortRegister(void)
Definition: detect-ftp-dynamic-port.c:98
DetectIkeNoncePayloadLengthRegister
void DetectIkeNoncePayloadLengthRegister(void)
Registration function for ike.nonce_payload_length keyword.
Definition: detect-ike-nonce-payload-length.c:49
detect-tls-version.h
detect-dataset.h
SIGMATCH_INFO_UINT64
#define SIGMATCH_INFO_UINT64
Definition: detect.h:1692
detect-template.h
util-classification-config.h
DetectHttp2Register
void DetectHttp2Register(void)
Registration function for HTTP2 keywords.
Definition: detect-http2.c:104
FatalError
#define FatalError(...)
Definition: util-debug.h:514
DetectIpv4hdrRegister
void DetectIpv4hdrRegister(void)
Registration function for ipv4.hdr: keyword.
Definition: detect-ipv4hdr.c:51
DetectHttpRequestLineRegister
void DetectHttpRequestLineRegister(void)
Registers the keyword handlers for the "http_request_line" keyword.
Definition: detect-http-request-line.c:99
DetectFileSha1Register
void DetectFileSha1Register(void)
Registration function for keyword: filesha1.
Definition: detect-filesha1.c:44
DetectFlowRegister
void DetectFlowRegister(void)
Registration function for flow: keyword.
Definition: detect-flow.c:65
detect-hostbits.h
DetectSshHasshServerStringRegister
void DetectSshHasshServerStringRegister(void)
Registration function for hasshServer.string keyword.
Definition: detect-ssh-hassh-server-string.c:123
DetectRawbytesRegister
void DetectRawbytesRegister(void)
Definition: detect-rawbytes.c:43
DetectEntropyRegister
void DetectEntropyRegister(void)
Definition: detect-entropy.c:88
detect-sip-uri.h
DetectTosRegister
void DetectTosRegister(void)
Register Tos keyword.
Definition: detect-tos.c:64
util-optimize.h
detect-ike-exch-type.h
detect-tls-alpn.h
SIGMATCH_INFO_MULTI_BUFFER
#define SIGMATCH_INFO_MULTI_BUFFER
Definition: detect.h:1684
detect-tls-certs.h
util-validate.h
DetectBytemathRegister
void DetectBytemathRegister(void)
Registers the keyword handlers for the "byte_math" keyword.
Definition: detect-bytemath.c:71
detect-flow.h
detect-quic-ua.h
detect-base64-decode.h
DetectEngineEventRegister
void DetectEngineEventRegister(void)
Registration function for decode-event: keyword.
Definition: detect-engine-event.c:127
DetectFlagsRegister
void DetectFlagsRegister(void)
Registration function for flags: keyword.
Definition: detect-tcp-flags.c:61
detect-http-raw-header.h
detect-engine-sigorder.h
detect-quic-sni.h
DetectFlowvarRegister
void DetectFlowvarRegister(void)
Definition: detect-flowvar.c:54
detect-tcp-ack.h
detect-http-method.h
detect-within.h
DetectNoalertRegister
void DetectNoalertRegister(void)
Definition: detect-noalert.c:49
detect-tls-cert-issuer.h
DETECT_TBLSIZE
int DETECT_TBLSIZE
Definition: detect-engine-register.c:288
detect-datarep.h
detect-http-request-line.h
SCFree
#define SCFree(p)
Definition: util-mem.h:61
DetectQuicCyuStringRegister
void DetectQuicCyuStringRegister(void)
Definition: detect-quic-cyu-string.c:57
SigTableElmt_::SupportsPrefilter
bool(* SupportsPrefilter)(const Signature *s)
Definition: detect.h:1441
DetectQuicVersionRegister
void DetectQuicVersionRegister(void)
Registration function for quic.version: keyword.
Definition: detect-quic-version.c:71
detect-tcphdr.h
detect-tls-ja3s-hash.h
DetectSmbNamedPipeRegister
void DetectSmbNamedPipeRegister(void)
Definition: detect-smb-share.c:78
DetectStreamSizeRegister
void DetectStreamSizeRegister(void)
Registration function for stream_size: keyword.
Definition: detect-stream_size.c:58
detect-engine-iponly.h
detect-parse.h
detect-ftp-command-data.h
DetectDetectionFilterRegister
void DetectDetectionFilterRegister(void)
Registration function for detection_filter: keyword.
Definition: detect-detection-filter.c:67
detect-icode.h
detect-pkt-data.h
detect-threshold.h
DetectDistanceRegister
void DetectDistanceRegister(void)
Definition: detect-distance.c:56
DetectTlsJa3SStringRegister
void DetectTlsJa3SStringRegister(void)
Registration function for keyword: ja3s.string.
Definition: detect-tls-ja3s-string.c:80
SIGMATCH_INFO_UINT8
#define SIGMATCH_INFO_UINT8
Definition: detect.h:1686
detect-geoip.h
detect-ssh-proto.h
DetectThresholdRegister
void DetectThresholdRegister(void)
Registration function for threshold: keyword.
Definition: detect-threshold.c:86
detect-tls-ja3-hash.h
DetectFlowintRegister
void DetectFlowintRegister(void)
Definition: detect-flowint.c:67
detect-filesize.h
DetectByteExtractRegister
void DetectByteExtractRegister(void)
Registers the keyword handlers for the "byte_extract" keyword.
Definition: detect-byte-extract.c:69
detect-icmp-id.h
DetectAppLayerProtocolRegister
void DetectAppLayerProtocolRegister(void)
Definition: detect-app-layer-protocol.c:397
app-layer-protos.h
detect-ssl-state.h
detect-ipopts.h
DetectTlsCertChainLenRegister
void DetectTlsCertChainLenRegister(void)
Definition: detect-tls-certs.c:238
detect-tls-ja3s-string.h
detect-urilen.h
suricata.h
DetectIPAddrBufferRegister
void DetectIPAddrBufferRegister(void)
Definition: detect-ipaddr.c:53
detect-ipv4hdr.h
GetDocURL
const char * GetDocURL(void)
Definition: suricata.c:1165
DetectFastPatternRegister
void DetectFastPatternRegister(void)
Registration function for fast_pattern keyword.
Definition: detect-fast-pattern.c:184
DetectHttpStatMsgRegister
void DetectHttpStatMsgRegister(void)
Registration function for keyword: http_stat_msg.
Definition: detect-http-stat-msg.c:92
DetectVlanIdRegister
void DetectVlanIdRegister(void)
Definition: detect-vlan.c:132
DetectPktvarRegister
void DetectPktvarRegister(void)
Definition: detect-pktvar.c:48
detect-uricontent.h
DetectSslVersionRegister
void DetectSslVersionRegister(void)
Registration function for keyword: ssl_version.
Definition: detect-ssl-version.c:67
DetectModbusRegister
void DetectModbusRegister(void)
Registration function for Modbus keyword.
Definition: detect-modbus.c:120
detect-flow-pkts.h
SIGMATCH_NOOPT
#define SIGMATCH_NOOPT
Definition: detect.h:1649
detect-dns-response.h
detect-tls-cert-serial.h
detect-csum.h
id
uint32_t id
Definition: detect-flowbits.c:938
DetectDnsResponseRegister
void DetectDnsResponseRegister(void)
Definition: detect-dns-response.c:352
DetectFtpModeRegister
void DetectFtpModeRegister(void)
Definition: detect-ftp-mode.c:121
app-layer-smtp.h
DetectNocaseRegister
void DetectNocaseRegister(void)
Definition: detect-nocase.c:39
DetectJa4HashRegister
void DetectJa4HashRegister(void)
Registration function for keyword: ja4.hash.
Definition: detect-ja4-hash.c:67
coverage_unittests
int coverage_unittests
Definition: suricata.c:943
detect-app-layer-state.h
detect-ike-chosen-sa.h
detect-distance.h
flow.h
DetectBase64DecodeRegister
void DetectBase64DecodeRegister(void)
Definition: detect-base64-decode.c:48
SigTableElmt_::Transform
void(* Transform)(DetectEngineThreadCtx *, InspectionBuffer *, void *context)
Definition: detect.h:1432
detect-ipaddr.h
DetectFilenameRegister
void DetectFilenameRegister(void)
Registration function for keyword: filename.
Definition: detect-filename.c:80
detect-ike-key-exchange-payload-length.h
DetectIPRepRegister
void DetectIPRepRegister(void)
Definition: detect-iprep.c:63
DetectIkeChosenSaRegister
void DetectIkeChosenSaRegister(void)
Registration function for ike.ChosenSa keyword.
Definition: detect-ike-chosen-sa.c:66
detect-engine-dcepayload.h
SCCalloc
#define SCCalloc(nm, sz)
Definition: util-mem.h:53
DetectIkeKeyExchangePayloadLengthRegister
void DetectIkeKeyExchangePayloadLengthRegister(void)
Registration function for ike.key_exchange_payload_length keyword.
Definition: detect-ike-key-exchange-payload-length.c:49
detect-config.h
SIGMATCH_INFO_ENUM_UINT
#define SIGMATCH_INFO_ENUM_UINT
Definition: detect.h:1696
DetectFileRegisterFileProtocols
void DetectFileRegisterFileProtocols(DetectFileHandlerTableElmt *reg)
Definition: detect-file-data.c:118
DetectFtpdataRegister
void DetectFtpdataRegister(void)
Registration function for ftpcommand: keyword.
Definition: detect-ftpdata.c:59
detect-tls-subjectaltname.h
DetectHttpMethodRegister
void DetectHttpMethodRegister(void)
Registration function for keyword: http_method.
Definition: detect-http-method.c:81
SIGMATCH_IPONLY_COMPAT
#define SIGMATCH_IPONLY_COMPAT
Definition: detect.h:1651
DetectTtlRegister
void DetectTtlRegister(void)
Registration function for ttl: keyword.
Definition: detect-ttl.c:54
DetectTemplate2Register
void DetectTemplate2Register(void)
Registration function for template2: keyword.
Definition: detect-template2.c:51
DetectTlsSubjectRegister
void DetectTlsSubjectRegister(void)
Registration function for keyword: tls.cert_subject.
Definition: detect-tls-cert-subject.c:69
detect-http-stat-msg.h
DetectPcreRegister
void DetectPcreRegister(void)
Definition: detect-pcre.c:97
filehandler_table
DetectFileHandlerTableElmt filehandler_table[DETECT_TBLSIZE_STATIC]
Definition: detect-file-data.c:78
DetectClasstypeRegister
void DetectClasstypeRegister(void)
Registers the handler functions for the "Classtype" keyword.
Definition: detect-classtype.c:51
detect-engine-address.h
detect-dce-opnum.h
util-threshold-config.h
SigTableList
int SigTableList(const char *keyword)
Definition: detect-engine-register.c:407
SigTableElmt_::RegisterTests
void(* RegisterTests)(void)
Definition: detect.h:1446
detect-engine-threshold.h
DetectIsdataatRegister
void DetectIsdataatRegister(void)
Registration function for isdataat: keyword.
Definition: detect-isdataat.c:157
detect-icmp-seq.h
detect-bytemath.h
app-layer.h
detect-bytetest.h
DetectFileMd5Register
void DetectFileMd5Register(void)
Registration function for keyword: filemd5.
Definition: detect-filemd5.c:44
detect-ftp-mode.h
detect-filesha256.h
DetectFrameRegister
void DetectFrameRegister(void)
Registration function for keyword: ja3_hash.
Definition: detect-frame.c:188
detect-msg.h