Skip to content
Snippets Groups Projects
Commit bf51b8c0 authored by Steve Holme's avatar Steve Holme
Browse files

sasl: Added service parameter to Curl_sasl_create_digest_md5_message()

Added a service type parameter to Curl_sasl_create_digest_md5_message()
to allow the function to be used by different services rather than being
hard coded to "smtp".
parent 04a6f0a1
No related branches found
No related tags found
No related merge requests found
......@@ -240,6 +240,7 @@ CURLcode Curl_sasl_create_cram_md5_message(struct SessionHandle *data,
* chlg64 [in] - Pointer to the input buffer.
* userp [in] - The user name.
* passdwp [in] - The user's password.
* service [in] - The service type such as www, smtp or pop
* outptr [in/out] - The address where a pointer to newly allocated memory
* holding the result will be stored upon completion.
* outlen [out] - The length of the output message.
......@@ -250,6 +251,7 @@ CURLcode Curl_sasl_create_digest_md5_message(struct SessionHandle *data,
const char* chlg64,
const char* userp,
const char* passwdp,
const char* service,
char **outptr, size_t *outlen)
{
static const char table16[] = "0123456789abcdef";
......@@ -271,7 +273,7 @@ CURLcode Curl_sasl_create_digest_md5_message(struct SessionHandle *data,
char cnonce[] = "12345678"; /* will be changed */
char method[] = "AUTHENTICATE";
char qop[] = "auth";
char uri[128] = "smtp/";
char uri[128];
char response[512];
result = Curl_base64_decode(chlg64, &chlg, &chlglen);
......@@ -341,7 +343,9 @@ CURLcode Curl_sasl_create_digest_md5_message(struct SessionHandle *data,
for(i = 0; i < MD5_DIGEST_LEN; i++)
snprintf(&HA1_hex[2 * i], 3, "%02x", digest[i]);
/* Orepare URL string, append realm to the protocol */
/* Prepare the URL string */
strcpy(uri, service);
strcat(uri, "/");
strcat(uri, realm);
/* Calculate H(A2) */
......
......@@ -58,6 +58,7 @@ CURLcode Curl_sasl_create_digest_md5_message(struct SessionHandle *data,
const char* chlg64,
const char* user,
const char* passwdp,
const char* service,
char **outptr, size_t *outlen);
#endif
......
......@@ -752,7 +752,8 @@ static CURLcode smtp_state_authdigest_resp(struct connectdata *conn,
;
result = Curl_sasl_create_digest_md5_message(data, chlg64, conn->user,
conn->passwd, &rplyb64, &len);
conn->passwd, "smtp",
&rplyb64, &len);
if(!result) {
if(rplyb64) {
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment