[ASM] Send header values as string to the WAF#6144
Conversation
Snapshots difference summaryThe following differences have been observed in committed snapshots. It is meant to help the reviewer. 81 occurrences of : - _dd.appsec.fp.http.header: hdr-0000000000--1-4740ae63,
- _dd.appsec.fp.http.network: net-0-1000000000,
+ _dd.appsec.fp.http.header: hdr-0000000000-3626b5f8-1-4740ae63,
+ _dd.appsec.fp.http.network: net-1-1000000000,
6 occurrences of : - _dd.appsec.fp.http.header: hdr-0100000001--3-bf93958a,
- _dd.appsec.fp.http.network: net-0-1000000000,
+ _dd.appsec.fp.http.header: hdr-0100000001-3626b5f8-3-bf93958a,
+ _dd.appsec.fp.http.network: net-1-1000000000,
17 occurrences of : - _dd.appsec.fp.http.header: hdr-0100000100--2-da57b738,
- _dd.appsec.fp.http.network: net-0-1000000000,
+ _dd.appsec.fp.http.header: hdr-0100000100-3626b5f8-2-da57b738,
+ _dd.appsec.fp.http.network: net-1-1000000000,
14 occurrences of : - _dd.appsec.fp.http.header: hdr-0000000001--3-bf93958a,
- _dd.appsec.fp.http.network: net-0-1000000000,
+ _dd.appsec.fp.http.header: hdr-0000000001-3626b5f8-3-bf93958a,
+ _dd.appsec.fp.http.network: net-1-1000000000,
17 occurrences of : - _dd.appsec.fp.http.header: hdr-0000000100--2-da57b738,
- _dd.appsec.fp.http.network: net-0-1000000000,
+ _dd.appsec.fp.http.header: hdr-0000000100-3626b5f8-2-da57b738,
+ _dd.appsec.fp.http.network: net-1-1000000000,
26 occurrences of : - _dd.appsec.fp.http.header: hdr-0000000100--3-4d739311,
- _dd.appsec.fp.http.network: net-0-1000000000,
+ _dd.appsec.fp.http.header: hdr-0000000100-3626b5f8-3-4d739311,
+ _dd.appsec.fp.http.network: net-1-1000000000,
8 occurrences of : - _dd.appsec.fp.http.header: hdr-0000000001--5-6cdcf2fe,
- _dd.appsec.fp.http.network: net-0-1000000000,
+ _dd.appsec.fp.http.header: hdr-0000000001-3626b5f8-5-6cdcf2fe,
+ _dd.appsec.fp.http.network: net-1-1000000000,
25 occurrences of : - _dd.appsec.fp.http.header: hdr-0000000100--5-07490af2,
- _dd.appsec.fp.http.network: net-0-1000000000,
+ _dd.appsec.fp.http.header: hdr-0000000100-3626b5f8-5-07490af2,
+ _dd.appsec.fp.http.network: net-1-1000000000,
1 occurrences of : - _dd.appsec.s.req.headers: [{"connection":[[[8]],{"len":1}],"content-length":[[[8]],{"len":1}],"content-type":[[[8]],{"len":1}],"host":[[[8]],{"len":1}],"user-agent":[[[8]],{"len":1}],"x-forwarded-for":[[[8]],{"len":1}]}],
+ _dd.appsec.s.req.headers: [{"connection":[8],"content-length":[8],"content-type":[8],"host":[8],"user-agent":[8],"x-forwarded-for":[8]}],
1 occurrences of : - _dd.appsec.s.req.headers: [{"connection":[[[8]],{"len":1}],"content-length":[[[8]],{"len":1}],"content-type":[[[8]],{"len":1}],"host":[[[8]],{"len":1}],"user-agent":[[[8]],{"len":1}],"x-forwarded-for":[[[8]],{"len":1}]}],
- _dd.appsec.s.res.headers: [{"content-type":[[[8]],{"len":1}]}],
+ _dd.appsec.s.req.headers: [{"connection":[8],"content-length":[8],"content-type":[8],"host":[8],"user-agent":[8],"x-forwarded-for":[8]}],
+ _dd.appsec.s.res.headers: [{"content-type":[8]}],
1 occurrences of : - _dd.appsec.s.req.headers: [{"connection":[[[8]],{"len":1}],"content-length":[[[8]],{"len":1}],"content-type":[[[8]],{"len":1}],"host":[[[8]],{"len":1}],"user-agent":[[[8]],{"len":1}],"x-forwarded-for":[[[8]],{"len":1}]}],
+ _dd.appsec.s.req.headers: [{"connection":[8],"content-length":[8],"content-type":[8],"host":[8],"user-agent":[8],"x-forwarded-for":[8]}],
[...]
- _dd.appsec.s.res.headers: [{"content-type":[[[8]],{"len":1}]}],
+ _dd.appsec.s.res.headers: [{"content-type":[8]}],
1 occurrences of : - _dd.appsec.s.req.headers: [{"content-length":[[[8]],{"len":1}],"content-type":[[[8]],{"len":1}],"host":[[[8]],{"len":1}],"user-agent":[[[8]],{"len":1}],"x-forwarded-for":[[[8]],{"len":1}]}],
+ _dd.appsec.s.req.headers: [{"content-length":[8],"content-type":[8],"host":[8],"user-agent":[8],"x-forwarded-for":[8]}],
2 occurrences of : - _dd.appsec.s.req.headers: [{"content-length":[[[8]],{"len":1}],"content-type":[[[8]],{"len":1}],"host":[[[8]],{"len":1}],"user-agent":[[[8]],{"len":1}],"x-forwarded-for":[[[8]],{"len":1}]}],
+ _dd.appsec.s.req.headers: [{"content-length":[8],"content-type":[8],"host":[8],"user-agent":[8],"x-forwarded-for":[8]}],
[...]
- _dd.appsec.s.res.headers: [{"content-type":[[[8]],{"len":1}]}],
+ _dd.appsec.s.res.headers: [{"content-type":[8]}],
5 occurrences of : - _dd.appsec.fp.http.header: hdr-0100000000--1-4740ae63,
- _dd.appsec.fp.http.network: net-0-1000000000,
- _dd.appsec.json: {"triggers":[{"rule":{"id":"ublock","name":"Hello","tags":{"category":"attack_attempt","type":"security_scanner"}},"rule_matches":[{"operator":"match_regex","operator_value":"hello","parameters":[{"address":"server.request.headers.no_cookies","highlight":["hello"],"key_path":["user-agent","0"],"value":"mistake not... hello/v"}]}]}]},
+ _dd.appsec.fp.http.header: hdr-0100000000-197358b8-1-4740ae63,
+ _dd.appsec.fp.http.network: net-1-1000000000,
+ _dd.appsec.json: {"triggers":[{"rule":{"id":"ublock","name":"Hello","tags":{"category":"attack_attempt","type":"security_scanner"}},"rule_matches":[{"operator":"match_regex","operator_value":"hello","parameters":[{"address":"server.request.headers.no_cookies","highlight":["hello"],"key_path":["user-agent"],"value":"mistake not... hello/v"}]}]}]},
20 occurrences of : - _dd.appsec.fp.http.network: net-0-1000000000,
+ _dd.appsec.fp.http.network: <NetworkPrint>,
15 occurrences of : - _dd.appsec.fp.http.network: net-0-1000000000,
- _dd.appsec.json: {"triggers":[{"rule":{"id":"tst-037-009","name":"Test block on response header","tags":{"category":"attack_attempt","type":"lfi"}},"rule_matches":[{"operator":"match_regex","operator_value":"en-us|krypton","parameters":[{"address":"server.response.headers.no_cookies","highlight":["krypton"],"key_path":["content-language","0"],"value":"krypton"}]}]}]},
+ _dd.appsec.fp.http.network: <NetworkPrint>,
+ _dd.appsec.json: {"triggers":[{"rule":{"id":"tst-037-009","name":"Test block on response header","tags":{"category":"attack_attempt","type":"lfi"}},"rule_matches":[{"operator":"match_regex","operator_value":"en-us|krypton","parameters":[{"address":"server.response.headers.no_cookies","highlight":["krypton"],"key_path":["content-language"],"value":"krypton"}]}]}]},
1 occurrences of : - _dd.appsec.fp.http.header: hdr-0000000010--1-4740ae63,
- _dd.appsec.fp.http.network: net-0-1000000000,
+ _dd.appsec.fp.http.header: hdr-0000000010-3626b5f8-1-4740ae63,
+ _dd.appsec.fp.http.network: net-1-1000000000,
20 occurrences of : - _dd.appsec.fp.http.header: hdr-0000000000--1-4740ae63,
- _dd.appsec.fp.http.network: net-0-1000000000,
- _dd.appsec.json: {"triggers":[{"rule":{"id":"ublock","name":"Hello","tags":{"category":"attack_attempt","type":"security_scanner"}},"rule_matches":[{"operator":"match_regex","operator_value":"hello","parameters":[{"address":"server.request.headers.no_cookies","highlight":["hello"],"key_path":["user-agent","0"],"value":"mistake not... hello/v"}]}]}]},
+ _dd.appsec.fp.http.header: hdr-0000000000-197358b8-1-4740ae63,
+ _dd.appsec.fp.http.network: net-1-1000000000,
+ _dd.appsec.json: {"triggers":[{"rule":{"id":"ublock","name":"Hello","tags":{"category":"attack_attempt","type":"security_scanner"}},"rule_matches":[{"operator":"match_regex","operator_value":"hello","parameters":[{"address":"server.request.headers.no_cookies","highlight":["hello"],"key_path":["user-agent"],"value":"mistake not... hello/v"}]}]}]},
1 occurrences of : - _dd.appsec.json: {"triggers":[{"rule":{"id":"new-test-non-blocking","name":"Datadog test scanner - NON blocking version: user-agent","tags":{"category":"attack_attempt","type":"attack_tool"}},"rule_matches":[{"operator":"match_regex","operator_value":"^dd-test-scanner-log-block(?:$|/|\\s)","parameters":[{"address":"server.request.headers.no_cookies","highlight":["dd-test-scanner-log-block"],"key_path":["user-agent","0"],"value":"dd-test-scanner-log-block"}]}]}]},
+ _dd.appsec.json: {"triggers":[{"rule":{"id":"new-test-non-blocking","name":"Datadog test scanner - NON blocking version: user-agent","tags":{"category":"attack_attempt","type":"attack_tool"}},"rule_matches":[{"operator":"match_regex","operator_value":"^dd-test-scanner-log-block(?:$|/|\\s)","parameters":[{"address":"server.request.headers.no_cookies","highlight":["dd-test-scanner-log-block"],"key_path":["user-agent"],"value":"dd-test-scanner-log-block"}]}]}]},
2 occurrences of : - _dd.appsec.json: {"triggers":[{"rule":{"id":"ua0-600-56x","name":"Datadog test scanner - blocking version: user-agent","tags":{"category":"attack_attempt","type":"attack_tool"}},"rule_matches":[{"operator":"match_regex","operator_value":"^dd-test-scanner-log-block(?:$|/|\\s)","parameters":[{"address":"server.request.headers.no_cookies","highlight":["dd-test-scanner-log-block"],"key_path":["user-agent","0"],"value":"dd-test-scanner-log-block"}]}]}]},
+ _dd.appsec.json: {"triggers":[{"rule":{"id":"ua0-600-56x","name":"Datadog test scanner - blocking version: user-agent","tags":{"category":"attack_attempt","type":"attack_tool"}},"rule_matches":[{"operator":"match_regex","operator_value":"^dd-test-scanner-log-block(?:$|/|\\s)","parameters":[{"address":"server.request.headers.no_cookies","highlight":["dd-test-scanner-log-block"],"key_path":["user-agent"],"value":"dd-test-scanner-log-block"}]}]}]},
3 occurrences of : - _dd.appsec.s.req.headers: [{"content-length":[[[8]],{"len":1}],"content-type":[[[8]],{"len":1}],"expect":[[[8]],{"len":1}],"host":[[[8]],{"len":1}],"traceparent":[[[8]],{"len":1}],"tracestate":[[[8]],{"len":1}],"user-agent":[[[8]],{"len":1}],"x-datadog-parent-id":[[[8]],{"len":1}],"x-datadog-sampling-priority":[[[8]],{"len":1}],"x-datadog-tags":[[[8]],{"len":1}],"x-datadog-trace-id":[[[8]],{"len":1}],"x-forwarded-for":[[[8]],{"len":1}]}],
+ _dd.appsec.s.req.headers: [{"content-length":[8],"content-type":[8],"expect":[8],"host":[8],"traceparent":[8],"tracestate":[8],"user-agent":[8],"x-datadog-parent-id":[8],"x-datadog-sampling-priority":[8],"x-datadog-tags":[8],"x-datadog-trace-id":[8],"x-forwarded-for":[8]}],
[...]
- _dd.appsec.s.res.headers: [{"cache-control":[[[8]],{"len":1}],"content-length":[[[8]],{"len":1}],"content-type":[[[8]],{"len":1}],"expires":[[[8]],{"len":1}],"pragma":[[[8]],{"len":1}],"server":[[[8]],{"len":1}],"x-aspnet-version":[[[8]],{"len":1}]}],
+ _dd.appsec.s.res.headers: [{"cache-control":[8],"content-length":[8],"content-type":[8],"expires":[8],"pragma":[8],"server":[8],"x-aspnet-version":[8]}],
1 occurrences of : - _dd.appsec.fp.http.header: hdr-0100000100--3-4d739311,
- _dd.appsec.fp.http.network: net-0-1000000000,
+ _dd.appsec.fp.http.header: hdr-0100000100-3626b5f8-3-4d739311,
+ _dd.appsec.fp.http.network: net-1-1000000000,
15 occurrences of : - _dd.appsec.fp.http.header: hdr-0000000000--3-98425651,
- _dd.appsec.fp.http.network: net-0-1000000000,
- _dd.appsec.json: {"triggers":[{"rule":{"id":"ublock","name":"Hello","tags":{"category":"attack_attempt","type":"security_scanner"}},"rule_matches":[{"operator":"match_regex","operator_value":"hello","parameters":[{"address":"server.request.headers.no_cookies","highlight":["hello"],"key_path":["user-agent","0"],"value":"mistake not... hello/v"}]}]}]},
+ _dd.appsec.fp.http.header: hdr-0000000000-197358b8-3-98425651,
+ _dd.appsec.fp.http.network: net-1-1000000000,
+ _dd.appsec.json: {"triggers":[{"rule":{"id":"ublock","name":"Hello","tags":{"category":"attack_attempt","type":"security_scanner"}},"rule_matches":[{"operator":"match_regex","operator_value":"hello","parameters":[{"address":"server.request.headers.no_cookies","highlight":["hello"],"key_path":["user-agent"],"value":"mistake not... hello/v"}]}]}]},
54 occurrences of : - _dd.appsec.fp.http.header: hdr-0000000000--3-98425651,
- _dd.appsec.fp.http.network: net-0-1000000000,
+ _dd.appsec.fp.http.header: hdr-0000000000-3626b5f8-3-98425651,
+ _dd.appsec.fp.http.network: net-1-1000000000,
2 occurrences of : - _dd.appsec.fp.http.header: hdr-0100000100--5-07490af2,
- _dd.appsec.fp.http.network: net-0-1000000000,
+ _dd.appsec.fp.http.header: hdr-0100000100-3626b5f8-5-07490af2,
+ _dd.appsec.fp.http.network: net-1-1000000000,
5 occurrences of : - _dd.appsec.fp.http.header: hdr-0000000000--3-98425651,
- _dd.appsec.fp.http.network: net-0-1000000000,
- _dd.appsec.json: {"triggers":[{"rule":{"id":"tst-037-009","name":"Test block on response header","tags":{"category":"attack_attempt","type":"lfi"}},"rule_matches":[{"operator":"match_regex","operator_value":"en-us|krypton","parameters":[{"address":"server.response.headers.no_cookies","highlight":["krypton"],"key_path":["content-language","0"],"value":"krypton"}]}]}]},
+ _dd.appsec.fp.http.header: hdr-0000000000-3626b5f8-3-98425651,
+ _dd.appsec.fp.http.network: net-1-1000000000,
+ _dd.appsec.json: {"triggers":[{"rule":{"id":"tst-037-009","name":"Test block on response header","tags":{"category":"attack_attempt","type":"lfi"}},"rule_matches":[{"operator":"match_regex","operator_value":"en-us|krypton","parameters":[{"address":"server.response.headers.no_cookies","highlight":["krypton"],"key_path":["content-language"],"value":"krypton"}]}]}]},
2 occurrences of : - _dd.appsec.s.req.headers: [{"content-length":[[[8]],{"len":1}],"content-type":[[[8]],{"len":1}],"expect":[[[8]],{"len":1}],"host":[[[8]],{"len":1}],"traceparent":[[[8]],{"len":1}],"tracestate":[[[8]],{"len":1}],"user-agent":[[[8]],{"len":1}],"x-datadog-parent-id":[[[8]],{"len":1}],"x-datadog-sampling-priority":[[[8]],{"len":1}],"x-datadog-tags":[[[8]],{"len":1}],"x-datadog-trace-id":[[[8]],{"len":1}],"x-forwarded-for":[[[8]],{"len":1}]}],
+ _dd.appsec.s.req.headers: [{"content-length":[8],"content-type":[8],"expect":[8],"host":[8],"traceparent":[8],"tracestate":[8],"user-agent":[8],"x-datadog-parent-id":[8],"x-datadog-sampling-priority":[8],"x-datadog-tags":[8],"x-datadog-trace-id":[8],"x-forwarded-for":[8]}],
[...]
- _dd.appsec.s.res.headers: [{"cache-control":[[[8]],{"len":1}],"content-type":[[[8]],{"len":1}],"server":[[[8]],{"len":1}],"x-aspnetmvc-version":[[[8]],{"len":1}],"x-aspnet-version":[[[8]],{"len":1}]}],
+ _dd.appsec.s.res.headers: [{"cache-control":[8],"content-type":[8],"server":[8],"x-aspnetmvc-version":[8],"x-aspnet-version":[8]}],
1 occurrences of : - _dd.appsec.s.req.headers: [{"content-length":[[[8]],{"len":1}],"content-type":[[[8]],{"len":1}],"expect":[[[8]],{"len":1}],"host":[[[8]],{"len":1}],"traceparent":[[[8]],{"len":1}],"tracestate":[[[8]],{"len":1}],"user-agent":[[[8]],{"len":1}],"x-datadog-parent-id":[[[8]],{"len":1}],"x-datadog-sampling-priority":[[[8]],{"len":1}],"x-datadog-tags":[[[8]],{"len":1}],"x-datadog-trace-id":[[[8]],{"len":1}],"x-forwarded-for":[[[8]],{"len":1}]}],
+ _dd.appsec.s.req.headers: [{"content-length":[8],"content-type":[8],"expect":[8],"host":[8],"traceparent":[8],"tracestate":[8],"user-agent":[8],"x-datadog-parent-id":[8],"x-datadog-sampling-priority":[8],"x-datadog-tags":[8],"x-datadog-trace-id":[8],"x-forwarded-for":[8]}],
[...]
- _dd.appsec.s.res.headers: [{"cache-control":[[[8]],{"len":1}],"content-type":[[[8]],{"len":1}],"x-aspnet-version":[[[8]],{"len":1}]}],
+ _dd.appsec.s.res.headers: [{"cache-control":[8],"content-type":[8],"x-aspnet-version":[8]}],
3 occurrences of : - _dd.appsec.fp.http.header: hdr-0100000000--1-4740ae63,
- _dd.appsec.fp.http.network: net-0-1000000000,
+ _dd.appsec.fp.http.header: hdr-0100000000-3626b5f8-1-4740ae63,
+ _dd.appsec.fp.http.network: net-1-1000000000,
2 occurrences of : - _dd.appsec.fp.http.header: hdr-0100000000--3-98425651,
- _dd.appsec.fp.http.network: net-0-1000000000,
+ _dd.appsec.fp.http.header: hdr-0100000000-3626b5f8-3-98425651,
+ _dd.appsec.fp.http.network: net-1-1000000000,
6 occurrences of : - _dd.appsec.json: {"triggers":[{"rule":{"id":"ua0-600-16x","name":"SQL power injector","tags":{"category":"attack_attempt","type":"attack_tool"}},"rule_matches":[{"operator":"match_regex","operator_value":"sql power injector","parameters":[{"address":"server.request.headers.no_cookies","highlight":["sql power injector"],"key_path":["user-agent","0"],"value":"Mistake Not... (sql power injector)"}]}]}]},
+ _dd.appsec.json: {"triggers":[{"rule":{"id":"ua0-600-16x","name":"SQL power injector","tags":{"category":"attack_attempt","type":"attack_tool"}},"rule_matches":[{"operator":"match_regex","operator_value":"sql power injector","parameters":[{"address":"server.request.headers.no_cookies","highlight":["sql power injector"],"key_path":["user-agent"],"value":"Mistake Not... (sql power injector)"}]}]}]},
3 occurrences of : - _dd.appsec.json: {"triggers":[{"rule":{"id":"crs-913-110","name":"Acunetix","tags":{"category":"attack_attempt","type":"commercial_scanner"}},"rule_matches":[{"operator":"phrase_match","operator_value":"","parameters":[{"address":"server.request.headers.no_cookies","highlight":["acunetix-product"],"key_path":["user-agent","0"],"value":"mistake not... acunetix-product"}]}]}]},
+ _dd.appsec.json: {"triggers":[{"rule":{"id":"crs-913-110","name":"Acunetix","tags":{"category":"attack_attempt","type":"commercial_scanner"}},"rule_matches":[{"operator":"phrase_match","operator_value":"","parameters":[{"address":"server.request.headers.no_cookies","highlight":["acunetix-product"],"key_path":["user-agent"],"value":"mistake not... acunetix-product"}]}]}]},
|
Datadog ReportBranch report: ✅ 0 Failed, 470522 Passed, 3270 Skipped, 29h 37m 12.92s Total Time |
Execution-Time Benchmarks Report ⏱️Execution-time results for samples comparing the following branches/commits: Execution-time benchmarks measure the whole time it takes to execute a program. And are intended to measure the one-off costs. Cases where the execution time results for the PR are worse than latest master results are shown in red. The following thresholds were used for comparing the execution times:
Note that these results are based on a single point-in-time result for each branch. For full results, see the dashboard. Graphs show the p99 interval based on the mean and StdDev of the test run, as well as the mean value of the run (shown as a diamond below the graph). gantt
title Execution time (ms) FakeDbCommand (.NET Framework 4.6.2)
dateFormat X
axisFormat %s
todayMarker off
section Baseline
This PR (6144) - mean (70ms) : 68, 71
. : milestone, 70,
master - mean (70ms) : 67, 72
. : milestone, 70,
section CallTarget+Inlining+NGEN
This PR (6144) - mean (1,111ms) : 1091, 1131
. : milestone, 1111,
master - mean (1,107ms) : 1085, 1130
. : milestone, 1107,
gantt
title Execution time (ms) FakeDbCommand (.NET Core 3.1)
dateFormat X
axisFormat %s
todayMarker off
section Baseline
This PR (6144) - mean (108ms) : 105, 112
. : milestone, 108,
master - mean (109ms) : 106, 111
. : milestone, 109,
section CallTarget+Inlining+NGEN
This PR (6144) - mean (768ms) : 756, 780
. : milestone, 768,
master - mean (769ms) : 751, 787
. : milestone, 769,
gantt
title Execution time (ms) FakeDbCommand (.NET 6)
dateFormat X
axisFormat %s
todayMarker off
section Baseline
This PR (6144) - mean (92ms) : 89, 95
. : milestone, 92,
master - mean (91ms) : 89, 94
. : milestone, 91,
section CallTarget+Inlining+NGEN
This PR (6144) - mean (727ms) : 713, 741
. : milestone, 727,
master - mean (726ms) : 712, 740
. : milestone, 726,
gantt
title Execution time (ms) HttpMessageHandler (.NET Framework 4.6.2)
dateFormat X
axisFormat %s
todayMarker off
section Baseline
This PR (6144) - mean (190ms) : 186, 193
. : milestone, 190,
master - mean (189ms) : 186, 191
. : milestone, 189,
section CallTarget+Inlining+NGEN
This PR (6144) - mean (1,198ms) : 1176, 1219
. : milestone, 1198,
master - mean (1,195ms) : 1171, 1219
. : milestone, 1195,
gantt
title Execution time (ms) HttpMessageHandler (.NET Core 3.1)
dateFormat X
axisFormat %s
todayMarker off
section Baseline
This PR (6144) - mean (275ms) : 272, 279
. : milestone, 275,
master - mean (274ms) : 268, 279
. : milestone, 274,
section CallTarget+Inlining+NGEN
This PR (6144) - mean (943ms) : 924, 962
. : milestone, 943,
master - mean (944ms) : 929, 958
. : milestone, 944,
gantt
title Execution time (ms) HttpMessageHandler (.NET 6)
dateFormat X
axisFormat %s
todayMarker off
section Baseline
This PR (6144) - mean (263ms) : 259, 267
. : milestone, 263,
master - mean (262ms) : 258, 266
. : milestone, 262,
section CallTarget+Inlining+NGEN
This PR (6144) - mean (925ms) : 906, 944
. : milestone, 925,
master - mean (925ms) : 903, 947
. : milestone, 925,
|
|
Thank you for the reviews! |
Summary of changes
Util this PR, we woudl store the request headers in a array of strings and we would send that array to the WAF. When generating fingerprints, the WAF does not accept arrays of strings but a single string, so, when we have a single header value, we store it in a string instead of in an array of strings with a single value inside the array.
This change has fixed some problems related to the fingerprint generation, which has derived in a large amount of updated snapshots.
Reason for change
Implementation details
Test coverage
Other details