Commit c7b0388
committed
fix(finding): key repeated headers by occurrence, not by value
folding the value into the header key gave every multi-valued header a
distinct key, but it also destabilized the single-valued volatile ones.
Date rides on nearly every response, alongside ETag, Age, CF-Ray and
X-Request-Id, so each scan minted a fresh key and the diff/notify layer
reported them added+removed every run. Key is documented to be run-stable
(finding.go:41), so that was the wrong axis.
count occurrences of the header name instead. the two Set-Cookies still
split, Date and friends stay put.
the count is per name rather than the slice index: headers.go ranges over
resp.Header, so a name's slice position is randomized per run while the
order of values within one name is preserved.1 parent befd27a commit c7b0388
2 files changed
Lines changed: 62 additions & 5 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
20 | 20 | | |
21 | 21 | | |
22 | 22 | | |
| 23 | + | |
23 | 24 | | |
24 | 25 | | |
25 | 26 | | |
| |||
481 | 482 | | |
482 | 483 | | |
483 | 484 | | |
| 485 | + | |
| 486 | + | |
| 487 | + | |
| 488 | + | |
| 489 | + | |
| 490 | + | |
| 491 | + | |
| 492 | + | |
| 493 | + | |
| 494 | + | |
| 495 | + | |
484 | 496 | | |
485 | 497 | | |
486 | | - | |
487 | | - | |
488 | | - | |
| 498 | + | |
| 499 | + | |
| 500 | + | |
| 501 | + | |
| 502 | + | |
489 | 503 | | |
490 | 504 | | |
491 | 505 | | |
492 | 506 | | |
493 | | - | |
| 507 | + | |
494 | 508 | | |
495 | 509 | | |
496 | 510 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
314 | 314 | | |
315 | 315 | | |
316 | 316 | | |
317 | | - | |
| 317 | + | |
318 | 318 | | |
319 | 319 | | |
320 | 320 | | |
| |||
396 | 396 | | |
397 | 397 | | |
398 | 398 | | |
| 399 | + | |
| 400 | + | |
| 401 | + | |
| 402 | + | |
| 403 | + | |
| 404 | + | |
| 405 | + | |
| 406 | + | |
| 407 | + | |
| 408 | + | |
| 409 | + | |
| 410 | + | |
| 411 | + | |
| 412 | + | |
| 413 | + | |
| 414 | + | |
| 415 | + | |
| 416 | + | |
| 417 | + | |
| 418 | + | |
| 419 | + | |
| 420 | + | |
| 421 | + | |
| 422 | + | |
| 423 | + | |
| 424 | + | |
| 425 | + | |
| 426 | + | |
| 427 | + | |
| 428 | + | |
| 429 | + | |
| 430 | + | |
| 431 | + | |
| 432 | + | |
| 433 | + | |
| 434 | + | |
| 435 | + | |
| 436 | + | |
| 437 | + | |
| 438 | + | |
| 439 | + | |
| 440 | + | |
| 441 | + | |
399 | 442 | | |
400 | 443 | | |
401 | 444 | | |
| |||
0 commit comments