spnego_sspi: honor CURLOPT_GSSAPI_DELEGATION on Windows SSPI builds#21528
spnego_sspi: honor CURLOPT_GSSAPI_DELEGATION on Windows SSPI builds#21528xsgao-github wants to merge 1 commit into
Conversation
|
Analysis of PR #21528 at b7d4c901: Test 3302 failed, which has NOT been flaky recently, so there could be a real issue in this PR. Note that this test has failed in 2 different CI jobs (the link just goes to one of them). Generated by Testclutch |
There was a problem hiding this comment.
Pull request overview
This PR aims to make CURLOPT_GSSAPI_DELEGATION effective on Windows builds that use SSPI (instead of a native GSS-API implementation), so Kerberos delegation can be requested during SPNEGO/Negotiate authentication.
Changes:
- Store
CURLOPT_GSSAPI_DELEGATIONindata->set.gssapi_delegationon SSPI builds by extending existingHAVE_GSSAPIcompile guards. - Request SSPI delegation in
InitializeSecurityContext()when delegation is enabled. - Add unit test
unit3302+ test casetest3302to verify the option value is stored/masked correctly.
Reviewed changes
Copilot reviewed 7 out of 7 changed files in this pull request and generated 1 comment.
Show a summary per file
| File | Description |
|---|---|
| tests/unit/unit3302.c | New unit test verifying CURLOPT_GSSAPI_DELEGATION stores/masks flags correctly. |
| tests/unit/Makefile.inc | Registers unit3302.c in the unit test build. |
| tests/data/test3302 | Adds a test definition for the new unit test. |
| tests/data/Makefile.am | Registers test3302 in the test cases list. |
| lib/vauth/spnego_sspi.c | Adds SSPI InitializeSecurityContext() request flags for delegation. |
| lib/urldata.h | Makes UserDefined.gssapi_delegation available on SSPI builds. |
| lib/setopt.c | Enables the CURLOPT_GSSAPI_DELEGATION setopt handler on SSPI builds. |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
2a20da4 to
47f100f
Compare
|
IMO a more human-readable non-LLM generated commit message would improve this patch. |
…ws builds that use SSPI (instead of a native GSS-API implementation), so Kerberos delegation can be requested during SPNEGO/Negotiate authentication. Changes: Store CURLOPT_GSSAPI_DELEGATION in data->set.gssapi_delegation on SSPI builds by extending existing HAVE_GSSAPI compile guards. Request SSPI delegation in InitializeSecurityContext() when delegation is enabled. Add unit test unit3302 + test case test3302 to verify the option value is stored/masked correctly.
|
thanks! |
Make CURLOPT_GSSAPI_DELEGATION effective on Windows builds that use SSPI (instead of a native GSS-API implementation), so Kerberos delegation can be requested during SPNEGO/Negotiate authentication. Closes curl#21528
What
This PR aims to make CURLOPT_GSSAPI_DELEGATION effective on Windows builds that use SSPI (instead of a native GSS-API implementation), so Kerberos delegation can be requested during SPNEGO/Negotiate authentication.
Fix
Store CURLOPT_GSSAPI_DELEGATION in data->set.gssapi_delegation on SSPI builds by extending existing HAVE_GSSAPI compile guards.
Request SSPI delegation in InitializeSecurityContext() when delegation is enabled.
Tests
Add unit test unit3302 to verify the option value is stored/masked correctly.
Closes #2859