[vchkpw] Re: Re: vmysql:_can't_read_settings_from_ ...
Frank [EMAIL PROTECTED] wrote in message news:[EMAIL PROTECTED] Tom Collins [EMAIL PROTECTED] wrote in message news:[EMAIL PROTECTED] On Sunday, September 21, 2003, at 02:53 AM, Frank wrote: That part is very odd. I'm not sure why it's appending the //home/frank,,mydomain.com/ to the path name. I just rechecked the code in vmysql.c, and I can't see how the config file name would fail to be built properly. no idea, either. ktrace/kdump (FreeBSD 4.x) doesn't come up with anything useful I can go through (500Mb dump in 10 seconds..) I managed to capture a reasonable dump with the vmysql errors. Attached is a portion with the errors. I'm not much the programmer, so hope you can make something out of it. vpopmail-5.3.27 qmail-1.03 with QMAILQUEUE and TLS patch FreeBSD 4.3 There's 2 things I see: #1) qmail-local is complaining, vmysql: can't read settings from /home/vpopmail/etc/vpopmail.mysql 93567 qmail-local NAMI /home/frank 93567 qmail-local RET chdir 0 93567 qmail-local CALL open(0xbfbffa48,0,0x1b6) 93567 qmail-local NAMI /home/vpopmail/etc/vpopmail.mysql 93567 qmail-local RET open -1 errno 13 Permission denied 93567 qmail-local CALL write(0x2,0xbfbff320,0x43) 93567 qmail-local GIO fd 2 wrote 67 bytes vmysql: can't read settings from /home/vpopmail/etc/vpopmail.mysql Don't get why there's a Permission denied. Qmail-local, which has root, is trying to open /home/vpopmail/etc/vpopmail.mysql. # ls -l /var/qmail/bin/qmail-local -rwxr-xr-x 1 root qmail 154450 Sep 22 09:02 /var/qmail/bin/qmail-local # ls -l /home/vpopmail/etc/vpopmail.mysql -rw-r- 1 vpopmail vchkpw 45 Sep 11 14:16 /home/vpopmail/etc/vpopmail.mysql I chmodded /vpopmail.mysql to 644, which got passed the Permission denied error. # chmod 644 vpopmail.mysql After checking that it got past the error, I noticed that the permissions were set to root on the ~/etc directory. (Root seems to be the default after installation ~ bug??) # pwd /usr/home/vpopmail # ls -l total 6 drwxr-xr-x 2 root vchkpw 512 Sep 10 11:39 bin drwxr-xr-x 4 root vchkpw 512 Sep 7 10:10 doc drwx-- 4 vpopmail vchkpw 512 Sep 25 06:17 domains drwxr-xr-x 2 root vchkpw 512 Sep 7 10:11 etc drwxr-xr-x 2 root vchkpw 512 Sep 10 11:39 include drwxr-xr-x 2 root vchkpw 512 Sep 10 11:39 lib # That explains why vpopmail was getting the error on vpopmail.mysql located in etc... I chmodded all to vpopmail: # ls -l total 8 drwxr-xr-x 2 vpopmail vchkpw 512 Sep 10 11:39 bin drwxr-xr-x 4 vpopmail vchkpw 512 Sep 7 10:10 doc drwx-- 4 vpopmail vchkpw 512 Sep 25 06:17 domains drwxr-xr-x 2 vpopmail vchkpw 512 Sep 7 10:11 etc drwxr-xr-x 2 vpopmail vchkpw 512 Sep 10 11:39 include drwxr-xr-x 2 vpopmail vchkpw 512 Sep 10 11:39 lib # Hope this gets changed in the next release. ;) #2 ) You'll see qmail-lspawn, qmail-send, and splogger with the appended: /home/frank,,mydomain1.com 93459 qmail-lspawn GIO fd 1 wrote 96 bytes \0Zvmysql: can't read settings from /home/vpopmail/etc/vpopmail.mysql /home/frank,,mydomain1.com \0 93457 qmail-send GIO fd 0 wrote 93 bytes vmysql:_can't_read_settings_from_/home/vpopmail/etc/vpopmail.mysql//ho\ me/frank,,mydomain1.com/ 93458 splogger GIO fd 0 read 93 bytes vmysql:_can't_read_settings_from_/home/vpopmail/etc/vpopmail.mysql//ho\ me/frank,,mydomain1.com/ Still don't know why the vmysql error comes up, but for anyone getting the same thing, I finally had to delete/recreate the domain(s) user(s) as a workaround: 1. shutdown qmail (as root): #/var/qmail/rc stop 2. backup all emails (as root) # cd /home/vpopmail/domains/mydomain.com/user1/Maildir/ # tar -czf /tmp/user1.email.tar.gz cur new .Sent (tar for each user(s)) 3. Backup user passwords: # mysql -u root -p vpopmail mysql SELECT CONCAT(pw_name,@,pw_domain), pw_clear_passwd INTO OUTFILE '/tmp/vpopuserspasswd.out' FROM vpopmail WHERE pw_name 'postmaster'; 4. Delete all the domain(s) (as root). # /home/vpopmail/bin/vdeldomain mydomain.com (Delete each domain(s)) 5. Delete all the lock files in /var/qmail/control and users (as root): # rm /var/qmail/control/*.lock /var/qmail/users/*.lock 6. Delete the cdb database (as root) # rm /var/qmail/users/cdb 7. Recreate the domain(s) (as root): # /home/vpopmail/bin/vadddomain mydomain mypasswd 8. Recreate the users (as root): # bash $ while read a do /home/vpopmail/bin/vadduser $a done /tmp/vpopuserspasswd.out 9. Recreate the maildirsize (as vpopmail) especially needed when using the quota_usage plugin: # su - vpopmail # bash $ for i in `awk '{print $1}' /tmp/vpopuserspasswd.out` do /home/vpopmail/bin/vuserinfo $i done 10. Delete (or save) the /tmp/vpopuserspasswd.out Tom, if you need anything else (i.e. more trace dumps, or whatever), let me know. Frank
Re: [vchkpw] Re: Re: vmysql:_can't_read_settings_from_ ...
BTW, you don't need to send directly to me if you also send to the list... On Thursday, September 25, 2003, at 06:01 AM, Frank wrote: I chmodded /vpopmail.mysql to 644, which got passed the Permission denied error. # chmod 644 vpopmail.mysql This is a bad idea. Now, anyone one your system can read the mysql username and password and gain access to your entire vpopmail database. It should be owned correctly, and the programs that need to access it should be running as the correct username. Please look at a previous message I sent you about making sure qmail-smtpd is running as the vpopmail user. After checking that it got past the error, I noticed that the permissions were set to root on the ~/etc directory. (Root seems to be the default after installation ~ bug??) # pwd /usr/home/vpopmail # ls -l total 6 drwxr-xr-x 2 root vchkpw 512 Sep 10 11:39 bin drwxr-xr-x 4 root vchkpw 512 Sep 7 10:10 doc drwx-- 4 vpopmail vchkpw 512 Sep 25 06:17 domains drwxr-xr-x 2 root vchkpw 512 Sep 7 10:11 etc drwxr-xr-x 2 root vchkpw 512 Sep 10 11:39 include drwxr-xr-x 2 root vchkpw 512 Sep 10 11:39 lib This might be a problem for updating the tcp.smtp file, but not for reading the vpopmail.mysql file. It is the result of a bug, and it's been fixed in the CVS repository for fresh installs, but users will have to manually fix the permissions on their existing installs. Here are the proper permissions: chown vpopmail.vchkpw ~vpopmail/bin ~vpopmail/doc ~vpopmail/etc ~vpopmail/include chmod 0755 ~vpopmail/bin ~vpopmail/doc ~vpopmail/etc ~vpopmail/include The etc directory is probably the only one that matters because of the tcp.smtp file and its locks. I'm open to input from others on who should own bin, doc, include and lib. Perhaps root should be the only user with write access to those directories, and everyone else should have read access... -- Tom Collins [EMAIL PROTECTED] QmailAdmin: http://qmailadmin.sf.net/ Vpopmail: http://vpopmail.sf.net/ Info on the Sniffter hand-held Network Tester: http://sniffter.com/
[vchkpw] Re: Re: vmysql:_can't_read_settings_from_ ...
Tom Collins [EMAIL PROTECTED] wrote in message news:[EMAIL PROTECTED] On Sunday, September 21, 2003, at 02:53 AM, Frank wrote: That part is very odd. I'm not sure why it's appending the //home/frank,,mydomain.com/ to the path name. I just rechecked the code in vmysql.c, and I can't see how the config file name would fail to be built properly. no idea, either. ktrace/kdump (FreeBSD 4.x) doesn't come up with anything useful I can go through (500Mb dump in 10 seconds..) I managed to capture a reasonable dump with the vmysql errors. Attached is a portion with the errors. I'm not much the programmer, so hope you can make something out of it. vpopmail-5.3.27 qmail-1.03 with QMAILQUEUE and TLS patch FreeBSD 4.3 There's 2 things I see: #1) qmail-local is complaining, vmysql: can't read settings from /home/vpopmail/etc/vpopmail.mysql 93567 qmail-local NAMI /home/frank 93567 qmail-local RET chdir 0 93567 qmail-local CALL open(0xbfbffa48,0,0x1b6) 93567 qmail-local NAMI /home/vpopmail/etc/vpopmail.mysql 93567 qmail-local RET open -1 errno 13 Permission denied 93567 qmail-local CALL write(0x2,0xbfbff320,0x43) 93567 qmail-local GIO fd 2 wrote 67 bytes vmysql: can't read settings from /home/vpopmail/etc/vpopmail.mysql Don't get why there's a Permission denied. Qmail-local, which has root, is trying to open /home/vpopmail/etc/vpopmail.mysql. # ls -l /var/qmail/bin/qmail-local -rwxr-xr-x 1 root qmail 154450 Sep 22 09:02 /var/qmail/bin/qmail-local # ls -l /home/vpopmail/etc/vpopmail.mysql -rw-r- 1 vpopmail vchkpw 45 Sep 11 14:16 /home/vpopmail/etc/vpopmail.mysql #2 ) You'll see qmail-lspawn, qmail-send, and splogger with the appended: /home/frank,,mydomain1.com 93459 qmail-lspawn GIO fd 1 wrote 96 bytes \0Zvmysql: can't read settings from /home/vpopmail/etc/vpopmail.mysql /home/frank,,mydomain1.com \0 93457 qmail-send GIO fd 0 wrote 93 bytes vmysql:_can't_read_settings_from_/home/vpopmail/etc/vpopmail.mysql//ho\ me/frank,,mydomain1.com/ 93458 splogger GIO fd 0 read 93 bytes vmysql:_can't_read_settings_from_/home/vpopmail/etc/vpopmail.mysql//ho\ me/frank,,mydomain1.com/ Hope this helps, Frank begin 666 vmysql.txt M/'-N:7 [EMAIL PROTECTED],U-C@6UA:6PM;[EMAIL PROTECTED],3 @8G)E86LH,'@X,#8Q M,# P*0T*(#DS-38W('%M86EL+6QO8V%L(%)%5 @()R96%K(# -B Y,S4V M-R!Q;6%I;UL;V-A;!#04Q,(!C:1I[EMAIL PROTECTED][EMAIL PROTECTED]@Y8S [EMAIL PROTECTED],U-C@ M6UA:6PM;[EMAIL PROTECTED] @(B]H;VUE+V9R86YK(@T*(#DS-38W('%M86EL M+6QO8V%L(%)%5 @(-H9ER(# -B Y,S4V-R!Q;6%I;UL;V-A;!#04Q, M(!O[EMAIL PROTECTED],PP#%B-BD-B Y,S4V-R!Q;6%I;UL;V-A M;!.04U)( B+VAO;64O=G!OUA:6PO971C+W9P;W!M86EL+FUYW%L(@T* M(#DS-38W('%M86EL+6QO8V%L(%)%5 @([EMAIL PROTECTED]@97)R;F\@,3,@45R M;6ESVEO;B!D96YI960-B Y,S4V-R!Q;6%I;UL;V-A;!#04Q,(!WFET [EMAIL PROTECTED]#(L,'AB9F)F9C,R,PP#0S*0T*(#DS-38W('%M86EL+6QO8V%L($=) M3R @(9D(#(@=W)O=[EMAIL PROTECTED]@8GET97,-B @( @( B=FUYW%L.B!C86XG M=!R96%D('-E='1I;F=S(9R;[EMAIL PROTECTED];64O=G!OUA:6PO971C+W9P;W!M M86EL+FUYW%L#0H@( @( @(@T*(#DS-#4Y('%M86EL+6QS%W;B!2150@ M(!S96QE8W0@,0T*(#DS-#4Y('%M86EL+6QS%W;B!#04Q,(!S:6=PF]C M;6%S:[EMAIL PROTECTED]#$L,'AB9F)F9F,T8RPP*0T*(#DS-#4Y('%M86EL+6QS%W;B!2 M150@(!S:6=PF]C;6%S:R [EMAIL PROTECTED],T-3D@6UA:6PM;'-P87=N($-!3$P@ M(')E860H,'@S+#!X.# T9#4V,PP[EMAIL PROTECTED](#DS-#4Y('%M86EL+6QS%W M;B!'24\@(!F9 S(')[EMAIL PROTECTED]@8GET97,-B @( @( B=FUYW%L.B!C M86XG=!R96%D('-E='1I;F=S(9R;[EMAIL PROTECTED];64O=G!OUA:6PO971C+W9P M;W!M86EL+FUYW%L#0H@( @( @(@T*(#DS-#4Y('%M86EL+6QS%W;B!2 M150@(!R96%D(#8W+S!X-#,-B Y,S0U.2!Q;6%I;UL[EMAIL PROTECTED],3 @ MVEG')O8VUAVLH,'@R+#!X8F9B9F9C-,L,D-B Y,S0U.2!Q;6%I;UL M[EMAIL PROTECTED]( @VEG')O8VUAVL@, T*(#DS-#4Y('%M86EL+6QS%W M;B!#04Q,(!S96QE8W0H,'@T+#!X8F9B9F9C86,L,PP+# [EMAIL PROTECTED],U-C@ M6UA:6PM;[EMAIL PROTECTED]( @=W)I=[EMAIL PROTECTED]O,'@T,PT*(#DS-38W('%M86EL M+6QO8V%L($-!3$P@(]P96XH,'AB9F)F9F$Q.PP+#!X,6(V*0T*(#DS-38W M('%M86EL+6QO8V%L($Y!34D@((O=F%R+W%M86EL+W5S97)S+V-D8B(-B Y M,S4V-R!Q;6%I;UL;V-A;!2150@(!O5N(#,-B Y,S4V-R!Q;6%I;UL M;V-A;!#04Q,(!LV5E:[EMAIL PROTECTED]#,L,PP#8R,PP+# [EMAIL PROTECTED],U-C@6UA M:6PM;[EMAIL PROTECTED]( @;'-E96L@,34V.\P#8R, T*(#DS-38W('%M86EL M+6QO8V%L($-!3$P@(')E860H,'@S+#!X8F9B9F8Y9# L,'@X*0T*(#DS-38W M('%M86EL+6QO8V%L($=)3R @(9D(#,@F5A9 X()Y=5S#0H@( @( @ M(EQ-+4=8EPP7#!7D),%PP7# [EMAIL PROTECTED],U-C@6UA:6PM;[EMAIL PROTECTED] M( @F5A9 [EMAIL PROTECTED],U-C@6UA:6PM;[EMAIL PROTECTED],3 @;'-E96LH,'@S M+# L,'@X8V8L,PP*0T*(#DS-38W('%M86EL+6QO8V%L(%)%5 @(QS965K M(#(R-34O,'@X8V8-B Y,S4V-R!Q;6%I;UL;V-A;!#04Q,(!R96%D*#!X M,RPP)F8F9F.60P+#!X.D-B Y,S4V-R!Q;6%I;UL;V-A;!'24\@(!F M9 S(')[EMAIL PROTECTED]!B71EPT*( @( @()32U$7%Y1/%Q-+6%,%QB7#! M,(-B Y,S4V-R!Q;6%I;UL;V-A;!2150@(!R96%D([EMAIL PROTECTED]B Y,S4V-R!Q M;6%I;UL;V-A;!#04Q,(!LV5E:[EMAIL PROTECTED]#,L,PP[EMAIL PROTECTED],PP+# [EMAIL PROTECTED],U M-C@6UA:6PM;[EMAIL PROTECTED]( @;'-E96L@,C T.\P[EMAIL PROTECTED], T*(#DS-38W M('%M86EL+6QO8V%L($-!3$P@(')E860H,'@S+#!X8F9B9F8Y9# L,'@X*0T*
[vchkpw] Re: Re: vmysql:_can't_read_settings_from_ ...
What happens when you run `strings ~vpopmail/bin/vdelivermail | grep vpopmail.mysql`? You should get a single line with vpopmail.mysql on it. That's exactly what I get: # strings vdelivermail | grep vpopmail.mysql vpopmail.mysql # vmysql: sql error[1]: Can't create database 'vpopmail'. Database exists Did you work out your problems with the vpopmail.mysql file? Yes. I don't seem to be getting that sql error anymore. BTW, # pwd /usr/home/vpopmail/etc # ls -l vpopmail.mysql -rw-r- 1 vpopmail vchkpw 45 Sep 11 14:16 vpopmail.mysql # cat vpopmail.mysql localhost|0|vpopmailuser|vpoppasswd|vpopmail # Again, I'm not sure where the weird filenames are coming from (/home/vpopmail/domains/mydomain.com,,mydomain.com). What does the .qmail-default file look like for mydomain.com? # pwd /usr/home/vpopmail/domains/mydomain.com # cat .qmail-default | /home/vpopmail/bin/vdelivermail '' /home/vpopmail/domains/mydomain.com/frank Noting: I've sed 's/myactualdomain.com/mydomain.com' Thanks Tom for continuing to look into this. I think I migh have something that might help... I deleted my domain (/home/vpopmail/bin/vdeldomains mydomain.com) and recreated it (/home/vpopmail/bin/vadddomain mydomain.com pass). It wiped out everything under the /home/vpopmail/domains/mydomain.com directory, including some important emails. But at least no more vmysql:_can't_read_settings_from... error anymore. But emails to non-existent accounts were mail looping endlessly. Trying to stop it, I decided to backup my new important emails this time: # cd /home/vpopmail/domains/mydomain.com/frank/Maildir # tar -czf /tmp/myemails.tar.gz cur new And deleted the domain and recreated it with my user again: # /home/vpopmail/bin/vadeldomain mydomain.com # /home/vpopmail/bin/vadddomain mydomain.com pass # /home/vpopmail/bin/vadduser [EMAIL PROTECTED] pass Then restored my important emails. # cd /home/vpopmail/domains/mydomains.com/frank/Maildir # tar -xzf /tmp/myemails.tar.gz I noted that the queue name format didn't look like every other because I moved queues around. I had moved emails in my system account's Maildir to my vpopmail user account's Maildir: # mv /home/frank/Maildir/new/* /home/vpopmail/domains/mydomain.com/frank/Maildir/new/* I looked at the emails (which moved everything in new to cur). Now those email name formats don't have quite the same format: # ls -l cur new cur: total 176 -rw--- 1 vpopmail vchkpw2314 Sep 23 03:41 1063608441.18859.www.mydomain.com:2,S -rw--- 1 vpopmail vchkpw2441 Sep 23 03:41 1063777535.26975.www.mydomain.com:2,S -rw--- 1 vpopmail vchkpw1367 Sep 18 01:14 1063815291.28928.www.mydomain.com,S=1328:2,RS -rw--- 1 vpopmail vchkpw1384 Sep 18 08:46 1063842377.79354.www.mydomain.com,S=1345:2,RS -rw--- 1 vpopmail vchkpw1626 Sep 18 08:49 1063842558.79572.www.mydomain.com,S=1587:2,S -rw--- 1 vpopmail vchkpw 132134 Sep 18 12:17 1063855052.93458.www.mydomain.com,S=132095:2,RS -rw--- 1 vpopmail vchkpw3577 Sep 18 13:37 1063859866.98209.www.mydomain.com,S=3538:2,RS -rw--- 1 vpopmail vchkpw2615 Sep 19 09:03 1063929803.61907.www.mydomain.com,S=2576:2,RS -rw--- 1 vpopmail vchkpw5691 Sep 21 03:10 1064081408.82962.www.mydomain.com,S=5652:2,S -rw--- 1 vpopmail vchkpw2256 Sep 22 17:46 1064220386.86347.www.mydomain.com,S=2217:2,RS -rw--- 1 vpopmail vchkpw1980 Sep 23 01:42 1064248923.87123.www.mydomain.com,S=1941:2,S -rw--- 1 vpopmail vchkpw1601 Sep 23 01:52 1064249545.87168.www.mydomain.com,S=1562:2,S After all that, when I send myself a email: [EMAIL PROTECTED], I get the same error in /var/log/maillog: Sep 23 04:13:32 www qmail: 1064258012.943110 starting delivery 5: msg 468246 to local [EMAIL PROTECTED] Sep 23 04:13:32 www qmail: 1064258012.943985 status: local 1/10 remote 0/20 Sep 23 04:13:32 www qmail: 1064258012.954235 delivery 5: deferral: vmysql:_can't _read_settings_from_/home/vpopmail/etc/vpopmail.mysql//home/frank,,mydomain. com/ Sep 23 04:13:32 www qmail: 1064258012.954616 status: local 0/10 remote 0/20 And the email I sent myself stays in /var/qmail/queue : # pwd /var/qmail/queue # find . -type f ./mess/12/468246 ./info/12/468246 ./local/12/468246 ./lock/tcpto ./lock/sendmutex Can moving old emails into vpopmail's Maildirs cause this? Does vpopmail keep track of mail queue numbers? Sorry if these are dumb questions, but I've been up all night and nothing is going clicking anymore... Frank