Bump golang.org/x/crypto from 0.36.0 to 0.45.0#1
Open
dependabot[bot] wants to merge 1 commit into
Open
Conversation
Bumps [golang.org/x/crypto](https://github.com/golang/crypto) from 0.36.0 to 0.45.0. - [Commits](golang/crypto@v0.36.0...v0.45.0) --- updated-dependencies: - dependency-name: golang.org/x/crypto dependency-version: 0.45.0 dependency-type: indirect ... Signed-off-by: dependabot[bot] <support@github.com>
ohalushchak-exadel
added a commit
that referenced
this pull request
Jul 16, 2026
…king Correctness batch first (Fable found the module was silently broken): - Blocker #1 (fan-out ctx dies on hook return). The framework cancels each hook's own ctx the moment the hook returns (hooks/hookexecution/execution.go), so a fan-out rooted in an entrypoint hook's ctx was Done before the goroutine spawned. Consequence: every provider call started already-cancelled, zero segments landed, and the failure was silent (errors stayed inside providerResult.Errs and analytics reported Success). Removed the entrypoint hook entirely; the async holder now allocates inside HandleProcessedAuctionHook with a Background-rooted ctx, cancelled via defer async.cancel() in the response hook. That also fixes finding prebid#6 (response hook stalling for its full group timeout when processed-auction never ran) — no holder ever means the response hook short-circuits cleanly. - Blocker prebid#2 (data race on live BidRequest). The fan-out goroutine read Site/Imp/Device.Geo/User.EIDs and unmarshalled User.Ext while the auction continued to mutate the wrapper (RebuildRequest, privacy scrubbing, other modules). deriveInputs now runs synchronously on the caller's stack; the goroutine only sees the tmpInputs value snapshot and never touches the BidRequest. - Finding prebid#10 (no hooks-level test). New hooks_test.go exercises HandleProcessedAuctionHook → HandleAuctionResponseHook through real hookstage plumbing, including simulating the framework's per-hook ctx cancellation. This is the test that would have caught #1 in the first place; it fails against the pre-fix code. Then the small independent correctness fixes: - prebid#4 registry bare-record parse: fall back to decoding the raw payload as PropertyRecord when the {"property": {...}} envelope isn't found. The old code negative-cached bare records as "not found" for 300 s, silently. - prebid#7 per-provider request IDs: build ctxReq and idReq inside callProvider so two colluding providers don't get the same request_id pair for the same auction. - prebid#8 hostile domain: cap site.domain / app.bundle at 253 chars and restrict to `[a-z0-9._-]`. Rejects invalid keys before touching the LRU or the registry. Then the design/product calls user directed on: - prebid#3 fail-closed on identity error: providerResult tracks IdentityAttempted (URL configured AND tokens present). When IdentityAttempted is true but the call returned no response, mergeSegments drops all offers for that provider. A hostile or flaky identity endpoint can no longer convert identity-gated packages into unconditionally-served packages. - prebid#5 cap segments + batch per-bid targeting write. New config knobs MaxSegments (default 128) and MaxSegmentValueLen (default 256) bound both the total segment count and each segment's length, regardless of what a provider returns. Response-hook per-bid targeting now builds one map from segments and writes it via a single sjson.SetBytes per bid at ext.prebid.targeting instead of O(bids × segments) rewrites. Provider names are also validated in Config.validated() to prevent them from colliding with Prebid's reserved targeting prefixes (hb_*). - prebid#9 wire the masking config. coarseGeo now takes cfg and honors PreserveMetro / PreserveZip / PreserveCity / LatLongPrecision (with math.Trunc for lat/lon precision); extractIdentities honors PreserveMobileIds (drops maid-typed tokens when masking enabled and false) and PreserveEids (allowlist over the default set). Deleted the now-empty masking.go — every knob is now wired through adapter.go at input-derivation time. Nits also addressed: - Analytics no longer reports Success when every provider errored; errCount from routerResult drives Status/ResultStatus explicitly. - site.page's query and fragment components are stripped before emission as an artifact ref — gclid / click IDs / occasional email leak into the identity-free context path. - Ordering test reframed: with DecorrelationMaxDelayMs > 0 the second-to-spawn call is deterministically delayed, so HTTP arrival order actually reflects the shuffle instead of scheduler noise. - Panic-recovery test replaced with one that injects a panicking RoundTripper — actually exercises the recover paths in callProvider's inner goroutines. - Nil-guard on payload.BidResponse in the response-hook mutation. - Removed unused asyncRequest.err field.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Bumps golang.org/x/crypto from 0.36.0 to 0.45.0.
Commits
4e0068cgo.mod: update golang.org/x dependenciese79546essh: curb GSSAPI DoS risk by limiting number of specified OIDsf91f7a7ssh/agent: prevent panic on malformed constraint2df4153acme/autocert: let automatic renewal work with short lifetime certsbcf6a84acme: pass context to requestb4f2b62ssh: fix error message on unsupported cipher79ec3a5ssh: allow to bind to a hostname in remote forwarding122a78fgo.mod: update golang.org/x dependenciesc0531f9all: eliminate vet diagnostics0997000all: fix some commentsDependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting
@dependabot rebase.Dependabot commands and options
You can trigger Dependabot actions by commenting on this PR:
@dependabot rebasewill rebase this PR@dependabot recreatewill recreate this PR, overwriting any edits that have been made to it@dependabot mergewill merge this PR after your CI passes on it@dependabot squash and mergewill squash and merge this PR after your CI passes on it@dependabot cancel mergewill cancel a previously requested merge and block automerging@dependabot reopenwill reopen this PR if it is closed@dependabot closewill close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually@dependabot show <dependency name> ignore conditionswill show all of the ignore conditions of the specified dependency@dependabot ignore this major versionwill close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)@dependabot ignore this minor versionwill close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)@dependabot ignore this dependencywill close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)You can disable automated security fix PRs for this repo from the Security Alerts page.