diff --git a/src/CompHash.cc b/src/CompHash.cc index 5e129710d2..f6f982685d 100644 --- a/src/CompHash.cc +++ b/src/CompHash.cc @@ -791,7 +791,7 @@ const char* CompositeHash::RecoverOneVal(const HashKey* k, const char* kp0, break; case TYPE_PORT: - *pval = {AdoptRef{}, val_mgr->GetPort(*kp)}; + *pval = val_mgr->Port(*kp); break; default: diff --git a/src/Conn.cc b/src/Conn.cc index 2c431cb9c1..6661f772fe 100644 --- a/src/Conn.cc +++ b/src/Conn.cc @@ -339,9 +339,9 @@ RecordVal* Connection::BuildConnVal() auto id_val = make_intrusive(conn_id); id_val->Assign(0, make_intrusive(orig_addr)); - id_val->Assign(1, val_mgr->GetPort(ntohs(orig_port), prot_type)); + id_val->Assign(1, val_mgr->Port(ntohs(orig_port), prot_type)); id_val->Assign(2, make_intrusive(resp_addr)); - id_val->Assign(3, val_mgr->GetPort(ntohs(resp_port), prot_type)); + id_val->Assign(3, val_mgr->Port(ntohs(resp_port), prot_type)); auto orig_endp = make_intrusive(endpoint); orig_endp->Assign(0, val_mgr->Count(0)); diff --git a/src/IP.cc b/src/IP.cc index ea3e0df41e..58c0a9ef26 100644 --- a/src/IP.cc +++ b/src/IP.cc @@ -394,8 +394,8 @@ RecordVal* IP_Hdr::BuildPktHdrVal(RecordVal* pkt_hdr, int sindex) const int tcp_hdr_len = tp->th_off * 4; int data_len = PayloadLen() - tcp_hdr_len; - tcp_hdr->Assign(0, val_mgr->GetPort(ntohs(tp->th_sport), TRANSPORT_TCP)); - tcp_hdr->Assign(1, val_mgr->GetPort(ntohs(tp->th_dport), TRANSPORT_TCP)); + tcp_hdr->Assign(0, val_mgr->Port(ntohs(tp->th_sport), TRANSPORT_TCP)); + tcp_hdr->Assign(1, val_mgr->Port(ntohs(tp->th_dport), TRANSPORT_TCP)); tcp_hdr->Assign(2, val_mgr->Count(uint32_t(ntohl(tp->th_seq)))); tcp_hdr->Assign(3, val_mgr->Count(uint32_t(ntohl(tp->th_ack)))); tcp_hdr->Assign(4, val_mgr->Count(tcp_hdr_len)); @@ -413,8 +413,8 @@ RecordVal* IP_Hdr::BuildPktHdrVal(RecordVal* pkt_hdr, int sindex) const const struct udphdr* up = (const struct udphdr*) data; RecordVal* udp_hdr = new RecordVal(udp_hdr_type); - udp_hdr->Assign(0, val_mgr->GetPort(ntohs(up->uh_sport), TRANSPORT_UDP)); - udp_hdr->Assign(1, val_mgr->GetPort(ntohs(up->uh_dport), TRANSPORT_UDP)); + udp_hdr->Assign(0, val_mgr->Port(ntohs(up->uh_sport), TRANSPORT_UDP)); + udp_hdr->Assign(1, val_mgr->Port(ntohs(up->uh_dport), TRANSPORT_UDP)); udp_hdr->Assign(2, val_mgr->Count(ntohs(up->uh_ulen))); pkt_hdr->Assign(sindex + 3, udp_hdr); diff --git a/src/TunnelEncapsulation.cc b/src/TunnelEncapsulation.cc index ffb565b1fb..2f3deb9e14 100644 --- a/src/TunnelEncapsulation.cc +++ b/src/TunnelEncapsulation.cc @@ -22,9 +22,9 @@ RecordVal* EncapsulatingConn::GetRecordVal() const auto id_val = make_intrusive(conn_id); id_val->Assign(0, make_intrusive(src_addr)); - id_val->Assign(1, val_mgr->GetPort(ntohs(src_port), proto)); + id_val->Assign(1, val_mgr->Port(ntohs(src_port), proto)); id_val->Assign(2, make_intrusive(dst_addr)); - id_val->Assign(3, val_mgr->GetPort(ntohs(dst_port), proto)); + id_val->Assign(3, val_mgr->Port(ntohs(dst_port), proto)); rv->Assign(0, std::move(id_val)); rv->Assign(1, BifType::Enum::Tunnel::Type->GetVal(type)); diff --git a/src/analyzer/Manager.cc b/src/analyzer/Manager.cc index e0cbaad957..b74dd28419 100644 --- a/src/analyzer/Manager.cc +++ b/src/analyzer/Manager.cc @@ -440,15 +440,13 @@ bool Manager::BuildInitialAnalyzerTree(Connection* conn) if ( tcp_contents && ! reass ) { - auto dport = val_mgr->GetPort(ntohs(conn->RespPort()), TRANSPORT_TCP); + const auto& dport = val_mgr->Port(ntohs(conn->RespPort()), TRANSPORT_TCP); if ( ! reass ) - reass = (bool)tcp_content_delivery_ports_orig->Lookup(dport); + reass = (bool)tcp_content_delivery_ports_orig->Lookup(dport.get()); if ( ! reass ) - reass = (bool)tcp_content_delivery_ports_resp->Lookup(dport); - - Unref(dport); + reass = (bool)tcp_content_delivery_ports_resp->Lookup(dport.get()); } if ( reass ) diff --git a/src/analyzer/protocol/bittorrent/BitTorrentTracker.cc b/src/analyzer/protocol/bittorrent/BitTorrentTracker.cc index 896c311646..a578852c40 100644 --- a/src/analyzer/protocol/bittorrent/BitTorrentTracker.cc +++ b/src/analyzer/protocol/bittorrent/BitTorrentTracker.cc @@ -480,7 +480,7 @@ void BitTorrentTracker_Analyzer::ResponseBenc(int name_len, char* name, RecordVal* peer = new RecordVal(bittorrent_peer); peer->Assign(0, make_intrusive(ad)); - peer->Assign(1, val_mgr->GetPort(pt, TRANSPORT_TCP)); + peer->Assign(1, val_mgr->Port(pt, TRANSPORT_TCP)); res_val_peers->Assign(peer, nullptr); Unref(peer); diff --git a/src/analyzer/protocol/bittorrent/bittorrent-analyzer.pac b/src/analyzer/protocol/bittorrent/bittorrent-analyzer.pac index 232f4a9bd1..0e5d6f44bb 100644 --- a/src/analyzer/protocol/bittorrent/bittorrent-analyzer.pac +++ b/src/analyzer/protocol/bittorrent/bittorrent-analyzer.pac @@ -221,7 +221,7 @@ flow BitTorrent_Flow(is_orig: bool) { connection()->bro_analyzer(), connection()->bro_analyzer()->Conn(), is_orig(), - val_mgr->GetPort(listen_port, TRANSPORT_TCP)); + val_mgr->Port(listen_port, TRANSPORT_TCP)->Ref()->AsPortVal()); } return true; diff --git a/src/analyzer/protocol/ftp/functions.bif b/src/analyzer/protocol/ftp/functions.bif index 97b2042c20..1734dd864f 100644 --- a/src/analyzer/protocol/ftp/functions.bif +++ b/src/analyzer/protocol/ftp/functions.bif @@ -34,13 +34,13 @@ static Val* parse_port(const char* line) } r->Assign(0, make_intrusive(htonl(addr))); - r->Assign(1, val_mgr->GetPort(port, TRANSPORT_TCP)); + r->Assign(1, val_mgr->Port(port, TRANSPORT_TCP)); r->Assign(2, val_mgr->Bool(good)); } else { r->Assign(0, make_intrusive(uint32_t(0))); - r->Assign(1, val_mgr->GetPort(0, TRANSPORT_TCP)); + r->Assign(1, val_mgr->Port(0, TRANSPORT_TCP)); r->Assign(2, val_mgr->False()); } @@ -110,7 +110,7 @@ static Val* parse_eftp(const char* line) } r->Assign(0, make_intrusive(addr)); - r->Assign(1, val_mgr->GetPort(port, TRANSPORT_TCP)); + r->Assign(1, val_mgr->Port(port, TRANSPORT_TCP)); r->Assign(2, val_mgr->Bool(good)); return r; diff --git a/src/analyzer/protocol/icmp/ICMP.cc b/src/analyzer/protocol/icmp/ICMP.cc index 534feef28c..3d81472035 100644 --- a/src/analyzer/protocol/icmp/ICMP.cc +++ b/src/analyzer/protocol/icmp/ICMP.cc @@ -355,9 +355,9 @@ RecordVal* ICMP_Analyzer::ExtractICMP4Context(int len, const u_char*& data) RecordVal* id_val = new RecordVal(conn_id); id_val->Assign(0, make_intrusive(src_addr)); - id_val->Assign(1, val_mgr->GetPort(src_port, proto)); + id_val->Assign(1, val_mgr->Port(src_port, proto)); id_val->Assign(2, make_intrusive(dst_addr)); - id_val->Assign(3, val_mgr->GetPort(dst_port, proto)); + id_val->Assign(3, val_mgr->Port(dst_port, proto)); iprec->Assign(0, id_val); iprec->Assign(1, val_mgr->Count(ip_len)); @@ -414,9 +414,9 @@ RecordVal* ICMP_Analyzer::ExtractICMP6Context(int len, const u_char*& data) RecordVal* id_val = new RecordVal(conn_id); id_val->Assign(0, make_intrusive(src_addr)); - id_val->Assign(1, val_mgr->GetPort(src_port, proto)); + id_val->Assign(1, val_mgr->Port(src_port, proto)); id_val->Assign(2, make_intrusive(dst_addr)); - id_val->Assign(3, val_mgr->GetPort(dst_port, proto)); + id_val->Assign(3, val_mgr->Port(dst_port, proto)); iprec->Assign(0, id_val); iprec->Assign(1, val_mgr->Count(ip_len)); diff --git a/src/analyzer/protocol/ident/Ident.cc b/src/analyzer/protocol/ident/Ident.cc index a9c6d5a066..a56b41fa95 100644 --- a/src/analyzer/protocol/ident/Ident.cc +++ b/src/analyzer/protocol/ident/Ident.cc @@ -86,8 +86,8 @@ void Ident_Analyzer::DeliverStream(int length, const u_char* data, bool is_orig) EnqueueConnEvent(ident_request, IntrusivePtr{AdoptRef{}, BuildConnVal()}, - IntrusivePtr{AdoptRef{}, val_mgr->GetPort(local_port, TRANSPORT_TCP)}, - IntrusivePtr{AdoptRef{}, val_mgr->GetPort(remote_port, TRANSPORT_TCP)} + val_mgr->Port(local_port, TRANSPORT_TCP), + val_mgr->Port(remote_port, TRANSPORT_TCP) ); did_deliver = true; @@ -147,8 +147,8 @@ void Ident_Analyzer::DeliverStream(int length, const u_char* data, bool is_orig) if ( ident_error ) EnqueueConnEvent(ident_error, IntrusivePtr{AdoptRef{}, BuildConnVal()}, - IntrusivePtr{AdoptRef{}, val_mgr->GetPort(local_port, TRANSPORT_TCP)}, - IntrusivePtr{AdoptRef{}, val_mgr->GetPort(remote_port, TRANSPORT_TCP)}, + val_mgr->Port(local_port, TRANSPORT_TCP), + val_mgr->Port(remote_port, TRANSPORT_TCP), make_intrusive(end_of_line - line, line) ); } @@ -180,8 +180,8 @@ void Ident_Analyzer::DeliverStream(int length, const u_char* data, bool is_orig) EnqueueConnEvent(ident_reply, IntrusivePtr{AdoptRef{}, BuildConnVal()}, - IntrusivePtr{AdoptRef{}, val_mgr->GetPort(local_port, TRANSPORT_TCP)}, - IntrusivePtr{AdoptRef{}, val_mgr->GetPort(remote_port, TRANSPORT_TCP)}, + val_mgr->Port(local_port, TRANSPORT_TCP), + val_mgr->Port(remote_port, TRANSPORT_TCP), make_intrusive(end_of_line - line, line), make_intrusive(sys_type_s) ); diff --git a/src/analyzer/protocol/rpc/Portmap.cc b/src/analyzer/protocol/rpc/Portmap.cc index 8aa8dba674..a8bea3547a 100644 --- a/src/analyzer/protocol/rpc/Portmap.cc +++ b/src/analyzer/protocol/rpc/Portmap.cc @@ -126,9 +126,8 @@ bool PortmapperInterp::RPC_BuildReply(RPC_CallInfo* c, BifEnum::rpc_status statu RecordVal* rv = c->RequestVal()->AsRecordVal(); Val* is_tcp = rv->Lookup(2); - reply = val_mgr->GetPort(CheckPort(port), - is_tcp->IsOne() ? - TRANSPORT_TCP : TRANSPORT_UDP); + reply = val_mgr->Port(CheckPort(port), is_tcp->IsOne() ? + TRANSPORT_TCP : TRANSPORT_UDP)->Ref(); event = pm_request_getport; } else @@ -177,7 +176,7 @@ bool PortmapperInterp::RPC_BuildReply(RPC_CallInfo* c, BifEnum::rpc_status statu if ( ! opaque_reply ) return false; - reply = val_mgr->GetPort(CheckPort(port), TRANSPORT_UDP); + reply = val_mgr->Port(CheckPort(port), TRANSPORT_UDP)->Ref(); event = pm_request_callit; } else @@ -201,8 +200,7 @@ Val* PortmapperInterp::ExtractMapping(const u_char*& buf, int& len) bool is_tcp = extract_XDR_uint32(buf, len) == IPPROTO_TCP; uint32_t port = extract_XDR_uint32(buf, len); - mapping->Assign(2, val_mgr->GetPort(CheckPort(port), - is_tcp ? TRANSPORT_TCP : TRANSPORT_UDP)); + mapping->Assign(2, val_mgr->Port(CheckPort(port), is_tcp ? TRANSPORT_TCP : TRANSPORT_UDP)); if ( ! buf ) { diff --git a/src/analyzer/protocol/socks/socks-analyzer.pac b/src/analyzer/protocol/socks/socks-analyzer.pac index 24dc87bbc7..97776a17fe 100644 --- a/src/analyzer/protocol/socks/socks-analyzer.pac +++ b/src/analyzer/protocol/socks/socks-analyzer.pac @@ -35,7 +35,7 @@ refine connection SOCKS_Conn += { 4, ${request.command}, sa, - val_mgr->GetPort(${request.port}, TRANSPORT_TCP), + val_mgr->Port(${request.port}, TRANSPORT_TCP)->Ref()->AsPortVal(), array_to_string(${request.user})); } @@ -56,7 +56,7 @@ refine connection SOCKS_Conn += { 4, ${reply.status}, sa, - val_mgr->GetPort(${reply.port}, TRANSPORT_TCP)); + val_mgr->Port(${reply.port}, TRANSPORT_TCP)->Ref()->AsPortVal()); } bro_analyzer()->ProtocolConfirmation(); @@ -110,7 +110,7 @@ refine connection SOCKS_Conn += { 5, ${request.command}, sa, - val_mgr->GetPort(${request.port}, TRANSPORT_TCP), + val_mgr->Port(${request.port}, TRANSPORT_TCP)->Ref()->AsPortVal(), val_mgr->EmptyString()->Ref()->AsStringVal()); else Unref(sa); @@ -152,7 +152,7 @@ refine connection SOCKS_Conn += { 5, ${reply.reply}, sa, - val_mgr->GetPort(${reply.port}, TRANSPORT_TCP)); + val_mgr->Port(${reply.port}, TRANSPORT_TCP)->Ref()->AsPortVal()); else Unref(sa); diff --git a/src/analyzer/protocol/tcp/TCP_Reassembler.cc b/src/analyzer/protocol/tcp/TCP_Reassembler.cc index 1bbeee2dbf..33e484b7c8 100644 --- a/src/analyzer/protocol/tcp/TCP_Reassembler.cc +++ b/src/analyzer/protocol/tcp/TCP_Reassembler.cc @@ -42,19 +42,17 @@ TCP_Reassembler::TCP_Reassembler(analyzer::Analyzer* arg_dst_analyzer, if ( ::tcp_contents ) { - auto dst_port_val = val_mgr->GetPort(ntohs(tcp_analyzer->Conn()->RespPort()), - TRANSPORT_TCP); + const auto& dst_port_val = val_mgr->Port(ntohs(tcp_analyzer->Conn()->RespPort()), + TRANSPORT_TCP); TableVal* ports = IsOrig() ? tcp_content_delivery_ports_orig : tcp_content_delivery_ports_resp; - auto result = ports->Lookup(dst_port_val); + auto result = ports->Lookup(dst_port_val.get()); if ( (IsOrig() && tcp_content_deliver_all_orig) || (! IsOrig() && tcp_content_deliver_all_resp) || (result && result->AsBool()) ) deliver_tcp_contents = true; - - Unref(dst_port_val); } } diff --git a/src/analyzer/protocol/teredo/Teredo.cc b/src/analyzer/protocol/teredo/Teredo.cc index 0f20531af3..26619e92a6 100644 --- a/src/analyzer/protocol/teredo/Teredo.cc +++ b/src/analyzer/protocol/teredo/Teredo.cc @@ -132,7 +132,7 @@ RecordVal* TeredoEncapsulation::BuildVal(const IP_Hdr* inner) const RecordVal* teredo_origin = new RecordVal(teredo_origin_type); uint16_t port = ntohs(*((uint16_t*)(origin_indication + 2))) ^ 0xFFFF; uint32_t addr = ntohl(*((uint32_t*)(origin_indication + 4))) ^ 0xFFFFFFFF; - teredo_origin->Assign(0, val_mgr->GetPort(port, TRANSPORT_UDP)); + teredo_origin->Assign(0, val_mgr->Port(port, TRANSPORT_UDP)); teredo_origin->Assign(1, make_intrusive(htonl(addr))); teredo_hdr->Assign(1, teredo_origin); } diff --git a/src/analyzer/protocol/udp/UDP.cc b/src/analyzer/protocol/udp/UDP.cc index 642ab4873f..9d49b1cb4a 100644 --- a/src/analyzer/protocol/udp/UDP.cc +++ b/src/analyzer/protocol/udp/UDP.cc @@ -135,8 +135,8 @@ void UDP_Analyzer::DeliverPacket(int len, const u_char* data, bool is_orig, if ( udp_contents ) { bool do_udp_contents = false; - auto sport_val = IntrusivePtr{AdoptRef{}, val_mgr->GetPort(ntohs(up->uh_sport), TRANSPORT_UDP)}; - auto dport_val = IntrusivePtr{AdoptRef{}, val_mgr->GetPort(ntohs(up->uh_dport), TRANSPORT_UDP)}; + const auto& sport_val = val_mgr->Port(ntohs(up->uh_sport), TRANSPORT_UDP); + const auto& dport_val = val_mgr->Port(ntohs(up->uh_dport), TRANSPORT_UDP); if ( udp_content_ports->Lookup(dport_val.get()) || udp_content_ports->Lookup(sport_val.get()) ) @@ -145,7 +145,7 @@ void UDP_Analyzer::DeliverPacket(int len, const u_char* data, bool is_orig, { uint16_t p = udp_content_delivery_ports_use_resp ? Conn()->RespPort() : up->uh_dport; - auto port_val = IntrusivePtr{AdoptRef{}, val_mgr->GetPort(ntohs(p), TRANSPORT_UDP)}; + const auto& port_val = val_mgr->Port(ntohs(p), TRANSPORT_UDP); if ( is_orig ) { diff --git a/src/broker/Data.cc b/src/broker/Data.cc index 332f953aeb..a8ebc28cfa 100644 --- a/src/broker/Data.cc +++ b/src/broker/Data.cc @@ -161,7 +161,7 @@ struct val_converter { result_type operator()(broker::port& a) { if ( type->Tag() == TYPE_PORT ) - return val_mgr->GetPort(a.number(), bro_broker::to_bro_port_proto(a.type())); + return val_mgr->Port(a.number(), bro_broker::to_bro_port_proto(a.type()))->Ref(); return nullptr; } diff --git a/src/broker/Manager.cc b/src/broker/Manager.cc index 8c72ca7cc6..c9dcdc9457 100644 --- a/src/broker/Manager.cc +++ b/src/broker/Manager.cc @@ -1250,14 +1250,14 @@ void Manager::ProcessStatus(broker::status stat) if ( ctx->network ) { network_info->Assign(0, make_intrusive(ctx->network->address.data())); - network_info->Assign(1, val_mgr->GetPort(ctx->network->port, TRANSPORT_TCP)); + network_info->Assign(1, val_mgr->Port(ctx->network->port, TRANSPORT_TCP)); } else { // TODO: are there any status messages where the ctx->network // is not set and actually could be? network_info->Assign(0, make_intrusive("")); - network_info->Assign(1, val_mgr->GetPort(0, TRANSPORT_TCP)); + network_info->Assign(1, val_mgr->Port(0, TRANSPORT_TCP)); } endpoint_info->Assign(1, std::move(network_info)); diff --git a/src/broker/comm.bif b/src/broker/comm.bif index 8810a7be11..22bff1641a 100644 --- a/src/broker/comm.bif +++ b/src/broker/comm.bif @@ -56,11 +56,11 @@ function Broker::__listen%(a: string, p: port%): port if ( ! p->IsTCP() ) { builtin_error("listen port must use tcp"); - return val_mgr->GetPort(0, TRANSPORT_UNKNOWN); + return val_mgr->Port(0, TRANSPORT_UNKNOWN); } auto rval = broker_mgr->Listen(a->Len() ? a->CheckString() : "", p->Port()); - return val_mgr->GetPort(rval, TRANSPORT_TCP); + return val_mgr->Port(rval, TRANSPORT_TCP); %} function Broker::__peer%(a: string, p: port, retry: interval%): bool @@ -110,12 +110,12 @@ function Broker::__peers%(%): PeerInfos if ( n ) { network_info->Assign(0, make_intrusive(IPAddr(n->address))); - network_info->Assign(1, val_mgr->GetPort(n->port, TRANSPORT_TCP)); + network_info->Assign(1, val_mgr->Port(n->port, TRANSPORT_TCP)); } else { network_info->Assign(0, make_intrusive("0.0.0.0")); - network_info->Assign(1, val_mgr->GetPort(0, TRANSPORT_TCP)); + network_info->Assign(1, val_mgr->Port(0, TRANSPORT_TCP)); } endpoint_info->Assign(0, make_intrusive(to_string(p.peer.node))); diff --git a/src/file_analysis/File.cc b/src/file_analysis/File.cc index f90f5ccaa5..76822e857d 100644 --- a/src/file_analysis/File.cc +++ b/src/file_analysis/File.cc @@ -34,9 +34,9 @@ static RecordVal* get_conn_id_val(const Connection* conn) { RecordVal* v = new RecordVal(conn_id); v->Assign(0, make_intrusive(conn->OrigAddr())); - v->Assign(1, val_mgr->GetPort(ntohs(conn->OrigPort()), conn->ConnTransport())); + v->Assign(1, val_mgr->Port(ntohs(conn->OrigPort()), conn->ConnTransport())); v->Assign(2, make_intrusive(conn->RespAddr())); - v->Assign(3, val_mgr->GetPort(ntohs(conn->RespPort()), conn->ConnTransport())); + v->Assign(3, val_mgr->Port(ntohs(conn->RespPort()), conn->ConnTransport())); return v; } diff --git a/src/file_analysis/analyzer/unified2/unified2-analyzer.pac b/src/file_analysis/analyzer/unified2/unified2-analyzer.pac index 50874d39ad..39039917ce 100644 --- a/src/file_analysis/analyzer/unified2/unified2-analyzer.pac +++ b/src/file_analysis/analyzer/unified2/unified2-analyzer.pac @@ -45,7 +45,7 @@ refine flow Flow += { } %} - function to_port(n: uint16, p: uint8): PortVal + function to_port(n: uint16, p: uint8): Val %{ TransportProto proto = TRANSPORT_UNKNOWN; switch ( p ) { @@ -54,7 +54,7 @@ refine flow Flow += { case 17: proto = TRANSPORT_UDP; break; } - return val_mgr->GetPort(n, proto); + return val_mgr->Port(n, proto)->Ref(); %} #function proc_record(rec: Record) : bool diff --git a/src/input/Manager.cc b/src/input/Manager.cc index 2fe405393e..dcbc4f53c0 100644 --- a/src/input/Manager.cc +++ b/src/input/Manager.cc @@ -2280,7 +2280,7 @@ Val* Manager::ValueToVal(const Stream* i, const Value* val, BroType* request_typ } case TYPE_PORT: - return val_mgr->GetPort(val->val.port_val.port, val->val.port_val.proto); + return val_mgr->Port(val->val.port_val.port, val->val.port_val.proto)->Ref(); case TYPE_ADDR: { @@ -2428,7 +2428,7 @@ Val* Manager::ValueToVal(const Stream* i, const Value* val, bool& have_error) co } case TYPE_PORT: - return val_mgr->GetPort(val->val.port_val.port, val->val.port_val.proto); + return val_mgr->Port(val->val.port_val.port, val->val.port_val.proto)->Ref(); case TYPE_ADDR: { diff --git a/src/scan.l b/src/scan.l index d9acdf3894..0fd1a65085 100644 --- a/src/scan.l +++ b/src/scan.l @@ -487,7 +487,7 @@ F RET_CONST(val_mgr->False()->Ref()) reporter->Error("bad port number - %s", yytext); p = 0; } - RET_CONST(val_mgr->GetPort(p, TRANSPORT_TCP)) + RET_CONST(val_mgr->Port(p, TRANSPORT_TCP)->Ref()) } {D}"/udp" { uint32_t p = atoi(yytext); @@ -496,7 +496,7 @@ F RET_CONST(val_mgr->False()->Ref()) reporter->Error("bad port number - %s", yytext); p = 0; } - RET_CONST(val_mgr->GetPort(p, TRANSPORT_UDP)) + RET_CONST(val_mgr->Port(p, TRANSPORT_UDP)->Ref()) } {D}"/icmp" { uint32_t p = atoi(yytext); @@ -505,7 +505,7 @@ F RET_CONST(val_mgr->False()->Ref()) reporter->Error("bad port number - %s", yytext); p = 0; } - RET_CONST(val_mgr->GetPort(p, TRANSPORT_ICMP)) + RET_CONST(val_mgr->Port(p, TRANSPORT_ICMP)->Ref()) } {D}"/unknown" { uint32_t p = atoi(yytext); @@ -514,7 +514,7 @@ F RET_CONST(val_mgr->False()->Ref()) reporter->Error("bad port number - %s", yytext); p = 0; } - RET_CONST(val_mgr->GetPort(p, TRANSPORT_UNKNOWN)) + RET_CONST(val_mgr->Port(p, TRANSPORT_UNKNOWN)->Ref()) } {FLOAT}{OWS}day(s?) RET_CONST(new IntervalVal(atof(yytext),Days)) diff --git a/src/supervisor/Supervisor.cc b/src/supervisor/Supervisor.cc index 1534d81ad0..48241ec933 100644 --- a/src/supervisor/Supervisor.cc +++ b/src/supervisor/Supervisor.cc @@ -1144,7 +1144,7 @@ IntrusivePtr Supervisor::NodeConfig::ToRecord() const val->Assign(ept->FieldOffset("role"), BifType::Enum::Supervisor::ClusterRole->GetVal(ep.role)); val->Assign(ept->FieldOffset("host"), make_intrusive(ep.host)); - val->Assign(ept->FieldOffset("p"), val_mgr->GetPort(ep.port, TRANSPORT_TCP)); + val->Assign(ept->FieldOffset("p"), val_mgr->Port(ep.port, TRANSPORT_TCP)); if ( ep.interface ) val->Assign(ept->FieldOffset("interface"), make_intrusive(*ep.interface)); @@ -1217,7 +1217,7 @@ bool Supervisor::SupervisedNode::InitCluster() const auto node_type = supervisor_role_to_cluster_node_type(ep.role); val->Assign(cluster_node_type->FieldOffset("node_type"), std::move(node_type)); val->Assign(cluster_node_type->FieldOffset("ip"), make_intrusive(ep.host)); - val->Assign(cluster_node_type->FieldOffset("p"), val_mgr->GetPort(ep.port, TRANSPORT_TCP)); + val->Assign(cluster_node_type->FieldOffset("p"), val_mgr->Port(ep.port, TRANSPORT_TCP)); if ( ep.interface ) val->Assign(cluster_node_type->FieldOffset("interface"), diff --git a/src/zeek.bif b/src/zeek.bif index 9f8d2365a2..cb27b796dd 100644 --- a/src/zeek.bif +++ b/src/zeek.bif @@ -2429,7 +2429,7 @@ function port_to_count%(p: port%): count ## .. zeek:see:: port_to_count function count_to_port%(num: count, proto: transport_proto%): port %{ - return val_mgr->GetPort(num, (TransportProto)proto->AsEnum()); + return val_mgr->Port(num, (TransportProto)proto->AsEnum()); %} ## Converts a :zeek:type:`string` to an :zeek:type:`addr`. @@ -2617,16 +2617,16 @@ function to_port%(s: string%): port { ++slash; if ( streq(slash, "tcp") ) - return val_mgr->GetPort(port, TRANSPORT_TCP); + return val_mgr->Port(port, TRANSPORT_TCP); else if ( streq(slash, "udp") ) - return val_mgr->GetPort(port, TRANSPORT_UDP); + return val_mgr->Port(port, TRANSPORT_UDP); else if ( streq(slash, "icmp") ) - return val_mgr->GetPort(port, TRANSPORT_ICMP); + return val_mgr->Port(port, TRANSPORT_ICMP); } } builtin_error("wrong port format, must be /[0-9]{1,5}\\/(tcp|udp|icmp)/"); - return val_mgr->GetPort(port, TRANSPORT_UNKNOWN); + return val_mgr->Port(port, TRANSPORT_UNKNOWN); %} ## Converts a string of bytes (in network byte order) to a :zeek:type:`double`. @@ -3308,9 +3308,9 @@ function lookup_connection%(cid: conn_id%): connection RecordVal* id_val = new RecordVal(conn_id); id_val->Assign(0, make_intrusive((unsigned int) 0)); - id_val->Assign(1, val_mgr->GetPort(ntohs(0), TRANSPORT_UDP)); + id_val->Assign(1, val_mgr->Port(ntohs(0), TRANSPORT_UDP)); id_val->Assign(2, make_intrusive((unsigned int) 0)); - id_val->Assign(3, val_mgr->GetPort(ntohs(0), TRANSPORT_UDP)); + id_val->Assign(3, val_mgr->Port(ntohs(0), TRANSPORT_UDP)); c->Assign(0, id_val); auto orig_endp = make_intrusive(endpoint);