curl/lib/vauth
Daniel Stenberg 11df1251e5
snpego_sspi: preserve distinction btw policy-only and uncond delegation
CURLOPT_GSSAPI_DELEGATION exposes distinct modes:
CURLGSSAPI_DELEGATION_POLICY_FLAG is documented as delegating only when
OK-AS-DELEGATE policy permits it, while CURLGSSAPI_DELEGATION_FLAG is
unconditional. The new SSPI implementation checks for either bit and
sets ISC_REQ_DELEGATE, so a caller requesting policy-limited delegation
is put on the same SSPI path as unconditional delegation.

In addition, curl's existing protection that avoids reusing a connection
when the GSS delegation setting differs was guarded only by HAVE_GSSAPI;
SSPI-only builds now have an effective delegation option, but the
connection's delegation setting was neither copied nor compared. This
would cause Windows SSPI Negotiate/Kerberos authentication to delegate
credentials contrary to the caller's selected policy or reuse an
already-delegated authenticated connection for a transfer that requested
no delegation.

Follow-up to cc6777d939

Reported by Codex Security
Closes #21583
2026-05-13 14:34:08 +02:00
..
cleartext.c creds: hold credentials 2026-05-12 16:05:15 +02:00
cram.c creds: hold credentials 2026-05-12 16:05:15 +02:00
digest.c creds: add sasl service name 2026-05-13 14:04:17 +02:00
digest.h lib: use lib source directory as base include path 2026-02-23 16:00:42 +01:00
digest_sspi.c creds: add sasl service name 2026-05-13 14:04:17 +02:00
gsasl.c creds: hold credentials 2026-05-12 16:05:15 +02:00
krb5_gssapi.c creds: add sasl service name 2026-05-13 14:04:17 +02:00
krb5_sspi.c creds: add sasl service name 2026-05-13 14:04:17 +02:00
ntlm.c creds: add sasl service name 2026-05-13 14:04:17 +02:00
ntlm_sspi.c creds: add sasl service name 2026-05-13 14:04:17 +02:00
oauth2.c creds: hold credentials 2026-05-12 16:05:15 +02:00
spnego_gssapi.c creds: add sasl service name 2026-05-13 14:04:17 +02:00
spnego_sspi.c snpego_sspi: preserve distinction btw policy-only and uncond delegation 2026-05-13 14:34:08 +02:00
vauth.c creds: hold credentials 2026-05-12 16:05:15 +02:00
vauth.h creds: add sasl service name 2026-05-13 14:04:17 +02:00