Benjamin Bannier
f5a76c1aed
Reformat Zeek in Spicy style
...
This largely copies over Spicy's `.clang-format` configuration file. The
one place where we deviate is header include order since Zeek depends on
headers being included in a certain order.
2023-10-30 09:40:55 +01:00
Vern Paxson
417a99ed0d
minor updates to -O gen-C++ maintenance notes and scripts
2023-09-27 15:56:31 -07:00
Vern Paxson
434a7e059d
introduce internal "mask" expression node to avoid mixed-type overloading of "/"
2023-09-26 14:39:26 -07:00
Vern Paxson
80eed34985
-O gen-C++ fixes for compatibility with GH-3249 changes
...
minor -O gen-C++ BTest updates
2023-09-01 12:17:38 -07:00
Vern Paxson
e8f4e54475
change Trigger constructor to not potentially auto-delete itself
2023-08-28 10:17:26 -07:00
Vern Paxson
1473149579
updated notes regarding "-O gen-C++" maintenance
2023-08-24 11:47:01 -07:00
Vern Paxson
81a9745fb3
"-O gen-C++" support for "assert" statements
2023-08-24 11:46:59 -07:00
Vern Paxson
4928e074d4
addressed some nits re "-O gen-C++" script optimization
2023-08-16 17:04:39 -07:00
Vern Paxson
6af0014a7b
fixes for compiling lambdas to C++
2023-08-16 17:03:37 -07:00
Tim Wojtulewicz
067bbf82fb
Fix script_opt/cpp test scripts to work correctly on all platforms
2023-07-25 08:39:31 -07:00
Tim Wojtulewicz
c9f6b3463f
CPP code-gen: Use std::move for constructor arguments
2023-07-25 08:39:31 -07:00
Tim Wojtulewicz
73adf2bf01
CPP code-gen: Mark child classes final, remove final from function defs
2023-07-25 08:39:31 -07:00
Vern Paxson
10797bb955
-O gen-C++ fix for recent smart pointer changes
2023-07-13 15:05:16 -07:00
Vern Paxson
5480dc8869
fixes for compiling function calls that return non-error nil ValPtr's
2023-07-13 13:06:42 -07:00
Tim Wojtulewicz
64b78f6fb9
Use emplace_back over push_back where appropriate
2023-07-07 09:17:05 -07:00
Vern Paxson
ecc93606c4
feature completeness for ZAM
2023-06-30 09:36:14 +02:00
Vern Paxson
65a7e3de5f
-O gen-C++ tweaks to be compatible with ZAM changes
2023-06-30 09:36:14 +02:00
Vern Paxson
110ba7a0a1
AST profiling enhnacements in support of script optimization for lambdas/whens
2023-06-30 09:36:14 +02:00
Vern Paxson
46983cfb2f
refinements to LambdaExpr's to provide flexibility, support for ZVal captures
2023-06-30 09:36:14 +02:00
Vern Paxson
b6464814c9
the "Capture" struct is now a class
2023-06-30 09:36:14 +02:00
Vern Paxson
18be4ba91b
-O gen-C++ refinements for BiF failures, negative vector indices, boolean vector operations
2023-06-15 15:07:18 -07:00
Arne Welzel
7a043e5e8f
all: Fix typos identified by typos pre-commit hook
2023-06-13 17:57:32 +02:00
Vern Paxson
7d7a293c04
updates to C++ maintenance scripts to better handle uncompilable BTests
2023-05-05 12:01:31 -07:00
Vern Paxson
2e2afa5e11
compile-scripts-to-C++ speedups by switching to raw record access
2023-04-10 11:43:40 -07:00
Arne Welzel
92f09f0db7
Merge remote-tracking branch 'origin/topic/vern/when-cleanup'
...
* origin/topic/vern/when-cleanup:
test suite update for minor change in "when" error messages
removed skeletal (non-functioning) "when" support from ZAM
simplify WhenInfo and Trigger classes given removal of old capture semantics
introduced notion of light-weight Frame clones
changed function_ingredients struct to FunctionIngredients class with accessors
Renamed Frame::LightClone() to Frame::CloneForTrigger() during merge.
2023-04-04 10:02:01 +02:00
Vern Paxson
0c434ca4f8
changed function_ingredients struct to FunctionIngredients class with accessors
2023-04-02 11:34:16 -07:00
Vern Paxson
b5603fe5bf
addressed static analysis concern about possible null pointer
2023-04-01 21:06:42 -07:00
Tim Wojtulewicz
7aa310ee50
Fix a bunch of -Wunqualified-std-cast-call warnings from clang 15
2023-03-24 13:58:01 -07:00
Vern Paxson
a934acc4f1
use a subclass of TableType for incremental construction of compiled scripts
2023-03-08 10:19:21 +01:00
Vern Paxson
c0dd2b4e81
script_opt/CPP: errors, recursive type fixes, fix embedded comments
...
better (than nothing) run-time errors for compiled scripts
fixes for dealing with recursive types in compiled scripts
fix for values in compiled scripts containing embedded comment markers
2023-03-08 10:19:17 +01:00
Vern Paxson
b7f7d32bf7
Fix for EnumVal's returning their underlying value
...
Change EnumVal()->AsEnum() to zeek_int_t.
2023-03-08 10:10:24 +01:00
Vern Paxson
2f347bf7d4
added to C++ script compiler maintainer notes utility of starting with full base script compile
2023-02-14 15:20:56 -08:00
Vern Paxson
3d0faa8cea
fixes for order-of-initialization in scripts compiled to C++
...
annotations of such initializations to tie them to the original Zeek script
2023-02-14 15:19:49 -08:00
Vern Paxson
ce7e253dfd
Fixed bad memory access in compiled-to-C++ scripts when initializing attributes
2023-02-14 15:18:10 -08:00
Vern Paxson
65a2900bb7
removed -O add-C++ option and updated documentation
2023-01-24 10:52:58 -08:00
Vern Paxson
18f4fcb5a4
Maintenance updates for -O gen-C++ / -O gen-standalone-C++
...
fixes for using BiFs in standalone global initializations
avoiding redundant global initializations
updates to maintenance scripts and notes
removal of an unused member variable
2023-01-12 14:08:45 -08:00
Arne Welzel
33244ae75f
Merge remote-tracking branch 'origin/topic/vern/script-opt-maint.Dec22'
...
* origin/topic/vern/script-opt-maint.Dec22:
maintenance updates for -O C++
maintenance updates for -O ZAM
update test suite to avoid GH-2385 problems, including incorrect typing
2022-12-09 16:08:26 +01:00
Vern Paxson
52775bea89
maintenance updates for -O C++
2022-12-04 17:59:14 -08:00
Arne Welzel
da5fdb2072
ID: Add AddAttr() helper
...
This is just a follow-up as code cleanup, but not required
to be backported to 5.1.
2022-12-02 18:06:39 +01:00
Vern Paxson
134f8f2ef5
script optimization fixes:
...
new initialization model for standalone C++ scripts
type coercion fix
ZAM fix for compiling using C++ optimizer
disambiguate empty constructors
2022-11-20 12:16:25 -08:00
Tim Wojtulewicz
a8fc63e182
Merge remote-tracking branch 'microsoft/master'
...
* microsoft/master: (71 commits)
Clang formatting
Mask ports before inserting them into the map
Fix compiler warning from applied patch
Remove statistics plugin in favor of stats bif
Add EventHandler version of stats plugin
Mark a few EventHandler methods const
Changed implementation from std::map to std::unordered_map of Val.cc
Removed const, Windows build is now working
Added fixes suggested in PR
Update src/packet_analysis/protocol/ip/IP.cc
Apply suggestions from code review
Clang format again but now with v13.0.1
Rewrote usages of define(_MSC_VER) to ifdef _MSC_VER
Clang format it all
Fixed initial CR comments
Add NEWS entry about Windows port
Add a couple of extra unistd.h includes to fix a build failure
Use std::chrono instead of gettimeofday
Update libkqueue submodule [nomail]
Don't call tokenize_string if the input string is empty
...
2022-11-11 15:23:21 -07:00
Tim Wojtulewicz
2739275b88
Merge remote-tracking branch 'jsoref/spelling-src'
...
* jsoref/spelling-src:
Spelling src
2022-11-11 12:49:15 -07:00
Josh Soref
cd201aa24e
Spelling src
...
These are non-functional changes.
* accounting
* activation
* actual
* added
* addresult
* aggregable
* aligned
* alternatively
* ambiguous
* analysis
* analyzer
* anticlimactic
* apparently
* application
* appropriate
* arithmetic
* assignment
* assigns
* associated
* authentication
* authoritative
* barrier
* boundary
* broccoli
* buffering
* caching
* called
* canonicalized
* capturing
* certificates
* ciphersuite
* columns
* communication
* comparison
* comparisons
* compilation
* component
* concatenating
* concatenation
* connection
* convenience
* correctly
* corresponding
* could
* counting
* data
* declared
* decryption
* defining
* dependent
* deprecated
* detached
* dictionary
* directional
* directly
* directory
* discarding
* disconnecting
* distinguishes
* documentation
* elsewhere
* emitted
* empty
* endianness
* endpoint
* enumerator
* essentially
* evaluated
* everything
* exactly
* execute
* explicit
* expressions
* facilitates
* fiddling
* filesystem
* flag
* flagged
* for
* fragments
* guarantee
* guaranteed
* happen
* happening
* hemisphere
* identifier
* identifies
* identify
* implementation
* implemented
* implementing
* including
* inconsistency
* indeterminate
* indices
* individual
* information
* initial
* initialization
* initialize
* initialized
* initializes
* instantiate
* instantiated
* instantiates
* interface
* internal
* interpreted
* interpreter
* into
* it
* iterators
* length
* likely
* log
* longer
* mainly
* mark
* maximum
* message
* minimum
* module
* must
* name
* namespace
* necessary
* nonexistent
* not
* notifications
* notifier
* number
* objects
* occurred
* operations
* original
* otherwise
* output
* overridden
* override
* overriding
* overwriting
* ownership
* parameters
* particular
* payload
* persistent
* potential
* precision
* preexisting
* preservation
* preserved
* primarily
* probably
* procedure
* proceed
* process
* processed
* processes
* processing
* propagate
* propagated
* prototype
* provides
* publishing
* purposes
* queue
* reached
* reason
* reassem
* reassemble
* reassembler
* recommend
* record
* reduction
* reference
* regularly
* representation
* request
* reserved
* retrieve
* returning
* separate
* should
* shouldn't
* significant
* signing
* simplified
* simultaneously
* single
* somebody
* sources
* specific
* specification
* specified
* specifies
* specify
* statement
* subdirectories
* succeeded
* successful
* successfully
* supplied
* synchronization
* tag
* temporarily
* terminating
* that
* the
* transmitted
* true
* truncated
* try
* understand
* unescaped
* unforwarding
* unknown
* unknowndata
* unspecified
* update
* usually
* which
* wildcard
Signed-off-by: Josh Soref <2119212+jsoref@users.noreply.github.com>
2022-11-09 12:08:15 -05:00
Elad Solomon
98a0e242ad
Fixed invokation of make_enum__CPP
2022-11-09 18:15:34 +02:00
Vern Paxson
ee0a6f6835
Script optimization maintenance and updates:
...
maintenance fixes for variadic run-time checks, '_' placeholder identifier
"-O allow-cond" permits compiling scripts to C++ when influenced by @if conditionals
more robust standalone compile-to-C++ properties
fix for nested "when" statements
test suite updates
2022-11-08 11:56:32 -08:00
Tim Wojtulewicz
d442ea1bb9
egrep reported as obsolete by opensuse-tumbleweed builds
2022-10-27 11:48:43 -07:00
Tim Wojtulewicz
0143d0cb86
Merge remote-tracking branch 'origin/topic/vern/CPP-Oct22-maint'
...
* origin/topic/vern/CPP-Oct22-maint:
-O C++ maintenance updates to test suite
-O gen-C++ maintenance: fixes for attributes & initializing globals
2022-10-17 16:19:04 -07:00
Vern Paxson
26dae9a5ae
-O gen-C++ maintenance: fixes for attributes & initializing globals
2022-10-14 08:37:45 -05:00
Tim Wojtulewicz
ec14589206
Fix some compiler warnings in script_opt
2022-10-12 15:56:03 -05:00
Tim Wojtulewicz
31a6ef266a
Fix recent Coverity findings
...
1491334: AUTO_CAUSES_COPY due to a for loop using auto& instead of const auto&
1498652: AUTO_CAUSES_COPY due to a for loop using auto& instead of const auto&
1498745: AUTO_CAUSES_COPY due to a for loop using auto& instead of const auto&
2022-10-12 15:56:03 -05:00