![]() |
The FreeRADIUS server $Id: 15bac2a4c627c01d1aa2047687b3418955ac7f00 $
|
Structures and prototypes for our local MD4 implementation. More...
#include <freeradius-devel/build.h>#include <freeradius-devel/missing.h>#include <inttypes.h>#include <sys/types.h>#include <stdint.h>#include <stdbool.h>#include <string.h>
Include dependency graph for md4.h:Go to the source code of this file.
Data Structures | |
| struct | fr_md4_funcs_t |
Macros | |
| #define | fr_md4_ctx_alloc() fr_md4_funcs->alloc() |
| Allocation function for MD4 digest context. | |
| #define | fr_md4_ctx_copy(_dst, _src) fr_md4_funcs->copy(_dst, _src) |
| Copy the contents of a ctx. | |
| #define | fr_md4_ctx_free(_ctx) fr_md4_funcs->free(_ctx) |
| Free function for MD4 digest ctx. | |
| #define | fr_md4_ctx_reset(_ctx) fr_md4_funcs->reset(_ctx) |
| Reset the ctx to allow reuse. | |
| #define | fr_md4_final(_out, _ctx) fr_md4_funcs->final(_out, _ctx) |
| Finalise the ctx, producing the digest. | |
| #define | fr_md4_update(_ctx, _in, _inlen) fr_md4_funcs->update(_ctx, _in, _inlen) |
| Ingest plaintext into the digest. | |
| #define | MD4_DIGEST_LENGTH 16 |
Typedefs | |
| typedef fr_md4_ctx_t *(* | fr_md4_ctx_alloc_t) (void) |
| typedef void(* | fr_md4_ctx_copy_t) (fr_md4_ctx_t *dst, fr_md4_ctx_t const *src) |
| typedef void(* | fr_md4_ctx_free_t) (fr_md4_ctx_t **ctx) |
| typedef void(* | fr_md4_ctx_reset_t) (fr_md4_ctx_t *ctx) |
| typedef void | fr_md4_ctx_t |
| typedef void(* | fr_md4_final_t) (uint8_t out[static MD4_DIGEST_LENGTH], fr_md4_ctx_t *ctx) |
| typedef void(* | fr_md4_update_t) (fr_md4_ctx_t *ctx, uint8_t const *in, size_t inlen) |
Functions | |
| void | fr_md4_calc (uint8_t out[static MD4_DIGEST_LENGTH], uint8_t const *in, size_t inlen) |
| Perform a single digest operation on a single input buffer. | |
| fr_md4_ctx_t * | fr_md4_ctx_alloc_from_list (void) |
| Allocate an md4 context from a free list. | |
| void | fr_md4_ctx_free_from_list (fr_md4_ctx_t **ctx) |
| Release an md4 context back to a free list. | |
Variables | |
| fr_md4_funcs_t const * | fr_md4_funcs |
| Swap a single pointer, so all functions get swapped as an atomic operation. | |
Structures and prototypes for our local MD4 implementation.
Structures and declarations for md4.
Definition in file md4.h.
| struct fr_md4_funcs_t |
| Data Fields | ||
|---|---|---|
| fr_md4_ctx_alloc_t | alloc | |
| fr_md4_ctx_copy_t | copy | |
| fr_md4_final_t | final | |
| fr_md4_ctx_free_t | free | |
| fr_md4_ctx_reset_t | reset | |
| fr_md4_update_t | update | |
| #define fr_md4_ctx_alloc | ( | ) | fr_md4_funcs->alloc() |
| #define fr_md4_ctx_copy | ( | _dst, | |
| _src | |||
| ) | fr_md4_funcs->copy(_dst, _src) |
| #define fr_md4_ctx_free | ( | _ctx | ) | fr_md4_funcs->free(_ctx) |
| #define fr_md4_ctx_reset | ( | _ctx | ) | fr_md4_funcs->reset(_ctx) |
| #define fr_md4_final | ( | _out, | |
| _ctx | |||
| ) | fr_md4_funcs->final(_out, _ctx) |
| #define fr_md4_update | ( | _ctx, | |
| _in, | |||
| _inlen | |||
| ) | fr_md4_funcs->update(_ctx, _in, _inlen) |
| typedef fr_md4_ctx_t *(* fr_md4_ctx_alloc_t) (void) |
| typedef void(* fr_md4_ctx_copy_t) (fr_md4_ctx_t *dst, fr_md4_ctx_t const *src) |
| typedef void(* fr_md4_ctx_free_t) (fr_md4_ctx_t **ctx) |
| typedef void(* fr_md4_ctx_reset_t) (fr_md4_ctx_t *ctx) |
| typedef void fr_md4_ctx_t |
| typedef void(* fr_md4_final_t) (uint8_t out[static MD4_DIGEST_LENGTH], fr_md4_ctx_t *ctx) |
| typedef void(* fr_md4_update_t) (fr_md4_ctx_t *ctx, uint8_t const *in, size_t inlen) |
Perform a single digest operation on a single input buffer.
Perform a single digest operation on a single input buffer.
| [out] | out | Where to write the MD4 digest. Must be a minimum of MD4_DIGEST_LENGTH. |
| [in] | in | Data to hash. |
| [in] | inlen | Length of the data. |
Definition at line 515 of file md4.c.
Here is the call graph for this function:
Here is the caller graph for this function:| fr_md4_ctx_t * fr_md4_ctx_alloc_from_list | ( | void | ) |
| void fr_md4_ctx_free_from_list | ( | fr_md4_ctx_t ** | ctx | ) |
|
extern |
1.9.8