[Dovecot] FreeBSD - dovecot: We couldn't drop root group privileges
Hi, I installed Dovecot on FreeBSD 4-STABLE machine and have a problem.
MTA is postfix delivering to ~/Maildir, runs perfectly.
Dovecot is configured to use plaintext auth, config file is at the end of this mail.
When trying to get mail via IMAP, I'm getting the following errors:
/var/log/dovecot.log
Aug 24 12:00:35 Info: Dovecot starting up Aug 24 12:00:51 Info: Login: goshik [193.233.44.234]
/var/log/maillog
Aug 24 12:00:51 banka dovecot: We couldn't drop root group privileges Aug 24 12:00:51 banka imap(goshik): child 2045 (imap) returned error 89
Am I missing something? What was done incorrectly?
Help please, Igor
/usr/local/etc/dovecot.conf
## Dovecot 1.0 configuration file
#base_dir = /var/run/dovecot/
protocols = imap pop3 imap_listen = 193.233.44.213 pop3_listen = 193.233.44.213 ssl_disable = yes
#disable_plaintext_auth = no
#log_path = info_log_path = /var/log/dovecot.log #login_dir = /var/run/dovecot/login #login_chroot = yes
login = imap login_user = dovecot
login = pop3
#max_mail_processes = 1024 verbose_proctitle = yes #verbose_ssl = no #first_valid_uid = 500 #last_valid_uid = 0 first_valid_gid = 0 #last_valid_gid = 0
valid_chroot_dirs = /var/mail #mail_chroot =
default_mail_env = maildir:%h/Maildir
#mail_cache_fields = MessagePart #mail_never_cache_fields =
client_workarounds = oe6-fetch-no-newmail outlook-idle outlook-pop3-no-nuls
#mail_full_filesystem_access = no #mail_max_flag_length = 50 #mail_save_crlf = no #mail_read_mmaped = no
#maildir_stat_dirs = no maildir_copy_with_hardlinks = yes #maildir_check_content_changes = no
#umask = 0077
mail_drop_priv_before_exec = no
#imap_executable = /usr/local/libexec/dovecot/imap #imap_process_size = 256 #imap_use_modules = no #imap_modules = /usr/local/lib/dovecot/imap
#pop3_executable = /usr/local/libexec/dovecot/pop3 #pop3_process_size = 256 #pop3_use_modules = no #pop3_modules = /usr/local/lib/dovecot/pop3
auth = default auth_mechanisms = plain #auth_realms = #auth_default_realm = auth_userdb = passwd auth_passdb = passwd #auth_executable = /usr/local/libexec/dovecot/dovecot-auth #auth_process_size = 256 auth_user = root #auth_chroot = #auth_count = 1 #auth_username_chars = abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ01234567890.-_@ #auth_anonymous_username = anonymous auth_verbose = yes
#auth = digest_md5 #auth_methods = digest-md5 #auth_realms = #auth_userdb = passwd-file /etc/passwd.imap #auth_passdb = passwd-file /etc/passwd.imap #auth_user = imapauth #auth_chroot =
In addition to my previous mail:
Here is strace of dovecot-auth
8103 gettimeofday({1093361203, 316780}, NULL) = 0 8103 poll([{fd=3, events=POLLIN|POLLPRI|POLLERR|POLLHUP|POLLNVAL}, {fd=0, events=POLLIN|POLLPRI|POLLERR|POLLHUP|POLLNVAL}, {fd=12, events=POLLIN|POLLPRI|POLLERR|POLLHUP|POLLNVAL}, {fd=7, events=POLLIN|POLLPRI|POLLERR|POLLHUP|POLLNVAL}, {fd=9, events=POLLIN|POLLPRI|POLLERR|POLLHUP|POLLNVAL, revents=POLLIN}, {fd=10, events=POLLIN|POLLPRI|POLLERR|POLLHUP|POLLNVAL}, {fd=11, events=POLLIN|POLLPRI|POLLERR|POLLHUP|POLLNVAL}, {fd=8, events=POLLIN|POLLPRI|POLLERR|POLLHUP|POLLNVAL}], 8, 4999) = 1 8103 gettimeofday({1093361207, 953058}, {0, 0}) = 0 8103 read(9, "\1\0\0\0\1\0\0\0\1\0\0\0\1\0\0\0", 4092) = 16 8103 write(9, "\1\0\0\0\1\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0", 20) = 20 8103 gettimeofday({1093361207, 953333}, NULL) = 0 8103 poll([{fd=3, events=POLLIN|POLLPRI|POLLERR|POLLHUP|POLLNVAL}, {fd=0, events=POLLIN|POLLPRI|POLLERR|POLLHUP|POLLNVAL}, {fd=12, events=POLLIN|POLLPRI|POLLERR|POLLHUP|POLLNVAL}, {fd=7, events=POLLIN|POLLPRI|POLLERR|POLLHUP|POLLNVAL}, {fd=9, events=POLLIN|POLLPRI|POLLERR|POLLHUP|POLLNVAL, revents=POLLIN}, {fd=10, events=POLLIN|POLLPRI|POLLERR|POLLHUP|POLLNVAL}, {fd=11, events=POLLIN|POLLPRI|POLLERR|POLLHUP|POLLNVAL}, {fd=8, events=POLLIN|POLLPRI|POLLERR|POLLHUP|POLLNVAL}], 8, 362) = 1 8103 gettimeofday({1093361207, 953510}, {0, 0}) = 0 8103 read(9, "\2\0\0\0\1\0\0\0\20\0\0\0\0goshik\0cug83air", 4076) = 28 8103 geteuid(0x2821d7ac) = 0 8103 stat("/etc/spwd.db", {st_mode=S_IFREG|0600, st_size=57344, ...}) = 0 8103 open("/etc/spwd.db", O_RDONLY) = 13 8103 fcntl(13, F_SETFD, FD_CLOEXEC) = 0 8103 read(13, "\0\6\25a\0\0\0\2\0\0\4\322\0\0\20\0\0\0\0\f\0\0\1\0\0\0"..., 260) = 260 8103 lseek(13, 28672, SEEK_SET) = 28672 8103 read(13, "L\0\373\17\302\17\275\17u\17o\17\'\17\"\17\347\16\342\16"..., 4096) = 4096 8103 close(13) = 0 8103 write(9, "\1\0\0\0\2\0\0\0\0\0\0\0\377\377\377\377\7\0\0\0", 20) = 20 8103 write(9, "goshik\0", 7) = 7 8103 gettimeofday({1093361207, 956126}, NULL) = 0 8103 poll([{fd=3, events=POLLIN|POLLPRI|POLLERR|POLLHUP|POLLNVAL}, {fd=0, events=POLLIN|POLLPRI|POLLERR|POLLHUP|POLLNVAL, revents=POLLIN}, {fd=12, events=POLLIN|POLLPRI|POLLERR|POLLHUP|POLLNVAL}, {fd=7, events=POLLIN|POLLPRI|POLLERR|POLLHUP|POLLNVAL}, {fd=9, events=POLLIN|POLLPRI|POLLERR|POLLHUP|POLLNVAL}, {fd=10, events=POLLIN|POLLPRI|POLLERR|POLLHUP|POLLNVAL}, {fd=11, events=POLLIN|POLLPRI|POLLERR|POLLHUP|POLLNVAL}, {fd=8, events=POLLIN|POLLPRI|POLLERR|POLLHUP|POLLNVAL}], 8, 359) = 1 8103 gettimeofday({1093361207, 956281}, {0, 0}) = 0 8103 recvfrom(0, "\10\0\0\0\1\0\0\0\336\37\0\0", 12, 0, NULL, NULL) = 12 8103 geteuid(0x2821d7ac) = 0 8103 stat("/etc/spwd.db", {st_mode=S_IFREG|0600, st_size=57344, ...}) = 0 8103 open("/etc/spwd.db", O_RDONLY) = 13 8103 fcntl(13, F_SETFD, FD_CLOEXEC) = 0 8103 read(13, "\0\6\25a\0\0\0\2\0\0\4\322\0\0\20\0\0\0\0\f\0\0\1\0\0\0"..., 260) = 260 8103 lseek(13, 28672, SEEK_SET) = 28672 8103 read(13, "L\0\373\17\302\17\275\17u\17o\17\'\17\"\17\347\16\342\16"..., 4096) = 4096 8103 close(13) = 0 8103 write(0, "\10\0\0\0\1\0\0\0\351\3\0\0\0\0\0\0\0\0\0\0\7\0\0\0\16"..., 67) = 67 8103 gettimeofday({1093361207, 960232}, NULL) = 0 8103 poll([{fd=3, events=POLLIN|POLLPRI|POLLERR|POLLHUP|POLLNVAL}, {fd=0, events=POLLIN|POLLPRI|POLLERR|POLLHUP|POLLNVAL}, {fd=12, events=POLLIN|POLLPRI|POLLERR|POLLHUP|POLLNVAL}, {fd=7, events=POLLIN|POLLPRI|POLLERR|POLLHUP|POLLNVAL}, {fd=9, events=POLLIN|POLLPRI|POLLERR|POLLHUP|POLLNVAL, revents=POLLIN}, {fd=10, events=POLLIN|POLLPRI|POLLERR|POLLHUP|POLLNVAL}, {fd=11, events=POLLIN|POLLPRI|POLLERR|POLLHUP|POLLNVAL}, {fd=8, events=POLLIN|POLLPRI|POLLERR|POLLHUP|POLLNVAL}], 8, 355) = 1 8103 gettimeofday({1093361207, 960600}, {0, 0}) = 0 8103 read(9, "", 4048) = 0 8103 close(9) = 0 8103 gettimeofday({1093361207, 960834}, NULL) = 0 8103 poll([{fd=3, events=POLLIN|POLLPRI|POLLERR|POLLHUP|POLLNVAL}, {fd=0, events=POLLIN|POLLPRI|POLLERR|POLLHUP|POLLNVAL}, {fd=12, events=POLLIN|POLLPRI|POLLERR|POLLHUP|POLLNVAL}, {fd=7, events=POLLIN|POLLPRI|POLLERR|POLLHUP|POLLNVAL}, {fd=8, events=POLLIN|POLLPRI|POLLERR|POLLHUP|POLLNVAL}, {fd=10, events=POLLIN|POLLPRI|POLLERR|POLLHUP|POLLNVAL}, {fd=11, events=POLLIN|POLLPRI|POLLERR|POLLHUP|POLLNVAL}], 7, 355) = 0 8103 gettimeofday({1093361208, 326562}, {0, 0}) = 0 8103 gettimeofday({1093361208, 326643}, NULL) = 0 8103 poll([{fd=3, events=POLLIN|POLLPRI|POLLERR|POLLHUP|POLLNVAL}, {fd=0, events=POLLIN|POLLPRI|POLLERR|POLLHUP|POLLNVAL}, {fd=12, events=POLLIN|POLLPRI|POLLERR|POLLHUP|POLLNVAL}, {fd=7, events=POLLIN|POLLPRI|POLLERR|POLLHUP|POLLNVAL}, {fd=8, events=POLLIN|POLLPRI|POLLERR|POLLHUP|POLLNVAL}, {fd=10, events=POLLIN|POLLPRI|POLLERR|POLLHUP|POLLNVAL}, {fd=11, events=POLLIN|POLLPRI|POLLERR|POLLHUP|POLLNVAL}], 7, 0) = 0 8103 gettimeofday({1093361208, 326799}, {0, 0}) = 0 8103 gettimeofday({1093361208, 326888}, NULL) = 0 8103 poll([{fd=3, events=POLLIN|POLLPRI|POLLERR|POLLHUP|POLLNVAL, revents=POLLIN}, {fd=0, events=POLLIN|POLLPRI|POLLERR|POLLHUP|POLLNVAL}, {fd=12, events=POLLIN|POLLPRI|POLLERR|POLLHUP|POLLNVAL}, {fd=7, events=POLLIN|POLLPRI|POLLERR|POLLHUP|POLLNVAL}, {fd=8, events=POLLIN|POLLPRI|POLLERR|POLLHUP|POLLNVAL}, {fd=10, events=POLLIN|POLLPRI|POLLERR|POLLHUP|POLLNVAL}, {fd=11, events=POLLIN|POLLPRI|POLLERR|POLLHUP|POLLNVAL}], 7, 4999) = 1 8103 gettimeofday({1093361208, 620235}, {0, 0}) = 0 8103 accept(3, {sa_family=AF_UNIX, path=@}, [16]) = 9 8103 fcntl(9, F_GETFL) = 0x6 (flags O_RDWR|O_NONBLOCK) 8103 fcntl(9, F_SETFL, O_RDWR|O_NONBLOCK) = 0 8103 fstat(9, {st_mode=S_IFSOCK|0666, st_size=4, ...}) = 0 8103 lseek(9, 0, SEEK_CUR) = -1 ESPIPE (Illegal seek) 8103 getsockname(9, {sa_family=AF_UNIX, path="/var/run/dovecot/login/def0ыїїф "}, [28]) = 0 ^^^^^^^^^^^^^^^^^ Oops! What's this?
8103 write(9, "\247\37\0\0\1\0\0\0", 8) = 8 8103 gettimeofday({1093361208, 620917}, NULL) = 0 8103 poll([{fd=3, events=POLLIN|POLLPRI|POLLERR|POLLHUP|POLLNVAL}, {fd=0, events=POLLIN|POLLPRI|POLLERR|POLLHUP|POLLNVAL}, {fd=12, events=POLLIN|POLLPRI|POLLERR|POLLHUP|POLLNVAL}, {fd=7, events=POLLIN|POLLPRI|POLLERR|POLLHUP|POLLNVAL}, {fd=8, events=POLLIN|POLLPRI|POLLERR|POLLHUP|POLLNVAL}, {fd=10, events=POLLIN|POLLPRI|POLLERR|POLLHUP|POLLNVAL}, {fd=11, events=POLLIN|POLLPRI|POLLERR|POLLHUP|POLLNVAL}, {fd=9, events=POLLIN|POLLPRI|POLLERR|POLLHUP|POLLNVAL, revents=POLLIN}], 8, 4705) = 1 8103 gettimeofday({1093361208, 621073}, {0, 0}) = 0 8103 read(9, "\2320\0\0", 4096) = 4 8103 gettimeofday({1093361208, 621228}, NULL) = 0 8103 poll([{fd=3, events=POLLIN|POLLPRI|POLLERR|POLLHUP|POLLNVAL}, {fd=0, events=POLLIN|POLLPRI|POLLERR|POLLHUP|POLLNVAL}, {fd=12, events=POLLIN|POLLPRI|POLLERR|POLLHUP|POLLNVAL}, {fd=7, events=POLLIN|POLLPRI|POLLERR|POLLHUP|POLLNVAL}, {fd=8, events=POLLIN|POLLPRI|POLLERR|POLLHUP|POLLNVAL}, {fd=10, events=POLLIN|POLLPRI|POLLERR|POLLHUP|POLLNVAL}, {fd=11, events=POLLIN|POLLPRI|POLLERR|POLLHUP|POLLNVAL}, {fd=9, events=POLLIN|POLLPRI|POLLERR|POLLHUP|POLLNVAL}], 8, 4704) = 0
And here is how paths in /var are looking:
/var/mail: total 2 -rw------- 1 dovecot dovecot 0 23 Aug 20:32 dovecot drwxr-xr-x 2 goshik network 512 24 Aug 18:34 goshik -rw------- 1 postfix postfix 0 23 Aug 16:59 postfix
/var/run/dovecot/login: total 0 srw-rw---- 1 root dovecot 0 24 Aug 18:58 default
I also straced dovecot process, but it showed no visible (to me) errors.
TIA, Igor
On Tue, 2004-08-24 at 19:52 +0400, Igor B. Bykhalo wrote:
8103 getsockname(9, {sa_family=AF_UNIX, path="/var/run/dovecot/login/def0ыїїф "}, [28]) = 0 ^^^^^^^^^^^^^^^^^ Oops! What's this?
I wondered about the same thing some time ago. I'm not really sure why it looks like that. Maybe I should look into it.
Anyway, the fix for your problem is to not use wheel group as the primary group for your user in /etc/passwd, rather move the user to wheel group in /etc/group and use some other primary group.
There should have been different error message for this, but I'm not sure why it doesn't work. I should look into that too :)
Also setting first_valid_gid=0 should work around this, but that doesn't currently work either.
Hello Timo,
Tuesday, August 24, 2004, 8:21:06 PM, you wrote:
On Tue, 2004-08-24 at 19:52 +0400, Igor B. Bykhalo wrote:
8103 getsockname(9, {sa_family=AF_UNIX, path="/var/run/dovecot/login/def0ыїїф "}, [28]) = 0 ^^^^^^^^^^^^^^^^^ Oops! What's this?
I wondered about the same thing some time ago. I'm not really sure why it looks like that. Maybe I should look into it.
Anyway, the fix for your problem is to not use wheel group as the primary group for your user in /etc/passwd, rather move the user to wheel group in /etc/group and use some other primary group.
Thank you very much, that worked indeed.
There should have been different error message for this, but I'm not sure why it doesn't work. I should look into that too :)
Also setting first_valid_gid=0 should work around this, but that doesn't currently work either.
Thanks, Igor B. Bykhalo
P.S. I also wrote earlier:
I also straced dovecot process, but it showed no visible (to me) errors.
Well, this was untrue - here is output of strace -fF -p
8102 poll([{fd=12, events=POLLIN|POLLPRI|POLLERR|POLLHUP|POLLNVAL}, {fd=18, events=POLLIN|POLLPRI|POLLERR|POLLHUP|POLLNVAL}, {fd=13, events=POLLIN|POLLPRI|POLLERR|POLLHUP|POLLNVAL}, {fd=14, events=POLLIN|POLLPRI|POLLERR|POLLHUP|POLLNVAL}, {fd=16, events=POLLIN|POLLPRI|POLLERR|POLLHUP|POLLNVAL}, {fd=17, events=POLLIN|POLLPRI|POLLERR|POLLHUP|POLLNVAL}, {fd=15, events=POLLIN|POLLPRI|POLLERR|POLLHUP|POLLNVAL}], 7, 99) = 0 8102 gettimeofday({1093360394, 200640}, {0, 0}) = 0 8102 gettimeofday({1093360394, 200723}, NULL) = 0 8102 poll([{fd=12, events=POLLIN|POLLPRI|POLLERR|POLLHUP|POLLNVAL}, {fd=18, events=POLLIN|POLLPRI|POLLERR|POLLHUP|POLLNVAL}, {fd=13, events=POLLIN|POLLPRI|POLLERR|POLLHUP|POLLNVAL}, {fd=14, events=POLLIN|POLLPRI|POLLERR|POLLHUP|POLLNVAL}, {fd=16, events=POLLIN|POLLPRI|POLLERR|POLLHUP|POLLNVAL}, {fd=17, events=POLLIN|POLLPRI|POLLERR|POLLHUP|POLLNVAL}, {fd=15, events=POLLIN|POLLPRI|POLLERR|POLLHUP|POLLNVAL}], 7, 0) = 0 8102 gettimeofday({1093360394, 200884}, {0, 0}) = 0 8102 wait4(-1, 0xbfbffabc, WNOHANG, NULL) = 0 8102 gettimeofday({1093360394, 201037}, NULL) = 0 8102 poll([{fd=12, events=POLLIN|POLLPRI|POLLERR|POLLHUP|POLLNVAL}, {fd=18, events=POLLIN|POLLPRI|POLLERR|POLLHUP|POLLNVAL}, {fd=13, events=POLLIN|POLLPRI|POLLERR|POLLHUP|POLLNVAL}, {fd=14, events=POLLIN|POLLPRI|POLLERR|POLLHUP|POLLNVAL}, {fd=16, events=POLLIN|POLLPRI|POLLERR|POLLHUP|POLLNVAL}, {fd=17, events=POLLIN|POLLPRI|POLLERR|POLLHUP|POLLNVAL}, {fd=15, events=POLLIN|POLLPRI|POLLERR|POLLHUP|POLLNVAL}], 7, 98) = 0 [... All the same ...] 8102 wait4(-1, 0xbfbffabc, WNOHANG, NULL) = 0 8102 gettimeofday({1093360417, 941767}, NULL) = 0 8102 poll([{fd=12, events=POLLIN|POLLPRI|POLLERR|POLLHUP|POLLNVAL}, {fd=18, events=POLLIN|POLLPRI|POLLERR|POLLHUP|POLLNVAL}, {fd=13, events=POLLIN|POLLPRI|POLLERR|POLLHUP|POLLNVAL}, {fd=14, events=POLLIN|POLLPRI|POLLERR|POLLHUP|POLLNVAL, revents=POLLIN}, {fd=16, events=POLLIN|POLLPRI|POLLERR|POLLHUP|POLLNVAL}, {fd=17, events=POLLIN|POLLPRI|POLLERR|POLLHUP|POLLNVAL}, {fd=15, events=POLLIN|POLLPRI|POLLERR|POLLHUP|POLLNVAL}], 7, 99) = 1 8102 gettimeofday({1093360418, 1340}, {0, 0}) = 0 8102 recvmsg(14, {msg_name(0)=NULL, msg_iov(1)=[{"\6\0\0\0\247\37\0\0\1\0\0\0\2\0\277\277\301\351,\352\244"..., 32}], msg_controllen=16, msg_control=0xbfbffa84, , msg_flags=0}, 0) = 32 8102 fcntl(19, F_GETFD) = 0 8102 fcntl(19, F_SETFD, FD_CLOEXEC) = 0 8102 write(12, "\7\0\0\0\1\0\0\0\334\37\0\0", 12) = 12 8102 gettimeofday({1093360418, 1817}, NULL) = 0 8102 poll([{fd=12, events=POLLIN|POLLPRI|POLLERR|POLLHUP|POLLNVAL, revents=POLLIN}, {fd=18, events=POLLIN|POLLPRI|POLLERR|POLLHUP|POLLNVAL}, {fd=13, events=POLLIN|POLLPRI|POLLERR|POLLHUP|POLLNVAL}, {fd=14, events=POLLIN|POLLPRI|POLLERR|POLLHUP|POLLNVAL}, {fd=16, events=POLLIN|POLLPRI|POLLERR|POLLHUP|POLLNVAL}, {fd=17, events=POLLIN|POLLPRI|POLLERR|POLLHUP|POLLNVAL}, {fd=15, events=POLLIN|POLLPRI|POLLERR|POLLHUP|POLLNVAL}], 7, 39) = 1 8102 gettimeofday({1093360418, 1974}, {0, 0}) = 0 8102 read(12, "\7\0\0\0\1\0\0\0\351\3\0\0\0\0\0\0\0\0\0\0\7\0\0\0\16\0"..., 3693) = 67 8102 fork() = 12406 8102 write(14, "\6\0\0\0\1\0\0\0", 8) = 8 12406 exit(89) = ? 8102 --- SIGCHLD (Child exited) --- 8102 close(19) = 0 8102 gettimeofday({1093360418, 15478}, NULL) = 0 8102 poll([{fd=12, events=POLLIN|POLLPRI|POLLERR|POLLHUP|POLLNVAL}, {fd=18, events=POLLIN|POLLPRI|POLLERR|POLLHUP|POLLNVAL}, {fd=13, events=POLLIN|POLLPRI|POLLERR|POLLHUP|POLLNVAL}, {fd=14, events=POLLIN|POLLPRI|POLLERR|POLLHUP|POLLNVAL, revents=POLLIN}, {fd=16, events=POLLIN|POLLPRI|POLLERR|POLLHUP|POLLNVAL}, {fd=17, events=POLLIN|POLLPRI|POLLERR|POLLHUP|POLLNVAL}, {fd=15, events=POLLIN|POLLPRI|POLLERR|POLLHUP|POLLNVAL}], 7, 25) = 1 8102 gettimeofday({1093360418, 15713}, {0, 0}) = 0 8102 recvmsg(14, {msg_name(0)=NULL, msg_iov(1)=[{"$\374\277\277c\335\4\10\300\320\5\10\34\374\277\277h>\0"..., 32}], msg_controllen=0, msg_flags=0}, 0) = 0 8102 close(14) = 0 8102 gettimeofday({1093360418, 16101}, NULL) = 0 8102 poll([{fd=12, events=POLLIN|POLLPRI|POLLERR|POLLHUP|POLLNVAL}, {fd=18, events=POLLIN|POLLPRI|POLLERR|POLLHUP|POLLNVAL}, {fd=13, events=POLLIN|POLLPRI|POLLERR|POLLHUP|POLLNVAL}, {fd=15, events=POLLIN|POLLPRI|POLLERR|POLLHUP|POLLNVAL}, {fd=16, events=POLLIN|POLLPRI|POLLERR|POLLHUP|POLLNVAL}, {fd=17, events=POLLIN|POLLPRI|POLLERR|POLLHUP|POLLNVAL}], 6, 24) = 0 8102 gettimeofday({1093360418, 51423}, {0, 0}) = 0 8102 gettimeofday({1093360418, 51539}, NULL) = 0 8102 poll([{fd=12, events=POLLIN|POLLPRI|POLLERR|POLLHUP|POLLNVAL}, {fd=18, events=POLLIN|POLLPRI|POLLERR|POLLHUP|POLLNVAL}, {fd=13, events=POLLIN|POLLPRI|POLLERR|POLLHUP|POLLNVAL}, {fd=15, events=POLLIN|POLLPRI|POLLERR|POLLHUP|POLLNVAL}, {fd=16, events=POLLIN|POLLPRI|POLLERR|POLLHUP|POLLNVAL}, {fd=17, events=POLLIN|POLLPRI|POLLERR|POLLHUP|POLLNVAL}], 6, 0) = 0 8102 gettimeofday({1093360418, 51765}, {0, 0}) = 0 8102 wait4(-1, [WIFEXITED(s) && WEXITSTATUS(s) == 89], WNOHANG, NULL) = 12406 8102 gettimeofday({1093360418, 52014}, NULL) = 0 8102 sendto(9, "<19>Aug 24 19:13:38 dovecot: chi"..., 65, 0, NULL, 0) = 65 8102 wait4(-1, [WIFEXITED(s) && WEXITSTATUS(s) == 0], WNOHANG, NULL) = 8156 8102 wait4(-1, 0xbfbffabc, WNOHANG, NULL) = 0 8102 gettimeofday({1093360418, 52532}, NULL) = 0 8102 poll([{fd=12, events=POLLIN|POLLPRI|POLLERR|POLLHUP|POLLNVAL}, {fd=18, events=POLLIN|POLLPRI|POLLERR|POLLHUP|POLLNVAL}, {fd=13, events=POLLIN|POLLPRI|POLLERR|POLLHUP|POLLNVAL}, {fd=15, events=POLLIN|POLLPRI|POLLERR|POLLHUP|POLLNVAL}, {fd=16, events=POLLIN|POLLPRI|POLLERR|POLLHUP|POLLNVAL}, {fd=17, events=POLLIN|POLLPRI|POLLERR|POLLHUP|POLLNVAL}], 6, 98) = 0 8102 gettimeofday({1093360418, 161419}, {0, 0}) = 0 8102 gettimeofday({1093360418, 161535}, NULL) = 0 [... All the same ...] 8102 poll([{fd=12, events=POLLIN|POLLPRI|POLLERR|POLLHUP|POLLNVAL}, {fd=18, events=POLLIN|POLLPRI|POLLERR|POLLHUP|POLLNVAL}, {fd=13, events=POLLIN|POLLPRI|POLLERR|POLLHUP|POLLNVAL}, {fd=15, events=POLLIN|POLLPRI|POLLERR|POLLHUP|POLLNVAL}, {fd=16, events=POLLIN|POLLPRI|POLLERR|POLLHUP|POLLNVAL}, {fd=17, events=POLLIN|POLLPRI|POLLERR|POLLHUP|POLLNVAL}], 6, 0) = 0 8102 gettimeofday({1093360418, 821782}, {0, 0}) = 0 8102 wait4(-1, 0xbfbffabc, WNOHANG, NULL) = 0 8102 socketpair(PF_UNIX, SOCK_STREAM, 0, [0, 134631744]) = 0 8102 fork() = 12409 8102 fcntl(14, F_GETFL) = 0x2 (flags O_RDWR) 12409 getdirentries(6,
8102 fcntl(14, F_SETFL, O_RDWR|O_NONBLOCK 12409 <... getdirentries resumed> /* 0 entries */, 4096, [512]) = 0 8102 <... fcntl resumed> ) = 0 12409 lseek(6, 0, SEEK_SET 8102 fcntl(14, F_GETFD AF_??? */, sa_data="!(\260\321\6\10\1\0\0\0\0\372\277\277"}, [0]) = 0 12409 sendmsg(3, {msg_name(0)=NULL, msg_iov(1)=[{"\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"..., 32}], msg_controllen=0, msg_flags=0}, 012409 <... lseek resumed> ) = 0 8102 <... fcntl resumed> ) = 0 12409 close(6 8102 fcntl(14, F_SETFD, FD_CLOEXEC 12409 <... close resumed> ) = 0 8102 <... fcntl resumed> ) = 0 12409 getsockname(0, 8102 lseek(14, 0, SEEK_CUR 12409 <... getsockname resumed> {sa_family=AF_INET, sin_port=htons(143), sin_addr=inet_addr("193.233.44.213")}, [16]) = 0 8102 <... lseek resumed> ) = -1 ESPIPE (Illegal seek) Here ^^^^^^^^^^^^^^^^^^^^^^^^ 12409 getsockname(1, 8102 getsockname(14, 12409 <... getsockname resumed> 0xbfbffbf4, [28]) = -1 ENOTSOCK (Socket operation on non-socket) And here ^^^^^^^^^^^^^^^^^^^^^^^^ 8102 <... getsockname resumed> {sa_family=0xb2 /* 8102 close(19 12409 <... sendmsg resumed> ) = 32 8102 <... close resumed> ) = 0 12409 gettimeofday( 8102 gettimeofday( 12409 <... gettimeofday resumed> {1093360418, 832098}, NULL) = 0 8102 <... gettimeofday resumed> {1093360418, 832150}, NULL) = 0 12409 poll( 8102 poll( 12409 <... poll resumed> [{fd=7, events=POLLIN|POLLPRI|POLLERR|POLLHUP|POLLNVAL, revents=POLLIN}, {fd=0, events=POLLIN|POLLPRI|POLLERR|POLLHUP|POLLNVAL}, {fd=3, events=POLLIN|POLLPRI|POLLERR|POLLHUP|POLLNVAL}], 3, 992) = 1 8102 <... poll resumed> [{fd=12, events=POLLIN|POLLPRI|POLLERR|POLLHUP|POLLNVAL}, {fd=18, events=POLLIN|POLLPRI|POLLERR|POLLHUP|POLLNVAL}, {fd=13, events=POLLIN|POLLPRI|POLLERR|POLLHUP|POLLNVAL}, {fd=15, events=POLLIN|POLLPRI|POLLERR|POLLHUP|POLLNVAL}, {fd=16, events=POLLIN|POLLPRI|POLLERR|POLLHUP|POLLNVAL}, {fd=17, events=POLLIN|POLLPRI|POLLERR|POLLHUP|POLLNVAL}, {fd=14, events=POLLIN|POLLPRI|POLLERR|POLLHUP|POLLNVAL, revents=POLLIN}], 7, 88) = 1 12409 gettimeofday( 8102 gettimeofday( 12409 <... gettimeofday resumed> {1093360418, 832559}, {0, 0}) = 0 8102 <... gettimeofday resumed> {1093360418, 832610}, {0, 0}) = 0 12409 break(0x806c000 8102 recvmsg(14, 12409 <... break resumed> ) = 0 8102 <... recvmsg resumed> {msg_name(0)=NULL, msg_iov(1)=[{"\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0"..., 32}], msg_controllen=0, msg_flags=0}, 0) = 32 12409 read(7, 8102 gettimeofday( 12409 <... read resumed> "\247\37\0\0\1\0\0\0", 4096) = 8 8102 <... gettimeofday resumed> {1093360418, 833110}, NULL) = 0 12409 gettimeofday( 8102 poll( 12409 <... gettimeofday resumed> {1093360418, 833308}, NULL) = 0 12409 poll( 8102 <... poll resumed> [{fd=12, events=POLLIN|POLLPRI|POLLERR|POLLHUP|POLLNVAL}, {fd=18, events=POLLIN|POLLPRI|POLLERR|POLLHUP|POLLNVAL}, {fd=13, events=POLLIN|POLLPRI|POLLERR|POLLHUP|POLLNVAL}, {fd=15, events=POLLIN|POLLPRI|POLLERR|POLLHUP|POLLNVAL}, {fd=16, events=POLLIN|POLLPRI|POLLERR|POLLHUP|POLLNVAL}, {fd=17, events=POLLIN|POLLPRI|POLLERR|POLLHUP|POLLNVAL}, {fd=14, events=POLLIN|POLLPRI|POLLERR|POLLHUP|POLLNVAL}], 7, 87) = 0 8102 gettimeofday({1093360418, 931452}, {0, 0}) = 0 8102 gettimeofday({1093360418, 931569}, NULL) = 0 8102 poll([{fd=12, events=POLLIN|POLLPRI|POLLERR|POLLHUP|POLLNVAL}, {fd=18, events=POLLIN|POLLPRI|POLLERR|POLLHUP|POLLNVAL}, {fd=13, events=POLLIN|POLLPRI|POLLERR|POLLHUP|POLLNVAL}, {fd=15, events=POLLIN|POLLPRI|POLLERR|POLLHUP|POLLNVAL}, {fd=16, events=POLLIN|POLLPRI|POLLERR|POLLHUP|POLLNVAL}, {fd=17, events=POLLIN|POLLPRI|POLLERR|POLLHUP|POLLNVAL}, {fd=14, events=POLLIN|POLLPRI|POLLERR|POLLHUP|POLLNVAL}], 7, 0) = 0 8102 gettimeofday({1093360418, 931798}, {0, 0}) = 0 8102 wait4(-1, 0xbfbffabc, WNOHANG, NULL) = 0 [... All the same ...] 8102 wait4(-1, 0xbfbffabc, WNOHANG, NULL) = 0 8102 gettimeofday({1093360419, 702029}, NULL) = 0 8102 poll([{fd=12, events=POLLIN|POLLPRI|POLLERR|POLLHUP|POLLNVAL}, {fd=18, events=POLLIN|POLLPRI|POLLERR|POLLHUP|POLLNVAL}, {fd=13, events=POLLIN|POLLPRI|POLLERR|POLLHUP|POLLNVAL}, {fd=15, events=POLLIN|POLLPRI|POLLERR|POLLHUP|POLLNVAL}, {fd=16, events=POLLIN|POLLPRI|POLLERR|POLLHUP|POLLNVAL}, {fd=17, events=POLLIN|POLLPRI|POLLERR|POLLHUP|POLLNVAL}, {fd=14, events=POLLIN|POLLPRI|POLLERR|POLLHUP|POLLNVAL}], 7, 98) = 0 8102 gettimeofday({1093360419, 811520}, {0, 0}) = 0 8102 gettimeofday({1093360419, 811636}, NULL) = 0 8102 poll([{fd=12, events=POLLIN|POLLPRI|POLLERR|POLLHUP|POLLNVAL}, {fd=18, events=POLLIN|POLLPRI|POLLERR|POLLHUP|POLLNVAL}, {fd=13, events=POLLIN|POLLPRI|POLLERR|POLLHUP|POLLNVAL}, {fd=15, events=POLLIN|POLLPRI|POLLERR|POLLHUP|POLLNVAL}, {fd=16, events=POLLIN|POLLPRI|POLLERR|POLLHUP|POLLNVAL}, {fd=17, events=POLLIN|POLLPRI|POLLERR|POLLHUP|POLLNVAL}, {fd=14, events=POLLIN|POLLPRI|POLLERR|POLLHUP|POLLNVAL}], 7, 0) = 0 8102 gettimeofday({1093360419, 811964}, {0, 0}) = 0 8102 wait4(-1, 0xbfbffabc, WNOHANG, NULL) = 0 8102 gettimeofday({1093360419, 812186}, NULL) = 0 8102 poll( 12409 <... poll resumed> [{fd=7, events=POLLIN|POLLPRI|POLLERR|POLLHUP|POLLNVAL}, {fd=0, events=POLLIN|POLLPRI|POLLERR|POLLHUP|POLLNVAL}, {fd=3, events=POLLIN|POLLPRI|POLLERR|POLLHUP|POLLNVAL}], 3, 991) = 0 12409 gettimeofday({1093360419, 841481}, {0, 0}) = 0 12409 gettimeofday({1093360419, 841599}, NULL) = 0 12409 poll([{fd=7, events=POLLIN|POLLPRI|POLLERR|POLLHUP|POLLNVAL}, {fd=0, events=POLLIN|POLLPRI|POLLERR|POLLHUP|POLLNVAL}, {fd=3, events=POLLIN|POLLPRI|POLLERR|POLLHUP|POLLNVAL}], 3, 0) = 0 12409 gettimeofday({1093360419, 841819}, {0, 0}) = 0 12409 gettimeofday({1093360419, 841949}, NULL) = 0 12409 poll( 8102 <... poll resumed> [{fd=12, events=POLLIN|POLLPRI|POLLERR|POLLHUP|POLLNVAL}, {fd=18, events=POLLIN|POLLPRI|POLLERR|POLLHUP|POLLNVAL}, {fd=13, events=POLLIN|POLLPRI|POLLERR|POLLHUP|POLLNVAL}, {fd=15, events=POLLIN|POLLPRI|POLLERR|POLLHUP|POLLNVAL}, {fd=16, events=POLLIN|POLLPRI|POLLERR|POLLHUP|POLLNVAL}, {fd=17, events=POLLIN|POLLPRI|POLLERR|POLLHUP|POLLNVAL}, {fd=14, events=POLLIN|POLLPRI|POLLERR|POLLHUP|POLLNVAL}], 7, 98) = 0 8102 gettimeofday({1093360419, 921487}, {0, 0}) = 0 8102 gettimeofday({1093360419, 921602}, NULL) = 0 8102 poll([{fd=12, events=POLLIN|POLLPRI|POLLERR|POLLHUP|POLLNVAL}, {fd=18, events=POLLIN|POLLPRI|POLLERR|POLLHUP|POLLNVAL}, {fd=13, events=POLLIN|POLLPRI|POLLERR|POLLHUP|POLLNVAL}, {fd=15, events=POLLIN|POLLPRI|POLLERR|POLLHUP|POLLNVAL}, {fd=16, events=POLLIN|POLLPRI|POLLERR|POLLHUP|POLLNVAL}, {fd=17, events=POLLIN|POLLPRI|POLLERR|POLLHUP|POLLNVAL}, {fd=14, events=POLLIN|POLLPRI|POLLERR|POLLHUP|POLLNVAL}], 7, 0) = 0 8102 gettimeofday({1093360419, 921830}, {0, 0}) = 0
pid 12409 is imap-login...
On 25.8.2004, at 10:15, Igor B. Bykhalo wrote:
8102 <... lseek resumed> ) = -1 ESPIPE (Illegal seek) Here ^^^^^^^^^^^^^^^^^^^^^^^^ 12409 getsockname(1,
8102 getsockname(14, 12409 <... getsockname resumed> 0xbfbffbf4, [28]) = -1 ENOTSOCK (Socket operation on non-socket) And here
^^^^^^^^^^^^^^^^^^^^^^^^
These are normal. Dovecot does them to determine if a file descriptor is a socket or a file. I guess they could be removed with some API changes, but I don't think it really matters.
participants (2)
-
Igor B. Bykhalo
-
Timo Sirainen