From: Adrian Mamolea (admamole) Date: Tue, 19 Aug 2025 15:08:38 +0000 (+0000) Subject: Pull request #4861: codecs: override default encode for ciscometadata codec X-Git-Tag: 3.9.5.0~14 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=acafabb4e4eadd9ce49bd85388169decf9165108;p=thirdparty%2Fsnort3.git Pull request #4861: codecs: override default encode for ciscometadata codec Merge in SNORT/snort3 from ~ADMAMOLE/snort3:ciscometadata to master Squashed commit of the following: commit a695befd8ce2c65c0540107f7bb30f23abd85a92 Author: Adrian Mamolea Date: Wed Aug 13 15:47:17 2025 -0400 codecs: override default encode for ciscometadata codec --- diff --git a/src/codecs/link/cd_ciscometadata.cc b/src/codecs/link/cd_ciscometadata.cc index 2acca546f..0f53b904e 100644 --- a/src/codecs/link/cd_ciscometadata.cc +++ b/src/codecs/link/cd_ciscometadata.cc @@ -87,6 +87,7 @@ public: void get_protocol_ids(std::vector& v) override; bool decode(const RawData&, CodecData&, DecodeData&) override; void log(TextLog* const, const uint8_t* raw_pkt, const uint16_t lyr_len) override; + bool encode(const uint8_t* const raw_in, const uint16_t raw_len, EncState&, Buffer&, Flow*) override; }; constexpr uint8_t CISCO_META_VALID_HDR_VER = 1; @@ -172,6 +173,20 @@ void CiscoMetaDataCodec::log(TextLog* const text_log, const uint8_t* raw_pkt, cmdh->version, cmdh->sgt_val(), ntohs(cmdh->ether_type)); } +bool CiscoMetaDataCodec::encode(const uint8_t* const raw_in, const uint16_t raw_len, EncState& enc, + Buffer& buf, Flow*) +{ + if (!buf.allocate(raw_len)) + return false; + + memcpy(buf.data(), raw_in, raw_len); + + enc.next_ethertype = ProtocolId::ETHERTYPE_NOT_SET; + enc.next_proto = IpProtocol::PROTO_NOT_SET; + + return true; +} + //------------------------------------------------------------------------- // api //-------------------------------------------------------------------------