Mercurial > dovecot > original-hg > dovecot-1.2
view src/auth/password-scheme-rpa.c @ 4891:6ab2712f1a93 HEAD
Only imap binary was actually working.
author | Timo Sirainen <tss@iki.fi> |
---|---|
date | Sun, 10 Dec 2006 14:35:02 +0200 |
parents | 47add4b664af |
children | 971050640e3b |
line wrap: on
line source
#include "lib.h" #include "buffer.h" #include "md5.h" #include "hex-binary.h" #include "safe-memset.h" #include "password-scheme.h" void *ucs2be_str(pool_t pool, const char *str, size_t *size); /* * Convert string to big-endian ucs2. */ void *ucs2be_str(pool_t pool, const char *str, size_t *size) { buffer_t *buf = buffer_create_dynamic(pool, 32); while (*str) { buffer_append_c(buf, '\0'); buffer_append_c(buf, *str++); } *size = buffer_get_used_size(buf); return buffer_free_without_data(buf); } const char *password_generate_rpa(const char *pw) { unsigned char hash[MD5_RESULTLEN]; unsigned char *ucs2be_pw; size_t size; ucs2be_pw = ucs2be_str(unsafe_data_stack_pool, pw, &size); md5_get_digest(ucs2be_pw, size, hash); safe_memset(ucs2be_pw, 0, size); return binary_to_hex(hash, sizeof(hash)); }