Commit Graph

366 Commits (9b2717799cc4eaa86e1c8d81be451e009961d822)

Author SHA1 Message Date
Anoop Saldanha e7ac1d7c4c move pcap file runmode into its own file runmode-pcap-file.[ch] 16 years ago
Anoop Saldanha f6af567ce0 move pcap live runmode into its own file runmode-pcap.[ch] 16 years ago
Eric Leblond 9beebf621a Add support for 'nfq_set_mark' keyword
This patch introduces 'nfq_set_mark' which is new rules option. If a packet
matches a rule using nfq_set_mark in NFQ mode, it is marked with the mark/mask
specified in the option during the verdict.
It is thus possible to trigger different behaviour on the packet inside
Linux/Netfilter.
16 years ago
William Metcalf 023a0f94a2 first stab at pcap logging no rotating buff etc 16 years ago
Anoop Saldanha c105a739e9 support for ssl_state keyword added 16 years ago
Anoop Saldanha 4c570777c4 delete files app-layer-tls.[ch] 16 years ago
Eric Leblond e1d966eaf6 Makefile: add sctp files to build
This patch simply adds decode-sctp files to the compilation.
16 years ago
Gurvinder Singh 7d0781b349 added support to log dropped packet as netfilter logs while in inline mode 16 years ago
Gurvinder Singh 8f8b1212af support for ssl_version keyword 16 years ago
Victor Julien 35b938a8db Don't pass config to unittests run in make check. 16 years ago
Eric Leblond 0044bb221b Add suricata unittests to 'make check'
This patch adds a run of suricata's unittests to 'make check'
16 years ago
Gurvinder Singh e5edc6e8e3 add the support to log the fast.log alerts type to syslog 16 years ago
Eric Leblond 37ee483b75 Add affinity util function and related files
This patch adds two new files which implement advanced affinity
settings.

Signed-off-by: Eric Leblond <eric@regit.org>
16 years ago
Victor Julien 3a774165fa Initial version of a inline raw reassembly function that reassembles in a sliding window. Introduce new unittest helpers for stream reassembly. 16 years ago
Victor Julien 2849d2b1d3 Initial code for stream 'inline' mode: packets that are (partly) overlapping with already accepted packets (meaning in the streams seg list) are rewritten to make sure they contain the exact same data. 16 years ago
Anoop Saldanha c9897a44a4 fast pattern support for http_cookie. Also support relative modifiers 16 years ago
Anoop Saldanha bbbedaf963 fast pattern support for http_method. Also support relative modifiers 16 years ago
Eric Leblond 3eada85ff8 Add interface setting discovery via ioctl
This patch adds support for MTU discovery of link following idea
of go.ph1g. It also adds some function to give a approximation of
link header length.
16 years ago
Anoop Saldanha eecf2d7e13 Add the makefile.am addition that I forgot to add in the previous commit for http_raw_header 16 years ago
Anoop Saldanha c61c68fd36 mpm and fast pattern support for http_header. Also support relative modifiers for http_header 16 years ago
Anoop Saldanha 5c6a65dc58 support relative modifiers for http_client_body. Introduce body processing engine in detect-engine-hcbd.[ch] 16 years ago
Gurvinder Singh b7da115e6d support for http_stat_code keyword has been added to detection module 16 years ago
Gurvinder Singh 1deae70cf7 added http_stat_msg keyword support for detection module 16 years ago
Anoop Saldanha 88d94b136d Support for reference.config file 16 years ago
Anoop Saldanha 658ff5753d aho-corasick for the cpu. We have 2 versions of ac. The first MPM_AC uses the delta table and the secone one MPM_AC_GFBS uses the goto-failure table 16 years ago
Gurvinder Singh 3eab715153 support for printing protocol names for known protocol 16 years ago
Victor Julien 1859ed54c7 Add memcmp api with a plain memcmp function and a SSE3 accelerated memcmp. 16 years ago
Victor Julien 87f88867f4 Further improve B2gc. Add B2gm. Improve memory layout. 16 years ago
Victor Julien 9dfbab42f8 WIP B2gc 16 years ago
Pablo Rincon 9d7baa7a9f Adding ssh app layer module with two new keywords: ssh.protoversion and ssh.softwareversion 16 years ago
Anoop Saldanha 33f4beb0bc batching of packets support for cuda b2g mpm. Supported for both 32 and 64 bit platforms 16 years ago
Victor Julien e685579231 Add optional structure validation code. 16 years ago
Pablo Rincon eed0ef6e69 Adding tag keyword support 16 years ago
Kirby Kuehl c3b9305259 dcerpc udp support 16 years ago
Anoop Saldanha 45ea0d914e dce stub content keywords support using dcepayload.c support for all dce related content keywords 16 years ago
Jason MacLulich 835630efbd Add initial support for reading packets from a DAG card, we only support reading from a single stream at this time.
Use the --dag <dagname> cmd line option to specify from which DAG card to read pkts
from.

