17905: open("./bincimap-scan-lock", O_WRONLY|O_CREAT|O_EXCL, 017777763300) Err#13 EACCES
mode must be specified when O_CREAT is in the flags, and is ignored otherwise.
So, now that I'm a bit more awake.
It seems that binc is doing an open() with O_CREAT set, and without a mode specified. O_CREAT requires a mode; its behavior without one set is indeterminate (and particularly broken on NFS). I believe my patch is correct.
--- ./bincimap-1.2.3/src/maildir-scan.cc 2003-09-18 01:25:28.000000000 -0400
+++ ./bincimap-1.2.3-jp/src/maildir-scan.cc 2004-01-06 04:07:09.121007000 -0500
@@ -64,7 +64,7 @@
int lockfd = -1;
while ((lockfd = ::open(lock.c_str(),
- O_CREAT | O_WRONLY | O_EXCL)) == -1) {
+ O_CREAT | O_WRONLY | O_EXCL, 0600)) == -1) {
if (errno != EEXIST) {
logger << "Unable to aquire mailbox scan lock " << lock
<< ", " << string(strerror(errno)) << endl;
Thoughts?
- Jason Parsons
--
Saffron Solutions, LLC <http://www.saffron.net> System, Network, and Security Consulting E-Commerce, Web Site, and E-Mail Hosting
