mirror of
https://github.com/curl/curl.git
synced 2026-08-24 12:13:33 +03:00
auth: upgrade SSPI identity to SEC_WINNT_AUTH_IDENTITY_EX
Replace SEC_WINNT_AUTH_IDENTITY with SEC_WINNT_AUTH_IDENTITY_EX across all SSPI authentication code. The extended structure adds Version, Length, and PackageList fields while remaining backwards compatible with all SSPI functions. Available since Windows XP. Curl_create_sspi_identity now sets the Version and Length fields when initializing the structure. Signed-off-by: Matthew John Cheetham <mjcheetham@outlook.com>
This commit is contained in:
parent
8c908d2d0a
commit
9ba4ddbc76
5 changed files with 19 additions and 17 deletions
|
|
@ -95,8 +95,8 @@ CURLcode Curl_auth_create_digest_md5_message(struct Curl_easy *data,
|
|||
CredHandle credentials;
|
||||
CtxtHandle context;
|
||||
PSecPkgInfo SecurityPackage;
|
||||
SEC_WINNT_AUTH_IDENTITY identity;
|
||||
SEC_WINNT_AUTH_IDENTITY *p_identity;
|
||||
SEC_WINNT_AUTH_IDENTITY_EX identity;
|
||||
SEC_WINNT_AUTH_IDENTITY_EX *p_identity;
|
||||
SecBuffer chlg_buf;
|
||||
SecBuffer resp_buf;
|
||||
SecBufferDesc chlg_desc;
|
||||
|
|
@ -240,7 +240,7 @@ CURLcode Curl_auth_create_digest_md5_message(struct Curl_easy *data,
|
|||
* Returns CURLE_OK on success.
|
||||
*/
|
||||
CURLcode Curl_override_sspi_http_realm(const char *chlg,
|
||||
SEC_WINNT_AUTH_IDENTITY *identity)
|
||||
SEC_WINNT_AUTH_IDENTITY_EX *identity)
|
||||
{
|
||||
xcharp_u domain, dup_domain;
|
||||
|
||||
|
|
@ -466,8 +466,8 @@ CURLcode Curl_auth_create_digest_http_message(struct Curl_easy *data,
|
|||
|
||||
if(!digest->http_context) {
|
||||
CredHandle credentials;
|
||||
SEC_WINNT_AUTH_IDENTITY identity;
|
||||
SEC_WINNT_AUTH_IDENTITY *p_identity;
|
||||
SEC_WINNT_AUTH_IDENTITY_EX identity;
|
||||
SEC_WINNT_AUTH_IDENTITY_EX *p_identity;
|
||||
SecBuffer resp_buf;
|
||||
SecBufferDesc resp_desc;
|
||||
unsigned long attrs;
|
||||
|
|
|
|||
|
|
@ -170,8 +170,8 @@ struct ntlmdata {
|
|||
#endif
|
||||
CredHandle *credentials;
|
||||
CtxtHandle *context;
|
||||
SEC_WINNT_AUTH_IDENTITY identity;
|
||||
SEC_WINNT_AUTH_IDENTITY *p_identity;
|
||||
SEC_WINNT_AUTH_IDENTITY_EX identity;
|
||||
SEC_WINNT_AUTH_IDENTITY_EX *p_identity;
|
||||
size_t token_max;
|
||||
BYTE *output_token;
|
||||
BYTE *input_token;
|
||||
|
|
@ -241,8 +241,8 @@ struct kerberos5data {
|
|||
CredHandle *credentials;
|
||||
CtxtHandle *context;
|
||||
TCHAR *spn;
|
||||
SEC_WINNT_AUTH_IDENTITY identity;
|
||||
SEC_WINNT_AUTH_IDENTITY *p_identity;
|
||||
SEC_WINNT_AUTH_IDENTITY_EX identity;
|
||||
SEC_WINNT_AUTH_IDENTITY_EX *p_identity;
|
||||
size_t token_max;
|
||||
BYTE *output_token;
|
||||
#else
|
||||
|
|
@ -309,8 +309,8 @@ struct negotiatedata {
|
|||
SECURITY_STATUS status;
|
||||
CredHandle *credentials;
|
||||
CtxtHandle *context;
|
||||
SEC_WINNT_AUTH_IDENTITY identity;
|
||||
SEC_WINNT_AUTH_IDENTITY *p_identity;
|
||||
SEC_WINNT_AUTH_IDENTITY_EX identity;
|
||||
SEC_WINNT_AUTH_IDENTITY_EX *p_identity;
|
||||
TCHAR *spn;
|
||||
size_t token_max;
|
||||
BYTE *output_token;
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue