Commit graph

6667 commits

Author SHA1 Message Date
Bernhard Amann
cd78005d09 Merge remote-tracking branch 'origin/master' into topic/bernhard/input-threads 2012-03-07 13:43:48 -08:00
Bernhard Amann
b31230d429 Merge remote-tracking branch 'origin/topic/robin/log-threads' into topic/bernhard/input-threads 2012-03-07 13:43:27 -08:00
Bernhard Amann
7076c64a5e Merge remote-tracking branch 'origin/topic/robin/log-threads' into topic/bernhard/input-threads
(and move a little bit of functionality from ascii reader to backend)

Conflicts:
	src/threading/Manager.cc
2012-03-07 13:42:49 -08:00
Jon Siwek
76ef36e048 Add a few comments to IP.h 2012-03-07 14:17:56 -06:00
Jon Siwek
65307764f4 Fix some IPv6 header related bugs.
- IPv6 payload length calculation didn't count main 40 byte IPv6 header.
- Fix how IPv6 headers that use TLV options are built.
- Fix ip6_hdr_chain$ext_order starting index at 1 instead of 0.
2012-03-07 12:40:01 -06:00
Jon Siwek
9d590456b0 Add IPv6 fragment reassembly. 2012-03-06 16:08:28 -06:00
Jon Siwek
a0e07018f4 Merge branch 'master' into topic/jsiwek/ipv6-ext-headers 2012-03-05 09:31:53 -06:00
Jon Siwek
eb9f686bb2 Add handling for IPv6 extension header chains (addresses #531)
- The script-layer 'pkt_hdr' type is extended with a new 'ip6' field
  representing the full IPv6 header chain.

- The 'new_packet' event is now raised for IPv6 packets (addresses #523)

- A new event called 'ipv6_ext_header' is raised for any IPv6 packet
  containing extension headers.

- A new event called 'esp_packet' is raised for any packets using ESP
  ('new_packet' and 'ipv6_ext_header' events provide connection info,
  but that info can't be provided here since the upper-layer payload
  is encrypted).

- The 'unknown_protocol' weird is now raised more reliably when Bro
  sees a transport protocol or IPv6 extension header it can't handle.
  (addresses #522)

Still need to do IPv6 fragment reassembly and needs more testing.
2012-03-02 20:20:57 -06:00
Daniel Thayer
9d1e51a91e More code cleanup 2012-03-02 13:52:45 -06:00
Jon Siwek
fef671e4a6 Fix a BRO_PROFILER_FILE/mkstemp portability issue. (addresses #794) 2012-03-02 12:40:25 -06:00
Daniel Thayer
6eb9f63e17 Add more icmpv6 events, and general code cleanup 2012-03-02 12:29:18 -06:00
Daniel Thayer
e9728d82ab Merge remote-tracking branch 'origin/master' into topic/icmp6 2012-03-02 10:50:05 -06:00
Robin Sommer
554a29b3ed Preventing busy looping when no threads have been spawned. 2012-03-01 16:04:34 -08:00
Robin Sommer
6429d1248a Prevent manager from busy looping.
I saw this with the new threading code but I'm wondering if it also
helps with the "high CPU usage with low traffiv volume" problem.
2012-03-01 16:00:30 -08:00
Jon Siwek
ef5e9caaf4 Changes to how script coverage integrates with test suites.
- BRO_PROFILER_FILE now passes .X* templated filenames to mkstemp
  for generating unique coverage state files.  All test suites
  now use this so each Bro instance writes to a unique coverage file.
- Rearranging Makefile targets.  The general rule is that if the
  all/brief target fails out due to a test failure, then the dependent
  coverage target won't run, but can still be invoked directly later.
  (e.g. make brief || make coverage)
2012-03-01 13:00:44 -06:00
Robin Sommer
56dd7918d0 Adding missing includes needed on FreeBSD. 2012-02-29 16:46:21 -08:00
Robin Sommer
df874f0f62 A number of bugfixes for the recent threading updates.
All tests pass now except one:

scripts.base.frameworks.metrics.cluster-intermediate-update

Couldn't figure out yet why that still fails.
2012-02-29 16:10:40 -08:00
Daniel Thayer
6a3d0147a8 Fix compile failure after merge from master 2012-02-29 11:29:28 -06:00
Seth Hall
b3764dcad5 Cleaned up dead code from the old SSL analyzers. (Reported by Julien Sentier) 2012-02-29 09:43:37 -05:00
Daniel Thayer
54d5d38fd3 Merge remote-tracking branch 'origin/master' into topic/icmp6
Conflicts:
	src/Sessions.cc
2012-02-28 18:39:31 -06:00
Robin Sommer
629ec31ec2 Merge remote-tracking branch 'origin/master' into topic/robin/log-threads
Conflicts:
	aux/broccoli
	src/ConnCompressor.cc
2012-02-28 16:00:18 -08:00
Robin Sommer
edc9bb14af Making exchange of addresses between threads thread-safe.
As we can't use the IPAddr class (because it's not thread-safe), this
involved a bit manual address manipulation and also shuffling some
things around a bit.

Not fully working yet, the tests for remote logging still fail.
2012-02-28 15:57:43 -08:00
Bernhard Amann
6e312cfebd Merge remote-tracking branch 'origin/topic/robin/log-threads' into topic/bernhard/input-threads 2012-02-27 23:00:45 -08:00
Bernhard Amann
417542f283 Merge branch 'topic/bernhard/log-threads' into topic/bernhard/input-threads
Seems to work -- all test pass.
But there are thread-safety issues at the moment, because the constructors of IPAddr and IPPrefix are not thread-safe, but needed by workers.

Conflicts:
	src/logging/Manager.cc
2012-02-27 22:59:08 -08:00
Robin Sommer
14916b43f6 Readding deleted functions.
These are needed in debug mode in turns out.
2012-02-27 21:39:56 -08:00
Robin Sommer
59773db8a9 Merge remote-tracking branch 'origin/topic/jsiwek/remove-conn-compressor'
* origin/topic/jsiwek/remove-conn-compressor:
  Remove connection compressor (addresses #559).

Conflicts:
	src/ConnCompressor.cc

Closes #559.
2012-02-27 21:07:09 -08:00
Robin Sommer
4558195dab Merge remote-tracking branch 'origin/topic/bernhard/log-threads' into topic/robin/log-threads
* origin/topic/bernhard/log-threads:
  remove unnecessary error function from manger
2012-02-27 19:07:06 -08:00
Robin Sommer
d24cdd3ba3 Merge remote-tracking branch 'origin/master' into topic/robin/log-threads
Conflicts:
	src/LogMgr.h
	src/RemoteSerializer.cc
	src/logging/Manager.cc
	src/logging/writers/Ascii.cc
	src/net_util.cc
2012-02-27 19:05:47 -08:00
Daniel Thayer
0a659c0907 Merge remote-tracking branch 'origin/master' into topic/icmp6 2012-02-27 13:33:05 -06:00
Jon Siwek
dfad686d7c Refactor IP_Hdr class ctors (addresses #532).
They now take an explicit flag argument toggling whether the other
pointer argument needs to be released on destruction.
2012-02-27 12:25:41 -06:00
Jon Siwek
e07470c7f1 Remove connection compressor (addresses #559). 2012-02-27 11:35:25 -06:00
Robin Sommer
ada5f38d04 Merge branch 'master-merge-helper'
* master-merge-helper:
  possible use after free forbidden
  Suppression of unused code
  Fix of some memory leaks
  removing dead code
  A destructor must free the memory allocated by the constructor
  Good overridance with the good qualifier
  Better use of operators priorities
  protection from bad frees on unallocated strings
2012-02-24 16:37:45 -08:00
Robin Sommer
d2b2157454 Fixing merge relict. 2012-02-24 15:52:15 -08:00
Julien Sentier
900cc8f2ab possible use after free forbidden 2012-02-24 15:39:50 -08:00
Julien Sentier
d65b2f12c6 Suppression of unused code 2012-02-24 15:39:50 -08:00
Julien Sentier
2e069c9596 Fix of some memory leaks 2012-02-24 15:39:50 -08:00
Julien Sentier
a3e419fee0 removing dead code 2012-02-24 15:39:50 -08:00
Julien Sentier
1df650eb0d A destructor must free the memory allocated by the constructor 2012-02-24 15:39:49 -08:00
Julien Sentier
7dfb5657a2 Good overridance with the good qualifier 2012-02-24 15:39:49 -08:00
Julien Sentier
b84fd05912 Better use of operators priorities 2012-02-24 15:39:49 -08:00
Julien Sentier
c2ee15b09f protection from bad frees on unallocated strings 2012-02-24 15:39:49 -08:00
Robin Sommer
2eeac54857 Merge remote-tracking branch 'origin/fastpath'
* origin/fastpath:
  Add to_subnet bif (fixes #782).
  Refactor IPAddr v4 initialization from string. (fixes #775)

Closes #782.
Closes #775.
Closes #784.
2012-02-24 15:26:18 -08:00
Robin Sommer
3323692771 Merge remote-tracking branch 'origin/topic/jsiwek/ipaddr-refactoring'
* origin/topic/jsiwek/ipaddr-refactoring:
  Refactoring various usages of new IPAddr class.

Conflicts:
	src/bro.bif

Closes #784.
2012-02-24 15:21:57 -08:00
Robin Sommer
4ef8607e60 Merge remote-tracking branch 'origin/topic/dnthayer/ftp-ipv6'
* origin/topic/dnthayer/ftp-ipv6:
  Add test case for FTP over IPv4
  Fix IPv6 URLs
  Add a test for FTP over IPv6
  Update FTP EPSV response processing for IPv6
  Fix parsing of FTP EPRT command and EPSV response

Conflicts:
	src/bro.bif

Closes #778.
2012-02-24 15:00:41 -08:00
Jon Siwek
32aabe8432 Add to_subnet bif (fixes #782).
Also fix IPAddr::Mask/ReverseMask not allowing argument of 0.

And clarified return value of to_addr bif when the input string
does not parse into a valid IP address.
2012-02-24 12:34:29 -06:00
Bernhard Amann
d553a3c6f6 fix strange bug when using predicates and events at the same time on a tablefilter.
Testcase is now more involved.
2012-02-23 15:30:39 -08:00
Bernhard Amann
d81607c3e9 fix empty field bug in threaded version 2012-02-23 14:36:04 -08:00
Jon Siwek
c84394d07f Refactor IPAddr v4 initialization from string. (fixes #775)
Revived code from old dotted_to_addr function to parse the
dotted address string directly instead of canonicalizing and
passing to inet_pton.
2012-02-22 15:44:05 -06:00
Jon Siwek
d7dafe2fe2 Refactoring various usages of new IPAddr class.
Reducing number of places that internal representation was exposed
via GetBytes/CopyIPv6.

Also fixed a bug in remask_addr bif.
2012-02-22 14:45:44 -06:00
Bernhard Amann
93fac7a4be fix one of the bugs seth found in the input framework.
(bug in PutTable when the table contained only one element and that element should not be wrapped into a record)
2012-02-22 10:46:35 -08:00