Issue at the moment with pkts being ejected during shutdown -- at the moment we
ignore any packets that are not of link type Ethernet.
16 years ago
Ondrej Slanina 6bf7d76005 added possibility to run suricata as WIN32 service 16 years ago
Victor Julien 0140a14a15 Introduce atomic operations API that supports GCC's atomic operations and a fallback using (spin)locks. Convert ringbuffer api to use the new atomic api. 16 years ago
Gerardo Iglesias Galvan 55dfa36963 Add support for http_uri keyword 16 years ago
Victor Julien a48a767efc Lockfree ringbuffer wip. 16 years ago
Jason Ish a93b2e6b84 Support for reading ERF files. 16 years ago
Gurvinder Singh 5fe1dc1d24 support for sslv2/sslv3 their unit tests and better stream no reassembly flag handling 16 years ago
Victor Julien b8641f300d Rename asn1 files, fix an invalid free, fix improper init of vars in one unittest. 16 years ago
Pablo Rincon 3fa3229e01 ASN1 decoder and keyword implementation 16 years ago
Victor Julien 70b32f7380 First stab at creating a stateful detection engine.
Stateful detection for app layer detection keywords, except uricontent. Stores it's partial results in the flow structure. Other modifications:

- Generalize transaction tracking, logging and inspection.
- Adapt http and dcerpc to use the new transaction handling.
- Stream engine now always notifies app layer of a stream eof.

This commit fixes bug #124.
16 years ago
Jason Ish 18e5ac8cde Basic rule profiling even though the results may be skewed by a bad rule in a grouping of rules. 16 years ago
Pablo Rincon e18e2ec998 Changing threshold logic 16 years ago
Pablo Rincon 1238668961 Adding actions order and suport for rule action "pass" 16 years ago
Victor Julien 070ed778b8 Libcap-ng support by Gurvinder Singh and myself. Basic support for per thread caps is added, but not activated as it doesn't seem to work yet. Work around for incompatibility between libnet 1.1 and libcap-ng added. 16 years ago
Pablo Rincon ab02ab9ead adding http_header keyword support 16 years ago
Victor Julien 54aa1790f3 Remove Makefile.am reference to non-existing file. 16 years ago
Pablo Rincon 9803def006 Adding pidfile support (thanks to Steve Grubb for the patch) 16 years ago
Anoop Saldanha 97d49d8f5e support for http_client_body keyword 17 years ago
Breno Silva 67f2026279 Global Threshold config 17 years ago
Victor Julien 08600df6b1 Small uri cleanups. 17 years ago
Pablo Rincon b708d7f65d Adding Uricontent inspection with spm. Modifiers for uricontent are now supported 17 years ago
Gerardo Iglesias Galvan ef2ae76c42 Add support for detection_filter keyword 17 years ago
Victor Julien bef70a04ce First stage of detect engine redesign: equal patterns share id's, search phase no longer used, new match verification phase. 17 years ago
Pablo Rincon 25a3a5c6d8 Adding mem wrapper to debug runtime alloc()/free() functions. Fixing some memory leaks. 17 years ago
William Metcalf 260d0d7673 Steve Grub fixes... Thanx Steve! 17 years ago
William Metcalf 0fe4373b67 Rolled back to 0.2.x branch renamed htp to libhtp 17 years ago
William Metcalf f7111f3847 import of integrated htp lib and small libnet fixes 17 years ago
Jan Jezek fe6a72befc Code is now compilable on the Win32 platform 17 years ago
Anoop Saldanha 41e6735b92 mpm b2g cuda support added 17 years ago
Anoop Saldanha 84df26d3fd cuda interface 17 years ago
Breno Silva b02bb6b6b4 VLAN Support 17 years ago
Breno Silva 7e299834d2 FragOffset Rule Keyword 17 years ago
Pierre Chifflier 4515ae13e4 Add Prelude output plugin
Add support for reporting alerts to the Prelude SIEM system, using
libprelude to send IDMEF (RFC4765) messages.

