Skip to content

Commit

Permalink
TODO: HTTP Digest via Windows SSPI
Browse files Browse the repository at this point in the history
  • Loading branch information
captain-caveman2k committed Aug 6, 2014
1 parent c399f6e commit 6c6983f
Showing 1 changed file with 7 additions and 0 deletions.
7 changes: 7 additions & 0 deletions docs/TODO
Expand Up @@ -41,6 +41,7 @@
5.3 Rearrange request header order
5.4 SPDY
5.5 auth= in URLs
5.6 Digest via Windows SSPI

6. TELNET
6.1 ditch stdin
Expand Down Expand Up @@ -303,6 +304,12 @@ support for Kerberos via Windows SSPI.

Additionally this should be implemented for proxy base URLs as well.

5.6 Digest via Windows SSPI

libcurl already supports HTTP Digest Authentication via native routines as well
as SASL Digest via both Windows SSPI and native routines. In addition to this
libcurl should also support HTTP Digest Authentication via Windows SSPI.

6. TELNET

6.1 ditch stdin
Expand Down

2 comments on commit 6c6983f

@michael-o
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This shouldn't be too hard to implementing but one open question should be clarified for the users: How can the acceptor validate the user response to the challenge without SSPI? If this is possible at all.

@captain-caveman2k
Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

We currently implement native HTTP Digest without SSPI in lib/http-digest.c and SASL DIGEST-MD5 in curl_sasl.c. I added support for SSPI based DIGEST-MD5 in v7.37.0 but we don't yet support HTTP Digest via SSPI.

I added this to the TODO, as I currently have my head in adding GSSAPI via SSPI at the moment, and a) I didn't want this to be forgotten about and b) in case anyone else wanted to work on this ;-)

We can discuss this move on the libcurl discussion list but in summary I would like to see the following happen:

  • Add support for HTTP Digest in curl_sasl_sspi::Curl_sasl_create_digest_md5_message() - as the service type is passed in, it shouldn't be too difficult to add the extra information required for HTTP authentication
  • Move the current HTTP Digest code into curl_sasl::Curl_sasl_create_digest_md5_message()
  • Fix up http_digest.c to call our SASL function instead

Please sign in to comment.