fix: classify DPoP endpoints from structured URLs #76

Merged
starsetbyte merged 1 commit from fix/dpop-url-classifier into feat/device-trust-foundation 2026-07-11 21:28:02 +00:00
Owner

Continuation from density/P1 handoff

This branch picks up the DPoP classifier item documented in docs/plans/2026-07-11-density-pass-handoff.md.

Changes

  • Change DpopInterceptor.isPdsApiRequest() to accept structured HttpUrl.
  • Match /.well-known/ and /oauth/ exclusions against encodedPath only.
  • Match the PLC identity endpoint using exact host == plc.directory.
  • Preserve the existing exclusion-list policy and do not introduce path-positive matching.
  • Add regression fixtures for exclusion text in query parameters and lookalike PLC hosts.

Verification

  • ./gradlew :app:testDebugUnitTest --tests com.peregrine.android.auth.oauth.DpopInterceptorTest --no-daemon
  • ./gradlew :app:testDebugUnitTest :app:lintDebug :app:assembleDebug --no-daemon

Both completed with BUILD SUCCESSFUL.

## Continuation from density/P1 handoff This branch picks up the DPoP classifier item documented in `docs/plans/2026-07-11-density-pass-handoff.md`. ### Changes - Change `DpopInterceptor.isPdsApiRequest()` to accept structured `HttpUrl`. - Match `/.well-known/` and `/oauth/` exclusions against `encodedPath` only. - Match the PLC identity endpoint using exact `host == plc.directory`. - Preserve the existing exclusion-list policy and do not introduce path-positive matching. - Add regression fixtures for exclusion text in query parameters and lookalike PLC hosts. ### Verification - `./gradlew :app:testDebugUnitTest --tests com.peregrine.android.auth.oauth.DpopInterceptorTest --no-daemon` - `./gradlew :app:testDebugUnitTest :app:lintDebug :app:assembleDebug --no-daemon` Both completed with **BUILD SUCCESSFUL**.
fix: classify DPoP endpoints from structured URLs
All checks were successful
peregrine-ci / assembleDebug Build succeeded (30s)
def9317eec
starsetbyte force-pushed fix/dpop-url-classifier from def9317eec
All checks were successful
peregrine-ci / assembleDebug Build succeeded (30s)
to 9f6007dba3
All checks were successful
peregrine-ci / assembleDebug Build succeeded (26s)
2026-07-11 21:20:05 +00:00
Compare
starsetbyte force-pushed fix/dpop-url-classifier from 9f6007dba3
All checks were successful
peregrine-ci / assembleDebug Build succeeded (26s)
to 71f4c1f9f0
All checks were successful
peregrine-ci / assembleDebug Build succeeded (22s)
2026-07-11 21:25:20 +00:00
Compare
starsetbyte merged commit 7a026e4b54 into feat/device-trust-foundation 2026-07-11 21:28:02 +00:00
Sign in to join this conversation.
No description provided.