Commit graph

9059 commits

Author SHA1 Message Date
Jon Siwek
fd11c63efe Remove an unhelpful/optimistic DNS_Mgr optimization
DNS_Mgr is always "idle", so Process() is always called when the
fd signals there's really something ready (except when flushing
at termination-time), so checking whether all pending request maps
are empty within Process() doesn't help much.  If they are empty,
but there's somehow something to pull off the socket, the main loop
is just going to keep trying to call Process() until it gets read
(which would be bad if it's preventing another IOSource from getting
real work done).
2019-05-01 22:55:43 -07:00
Jon Siwek
5bb2a6b1c0 Fix DNS_Mgr priority_queue usage
It was sorting by memory address stored in AsyncRequest pointers
rather than their actual timestamp.
2019-05-01 22:51:54 -07:00
Jon Siwek
5bccb44ad4 Remove dead code from DNS_Mgr 2019-05-01 22:50:47 -07:00
Jon Siwek
6db576195c Improve DNS_Mgr I/O loop: prevent starvation due to busy Broker 2019-05-01 22:46:10 -07:00
Jon Siwek
a8281ff9f9 Fix a ref counnting bug in DNS_Mgr 2019-05-01 22:42:41 -07:00
Robin Sommer
6a726afed9 Updating submodule. 2019-05-02 00:12:03 +00:00
Robin Sommer
789cb376fd GH-239: Rename bro to zeek, bro-config to zeek-config, and bro-path-dev to zeek-path-dev.
This also installs symlinks from "zeek" and "bro-config" to a wrapper
script that prints a deprecation warning.

The btests pass, but this is still WIP. broctl renaming is still
missing.

#239
2019-05-01 21:43:45 +00:00
Jon Siwek
375b151a4b Update external pointer to zeek-testing repo 2019-05-01 14:18:05 -07:00
Johanna Amann
29d9b5b554 Merge remote-tracking branch 'origin/topic/jsiwek/plist-and-event-cleanup'
* origin/topic/jsiwek/plist-and-event-cleanup:
  Add comments to QueueEvent() and ConnectionEvent()
  Add methods to queue events without handler existence check
  Cleanup/improve PList usage and Event API
2019-05-01 08:41:13 -07:00
Jon Siwek
32473b85b0 Force the Broker IOSource to idle periodically
Previously, if there was always input in each Process() call, then
the Broker IOSource would never go idle and could completely starve
out a packet IOSource since it would always report readiness with
a timestamp value of the last known network_time (which prevents
selecting a packet IOSource for processing, due to incoming packets
likely having timestamps that are later).
2019-04-30 20:53:38 -07:00
Jon Siwek
c67da0a3cb Add comments to QueueEvent() and ConnectionEvent()
And also their "Fast" variants.
2019-04-29 19:21:18 -07:00
Jon Siwek
9a461d26e4 Updating CHANGES and VERSION. 2019-04-29 18:34:40 -07:00
Jon Siwek
f7c1cde7c7 Remove 'dns_resolver' option, replace w/ ZEEK_DNS_RESOLVER env. var.
The later simply doesn't work well in conjunction with hostname
literals.  i.e. "google.com" (without quotes) needs to be resolved
to a set of addresses at parse-time, so if a user wishes to use a
custom resolver, we need that to be configured independently from
the order in which scripts get parsed.  Configuring 'dns_resolver'
via scripting "redef" is clearly dependent on parse order.

Note 'dns_resolver' hasn't been in any release version yet, so
I'm removing it outright, no deprecation.  The ZEEK_DNS_RESOLVER
environment variable now serves the original purpose.
2019-04-29 18:09:29 -07:00
Robin Sommer
b9dad02615 Reimplement copy().
The old implementation used the serialization framework, which is
going away. This is a new standalone implementation that should also
be quite a bit faster.

