mirror of
https://github.com/curl/curl.git
synced 2026-07-31 23:38:02 +03:00
krb5: fix detecting channel binding feature
Use the already detected `gssapi/gssapi_krb5.h` MIT Kerberos header
to pull in `gssapi_ext.h`, which in turn sets `GSS_C_CHANNEL_BOUND_FLAG`
if supported. Channel binding is present in MIT Kerberos 1.19+.
Also:
- lib: de-duplicate GSS-API header includes.
- vauth: de-duplicate `urldata.h` includes.
- drop interim feature macro in favor of the native GSS one.
Assisted-by: Max Faxälv
Reported-by: Max Faxälv
Bug: https://github.com/curl/curl/pull/19164#issuecomment-3551687025
Follow-up to 8616e5aada #19164
Closes #19603
Closes #19760
This commit is contained in:
parent
dabfae84f0
commit
4aed2dcc89
18 changed files with 13 additions and 56 deletions
|
|
@ -28,6 +28,7 @@
|
|||
|
||||
#include "../bufref.h"
|
||||
#include "../curlx/dynbuf.h"
|
||||
#include "../urldata.h"
|
||||
|
||||
struct Curl_easy;
|
||||
struct connectdata;
|
||||
|
|
@ -233,18 +234,6 @@ CURLcode Curl_auth_create_xoauth_bearer_message(const char *user,
|
|||
|
||||
#ifdef USE_KERBEROS5
|
||||
|
||||
#ifdef HAVE_GSSAPI
|
||||
# ifdef HAVE_GSSGNU
|
||||
# include <gss.h>
|
||||
# else
|
||||
# ifdef HAVE_GSSAPI_H
|
||||
# include <gssapi.h>
|
||||
# else
|
||||
# include <gssapi/gssapi.h>
|
||||
# endif
|
||||
# endif
|
||||
#endif
|
||||
|
||||
/* meta key for storing KRB5 meta at connection */
|
||||
#define CURL_META_KRB5_CONN "meta:auth:krb5:conn"
|
||||
|
||||
|
|
@ -310,7 +299,7 @@ struct negotiatedata {
|
|||
gss_ctx_id_t context;
|
||||
gss_name_t spn;
|
||||
gss_buffer_desc output_token;
|
||||
#ifdef CURL_GSSAPI_HAS_CHANNEL_BINDING
|
||||
#ifdef GSS_C_CHANNEL_BOUND_FLAG
|
||||
struct dynbuf channel_binding_data;
|
||||
#endif
|
||||
#else
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue