Gurvinder Singh
e5edc6e8e3
add the support to log the fast.log alerts type to syslog
15 years ago
Eric Leblond
1e600c1054
source-nfq: add simulated non-terminal NFQUEUE verdict
...
This patch adds a new mode for NFQ inline mode. The idea is to
simulate a non final NFQUEUE rules.
This permit to do send all needed packets to suricata via a simple
FORWARD rule:
iptables -I FORWARD -m mark ! --mark $MARK/$MASK -j NFQUEUE
And below, we have a standard filtering ruleset.
To do so, suricata issues a NF_REPEAT instead of a NF_ACCEPT verdict and
put a mark ($MARK) with respect to a mask ($MASK) on the handled packet.
NF_REPEAT verdict has for effect to have the packet reinjected at start
of the hook after the verdict. As it has been marked by suricata during
the verdict it will not rematch the initial rules and make his way to
the following classical ruleset.
Mode, mark and mask can be configured via suricata.yaml file with the
following syntax:
nfq:
repeat_mode: (false|true)
mark: $MARK
mask: $MASK
Default is false to preserve backward compatibility.
Signed-off-by: Eric Leblond <eric@regit.org>
15 years ago
Eric Leblond
8330747234
Add multi queue support to NFQ run mode
...
This patch adds support for multiple Netfilter queue
in the NFQ run mode. Suricata can now be started on
multiple queue by using a comma separated list of
queue identifier on the command line. The following syntax:
suricata -q 0 -q 1 -c /opt/suricata/etc/suricata.yaml
will start a suricata listening to Netfilter queue 0 and 1.
Signed-off-by: Eric Leblond <eric@regit.org>
15 years ago
Victor Julien
6fca55e068
Add some debug output to app-layer-htp.
15 years ago
Anoop Saldanha
c9897a44a4
fast pattern support for http_cookie. Also support relative modifiers
15 years ago
Anoop Saldanha
bbbedaf963
fast pattern support for http_method. Also support relative modifiers
15 years ago
Eric Leblond
9c2bdc6d0c
Main loop: increase timer.
...
Timer in the main loop was of 100 usec. This patch increases it
to 10 ms which should be a reasonnable delay to declare some threads
dead.
Signed-off-by: Eric Leblond <eric@regit.org>
15 years ago
Eric Leblond
67b95c8c4d
Auto discovery of default packet size
...
If default-packet-size is not set, it is possible in some case to
guess a correct value.
If PCAP or PF_RING are used we are linked to a "physical" interface.
Thus, it is possible to get information about the link MTU and
hardware header size. This give us the ability to auto discover a
decent default-packet-size.
If suricata is running under a different running-mode, it will
default to 1514.
15 years ago
Eric Leblond
dd038c1906
Modify files to avoid direct pckt payload access
...
This patch implements the needed modification of payload access
in a Packet structure to support the abstraction introduced by
the extended data system.
15 years ago
Eric Leblond
e802e1ed16
Modify Packet structure and prepare accessor.
...
This patch modifies decode.c and decode.h to avoid the usage
by default of a bigger than 65535 bytes array in Packet structure.
The idea is that the packet are mainly under 1514 bytes size and
a bigger size must be supported but should not be the default.
If the packet length is bigger than DFLT_PACKET_SIZE then the
data are stored in a dynamically allocated part of the memory.
To ease the modification of the rest of the code, functions to
access and set the payload/length in a Packet have been introduced.
The default packet size can be set at runtime via the default-packet-size
configuration variable.
15 years ago
Victor Julien
878d3d87db
Add (experimental) support for using multiple pcap devices to acquire packets from. Just passing multiple -i <dev> options on the commandline will activate this. Windows not yet supported.
15 years ago
Victor Julien
e3bde3e95d
Add a simple revision based on the git rev to the version number, like a build number.
15 years ago
Victor Julien
ffcd512167
Clean up packet pool handler on shutdown.
15 years ago
Victor Julien
3710296057
Cleanup defrag engine on shutdown.
15 years ago
Anoop Saldanha
d241e51b32
adapt fast pattern engine analysis to reflect the new changes made to your mpm design
15 years ago
Anoop Saldanha
42c1287028
renintroduce g_u8_lowercase_table for b2g cuda
15 years ago
Anoop Saldanha
c734cd1bdd
make cuda mpm parameters configurable
15 years ago
Anoop Saldanha
7ec0382774
support fast pattern for http raw header. Also support relative modifiers for http raw header
15 years ago
Anoop Saldanha
c61c68fd36
mpm and fast pattern support for http_header. Also support relative modifiers for http_header
15 years ago
Anoop Saldanha
5c6a65dc58
support relative modifiers for http_client_body. Introduce body processing engine in detect-engine-hcbd.[ch]
15 years ago
Anoop Saldanha
eade60f0fd
make some name changes. break PopulateMpm(). Set the avoid mpm double check flags
15 years ago
Anoop Saldanha
46b4806d8e
use a single populatempm() function to add the right content for mpm
15 years ago
Anoop Saldanha
bc99328ec8
define a new conf paramter detect-engine:inspection-recursion-limit; Defines a recursion limit for content inspection code
15 years ago
Victor Julien
001dcaae84
Minor reference.config support changes: improve error handling, reduce hash table size.
15 years ago
Anoop Saldanha
88d94b136d
Support for reference.config file
15 years ago
Anoop Saldanha
2cdb5be391
Print out file name for fast_pattern engine_analysis. Also add some info logs
15 years ago
Anoop Saldanha
0ef684705c
support single mpm context distribution across sghs in staging. Also see to it that ac works fine with this setup
15 years ago
Anoop Saldanha
a85fa6b792
support for fast_pattern only and fast_pattern:offset,length. Also support the new option for engine-analysis
15 years ago
Pablo Rincon
b3a8f0a90f
Fix asn1 decoder frame oob mem. Adding max stack frames to suricata.yaml
15 years ago
Gurvinder Singh
3eab715153
support for printing protocol names for known protocol
15 years ago
Victor Julien
1859ed54c7
Add memcmp api with a plain memcmp function and a SSE3 accelerated memcmp.
15 years ago
Victor Julien
3971bcc83a
Switch to faster tolower function for u8_tolower.
15 years ago
Pablo Rincon
5c43db85ce
Drop streams on inline mode when a drop rule match from a reassembled stream and/or app layer inspection
15 years ago
Pablo Rincon
76af1b049b
Make malloc errors on initialization stage a fatal error, resulting on a exit() call
15 years ago
Pablo Rincon
9d7baa7a9f
Adding ssh app layer module with two new keywords: ssh.protoversion and ssh.softwareversion
15 years ago
Anoop Saldanha
07491f8887
add --list-cuda-cards option to list the cuda cards on the system. Add conf parameter to select the cuda device to use. Also change the threshhold limit to 2.4k packets to buffer
15 years ago
Anoop Saldanha
33f4beb0bc
batching of packets support for cuda b2g mpm. Supported for both 32 and 64 bit platforms
15 years ago
Victor Julien
8cdd02877f
Add unittests for ringbuffer.
15 years ago
Anoop Saldanha
36e4b1830e
add pcre with U modifiers to the umatch sigmatch list. fix for bug 155
15 years ago
Pablo Rincon
eed0ef6e69
Adding tag keyword support
15 years ago
Kirby Kuehl
c3b9305259
dcerpc udp support
15 years ago
Victor Julien
6519a86ec7
Move packet pool to ringbuffer, update packet pool api and ringbuffer api. Remove memset usage from PACKET_RECYCLE, add proper cleanup macros.
15 years ago
Victor Julien
012e602c3f
Add a (disabled by default) flow pinned runmode for file pcap.
15 years ago
Anoop Saldanha
45ea0d914e
dce stub content keywords support using dcepayload.c support for all dce related content keywords
15 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.
15 years ago
Ondrej Slanina
6bf7d76005
added possibility to run suricata as WIN32 service
15 years ago
Ondrej Slanina
79443b1991
added INT and TERM signals on WIN32
15 years ago
William Metcalf
9ce1399db8
Add option for setting pcap buffer size if it is available
15 years ago
Victor Julien
4e7df60b2f
Make pcap file mode read multiple packets per 'read'. Update threading model to deal with this.
15 years ago
Victor Julien
6f502f0da5
lockfree ringbuffer wip2, including proper shutdown.
15 years ago
Jason Ish
a93b2e6b84
Support for reading ERF files.
15 years ago
William Metcalf
2eef905c07
GPL and Copyright header updates.
15 years ago
Victor Julien
2910759943
Rename TranslateIPToPcapDev to PcapTranslateIPToDevice and make the length argument size_t.
15 years ago
Ondrej Slanina
55d0d1e7a1
added support for finding pcap device via it's IP.
15 years ago
Gurvinder Singh
5fe1dc1d24
support for sslv2/sslv3 their unit tests and better stream no reassembly flag handling
15 years ago
Victor Julien
b8641f300d
Rename asn1 files, fix an invalid free, fix improper init of vars in one unittest.
15 years ago
Pablo Rincon
3fa3229e01
ASN1 decoder and keyword implementation
15 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 .
15 years ago
Jason Ish
18e5ac8cde
Basic rule profiling even though the results may be skewed by a bad rule in a grouping of rules.
15 years ago
William Metcalf
b629b7c5c1
only show cli opts via help that we have support for
15 years ago
Victor Julien
692eb935ea
Fix updated memory api using debug mode by default. Small cleanups.
15 years ago
Gerardo Iglesias Galvan
9f4fae5b1a
Fix inconsistent use of dynamic memory allocation
15 years ago
Victor Julien
e741bd0202
Cleanup packet recycling code. Fix issues in the packet tunnel/pseudo code.
15 years ago
Victor Julien
e1a8c8f76c
Switch time api from mutex to spinlock.
15 years ago
Victor Julien
19584d0416
Fix tunneled and defrag reassembled packets with the new pending limits.
15 years ago
Victor Julien
ccf22cf563
Move to different way of enforcing max_pending. Should require less locks.
15 years ago
William Metcalf
5fb405335e
Small wrapper fixes to allow for windows compilation
16 years ago
Pablo Rincon
1238668961
Adding actions order and suport for rule action "pass"
16 years ago
William Metcalf
ce01927515
Import of GPLv2 Header 050410
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
Anoop Saldanha
0b6dc3e8d5
Fix globalinit memset for trans_q
16 years ago
Victor Julien
2797e67a79
Print Suricata version after initializing logging subsys.
16 years ago
Victor Julien
71b327bd23
Improve error detection in the pidfile api.
16 years ago
Pablo Rincon
9803def006
Adding pidfile support (thanks to Steve Grubb for the patch)
16 years ago
Anoop Saldanha
9e94768385
fix for bug 108
16 years ago
Anoop Saldanha
97d49d8f5e
support for http_client_body keyword
16 years ago
Breno Silva
67f2026279
Global Threshold config
16 years ago
William Metcalf
b0faeb91d7
small PF_RING update cmd line opts changed
16 years ago
Jason Ish
acaee78b1c
Fix bug 125. - Always bail on parse errors. - Exit if loading the config file fails. - Display the line number where the parsing failed.
16 years ago
root
ddf995da3b
pfring support lb type, and now uses logging subsys
16 years ago
Jason Ish
5c3ab2b73f
Load host OS info from the configuration.
16 years ago
Victor Julien
80dc4f1dbe
Further simplify content api: merge flags that indicate a next relative match, remove chunks as they are unnecessary now, make negated a bitflag.
16 years ago
Pablo Rincon
25a3a5c6d8
Adding mem wrapper to debug runtime alloc()/free() functions. Fixing some memory leaks.
16 years ago
Jason Ish
7537013e16
Fix bug 99.
...
- Handle the case where the parent node already exists in ConfSet.
- Deal with allow_override properly when a node has already been
set with ConfSet.
16 years ago
Pablo Rincon
7719216575
Setting thread priorities with nice
16 years ago
Jan Jezek
fe6a72befc
Code is now compilable on the Win32 platform
16 years ago
Anoop Saldanha
1a5ee37bd3
Added cuda logs for the engine, which shows device info and memory usage
16 years ago
Anoop Saldanha
8cf60d6645
Changed the way cuda dispatcher passes back results. Now each detection thread has it's own queue to which the dispatcher can pump packets back to the detect thread. Also, with cuda enabled and a non-cuda mpm being used, we won't create a dispatcher and instead call the b2g scan/search funtions directly instead of using the dispatcher.
16 years ago
Anoop Saldanha
c26e92733d
handle the cuda cleanup at shutdown. should get rid of any errors from the call to SigGroupCleanup
16 years ago
Victor Julien
d281a6b8ac
CUDA build system support & compile fixes
...
- add configure support for CUDA
- make sure all code compiles if CUDA is disabled
- fix compiler warnings
16 years ago
Anoop Saldanha
a2948fc25c
valgrind fixes for b2g cuda mpm
16 years ago
Anoop Saldanha
41e6735b92
mpm b2g cuda support added
16 years ago
Anoop Saldanha
84df26d3fd
cuda interface
16 years ago
Pablo Rincon
b482471a7d
Adding auto runmodes based on available core/cpu's. Setting thread priorities
16 years ago
Breno Silva
b02bb6b6b4
VLAN Support
16 years ago
Pablo Rincon
0165b3f0d8
pcre P modifier support (pcre match over http body requests)
16 years ago
Victor Julien
2cb2989ad8
Apply configurable max pending packets to nfq and ipfw
16 years ago
Jason Ish
7142fdb780
quick way to make max_pending configurable.
16 years ago
Pablo Rincon
d0404d8447
Renaming errors with naming conventions
16 years ago
Pablo Rincon
ad2c136e8f
Renaming errors (naming conventions)
16 years ago