Commit graph

6667 commits

Author SHA1 Message Date
Vern Paxson
f3fa8a7c0b revised error-reporting interface for ZVal's, to accommodate ZAM inner loop 2021-05-30 18:36:21 -07:00
Vern Paxson
d524318154 faster construction of records by factoring static decisions into RecordType's 2021-05-30 18:25:15 -07:00
Vern Paxson
c81a331944 make "switch" internals accessible to ZAM; tidying of same 2021-05-30 18:13:17 -07:00
Vern Paxson
c662f8fbe8 factor out "cast" functionality to make available to lower-level ZAM access 2021-05-30 18:11:08 -07:00
Vern Paxson
1cbec158f3 tidying for check_and_promote_expr 2021-05-30 18:09:53 -07:00
Vern Paxson
8044926e00 employ explicit conversions to/from "any" and "vector of any" types 2021-05-30 18:05:11 -07:00
Vern Paxson
292bd1b671 more robust treatment of arithmetic coercions 2021-05-30 18:02:30 -07:00
Vern Paxson
e06d988bfd support for constructing VectorVal's directly from underlying ZVal vectors 2021-05-30 17:58:53 -07:00
Vern Paxson
fb01f6fdef support for ensuring that a vector can be treated as having a homogeneous type 2021-05-30 17:55:03 -07:00
Vern Paxson
65be1b5d76 factoring out of low-level vector indexing to make available to ZAM 2021-05-30 17:51:54 -07:00
Vern Paxson
0742d2da29 minor changes for more robust behavior in the face of errors 2021-05-30 17:49:08 -07:00
Vern Paxson
b7c9940221 gracefully deal with "eval" exceptions that occur during AST reduction 2021-05-30 17:48:14 -07:00
Vern Paxson
9a429808ab directly construct records of known types, rather than requiring coercion 2021-05-30 17:47:28 -07:00
Vern Paxson
d165db6909 fixes for treating WhileStmt's "loop_cond_pred_stmt" as a first-class citizen 2021-05-30 17:46:09 -07:00
Vern Paxson
9900a3468c support for profiling function bodies w/o needing accompanying ScriptFunc object 2021-05-30 17:44:24 -07:00
Vern Paxson
6a0bee1108 support for Frame's having call locations even if no associated CallExpr 2021-05-30 17:43:17 -07:00
Vern Paxson
143d306883 fix for AST optimization altering top-level body statement 2021-05-30 17:37:44 -07:00
Vern Paxson
22af54dda2 fix for analyzing variable usage inside of table initializers 2021-05-30 17:36:41 -07:00
Vern Paxson
86aafb7c84 fix for inlining type-based switch statements 2021-05-30 17:36:07 -07:00
Vern Paxson
0de51b31b1 fix for computing |size| of files and subnets 2021-05-30 17:33:49 -07:00
Vern Paxson
9ba7e95bad fix for tracking the effects of += operations 2021-05-30 17:32:29 -07:00
Vern Paxson
4ee8bd0082 Expr method to invert the sense of a relational 2021-05-30 17:31:22 -07:00
Vern Paxson
b1e95d68e0 Trigger constructor (and factoring) to support lower-level constructions 2021-05-30 17:28:25 -07:00
Vern Paxson
a16a25efbd fixed / removed out-of-date comments, tidied check_and_promote_args() interface 2021-05-30 17:25:40 -07:00
Vern Paxson
efd03d41f8 convert scopes to be managed using IntrusivePtr's 2021-05-30 17:20:29 -07:00
Vern Paxson
f2f041b63b various accessors used by ZAM compiler 2021-05-30 17:16:03 -07:00
Tim Wojtulewicz
0e34f2e02f Fix handling of IP packets with bogus IP header lengths
Credit to OSS-Fuzz for discovery
https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=34711
(Link to details becomes public 30 days after patch release)
2021-05-27 16:33:50 -07:00
Jon Siwek
77f1ede661 GH-839: Fix use of &optional sub-records within table/set indices 2021-05-26 13:28:13 -07:00
Tim Wojtulewicz
5f57daf9d1 Ensure SessionAdapter members are initialized
Fixes Coverity #1453273
2021-05-26 10:53:08 -07:00
Dominik Charousset
44ca01eb18 Merge branch master into topic/neverlord/telemetry-scraper 2021-05-26 08:06:13 +02:00
Dominik Charousset
3f4b340abb Integrate review feedback 2021-05-26 08:05:14 +02:00
Dominik Charousset
7767c3d36c Sync new broker options, fix name inconsistencies 2021-05-25 17:22:45 +02:00
Robin Sommer
355ecc0c43 Extend the file analyzer API to set source manually.
The API didn't offer methods for passing in data that allow setting
all of offset, source and MIME type. Adding overloads for that (no
breakage to existing APIs).
2021-05-25 13:33:25 +02:00
Jon Siwek
cdab601223 Replace toupper() usages in netbios decoding BIFs
This avoids potential for locale-dependent results of toupper() by
instead using a function that simply maps ASCII characters a-z to A-Z.
2021-05-24 13:11:47 -07:00
Dominik Charousset
f9cd05f00b Integrate new Broker metric exporter parameters 2021-05-24 17:20:48 +02:00
Tim Wojtulewicz
54271657a8 Add some extra length checking when parsing mobile ipv6 packets
Credit to OSS-Fuzz for discovery
https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=34263
(Link to details becomes public 30 days after patch release)
2021-05-20 15:32:07 -07:00
Tim Wojtulewicz
3a8047f535 Add type field to session::Key to help avoid collisions in map 2021-05-20 11:00:11 -07:00
Tim Wojtulewicz
30ab914cd8 Move bad UDP checksum handling into adapter object 2021-05-18 15:19:12 -07:00
Tim Wojtulewicz
b22ce6848f Rename IPBasedTransportAnalyzer to SessionAdapter
This also also combines the old TransportLayerAnalyzer class into
SessionAdapter, and removes the old class. This requires naming changes
in a few places but no functionality changes.
2021-05-18 15:19:12 -07:00
Tim Wojtulewicz
c56fb3e8e4 Move building session analyzer tree out of analyzer::Manager 2021-05-18 11:52:04 -07:00
Tim Wojtulewicz
7dc803f7bb Rework the packet flow through the IP-based analyzers 2021-05-18 11:52:04 -07:00
Tim Wojtulewicz
c21af39a30 Add new UDP packet analyzer, remove old one 2021-05-18 11:52:04 -07:00
Tim Wojtulewicz
d8adfaef65 Add new ICMP packet analyzer, remove old one 2021-05-18 11:52:03 -07:00
Tim Wojtulewicz
c1f0d312b5 Add base class for IP-based packet analyzers 2021-05-18 11:52:03 -07:00
Tim Wojtulewicz
3e1692676d Move SessionManager::ParseIPPacket to IP analyzer's namespace 2021-05-18 11:52:03 -07:00
Tim Wojtulewicz
0c3e3069d0 Added skeletons for TCP/UDP/ICMP packet analysis plugins.
This includes integration into the IP plugin and calling of the sessions code from each plugin.
2021-05-18 11:52:03 -07:00
Jon Siwek
8996dfbfef Omit unneeded decimal points in modp_dtoa2() scientific notation output
For example, "1e-13" is now used instead of "1.e-13".
2021-05-17 17:56:19 -07:00
Jon Siwek
48ee0f31a1 GH-1244: Change modp_dtoa2() to use scientific notation for small values
This fixes problems where printing floating point numbers less than
10^-6 output as "0.0".  Such numbers now use using scientific notation
and preserve the value's actual floating point representation.
2021-05-17 17:44:23 -07:00
Tim Wojtulewicz
6ab317f7bd GH-1546: Make DictIterator() public, add copy/move operators 2021-05-17 11:57:17 -07:00
Jon Siwek
45b2d3b4f2 GH-1558: Fix reading vector of enum types from config files 2021-05-14 16:59:51 -07:00