masqmail
annotate src/md5/md5.h @ 239:31ee44f45787
refactored alias.c heavily
especially substituted the loop-based alias_expand()
with a recursive approach. Now alias_expand() wraps
alias_one() which recursively expands aliases.
In principle the ``data processing'' is the same but
now it's clearer structured and thus easier to understand
IMO.
The loop might have been faster but I don't care for
speed -- the most simple solution is the best. It's fast
enough, that is sufficient.
author | markus schnalke <meillo@marmaro.de> |
---|---|
date | Mon, 25 Oct 2010 15:35:28 -0300 |
parents | e0938c511243 |
children |
rev | line source |
---|---|
meillo@209 | 1 /* |
meillo@209 | 2 * This is an OpenSSL-compatible implementation of the RSA Data Security, |
meillo@209 | 3 * Inc. MD5 Message-Digest Algorithm (RFC 1321). |
meillo@209 | 4 * |
meillo@209 | 5 * Written by Solar Designer <solar at openwall.com> in 2001, and placed |
meillo@209 | 6 * in the public domain. There's absolutely no warranty. |
meillo@209 | 7 * |
meillo@209 | 8 * See md5.c for more information. |
meillo@0 | 9 */ |
meillo@0 | 10 |
meillo@209 | 11 #ifdef HAVE_OPENSSL |
meillo@209 | 12 #include <openssl/md5.h> |
meillo@209 | 13 #elif !defined(_MD5_H) |
meillo@209 | 14 #define _MD5_H |
meillo@0 | 15 |
meillo@209 | 16 /* Any 32-bit or wider unsigned integer data type will do */ |
meillo@221 | 17 /* Note: Using an int will work on most systems and might perform much better */ |
meillo@210 | 18 typedef unsigned long MD5_u32plus; |
meillo@0 | 19 |
meillo@0 | 20 typedef struct { |
meillo@209 | 21 MD5_u32plus lo, hi; |
meillo@209 | 22 MD5_u32plus a, b, c, d; |
meillo@209 | 23 unsigned char buffer[64]; |
meillo@209 | 24 MD5_u32plus block[16]; |
meillo@0 | 25 } MD5_CTX; |
meillo@0 | 26 |
meillo@209 | 27 extern void MD5_Init(MD5_CTX *ctx); |
meillo@209 | 28 extern void MD5_Update(MD5_CTX *ctx, void *data, unsigned long size); |
meillo@209 | 29 extern void MD5_Final(unsigned char *result, MD5_CTX *ctx); |
meillo@209 | 30 |
meillo@209 | 31 #endif |