WIP: Not fully implemented and tested yet.
2019-04-29 16:52:01 -07:00
Johanna Amann
4dc6ac5382 Include all data of the server-hello random
Before we cut the first 4 bytes, which makes it impossible to recognize
several newer packets (like the hello retry).
2019-04-29 15:25:47 -04:00
Johanna Amann
27438644ae Merge remote-tracking branch 'origin/master' into topic/johanna/tls13-details 2019-04-29 13:03:12 -04:00
Jon Siwek
49908ac865 Fix parsing of hybrid IPv6-IPv4 addr literals with no zero compression 2019-04-26 19:29:40 -07:00
Jon Siwek
cc83b8ce8e Updating submodule(s).
[nomail]
2019-04-26 09:43:57 -07:00
Jon Siwek
a93e9317d5 Updating submodule(s).
[nomail]
2019-04-25 12:00:21 -07:00
Jon Siwek
05b4d2a26c Add Zeexygen cross-reference links for some events 2019-04-25 10:23:00 -07:00
Jon Siwek
4c6b35970d Merge remote-tracking branch 'origin/topic/vern/expose-TCP-statics'
* origin/topic/vern/expose-TCP-statics:
  expose some TCP analyzer utility functions for use by derived classes
2019-04-23 18:43:54 -07:00
Vern Paxson
85acdc14e4 expose some TCP analyzer utility functions for use by derived classes 2019-04-23 16:40:58 -07:00
Jon Siwek
aebcb1415d GH-234: rename Broxygen to Zeexygen along with roles/directives
* All "Broxygen" usages have been replaced in
  code, documentation, filenames, etc.

* Sphinx roles/directives like ":bro:see" are now ":zeek:see"

* The "--broxygen" command-line option is now "--zeexygen"
2019-04-22 19:45:50 -07:00
Johanna Amann
e85a016521 Parse pre-shared-key extension.
No documentation yet...
2019-04-22 23:02:39 +02:00
Johanna Amann
5ba46eaa71 update SSL consts from TLS 1.3 2019-04-22 22:57:45 +02:00
Jon Siwek
d5803d7047 Merge remote-tracking branch 'origin/topic/vern/content-gap-history'
* origin/topic/vern/content-gap-history:
  Refined state machine update placement to (1) properly deal with gaps capped by clean FIN handshakes, and (1) fix failure to detect split routing.
  added 'g' $history character for content gaps
2019-04-22 12:40:40 -07:00
Jon Siwek
f15c99c82e Updating submodule(s).
[nomail]
2019-04-22 11:19:52 -07:00
Vern Paxson
9c8ad11d92 Refined state machine update placement to (1) properly deal with gaps capped
by clean FIN handshakes, and (1) fix failure to detect split routing.

Fixed typo flagged by Pierre Lalet.
2019-04-22 09:13:23 -07:00
Jon Siwek
3ea34d6ea3 GH-236: Add zeek_script_loaded event, deprecate bro_script_loaded 2019-04-19 12:02:22 -07:00
Jon Siwek
a994be9eeb Merge remote-tracking branch 'origin/topic/seth/zeek_init'
* origin/topic/seth/zeek_init:
  Some more testing fixes.
  Update docs and tests for bro_(init|done) -> zeek_(init|done)
  Implement the zeek_init handler.
2019-04-19 11:24:29 -07:00
Jon Siwek
7144661930 GH-340: Improve IPv4/IPv6 regexes, extraction, and validity functions
* is_valid_ip() is now implemented as a BIF instead of in
  base/utils/addrs

* The IPv4 and IPv6 regular expressions provided by base/utils/addrs
  have been improved/corrected (previously they could possibly match
  some invalid IPv4 decimals, or various "zero compressed" IPv6 strings
  with too many hextets)

* extract_ip_addresses() should give better results as a result of
  the above two points
2019-04-18 19:04:39 -07:00
Johanna Amann
9421ee0293 Merge branch 'topic/jsbarber/fix-topk-merge-core-dump' of https://github.com/jsbarber/bro
* 'topic/jsbarber/fix-topk-merge-core-dump' of https://github.com/jsbarber/bro:
  Prevent topk_merge from crashing when second argument is empty set