Each message contains the alert description and reference (using
the SID/GID), and a normalized description (assessment, impact,
sources etc.)

libprelude handles the connection with the manager (collecting component),
spooling and sending the event asynchronously. It also offers transport
security (using TLS and trusted certificates) and reliability (events
are retransmitted if not sent successfully).

This modules requires a Prelude profile to work (see man prelude-admin
and the Prelude Handbook for help).

Signed-off-by: Pierre Chifflier <chifflier@edenwall.com>
17 years ago
Nick Rogness 2b7b78f1bf Intial IPFW support FreeBSD and OSX 17 years ago
Pablo Rincon 260e581929 First version of the reputation API 17 years ago
Pablo Rincon 17cd010b0c Detect the number of CPUs configured and online. Printing a small summary at the startup 17 years ago
Victor Julien d446b85237 Remove obsolete files. 17 years ago
Steve Grubb f853da7940 Get make distcheck working
Hello,

Below is a patch that gets "make distcheck" working. Its against the
current code in git. The project version was set to 0.1 in configure,
I changed that to 0.8.1 just so its actually relevant. You might want
to set that to something else.

After checking this patch, I find that there are several source code
files in src/ that are not getting compiled:

-app-layer-detect.c
-app-layer-detect.h
-app-layer-http.c
-reputation.h

Are these new or abandoned? Anyways...here's the patch.

