[Dovecot] Creating a password_scheme

Jordi Llonch llonchj at gmail.com
Wed Nov 16 16:13:44 EET 2011


Hello,

I am trying to develop a password_scheme for the Django passwords.

After building and installing the module in
$module_dir/auth/password/djangopass.so, also tried libdjangopass.so and
libdjangopass_plugin.so, Dovecot does not recognize the scheme:

doveadm pw -l

CRYPT MD5 MD5-CRYPT SHA SHA1 SHA256 SHA512 SMD5 SSHA SSHA256 SSHA512 PLAIN
CLEARTEXT CRAM-MD5 HMAC-MD5 DIGEST-MD5 PLAIN-MD4 PLAIN-MD5 LDAP-MD5 LANMAN
NTLM OTP SKEY RPA SHA256-CRYPT SHA512-CRYPT

Please can you help me?

Thanks
--
Jordi Llonch



# 2.0.15: /etc/dovecot/dovecot.conf
# OS: Linux 2.6.40.3-0.fc15.x86_64 x86_64 Fedora release 15 (Lovelock) ext4


----------password-scheme-django.c--------------------------
#include <stdio.h>
#include <ctype.h>
#include <stdlib.h>
#include <string.h>
#include <dovecot/lib.h>
#include <dovecot/hex-binary.h>
#include <dovecot/password-scheme.h>

#define uchar unsigned char

static bool djangopass_verify(const char *plaintext, const char *user,
const unsigned char *raw_password, size_t size)
{
return TRUE;
}


void djangopass_generate(const char *plaintext, const char *user,
const unsigned char **raw_password_r, size_t *size_r)
{
}

struct password_scheme djangopass_scheme = {
"DJANGO",
PW_ENCODING_BASE64,
0,
djangopass_verify,
djangopass_generate
};

struct module;

void djangopass_init(struct module *module)
{
password_scheme_register(&djangopass_scheme);
}

void djangopass_deinit(void)
{
password_scheme_unregister(&djangopass_scheme);
}
---------------------------------------------------------------------------


More information about the dovecot mailing list