Anoop Saldanha
13ea299ee0
Replace all mallocs with SCMallocs
14 years ago
Eric Leblond
de59c9f4b1
Add and use utility functions for checksum computing.
14 years ago
Eric Leblond
a85dc9b0e2
Add support for replace keyword.
...
This patch adds support for the replace keyword. It is used with
content to change selected part of the payload. The major point
with this patch is that having a replace keyword made necessary
to avoid all stream level check because we need to access to the
could-be-modified packet payload.
One of the main difficulty is to handle complex signature. If there is
other content check, we must do the substitution when we're sure all
match are valid. The patch adds an attribute to the thread context
variable to be able to deal with recursivity of the match function.
Replace is only activated in IPS mode and apply only to raw match.
14 years ago
Eric Leblond
0c34a1c5e7
rewrite constants and add flag for replace
...
This patch make use of bit shift to rewrite some of the mask constants.
It also delete an unused flag value and suppress the associated dead code.
The numeric value of the flag is now used by the flag needed for replace
code.
14 years ago
Victor Julien
77b7089f79
Fix stream-events not working. Stream events won't fit our 'detection only' schema. Fixes #321 .
14 years ago
pilcrow
f5017e0d1a
Always try PCRE_NO_AUTO_CAPTURE first for signature regexes.
...
Many, many pcre: signatures specify (...) when the more efficient
(?:...) is all that is needed. This change attempts to force
PCRE_NO_AUTO_CAPTURE on all unnamed capture groups, reverting to
capturing when necessary, e.g., when \1 is referenced.
14 years ago
Victor Julien
60887131be
Fix minor address parsing compiler warning.
14 years ago
Anoop Saldanha
8028392e9a
fix mpm segv. Use sgh flags to check if the sgh has packet or stream mpm set or not
14 years ago
Anoop Saldanha
41d71a6d70
fix http http transaction id update. Update transactions as soon as we receive a callback on new request
14 years ago
pilcrow
ed69eeab14
Safer macro parenthesization and do/while use
14 years ago
Eric Leblond
bbd04fde30
NFQ: fix race condition at exit.
...
A race condition was observed when leaving NFQ. This was caused by
the queue handle being accessed after been nullified. This patch
uses the handle mutex to protect the destruction and adds tests
on nullity to avoid crashed.
14 years ago
Victor Julien
1ab6443e44
Fix compilation when profiling is enabled.
14 years ago
Anoop Saldanha
b6ba944e6d
Rearrange flow manager functions into flow-manager.[ch]. Some other minor changes/updates
14 years ago
Anoop Saldanha
7c729d2d53
some more code cleanup + comments added
14 years ago
Anoop Saldanha
d14fdb1156
Remove the unnecessary unittest runmode check to get the test working. Modify tests to get it working around this
14 years ago
Anoop Saldanha
16884a0dea
refix failing unittest
14 years ago
Anoop Saldanha
552e72e35e
fix failing unittest
14 years ago
Anoop Saldanha
0957c0f8a4
shutdown timeout reassembly shouldn't check timeout flag set or not on flow
14 years ago
Anoop Saldanha
3f1c4efceb
Add new flags var to tm module. TMs can now set flags to identify special properties. Also use these to identify receive TMs
14 years ago
Anoop Saldanha
54f6e4ff4d
Merge thread kill functions. Merge slot's tm_id with the one used by packet profiling. Remove some junk unused code from ms sync pts. Timeout setup cleanup as well. packet q dbg_maxlen now u32 var.
14 years ago
Anoop Saldanha
e335bdbfbc
Code cleanup. All code to kill flow manager thread under one function now.
14 years ago
Anoop Saldanha
99a496e852
Indentation fixes
14 years ago
Anoop Saldanha
e68ca2f32f
Rewrite forced reassembly v2 using while loop instead of goto
14 years ago
Anoop Saldanha
6cc179fad8
flow mgr code doesn't have to bother on immediately exiting on seeing a suricata_ctl flag set
14 years ago
Anoop Saldanha
b09c9751aa
Now flow hash section can force reassemble flows as well
14 years ago
Anoop Saldanha
42493ee6b7
rename pseudo packet creation function. Shift the check for forced reassembly necessity on a session/direction to an inline function in the stream api
14 years ago
Anoop Saldanha
6c95526423
Introduce a new wrapper macro that wait loops till the flag(s) in question have been set
14 years ago
Anoop Saldanha
a7acf9ea8f
Remove all code introduced earlier concerned with ms sync points
14 years ago
Anoop Saldanha
b0a588beeb
Introduce another solution to solve stream timeout shutdown issue using thread flags. No more MSSyncPts
14 years ago
Anoop Saldanha
aef957c6eb
cleanup flow code and pseudo packet creation function
14 years ago
Anoop Saldanha
f2bcf9ea2c
modify post_pq packet handling.
...
- Lock the q just once, once we have detected the presence of packet(s)
in the queue. Unlock it when we consume all packets from the q.
14 years ago
Anoop Saldanha
b4887943fb
packet queue len member is now 32 bit unsigned from the previous 16 bit unsigned. Should take care of the overflow for now
14 years ago
Anoop Saldanha
9256c7bf0a
always keep queue locked till we exit flowprune. Should prevent potential threading issues
14 years ago
Anoop Saldanha
d4ba869a35
fix - we need to set direction flags for reassembly pseudo packet. Also reset local flags for every flow that is force reassembled in ForQ
14 years ago
Anoop Saldanha
4ef3679b13
Remove the macro for pktacqloop which is now replaced by an inline function
14 years ago
Anoop Saldanha
edebdee1e5
update flow pruning - v6
14 years ago
Anoop Saldanha
99207c718d
Avoid possiblity of potential engine idling from consumption of all packetpool packets - v1
...
- Now forced reassembly uses only malloced packets.
14 years ago
Anoop Saldanha
7d3e501f57
shutdown stream reassembly now avoids looking at flows that have already been processed by flow mgr reassembly
14 years ago
Anoop Saldanha
a559bfc165
signal the post pq if possible, whenever pseudo packets are injected into engine flow. Also carry out post pq processing irrespective of packet retrieval from the flow.
14 years ago
Anoop Saldanha
fd9bacb02d
fix usage of htons to htonl in creation of pseudo packet
14 years ago
Anoop Saldanha
56fba8e275
move flow incr cnt while we actually create the pseudo packet in forced reassembly
14 years ago
Anoop Saldanha
51d2b64902
update flow pruning - v5
14 years ago
Anoop Saldanha
c30dbff63d
update flow pruning - v4
14 years ago
Anoop Saldanha
3b0142fa46
update flow pruning - v3
14 years ago
Anoop Saldanha
6dcb68abb0
update flow pruning - v2
14 years ago
Anoop Saldanha
f197b32a55
update flow pruning - v1
14 years ago
Anoop Saldanha
272c2433ec
Cleanup flow.c before further changes
14 years ago
Anoop Saldanha
8363533a02
support for forced stream reassembly for to be pruned flows
14 years ago
Anoop Saldanha
727a950e39
Move time elapsed right after we finish all packet processing
14 years ago
Anoop Saldanha
762ac0fe31
update conditional in shutdown forced reassembly to check for flows that required flow reassemly
14 years ago