Change function return types to more concise types where possible

This helps avoid needing to call std::move on return values when we know the
type of value is fixed.
This commit is contained in:
Tim Wojtulewicz 2023-11-22 14:45:09 -07:00
parent 424d1c00dd
commit 3295c8f1c1
9 changed files with 22 additions and 20 deletions

View file

@ -891,7 +891,7 @@ void DNS_Mgr::Event(EventHandlerPtr e, const DNS_MappingPtr& old_dm, DNS_Mapping
event_mgr.Enqueue(e, BuildMappingVal(old_dm), BuildMappingVal(new_dm)); event_mgr.Enqueue(e, BuildMappingVal(old_dm), BuildMappingVal(new_dm));
} }
ValPtr DNS_Mgr::BuildMappingVal(const DNS_MappingPtr& dm) { RecordValPtr DNS_Mgr::BuildMappingVal(const DNS_MappingPtr& dm) {
if ( ! dm_rec ) if ( ! dm_rec )
return nullptr; return nullptr;

View file

@ -32,6 +32,7 @@ class Val;
class ListVal; class ListVal;
class TableVal; class TableVal;
class StringVal; class StringVal;
class RecordVal;
template<class T> template<class T>
class IntrusivePtr; class IntrusivePtr;
@ -39,6 +40,7 @@ using ValPtr = IntrusivePtr<Val>;
using ListValPtr = IntrusivePtr<ListVal>; using ListValPtr = IntrusivePtr<ListVal>;
using TableValPtr = IntrusivePtr<TableVal>; using TableValPtr = IntrusivePtr<TableVal>;
using StringValPtr = IntrusivePtr<StringVal>; using StringValPtr = IntrusivePtr<StringVal>;
using RecordValPtr = IntrusivePtr<RecordVal>;
} // namespace zeek } // namespace zeek
@ -263,7 +265,7 @@ protected:
void Event(EventHandlerPtr e, const DNS_MappingPtr& dm, ListValPtr l1, ListValPtr l2); void Event(EventHandlerPtr e, const DNS_MappingPtr& dm, ListValPtr l1, ListValPtr l2);
void Event(EventHandlerPtr e, const DNS_MappingPtr& old_dm, DNS_MappingPtr new_dm); void Event(EventHandlerPtr e, const DNS_MappingPtr& old_dm, DNS_MappingPtr new_dm);
ValPtr BuildMappingVal(const DNS_MappingPtr& dm); RecordValPtr BuildMappingVal(const DNS_MappingPtr& dm);
void CompareMappings(const DNS_MappingPtr& prev_dm, const DNS_MappingPtr& new_dm); void CompareMappings(const DNS_MappingPtr& prev_dm, const DNS_MappingPtr& new_dm);
ListValPtr AddrListDelta(ListValPtr al1, ListValPtr al2); ListValPtr AddrListDelta(ListValPtr al1, ListValPtr al2);

View file

@ -2303,7 +2303,7 @@ TypePtr merge_record_types(const Type* t1, const Type* t2) {
return make_intrusive<RecordType>(tdl3); return make_intrusive<RecordType>(tdl3);
} }
TypePtr merge_list_types(const Type* t1, const Type* t2) { TypeListPtr merge_list_types(const Type* t1, const Type* t2) {
const TypeList* tl1 = t1->AsTypeList(); const TypeList* tl1 = t1->AsTypeList();
const TypeList* tl2 = t2->AsTypeList(); const TypeList* tl2 = t2->AsTypeList();

View file

@ -4,7 +4,7 @@ type ftp_port: record;
%%{ %%{
#include "zeek/Reporter.h" #include "zeek/Reporter.h"
static zeek::ValPtr parse_port(const char* line) static zeek::RecordValPtr parse_port(const char* line)
{ {
auto r = zeek::make_intrusive<zeek::RecordVal>(zeek::BifType::Record::ftp_port); auto r = zeek::make_intrusive<zeek::RecordVal>(zeek::BifType::Record::ftp_port);
@ -47,7 +47,7 @@ static zeek::ValPtr parse_port(const char* line)
return r; return r;
} }
static zeek::ValPtr parse_eftp(const char* line) static zeek::RecordValPtr parse_eftp(const char* line)
{ {
auto r = zeek::make_intrusive<zeek::RecordVal>(zeek::BifType::Record::ftp_port); auto r = zeek::make_intrusive<zeek::RecordVal>(zeek::BifType::Record::ftp_port);

View file

@ -1,12 +1,12 @@
%header{ %header{
zeek::ValPtr filetime2zeektime(uint64_t ts); zeek::IntrusivePtr<zeek::TimeVal> filetime2zeektime(uint64_t ts);
zeek::RecordValPtr build_version_record(NTLM_Version* val); zeek::RecordValPtr build_version_record(NTLM_Version* val);
zeek::RecordValPtr build_negotiate_flag_record(NTLM_Negotiate_Flags* val); zeek::RecordValPtr build_negotiate_flag_record(NTLM_Negotiate_Flags* val);
%} %}
%code{ %code{
// This is replicated from the SMB analyzer. :( // This is replicated from the SMB analyzer. :(
zeek::ValPtr filetime2zeektime(uint64_t ts) zeek::IntrusivePtr<zeek::TimeVal> filetime2zeektime(uint64_t ts)
{ {
double secs = (ts / 10000000.0); double secs = (ts / 10000000.0);

View file

@ -164,7 +164,7 @@ bool PortmapperInterp::RPC_BuildReply(RPC_CallInfo* c, BifEnum::rpc_status statu
return true; return true;
} }
ValPtr PortmapperInterp::ExtractMapping(const u_char*& buf, int& len) { RecordValPtr PortmapperInterp::ExtractMapping(const u_char*& buf, int& len) {
static auto pm_mapping = id::find_type<RecordType>("pm_mapping"); static auto pm_mapping = id::find_type<RecordType>("pm_mapping");
auto mapping = make_intrusive<RecordVal>(pm_mapping); auto mapping = make_intrusive<RecordVal>(pm_mapping);
@ -181,7 +181,7 @@ ValPtr PortmapperInterp::ExtractMapping(const u_char*& buf, int& len) {
return mapping; return mapping;
} }
ValPtr PortmapperInterp::ExtractPortRequest(const u_char*& buf, int& len) { RecordValPtr PortmapperInterp::ExtractPortRequest(const u_char*& buf, int& len) {
static auto pm_port_request = id::find_type<RecordType>("pm_port_request"); static auto pm_port_request = id::find_type<RecordType>("pm_port_request");
auto pr = make_intrusive<RecordVal>(pm_port_request); auto pr = make_intrusive<RecordVal>(pm_port_request);
@ -198,7 +198,7 @@ ValPtr PortmapperInterp::ExtractPortRequest(const u_char*& buf, int& len) {
return pr; return pr;
} }
ValPtr PortmapperInterp::ExtractCallItRequest(const u_char*& buf, int& len) { RecordValPtr PortmapperInterp::ExtractCallItRequest(const u_char*& buf, int& len) {
static auto pm_callit_request = id::find_type<RecordType>("pm_callit_request"); static auto pm_callit_request = id::find_type<RecordType>("pm_callit_request");
auto c = make_intrusive<RecordVal>(pm_callit_request); auto c = make_intrusive<RecordVal>(pm_callit_request);

View file

@ -19,9 +19,9 @@ protected:
void Event(EventHandlerPtr f, ValPtr request, BifEnum::rpc_status status, ValPtr reply); void Event(EventHandlerPtr f, ValPtr request, BifEnum::rpc_status status, ValPtr reply);
ValPtr ExtractMapping(const u_char*& buf, int& len); RecordValPtr ExtractMapping(const u_char*& buf, int& len);
ValPtr ExtractPortRequest(const u_char*& buf, int& len); RecordValPtr ExtractPortRequest(const u_char*& buf, int& len);
ValPtr ExtractCallItRequest(const u_char*& buf, int& len); RecordValPtr ExtractCallItRequest(const u_char*& buf, int& len);
}; };
} // namespace detail } // namespace detail

View file

@ -10,7 +10,7 @@
%header{ %header{
zeek::AddrValPtr network_address_to_val(const ASN1Encoding* na); zeek::AddrValPtr network_address_to_val(const ASN1Encoding* na);
zeek::AddrValPtr network_address_to_val(const NetworkAddress* na); zeek::AddrValPtr network_address_to_val(const NetworkAddress* na);
zeek::ValPtr asn1_obj_to_val(const ASN1Encoding* obj); zeek::RecordValPtr asn1_obj_to_val(const ASN1Encoding* obj);
zeek::RecordValPtr build_hdr(const Header* header); zeek::RecordValPtr build_hdr(const Header* header);
zeek::RecordValPtr build_hdrV3(const Header* header); zeek::RecordValPtr build_hdrV3(const Header* header);
@ -42,7 +42,7 @@ zeek::AddrValPtr network_address_to_val(const ASN1Encoding* na)
return zeek::make_intrusive<zeek::AddrVal>(ntohl(network_order)); return zeek::make_intrusive<zeek::AddrVal>(ntohl(network_order));
} }
zeek::ValPtr asn1_obj_to_val(const ASN1Encoding* obj) zeek::RecordValPtr asn1_obj_to_val(const ASN1Encoding* obj)
{ {
zeek::RecordValPtr rval = zeek::make_intrusive<zeek::RecordVal>(zeek::BifType::Record::SNMP::ObjectValue); zeek::RecordValPtr rval = zeek::make_intrusive<zeek::RecordVal>(zeek::BifType::Record::SNMP::ObjectValue);
uint8 tag = obj->meta()->tag(); uint8 tag = obj->meta()->tag();

View file

@ -33,7 +33,7 @@ static zeek::ValPtr BuildIMSI(const InformationElement* ie)
return zeek::val_mgr->Count(ie->imsi()->value()); return zeek::val_mgr->Count(ie->imsi()->value());
} }
static zeek::ValPtr BuildRAI(const InformationElement* ie) static zeek::RecordValPtr BuildRAI(const InformationElement* ie)
{ {
auto ev = zeek::make_intrusive<zeek::RecordVal>(zeek::BifType::Record::gtp_rai); auto ev = zeek::make_intrusive<zeek::RecordVal>(zeek::BifType::Record::gtp_rai);
ev->Assign(0, ie->rai()->mcc()); ev->Assign(0, ie->rai()->mcc());
@ -83,7 +83,7 @@ static zeek::ValPtr BuildTraceType(const InformationElement* ie)
return zeek::val_mgr->Count(ie->trace_type()->value()); return zeek::val_mgr->Count(ie->trace_type()->value());
} }
zeek::ValPtr BuildEndUserAddr(const InformationElement* ie) zeek::RecordValPtr BuildEndUserAddr(const InformationElement* ie)
{ {
auto ev = zeek::make_intrusive<zeek::RecordVal>(zeek::BifType::Record::gtp_end_user_addr); auto ev = zeek::make_intrusive<zeek::RecordVal>(zeek::BifType::Record::gtp_end_user_addr);
ev->Assign(0, ie->end_user_addr()->pdp_type_org()); ev->Assign(0, ie->end_user_addr()->pdp_type_org());
@ -127,7 +127,7 @@ zeek::ValPtr BuildProtoConfigOptions(const InformationElement* ie)
return zeek::make_intrusive<zeek::StringVal>(new zeek::String(d, len, false)); return zeek::make_intrusive<zeek::StringVal>(new zeek::String(d, len, false));
} }
zeek::ValPtr BuildGSN_Addr(const InformationElement* ie) zeek::RecordValPtr BuildGSN_Addr(const InformationElement* ie)
{ {
auto ev = zeek::make_intrusive<zeek::RecordVal>(zeek::BifType::Record::gtp_gsn_addr); auto ev = zeek::make_intrusive<zeek::RecordVal>(zeek::BifType::Record::gtp_gsn_addr);
@ -153,7 +153,7 @@ zeek::ValPtr BuildMSISDN(const InformationElement* ie)
return zeek::make_intrusive<zeek::StringVal>(new zeek::String(d, len, false)); return zeek::make_intrusive<zeek::StringVal>(new zeek::String(d, len, false));
} }
zeek::ValPtr BuildQoS_Profile(const InformationElement* ie) zeek::RecordValPtr BuildQoS_Profile(const InformationElement* ie)
{ {
auto ev = zeek::make_intrusive<zeek::RecordVal>(zeek::BifType::Record::gtp_qos_profile); auto ev = zeek::make_intrusive<zeek::RecordVal>(zeek::BifType::Record::gtp_qos_profile);
@ -187,7 +187,7 @@ zeek::ValPtr BuildOMC_ID(const InformationElement* ie)
return zeek::make_intrusive<zeek::StringVal>(new zeek::String((const u_char*) d, len, false)); return zeek::make_intrusive<zeek::StringVal>(new zeek::String((const u_char*) d, len, false));
} }
zeek::ValPtr BuildPrivateExt(const InformationElement* ie) zeek::RecordValPtr BuildPrivateExt(const InformationElement* ie)
{ {
auto ev = zeek::make_intrusive<zeek::RecordVal>(zeek::BifType::Record::gtp_private_extension); auto ev = zeek::make_intrusive<zeek::RecordVal>(zeek::BifType::Record::gtp_private_extension);