diff --git a/aux/zeekctl b/aux/zeekctl index 6933b86e60..e166c066b6 160000 --- a/aux/zeekctl +++ b/aux/zeekctl @@ -1 +1 @@ -Subproject commit 6933b86e60f22f7a39ac1a8adbee4867902ce02e +Subproject commit e166c066b64b196a7dc5de285c68e0977344acc9 diff --git a/scripts/base/utils/json.zeek b/scripts/base/utils/json.zeek deleted file mode 100644 index a9662e74a2..0000000000 --- a/scripts/base/utils/json.zeek +++ /dev/null @@ -1,2 +0,0 @@ -## This file is deprecated in favor of to_json in zeek.bif -@deprecated="Remove in 3.1. to_json is now always available as a built-in function." diff --git a/src/List.h b/src/List.h index e0046bb55a..2b25dfb6f8 100644 --- a/src/List.h +++ b/src/List.h @@ -154,12 +154,6 @@ public: return max_entries; } - ZEEK_DEPRECATED("Remove in v3.1: Use std::sort instead") - void sort(list_cmp_func cmp_func) - { - qsort(entries, num_entries, sizeof(T), cmp_func); - } - int MemoryAllocation() const { return padded_sizeof(*this) + pad_size(max_entries * sizeof(T)); } @@ -174,7 +168,7 @@ public: ++num_entries; entries[0] = a; } - + void push_back(const T& a) { if ( num_entries == max_entries ) @@ -182,19 +176,13 @@ public: entries[num_entries++] = a; } - + void pop_front() { remove_nth(0); } void pop_back() { remove_nth(num_entries-1); } T& front() { return entries[0]; } T& back() { return entries[num_entries-1]; } - ZEEK_DEPRECATED("Remove in v3.1: Use push_front instead") - void insert(const T& a) // add at head of list - { - push_front(a); - } - // The append method is maintained for historical/compatibility reasons. // (It's commonly used in the event generation API) void append(const T& a) // add to end of list @@ -229,16 +217,6 @@ public: return old_ent; } - ZEEK_DEPRECATED("Remove in v3.1: Use back()/pop_back() instead") - T get() // return and remove ent at end of list - { - assert(num_entries > 0); - return entries[--num_entries]; - } - - ZEEK_DEPRECATED("Remove in v3.1: Use back() instead") - T& last() { return back(); } - // Return 0 if ent is not in the list, ent otherwise. bool is_member(const T& a) const { diff --git a/src/Val.cc b/src/Val.cc index fdaa719fab..2c690c590e 100644 --- a/src/Val.cc +++ b/src/Val.cc @@ -719,16 +719,6 @@ void IntervalVal::ValDescribe(ODesc* d) const } } -PortVal* PortManager::Get(uint32_t port_num) const - { - return val_mgr->GetPort(port_num); - } - -PortVal* PortManager::Get(uint32_t port_num, TransportProto port_type) const - { - return val_mgr->GetPort(port_num, port_type); - } - uint32_t PortVal::Mask(uint32_t port_num, TransportProto port_type) { // Note, for ICMP one-way connections: @@ -760,25 +750,8 @@ uint32_t PortVal::Mask(uint32_t port_num, TransportProto port_type) return port_num; } -PortVal::PortVal(uint32_t p, TransportProto port_type) : Val(TYPE_PORT) - { - auto port_num = PortVal::Mask(p, port_type); - val.uint_val = static_cast(port_num); - } - -PortVal::PortVal(uint32_t p, bool unused) : Val(TYPE_PORT) - { - val.uint_val = static_cast(p); - } - PortVal::PortVal(uint32_t p) : Val(TYPE_PORT) { - if ( p >= 65536 * NUM_PORT_SPACES ) - { - InternalWarning("bad port number"); - p = 0; - } - val.uint_val = static_cast(p); } @@ -3220,7 +3193,7 @@ ValManager::ValManager() auto port_type = (TransportProto)i; for ( auto j = 0u; j < arr.size(); ++j ) - arr[j] = new PortVal(PortVal::Mask(j, port_type), true); + arr[j] = new PortVal(PortVal::Mask(j, port_type)); } } diff --git a/src/Val.h b/src/Val.h index 50b3b7a20f..cda2dd43f8 100644 --- a/src/Val.h +++ b/src/Val.h @@ -85,56 +85,6 @@ typedef union { class Val : public BroObj { public: - ZEEK_DEPRECATED("Remove in v3.1: use val_mgr->GetBool, GetFalse/GetTrue, GetInt, or GetCount instead") - Val(bool b, TypeTag t) - { - val.int_val = b; - type = base_type(t); -#ifdef DEBUG - bound_id = 0; -#endif - } - - ZEEK_DEPRECATED("Remove in v3.1: use val_mgr->GetBool, GetFalse/GetTrue, GetInt, or GetCount instead") - Val(int32_t i, TypeTag t) - { - val.int_val = bro_int_t(i); - type = base_type(t); -#ifdef DEBUG - bound_id = 0; -#endif - } - - ZEEK_DEPRECATED("Remove in v3.1: use val_mgr->GetBool, GetFalse/GetTrue, GetInt, or GetCount instead") - Val(uint32_t u, TypeTag t) - { - val.uint_val = bro_uint_t(u); - type = base_type(t); -#ifdef DEBUG - bound_id = 0; -#endif - } - - ZEEK_DEPRECATED("Remove in v3.1: use val_mgr->GetBool, GetFalse/GetTrue, GetInt, or GetCount instead") - Val(int64_t i, TypeTag t) - { - val.int_val = i; - type = base_type(t); -#ifdef DEBUG - bound_id = 0; -#endif - } - - ZEEK_DEPRECATED("Remove in v3.1: use val_mgr->GetBool, GetFalse/GetTrue, GetInt, or GetCount instead") - Val(uint64_t u, TypeTag t) - { - val.uint_val = u; - type = base_type(t); -#ifdef DEBUG - bound_id = 0; -#endif - } - Val(double d, TypeTag t) { val.double_val = d; @@ -429,23 +379,6 @@ protected: }; -class PortManager { -public: - // Port number given in host order. - ZEEK_DEPRECATED("Remove in v3.1: use val_mgr->GetPort() instead") - PortVal* Get(uint32_t port_num, TransportProto port_type) const; - - // Host-order port number already masked with port space protocol mask. - ZEEK_DEPRECATED("Remove in v3.1: use val_mgr->GetPort() instead") - PortVal* Get(uint32_t port_num) const; - - // Returns a masked port number - ZEEK_DEPRECATED("Remove in v3.1: use PortVal::Mask() instead") - uint32_t Mask(uint32_t port_num, TransportProto port_type) const; -}; - -extern PortManager* port_mgr; - // Holds pre-allocated Val objects for those where it's more optimal to // re-use existing ones rather than allocate anew. class ValManager { @@ -521,14 +454,6 @@ protected: class PortVal : public Val { public: - // Port number given in host order. - ZEEK_DEPRECATED("Remove in v3.1: use val_mgr->GetPort() instead") - PortVal(uint32_t p, TransportProto port_type); - - // Host-order port number already masked with port space protocol mask. - ZEEK_DEPRECATED("Remove in v3.1: use val_mgr->GetPort() instead") - explicit PortVal(uint32_t p); - Val* SizeVal() const override { return val_mgr->GetInt(val.uint_val); } // Returns the port number in host order (not including the mask). @@ -559,7 +484,7 @@ protected: friend class Val; friend class ValManager; PortVal() {} - PortVal(uint32_t p, bool unused); + PortVal(uint32_t p); void ValDescribe(ODesc* d) const override; Val* DoClone(CloneState* state) override; @@ -1007,13 +932,6 @@ protected: class EnumVal : public Val { public: - - ZEEK_DEPRECATED("Remove in v3.1: use t->GetVal(i) instead") - EnumVal(int i, EnumType* t) : Val(t) - { - val.int_val = i; - } - Val* SizeVal() const override { return val_mgr->GetInt(val.int_val); } protected: diff --git a/src/analyzer/protocol/rfb/events.bif b/src/analyzer/protocol/rfb/events.bif index 44afb5b043..dd790d9a20 100644 --- a/src/analyzer/protocol/rfb/events.bif +++ b/src/analyzer/protocol/rfb/events.bif @@ -1,8 +1,3 @@ -## Generated for RFB event -## -## c: The connection record for the underlying transport-layer session/flow. -event rfb_event%(c: connection%) &deprecated="Remove in v3.1: This event never served a real purpose and will be removed. Please use the other rfb events instead."; - ## Generated for RFB event authentication mechanism selection ## ## c: The connection record for the underlying transport-layer session/flow. diff --git a/src/analyzer/protocol/rfb/rfb-analyzer.pac b/src/analyzer/protocol/rfb/rfb-analyzer.pac index ee0c4657bc..4568271453 100644 --- a/src/analyzer/protocol/rfb/rfb-analyzer.pac +++ b/src/analyzer/protocol/rfb/rfb-analyzer.pac @@ -1,11 +1,4 @@ refine flow RFB_Flow += { - function proc_rfb_message(msg: RFB_PDU): bool - %{ - if ( rfb_event ) - BifEvent::generate_rfb_event(connection()->bro_analyzer(), connection()->bro_analyzer()->Conn()); - return true; - %} - function proc_rfb_version(client: bool, major: bytestring, minor: bytestring) : bool %{ if (client) @@ -371,7 +364,3 @@ refine connection RFB_Conn += { return true; %} }; - -refine typeattr RFB_PDU += &let { - proc: bool = $context.flow.proc_rfb_message(this); -}; diff --git a/src/event.bif b/src/event.bif index 9fa5855359..d1ddf29d52 100644 --- a/src/event.bif +++ b/src/event.bif @@ -48,9 +48,6 @@ ## event zeek_init%(%); -## Deprecated synonym for :zeek:see:`zeek_init`. -event bro_init%(%) &deprecated="Remove in v3.1: use zeek_init"; - ## Generated at Zeek termination time. The event engine generates this event when ## Zeek is about to terminate, either due to having exhausted reading its input ## trace file(s), receiving a termination signal, or because Zeek was run without @@ -64,9 +61,6 @@ event bro_init%(%) &deprecated="Remove in v3.1: use zeek_init"; ## is not generated. event zeek_done%(%); -## Deprecated synonym for :zeek:see:`zeek_done`. -event bro_done%(%) &deprecated="Remove in v3.1: use zeek_done"; - ## Generated for every new connection. This event is raised with the first ## packet of a previously unknown connection. Zeek uses a flow-based definition ## of "connection" here that includes not only TCP sessions but also UDP and @@ -666,9 +660,6 @@ event reporter_error%(t: time, msg: string, location: string%) &error_handler; ## recursively for each ``@load``. event zeek_script_loaded%(path: string, level: count%); -## Deprecated synonym for :zeek:see:`zeek_script_loaded`. -event bro_script_loaded%(path: string, level: count%) &deprecated="Remove in v3.1: use zeek_script_loaded"; - ## Generated each time Zeek's script interpreter opens a file. This event is ## triggered only for files opened via :zeek:id:`open`, and in particular not for ## normal log files as created by log writers. diff --git a/src/main.cc b/src/main.cc index 45dbbec983..17211cd67c 100644 --- a/src/main.cc +++ b/src/main.cc @@ -84,7 +84,6 @@ int perftools_profile = 0; DNS_Mgr* dns_mgr; TimerMgr* timer_mgr; ValManager* val_mgr = 0; -PortManager* port_mgr = 0; logging::Manager* log_mgr = 0; threading::Manager* thread_mgr = 0; input::Manager* input_mgr = 0; @@ -364,7 +363,6 @@ void terminate_bro() delete reporter; delete plugin_mgr; delete val_mgr; - delete port_mgr; reporter = 0; } @@ -735,7 +733,6 @@ int main(int argc, char** argv) bro_start_time = current_time(true); val_mgr = new ValManager(); - port_mgr = new PortManager(); reporter = new Reporter(); thread_mgr = new threading::Manager(); plugin_mgr = new plugin::Manager(); diff --git a/src/parse.y b/src/parse.y index c409942cca..3f2e7fcc4b 100644 --- a/src/parse.y +++ b/src/parse.y @@ -1164,14 +1164,12 @@ func_hdr: } | TOK_EVENT event_id func_params opt_attr { - // Gracefully handle the deprecation of bro_init, bro_done, - // and bro_script_loaded - if ( streq("bro_init", $2->Name()) ) - $2 = global_scope()->Lookup("zeek_init"); - else if ( streq("bro_done", $2->Name()) ) - $2 = global_scope()->Lookup("zeek_done"); - else if ( streq("bro_script_loaded", $2->Name()) ) - $2 = global_scope()->Lookup("zeek_script_loaded"); + const char* name = $2->Name(); + if ( streq("bro_init", name) || streq("bro_done", name) || streq("bro_script_loaded", name) ) + { + auto base = std::string(name).substr(4); + reporter->Error(fmt("event %s() is no longer available, use zeek_%s() instead", name, base.c_str())); + } begin_func($2, current_module.c_str(), FUNC_FLAVOR_EVENT, 0, $3, $4); diff --git a/src/strings.bif b/src/strings.bif index 4f589bd078..ae1f8292d1 100644 --- a/src/strings.bif +++ b/src/strings.bif @@ -935,47 +935,6 @@ function safe_shell_quote%(source: string%): string return new StringVal(new BroString(1, dst, j)); %} -## Takes a string and escapes characters that would allow execution of -## commands at the shell level. Must be used before including strings in -## :zeek:id:`system` or similar calls. This function is deprecated, use -## :zeek:see:`safe_shell_quote` as a replacement. The difference is that -## :zeek:see:`safe_shell_quote` automatically returns a value that is -## wrapped in double-quotes, which is required to correctly and fully -## escape any characters that might be interpreted by the shell. -## -## source: The string to escape. -## -## Returns: A shell-escaped version of *source*. -## -## .. zeek:see:: system safe_shell_quote -function str_shell_escape%(source: string%): string &deprecated="Remove in v3.1: use safe_shell_quote" - %{ - unsigned j = 0; - const u_char* src = source->Bytes(); - unsigned n = source->Len(); - byte_vec dst = new u_char[n * 2 + 1]; - - for ( unsigned i = 0; i < n; ++i ) - { - switch ( src[i] ) { - case '`': case '"': case '\\': case '$': - - // case '|': case '&': case ';': case '(': case ')': case '<': - // case '>': case '\'': case '*': case '?': case '[': case ']': - // case '!': case '#': case '{': case '}': - dst[j++] = '\\'; - break; - default: - break; - } - - dst[j++] = src[i]; - } - - dst[j] = '\0'; - return new StringVal(new BroString(1, dst, j)); - %} - ## Finds all occurrences of a pattern in a string. ## ## str: The string to inspect. diff --git a/src/zeek.bif b/src/zeek.bif index 2f56ca52c0..c357c3ce5f 100644 --- a/src/zeek.bif +++ b/src/zeek.bif @@ -1820,15 +1820,6 @@ function getpid%(%) : count extern const char* zeek_version(); %%} -## Returns the Zeek version string. This function is deprecated, use -## :zeek:see:`zeek_version` instead. -## -## Returns: Zeek's version, e.g., 2.0-beta-47-debug. -function bro_version%(%): string &deprecated="Remove in v3.1: use zeek_version" - %{ - return new StringVal(zeek_version()); - %} - ## Returns the Zeek version string. ## ## Returns: Zeek's version, e.g., 2.0-beta-47-debug. @@ -2130,17 +2121,6 @@ function dump_rule_stats%(f: file%): bool return val_mgr->GetBool(1); %} -## Checks if Zeek is terminating. This function is deprecated, use -## :zeek:see:`zeek_is_terminating` instead. -## -## Returns: True if Zeek is in the process of shutting down. -## -## .. zeek:see:: terminate -function bro_is_terminating%(%): bool &deprecated="Remove in v3.1: use zeek_is_terminating" - %{ - return val_mgr->GetBool(terminating); - %} - ## Checks if Zeek is terminating. ## ## Returns: True if Zeek is in the process of shutting down. diff --git a/testing/btest/Baseline/bifs.str_shell_escape/out b/testing/btest/Baseline/bifs.str_shell_escape/out deleted file mode 100644 index 1845fefa37..0000000000 --- a/testing/btest/Baseline/bifs.str_shell_escape/out +++ /dev/null @@ -1,4 +0,0 @@ -24 -echo ${TEST} > "my file" -27 -echo \${TEST} > \"my file\" diff --git a/testing/btest/Baseline/coverage.bare-mode-errors/errors b/testing/btest/Baseline/coverage.bare-mode-errors/errors index c87b897c61..e69de29bb2 100644 --- a/testing/btest/Baseline/coverage.bare-mode-errors/errors +++ b/testing/btest/Baseline/coverage.bare-mode-errors/errors @@ -1 +0,0 @@ -warning in /Users/tim/Desktop/projects/zeek/testing/btest/../../scripts//base/utils/json.zeek, line 2: deprecated script loaded from command line arguments ="Remove in 3.1. to_json is now always available as a built-in function." diff --git a/testing/btest/Baseline/coverage.init-default/missing_loads b/testing/btest/Baseline/coverage.init-default/missing_loads index 87361a686a..893a603972 100644 --- a/testing/btest/Baseline/coverage.init-default/missing_loads +++ b/testing/btest/Baseline/coverage.init-default/missing_loads @@ -8,4 +8,3 @@ -./frameworks/openflow/cluster.zeek -./frameworks/packet-filter/cluster.zeek -./frameworks/sumstats/cluster.zeek --./utils/json.zeek diff --git a/testing/btest/Baseline/language.zeek_init/out b/testing/btest/Baseline/language.zeek_init/out index aa17ec8aa8..1a157c928a 100644 --- a/testing/btest/Baseline/language.zeek_init/out +++ b/testing/btest/Baseline/language.zeek_init/out @@ -1,8 +1,4 @@ -zeek_init at priority 10! -bro_init at priority 5! -zeek_init at priority 0! -bro_init at priority -10! -zeek_done at priority 10! -bro_done at priority 5! -zeek_done at priority 0! -bro_done at priority -10! +error in /home/robin/bro/master/testing/btest/.tmp/language.zeek_init/zeek_init.zeek, line 10: event bro_init() is no longer available, use zeek_init() instead +error in /home/robin/bro/master/testing/btest/.tmp/language.zeek_init/zeek_init.zeek, line 20: event bro_init() is no longer available, use zeek_init() instead +error in /home/robin/bro/master/testing/btest/.tmp/language.zeek_init/zeek_init.zeek, line 31: event bro_done() is no longer available, use zeek_done() instead +error in /home/robin/bro/master/testing/btest/.tmp/language.zeek_init/zeek_init.zeek, line 41: event bro_done() is no longer available, use zeek_done() instead diff --git a/testing/btest/Baseline/language.zeek_script_loaded/out b/testing/btest/Baseline/language.zeek_script_loaded/out index cddf509308..cc4b5291e3 100644 --- a/testing/btest/Baseline/language.zeek_script_loaded/out +++ b/testing/btest/Baseline/language.zeek_script_loaded/out @@ -1,4 +1,2 @@ -zeek_script_loaded priority 10 -bro_script_loaded priority 5 -zeek_script_loaded priority 0 -bro_script_loaded priority -10 +error in /home/robin/bro/master/testing/btest/.tmp/language.zeek_script_loaded/zeek_script_loaded.zeek, line 11: event bro_script_loaded() is no longer available, use zeek_script_loaded() instead +error in /home/robin/bro/master/testing/btest/.tmp/language.zeek_script_loaded/zeek_script_loaded.zeek, line 23: event bro_script_loaded() is no longer available, use zeek_script_loaded() instead diff --git a/testing/btest/bifs/str_shell_escape.zeek b/testing/btest/bifs/str_shell_escape.zeek deleted file mode 100644 index f3f08b0072..0000000000 --- a/testing/btest/bifs/str_shell_escape.zeek +++ /dev/null @@ -1,15 +0,0 @@ -# -# @TEST-EXEC: zeek -b %INPUT >out -# @TEST-EXEC: btest-diff out - -event zeek_init() - { - local a = "echo ${TEST} > \"my file\""; - - print |a|; - print a; - - local b = str_shell_escape(a); - print |b|; - print b; - } diff --git a/testing/btest/failed b/testing/btest/failed new file mode 100644 index 0000000000..a22b4ea1f0 --- /dev/null +++ b/testing/btest/failed @@ -0,0 +1,8 @@ +bifs.str_shell_escape +core.load-explicit-bro-suffix-fallback +coverage.init-default +language.zeek_init +language.zeek_script_loaded +plugins.legacy +coverage.sphinx-zeekygen-docs +coverage.bare-mode-errors diff --git a/testing/btest/language/zeek_init.zeek b/testing/btest/language/zeek_init.zeek index c1ca3ba65c..f8b63f8d51 100644 --- a/testing/btest/language/zeek_init.zeek +++ b/testing/btest/language/zeek_init.zeek @@ -1,6 +1,5 @@ -# @TEST-EXEC: zeek -b %INPUT >out -# @TEST-EXEC: btest-diff out - +# @TEST-EXEC-FAIL: zeek -b %INPUT >out 2>&1 +# @TEST-EXEC: TEST_DIFF_CANONIFIER=$SCRIPTS/diff-remove-abspath btest-diff out event zeek_init() &priority=10 { diff --git a/testing/btest/language/zeek_script_loaded.zeek b/testing/btest/language/zeek_script_loaded.zeek index 9011790e93..f8c112a0b5 100644 --- a/testing/btest/language/zeek_script_loaded.zeek +++ b/testing/btest/language/zeek_script_loaded.zeek @@ -1,5 +1,5 @@ -# @TEST-EXEC: zeek -b %INPUT >out -# @TEST-EXEC: btest-diff out +# @TEST-EXEC-FAIL: zeek -b %INPUT >out 2>&1 +# @TEST-EXEC: TEST_DIFF_CANONIFIER=$SCRIPTS/diff-remove-abspath btest-diff out event zeek_script_loaded(path: string, level: count) &priority=10 {