#include "digest-md5.h"#include <stdlib.h>#include <string.h>#include "tokens.h"#include "parser.h"#include "printer.h"#include "free.h"#include "session.h"#include "digesthmac.h"#include "validate.h"Go to the source code of this file.
Data Structures | |
| struct | _Gsasl_digest_md5_server_state |
Defines | |
| #define | NONCE_ENTROPY_BYTES 16 |
Typedefs | |
| typedef _Gsasl_digest_md5_server_state | _Gsasl_digest_md5_server_state |
Functions | |
| int | _gsasl_digest_md5_server_start (Gsasl_session *sctx, void **mech_data) |
| int | _gsasl_digest_md5_server_step (Gsasl_session *sctx, void *mech_data, const char *input, size_t input_len, char **output, size_t *output_len) |
| void | _gsasl_digest_md5_server_finish (Gsasl_session *sctx, void *mech_data) |
| int | _gsasl_digest_md5_server_encode (Gsasl_session *sctx, void *mech_data, const char *input, size_t input_len, char **output, size_t *output_len) |
| int | _gsasl_digest_md5_server_decode (Gsasl_session *sctx, void *mech_data, const char *input, size_t input_len, char **output, size_t *output_len) |
| #define NONCE_ENTROPY_BYTES 16 |
| typedef struct _Gsasl_digest_md5_server_state _Gsasl_digest_md5_server_state |
Definition at line 60 of file digest-md5/server.c.
| int _gsasl_digest_md5_server_decode | ( | Gsasl_session * | sctx, | |
| void * | mech_data, | |||
| const char * | input, | |||
| size_t | input_len, | |||
| char ** | output, | |||
| size_t * | output_len | |||
| ) |
Definition at line 272 of file digest-md5/server.c.
References digest_md5_decode(), GSASL_INTEGRITY_ERROR, GSASL_NEEDS_MORE, GSASL_OK, _Gsasl_digest_md5_server_state::kic, digest_md5_response::qop, _Gsasl_digest_md5_server_state::readseqnum, and _Gsasl_digest_md5_server_state::response.
| int _gsasl_digest_md5_server_encode | ( | Gsasl_session * | sctx, | |
| void * | mech_data, | |||
| const char * | input, | |||
| size_t | input_len, | |||
| char ** | output, | |||
| size_t * | output_len | |||
| ) |
Definition at line 248 of file digest-md5/server.c.
References digest_md5_encode(), GSASL_INTEGRITY_ERROR, GSASL_NEEDS_MORE, GSASL_OK, _Gsasl_digest_md5_server_state::kis, digest_md5_response::qop, _Gsasl_digest_md5_server_state::response, and _Gsasl_digest_md5_server_state::sendseqnum.
| void _gsasl_digest_md5_server_finish | ( | Gsasl_session * | sctx, | |
| void * | mech_data | |||
| ) |
Definition at line 233 of file digest-md5/server.c.
References _Gsasl_digest_md5_server_state::challenge, digest_md5_free_challenge(), digest_md5_free_finish(), digest_md5_free_response(), _Gsasl_digest_md5_server_state::finish, and _Gsasl_digest_md5_server_state::response.
| int _gsasl_digest_md5_server_start | ( | Gsasl_session * | sctx, | |
| void ** | mech_data | |||
| ) |
Definition at line 63 of file digest-md5/server.c.
References DIGEST_MD5_QOP_AUTH, DIGEST_MD5_QOP_AUTH_INT, gsasl_base64_to(), GSASL_MALLOC_ERROR, gsasl_nonce(), GSASL_OK, and NONCE_ENTROPY_BYTES.
| int _gsasl_digest_md5_server_step | ( | Gsasl_session * | sctx, | |
| void * | mech_data, | |||
| const char * | input, | |||
| size_t | input_len, | |||
| char ** | output, | |||
| size_t * | output_len | |||
| ) |
Definition at line 97 of file digest-md5/server.c.
References digest_md5_response::authzid, _Gsasl_digest_md5_server_state::challenge, digest_md5_response::cipher, digest_md5_response::cnonce, digest_md5_hmac(), DIGEST_MD5_LENGTH, digest_md5_parse_response(), digest_md5_print_challenge(), digest_md5_print_finish(), DIGEST_MD5_RESPONSE_LENGTH, digest_md5_validate(), digest_md5_response::digesturi, _Gsasl_digest_md5_server_state::finish, GSASL_AUTHENTICATION_ERROR, GSASL_AUTHID, GSASL_AUTHZID, GSASL_MALLOC_ERROR, gsasl_md5(), GSASL_MECHANISM_CALLED_TOO_MANY_TIMES, GSASL_MECHANISM_PARSE_ERROR, GSASL_NEEDS_MORE, GSASL_NO_PASSWORD, GSASL_OK, GSASL_PASSWORD, gsasl_property_get(), gsasl_property_set(), GSASL_REALM, digest_md5_response::nc, digest_md5_response::nonce, digest_md5_challenge::nrealms, digest_md5_response::qop, digest_md5_response::realm, digest_md5_challenge::realms, digest_md5_response::response, _Gsasl_digest_md5_server_state::response, digest_md5_finish::rspauth, _Gsasl_digest_md5_server_state::secret, _Gsasl_digest_md5_server_state::step, and digest_md5_response::username.
1.4.7