Update deprecated ValManager::GetPort usages

This commit is contained in:
Jon Siwek 2020-04-08 16:33:55 -07:00
parent de8761f761
commit d7be84de97
24 changed files with 68 additions and 74 deletions

View file

@ -791,7 +791,7 @@ const char* CompositeHash::RecoverOneVal(const HashKey* k, const char* kp0,
break; break;
case TYPE_PORT: case TYPE_PORT:
*pval = {AdoptRef{}, val_mgr->GetPort(*kp)}; *pval = val_mgr->Port(*kp);
break; break;
default: default:

View file

@ -339,9 +339,9 @@ RecordVal* Connection::BuildConnVal()
auto id_val = make_intrusive<RecordVal>(conn_id); auto id_val = make_intrusive<RecordVal>(conn_id);
id_val->Assign(0, make_intrusive<AddrVal>(orig_addr)); id_val->Assign(0, make_intrusive<AddrVal>(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<AddrVal>(resp_addr)); id_val->Assign(2, make_intrusive<AddrVal>(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<RecordVal>(endpoint); auto orig_endp = make_intrusive<RecordVal>(endpoint);
orig_endp->Assign(0, val_mgr->Count(0)); orig_endp->Assign(0, val_mgr->Count(0));

View file

@ -394,8 +394,8 @@ RecordVal* IP_Hdr::BuildPktHdrVal(RecordVal* pkt_hdr, int sindex) const
int tcp_hdr_len = tp->th_off * 4; int tcp_hdr_len = tp->th_off * 4;
int data_len = PayloadLen() - tcp_hdr_len; int data_len = PayloadLen() - tcp_hdr_len;
tcp_hdr->Assign(0, val_mgr->GetPort(ntohs(tp->th_sport), TRANSPORT_TCP)); tcp_hdr->Assign(0, val_mgr->Port(ntohs(tp->th_sport), TRANSPORT_TCP));
tcp_hdr->Assign(1, val_mgr->GetPort(ntohs(tp->th_dport), 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(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(3, val_mgr->Count(uint32_t(ntohl(tp->th_ack))));
tcp_hdr->Assign(4, val_mgr->Count(tcp_hdr_len)); 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; const struct udphdr* up = (const struct udphdr*) data;
RecordVal* udp_hdr = new RecordVal(udp_hdr_type); RecordVal* udp_hdr = new RecordVal(udp_hdr_type);
udp_hdr->Assign(0, val_mgr->GetPort(ntohs(up->uh_sport), TRANSPORT_UDP)); udp_hdr->Assign(0, val_mgr->Port(ntohs(up->uh_sport), TRANSPORT_UDP));
udp_hdr->Assign(1, val_mgr->GetPort(ntohs(up->uh_dport), 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))); udp_hdr->Assign(2, val_mgr->Count(ntohs(up->uh_ulen)));
pkt_hdr->Assign(sindex + 3, udp_hdr); pkt_hdr->Assign(sindex + 3, udp_hdr);

View file

@ -22,9 +22,9 @@ RecordVal* EncapsulatingConn::GetRecordVal() const
auto id_val = make_intrusive<RecordVal>(conn_id); auto id_val = make_intrusive<RecordVal>(conn_id);
id_val->Assign(0, make_intrusive<AddrVal>(src_addr)); id_val->Assign(0, make_intrusive<AddrVal>(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<AddrVal>(dst_addr)); id_val->Assign(2, make_intrusive<AddrVal>(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(0, std::move(id_val));
rv->Assign(1, BifType::Enum::Tunnel::Type->GetVal(type)); rv->Assign(1, BifType::Enum::Tunnel::Type->GetVal(type));

View file

@ -440,15 +440,13 @@ bool Manager::BuildInitialAnalyzerTree(Connection* conn)
if ( tcp_contents && ! reass ) 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 ) if ( ! reass )
reass = (bool)tcp_content_delivery_ports_orig->Lookup(dport); reass = (bool)tcp_content_delivery_ports_orig->Lookup(dport.get());
if ( ! reass ) if ( ! reass )
reass = (bool)tcp_content_delivery_ports_resp->Lookup(dport); reass = (bool)tcp_content_delivery_ports_resp->Lookup(dport.get());
Unref(dport);
} }
if ( reass ) if ( reass )

View file

@ -480,7 +480,7 @@ void BitTorrentTracker_Analyzer::ResponseBenc(int name_len, char* name,
RecordVal* peer = new RecordVal(bittorrent_peer); RecordVal* peer = new RecordVal(bittorrent_peer);
peer->Assign(0, make_intrusive<AddrVal>(ad)); peer->Assign(0, make_intrusive<AddrVal>(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); res_val_peers->Assign(peer, nullptr);
Unref(peer); Unref(peer);

View file

@ -221,7 +221,7 @@ flow BitTorrent_Flow(is_orig: bool) {
connection()->bro_analyzer(), connection()->bro_analyzer(),
connection()->bro_analyzer()->Conn(), connection()->bro_analyzer()->Conn(),
is_orig(), is_orig(),
val_mgr->GetPort(listen_port, TRANSPORT_TCP)); val_mgr->Port(listen_port, TRANSPORT_TCP)->Ref()->AsPortVal());
} }
return true; return true;

View file

@ -34,13 +34,13 @@ static Val* parse_port(const char* line)
} }
r->Assign(0, make_intrusive<AddrVal>(htonl(addr))); r->Assign(0, make_intrusive<AddrVal>(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)); r->Assign(2, val_mgr->Bool(good));
} }
else else
{ {
r->Assign(0, make_intrusive<AddrVal>(uint32_t(0))); r->Assign(0, make_intrusive<AddrVal>(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()); r->Assign(2, val_mgr->False());
} }
@ -110,7 +110,7 @@ static Val* parse_eftp(const char* line)
} }
r->Assign(0, make_intrusive<AddrVal>(addr)); r->Assign(0, make_intrusive<AddrVal>(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)); r->Assign(2, val_mgr->Bool(good));
return r; return r;

