It take login user, pass and other dat from connection like remote ip and send to a Java App with special security. If the result of Java App is correct (more difficult to explain), then it pass ask to standard courier ldap plugin.
2010/11/16 Alex Baule <[email protected]>: > What the preauthcustom.c does ? something special or setting some rights > from users ? > > If was only auth, PAM is much more easy.... > > 2010/11/16 Antonio Perez-Aranda <[email protected]> > >> 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 >> >> >>> >>> >> >> >>> >>> >> >> >>> >> >> >> >>> > >> >> >>> >> >> >> >> >> > >> >> >> > >> >
