]> git.ipfire.org Git - thirdparty/curl.git/commit
schannel: not supported with UWP, drop redundant code
authorViktor Szakats <commit@vsz.me>
Thu, 31 Jul 2025 05:44:35 +0000 (07:44 +0200)
committerViktor Szakats <commit@vsz.me>
Thu, 31 Jul 2025 18:05:32 +0000 (20:05 +0200)
commit923db3515d3f3a707fd4cad6f05f9538899536d7
treea8566f53a257712a17d6acdfa8ce7b4428bab595
parentb5c245045e9606508a50d7d4eefcbffdb814339d
schannel: not supported with UWP, drop redundant code

Schannel is not supported by UWP. SSPI is also required by Schannel in
curl, and SSPI also isn't supported by UWP.

mingw-w64 is able to create such build regardless (my guess: due to API
parts not accurately marked as UWP-only), but the binary is unlikely
to work. With MSVC the failure happens at build-time.

Ref: https://learn.microsoft.com/windows/win32/api/sspi/nf-sspi-initsecurityinterfacea#requirements
Ref: https://learn.microsoft.com/windows/win32/secauthn/initializesecuritycontext--schannel#requirements

Drop all UWP-related logic, including two related feature checks, that
can now be permanently enabled.

Also:
- build: show fatal error for Schannel in UWP mode.
- build: do not allow enabling SSPI in UWP mode.
- drop undocumented option `DISABLE_SCHANNEL_CLIENT_CERT`. Added without
  mention in an unrelated commit. The PR text says to save size. On x64
  this is 0.3%, or 4KB out of 1.3MB. The tiny gain doesn't justify
  an extra build variant. Ref: 8beff4355956e3d18ceb3afc21c1f3edec82543c
- move `MPROTO_SCHANNEL_CERT_SHARE_KEY` closer to its use.
- replace commented block with `#if 0`.

Reviewed-by: Jay Satiro
Follow-up to cd0ec4784c1c0f873939f33ec1a73c8739f276b9 #17089
Closes #18116
.github/workflows/windows.yml
CMakeLists.txt
configure.ac
lib/vtls/schannel.c
lib/vtls/schannel_int.h
lib/vtls/schannel_verify.c
m4/curl-schannel.m4