View file

@ -355,9 +355,9 @@ RecordVal* ICMP_Analyzer::ExtractICMP4Context(int len, const u_char*& data)
RecordVal* id_val = new RecordVal(conn_id); RecordVal* id_val = new RecordVal(conn_id);
id_val->Assign(0, make_intrusive<AddrVal>(src_addr)); id_val->Assign(0, make_intrusive<AddrVal>(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<AddrVal>(dst_addr)); id_val->Assign(2, make_intrusive<AddrVal>(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(0, id_val);
iprec->Assign(1, val_mgr->Count(ip_len)); 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); RecordVal* id_val = new RecordVal(conn_id);
id_val->Assign(0, make_intrusive<AddrVal>(src_addr)); id_val->Assign(0, make_intrusive<AddrVal>(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<AddrVal>(dst_addr)); id_val->Assign(2, make_intrusive<AddrVal>(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(0, id_val);
iprec->Assign(1, val_mgr->Count(ip_len)); iprec->Assign(1, val_mgr->Count(ip_len));

View file

@ -86,8 +86,8 @@ void Ident_Analyzer::DeliverStream(int length, const u_char* data, bool is_orig)
EnqueueConnEvent(ident_request, EnqueueConnEvent(ident_request,
IntrusivePtr{AdoptRef{}, BuildConnVal()}, IntrusivePtr{AdoptRef{}, BuildConnVal()},
IntrusivePtr{AdoptRef{}, val_mgr->GetPort(local_port, TRANSPORT_TCP)}, val_mgr->Port(local_port, TRANSPORT_TCP),
IntrusivePtr{AdoptRef{}, val_mgr->GetPort(remote_port, TRANSPORT_TCP)} val_mgr->Port(remote_port, TRANSPORT_TCP)
); );
did_deliver = true; did_deliver = true;
@ -147,8 +147,8 @@ void Ident_Analyzer::DeliverStream(int length, const u_char* data, bool is_orig)
if ( ident_error ) if ( ident_error )
EnqueueConnEvent(ident_error, EnqueueConnEvent(ident_error,
IntrusivePtr{AdoptRef{}, BuildConnVal()}, IntrusivePtr{AdoptRef{}, BuildConnVal()},
IntrusivePtr{AdoptRef{}, val_mgr->GetPort(local_port, TRANSPORT_TCP)}, val_mgr->Port(local_port, TRANSPORT_TCP),
IntrusivePtr{AdoptRef{}, val_mgr->GetPort(remote_port, TRANSPORT_TCP)}, val_mgr->Port(remote_port, TRANSPORT_TCP),
make_intrusive<StringVal>(end_of_line - line, line) make_intrusive<StringVal>(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, EnqueueConnEvent(ident_reply,
IntrusivePtr{AdoptRef{}, BuildConnVal()}, IntrusivePtr{AdoptRef{}, BuildConnVal()},
IntrusivePtr{AdoptRef{}, val_mgr->GetPort(local_port, TRANSPORT_TCP)}, val_mgr->Port(local_port, TRANSPORT_TCP),
IntrusivePtr{AdoptRef{}, val_mgr->GetPort(remote_port, TRANSPORT_TCP)}, val_mgr->Port(remote_port, TRANSPORT_TCP),
make_intrusive<StringVal>(end_of_line - line, line), make_intrusive<StringVal>(end_of_line - line, line),
make_intrusive<StringVal>(sys_type_s) make_intrusive<StringVal>(sys_type_s)
); );

View file

@ -126,9 +126,8 @@ bool PortmapperInterp::RPC_BuildReply(RPC_CallInfo* c, BifEnum::rpc_status statu
RecordVal* rv = c->RequestVal()->AsRecordVal(); RecordVal* rv = c->RequestVal()->AsRecordVal();
Val* is_tcp = rv->Lookup(2); Val* is_tcp = rv->Lookup(2);
reply = val_mgr->GetPort(CheckPort(port), reply = val_mgr->Port(CheckPort(port), is_tcp->IsOne() ?
is_tcp->IsOne() ? TRANSPORT_TCP : TRANSPORT_UDP)->Ref();
TRANSPORT_TCP : TRANSPORT_UDP);
event = pm_request_getport; event = pm_request_getport;
} }
else else
@ -177,7 +176,7 @@ bool PortmapperInterp::RPC_BuildReply(RPC_CallInfo* c, BifEnum::rpc_status statu
if ( ! opaque_reply ) if ( ! opaque_reply )
return false; return false;
reply = val_mgr->GetPort(CheckPort(port), TRANSPORT_UDP); reply = val_mgr->Port(CheckPort(port), TRANSPORT_UDP)->Ref();
event = pm_request_callit; event = pm_request_callit;
} }
else else
@ -201,8 +200,7 @@ Val* PortmapperInterp::ExtractMapping(const u_char*& buf, int& len)
bool is_tcp = extract_XDR_uint32(buf, len) == IPPROTO_TCP; bool is_tcp = extract_XDR_uint32(buf, len) == IPPROTO_TCP;
uint32_t port = extract_XDR_uint32(buf, len); uint32_t port = extract_XDR_uint32(buf, len);
mapping->Assign(2, val_mgr->GetPort(CheckPort(port), mapping->Assign(2, val_mgr->Port(CheckPort(port), is_tcp ? TRANSPORT_TCP : TRANSPORT_UDP));
is_tcp ? TRANSPORT_TCP : TRANSPORT_UDP));
if ( ! buf ) if ( ! buf )
{ {

View file

@ -35,7 +35,7 @@ refine connection SOCKS_Conn += {
4, 4,
${request.command}, ${request.command},
sa, sa,
val_mgr->GetPort(${request.port}, TRANSPORT_TCP), val_mgr->Port(${request.port}, TRANSPORT_TCP)->Ref()->AsPortVal(),
array_to_string(${request.user})); array_to_string(${request.user}));
} }
@ -56,7 +56,7 @@ refine connection SOCKS_Conn += {
4, 4,
${reply.status}, ${reply.status},
sa, sa,
val_mgr->GetPort(${reply.port}, TRANSPORT_TCP)); val_mgr->Port(${reply.port}, TRANSPORT_TCP)->Ref()->AsPortVal());
} }
bro_analyzer()->ProtocolConfirmation(); bro_analyzer()->ProtocolConfirmation();
@ -110,7 +110,7 @@ refine connection SOCKS_Conn += {
5, 5,
${request.command}, ${request.command},
sa, sa,
val_mgr->GetPort(${request.port}, TRANSPORT_TCP), val_mgr->Port(${request.port}, TRANSPORT_TCP)->Ref()->AsPortVal(),
val_mgr->EmptyString()->Ref()->AsStringVal()); val_mgr->EmptyString()->Ref()->AsStringVal());
else else
Unref(sa); Unref(sa);
@ -152,7 +152,7 @@ refine connection SOCKS_Conn += {
5, 5,
${reply.reply}, ${reply.reply},
sa, sa,
val_mgr->GetPort(${reply.port}, TRANSPORT_TCP)); val_mgr->Port(${reply.port}, TRANSPORT_TCP)->Ref()->AsPortVal());
else else
Unref(sa); Unref(sa);

