From 88fd7510c66980836fa37ab619d65ac3daa0d902 Mon Sep 17 00:00:00 2001 From: Vern Paxson Date: Thu, 26 Jul 2018 12:51:36 -0700 Subject: [PATCH] reap the fruits of v += e --- .../data_struct_vector_declaration.bro | 8 +-- scripts/base/files/pe/main.bro | 2 +- scripts/base/files/x509/main.bro | 2 +- scripts/base/frameworks/cluster/main.bro | 4 +- scripts/base/frameworks/cluster/pools.bro | 8 +-- scripts/base/frameworks/config/main.bro | 4 +- scripts/base/frameworks/netcontrol/main.bro | 12 ++--- .../netcontrol/plugins/openflow.bro | 14 ++--- .../base/frameworks/openflow/plugins/ryu.bro | 2 +- scripts/base/frameworks/sumstats/main.bro | 6 +-- .../base/frameworks/sumstats/non-cluster.bro | 2 +- .../frameworks/sumstats/plugins/sample.bro | 2 +- scripts/base/protocols/dhcp/main.bro | 2 +- scripts/base/protocols/dns/main.bro | 4 +- scripts/base/protocols/http/entities.bro | 12 ++--- scripts/base/protocols/http/utils.bro | 2 +- scripts/base/protocols/sip/main.bro | 4 +- scripts/base/protocols/smtp/files.bro | 2 +- scripts/base/protocols/smtp/main.bro | 2 +- scripts/base/protocols/ssl/files.bro | 8 +-- scripts/base/utils/addrs.bro | 4 +- scripts/base/utils/email.bro | 2 +- scripts/base/utils/exec.bro | 6 +-- scripts/base/utils/json.bro | 8 +-- .../notice/extend-email/hostnames.bro | 4 +- scripts/policy/misc/load-balancing.bro | 2 +- scripts/policy/protocols/dhcp/msg-orig.bro | 2 +- .../policy/protocols/http/header-names.bro | 4 +- scripts/policy/protocols/ssl/heartbleed.bro | 54 +++++++++---------- scripts/policy/protocols/ssl/notary.bro | 2 +- scripts/policy/protocols/ssl/validate-sct.bro | 4 +- testing/btest/core/leaks/broker/data.bro | 2 +- testing/btest/language/ipv6-literals.bro | 48 ++++++++--------- .../language/record-default-coercion.bro | 2 +- .../netcontrol/delete-internal-state.bro | 8 +-- .../base/frameworks/netcontrol/multiple.bro | 8 +-- .../frameworks/sumstats/sample-cluster.bro | 2 +- 37 files changed, 132 insertions(+), 132 deletions(-) diff --git a/doc/scripting/data_struct_vector_declaration.bro b/doc/scripting/data_struct_vector_declaration.bro index 6d684d09b1..e9b31880f6 100644 --- a/doc/scripting/data_struct_vector_declaration.bro +++ b/doc/scripting/data_struct_vector_declaration.bro @@ -3,10 +3,10 @@ event bro_init() local v1: vector of count; local v2 = vector(1, 2, 3, 4); - v1[|v1|] = 1; - v1[|v1|] = 2; - v1[|v1|] = 3; - v1[|v1|] = 4; + v1 += 1; + v1 += 2; + v1 += 3; + v1 += 4; print fmt("contents of v1: %s", v1); print fmt("length of v1: %d", |v1|); diff --git a/scripts/base/files/pe/main.bro b/scripts/base/files/pe/main.bro index b2723e4138..972e8a31c8 100644 --- a/scripts/base/files/pe/main.bro +++ b/scripts/base/files/pe/main.bro @@ -126,7 +126,7 @@ event pe_section_header(f: fa_file, h: PE::SectionHeader) &priority=5 if ( ! f$pe?$section_names ) f$pe$section_names = vector(); - f$pe$section_names[|f$pe$section_names|] = h$name; + f$pe$section_names += h$name; } event file_state_remove(f: fa_file) &priority=-5 diff --git a/scripts/base/files/x509/main.bro b/scripts/base/files/x509/main.bro index 30f60f1362..b6fdde5494 100644 --- a/scripts/base/files/x509/main.bro +++ b/scripts/base/files/x509/main.bro @@ -66,7 +66,7 @@ event x509_certificate(f: fa_file, cert_ref: opaque of x509, cert: X509::Certifi event x509_extension(f: fa_file, ext: X509::Extension) &priority=5 { if ( f$info?$x509 ) - f$info$x509$extensions[|f$info$x509$extensions|] = ext; + f$info$x509$extensions += ext; } event x509_ext_basic_constraints(f: fa_file, ext: X509::BasicConstraints) &priority=5 diff --git a/scripts/base/frameworks/cluster/main.bro b/scripts/base/frameworks/cluster/main.bro index 8eb4bf90bf..779f0c159a 100644 --- a/scripts/base/frameworks/cluster/main.bro +++ b/scripts/base/frameworks/cluster/main.bro @@ -251,7 +251,7 @@ function nodes_with_type(node_type: NodeType): vector of NamedNode local names: vector of string = vector(); for ( name in Cluster::nodes ) - names[|names|] = name; + names += name; names = sort(names, strcmp); @@ -263,7 +263,7 @@ function nodes_with_type(node_type: NodeType): vector of NamedNode if ( n$node_type != node_type ) next; - rval[|rval|] = NamedNode($name=name, $node=n); + rval += NamedNode($name=name, $node=n); } return rval; diff --git a/scripts/base/frameworks/cluster/pools.bro b/scripts/base/frameworks/cluster/pools.bro index fb45594adc..ac8673b7e8 100644 --- a/scripts/base/frameworks/cluster/pools.bro +++ b/scripts/base/frameworks/cluster/pools.bro @@ -157,7 +157,7 @@ global registered_pools: vector of Pool = vector(); function register_pool(spec: PoolSpec): Pool { local rval = Pool($spec = spec); - registered_pools[|registered_pools|] = rval; + registered_pools += rval; return rval; } @@ -276,7 +276,7 @@ function init_pool_node(pool: Pool, name: string): bool local pn = PoolNode($name=name, $alias=alias, $site_id=site_id, $alive=Cluster::node == name); pool$nodes[name] = pn; - pool$node_list[|pool$node_list|] = pn; + pool$node_list += pn; if ( pn$alive ) ++pool$alive_count; @@ -366,7 +366,7 @@ event bro_init() &priority=-5 if ( |mgr| > 0 ) { local eln = pool_eligibility[Cluster::LOGGER]$eligible_nodes; - eln[|eln|] = mgr[0]; + eln += mgr[0]; } } @@ -423,7 +423,7 @@ event bro_init() &priority=-5 if ( j < e ) next; - nen[|nen|] = pet$eligible_nodes[j]; + nen += pet$eligible_nodes[j]; } pet$eligible_nodes = nen; diff --git a/scripts/base/frameworks/config/main.bro b/scripts/base/frameworks/config/main.bro index b83da42785..6268ee4a8d 100644 --- a/scripts/base/frameworks/config/main.bro +++ b/scripts/base/frameworks/config/main.bro @@ -120,14 +120,14 @@ function format_value(value: any) : string { local it: set[bool] = value; for ( sv in it ) - part[|part|] = cat(sv); + part += cat(sv); return join_string_vec(part, ","); } else if ( /^vector/ in tn ) { local vit: vector of any = value; for ( i in vit ) - part[|part|] = cat(vit[i]); + part += cat(vit[i]); return join_string_vec(part, ","); } else if ( tn == "string" ) diff --git a/scripts/base/frameworks/netcontrol/main.bro b/scripts/base/frameworks/netcontrol/main.bro index 3e9b35fa8c..a9418508af 100644 --- a/scripts/base/frameworks/netcontrol/main.bro +++ b/scripts/base/frameworks/netcontrol/main.bro @@ -555,19 +555,19 @@ function quarantine_host(infected: addr, dns: addr, quarantine: addr, t: interva local orules: vector of string = vector(); local edrop: Entity = [$ty=FLOW, $flow=Flow($src_h=addr_to_subnet(infected))]; local rdrop: Rule = [$ty=DROP, $target=FORWARD, $entity=edrop, $expire=t, $location=location]; - orules[|orules|] = add_rule(rdrop); + orules += add_rule(rdrop); local todnse: Entity = [$ty=FLOW, $flow=Flow($src_h=addr_to_subnet(infected), $dst_h=addr_to_subnet(dns), $dst_p=53/udp)]; local todnsr = Rule($ty=MODIFY, $target=FORWARD, $entity=todnse, $expire=t, $location=location, $mod=FlowMod($dst_h=quarantine), $priority=+5); - orules[|orules|] = add_rule(todnsr); + orules += add_rule(todnsr); local fromdnse: Entity = [$ty=FLOW, $flow=Flow($src_h=addr_to_subnet(dns), $src_p=53/udp, $dst_h=addr_to_subnet(infected))]; local fromdnsr = Rule($ty=MODIFY, $target=FORWARD, $entity=fromdnse, $expire=t, $location=location, $mod=FlowMod($src_h=dns), $priority=+5); - orules[|orules|] = add_rule(fromdnsr); + orules += add_rule(fromdnsr); local wle: Entity = [$ty=FLOW, $flow=Flow($src_h=addr_to_subnet(infected), $dst_h=addr_to_subnet(quarantine), $dst_p=80/tcp)]; local wlr = Rule($ty=WHITELIST, $target=FORWARD, $entity=wle, $expire=t, $location=location, $priority=+5); - orules[|orules|] = add_rule(wlr); + orules += add_rule(wlr); return orules; } @@ -637,7 +637,7 @@ event NetControl::init() &priority=-20 function activate_impl(p: PluginState, priority: int) { p$_priority = priority; - plugins[|plugins|] = p; + plugins += p; sort(plugins, function(p1: PluginState, p2: PluginState) : int { return p2$_priority - p1$_priority; }); plugin_ids[plugin_counter] = p; @@ -734,7 +734,7 @@ function find_rules_subnet(sn: subnet) : vector of Rule for ( rule_id in rules_by_subnets[sn_entry] ) { if ( rule_id in rules ) - ret[|ret|] = rules[rule_id]; + ret += rules[rule_id]; else Reporter::error("find_rules_subnet - internal data structure error, missing rule"); } diff --git a/scripts/base/frameworks/netcontrol/plugins/openflow.bro b/scripts/base/frameworks/netcontrol/plugins/openflow.bro index c528a1ba3e..f1403a70a8 100644 --- a/scripts/base/frameworks/netcontrol/plugins/openflow.bro +++ b/scripts/base/frameworks/netcontrol/plugins/openflow.bro @@ -158,17 +158,17 @@ function entity_to_match(p: PluginState, e: Entity): vector of OpenFlow::ofp_mat if ( e$ty == CONNECTION ) { - v[|v|] = OpenFlow::match_conn(e$conn); # forward and... - v[|v|] = OpenFlow::match_conn(e$conn, T); # reverse + v += OpenFlow::match_conn(e$conn); # forward and... + v += OpenFlow::match_conn(e$conn, T); # reverse return openflow_match_pred(p, e, v); } if ( e$ty == MAC ) { - v[|v|] = OpenFlow::ofp_match( + v += OpenFlow::ofp_match( $dl_src=e$mac ); - v[|v|] = OpenFlow::ofp_match( + v += OpenFlow::ofp_match( $dl_dst=e$mac ); @@ -182,12 +182,12 @@ function entity_to_match(p: PluginState, e: Entity): vector of OpenFlow::ofp_mat if ( is_v6_subnet(e$ip) ) dl_type = OpenFlow::ETH_IPv6; - v[|v|] = OpenFlow::ofp_match( + v += OpenFlow::ofp_match( $dl_type=dl_type, $nw_src=e$ip ); - v[|v|] = OpenFlow::ofp_match( + v += OpenFlow::ofp_match( $dl_type=dl_type, $nw_dst=e$ip ); @@ -231,7 +231,7 @@ function entity_to_match(p: PluginState, e: Entity): vector of OpenFlow::ofp_mat m$tp_dst = port_to_count(f$dst_p); } - v[|v|] = m; + v += m; return openflow_match_pred(p, e, v); } diff --git a/scripts/base/frameworks/openflow/plugins/ryu.bro b/scripts/base/frameworks/openflow/plugins/ryu.bro index f022fe0f03..cc400293a0 100644 --- a/scripts/base/frameworks/openflow/plugins/ryu.bro +++ b/scripts/base/frameworks/openflow/plugins/ryu.bro @@ -88,7 +88,7 @@ function ryu_flow_mod(state: OpenFlow::ControllerState, match: ofp_match, flow_m local flow_actions: vector of ryu_flow_action = vector(); for ( i in flow_mod$actions$out_ports ) - flow_actions[|flow_actions|] = ryu_flow_action($_type="OUTPUT", $_port=flow_mod$actions$out_ports[i]); + flow_actions += ryu_flow_action($_type="OUTPUT", $_port=flow_mod$actions$out_ports[i]); # Generate our ryu_flow_mod record for the ReST API call. local mod: ryu_ofp_flow_mod = ryu_ofp_flow_mod( diff --git a/scripts/base/frameworks/sumstats/main.bro b/scripts/base/frameworks/sumstats/main.bro index edd80ede0f..f704dbcdd2 100644 --- a/scripts/base/frameworks/sumstats/main.bro +++ b/scripts/base/frameworks/sumstats/main.bro @@ -267,7 +267,7 @@ function add_observe_plugin_dependency(calc: Calculation, depends_on: Calculatio { if ( calc !in calc_deps ) calc_deps[calc] = vector(); - calc_deps[calc][|calc_deps[calc]|] = depends_on; + calc_deps[calc] += depends_on; } event bro_init() &priority=100000 @@ -348,7 +348,7 @@ function add_calc_deps(calcs: vector of Calculation, c: Calculation) { if ( calc_deps[c][i] in calc_deps ) add_calc_deps(calcs, calc_deps[c][i]); - calcs[|c|] = calc_deps[c][i]; + calcs += calc_deps[c][i]; #print fmt("add dep for %s [%s] ", c, calc_deps[c][i]); } } @@ -387,7 +387,7 @@ function create(ss: SumStat) skip_calc=T; } if ( ! skip_calc ) - reducer$calc_funcs[|reducer$calc_funcs|] = calc; + reducer$calc_funcs += calc; } if ( reducer$stream !in reducer_store ) diff --git a/scripts/base/frameworks/sumstats/non-cluster.bro b/scripts/base/frameworks/sumstats/non-cluster.bro index 57785a03b2..100e8dad4a 100644 --- a/scripts/base/frameworks/sumstats/non-cluster.bro +++ b/scripts/base/frameworks/sumstats/non-cluster.bro @@ -11,7 +11,7 @@ event SumStats::process_epoch_result(ss: SumStat, now: time, data: ResultTable) for ( key in data ) { ss$epoch_result(now, key, data[key]); - keys_to_delete[|keys_to_delete|] = key; + keys_to_delete += key; if ( --i == 0 ) break; diff --git a/scripts/base/frameworks/sumstats/plugins/sample.bro b/scripts/base/frameworks/sumstats/plugins/sample.bro index 0200e85949..2f96c5eb30 100644 --- a/scripts/base/frameworks/sumstats/plugins/sample.bro +++ b/scripts/base/frameworks/sumstats/plugins/sample.bro @@ -43,7 +43,7 @@ function sample_add_sample(obs:Observation, rv: ResultVal) ++rv$sample_elements; if ( |rv$samples| < rv$num_samples ) - rv$samples[|rv$samples|] = obs; + rv$samples += obs; else { local ra = rand(rv$sample_elements); diff --git a/scripts/base/protocols/dhcp/main.bro b/scripts/base/protocols/dhcp/main.bro index 5e33d269f3..ae102e6085 100644 --- a/scripts/base/protocols/dhcp/main.bro +++ b/scripts/base/protocols/dhcp/main.bro @@ -178,7 +178,7 @@ event DHCP::aggregate_msgs(ts: time, id: conn_id, uid: string, is_orig: bool, ms if ( uid !in log_info$uids ) add log_info$uids[uid]; - log_info$msg_types[|log_info$msg_types|] = DHCP::message_types[msg$m_type]; + log_info$msg_types += DHCP::message_types[msg$m_type]; # Let's watch for messages in any DHCP message type # and split them out based on client and server. diff --git a/scripts/base/protocols/dns/main.bro b/scripts/base/protocols/dns/main.bro index a8946e871e..127a06b5a0 100644 --- a/scripts/base/protocols/dns/main.bro +++ b/scripts/base/protocols/dns/main.bro @@ -324,11 +324,11 @@ hook DNS::do_reply(c: connection, msg: dns_msg, ans: dns_answer, reply: string) { if ( ! c$dns?$answers ) c$dns$answers = vector(); - c$dns$answers[|c$dns$answers|] = reply; + c$dns$answers += reply; if ( ! c$dns?$TTLs ) c$dns$TTLs = vector(); - c$dns$TTLs[|c$dns$TTLs|] = ans$TTL; + c$dns$TTLs += ans$TTL; } } } diff --git a/scripts/base/protocols/http/entities.bro b/scripts/base/protocols/http/entities.bro index bec89b536d..3670d7879a 100644 --- a/scripts/base/protocols/http/entities.bro +++ b/scripts/base/protocols/http/entities.bro @@ -87,14 +87,14 @@ event file_over_new_connection(f: fa_file, c: connection, is_orig: bool) &priori if ( ! c$http?$orig_fuids ) c$http$orig_fuids = string_vec(f$id); else - c$http$orig_fuids[|c$http$orig_fuids|] = f$id; + c$http$orig_fuids += f$id; if ( f$info?$filename ) { if ( ! c$http?$orig_filenames ) c$http$orig_filenames = string_vec(f$info$filename); else - c$http$orig_filenames[|c$http$orig_filenames|] = f$info$filename; + c$http$orig_filenames += f$info$filename; } } @@ -103,14 +103,14 @@ event file_over_new_connection(f: fa_file, c: connection, is_orig: bool) &priori if ( ! c$http?$resp_fuids ) c$http$resp_fuids = string_vec(f$id); else - c$http$resp_fuids[|c$http$resp_fuids|] = f$id; + c$http$resp_fuids += f$id; if ( f$info?$filename ) { if ( ! c$http?$resp_filenames ) c$http$resp_filenames = string_vec(f$info$filename); else - c$http$resp_filenames[|c$http$resp_filenames|] = f$info$filename; + c$http$resp_filenames += f$info$filename; } } @@ -130,14 +130,14 @@ event file_sniff(f: fa_file, meta: fa_metadata) &priority=5 if ( ! f$http?$orig_mime_types ) f$http$orig_mime_types = string_vec(meta$mime_type); else - f$http$orig_mime_types[|f$http$orig_mime_types|] = meta$mime_type; + f$http$orig_mime_types += meta$mime_type; } else { if ( ! f$http?$resp_mime_types ) f$http$resp_mime_types = string_vec(meta$mime_type); else - f$http$resp_mime_types[|f$http$resp_mime_types|] = meta$mime_type; + f$http$resp_mime_types += meta$mime_type; } } diff --git a/scripts/base/protocols/http/utils.bro b/scripts/base/protocols/http/utils.bro index 88549f8404..67f13f2640 100644 --- a/scripts/base/protocols/http/utils.bro +++ b/scripts/base/protocols/http/utils.bro @@ -47,7 +47,7 @@ function extract_keys(data: string, kv_splitter: pattern): string_vec { local key_val = split_string1(parts[part_index], /=/); if ( 0 in key_val ) - key_vec[|key_vec|] = key_val[0]; + key_vec += key_val[0]; } return key_vec; } diff --git a/scripts/base/protocols/sip/main.bro b/scripts/base/protocols/sip/main.bro index f629049928..f4dba22876 100644 --- a/scripts/base/protocols/sip/main.bro +++ b/scripts/base/protocols/sip/main.bro @@ -226,7 +226,7 @@ event sip_header(c: connection, is_request: bool, name: string, value: string) & c$sip$user_agent = value; break; case "VIA", "V": - c$sip$request_path[|c$sip$request_path|] = split_string1(value, /;[ ]?branch/)[0]; + c$sip$request_path += split_string1(value, /;[ ]?branch/)[0]; break; } @@ -256,7 +256,7 @@ event sip_header(c: connection, is_request: bool, name: string, value: string) & c$sip$response_to = value; break; case "VIA", "V": - c$sip$response_path[|c$sip$response_path|] = split_string1(value, /;[ ]?branch/)[0]; + c$sip$response_path += split_string1(value, /;[ ]?branch/)[0]; break; } diff --git a/scripts/base/protocols/smtp/files.bro b/scripts/base/protocols/smtp/files.bro index 352c2025a3..a65b90b528 100644 --- a/scripts/base/protocols/smtp/files.bro +++ b/scripts/base/protocols/smtp/files.bro @@ -49,5 +49,5 @@ event bro_init() &priority=5 event file_over_new_connection(f: fa_file, c: connection, is_orig: bool) &priority=5 { if ( c?$smtp && !c$smtp$tls ) - c$smtp$fuids[|c$smtp$fuids|] = f$id; + c$smtp$fuids += f$id; } diff --git a/scripts/base/protocols/smtp/main.bro b/scripts/base/protocols/smtp/main.bro index cd0e730d8e..18c75a93c0 100644 --- a/scripts/base/protocols/smtp/main.bro +++ b/scripts/base/protocols/smtp/main.bro @@ -295,7 +295,7 @@ event mime_one_header(c: connection, h: mime_header_rec) &priority=3 c$smtp$process_received_from = F; } if ( c$smtp$path[|c$smtp$path|-1] != ip ) - c$smtp$path[|c$smtp$path|] = ip; + c$smtp$path += ip; } event connection_state_remove(c: connection) &priority=-5 diff --git a/scripts/base/protocols/ssl/files.bro b/scripts/base/protocols/ssl/files.bro index 8750645b36..d0d89561e3 100644 --- a/scripts/base/protocols/ssl/files.bro +++ b/scripts/base/protocols/ssl/files.bro @@ -121,13 +121,13 @@ event file_sniff(f: fa_file, meta: fa_metadata) &priority=5 if ( f$is_orig ) { - c$ssl$client_cert_chain[|c$ssl$client_cert_chain|] = f$info; - c$ssl$client_cert_chain_fuids[|c$ssl$client_cert_chain_fuids|] = f$id; + c$ssl$client_cert_chain += f$info; + c$ssl$client_cert_chain_fuids += f$id; } else { - c$ssl$cert_chain[|c$ssl$cert_chain|] = f$info; - c$ssl$cert_chain_fuids[|c$ssl$cert_chain_fuids|] = f$id; + c$ssl$cert_chain += f$info; + c$ssl$cert_chain_fuids += f$id; } } diff --git a/scripts/base/utils/addrs.bro b/scripts/base/utils/addrs.bro index e8fd746e5e..058aabd96e 100644 --- a/scripts/base/utils/addrs.bro +++ b/scripts/base/utils/addrs.bro @@ -100,7 +100,7 @@ function find_ip_addresses(input: string): string_array &deprecated for ( i in parts ) { if ( i % 2 == 1 && is_valid_ip(parts[i]) ) - output[|output|] = parts[i]; + output += parts[i]; } return output; } @@ -118,7 +118,7 @@ function extract_ip_addresses(input: string): string_vec for ( i in parts ) { if ( i % 2 == 1 && is_valid_ip(parts[i]) ) - output[|output|] = parts[i]; + output += parts[i]; } return output; } diff --git a/scripts/base/utils/email.bro b/scripts/base/utils/email.bro index 08e8db8500..4feed351b4 100644 --- a/scripts/base/utils/email.bro +++ b/scripts/base/utils/email.bro @@ -10,7 +10,7 @@ function extract_email_addrs_vec(str: string): string_vec local raw_addrs = find_all(str, /(^|[<,:[:blank:]])[^<,:[:blank:]@]+"@"[^>,;[:blank:]]+([>,;[:blank:]]|$)/); for ( raw_addr in raw_addrs ) - addrs[|addrs|] = gsub(raw_addr, /[<>,:;[:blank:]]/, ""); + addrs += gsub(raw_addr, /[<>,:;[:blank:]]/, ""); return addrs; } diff --git a/scripts/base/utils/exec.bro b/scripts/base/utils/exec.bro index a926775bda..61488a1249 100644 --- a/scripts/base/utils/exec.bro +++ b/scripts/base/utils/exec.bro @@ -69,14 +69,14 @@ event Exec::line(description: Input::EventDescription, tpe: Input::Event, s: str if ( ! result?$stderr ) result$stderr = vector(s); else - result$stderr[|result$stderr|] = s; + result$stderr += s; } else { if ( ! result?$stdout ) result$stdout = vector(s); else - result$stdout[|result$stdout|] = s; + result$stdout += s; } } @@ -93,7 +93,7 @@ event Exec::file_line(description: Input::EventDescription, tpe: Input::Event, s if ( track_file !in result$files ) result$files[track_file] = vector(s); else - result$files[track_file][|result$files[track_file]|] = s; + result$files[track_file] += s; } event Input::end_of_data(orig_name: string, source:string) diff --git a/scripts/base/utils/json.bro b/scripts/base/utils/json.bro index 05dcff1e27..45248e3ea2 100644 --- a/scripts/base/utils/json.bro +++ b/scripts/base/utils/json.bro @@ -66,7 +66,7 @@ function to_json(v: any, only_loggable: bool &default=F, field_escape_pattern: p if ( field_desc?$value && (!only_loggable || field_desc$log) ) { local onepart = cat("\"", field, "\": ", to_json(field_desc$value, only_loggable)); - rec_parts[|rec_parts|] = onepart; + rec_parts += onepart; } } return cat("{", join_string_vec(rec_parts, ", "), "}"); @@ -79,7 +79,7 @@ function to_json(v: any, only_loggable: bool &default=F, field_escape_pattern: p local sa: set[bool] = v; for ( sv in sa ) { - set_parts[|set_parts|] = to_json(sv, only_loggable); + set_parts += to_json(sv, only_loggable); } return cat("[", join_string_vec(set_parts, ", "), "]"); } @@ -91,7 +91,7 @@ function to_json(v: any, only_loggable: bool &default=F, field_escape_pattern: p { local ts = to_json(ti); local if_quotes = (ts[0] == "\"") ? "" : "\""; - tab_parts[|tab_parts|] = cat(if_quotes, ts, if_quotes, ": ", to_json(ta[ti], only_loggable)); + tab_parts += cat(if_quotes, ts, if_quotes, ": ", to_json(ta[ti], only_loggable)); } return cat("{", join_string_vec(tab_parts, ", "), "}"); } @@ -101,7 +101,7 @@ function to_json(v: any, only_loggable: bool &default=F, field_escape_pattern: p local va: vector of any = v; for ( vi in va ) { - vec_parts[|vec_parts|] = to_json(va[vi], only_loggable); + vec_parts += to_json(va[vi], only_loggable); } return cat("[", join_string_vec(vec_parts, ", "), "]"); } diff --git a/scripts/policy/frameworks/notice/extend-email/hostnames.bro b/scripts/policy/frameworks/notice/extend-email/hostnames.bro index d8dac39e43..9ee58d3e0b 100644 --- a/scripts/policy/frameworks/notice/extend-email/hostnames.bro +++ b/scripts/policy/frameworks/notice/extend-email/hostnames.bro @@ -35,7 +35,7 @@ hook notice(n: Notice::Info) &priority=10 when ( local src_name = lookup_addr(n$src) ) { output = string_cat("orig/src hostname: ", src_name, "\n"); - tmp_notice_storage[uid]$email_body_sections[|tmp_notice_storage[uid]$email_body_sections|] = output; + tmp_notice_storage[uid]$email_body_sections += output; delete tmp_notice_storage[uid]$email_delay_tokens["hostnames-src"]; } } @@ -45,7 +45,7 @@ hook notice(n: Notice::Info) &priority=10 when ( local dst_name = lookup_addr(n$dst) ) { output = string_cat("resp/dst hostname: ", dst_name, "\n"); - tmp_notice_storage[uid]$email_body_sections[|tmp_notice_storage[uid]$email_body_sections|] = output; + tmp_notice_storage[uid]$email_body_sections += output; delete tmp_notice_storage[uid]$email_delay_tokens["hostnames-dst"]; } } diff --git a/scripts/policy/misc/load-balancing.bro b/scripts/policy/misc/load-balancing.bro index 928d0e74c0..40bbe238ca 100644 --- a/scripts/policy/misc/load-balancing.bro +++ b/scripts/policy/misc/load-balancing.bro @@ -40,7 +40,7 @@ event bro_init() &priority=5 # Sort nodes list so that every node iterates over it in same order. for ( name in Cluster::nodes ) - sorted_node_names[|sorted_node_names|] = name; + sorted_node_names += name; sort(sorted_node_names, strcmp); diff --git a/scripts/policy/protocols/dhcp/msg-orig.bro b/scripts/policy/protocols/dhcp/msg-orig.bro index beb7c7d78b..d2350192b5 100644 --- a/scripts/policy/protocols/dhcp/msg-orig.bro +++ b/scripts/policy/protocols/dhcp/msg-orig.bro @@ -17,5 +17,5 @@ export { event DHCP::aggregate_msgs(ts: time, id: conn_id, uid: string, is_orig: bool, msg: DHCP::Msg, options: DHCP::Options) &priority=3 { - log_info$msg_orig[|log_info$msg_orig|] = is_orig ? id$orig_h : id$resp_h; + log_info$msg_orig += is_orig ? id$orig_h : id$resp_h; } diff --git a/scripts/policy/protocols/http/header-names.bro b/scripts/policy/protocols/http/header-names.bro index ed3f9380a7..1b256226dd 100644 --- a/scripts/policy/protocols/http/header-names.bro +++ b/scripts/policy/protocols/http/header-names.bro @@ -35,7 +35,7 @@ event http_header(c: connection, is_orig: bool, name: string, value: string) &pr { if ( ! c$http?$client_header_names ) c$http$client_header_names = vector(); - c$http$client_header_names[|c$http$client_header_names|] = name; + c$http$client_header_names += name; } } else @@ -44,7 +44,7 @@ event http_header(c: connection, is_orig: bool, name: string, value: string) &pr { if ( ! c$http?$server_header_names ) c$http$server_header_names = vector(); - c$http$server_header_names[|c$http$server_header_names|] = name; + c$http$server_header_names += name; } } } diff --git a/scripts/policy/protocols/ssl/heartbleed.bro b/scripts/policy/protocols/ssl/heartbleed.bro index 783961bef2..e1073b3ff0 100644 --- a/scripts/policy/protocols/ssl/heartbleed.bro +++ b/scripts/policy/protocols/ssl/heartbleed.bro @@ -50,33 +50,33 @@ event bro_init() # Minimum length a heartbeat packet must have for different cipher suites. # Note - tls 1.1f and 1.0 have different lengths :( # This should be all cipher suites usually supported by vulnerable servers. - min_lengths_tls11[|min_lengths_tls11|] = [$cipher=/_AES_256_GCM_SHA384$/, $min_length=43]; - min_lengths_tls11[|min_lengths_tls11|] = [$cipher=/_AES_128_GCM_SHA256$/, $min_length=43]; - min_lengths_tls11[|min_lengths_tls11|] = [$cipher=/_256_CBC_SHA384$/, $min_length=96]; - min_lengths_tls11[|min_lengths_tls11|] = [$cipher=/_256_CBC_SHA256$/, $min_length=80]; - min_lengths_tls11[|min_lengths_tls11|] = [$cipher=/_256_CBC_SHA$/, $min_length=64]; - min_lengths_tls11[|min_lengths_tls11|] = [$cipher=/_128_CBC_SHA256$/, $min_length=80]; - min_lengths_tls11[|min_lengths_tls11|] = [$cipher=/_128_CBC_SHA$/, $min_length=64]; - min_lengths_tls11[|min_lengths_tls11|] = [$cipher=/_3DES_EDE_CBC_SHA$/, $min_length=48]; - min_lengths_tls11[|min_lengths_tls11|] = [$cipher=/_SEED_CBC_SHA$/, $min_length=64]; - min_lengths_tls11[|min_lengths_tls11|] = [$cipher=/_IDEA_CBC_SHA$/, $min_length=48]; - min_lengths_tls11[|min_lengths_tls11|] = [$cipher=/_DES_CBC_SHA$/, $min_length=48]; - min_lengths_tls11[|min_lengths_tls11|] = [$cipher=/_DES40_CBC_SHA$/, $min_length=48]; - min_lengths_tls11[|min_lengths_tls11|] = [$cipher=/_RC4_128_SHA$/, $min_length=39]; - min_lengths_tls11[|min_lengths_tls11|] = [$cipher=/_RC4_128_MD5$/, $min_length=35]; - min_lengths_tls11[|min_lengths_tls11|] = [$cipher=/_RC4_40_MD5$/, $min_length=35]; - min_lengths_tls11[|min_lengths_tls11|] = [$cipher=/_RC2_CBC_40_MD5$/, $min_length=48]; - min_lengths[|min_lengths|] = [$cipher=/_256_CBC_SHA$/, $min_length=48]; - min_lengths[|min_lengths|] = [$cipher=/_128_CBC_SHA$/, $min_length=48]; - min_lengths[|min_lengths|] = [$cipher=/_3DES_EDE_CBC_SHA$/, $min_length=40]; - min_lengths[|min_lengths|] = [$cipher=/_SEED_CBC_SHA$/, $min_length=48]; - min_lengths[|min_lengths|] = [$cipher=/_IDEA_CBC_SHA$/, $min_length=40]; - min_lengths[|min_lengths|] = [$cipher=/_DES_CBC_SHA$/, $min_length=40]; - min_lengths[|min_lengths|] = [$cipher=/_DES40_CBC_SHA$/, $min_length=40]; - min_lengths[|min_lengths|] = [$cipher=/_RC4_128_SHA$/, $min_length=39]; - min_lengths[|min_lengths|] = [$cipher=/_RC4_128_MD5$/, $min_length=35]; - min_lengths[|min_lengths|] = [$cipher=/_RC4_40_MD5$/, $min_length=35]; - min_lengths[|min_lengths|] = [$cipher=/_RC2_CBC_40_MD5$/, $min_length=40]; + min_lengths_tls11 += [$cipher=/_AES_256_GCM_SHA384$/, $min_length=43]; + min_lengths_tls11 += [$cipher=/_AES_128_GCM_SHA256$/, $min_length=43]; + min_lengths_tls11 += [$cipher=/_256_CBC_SHA384$/, $min_length=96]; + min_lengths_tls11 += [$cipher=/_256_CBC_SHA256$/, $min_length=80]; + min_lengths_tls11 += [$cipher=/_256_CBC_SHA$/, $min_length=64]; + min_lengths_tls11 += [$cipher=/_128_CBC_SHA256$/, $min_length=80]; + min_lengths_tls11 += [$cipher=/_128_CBC_SHA$/, $min_length=64]; + min_lengths_tls11 += [$cipher=/_3DES_EDE_CBC_SHA$/, $min_length=48]; + min_lengths_tls11 += [$cipher=/_SEED_CBC_SHA$/, $min_length=64]; + min_lengths_tls11 += [$cipher=/_IDEA_CBC_SHA$/, $min_length=48]; + min_lengths_tls11 += [$cipher=/_DES_CBC_SHA$/, $min_length=48]; + min_lengths_tls11 += [$cipher=/_DES40_CBC_SHA$/, $min_length=48]; + min_lengths_tls11 += [$cipher=/_RC4_128_SHA$/, $min_length=39]; + min_lengths_tls11 += [$cipher=/_RC4_128_MD5$/, $min_length=35]; + min_lengths_tls11 += [$cipher=/_RC4_40_MD5$/, $min_length=35]; + min_lengths_tls11 += [$cipher=/_RC2_CBC_40_MD5$/, $min_length=48]; + min_lengths += [$cipher=/_256_CBC_SHA$/, $min_length=48]; + min_lengths += [$cipher=/_128_CBC_SHA$/, $min_length=48]; + min_lengths += [$cipher=/_3DES_EDE_CBC_SHA$/, $min_length=40]; + min_lengths += [$cipher=/_SEED_CBC_SHA$/, $min_length=48]; + min_lengths += [$cipher=/_IDEA_CBC_SHA$/, $min_length=40]; + min_lengths += [$cipher=/_DES_CBC_SHA$/, $min_length=40]; + min_lengths += [$cipher=/_DES40_CBC_SHA$/, $min_length=40]; + min_lengths += [$cipher=/_RC4_128_SHA$/, $min_length=39]; + min_lengths += [$cipher=/_RC4_128_MD5$/, $min_length=35]; + min_lengths += [$cipher=/_RC4_40_MD5$/, $min_length=35]; + min_lengths += [$cipher=/_RC2_CBC_40_MD5$/, $min_length=40]; } event ssl_heartbeat(c: connection, is_orig: bool, length: count, heartbeat_type: count, payload_length: count, payload: string) diff --git a/scripts/policy/protocols/ssl/notary.bro b/scripts/policy/protocols/ssl/notary.bro index 07f2cdebc4..4406dd9629 100644 --- a/scripts/policy/protocols/ssl/notary.bro +++ b/scripts/policy/protocols/ssl/notary.bro @@ -56,7 +56,7 @@ event ssl_established(c: connection) &priority=3 local waits_already = digest in waitlist; if ( ! waits_already ) waitlist[digest] = vector(); - waitlist[digest][|waitlist[digest]|] = c$ssl; + waitlist[digest] += c$ssl; if ( waits_already ) return; diff --git a/scripts/policy/protocols/ssl/validate-sct.bro b/scripts/policy/protocols/ssl/validate-sct.bro index f4d1646ae8..0ce11b63ff 100644 --- a/scripts/policy/protocols/ssl/validate-sct.bro +++ b/scripts/policy/protocols/ssl/validate-sct.bro @@ -76,7 +76,7 @@ event bro_init() event ssl_extension_signed_certificate_timestamp(c: connection, is_orig: bool, version: count, logid: string, timestamp: count, signature_and_hashalgorithm: SSL::SignatureAndHashAlgorithm, signature: string) &priority=5 { - c$ssl$ct_proofs[|c$ssl$ct_proofs|] = SctInfo($version=version, $logid=logid, $timestamp=timestamp, $sig_alg=signature_and_hashalgorithm$SignatureAlgorithm, $hash_alg=signature_and_hashalgorithm$HashAlgorithm, $signature=signature, $source=SCT_TLS_EXT); + c$ssl$ct_proofs += SctInfo($version=version, $logid=logid, $timestamp=timestamp, $sig_alg=signature_and_hashalgorithm$SignatureAlgorithm, $hash_alg=signature_and_hashalgorithm$HashAlgorithm, $signature=signature, $source=SCT_TLS_EXT); } event x509_ocsp_ext_signed_certificate_timestamp(f: fa_file, version: count, logid: string, timestamp: count, hash_algorithm: count, signature_algorithm: count, signature: string) &priority=5 @@ -103,7 +103,7 @@ event x509_ocsp_ext_signed_certificate_timestamp(f: fa_file, version: count, log local c = f$conns[cid]; } - c$ssl$ct_proofs[|c$ssl$ct_proofs|] = SctInfo($version=version, $logid=logid, $timestamp=timestamp, $sig_alg=signature_algorithm, $hash_alg=hash_algorithm, $signature=signature, $source=src); + c$ssl$ct_proofs += SctInfo($version=version, $logid=logid, $timestamp=timestamp, $sig_alg=signature_algorithm, $hash_alg=hash_algorithm, $signature=signature, $source=src); } # Priority = 19 will be handled after validation is done diff --git a/testing/btest/core/leaks/broker/data.bro b/testing/btest/core/leaks/broker/data.bro index d79155fa30..590d041ff1 100644 --- a/testing/btest/core/leaks/broker/data.bro +++ b/testing/btest/core/leaks/broker/data.bro @@ -91,7 +91,7 @@ function broker_to_bro_vector_recurse(it: opaque of Broker::VectorIterator, if ( Broker::vector_iterator_last(it) ) return rval; - rval[|rval|] = Broker::vector_iterator_value(it) as string; + rval += Broker::vector_iterator_value(it) as string; Broker::vector_iterator_next(it); return broker_to_bro_vector_recurse(it, rval); } diff --git a/testing/btest/language/ipv6-literals.bro b/testing/btest/language/ipv6-literals.bro index 004d104c6e..bf888b29e1 100644 --- a/testing/btest/language/ipv6-literals.bro +++ b/testing/btest/language/ipv6-literals.bro @@ -3,30 +3,30 @@ local v: vector of addr = vector(); -v[|v|] = [::1]; -v[|v|] = [::ffff]; -v[|v|] = [::ffff:ffff]; -v[|v|] = [::0a0a:ffff]; -v[|v|] = [1::1]; -v[|v|] = [1::a]; -v[|v|] = [1::1:1]; -v[|v|] = [1::1:a]; -v[|v|] = [a::a]; -v[|v|] = [a::1]; -v[|v|] = [a::a:a]; -v[|v|] = [a::a:1]; -v[|v|] = [a:a::a]; -v[|v|] = [aaaa:0::ffff]; -v[|v|] = [::ffff:192.168.1.100]; -v[|v|] = [ffff::192.168.1.100]; -v[|v|] = [::192.168.1.100]; -v[|v|] = [::ffff:0:192.168.1.100]; -v[|v|] = [805B:2D9D:DC28::FC57:212.200.31.255]; -v[|v|] = [0xaaaa::bbbb]; -v[|v|] = [aaaa:bbbb:cccc:dddd:eeee:ffff:1111:2222]; -v[|v|] = [aaaa:bbbb:cccc:dddd:eeee:ffff:1:2222]; -v[|v|] = [aaaa:bbbb:cccc:dddd:eeee:ffff:0:2222]; -v[|v|] = [aaaa:bbbb:cccc:dddd:eeee:0:0:2222]; +v += [::1]; +v += [::ffff]; +v += [::ffff:ffff]; +v += [::0a0a:ffff]; +v += [1::1]; +v += [1::a]; +v += [1::1:1]; +v += [1::1:a]; +v += [a::a]; +v += [a::1]; +v += [a::a:a]; +v += [a::a:1]; +v += [a:a::a]; +v += [aaaa:0::ffff]; +v += [::ffff:192.168.1.100]; +v += [ffff::192.168.1.100]; +v += [::192.168.1.100]; +v += [::ffff:0:192.168.1.100]; +v += [805B:2D9D:DC28::FC57:212.200.31.255]; +v += [0xaaaa::bbbb]; +v += [aaaa:bbbb:cccc:dddd:eeee:ffff:1111:2222]; +v += [aaaa:bbbb:cccc:dddd:eeee:ffff:1:2222]; +v += [aaaa:bbbb:cccc:dddd:eeee:ffff:0:2222]; +v += [aaaa:bbbb:cccc:dddd:eeee:0:0:2222]; for (i in v) print v[i]; diff --git a/testing/btest/language/record-default-coercion.bro b/testing/btest/language/record-default-coercion.bro index 822b845f65..9d8babf571 100644 --- a/testing/btest/language/record-default-coercion.bro +++ b/testing/btest/language/record-default-coercion.bro @@ -43,6 +43,6 @@ print_bar(bar6); local r: MyRecord = [$c=13]; print r; print |r$v|; -r$v[|r$v|] = "test"; +r$v += "test"; print r; print |r$v|; diff --git a/testing/btest/scripts/base/frameworks/netcontrol/delete-internal-state.bro b/testing/btest/scripts/base/frameworks/netcontrol/delete-internal-state.bro index 9b8c995fac..29cb439a64 100644 --- a/testing/btest/scripts/base/frameworks/netcontrol/delete-internal-state.bro +++ b/testing/btest/scripts/base/frameworks/netcontrol/delete-internal-state.bro @@ -43,10 +43,10 @@ event dump_info() event connection_established(c: connection) { local id = c$id; - rules[|rules|] = NetControl::shunt_flow([$src_h=id$orig_h, $src_p=id$orig_p, $dst_h=id$resp_h, $dst_p=id$resp_p], 0secs); - rules[|rules|] = NetControl::drop_address(id$orig_h, 0secs); - rules[|rules|] = NetControl::whitelist_address(id$orig_h, 0secs); - rules[|rules|] = NetControl::redirect_flow([$src_h=id$orig_h, $src_p=id$orig_p, $dst_h=id$resp_h, $dst_p=id$resp_p], 5, 0secs); + rules += NetControl::shunt_flow([$src_h=id$orig_h, $src_p=id$orig_p, $dst_h=id$resp_h, $dst_p=id$resp_p], 0secs); + rules += NetControl::drop_address(id$orig_h, 0secs); + rules += NetControl::whitelist_address(id$orig_h, 0secs); + rules += NetControl::redirect_flow([$src_h=id$orig_h, $src_p=id$orig_p, $dst_h=id$resp_h, $dst_p=id$resp_p], 5, 0secs); schedule 1sec { remove_all() }; schedule 2sec { dump_info() }; diff --git a/testing/btest/scripts/base/frameworks/netcontrol/multiple.bro b/testing/btest/scripts/base/frameworks/netcontrol/multiple.bro index 56a764f2e9..d56c8e2468 100644 --- a/testing/btest/scripts/base/frameworks/netcontrol/multiple.bro +++ b/testing/btest/scripts/base/frameworks/netcontrol/multiple.bro @@ -27,10 +27,10 @@ event remove_all() event connection_established(c: connection) { local id = c$id; - rules[|rules|] = NetControl::shunt_flow([$src_h=id$orig_h, $src_p=id$orig_p, $dst_h=id$resp_h, $dst_p=id$resp_p], 0secs); - rules[|rules|] = NetControl::drop_address(id$orig_h, 0secs); - rules[|rules|] = NetControl::whitelist_address(id$orig_h, 0secs); - rules[|rules|] = NetControl::redirect_flow([$src_h=id$orig_h, $src_p=id$orig_p, $dst_h=id$resp_h, $dst_p=id$resp_p], 5, 0secs); + rules += NetControl::shunt_flow([$src_h=id$orig_h, $src_p=id$orig_p, $dst_h=id$resp_h, $dst_p=id$resp_p], 0secs); + rules += NetControl::drop_address(id$orig_h, 0secs); + rules += NetControl::whitelist_address(id$orig_h, 0secs); + rules += NetControl::redirect_flow([$src_h=id$orig_h, $src_p=id$orig_p, $dst_h=id$resp_h, $dst_p=id$resp_p], 5, 0secs); schedule 1sec { remove_all() }; } diff --git a/testing/btest/scripts/base/frameworks/sumstats/sample-cluster.bro b/testing/btest/scripts/base/frameworks/sumstats/sample-cluster.bro index 6426b42680..52fce96dba 100644 --- a/testing/btest/scripts/base/frameworks/sumstats/sample-cluster.bro +++ b/testing/btest/scripts/base/frameworks/sumstats/sample-cluster.bro @@ -31,7 +31,7 @@ event bro_init() &priority=5 print fmt("Host: %s Sampled observations: %d", key$host, r$sample_elements); local sample_nums: vector of count = vector(); for ( sample in r$samples ) - sample_nums[|sample_nums|] =r$samples[sample]$num; + sample_nums += r$samples[sample]$num; print fmt(" %s", sort(sample_nums)); },