Commit Graph

2650 Commits (45d86ff58a88de3d9051f8c5378044d7813da05c)
 

Author SHA1 Message Date
Victor Julien 45d86ff58a Stream reassembly / app layer: disable gap errors
Gap errors on the app layer are now silently handled. No longer printed
to the screen.
13 years ago
Victor Julien 425294f912 stream reassembly: account stream gaps
Add counter to the stream reassembly engine to count stream gaps. Stream gaps
are the result of missing packets (usually due to packet loss). This missing
data stops the reassembly for the app layer.
13 years ago
Victor Julien d8d8fdd9f5 Improve handling of packets when stream is in the fin_wait1 or fin_wait2 state. 13 years ago
Victor Julien b74c73309b file handling: improve filestore keyword handling
In stateful detection only inspect the file portion of the rule after all
other conditions matched. This to prevent "filestore" from tagging files
for storage during a partial match.

Add a couple of unittests to test the behaviour change.
13 years ago
Victor Julien 4cbe7519fa Add missing file util code. 13 years ago
Victor Julien a556338936 Add magic-file example to suricta.yaml. 13 years ago
Victor Julien 56b96363b8 Fix merge artefact. 13 years ago
Victor Julien 63c9a3ab85 Remove duplicate include. 13 years ago
Victor Julien b3e1679321 file handling: add example files.rules file
Adding a rule file with various examples for using the fileext, filename,
filemagic and filestore keywords.
13 years ago
Victor Julien 53df3982a1 Update suricata.yaml for file extraction. 13 years ago
Victor Julien 042fd850fc Make sure we check the sgh for no magic and no store once per flow direction. 13 years ago
Victor Julien f3fbc1a44c file handling: filemagic matching improvement
Magic buffer is a null terminated string. Allow matching on the final
\0 using filemagic:"somevalue|00|"; so we can anchor to the end of the
buffer.
13 years ago
Victor Julien 2ccd35c6e4 Fix code after rebase. 13 years ago
Victor Julien 33848124d1 Fix a multipart body parsing issue. 13 years ago
Victor Julien 96d20098b0 file inspect: stateful inspection split
Split stateful detection of the files in a HTTP state between toserver
and toclient inspection.
13 years ago
Victor Julien d59ca75e46 file extract: split toserver and toclient tracking
Split toserver and toclient file tracking for the http state.
13 years ago
Victor Julien 04ea70ccf7 file extract: pruning
Add pruning of files in memory so we keep only memory what we really need.
Fix magic logic.
Reset file part of the de_state on receiving another file in the same tx.
13 years ago
Victor Julien 1c934acc85 Don't store fd per file (too many fd's). Enable IPv6 storing. Close file on receiving stream end flag. 13 years ago
Victor Julien b402d97179 File carving -- enable reponse file extraction
- Enable response body tracking
- Enable file extraction for responses
- File store meta file includes magic, close reason.
- Option to force magic lookup for all stored files.
- Fix libmagic calls thead safety.
13 years ago
Victor Julien 66a3cd96a8 Prepare HTTP response body tracking. 13 years ago
Victor Julien 417495e542 file-extraction: remove no longer used files. 13 years ago
Victor Julien e1022ee5ae file-extraction: Disconnect file handling from flow and move into the app layer state. 13 years ago
Victor Julien 27645f64c6 Remove unused util-filetype.[ch] from Makefile.am. 13 years ago
Victor Julien 9b62ec65ab Make sure filemagic works properly regardless of filestore being in use for a flow. 13 years ago
Victor Julien 5945e652d6 Initial implementation of filemagic keyword. 13 years ago
Victor Julien f4a6f4b293 Add libmagic detection, linking and a basic API. 13 years ago
Victor Julien 23e01d23d3 Implement filestore keyword, including a way for the stateful detection engine to conclude that a file will never have to be stored. 13 years ago
Victor Julien 3e7baa6810 Fix improper error handling in http body chunk function. 13 years ago
Victor Julien 403b2788d6 Add support for extracting PUT files. 13 years ago
Victor Julien 59cda9a358 Fix not using new htp callback when using the bundled htp. Add indication to --build-info. Fix valgrind warning in test and further improve test. 13 years ago
Victor Julien 64aee5e70c Add file log to default suricata.yaml. 13 years ago
Victor Julien ef0536794c Adding comments, some cleanups. 13 years ago
Victor Julien 21acd72adf Cleanups to the Multipart parsing code. Fixes to negation in filename and fileext. 13 years ago
Victor Julien 70f0d3d2e7 Add negation to filename and fileext, use same syntax as with content. 13 years ago
Victor Julien 32fb9f375d log-file log-dir option added, meta file created, fixes. 13 years ago
Victor Julien a6b7a560f1 Fix a bug in the HTTP file closing. 13 years ago
Victor Julien 7e3d537338 Fix setting libhtp personality. 13 years ago
Victor Julien 1eef36b011 Initial checkin of a log-file module, that can write files extracted from flows to disk. 13 years ago
Victor Julien 3c1edf3763 Add a file descriptor to the flow file structure. 13 years ago
Victor Julien cd618e48df Allow for 0 (unlimited) HTTP request_body_limit, fix option parsing. 13 years ago
Victor Julien 4723f07254 Improve testing and fix some bugs. 13 years ago
Victor Julien 9d5d46c4bb Implement flow file storage API, create HTP wrappers for it, use it in HTTP parsing. 13 years ago
Victor Julien a0ee6ade3e Improve HTTP multipart parsing, add streaming parsing for files. 13 years ago
Victor Julien 4537f889ef Handle all strings as raw strings in HTTP content-type and content-disposition header parsing. 13 years ago
System Administrator 222bc6e935 Flow files 13 years ago
Pablo Rincon 6d60b3a747 filename and fileext keywords 13 years ago
Victor Julien 06b1d71032 Small optimizations to IPV4 and TCP header parsing. 13 years ago
Eric Leblond 0256ca2422 af-packet: fix compilation on new systems.
Inclusion of if_packet.h was missing when the support of new options
related to packet fanout is present in the file.
13 years ago
Anoop Saldanha bf24272c28 changes to accomodate master rebase 13 years ago
Anoop Saldanha 997eaf42a8 add thread local storage support for smtp + remove pmq that was init/freed as part of smtp_state alloc to use the thread local data passed by the app layer engine 13 years ago