sync code

This commit is contained in:
Ned Wright
2025-08-08 11:06:28 +00:00
parent dd19bf6158
commit da20943c09
145 changed files with 4157 additions and 1016 deletions

View File

@@ -220,6 +220,18 @@ HttpTransactionData::createTransactionData(const Buffer &transaction_raw_data)
dbgTrace(D_NGINX_ATTACHMENT) << "Successfully deserialized parsed URI: " << ngx_parsed_uri.unpack();
}
// Try to read waf_tag if available
string waf_tag;
if (cur_pos < transaction_raw_data.size()) {
Maybe<string> maybe_waf_tag = deserializeStrParam(transaction_raw_data, cur_pos);
if (maybe_waf_tag.ok()) {
waf_tag = maybe_waf_tag.unpackMove();
dbgTrace(D_NGINX_ATTACHMENT) << "Successfully deserialized waf_tag: " << waf_tag;
}
} else {
dbgTrace(D_NGINX_ATTACHMENT) << "No waf_tag to deserialize, using empty string";
}
// Fail if after parsing exact number of items, we didn't exactly consume whole buffer
if (cur_pos != transaction_raw_data.size()) {
dbgWarning(D_NGINX_ATTACHMENT) << "Nothing to deserialize, but raw data still remain";
@@ -239,6 +251,7 @@ HttpTransactionData::createTransactionData(const Buffer &transaction_raw_data)
client_port.unpackMove()
);
transaction.setWafTag(waf_tag);
return transaction;
}

View File

@@ -12,7 +12,7 @@ Buffer
encodeInt16(uint16_t val)
{
vector<u_char> raw_data(reinterpret_cast<u_char*>(&val), reinterpret_cast<u_char*>(&val) + sizeof(uint16_t));
return move(Buffer(raw_data));
return Buffer(raw_data);
}
class HttpTransactionTest : public Test