[Dovecot] clarify 'type', 'executable' & 'path' in 2.0 master.conf?
@2.0's master.conf, there's, e.g.,
service config { type= config executable =config unix_listener { path = config mode = 0666 } }
can someone please explain function/usage for the 'type', 'executable' & 'path' fields?
and, for any file paths, are the presumed to be _relative_ to the dovecot executable? in $PATH? can they accept full/absolute paths?
thanks.
On Oct 10, 2009, at 3:57 PM, PGNet Dev wrote:
There are a few internal special-case services and type specifies what
type it is. So with type=config Dovecot knows that to reload
configuration it needs to connect to that service.
executable is the binary name, relative to PKG_LIBEXECDIR. path inside
unix_listener is the path to the unix socket where to listen for
connections, relative to base_dir.
and, for any file paths, are the presumed to be _relative_ to the dovecot executable? in $PATH? can they accept full/absolute paths?
They don't use $PATH. Absolute paths are fine.
Thanks
In my mail server are hosted multiple domains, I need to create folders automatically only to users of certain domains, it is feasible to use the plugin "Autocreate" only for certain domains?
Thanks
Jose Luis
Invite your mail contacts to join your friends list with Windows Live Spaces. It's easy! http://spaces.live.com/spacesapi.aspx?wx_action=create&wx_url=/friends.aspx&...
Dear Sirs
Thanks for your reply, this is the configuration of dovecot:
1.1.16: /usr/local/etc/dovecot.conf
OS: Linux 2.6.9-67.0.15.plus.c4smp i686 CentOS release 4.6 (Final)
log_path: /var/log/dovecot.log listen: *:10143 ssl_listen: *:10943 disable_plaintext_auth: no login_dir: /usr/local/var/run/dovecot/login login_executable: /usr/local/libexec/dovecot/imap-login first_valid_uid: 89 last_valid_uid: 89 first_valid_gid: 89 last_valid_gid: 89 mail_uid: 89 mail_gid: 89 mail_location: maildir:~/Maildir mail_plugins: quota namespace: type: private separator: . prefix: INBOX. inbox: yes list: yes subscriptions: yes auth default: passdb: driver: checkpassword args: /usr/vpopmail/bin/vchkpw /usr/local/bin/vchkpw-wrapper.sh userdb: driver: prefetch args: uid=89 gid=89 home=/usr/vpopmail/domains/%d/%u plugin: quota: maildir quota_rule: ?:storage=0 quota_rule2: Trash:ignore
Thanks
Jose Luis
Explore the seven wonders of the world http://search.msn.com/results.aspx?q=7+wonders+world&mkt=en-US&form=QBRE
Dear Sirs,
I use as userdb, the following:
userdb: driver: prefetch args: uid=89 gid=89 home=/usr/vpopmail/domains/%d/%u
Dovecot -n
1.1.16: /usr/local/etc/dovecot.conf
OS: Linux 2.6.9-67.0.15.plus.c4smp i686 CentOS release 4.6 (Final)
log_path: /var/log/dovecot.log listen: *:10143 ssl_listen: *:10943 disable_plaintext_auth: no login_dir: /usr/local/var/run/dovecot/login login_executable: /usr/local/libexec/dovecot/imap-login first_valid_uid: 89 last_valid_uid: 89 first_valid_gid: 89 last_valid_gid: 89 mail_uid: 89 mail_gid: 89 mail_location: maildir:~/Maildir mail_plugins: quota namespace: type: private separator: . prefix: INBOX. inbox: yes list: yes subscriptions: yes auth default: passdb: driver: checkpassword args: /usr/vpopmail/bin/vchkpw /usr/local/bin/vchkpw-wrapper.sh userdb: driver: prefetch args: uid=89 gid=89 home=/usr/vpopmail/domains/%d/%u plugin: quota: maildir quota_rule: ?:storage=0 quota_rule2: Trash:ignore
How could create folders to users in certain domains by autocreate plugin?
Thanks
Jose Luis
Discover the new Windows Vista http://search.msn.com/results.aspx?q=windows+vista&mkt=en-US&form=QBRE
On Mon, 2009-10-12 at 15:48 -0500, Jose Luis Marin Perez wrote:
So basically you get the configuration from checkpassword script. You can change vchkpw-wrapper.sh to set environment variables:
AUTOCREATE=box1 AUTOCREATE2=box2 EXTRA=autocreate autocreate2 etc.
Insert your own logic there to figure out for what domains that needs to be done.
Dear Timo,
Thanks for your reply.
In the case of having two domains, eg:
dominio1.com dominio2.com
And I just want to use the plugin autocreate for dominio2.com, how could configure vchkpw-wrapper.sh?
This would be the same logic if I want to use the plugin expires for certain domains?
Thanks
Jose Luis
News, entertainment and everything you care about at Live.com. Get it now! http://www.live.com/getstarted.aspx
On Tue, 2009-10-13 at 14:45 -0500, Jose Luis Marin Perez wrote:
something like:
DOMAIN=echo $USER|sed s/^.*@//
if [ "$DOMAIN" = "domain2.com" ]; then
export AUTOCREATE=box1
export AUTOCREATE2=box2
export EXTRA="AUTOCREATE AUTOCREATE2"
fi
exec ...
Dear Timo,
I am currently using the vchkpw-wrapper.sh script to register users connected to the server.
So adding the configuration that tells me and would be as follows:
#!/bin/bash
DOMAIN=echo $USER|sed s/^.*@//
if [ "$DOMAIN" = "domain2.com" ]; then
export USERDB_AUTOCREATE=box1
export USERDB_AUTOCREATE2=box2
export EXTRA="USERDB_AUTOCREATE USERDB_AUTOCREATE2"
fi
unset USER exec $*
This properly configured?
This would be the same procedure for using any plugins (Example expires) in a certain domain?
Thanks
Jose Luis
Discover the new Windows Vista http://search.msn.com/results.aspx?q=windows+vista&mkt=en-US&form=QBRE
On Tue, 2009-10-13 at 15:31 -0500, Jose Luis Marin Perez wrote:
Looks right. Try and see.
This would be the same procedure for using any plugins (Example expires) in a certain domain?
Right. You can override any settings that way.
Dear Timo,
I tried with the script you mentioned and did not create the directories are configured.
Additionally I have made this modification:
#!/bin/bash
DOMAIN=echo $USER|sed s/^.*@//
if [ "$DOMAIN" = "domain2.com" ]; then
export USERDB_AUTOCREATE=INBOX.box1
export USERDB_AUTOCREATE2=INBOX.box2
export EXTRA="USERDB_AUTOCREATE USERDB_AUTOCREATE2"
fi
unset USER exec $*
But it does not work, and dovecot.log not log any information about the plugin autocreate
In that I am wrong?
Thanks
Jose Luis
dovecot -n
1.1.16: /usr/local/etc/dovecot.conf
OS: Linux 2.6.9-67.0.15.plus.c4smp i686 CentOS release 4.6 (Final)
log_path: /var/log/dovecot.log listen: *:10143 ssl_listen: *:10943 disable_plaintext_auth: no login_dir: /usr/local/var/run/dovecot/login login_executable: /usr/local/libexec/dovecot/imap-login first_valid_uid: 89 last_valid_uid: 89 first_valid_gid: 89 last_valid_gid: 89 mail_uid: 89 mail_gid: 89 mail_location: maildir:~/Maildir mail_debug: yes mail_plugins: quota imap_quota expire mail_log autocreate namespace: type: private separator: . prefix: INBOX. inbox: yes list: yes subscriptions: yes auth default: passdb: driver: checkpassword args: /usr/vpopmail/bin/vchkpw /usr/local/bin/vchkpw-wrapper.sh userdb: driver: prefetch args: uid=89 gid=89 home=/usr/vpopmail/domains/%d/%u userdb: driver: vpopmail socket: type: listen master: path: /usr/local/var/run/dovecot/auth-master mode: 384 user: vpopmail group: vchkpw plugin: quota: maildir quota_rule: ?:storage=0 quota_rule2: Trash:ignore expire: INBOX.Spam 1 INBOX.Spam.* 1 expire_dict: proxy::expire mail_log_events: delete undelete expunge copy mailbox_delete mail_log_group_events: mail_log_fields: uid box msgid size dict: expire: mysql:/usr/local/etc/dovecot-dict-expire.conf
Discover the new Windows Vista http://search.msn.com/results.aspx?q=windows+vista&mkt=en-US&form=QBRE
Dear Timo,
I added the line you mentioned
echo "yeah i got here" > /tmp/autocreate
and did not create the file /tmp/autocreate
This is the script with the real domain:
#!/bin/bash
DOMAIN=echo $USER|sed s/^.*@//
if [ "$DOMAIN" = "operaciones.qnet.com.pe" ]; then
export USERDB_AUTOCREATE=INBOX.spam1
export USERDB_AUTOCREATE2=INBOX.spam2
export EXTRA="USERDB_AUTOCREATE USERDB_AUTOCREATE2"
echo "yeah i got here" > /tmp/autocreate
fi
unset USER exec $*
What could be happening?
Thanks
Jose Luis
Discover the new Windows Vista http://search.msn.com/results.aspx?q=windows+vista&mkt=en-US&form=QBRE
Hi Timo,
These are the results:
more /tmp/autocreate jmarin jmarin
I'm using the mail account jmarin@operaciones.qnet.com.pe
vchkpw-wrapper.sh
#!/bin/bash
DOMAIN=echo $USER|sed s/^.*@//
echo $USER > /tmp/autocreate echo $DOMAIN >> /tmp/autocreate
if [ "$DOMAIN" = "operaciones.qnet.com.pe" ]; then export USERDB_AUTOCREATE=INBOX.spam1 export USERDB_AUTOCREATE2=INBOX.spam2 export EXTRA="USERDB_AUTOCREATE USERDB_AUTOCREATE2" echo "yeah i got here" >> /tmp/autocreate fi
unset USER exec $*
Thanks
Jose Luis
Explore the seven wonders of the world http://search.msn.com/results.aspx?q=7+wonders+world&mkt=en-US&form=QBRE
On Wed, 2009-10-14 at 11:37 -0500, Jose Luis Marin Perez wrote:
Oh, right, that's because of vchkpw that drops the @domain out of $USER. What if you simply comment out:
DOMAIN=
echo $USER|sed s/^.*@//
Maybe it sets $DOMAIN internally? If not, find out where the domain is:
set > /tmp/environment
Hi Timo,
This is the content of /tmp/Environment:
[root@ml110c ~]# more environment ANONYMOUS_USERNAME=anonymous AUTH_1_MASTER=/usr/local/var/run/dovecot/auth-master AUTH_1_MASTER_GROUP=vchkpw AUTH_1_MASTER_MODE=600 AUTH_1_MASTER_USER=vpopmail AUTH_NAME=default AUTH_WORKER_MAX_COUNT=30 AUTH_WORKER_MAX_REQUEST_COUNT=0 AUTH_WORKER_PATH=/usr/local/var/run/dovecot/auth-worker.13415 BASH=/bin/bash BASH_ARGC=([0]="1") BASH_ARGV=([0]="/usr/local/libexec/dovecot/checkpassword-reply") BASH_LINENO=([0]="0") BASH_SOURCE=([0]="/usr/local/bin/vchkpw-wrapper.sh") BASH_VERSINFO=([0]="3" [1]="00" [2]="15" [3]="1" [4]="release" [5]="i686-redhat-linux-gnu") BASH_VERSION='3.00.15(1)-release' CACHE_NEGATIVE_TTL=3600 CACHE_SIZE=0 CACHE_TTL=3600 DEFAULT_REALM= DIRSTACK=() DOMAIN=jmarin DOVECOT_MASTER=1 DOVECOT_VERSION=1.1.16 EUID=89 FAILURE_DELAY=2 GROUPS=() HOME=/usr/vpopmail/domains/operaciones.qnet.com.pe/jmarin HOSTNAME=ml110c.qnet.com.pe HOSTTYPE=i686 IFS=$' \t\n' LOCAL_IP=127.0.0.1 LOG_TO_MASTER=1 MACHTYPE=i686-redhat-linux-gnu MASTER_USER_SEPARATOR= MECHANISMS=plain OPTERR=1 OPTIND=1 OSTYPE=linux-gnu PASSDB_1_ARGS='/usr/vpopmail/bin/vchkpw /usr/local/bin/vchkpw-wrapper.sh' PASSDB_1_DRIVER=checkpassword PATH=/usr/local/bin:/bin:/usr/bin PIPESTATUS=([0]="0") PPID=13415 PROTO=TCP PS4='+ ' PWD=/usr/vpopmail/domains/operaciones.qnet.com.pe/jmarin REALMS= REMOTE_IP=127.0.0.1 RESTRICT_CHROOT= RESTRICT_GID_FIRST= RESTRICT_GID_LAST= RESTRICT_SETEXTRAGROUPS= RESTRICT_SETGID= RESTRICT_SETGID_PRIV= RESTRICT_SETUID= RESTRICT_USER= SERVICE=imap SHELL=NOLOGIN SHELLOPTS=braceexpand:hashall:interactive-comments SHLVL=1 SYSLOG_FACILITY=16 TCPLOCALIP=127.0.0.1 TCPLOCALPORT=10143 TCPREMOTEIP=127.0.0.1 TCPREMOTEPORT=38229 TERM=dumb UID=89 USER=jmarin USERDB_1_ARGS='uid=89 gid=89 home=/usr/vpopmail/domains/%d/%u' USERDB_1_DRIVER=prefetch USERDB_2_DRIVER=vpopmail USERNAME_CHARS=abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ01234567890.-_@ USERNAME_FORMAT= USERNAME_TRANSLATION= VERBOSE_DEBUG=1 VPOPUSER=jmarin@operaciones.qnet.com.pe WINBIND_HELPER_PATH=/usr/bin/ntlm_auth _=jmarin
and I noticed that where the mail account is in the variable VPOPUSER so I modified the script to:
#!/bin/bash
DOMAIN=echo $VPOPUSER|sed s/^.*@//
echo $USER > /tmp/autocreate echo $DOMAIN >> /tmp/autocreate
if [ "$DOMAIN" = "operaciones.qnet.com.pe" ]; then export USERDB_AUTOCREATE=INBOX.spam1 export USERDB_AUTOCREATE2=INBOX.spam2 export EXTRA="USERDB_AUTOCREATE USERDB_AUTOCREATE2" fi
unset USER exec $*
working correctly, just wanted to ask if I use the variable VPOPUSER not bring trouble?
Thanks
Jose Luis
Explore the seven wonders of the world http://search.msn.com/results.aspx?q=7+wonders+world&mkt=en-US&form=QBRE
Hi Timo,
This is the content of /tmp/Environment:
[root@ml110c ~]# more environment ANONYMOUS_USERNAME=anonymous AUTH_1_MASTER=/usr/local/var/run/dovecot/auth-master AUTH_1_MASTER_GROUP=vchkpw AUTH_1_MASTER_MODE=600 AUTH_1_MASTER_USER=vpopmail AUTH_NAME=default AUTH_WORKER_MAX_COUNT=30 AUTH_WORKER_MAX_REQUEST_COUNT=0 AUTH_WORKER_PATH=/usr/local/var/run/dovecot/auth-worker.13415 BASH=/bin/bash BASH_ARGC=([0]="1") BASH_ARGV=([0]="/usr/local/libexec/dovecot/checkpassword-reply") BASH_LINENO=([0]="0") BASH_SOURCE=([0]="/usr/local/bin/vchkpw-wrapper.sh") BASH_VERSINFO=([0]="3" [1]="00" [2]="15" [3]="1" [4]="release" [5]="i686-redhat-linux-gnu") BASH_VERSION='3.00.15(1)-release' CACHE_NEGATIVE_TTL=3600 CACHE_SIZE=0 CACHE_TTL=3600 DEFAULT_REALM= DIRSTACK=() DOMAIN=jmarin DOVECOT_MASTER=1 DOVECOT_VERSION=1.1.16 EUID=89 FAILURE_DELAY=2 GROUPS=() HOME=/usr/vpopmail/domains/operaciones.qnet.com.pe/jmarin HOSTNAME=ml110c.qnet.com.pe HOSTTYPE=i686 IFS=$' \t\n' LOCAL_IP=127.0.0.1 LOG_TO_MASTER=1 MACHTYPE=i686-redhat-linux-gnu MASTER_USER_SEPARATOR= MECHANISMS=plain OPTERR=1 OPTIND=1 OSTYPE=linux-gnu PASSDB_1_ARGS='/usr/vpopmail/bin/vchkpw /usr/local/bin/vchkpw-wrapper.sh' PASSDB_1_DRIVER=checkpassword PATH=/usr/local/bin:/bin:/usr/bin PIPESTATUS=([0]="0") PPID=13415 PROTO=TCP PS4='+ ' PWD=/usr/vpopmail/domains/operaciones.qnet.com.pe/jmarin REALMS= REMOTE_IP=127.0.0.1 RESTRICT_CHROOT= RESTRICT_GID_FIRST= RESTRICT_GID_LAST= RESTRICT_SETEXTRAGROUPS= RESTRICT_SETGID= RESTRICT_SETGID_PRIV= RESTRICT_SETUID= RESTRICT_USER= SERVICE=imap SHELL=NOLOGIN SHELLOPTS=braceexpand:hashall:interactive-comments SHLVL=1 SYSLOG_FACILITY=16 TCPLOCALIP=127.0.0.1 TCPLOCALPORT=10143 TCPREMOTEIP=127.0.0.1 TCPREMOTEPORT=38229 TERM=dumb UID=89 USER=jmarin USERDB_1_ARGS='uid=89 gid=89 home=/usr/vpopmail/domains/%d/%u' USERDB_1_DRIVER=prefetch USERDB_2_DRIVER=vpopmail USERNAME_CHARS=abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ01234567890.-_@ USERNAME_FORMAT= USERNAME_TRANSLATION= VERBOSE_DEBUG=1 VPOPUSER=jmarin@operaciones.qnet.com.pe WINBIND_HELPER_PATH=/usr/bin/ntlm_auth _=jmarin
and I noticed that where the mail account is in the variable VPOPUSER so I modified the script to:
#!/bin/bash
DOMAIN=echo $VPOPUSER|sed s/^.*@//
echo $USER > /tmp/autocreate echo $DOMAIN >> /tmp/autocreate
if [ "$DOMAIN" = "operaciones.qnet.com.pe" ]; then export USERDB_AUTOCREATE=INBOX.spam1 export USERDB_AUTOCREATE2=INBOX.spam2 export EXTRA="USERDB_AUTOCREATE USERDB_AUTOCREATE2" fi
unset USER exec $*
working correctly, just wanted to ask if I use the variable VPOPUSER not bring trouble?
Thanks
Jose Luis
Connect to the next generation of MSN Messenger http://imagine-msn.com/messenger/launch80/default.aspx?locale=en-us&source=w...
Thanks Timo.
News, entertainment and everything you care about at Live.com. Get it now! http://www.live.com/getstarted.aspx
Dear Timo,
I'm trying to extend the configuration of vchkpw-wrapper.sh script by adding the expire plugin as follows:
#!/bin/bash
DOMAIN=echo $VPOPUSER|sed s/^.*@//
if [ "$DOMAIN" = "operaciones.qnet.com.pe" ]; then export USERDB_AUTOCREATE=INBOX.Spam export USERDB_AUTOSUBSCRIBE=INBOX.Spam export USERDB_EXPIRE="INBOX.Spam 1 INBOX.Spam.* 1" export USERDB_EXPIRE_DICT="proxy::expire" export EXTRA="USERDB_AUTOCREATE USERDB_AUTOSUBSCRIBE USERDB_EXPIRE USERDB_EXPIRE_DICT" set > /tmp/environment fi
unset USER exec $*
In the database no problem
mysql> select * from expires; +-------------------------------------------+--------------+ | mailbox | expire_stamp | +-------------------------------------------+--------------+ | jmarin@operaciones.qnet.com.pe/INBOX.Spam | 1255701608 | +-------------------------------------------+--------------+ 1 row in set (0.00 sec)
But when you run the command
/usr/local/sbin/dovecot --exec-mail ext /usr/local/libexec/dovecot/expire-tool --test
Displays the following message
Fatal: expire and expire_altmove settings not set
That may be happening?
Thanks
Jose Luis
News, entertainment and everything you care about at Live.com. Get it now! http://www.live.com/getstarted.aspx
Dear Timo,
I'm trying to extend the configuration of vchkpw-wrapper.sh script by adding the expire plugin as follows:
#!/bin/bash
DOMAIN=echo $VPOPUSER|sed s/^.*@//
if [ "$DOMAIN" = "operaciones.qnet.com.pe" ]; then export USERDB_AUTOCREATE=INBOX.Spam export USERDB_AUTOSUBSCRIBE=INBOX.Spam export USERDB_EXPIRE="INBOX.Spam 1 INBOX.Spam.* 1" export USERDB_EXPIRE_DICT="proxy::expire" export EXTRA="USERDB_AUTOCREATE USERDB_AUTOSUBSCRIBE USERDB_EXPIRE USERDB_EXPIRE_DICT" set > /tmp/environment fi
unset USER exec $*
In the database no problem
mysql> select * from expires; +-------------------------------------------+--------------+ | mailbox | expire_stamp | +-------------------------------------------+--------------+ | jmarin@operaciones.qnet.com.pe/INBOX.Spam | 1255701608 | +-------------------------------------------+--------------+ 1 row in set (0.00 sec)
But when you run the command
/usr/local/sbin/dovecot --exec-mail ext /usr/local/libexec/dovecot/expire-tool --test
Displays the following message
Fatal: expire and expire_altmove settings not set
That may be happening?
Thanks
Jose Luis
News, entertainment and everything you care about at Live.com. Get it now! http://www.live.com/getstarted.aspx
Dear Sirs,
I'm trying to extend the configuration of vchkpw-wrapper.sh script by adding the expire plugin as follows:
#!/bin/bash
DOMAIN=echo $VPOPUSER|sed s/^.*@//
if [ "$DOMAIN" = "operaciones.qnet.com.pe" ]; then export USERDB_AUTOCREATE=INBOX.Spam export USERDB_AUTOSUBSCRIBE=INBOX.Spam export USERDB_EXPIRE="INBOX.Spam 1 INBOX.Spam.* 1" export USERDB_EXPIRE_DICT="proxy::expire" export EXTRA="USERDB_AUTOCREATE USERDB_AUTOSUBSCRIBE USERDB_EXPIRE USERDB_EXPIRE_DICT" fi
unset USER exec $*
In the database no problem
mysql> select * from expires; +-------------------------------------------+--------------+ | mailbox | expire_stamp | +-------------------------------------------+--------------+ | jmarin@operaciones.qnet.com.pe/INBOX.Spam | 1255701608 | +-------------------------------------------+--------------+ 1 row in set (0.00 sec)
But when you run the command
/usr/local/sbin/dovecot --exec-mail ext /usr/local/libexec/dovecot/expire-tool --test
Displays the following message
Fatal: expire and expire_altmove settings not set
That may be happening?
Thanks
Jose Luis
Explore the seven wonders of the world http://search.msn.com/results.aspx?q=7+wonders+world&mkt=en-US&form=QBRE
Dear Timo,
I'm trying to extend the configuration of vchkpw-wrapper.sh script by adding the expire plugin as follows:
#!/bin/bash
DOMAIN=echo $VPOPUSER|sed s/^.*@//
if [ "$DOMAIN" = "operaciones.qnet.com.pe" ]; then export USERDB_AUTOCREATE=INBOX.Spam export USERDB_AUTOSUBSCRIBE=INBOX.Spam export USERDB_EXPIRE="INBOX.Spam 1 INBOX.Spam.* 1" export USERDB_EXPIRE_DICT="proxy::expire" export EXTRA="USERDB_AUTOCREATE USERDB_AUTOSUBSCRIBE USERDB_EXPIRE USERDB_EXPIRE_DICT" fi
unset USER exec $*
In the database no problem
mysql> select * from expires; +-------------------------------------------+--------------+ | mailbox | expire_stamp | +-------------------------------------------+--------------+ | jmarin@operaciones.qnet.com.pe/INBOX.Spam | 1255701608 | +-------------------------------------------+--------------+ 1 row in set (0.00 sec)
But when you run the command
/usr/local/sbin/dovecot --exec-mail ext /usr/local/libexec/dovecot/expire-tool --test
Displays the following message
Fatal: expire and expire_altmove settings not set
That may be happening?
Thanks
Jose Luis
dovecot -n
1.1.16: /usr/local/etc/dovecot.conf
OS: Linux 2.6.9-67.0.15.plus.c4smp i686 CentOS release 4.6 (Final)
log_path: /var/log/dovecot.log listen: *:10143 ssl_listen: *:10943 disable_plaintext_auth: no login_dir: /usr/local/var/run/dovecot/login login_executable: /usr/local/libexec/dovecot/imap-login first_valid_uid: 89 last_valid_uid: 89 first_valid_gid: 89 last_valid_gid: 89 mail_uid: 89 mail_gid: 89 mail_location: maildir:~/Maildir mail_debug: yes mail_plugins: quota imap_quota expire mail_log autocreate namespace: type: private separator: . prefix: INBOX. inbox: yes list: yes subscriptions: yes auth default: debug: yes passdb: driver: checkpassword args: /usr/vpopmail/bin/vchkpw /usr/local/bin/vchkpw-wrapper.sh userdb: driver: prefetch args: uid=89 gid=89 home=/usr/vpopmail/domains/%d/%u userdb: driver: vpopmail socket: type: listen master: path: /usr/local/var/run/dovecot/auth-master mode: 384 user: vpopmail group: vchkpw plugin: quota: maildir quota_rule: ?:storage=0 quota_rule2: Trash:ignore expire_dict: proxy::expire mail_log_events: delete undelete expunge copy mailbox_delete mail_log_group_events: mail_log_fields: uid box msgid size dict: expire: mysql:/usr/local/etc/dovecot-dict-expire.conf
Discover the new Windows Vista http://search.msn.com/results.aspx?q=windows+vista&mkt=en-US&form=QBRE
On Thu, 2009-10-15 at 14:32 -0500, Jose Luis Marin Perez wrote:
The problem is that vchkpw-wrapper.sh is now run only when user is authenticating. expire-tool doesn't authenticate, it only does userdb lookup. So you'll need to have the script run for userdb lookups too:
passdb checkpassword { .. } userdb prefetch { } userdb checkpassword { args = /usr/local/bin/userdb.sh }
Then create /usr/local/bin/userdb.sh which does more or less what the vchkpw-wrapper.sh does, except since it doesn't call vchkpw itself, it'll need to get the username from $USER instead of $VPOPUSER.
http://wiki.dovecot.org/AuthDatabase/CheckPassword#Checkpassword_as_userdb explains this extension.
Hi timo,
This is the error that comes when adding userdb checkpassword
dovecot: Oct 16 10:13:53 Fatal: auth(default): Unknown userdb driver 'checkpassword' (typo, or Dovecot was built without support for it? Check with dovecot --build-options) dovecot: Oct 16 10:13:53 Fatal: Auth process died too early - shutting down
Running
dovecot - build-options
Build options: epoll ioloop = notify = dnotify ipv6 openssl Mail Storage: mbox maildir raw cydir dbox SQL drivers: mysql Passdb: vpopmail sql checkpassword Userdb: vpopmail sql prefetch
Checkpassword not compiled for userdb.
Excuse the dumb question, with that option adding to compile dovecot userdb checkpassword?
No information found about this.
Thanks
Jose Luis
Invite your mail contacts to join your friends list with Windows Live Spaces. It's easy! http://spaces.live.com/spacesapi.aspx?wx_action=create&wx_url=/friends.aspx&...
Dear sirs
I try to update dovecot from 1.1.16 to 1.2.6.
But when compiling dovecot 1.2.6 get the following error:
libtool: link: gcc -std=gnu99 -g -O2 -Wall -W -Wmissing-prototypes -Wmissing-declarations -Wpointer-arith -Wchar-subscripts -Wformat=2 -Wbad-function-cast -o dovecot-auth auth.o auth-cache.o auth-client-connection.o auth-master-connection.o auth-master-listener.o auth-request.o auth-request-handler.o auth-stream.o auth-worker-client.o auth-worker-server.o db-checkpassword.o db-sql.o db-passwd-file.o main.o mech.o mech-anonymous.o mech-plain.o mech-login.o mech-cram-md5.o mech-digest-md5.o mech-external.o mech-gssapi.o mech-ntlm.o mech-otp.o mech-skey.o mech-rpa.o mech-apop.o mech-winbind.o otp-skey-common.o plain-common.o passdb.o passdb-blocking.o passdb-bsdauth.o passdb-cache.o passdb-checkpassword.o passdb-passwd.o passdb-passwd-file.o passdb-pam.o passdb-shadow.o passdb-sia.o passdb-vpopmail.o passdb-sql.o userdb.o userdb-blocking.o userdb-checkpassword.o userdb-nss.o userdb-passwd.o userdb-passwd-file.o userdb-prefetch.o userdb-static.o userdb-vpopmail.o userdb-sql.o db-ldap.o passdb-ldap.o userdb-ldap.o -Wl,--export-dynamic libpassword.a ../lib-settings/libsettings.a ../lib-ntlm/libntlm.a ../lib-otp/libotp.a ../lib-sql/libsql.a ../lib/liblib.a -lpam -L/usr/vpopmail/lib -lvpopmail -L/usr/lib/mysql -lmysqlclient -lz -lm -lcrypt -ldl -lrt
userdb-vpopmail.o(.text+0x3e2): In function vpopmail_preinit': /usr/local/src/dovecot/dovecot-1.2.6/src/auth/userdb-vpopmail.c:163: undefined reference to
vauth_open'
collect2: ld returned 1 exit status
make[3]: *** [dovecot-auth] Error 1
make[3]: Leaving directory /usr/local/src/dovecot/dovecot-1.2.6/src/auth' make[2]: *** [all-recursive] Error 1 make[2]: Leaving directory
/usr/local/src/dovecot/dovecot-1.2.6/src'
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory `/usr/local/src/dovecot/dovecot-1.2.6'
make: *** [all] Error 2
I use:
CentOS 4.6 vpopmail 5.4.13
What could be wrong?
Thanks
Jose Luis
Connect to the next generation of MSN Messenger http://imagine-msn.com/messenger/launch80/default.aspx?locale=en-us&source=w...
Friends,
More information:
The problem is with dovecot 1.2.6 and 1.2.5
With Dovecot 1.2.4 no problems.
Thanks
Jose Luis
Explore the seven wonders of the world http://search.msn.com/results.aspx?q=7+wonders+world&mkt=en-US&form=QBRE
On Fri, 2009-10-16 at 11:56 -0500, Jose Luis Marin Perez wrote:
Hmm. I thought the vauth_open() would have been in older vpopmails too, since apparently it's required in vpopmail 5.5. Anyway, you're using checkpassword and vchkpw, so you don't need to compile vpopmail support in dovecot. Just don't use --with-vpopmail configure option.
Dear Timo,
For a problem with expire plugin and the command dovecot --exec-mail ext /usr/libexec/dovecot/expire-tool you recommended me configure userdb vpopmail and fix the problem.
How can I solve this problem?
Dovecot 1.2.4 has no problem to compile with vpopmail.
I can use this version?
Thanks
Jose Luis
dovecot-n
1.1.16: /usr/local/etc/dovecot.conf
OS: Linux 2.6.9-67.0.7.EL i686 CentOS release 4.6 (Final)
log_path: /var/log/dovecot.log listen: *:10143 ssl_listen: *:10943 login_dir: /usr/local/var/run/dovecot/login login_executable: /usr/local/libexec/dovecot/imap-login first_valid_uid: 89 last_valid_uid: 89 first_valid_gid: 89 last_valid_gid: 89 mail_uid: 89 mail_gid: 89 mail_location: maildir:~/Maildir mail_debug: yes mail_plugins: quota imap_quota autocreate expire mail_log mail_log_max_lines_per_sec: 0 namespace: type: private separator: . prefix: INBOX. inbox: yes list: yes subscriptions: yes auth default: passdb: driver: checkpassword args: /usr/vpopmail/bin/vchkpw /usr/local/bin/vchkpw-wrapper.sh userdb: driver: prefetch args: uid=89 gid=89 home=/usr/vpopmail/domains/%d/%u userdb: driver: vpopmail socket: type: listen master: path: /usr/local/var/run/dovecot/auth-master mode: 384 user: vpopmail group: vchkpw plugin: quota: maildir quota_rule: ?:storage=0 quota_rule2: Trash:ignore quota_rule3: Papelera:ignore expire: INBOX.Papelera 1 INBOX.Papelera.* 1 expire_dict: proxy::expire mail_log_events: delete undelete expunge copy mailbox_delete mail_log_group_events: mail_log_fields: uid box msgid size autocreate: INBOX.Papelera autosubscribe: INBOX.Papelera dict: expire: mysql:/usr/local/etc/dovecot-dict-expire.conf
Invite your mail contacts to join your friends list with Windows Live Spaces. It's easy! http://spaces.live.com/spacesapi.aspx?wx_action=create&wx_url=/friends.aspx&...
Dear Timo
Finally and thanks to you, I could install Dovecot 1.2.6 with support for userdb checkpassword
How can I configure the script userdb.sh?
Thanks
Jose Luis
dovecot -n
1.2.6: /usr/local/etc/dovecot.conf
OS: Linux 2.6.9-67.0.15.plus.c4smp i686 CentOS release 4.6 (Final)
log_path: /var/log/dovecot.log listen: *:10143 ssl_listen: *:10943 disable_plaintext_auth: no login_dir: /usr/local/var/run/dovecot/login login_executable: /usr/local/libexec/dovecot/imap-login first_valid_uid: 89 last_valid_uid: 89 first_valid_gid: 89 last_valid_gid: 89 mail_uid: 89 mail_gid: 89 mail_location: maildir:~/Maildir mail_debug: yes mail_plugins: quota imap_quota expire mail_log autocreate namespace: type: private separator: . prefix: INBOX. inbox: yes list: yes subscriptions: yes lda: postmaster_address: postmaster@example.com auth default: debug: yes passdb: driver: checkpassword args: /usr/vpopmail/bin/vchkpw /usr/local/bin/vchkpw-wrapper.sh userdb: driver: prefetch userdb: driver: checkpassword args: /usr/local/bin/userdb.sh socket: type: listen master: path: /usr/local/var/run/dovecot/auth-master mode: 384 user: vpopmail group: vchkpw plugin: quota: maildir quota_rule: ?:storage=0 quota_rule2: Trash:ignore mail_log_events: delete undelete expunge copy mailbox_delete mail_log_group_events: mail_log_fields: uid box msgid size dict: expire: mysql:/usr/local/etc/dovecot-dict-expire.conf
Invite your mail contacts to join your friends list with Windows Live Spaces. It's easy! http://spaces.live.com/spacesapi.aspx?wx_action=create&wx_url=/friends.aspx&...
Dear Timo,
I added the line you mentioned
echo "yeah i got here" > /tmp/autocreate
and did not create the file /tmp/autocreate
This is the script with the real domain:
#!/bin/bash
DOMAIN=echo $USER|sed s/^.*@//
if [ "$DOMAIN" = "operaciones.qnet.com.pe" ]; then
export USERDB_AUTOCREATE=INBOX.spam1
export USERDB_AUTOCREATE2=INBOX.spam2
export EXTRA="USERDB_AUTOCREATE USERDB_AUTOCREATE2"
echo "yeah i got here" > /tmp/autocreate
fi
unset USER exec $*
What could be happening?
Thanks
Jose Luis
Invite your mail contacts to join your friends list with Windows Live Spaces. It's easy! http://spaces.live.com/spacesapi.aspx?wx_action=create&wx_url=/friends.aspx&...
Dear Sirs
Yesterday consulted regarding autocreate plugin.
Userdb is configured as prefetch and vpopmail.
I need to configure the plugin autocreate for users of some domains that have hosted on the server.
How can I configure it?
Thanks
Jose Luis
dovecot -n
1.1.16: /usr/local/etc/dovecot.conf
OS: Linux 2.6.9-67.0.15.plus.c4smp i686 CentOS release 4.6 (Final)
log_path: /var/log/dovecot.log listen: *:10143 ssl_listen: *:10943 disable_plaintext_auth: no login_dir: /usr/local/var/run/dovecot/login login_executable: /usr/local/libexec/dovecot/imap-login first_valid_uid: 89 last_valid_uid: 89 first_valid_gid: 89 last_valid_gid: 89 mail_uid: 89 mail_gid: 89 mail_location: maildir:~/Maildir mail_debug: yes mail_plugins: quota imap_quota expire mail_log namespace: type: private separator: . prefix: INBOX. inbox: yes list: yes subscriptions: yes auth default: passdb: driver: checkpassword args: /usr/vpopmail/bin/vchkpw /usr/local/bin/vchkpw-wrapper.sh userdb: driver: prefetch args: uid=89 gid=89 home=/usr/vpopmail/domains/%d/%u userdb: driver: vpopmail socket: type: listen master: path: /usr/local/var/run/dovecot/auth-master mode: 384 user: vpopmail group: vchkpw plugin: quota: maildir quota_rule: ?:storage=0 quota_rule2: Trash:ignore expire: INBOX.Spam 1 INBOX.Spam.* 1 expire_dict: proxy::expire mail_log_events: delete undelete expunge copy mailbox_delete mail_log_group_events: mail_log_fields: uid box msgid size dict: expire: mysql:/usr/local/etc/dovecot-dict-expire.conf
Connect to the next generation of MSN Messenger http://imagine-msn.com/messenger/launch80/default.aspx?locale=en-us&source=w...
On 10/12/2009 09:59 PM Jose Luis Marin Perez wrote:
Please don't hijack threads. See: http://dovecot.org/list/dovecot/2009-July/041704.html
Regards, Pascal
The trapper recommends today: beeffeed.0928522@localdomain.org
On Sat, Oct 10, 2009 at 1:25 PM, Timo Sirainen <tss@iki.fi> wrote:
executable is the binary name, relative to PKG_LIBEXECDIR
if relative to PKG_LIBEXECDIR, and $PATH is not used, are the examples in master.conf, e.g.,
# executable = gdbhelper /usr/libexec/dovecot/imap
correct? or should rather be,
# executable = /full/system/path/to/gdbhelper
/usr/libexec/dovecot/imap
?
On Sat, Oct 10, 2009 at 1:53 PM, Timo Sirainen <tss@iki.fi> wrote:
gdbhelper is also in PKG_LIBEXECDIR.
ok, so i didn't realize that. my mistake. full paths, then, for stuff NOT in libexecdir.
thanks.
participants (4)
-
Jose Luis Marin Perez
-
Pascal Volk
-
PGNet Dev
-
Timo Sirainen