Re: [Dovecot] error 89 when loading plugin

2010-08-04 Thread Timo Sirainen
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

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

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



Re: [Dovecot] Error 89

2008-08-16 Thread Hodges

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

2008-08-12 Thread Timo Sirainen

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

2008-08-08 Thread Hodges
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