struct digest_auth_request {
struct auth_request auth_request;
- pool_t pool;
-
/* requested: */
char *nonce;
enum qop_option qop;
buffer_create_from_data(&buf, nonce_base64, sizeof(nonce_base64));
base64_encode(nonce, sizeof(nonce), &buf);
buffer_append_c(&buf, '\0');
- request->nonce = p_strdup(request->pool, buf.data);
+ request->nonce = p_strdup(auth_request->pool, buf.data);
str = t_str_new(256);
if (array_is_empty(&set->realms)) {
}
} else {
request->rspauth =
- p_strconcat(request->pool, "rspauth=",
+ p_strconcat(auth_request->pool, "rspauth=",
response_hex, NULL);
}
}
return FALSE;
}
- request->username = p_strdup(request->pool, value);
+ request->username = p_strdup(auth_request->pool, value);
return TRUE;
}
return FALSE;
}
- request->cnonce = p_strdup(request->pool, value);
+ request->cnonce = p_strdup(auth_request->pool, value);
return TRUE;
}
return FALSE;
}
- request->nonce_count = p_strdup(request->pool, value);
+ request->nonce_count = p_strdup(auth_request->pool, value);
return TRUE;
}
return FALSE;
}
- request->qop_value = p_strdup(request->pool, value);
+ request->qop_value = p_strdup(auth_request->pool, value);
return TRUE;
}
But isn't the realm enough already? That'd be just extra
configuration.. Maybe optionally list valid hosts in
config file? */
- request->digest_uri = p_strdup(request->pool, value);
+ request->digest_uri = p_strdup(auth_request->pool, value);
return TRUE;
}
return FALSE;
}
- request->authzid = p_strdup(request->pool, value);
+ request->authzid = p_strdup(auth_request->pool, value);
return TRUE;
}
const unsigned char *data, size_t size,
const char **error)
{
+ struct auth_request *auth_request = &request->auth_request;
char *copy, *key, *value;
bool failed;
}
if (request->nonce_count == NULL)
- request->nonce_count = p_strdup(request->pool, "00000001");
+ request->nonce_count = p_strdup(auth_request->pool, "00000001");
if (request->qop_value == NULL)
- request->qop_value = p_strdup(request->pool, "auth");
+ request->qop_value = p_strdup(auth_request->pool, "auth");
return !failed;
}
pool = pool_alloconly_create(
MEMPOOL_GROWING"digest_md5_auth_request", 2048);
request = p_new(pool, struct digest_auth_request, 1);
- request->pool = pool;
request->qop = QOP_AUTH;
request->auth_request.pool = pool;
auth_request);
i_assert(auth_request->mech == &mech_digest_md5);
- request->nonce = p_strdup(request->pool, nonce);
+ request->nonce = p_strdup(auth_request->pool, nonce);
}