Re: [Dovecot] error 89 when loading plugin
On Mon, 2010-08-02 at 20:42 +1000, John O'Brien wrote: As a result of a suggestion from Pascal late last week I spent today loading 2.0.rc3 and converting the plugin to the new form. What a nightmare. Is there an easy way to have a plugin included in the configuration and built as part of the make and make install? Everything has changed. I was previously happily generating a .so and putting it the right directory. I know this is the wrong way to do it, but I was doing something like this. It should work the same way in v2.0 as it was working in v1.x.. Although there's now also an easier way: eval `cat /usr/local/lib/dovecot/dovecot-config` gcc -fPIC -shared -DHAVE_CONFIG_H \ `echo $DOVECOT_CFLAGS $LIBDOVECOT_INCLUDE $LIBDOVECOT_STORAGE_INCLUDE` \ foo-plugin.c -o foo.so
Re: [Dovecot] error 89 when loading plugin
Pascal, On 02/08/2010, at 2:22 AM, Pascal Volk wrote: On 08/01/2010 08:37 AM John O'Brien wrote: Hi, I'm very confused - that's not too difficult for me. I have written a small plugin change_passwd_plugin.c I would like this custom IMAP command to be available to all users. The code contains the following. void change_passwd_plugin_init(void) { command_register(XCHANGEPASSWORD, cmd_xchangepasswd, 0); str_append(capability_string, XCHANGEPASSWORD); } void change_passwd_plugin_deinit(void) { command_unregister(XCHANGEPASSWORD); } % nm 0920 T change_passwd_plugin_deinit 08ec T change_passwd_plugin_init 00201248 D change_passwd_plugin_version dovecot.conf mail_plugins = change_passwd_plugin mail_plugin_dir = /usr/lib/dovecot/imap imap_capability = XCHANGEPASSWORD %ls -la /usr/lib/dovecot/imap ls -la /usr/lib/dovecot/imap total 28 drwxr-xr-x 2 root root 4096 Aug 1 16:03 . drwxr-xr-x 3 root root 4096 Aug 1 10:51 .. -rwxr-xr-x 1 root root 16969 Aug 1 16:03 change_passwd_plugin.so During login I see the following /var/log/maillog Aug 1 16:13:00 development dovecot: IMAP(test): Loading modules from directory: /usr/lib/dovecot/imap Aug 1 16:13:00 development dovecot: IMAP(test): Plugin change_passwd_plugin not found from directory /usr/lib/dovecot/imap Aug 1 16:13:00 development dovecot: child 29715 (imap) returned error 89 I don't understand why I'm getting an error 89 reported. The login session is terminated by dovecot when the error occurs. Any assistance or ideas would be appreciated. Regards, John The name of the plungins is plugin_name_plugin.ext. To load a plugin use: mail_plugins = plugin_name Without the trailing _plugin. Thanks that works with 1.2 Which clients, except for telnet, supports the XCHANGEPASSWORD command? Unfortunately we are prevented from telling you about the specific device because of a very strict NDA. It is an NDA from a very litigious systems supplier from silicon valley, so we must be careful. All I can say is that its a embedded system that has plenty of clients. Access to some of the stored data is via an IVR style audio interface, access to which is controlled via a PIN code. So think of this as the PIN code you need to enter if you were accessing your telephone banking service via an IVR. The embedded client needs to be able to change this PIN code via IMAP. As a result of a suggestion from Pascal late last week I spent today loading 2.0.rc3 and converting the plugin to the new form. What a nightmare. Is there an easy way to have a plugin included in the configuration and built as part of the make and make install? Everything has changed. I was previously happily generating a .so and putting it the right directory. I know this is the wrong way to do it, but I was doing something like this. # # Build the XCHANGEPASSWORD custom IMAP command # export DOVECOT=../../../../dovecot-2.0.rc3 gcc -fPIC -g -shared -Wall \ -I$DOVECOT -I$DOVECOT/src/imap -I$DOVECOT/src/lib -I$DOVECOT/src/lib-auth -I$DOVECOT/src/lib-charset \ -I$DOVECOT/src/lib-dict -I$DOVECOT/src/lib-dns -I$DOVECOT/src/lib-dovecot -I$DOVECOT/src/lib-imap \ -I$DOVECOT/src/lib-index -I$DOVECOT/src/lib-lda -I$DOVECOT/src/lib-mail -I$DOVECOT/src/lib-master \ -I$DOVECOT/src/lib-ntlm -I$DOVECOT/src/lib-otp -I$DOVECOT/src/lib-settings -I$DOVECOT/src/lib-sql \ -I$DOVECOT/src/lib-storage -DHAVE_CONFIG_H \ change_passwd_plugin.c -o change_passwd_plugin.so I'm trying to figure out how to build it under 2.0. The documentation assumes a degree of prior knowledge which I have not been able to find. I have built a test framework change_passwd_plugin.c which is 165 lines of C, its tiny. Once I get the custom IMAP command been parsed I can then add support in to store the PIN data in a postgresql database table. I was hoping to avoid having to learn too much about all this but it seems it can't be avoided. Any suggestions would be greatly appreciated. Best Regards, John Regards, Pascal -- The trapper recommends today: c01dcofe.1021...@localdomain.org
[Dovecot] error 89 when loading plugin
Hi, I'm very confused - that's not too difficult for me. I have written a small plugin change_passwd_plugin.c I would like this custom IMAP command to be available to all users. The code contains the following. void change_passwd_plugin_init(void) { command_register(XCHANGEPASSWORD, cmd_xchangepasswd, 0); str_append(capability_string, XCHANGEPASSWORD); } void change_passwd_plugin_deinit(void) { command_unregister(XCHANGEPASSWORD); } % nm 0920 T change_passwd_plugin_deinit 08ec T change_passwd_plugin_init 00201248 D change_passwd_plugin_version dovecot.conf mail_plugins = change_passwd_plugin mail_plugin_dir = /usr/lib/dovecot/imap imap_capability = XCHANGEPASSWORD %ls -la /usr/lib/dovecot/imap ls -la /usr/lib/dovecot/imap total 28 drwxr-xr-x 2 root root 4096 Aug 1 16:03 . drwxr-xr-x 3 root root 4096 Aug 1 10:51 .. -rwxr-xr-x 1 root root 16969 Aug 1 16:03 change_passwd_plugin.so During login I see the following /var/log/maillog Aug 1 16:13:00 development dovecot: IMAP(test): Loading modules from directory: /usr/lib/dovecot/imap Aug 1 16:13:00 development dovecot: IMAP(test): Plugin change_passwd_plugin not found from directory /usr/lib/dovecot/imap Aug 1 16:13:00 development dovecot: child 29715 (imap) returned error 89 I don't understand why I'm getting an error 89 reported. The login session is terminated by dovecot when the error occurs. Any assistance or ideas would be appreciated. Regards, John
Re: [Dovecot] error 89 when loading plugin
On 08/01/2010 08:37 AM John O'Brien wrote: Hi, I'm very confused - that's not too difficult for me. I have written a small plugin change_passwd_plugin.c I would like this custom IMAP command to be available to all users. The code contains the following. void change_passwd_plugin_init(void) { command_register(XCHANGEPASSWORD, cmd_xchangepasswd, 0); str_append(capability_string, XCHANGEPASSWORD); } void change_passwd_plugin_deinit(void) { command_unregister(XCHANGEPASSWORD); } % nm 0920 T change_passwd_plugin_deinit 08ec T change_passwd_plugin_init 00201248 D change_passwd_plugin_version dovecot.conf mail_plugins = change_passwd_plugin mail_plugin_dir = /usr/lib/dovecot/imap imap_capability = XCHANGEPASSWORD %ls -la /usr/lib/dovecot/imap ls -la /usr/lib/dovecot/imap total 28 drwxr-xr-x 2 root root 4096 Aug 1 16:03 . drwxr-xr-x 3 root root 4096 Aug 1 10:51 .. -rwxr-xr-x 1 root root 16969 Aug 1 16:03 change_passwd_plugin.so During login I see the following /var/log/maillog Aug 1 16:13:00 development dovecot: IMAP(test): Loading modules from directory: /usr/lib/dovecot/imap Aug 1 16:13:00 development dovecot: IMAP(test): Plugin change_passwd_plugin not found from directory /usr/lib/dovecot/imap Aug 1 16:13:00 development dovecot: child 29715 (imap) returned error 89 I don't understand why I'm getting an error 89 reported. The login session is terminated by dovecot when the error occurs. Any assistance or ideas would be appreciated. Regards, John The name of the plungins is plugin_name_plugin.ext. To load a plugin use: mail_plugins = plugin_name Without the trailing _plugin. Which clients, except for telnet, supports the XCHANGEPASSWORD command? Regards, Pascal -- The trapper recommends today: c01dcofe.1021...@localdomain.org
Re: [Dovecot] error 89 when loading plugin
On 11:59 AM, John O'Brien wrote: dovecot.conf mail_plugins = change_passwd_plugin mail_plugin_dir = /usr/lib/dovecot/imap imap_capability = XCHANGEPASSWORD %ls -la /usr/lib/dovecot/imap ls -la /usr/lib/dovecot/imap total 28 drwxr-xr-x 2 root root 4096 Aug 1 16:03 . drwxr-xr-x 3 root root 4096 Aug 1 10:51 .. -rwxr-xr-x 1 root root 16969 Aug 1 16:03 change_passwd_plugin.so Try changing mail_plugins = change_passwd_plugin in dovecot.conf to mail_plugins = change_passwd -- Mark Sapiro m...@msapiro.netThe highway is for gamblers, San Francisco Bay Area, Californiabetter use your sense - B. Dylan
Re: [Dovecot] Error 89
Many thanks for the patch Got a clear error message this time. Dovecot had not been built with PAM support Starts up OK now, although still not working as I had hoped; may have to post again At 19:14 12/08/2008, you wrote: On Aug 8, 2008, at 3:55 AM, Hodges wrote: Just installed dovecot 1.1.2. downloaded from dovecot.org. Seemed to compile and install OK but I get the following error when I try to start it child 28410 (auth) returned error 89 (fatal failure) This shows that dovecot-auth process exited. Doesn't it show any other error message before that line? There was a bug related to the logging though, this patch should help for it: http://hg.dovecot.org/dovecot-1.1/rev/1dc2dd3cd902
Re: [Dovecot] Error 89
On Aug 8, 2008, at 3:55 AM, Hodges wrote: Just installed dovecot 1.1.2. downloaded from dovecot.org. Seemed to compile and install OK but I get the following error when I try to start it child 28410 (auth) returned error 89 (fatal failure) This shows that dovecot-auth process exited. Doesn't it show any other error message before that line? There was a bug related to the logging though, this patch should help for it: http://hg.dovecot.org/dovecot-1.1/rev/1dc2dd3cd902 PGP.sig Description: This is a digitally signed message part
[Dovecot] Error 89
Just installed dovecot 1.1.2. downloaded from dovecot.org. Seemed to compile and install OK but I get the following error when I try to start it child 28410 (auth) returned error 89 (fatal failure) I just want to use it for SMTP/SASL authorization, not Pop3 or IMAP, as yet It looks as though I haven't installed some component or other but what? Config file follows; # 1.1.2: /usr/local/etc/dovecot.conf protocols: none login_dir: /usr/local/var/run/dovecot/login login_executable: /usr/local/libexec/dovecot/imap-login auth default: mechanisms: plain login passdb: driver: pam userdb: driver: passwd socket: type: listen client: path: /var/spool/postfix/private/auth mode: 432 user: postfix group: postfix Steve