View file

@ -42,19 +42,17 @@ TCP_Reassembler::TCP_Reassembler(analyzer::Analyzer* arg_dst_analyzer,
if ( ::tcp_contents ) if ( ::tcp_contents )
{ {
auto dst_port_val = val_mgr->GetPort(ntohs(tcp_analyzer->Conn()->RespPort()), const auto& dst_port_val = val_mgr->Port(ntohs(tcp_analyzer->Conn()->RespPort()),
TRANSPORT_TCP); TRANSPORT_TCP);
TableVal* ports = IsOrig() ? TableVal* ports = IsOrig() ?
tcp_content_delivery_ports_orig : tcp_content_delivery_ports_orig :
tcp_content_delivery_ports_resp; 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) || if ( (IsOrig() && tcp_content_deliver_all_orig) ||
(! IsOrig() && tcp_content_deliver_all_resp) || (! IsOrig() && tcp_content_deliver_all_resp) ||
(result && result->AsBool()) ) (result && result->AsBool()) )
deliver_tcp_contents = true; deliver_tcp_contents = true;
Unref(dst_port_val);
} }
} }

View file

@ -132,7 +132,7 @@ RecordVal* TeredoEncapsulation::BuildVal(const IP_Hdr* inner) const
RecordVal* teredo_origin = new RecordVal(teredo_origin_type); RecordVal* teredo_origin = new RecordVal(teredo_origin_type);
uint16_t port = ntohs(*((uint16_t*)(origin_indication + 2))) ^ 0xFFFF; uint16_t port = ntohs(*((uint16_t*)(origin_indication + 2))) ^ 0xFFFF;
uint32_t addr = ntohl(*((uint32_t*)(origin_indication + 4))) ^ 0xFFFFFFFF; 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<AddrVal>(htonl(addr))); teredo_origin->Assign(1, make_intrusive<AddrVal>(htonl(addr)));
teredo_hdr->Assign(1, teredo_origin); teredo_hdr->Assign(1, teredo_origin);
} }