2019-04-18 09:36:48 +02:00
Jon Siwek
5f3e608b60 Fix unit test failures on case-insensitive file systems
The original casing mistake in the test only pops up now due to the
new .zeek over .bro file loading preference
2019-04-17 16:47:01 -07:00
Jon Siwek
31e9ae0fed Updating submodule(s).
[nomail]
2019-04-17 16:02:38 -07:00
Vern Paxson
915189a06a added 'g' $history character for content gaps 2019-04-17 14:20:48 -07:00
Jon Siwek
ae4129d2b6 Updating submodule(s).
[nomail]
2019-04-16 18:06:55 -07:00
Jon Siwek
f21e11d811 GH-237: add @load foo.bro -> foo.zeek fallback
When failing to locate a script with explicit .bro suffix, check for
whether one with a .zeek suffix exists and use it instead.
2019-04-16 17:49:37 -07:00
Jon Siwek
8f82ecc66d Updating submodule(s).
[nomail]
2019-04-16 16:37:12 -07:00
Jon Siwek
1e57e3f026 Use .zeek file suffix in unit tests 2019-04-16 16:08:57 -07:00
Jon Siwek
93d384adeb Updating submodule(s).
[nomail]
2019-04-16 12:43:44 -07:00
Jon Siwek
4574799609 Merge branch 'master' of https://github.com/dnthayer/zeek
* 'master' of https://github.com/dnthayer/zeek:
  Update tests and baselines due to renaming all scripts
  Rename all scripts to have ".zeek" file extension
  Update a few tests due to scripts with new file extension
  Add test cases to verify new file extension is recognized
  Fix the core/load-duplicates.bro test
  Update script search logic for new file extension
  Remove unnecessary ".bro" from @load directives
2019-04-16 11:57:16 -07:00
Seth Hall
9d676d368b Some more testing fixes. 2019-04-14 09:58:30 -04:00
Seth Hall
5db766bd88 Update docs and tests for bro_(init|done) -> zeek_(init|done) 2019-04-14 08:49:12 -04:00
Seth Hall
8cefb9be42 Implement the zeek_init handler.
Implements the change and a test.
2019-04-14 08:37:35 -04:00
Daniel Thayer
9cbeb44986 Merge remote-tracking branch 'upstream/master' 2019-04-14 01:35:50 -05:00
Jon Siwek
f96bc81f85 Updating submodule(s).
[nomail]
2019-04-12 16:44:14 -07:00
Jon Siwek
1c7e41e506 Updating submodule(s).
[nomail]
2019-04-12 13:21:10 -07:00
Jon Siwek
8a2371c7ea Merge branch 'smb2_write_response' of https://github.com/mauropalumbo75/zeek
* 'smb2_write_response' of https://github.com/mauropalumbo75/zeek:
  smb2_write_response event added

Fixed the unit test to ignore bad checksums in the pcap
2019-04-12 10:13:41 -07:00
Daniel Thayer
4e0c1997a0 Update tests and baselines due to renaming all scripts 2019-04-11 23:32:58 -05:00
Jon Siwek
b6862c5c59 Add methods to queue events without handler existence check
Added ConnectionEventFast() and QueueEventFast() methods to avoid
redundant event handler existence checks.

It's common practice for caller to already check for event handler
existence before doing all the work of constructing the arguments, so
it's desirable to not have to check for existence again.

E.g. going through ConnectionEvent() means 3 existence checks:
one you do yourself before calling it, one in ConnectionEvent(), and then
another in QueueEvent().

The existence check itself can be more than a few operations sometimes
as it needs to check a few flags that determine if it's enabled, has
a local body, or has any remote receivers in the old comm. system or
has been flagged as something to publish in the new comm. system.
2019-04-11 20:30:25 -07:00