[Dovecot] error 89 when loading plugin

2010-08-01 Thread John O'Brien
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

2010-08-01 Thread Pascal Volk
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

2010-08-01 Thread Mark Sapiro
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