Commit graph

6667 commits

Author SHA1 Message Date
Jon Siwek
f6f4e3e8bc GH-527: fix LambdaExpr::Traverse
Coverity CID 1403966
2019-08-06 14:47:03 -07:00
Jon Siwek
05bc680d3f GH-527: fix ref-counting issues in Frame unserialization
Coverity CIDs 1403968, 1403967
2019-08-06 14:47:03 -07:00
Johanna Amann
3080290a5e Merge remote-tracking branch 'origin/topic/jsiwek/gh-474-mqtt-option'
* origin/topic/jsiwek/gh-474-mqtt-option:
  GH-474: change MQTT::max_payload_size to be a runtime option

Relates to GH-474
2019-08-05 21:06:50 -07:00
Jon Siwek
cc91ab5d9e Fix malformed SMB documentation 2019-08-05 19:00:43 -07:00
Jon Siwek
35c42b4b09 GH-474: change MQTT::max_payload_size to be a runtime option 2019-08-05 18:11:54 -07:00
Tim Wojtulewicz
337da50da6 Add new LogAscii::gzip_file_extension option.
This can be used with the LogAscii::gzip_level option to set the file extension of log files when they are compressed at creation time.
2019-08-05 14:36:34 -07:00
Jon Siwek
6bc947a48e GH-474: add MQTT::max_payload_size option
This caps size of payload strings within mqtt_publish events and
mqtt_publish.log files.  A new "payload_len" field in the log file
shows the real payload size in cases where it may have been truncated.
2019-08-02 14:28:55 -07:00
Jon Siwek
c43e809a69 GH-474: use topic vectors for MQTT (un)subscribe events/logs 2019-08-02 13:48:43 -07:00
Jon Siwek
b3884de2e5 Fix how Broker/CAF sleep duration options are set
With CAF 0.17.0, these are now reporting an incorrect option name
was being used.
2019-08-02 11:33:00 -07:00
Tim Wojtulewicz
bbf49406c1 DFA: remove uses of PDict 2019-08-02 09:45:50 -07:00
Tim Wojtulewicz
acff8d5a2b EventRegistry: remove uses of PDict 2019-08-02 09:45:50 -07:00
Johanna Amann
6fa0f4ac49 Merge remote-tracking branch 'origin/topic/johanna/conn-duration-thresholds'
* origin/topic/johanna/conn-duration-thresholds:
  Add duration thresholding to the conn-size analyzer.
2019-08-01 14:20:49 -07:00
Johanna Amann
f9ee0079a5 Merge remote-tracking branch 'origin/topic/jsiwek/lambda-name-fixes'
* origin/topic/jsiwek/lambda-name-fixes:
  Guarantee unique internal name for each lambda function
  Use consistent hashing method for internal lambda function names
2019-08-01 13:37:45 -07:00
Johanna Amann
9d489cde20 Add duration thresholding to the conn-size analyzer.
Now, in addition to setting thresholds for bytes and packet, one can set
a threshold for connection duration. Note that the threshold event is
only raised once the next packet in the connection is seen.

This also fixes a small pre-existing bug, in which a bunch of warnings
were raised if someone just used the lower-level functions without going
through the higher-level scripting API.
2019-08-01 11:57:40 -07:00
Jon Siwek
ec4df80c67 Improve error messages from to_addr and to_subnet BIFs
Related to GH-514
2019-08-01 10:49:03 -07:00
Jon Siwek
ee28e9e9f3 Merge remote-tracking branch 'origin/topic/seth/mqtt'
* origin/topic/seth/mqtt:
  Bug fixes and test baseline updates
  Fix an issue with bro_init -> zeek_init
  MQTT Analyzer heavily updated and ported from the analyzer originally by Supriya Kumar

Adjustments during merge:

* Minor whitespace cleanups
* Some bro to zeek renaming
* Fixed the parsing of unsubscribe messages to generate an event for each topic
2019-07-31 21:29:38 -07:00
Jon Siwek
a1d8a21005 Guarantee unique internal name for each lambda function
By dealing with hash collisions.
2019-07-31 14:10:29 -07:00
Jon Siwek
8575c9daed Use consistent hashing method for internal lambda function names
The results of std::hash<std::string> may vary depending on platform.
E.g. test suite failed on macOS due to Linux generating different lambda
function names.
2019-07-31 12:06:27 -07:00
Seth Hall
8b6a517c00 Fixes a tiny Bro->Zeek renaming issue 2019-07-31 14:17:46 -04:00
Seth Hall
7626344122 Tiny tweaks to try and address ticket #506 2019-07-31 11:17:53 -04:00
Jon Siwek
d1770853b3 Merge remote-tracking branch 'origin/topic/dev/non-ascii-logging'
* origin/topic/dev/non-ascii-logging:
  Removed Policy Script for UTF-8 Logs
  Commented out UTF-8 Script in Test All Policy
  Minor Style Tweak
  Use getNumBytesForUTF8 method to determine number of bytes
  Added Jon's test cases as unit tests
  Prioritizes escaping predefined Escape Sequences over Unescaping UTF-8 Sequences
  Added additional check to confirm anything unescaping is a multibyte UTF-8 sequence, addressing the test case Jon brought up
  Added optional script and redef bool to enable utf-8 in ASCII logs
  Initial Commit, removed std::isprint check to escape

Made minor code format and logic adjustments during merge.
2019-07-30 19:42:34 -07:00
Robin Sommer
bae60aee31 Merge remote-tracking branch 'origin/topic/jsiwek/fix-expire-func-leaks'
* origin/topic/jsiwek/fix-expire-func-leaks:
  Fix memory leaks in expire_func introduced by recent changes
