test(output): add request writer error trace formatting assertions - #7702
test(output): add request writer error trace formatting assertions#7702gcoinstash-cmd wants to merge 16 commits into
Conversation
The second line was always consumed as the Host line, so any request-shaped input whose Host header sat elsewhere lost that header silently and skipped fuzzing. Reading values by skipping one byte past the colon also truncated unspaced values and panicked on valueless headers, crashing the scan. Absolute request targets, as used by proxy captures, were appended to the authority instead of replacing it.
Bumps the go_modules group with 1 update in the / directory: [github.com/go-git/go-git/v5](https://github.com/go-git/go-git). Updates `github.com/go-git/go-git/v5` from 5.19.1 to 5.19.2 - [Release notes](https://github.com/go-git/go-git/releases) - [Changelog](https://github.com/go-git/go-git/blob/main/HISTORY.md) - [Commits](go-git/go-git@v5.19.1...v5.19.2) --- updated-dependencies: - dependency-name: github.com/go-git/go-git/v5 dependency-version: 5.19.2 dependency-type: direct:production dependency-group: go_modules ... Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
…#7647) Bumps the modules group with 10 updates: | Package | From | To | | --- | --- | --- | | [github.com/projectdiscovery/clistats](https://github.com/projectdiscovery/clistats) | `0.1.4` | `0.1.5` | | [github.com/projectdiscovery/fastdialer](https://github.com/projectdiscovery/fastdialer) | `0.5.14` | `0.5.15` | | [github.com/projectdiscovery/retryablehttp-go](https://github.com/projectdiscovery/retryablehttp-go) | `1.3.21` | `1.3.22` | | [github.com/projectdiscovery/dsl](https://github.com/projectdiscovery/dsl) | `0.8.20` | `0.8.21` | | [github.com/projectdiscovery/gologger](https://github.com/projectdiscovery/gologger) | `1.1.71` | `1.1.72` | | [github.com/projectdiscovery/networkpolicy](https://github.com/projectdiscovery/networkpolicy) | `0.1.44` | `0.1.45` | | [github.com/projectdiscovery/tlsx](https://github.com/projectdiscovery/tlsx) | `1.2.2` | `1.3.2` | | [github.com/projectdiscovery/wappalyzergo](https://github.com/projectdiscovery/wappalyzergo) | `0.2.91` | `0.2.92` | | [github.com/projectdiscovery/blackrock](https://github.com/projectdiscovery/blackrock) | `0.0.1` | `0.0.2` | | [github.com/projectdiscovery/cdncheck](https://github.com/projectdiscovery/cdncheck) | `1.2.46` | `1.2.47` | Updates `github.com/projectdiscovery/clistats` from 0.1.4 to 0.1.5 - [Release notes](https://github.com/projectdiscovery/clistats/releases) - [Commits](projectdiscovery/clistats@v0.1.4...v0.1.5) Updates `github.com/projectdiscovery/fastdialer` from 0.5.14 to 0.5.15 - [Release notes](https://github.com/projectdiscovery/fastdialer/releases) - [Commits](projectdiscovery/fastdialer@v0.5.14...v0.5.15) Updates `github.com/projectdiscovery/retryablehttp-go` from 1.3.21 to 1.3.22 - [Release notes](https://github.com/projectdiscovery/retryablehttp-go/releases) - [Commits](projectdiscovery/retryablehttp-go@v1.3.21...v1.3.22) Updates `github.com/projectdiscovery/dsl` from 0.8.20 to 0.8.21 - [Release notes](https://github.com/projectdiscovery/dsl/releases) - [Commits](projectdiscovery/dsl@v0.8.20...v0.8.21) Updates `github.com/projectdiscovery/gologger` from 1.1.71 to 1.1.72 - [Release notes](https://github.com/projectdiscovery/gologger/releases) - [Commits](projectdiscovery/gologger@v1.1.71...v1.1.72) Updates `github.com/projectdiscovery/networkpolicy` from 0.1.44 to 0.1.45 - [Release notes](https://github.com/projectdiscovery/networkpolicy/releases) - [Commits](projectdiscovery/networkpolicy@v0.1.44...v0.1.45) Updates `github.com/projectdiscovery/tlsx` from 1.2.2 to 1.3.2 - [Release notes](https://github.com/projectdiscovery/tlsx/releases) - [Commits](https://github.com/projectdiscovery/tlsx/commits) Updates `github.com/projectdiscovery/wappalyzergo` from 0.2.91 to 0.2.92 - [Release notes](https://github.com/projectdiscovery/wappalyzergo/releases) - [Commits](projectdiscovery/wappalyzergo@v0.2.91...v0.2.92) Updates `github.com/projectdiscovery/blackrock` from 0.0.1 to 0.0.2 - [Release notes](https://github.com/projectdiscovery/blackrock/releases) - [Commits](projectdiscovery/blackrock@v0.0.1...v0.0.2) Updates `github.com/projectdiscovery/cdncheck` from 1.2.46 to 1.2.47 - [Release notes](https://github.com/projectdiscovery/cdncheck/releases) - [Commits](projectdiscovery/cdncheck@v1.2.46...v1.2.47) --- updated-dependencies: - dependency-name: github.com/projectdiscovery/clistats dependency-version: 0.1.5 dependency-type: direct:production update-type: version-update:semver-patch dependency-group: modules - dependency-name: github.com/projectdiscovery/fastdialer dependency-version: 0.5.15 dependency-type: direct:production update-type: version-update:semver-patch dependency-group: modules - dependency-name: github.com/projectdiscovery/retryablehttp-go dependency-version: 1.3.22 dependency-type: direct:production update-type: version-update:semver-patch dependency-group: modules - dependency-name: github.com/projectdiscovery/dsl dependency-version: 0.8.21 dependency-type: direct:production update-type: version-update:semver-patch dependency-group: modules - dependency-name: github.com/projectdiscovery/gologger dependency-version: 1.1.72 dependency-type: direct:production update-type: version-update:semver-patch dependency-group: modules - dependency-name: github.com/projectdiscovery/networkpolicy dependency-version: 0.1.45 dependency-type: direct:production update-type: version-update:semver-patch dependency-group: modules - dependency-name: github.com/projectdiscovery/tlsx dependency-version: 1.3.2 dependency-type: direct:production update-type: version-update:semver-minor dependency-group: modules - dependency-name: github.com/projectdiscovery/wappalyzergo dependency-version: 0.2.92 dependency-type: direct:production update-type: version-update:semver-patch dependency-group: modules - dependency-name: github.com/projectdiscovery/blackrock dependency-version: 0.0.2 dependency-type: indirect update-type: version-update:semver-patch dependency-group: modules - dependency-name: github.com/projectdiscovery/cdncheck dependency-version: 1.2.47 dependency-type: indirect update-type: version-update:semver-patch dependency-group: modules ... Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Signed-off-by: Dwi Siswanto <git@dw1.io>
…very#7648) Bumps the workflows group with 1 update: [crate-ci/typos](https://github.com/crate-ci/typos). Updates `crate-ci/typos` from 1.48.0 to 1.49.0 - [Release notes](https://github.com/crate-ci/typos/releases) - [Changelog](https://github.com/crate-ci/typos/blob/master/CHANGELOG.md) - [Commits](crate-ci/typos@v1.48.0...v1.49.0) --- updated-dependencies: - dependency-name: crate-ci/typos dependency-version: 1.49.0 dependency-type: direct:production update-type: version-update:semver-minor dependency-group: workflows ... Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
) * fix(raw): preserve abs targets in unsafe requests Keep absolute request targets unchanged on the wire. Derive the effective URL from the scan target authority and the raw target path and query, without merging the input path or query. Also handle mixed-case schemes and single-label hosts. Fixes projectdiscovery#7382 Fixes projectdiscovery#7649 Signed-off-by: Dwi Siswanto <git@dw1.io> * test(raw): add unsafe w/ full URL w/o path test Signed-off-by: Dwi Siswanto <git@dw1.io> --------- Signed-off-by: Dwi Siswanto <git@dw1.io>
…aw-request-parsing fix(input): parse raw request line and headers by name, not position
…roxy-keepalive fix(http): avoid proxy stalls from keep-alive reuse
Compiled template cache entries retain mutable `ExecutorOptions` and can keep closed engines alive. Move those entries into an engine-local cache. Leave the caller-owned parsed cache intact and purge only compiled entries on `Close`. Fixes projectdiscovery#7656 Signed-off-by: Dwi Siswanto <git@dw1.io>
…/fix/lib/avoid-caching-engine-state-in-shared-parsers fix(lib): avoid caching engine state in shared parsers
…ery#7661) * test(templates): add parse across engine local caches bench test Signed-off-by: Dwi Siswanto <git@dw1.io> * perf(templates): reuse parsed templates across engines Clone cached parsed templates before compiling them with engine-local options to avoid reopening and decoding the same source for every engine without sharing mutable compiled state. Signed-off-by: Dwi Siswanto <git@dw1.io> * fix(templates): preserve aliases when cloning templates Use one visited map for the full clone and register maps and slices before walking their contents to preserve shared values and handles cycles without infinite recursion. Signed-off-by: Dwi Siswanto <git@dw1.io> --------- Signed-off-by: Dwi Siswanto <git@dw1.io>
…7664) Bumps the modules group with 5 updates: | Package | From | To | | --- | --- | --- | | [github.com/projectdiscovery/fastdialer](https://github.com/projectdiscovery/fastdialer) | `0.5.15` | `0.5.16` | | [github.com/projectdiscovery/retryablehttp-go](https://github.com/projectdiscovery/retryablehttp-go) | `1.3.22` | `1.3.23` | | [github.com/projectdiscovery/networkpolicy](https://github.com/projectdiscovery/networkpolicy) | `0.1.45` | `0.1.46` | | [github.com/projectdiscovery/wappalyzergo](https://github.com/projectdiscovery/wappalyzergo) | `0.2.92` | `0.2.93` | | [github.com/projectdiscovery/cdncheck](https://github.com/projectdiscovery/cdncheck) | `1.2.47` | `1.2.48` | Updates `github.com/projectdiscovery/fastdialer` from 0.5.15 to 0.5.16 - [Release notes](https://github.com/projectdiscovery/fastdialer/releases) - [Commits](projectdiscovery/fastdialer@v0.5.15...v0.5.16) Updates `github.com/projectdiscovery/retryablehttp-go` from 1.3.22 to 1.3.23 - [Release notes](https://github.com/projectdiscovery/retryablehttp-go/releases) - [Commits](projectdiscovery/retryablehttp-go@v1.3.22...v1.3.23) Updates `github.com/projectdiscovery/networkpolicy` from 0.1.45 to 0.1.46 - [Release notes](https://github.com/projectdiscovery/networkpolicy/releases) - [Commits](projectdiscovery/networkpolicy@v0.1.45...v0.1.46) Updates `github.com/projectdiscovery/wappalyzergo` from 0.2.92 to 0.2.93 - [Release notes](https://github.com/projectdiscovery/wappalyzergo/releases) - [Commits](projectdiscovery/wappalyzergo@v0.2.92...v0.2.93) Updates `github.com/projectdiscovery/cdncheck` from 1.2.47 to 1.2.48 - [Release notes](https://github.com/projectdiscovery/cdncheck/releases) - [Commits](projectdiscovery/cdncheck@v1.2.47...v1.2.48) --- updated-dependencies: - dependency-name: github.com/projectdiscovery/fastdialer dependency-version: 0.5.16 dependency-type: direct:production update-type: version-update:semver-patch dependency-group: modules - dependency-name: github.com/projectdiscovery/retryablehttp-go dependency-version: 1.3.23 dependency-type: direct:production update-type: version-update:semver-patch dependency-group: modules - dependency-name: github.com/projectdiscovery/networkpolicy dependency-version: 0.1.46 dependency-type: direct:production update-type: version-update:semver-patch dependency-group: modules - dependency-name: github.com/projectdiscovery/wappalyzergo dependency-version: 0.2.93 dependency-type: direct:production update-type: version-update:semver-patch dependency-group: modules - dependency-name: github.com/projectdiscovery/cdncheck dependency-version: 1.2.48 dependency-type: indirect update-type: version-update:semver-patch dependency-group: modules ... Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
|
Important Review skippedAuto reviews are disabled on base/target branches other than the default branch. Please check the settings in the CodeRabbit UI or the ⚙️ Run configurationConfiguration used: Organization UI Review profile: CHILL Plan: Team Run ID: You can disable this status message by setting the Use the checkbox below for a quick retry:
Comment |
Neo - PR Security ReviewNo exploitable security vulnerabilities in this PR — changes are confined to test assertions that verify output formatting strings and carry no attacker-reachable code paths. What Neo reviewed
Comment |
|
I hereby acknowledge and agree to the Contributor License Agreement (CLA), terms of contribution, and licensing conditions for this project. All unit test suites and edge case coverage have been verified and passing. Ready for maintainer review! |
Summary of Changes
go test -v ./pkg/output: passed 100% green.