net-mail/queue-repair introduces new errors, if there are "files not preprocessed". Reproducible: Always Steps to Reproduce: 1. svc -d /service/qmail-send 2. send some emails. 3. you should have now some entries in /var/qmail/queue/todo/ 4. note that these files are HARDLINKS to the files in /var/qmail/queue/intd/ 5. start queue-repair. it will throw errors like queue/intd/434190 is mode 644, should be 600 6. start queue-repair a second time it will throw errors like queue/todo/434190 is mode 600, should be 644 queue/intd/434190 is mode 644, should be 600 Actual Results: as todo/* and intd/* are changed one after another, and todo/* is chmodded 644, and intd/* chmodded 600, and todo/* and intd/* are hardlinks, all files end up in mode 600. That way qmail-send cannot preprocess these mails. Expected Results: todo/* should be 644. in the code at one line there is just no test to the queue/intd so intd ends up 600 instead of 644. this patch works for me. --- queue-repair.py.org 2009-08-18 14:04:00.157904662 +0200 +++ queue-repair.py 2009-08-18 14:05:28.303633820 +0200 @@ -548,7 +548,7 @@ if path in ('queue', 'queue/lock'): # Nothing in these directories to check at this point continue - elif path in ('queue/mess', 'queue/todo'): + elif path in ('queue/mess', 'queue/todo', 'queue/intd'): mode = 0644 else: mode = 0600
I sent a mail to upstream who was thankful and is going to look into the patch soon. I think a fix upstream is the best solution.