Skip to content

Conversation

@vszakats
Copy link
Member

@vszakats vszakats commented Oct 9, 2025

curl requires 1.2.4 or newer.

Also:

  • vms: stop defining gss_nt_service_name. Added in
    f9cf3de, symbol not used in curl code
    since 355bf01.

@vszakats vszakats changed the title kerberos: drop logic for MIT Kerberos <1.2 (pre-2002) versions kerberos: drop logic for MIT Kerberos <1.2.4 (pre-2002) versions Oct 9, 2025
@vszakats vszakats changed the title kerberos: drop logic for MIT Kerberos <1.2.4 (pre-2002) versions kerberos: drop logic for MIT Kerberos <1.2.3 (pre-2002) versions Oct 9, 2025
@vszakats vszakats marked this pull request as draft October 9, 2025 19:17
@vszakats
Copy link
Member Author

vszakats commented Oct 9, 2025

I accidentally deleted the detection of HAVE_GSSAPI_GSSAPI_H and HAVE_GSSAPI_GSSAPI_GENERIC_H in cmake. It had no adverse effect, with the CI-tested versions of 1.15+.

So far it looks like the raw gssapi.h header is a legacy (redirecting to the new header). gssapi/gssapi.h is the new style which received support in curl in 2004. Then, a check for gssapi/gssapi_generic.h is used to detect the MIT implementation (vs. Heimdal, which misses this header). This check has been added to curl in 2008. gssapi/gssapi_generic.h contains legacy stuff, that's no longer use by curl (though curl still includes it when detected). In the past it used gss_nt_service_name from it, with an apparently obsolete line still defining in the VMS code.

(curl replaced (355bf01) the last gss_nt_service_name with GSS_C_NT_HOSTBASED_SERVICE, which was available since Kerberos 1.2.3.)

While investigating I'll restore these detections to cmake, and tackle the rest in a follow-up PR.

The code uses them, autotools defines them.
Having another look whether they are still necessary or useful.
@vszakats vszakats marked this pull request as ready for review October 9, 2025 22:19
@vszakats vszakats closed this in 0d560d0 Oct 10, 2025
@vszakats vszakats deleted the krbold1 branch October 10, 2025 00:08
vszakats added a commit that referenced this pull request Oct 10, 2025
It's a legacy MIT Kerberos header that's no longer used by curl since:
355bf01 (2015-01-09)

There were still mentions of it after this patch, when using versions
<1.2.3, but those versions aren't supported since:
9918541 (2008-06-12)

This header remains in use by autotools and cmake to detect MIT Kerberos
(vs. Heimdal, which doesn't have it.)

Ref: #18978 (comment)

Closes #18990
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Development

Successfully merging this pull request may close these issues.

2 participants