[Dovecot] Trying to building a customized auth plugin

Antonio Perez-Aranda aperezaranda at yaco.es
Tue Nov 16 13:12:05 EET 2010


Well, all modules start with ifdef like this:

#ifdef USERDB_CUSTOM

And in this case, this isn't defined. I commet out this ifdef/else/if
block and then I have got more errors, I can continure.

2010/11/16 Antonio Perez-Aranda <aperezaranda at yaco.es>:
> Not, userdb-custom and passdb-custom are copies from
> userdb-passwd-file and passdb-passwd-file.
>
> I try with this function now, thanks.
>
> 2010/11/16 Alex Baule <alexwbaule at gmail.com>:
>> inside your plugin, have this function ? <authdb_custom_init>
>>
>> Every plugin must have a "init" function and it must call "plugin-name_init"
>>
>>
>> 2010/11/16 Antonio Perez-Aranda <aperezaranda at yaco.es>
>>
>>> Is it needed to include custom db on usedb.c and passdb.c ?
>>>
>>> I can see at userdb.c:
>>>
>>> void userdbs_init(void)
>>>
>>> with all userdb registered, and similar at passdb.c
>>>
>>>
>>> At now, I get the follow line loading the module and trying to access
>>> vía imap login
>>>
>>> Nov 16 17:54:28 auth: Error: module
>>> /usr/lib64/dovecot/auth/libauthdb_custom.so: dlsym(authdb_custom_init)
>>> failed: /usr/lib64/dovecot/auth/libauthdb_custom.so: undefined symbol:
>>> authdb_custom_init
>>> Nov 16 17:54:28 auth: Error: Module doesn't have init function:
>>> /usr/lib64/dovecot/auth/libauthdb_custom.so
>>>
>>>
>>>
>>> 2010/11/16 Antonio Perez-Aranda <aperezaranda at yaco.es>:
>>> > Well, I didn't execute ./configure on $DOVECOT path
>>> >
>>> > 2010/11/16 Antonio Perez-Aranda <aperezaranda at yaco.es>:
>>> >>  gcc -fPIC -shared -g -Wall \
>>> >>      -I$DOVECOT \
>>> >>      -I$DOVECOT/src/lib \
>>> >>      -I$DOVECOT/src/lib-auth  \
>>> >>      -I$DOVECOT/src/lib-sql \
>>> >>      -I$DOVECOT/src/lib-settings \
>>> >>      -I$DOVECOT/src/lib-ntlm \
>>> >>      -I$DOVECOT/src/lib-master \
>>> >>      -I$DOVECOT/src/auth \
>>> >>      -DHAVE_CONFIG_H \
>>> >>      -DAUTH_MODULE_DIR=\"passdb-custom\"\
>>> >>      passdb-custom.c -o passdb-custom.o
>>> >>
>>> >> With this I get:
>>> >>
>>> >> error on auth-common.h
>>> >> ...
>>> >> config.h Not found.
>>> >>
>>> >>
>>> >> But config.h are in $DOVECOT path
>>> >>
>>> >>
>>> >> 2010/11/15 Timo Sirainen <tss at iki.fi>:
>>> >>> On 15.11.2010, at 18.03, Antonio Perez-Aranda wrote:
>>> >>>
>>> >>>> gcc -fPIC -shared -g -Wall -I$DOVECOT \
>>> >>>>     -I$DOVECOT/src/lib \
>>> >>>>     -I$DOVECOT/src/lib-auth  \
>>> >>>>     -I$DOVECOT/src/lib-sql \
>>> >>>>     -I$DOVECOT/src/lib-settings \
>>> >>>>     -I$DOVECOT/src/lib-ntlm \
>>> >>>>     -I$DOVECOT/src/lib-master \
>>> >>>>     -I$DOVECOT/src/auth \
>>> >>>>     passdb-passwd-file.c -o passdb-passwd-file.o
>>> >>>>
>>> >>>> With this, I get errors relate with uoff_t
>>> >>>
>>> >>> You need to add -DHAVE_CONFIG_H
>>> >>>
>>> >>>
>>> >>
>>> >
>>>
>>
>


More information about the dovecot mailing list