-Steve
17 years ago
Victor Julien 0d34990d7f Add OpenBSD's strlcpy and strlcat and replace all strcat/strcpy/strncat/strncpy by those calls. 17 years ago
Gurvinder Singh f6b0c481b0 urilen support for engine 17 years ago
Pablo Rincon 705471e4ee Adding single pattern matcher algorithms. If you cannot store a context for the patterns, use SpmSearch() macro. Adding unittests and stats 17 years ago
Pablo Rincon 673afeb4d3 fmemopen wrapper added (fix compilation problems on macosx and freebsd) 17 years ago
Breno Silva 1d055b0e09 ICMP Seq Rule Keyword 17 years ago
Eric Leblond 6cf00d6204 Fix typo in Makefile.am
This patch fixes a typo in Makefile.am which was preventing
'make tags' from working.
17 years ago
William Metcalf 8a64321340 raw pcap support additionl ipv4/6 validation 17 years ago
Pablo Rincon b6a3395c08 Adding unittest helper functions for building generic packets, checking arrays of expected match results, perform generic tests, etc. Look at util-unittest-helper.c and detect-ipproto.c for references 17 years ago
Jason Ish e204d07717 Have output modules register themselves so run mode configurator becomes aware of them for purposes of being configured from the config file. 17 years ago
Brian Rectanus c22d42693a Added http_method rule keyword. 17 years ago
Anoop Saldanha f684989f98 dce_iface, dce_opnum, dce_stub_data keyword support 17 years ago
Anoop Saldanha bc4df59414 Support for Classtype keyword and Classification Config file 17 years ago
Victor Julien f0be69dcd0 Fixup smb/smb2/dcerpc wrt loops, debug printing, style. 17 years ago
Victor Julien d5c732f1f9 Add tag keyword stub 17 years ago
Victor Julien 6beee776ca Move rand seed code into util-random 17 years ago
Pablo Rincon f2f9b83280 Adding FTP app layer parser and ftpbounce detection at L7 17 years ago
Gerardo Iglesias Galvan 7e87f373b9 Add icmp_id keyword support 17 years ago
Victor Julien 493715c0d2 Implement alert sid storage in the flow so we can check previous alerts in the flow. 17 years ago
Gerardo Iglesias Galvan e917065e26 Add support for daemon, checking for valid combination of modes 17 years ago
Breno Silva 69eb869cc9 Threshold Rule 17 years ago
Victor Julien ecf86f9c23 Rename to Suricata. 17 years ago
Gurvinder Singh a0f184866c http_cookie keywork support 17 years ago
Gurvinder Singh fc2f7f29fa app layer htp error handling and fixes for memory leaks and segv 17 years ago
Pablo Rincon 1ad6d75dfe Added rpc keyword support at packet level 17 years ago
Pablo Rincon a8d7b71490 First version of flowints 17 years ago
Gerardo Iglesias 991d421394 Changed printf's to logging API functions 17 years ago
Gurvinder Singh 07f7ba55b8 initial support for HTP module init 17 years ago
Victor Julien 2cfa284999 Fix app layer detect to actually work. 17 years ago
Victor Julien f1f7df0766 First iteration of doing app layer detection. 17 years ago
Anoop Saldanha 6ca5dbc9e9 Support fast_pattern modifier keyword for content 17 years ago
Anoop Saldanha dc44700ce5 Support vars lookup from conf file. Current patch support address and port group vars lookup 17 years ago
Anoop Saldanha 7dbc117b37 Host OS Table API. Modifications also make to the radix tree to handle netblocks 17 years ago
Gurvinder Singh cacbf31aad support for ttl keyword 17 years ago
Kirby Kuehl ecaa701bdf smb and dcerpc work 17 years ago
Brian Rectanus ed30067bd7 Ack/Seq Keywords 17 years ago
Jason Ish e0b9e85230 Break out checksum fixup code to make the license separation more clear. 17 years ago
Brian Rectanus ec6c5258b6 Sameip Keyword 17 years ago
Breno Silva 15a8f34d36 Gid Keyword
Signed-off-by: Brian Rectanus <brectanu@gmail.com>
17 years ago
Breno Silva 6100a7f610 FragBits Keyword
Signed-off-by: Brian Rectanus <brectanu@gmail.com>
17 years ago
Pablo Rincon 1a983fd316 Adding id keyword and unittests 17 years ago
Breno Silva 7dc985aa4e Signature Flags Keyword
Signed-off-by: Brian Rectanus <brectanu@gmail.com>
17 years ago
Brian Rectanus e28647032d Add ip_proto support. 17 years ago
Anoop Saldanha 3c21df69d2 Radix Tree structure for the engine 17 years ago
Anoop Saldanha 157d5e8113 Implementation of the logging module 17 years ago
Anoop Saldanha f658ffbc9c Order the signatures based on certain rule parameters like actions, flowbits, flowvar, pktvar, priority etc 17 years ago
William Metcalf 04b0f177fc native PF_RING support with fixes 17 years ago
Breno Silva 27c61ac148 IpOpts Rule Keyword
Signed-off-by: Brian Rectanus <brectanu@gmail.com>
17 years ago
Pablo Rincon bdf119ade3 Adding window and isdataat keyword and some unittests 17 years ago
Breno Silva a5e386ce52 Unified2
Signed-off-by: Breno Silva <breno.silva@gmail.com>
17 years ago
Brian Rectanus 02a8b583c9 Added byte_test and byte_jump support. 17 years ago
Brian Rectanus af06e6a288 Added byte extraction util. 17 years ago
Victor Julien cfb605aa8a Put the precooked runmodes in a separate file. 17 years ago
Jason Ish c91a4baad5 - Autoconf goo for libyaml.
- Mock YAML configuration file.

- YAML loader for basic YAML files - not all YAML elements support yet..
  todo.

- Add --dump-config command line parameter to dump the state of the
  configuration db after loading the config file.
