Maybe, but I haven't got any experience with PAM modules as with dovecot. I have a preauthcustom.c from courier which I have to migrate to dovecot.
2010/11/16 Alex Baule <[email protected]>: > Dovecot plugins works with hooks. This hooks allow you customize some > actions. > > You need to find the authentication hook, and rewrite it's actions. > > Inside the userdb.c have it void userdbs_init(void), but you change the > shared name, so you need to change inside your plugin too. > > But, you're trying to do something with auth, you can use PAM, it's more > easy. (i think) > > 2010/11/16 Antonio Perez-Aranda <[email protected]> > >> 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 <[email protected]>: >> > 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 <[email protected]>: >> >> 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 <[email protected]> >> >> >> >>> 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 <[email protected]>: >> >>> > Well, I didn't execute ./configure on $DOVECOT path >> >>> > >> >>> > 2010/11/16 Antonio Perez-Aranda <[email protected]>: >> >>> >> 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 <[email protected]>: >> >>> >>> 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 >> >>> >>> >> >>> >>> >> >>> >> >> >>> > >> >>> >> >> >> > >> >