2019-07-30 18:12:58 +00:00
Jon Siwek
db9f81a890 Merge branch 'topic/jsbarber/rexmit-patch' of https://github.com/jsbarber/zeek
* 'topic/jsbarber/rexmit-patch' of https://github.com/jsbarber/zeek:
  Duplicate TCP segment should trigger tcp_multiple_retransmissions
2019-07-29 20:16:48 -07:00
Robin Sommer
13c373086d Merge remote-tracking branch 'origin/topic/zeke/closures' 2019-07-30 02:32:34 +00:00
Jon Siwek
01611177f7 Fix memory leaks in expire_func introduced by recent changes 2019-07-29 18:07:35 -07:00
Dev Bali
3d10ba3515 Minor Style Tweak 2019-07-29 14:50:57 -07:00
Seth Hall
9931b07fae Fix some whitespace issues 2019-07-29 16:00:34 -04:00
Dev Bali
c59a7279f0 Use getNumBytesForUTF8 method to determine number of bytes 2019-07-29 12:55:24 -07:00
Seth Hall
e2596b1c64 Merge branch 'smb2-set-info-ext' of git://github.com/mauropalumbo75/zeek into mauropalumbo75-smb2-set-info-ext 2019-07-29 15:44:13 -04:00
Seth Hall
7bf856768a Bug fixes and test baseline updates
- ConnAckMsg return_code wasn't passed as a count on accident.
 - Some renaming items were missing due to the age of this code.
2019-07-29 15:12:11 -04:00
Seth Hall
a42b3a1d63 MQTT Analyzer heavily updated and ported from the analyzer originally by Supriya Kumar
This analyzer generates three logs to fully display what is happening over the MQTT connection.
  - mqtt_connect.log
  - mqtt_subscribe.log
  - mqtt_publish.log

At this time it only supports MQTT 3.1 and 3.1.1
2019-07-29 13:45:10 -04:00
Johanna Amann
7f5d76b2c3 Update submodule
[nomail]
2019-07-29 10:22:38 -07:00
Johanna Amann
02f19f7420 Merge remote-tracking branch 'origin/topic/jsiwek/gh-491-vector-of-enum-ctor'
* origin/topic/jsiwek/gh-491-vector-of-enum-ctor:
  Improve type inference for vector-of-enum constructor
2019-07-29 09:30:04 -07:00
Johanna Amann
486bf1e713 Merge remote-tracking branch 'origin/topic/timw/cleaner-utf8'
* origin/topic/timw/cleaner-utf8:
  GHI-486: Switch over to using LLVM utf8-checking code to better validate characters

I addressed a buffer over-read during the merge and added test-cases for
it.
2019-07-29 09:25:25 -07:00
Jeff Barber
4336de6651 Duplicate TCP segment should trigger tcp_multiple_retransmissions 2019-07-28 15:15:40 -06:00
Jon Siwek
4d0e9491bc Fix undefined behavior via casting file analyzers to protocol analyzers
When generating some events for PE and X509 file analyzers, there's
an invalid cast from file_analysis::Analyzer to analyzer::Analyzer
and subsequent invalid member access via analyzer::Analyzer::GetID()
called on what is really a pointer to a file analyzer.
2019-07-26 18:39:36 -07:00
Jon Siwek
3de730957f Fix undefined behavior via hrw_weight BIF signed int overflow 2019-07-26 18:25:11 -07:00
Jon Siwek
2e9f6bec76 Fix undefined behavior via invalid TCP analyzer cast
A connection's root analyzer isn't necessarily TCP and an unchecked
C-style cast is undefined behavior in those cases.
2019-07-26 18:17:44 -07:00
Jon Siwek
70aa886806 Improve type inference for vector-of-enum constructor 2019-07-25 23:27:47 -07:00
Zeke Medley
e6464dae79 fix bug in serialization test 2019-07-25 11:53:16 -07:00
Zeke Medley
bdc8e0e6c4 Merge branch 'master' of https://github.com/zeek/zeek into topic/robin/closures-merge 2019-07-25 11:23:40 -07:00
Zeke Medley
cef94832f1 Frame merge and cleanup for merge. 2019-07-25 11:19:17 -07:00
Tim Wojtulewicz
ad19f1e1bb GHI-486: Switch over to using LLVM utf8-checking code to better validate characters 2019-07-24 10:58:00 -07:00
Dev Bali
3efbea0b84 Prioritizes escaping predefined Escape Sequences over Unescaping UTF-8 Sequences 2019-07-23 11:59:33 -07:00
Dev Bali
d6bcdfce52 Added additional check to confirm anything unescaping is a multibyte UTF-8 sequence, addressing the test case Jon brought up 2019-07-23 11:59:33 -07:00
Dev Bali
66557d3178 Added optional script and redef bool to enable utf-8 in ASCII logs 2019-07-23 11:59:33 -07:00
System Administrator
6927dd1213 Initial Commit, removed std::isprint check to escape 2019-07-23 11:59:33 -07:00
Johanna Amann
ff4845aa80 Merge branch 'master' of github.com:zeek/zeek 2019-07-22 12:46:21 -07:00
Johanna Amann
3159577821 Merge remote-tracking branch 'origin/topic/zeke/expire-func'
* origin/topic/zeke/expire-func:
  Ignore abs-path in test.
  Report argument # type check failed on.
  Update test baseline.
  Improve func arg type checking.
  &expire_func(table, arg1, arg2, ...) + type checking.
2019-07-22 12:44:55 -07:00
Jon Siwek
19dc0f8be9 Merge branch 'topic/timw/algorithms'
* topic/timw/algorithms:
  Remove List::append deprecation
  Mark List::append/insert deprecated in favor of push_back/push_front for consistency with Queue
  Mark List::sort as deprecated, remove List::sortedinsert
  Change container iterators to just use pointers directly into the container elements
2019-07-22 12:24:14 -07:00