17 years ago
Gurvinder Singh ac53ca5b27 Stream Size rule option 17 years ago
Victor Julien 3636ca9703 Adding a "flow" queue handler. This queue handler passes packets of the same flow to the same queue. Changed the default IDS mode to use this.
Some output cleanups, shutdown should be cleaner now.
17 years ago
Anoop Saldanha 22c0ec2bc5 Added support for the csum-<protocol> rules keyword to the detection engine. Keywords added are ipv4-csum, tcpv4-csum, tcpv6-csum, udpv4-csum, udpv6-csum, icmpv4-csum and icmpv6-csum 17 years ago
Victor Julien 086ba5f49b Add 'BySize' field parser. Add stub tls parser. 17 years ago
Breno Silva 9528e02e46 GRE support 17 years ago
Jason Ish e3b538c7d7 Simple configuration API.
Allow the log directory to be changed.
17 years ago
Jamie 8817364ef6 initial PPPoE decoder commit 17 years ago
Victor Julien 8e10844f95 Initial code of Application Layer parsing framework. Rename of L7* to AppLayer*. 17 years ago
Breno Silva c90b4e6fcd Decode event rule 17 years ago
Anoop Saldanha a5fb240a4a Changes added for the Performance Counter API 17 years ago
Victor Julien 689bbfdc45 Rename all structure definitions in the "typedef struct _SomeStruct" format to "typedef struct SomeStruct_" to make the Doxygen output more useful.
Remove the Trie multi pattern matcher code. It wasn't used anymore.
17 years ago
Breno Silva dec11038c6 PPP Support 17 years ago
Victor Julien 1c2240cfeb Stream reassembly update and WIP code for L7 modules. 17 years ago
Victor Julien 51a9e36e10 Remove vips references. Rename to eidps. 17 years ago
Victor Julien 668e9514d7 Pool update. Stream reassembly start. 17 years ago
Victor Julien 9c7f5afa79 Large update: pcap support, threading fixes, initial stream tracking, time handling, pool support, runmodes, decoders added, autojunk update. 17 years ago
Victor Julien ff4b5a5db7 Add support for flowbits. 17 years ago
Victor Julien 657be002d1 Big detection engine update: scan improvements, b2g/b3g updates, bloom fixes, iponly detection implementation, dsize/flow grouping. 17 years ago
Victor Julien 5df5b35e90 Put all globals in the detection engine ctx. Add HashList type, a hash that also stores the items ina list to it can be traversed. Many cleanups. 17 years ago
Victor Julien b2eb954099 Add b3g 3gram BNDM pattern matcher. Fix multi queue nfq initialization. Improve speed of b2g and wumanber. 17 years ago
Victor Julien 1c0ad1d415 Add implementation of the Simple BNDM 2gram pattern matcher algorithm. 17 years ago
Victor Julien 4c4862d838 Improve logging, add alert-output module, at module exit stats, add HTTP POST uri capture. 17 years ago
Victor Julien 9b07710389 Add hashing and bloomfilter api's: now include buildsys update 17 years ago
Victor Julien c4f2fe4bd7 Implement per packet variables and switch the http stuff to it. 17 years ago
William Metcalf 7006085195 udp decoding added icmp unreachables added to reject 17 years ago
Victor Julien ebf41c3b1e Remove obsolete decode-http files. 17 years ago
Victor Julien 1cb274a39a Update build sys 17 years ago
Victor Julien f3a94413db Properly support 'alert ip' rules. Add support for handling ip only rules differently. 17 years ago
Victor Julien dc48c58473 Switch to using a detection engine ctx. 17 years ago
William Metcalf 0ffa1c2465 updates for configure.in, added reject code, some decode stuff for tcp 17 years ago
Victor Julien 05fd319f6c Add log-httplog module that logs http request uri's, hosts and useragents to a per line text format. 17 years ago
Victor Julien eaaeb30cd6 Add noalert keyword for use with sigs that are used for capturing only. 17 years ago
Victor Julien f0ed41fb0a Support priority keyword, add priority to alert-fastlog. 17 years ago
Victor Julien dc224cb2d2 Large update containing the first step to making the detection engine use rule groups. Address based rule groups are now implemented. 17 years ago
Victor Julien d036264f80 Cleanup signature parsing and other detect.c parts. 17 years ago
Victor Julien 151512a45c Split up address code in ipv4 and ipv6 specific files. Cleanups. 17 years ago
Victor Julien b8ad4adf81 complete rename of address2 to address 17 years ago
Victor Julien 28b0d82169 Remove partial and broken address handling implementation now address2 is working. 17 years ago
Victor Julien 7aada782a4 WIP address matching stuff 17 years ago
Victor Julien bab4b62376 Initial add of the files. 17 years ago