Mercurial > pidgin
comparison src/cipher.h @ 12382:cfc808463763
[gaim-migrate @ 14688]
Reimplement HTTP Digest Authentication (RFC 2617) as part of the Cipher API
committer: Tailor Script <tailor@pidgin.im>
| author | Richard Laager <rlaager@wiktel.com> |
|---|---|
| date | Wed, 07 Dec 2005 04:50:36 +0000 |
| parents | fc464a0abccc |
| children | 4e045668b9d0 |
comparison
equal
deleted
inserted
replaced
| 12381:29e237c4141b | 12382:cfc808463763 |
|---|---|
| 384 * | 384 * |
| 385 * @return The cipher data | 385 * @return The cipher data |
| 386 */ | 386 */ |
| 387 gpointer gaim_cipher_context_get_data(GaimCipherContext *context); | 387 gpointer gaim_cipher_context_get_data(GaimCipherContext *context); |
| 388 | 388 |
| 389 /** | |
| 390 * Calculates a session key for HTTP Digest authentation | |
| 391 * | |
| 392 * See RFC 2617 for more information. | |
| 393 * | |
| 394 * @param algorithm The hash algorithm to use | |
| 395 * @param username The username provided by the user | |
| 396 * @param realm The authentication realm provided by the server | |
| 397 * @param password The password provided by the user | |
| 398 * @param nonce The nonce provided by the server | |
| 399 * @param client_nonce The nonce provided by the client | |
| 400 * | |
| 401 * @return The session key, or @c NULL if an error occurred. | |
| 402 */ | |
| 403 gchar *gaim_cipher_http_digest_calculate_session_key( | |
| 404 const gchar *algorithm, const gchar *username, | |
| 405 const gchar *realm, const gchar *password, | |
| 406 const gchar *nonce, const gchar *client_nonce); | |
| 407 | |
| 408 /** Calculate a response for HTTP Digest authentication | |
| 409 * | |
| 410 * See RFC 2617 for more information. | |
| 411 * | |
| 412 * @param algorithm The hash algorithm to use | |
| 413 * @param method The HTTP method in use | |
| 414 * @param digest_uri The URI from the initial request | |
| 415 * @param qop The "quality of protection" | |
| 416 * @param hashed_entity The hashed entity body | |
| 417 * @param hashed_entity_len The length of the data in @a hashed_entity | |
| 418 * @param nonce The nonce provided by the server | |
| 419 * @param nonce_count The nonce count | |
| 420 * @param client_nonce The nonce provided by the client | |
| 421 * @param session_key The session key from gaim_cipher_http_digest_calculate_session_key() | |
| 422 * | |
| 423 * @return The hashed response, or @c NULL if an error occurred. | |
| 424 */ | |
| 425 gchar *gaim_cipher_http_digest_calculate_response( | |
| 426 const gchar *algorithm, const gchar *method, | |
| 427 const gchar *digest_uri, const gchar *qop, | |
| 428 const gchar *hashed_entity, size_t hashed_entity_len, | |
| 429 const gchar *nonce, const gchar *nonce_count, | |
| 430 const gchar *client_nonce, const gchar *session_key); | |
| 431 | |
| 389 /*@}*/ | 432 /*@}*/ |
| 390 | 433 |
| 391 #ifdef __cplusplus | 434 #ifdef __cplusplus |
| 392 } | 435 } |
| 393 #endif /* __cplusplus */ | 436 #endif /* __cplusplus */ |