View file

@ -135,8 +135,8 @@ void UDP_Analyzer::DeliverPacket(int len, const u_char* data, bool is_orig,
if ( udp_contents ) if ( udp_contents )
{ {
bool do_udp_contents = false; bool do_udp_contents = false;
auto sport_val = IntrusivePtr{AdoptRef{}, val_mgr->GetPort(ntohs(up->uh_sport), TRANSPORT_UDP)}; const auto& sport_val = val_mgr->Port(ntohs(up->uh_sport), TRANSPORT_UDP);
auto dport_val = IntrusivePtr{AdoptRef{}, val_mgr->GetPort(ntohs(up->uh_dport), TRANSPORT_UDP)}; const auto& dport_val = val_mgr->Port(ntohs(up->uh_dport), TRANSPORT_UDP);
if ( udp_content_ports->Lookup(dport_val.get()) || if ( udp_content_ports->Lookup(dport_val.get()) ||
udp_content_ports->Lookup(sport_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() uint16_t p = udp_content_delivery_ports_use_resp ? Conn()->RespPort()
: up->uh_dport; : 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 ) if ( is_orig )
{ {

View file

@ -161,7 +161,7 @@ struct val_converter {
result_type operator()(broker::port& a) result_type operator()(broker::port& a)
{ {
if ( type->Tag() == TYPE_PORT ) 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; return nullptr;
} }

View file

@ -1250,14 +1250,14 @@ void Manager::ProcessStatus(broker::status stat)
if ( ctx->network ) if ( ctx->network )
{ {
network_info->Assign(0, make_intrusive<StringVal>(ctx->network->address.data())); network_info->Assign(0, make_intrusive<StringVal>(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 else
{ {
// TODO: are there any status messages where the ctx->network // TODO: are there any status messages where the ctx->network
// is not set and actually could be? // is not set and actually could be?
network_info->Assign(0, make_intrusive<StringVal>("<unknown>")); network_info->Assign(0, make_intrusive<StringVal>("<unknown>"));
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)); endpoint_info->Assign(1, std::move(network_info));

View file

@ -56,11 +56,11 @@ function Broker::__listen%(a: string, p: port%): port
if ( ! p->IsTCP() ) if ( ! p->IsTCP() )
{ {
builtin_error("listen port must use tcp"); 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()); 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 function Broker::__peer%(a: string, p: port, retry: interval%): bool
@ -110,12 +110,12 @@ function Broker::__peers%(%): PeerInfos
if ( n ) if ( n )
{ {
network_info->Assign(0, make_intrusive<AddrVal>(IPAddr(n->address))); network_info->Assign(0, make_intrusive<AddrVal>(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 else
{ {
network_info->Assign(0, make_intrusive<AddrVal>("0.0.0.0")); network_info->Assign(0, make_intrusive<AddrVal>("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<StringVal>(to_string(p.peer.node))); endpoint_info->Assign(0, make_intrusive<StringVal>(to_string(p.peer.node)));

View file

@ -34,9 +34,9 @@ static RecordVal* get_conn_id_val(const Connection* conn)
{ {
RecordVal* v = new RecordVal(conn_id); RecordVal* v = new RecordVal(conn_id);
v->Assign(0, make_intrusive<AddrVal>(conn->OrigAddr())); v->Assign(0, make_intrusive<AddrVal>(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<AddrVal>(conn->RespAddr())); v->Assign(2, make_intrusive<AddrVal>(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; return v;
} }

View file

@ -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; TransportProto proto = TRANSPORT_UNKNOWN;
switch ( p ) { switch ( p ) {
@ -54,7 +54,7 @@ refine flow Flow += {
case 17: proto = TRANSPORT_UDP; break; 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 #function proc_record(rec: Record) : bool

View file

@ -2280,7 +2280,7 @@ Val* Manager::ValueToVal(const Stream* i, const Value* val, BroType* request_typ
} }
case TYPE_PORT: 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: case TYPE_ADDR:
{ {
@ -2428,7 +2428,7 @@ Val* Manager::ValueToVal(const Stream* i, const Value* val, bool& have_error) co
} }
case TYPE_PORT: 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: case TYPE_ADDR:
{ {

View file

@ -487,7 +487,7 @@ F RET_CONST(val_mgr->False()->Ref())
reporter->Error("bad port number - %s", yytext); reporter->Error("bad port number - %s", yytext);
p = 0; p = 0;
} }
RET_CONST(val_mgr->GetPort(p, TRANSPORT_TCP)) RET_CONST(val_mgr->Port(p, TRANSPORT_TCP)->Ref())
} }
{D}"/udp" { {D}"/udp" {
uint32_t p = atoi(yytext); uint32_t p = atoi(yytext);
@ -496,7 +496,7 @@ F RET_CONST(val_mgr->False()->Ref())
reporter->Error("bad port number - %s", yytext); reporter->Error("bad port number - %s", yytext);
p = 0; p = 0;
} }
RET_CONST(val_mgr->GetPort(p, TRANSPORT_UDP)) RET_CONST(val_mgr->Port(p, TRANSPORT_UDP)->Ref())
} }
{D}"/icmp" { {D}"/icmp" {
uint32_t p = atoi(yytext); uint32_t p = atoi(yytext);
@ -505,7 +505,7 @@ F RET_CONST(val_mgr->False()->Ref())
reporter->Error("bad port number - %s", yytext); reporter->Error("bad port number - %s", yytext);
p = 0; p = 0;
} }
RET_CONST(val_mgr->GetPort(p, TRANSPORT_ICMP)) RET_CONST(val_mgr->Port(p, TRANSPORT_ICMP)->Ref())
} }
{D}"/unknown" { {D}"/unknown" {
uint32_t p = atoi(yytext); uint32_t p = atoi(yytext);
@ -514,7 +514,7 @@ F RET_CONST(val_mgr->False()->Ref())
reporter->Error("bad port number - %s", yytext); reporter->Error("bad port number - %s", yytext);
p = 0; 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)) {FLOAT}{OWS}day(s?) RET_CONST(new IntervalVal(atof(yytext),Days))

View file

@ -1144,7 +1144,7 @@ IntrusivePtr<RecordVal> Supervisor::NodeConfig::ToRecord() const
val->Assign(ept->FieldOffset("role"), BifType::Enum::Supervisor::ClusterRole->GetVal(ep.role)); val->Assign(ept->FieldOffset("role"), BifType::Enum::Supervisor::ClusterRole->GetVal(ep.role));
val->Assign(ept->FieldOffset("host"), make_intrusive<AddrVal>(ep.host)); val->Assign(ept->FieldOffset("host"), make_intrusive<AddrVal>(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 ) if ( ep.interface )
val->Assign(ept->FieldOffset("interface"), make_intrusive<StringVal>(*ep.interface)); val->Assign(ept->FieldOffset("interface"), make_intrusive<StringVal>(*ep.interface));
@ -1217,7 +1217,7 @@ bool Supervisor::SupervisedNode::InitCluster() const
auto node_type = supervisor_role_to_cluster_node_type(ep.role); 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("node_type"), std::move(node_type));
val->Assign(cluster_node_type->FieldOffset("ip"), make_intrusive<AddrVal>(ep.host)); val->Assign(cluster_node_type->FieldOffset("ip"), make_intrusive<AddrVal>(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 ) if ( ep.interface )
val->Assign(cluster_node_type->FieldOffset("interface"), val->Assign(cluster_node_type->FieldOffset("interface"),

View file

@ -2429,7 +2429,7 @@ function port_to_count%(p: port%): count
## .. zeek:see:: port_to_count ## .. zeek:see:: port_to_count
function count_to_port%(num: count, proto: transport_proto%): port 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`. ## Converts a :zeek:type:`string` to an :zeek:type:`addr`.
@ -2617,16 +2617,16 @@ function to_port%(s: string%): port
{ {
++slash; ++slash;
if ( streq(slash, "tcp") ) if ( streq(slash, "tcp") )
return val_mgr->GetPort(port, TRANSPORT_TCP); return val_mgr->Port(port, TRANSPORT_TCP);
else if ( streq(slash, "udp") ) else if ( streq(slash, "udp") )
return val_mgr->GetPort(port, TRANSPORT_UDP); return val_mgr->Port(port, TRANSPORT_UDP);
else if ( streq(slash, "icmp") ) 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)/"); 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`. ## 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); RecordVal* id_val = new RecordVal(conn_id);
id_val->Assign(0, make_intrusive<AddrVal>((unsigned int) 0)); id_val->Assign(0, make_intrusive<AddrVal>((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<AddrVal>((unsigned int) 0)); id_val->Assign(2, make_intrusive<AddrVal>((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); c->Assign(0, id_val);
auto orig_endp = make_intrusive<RecordVal>(endpoint); auto orig_endp = make_intrusive<RecordVal>(endpoint);