Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!

Bug 281914

Summary: net-mail/queue-repair introduces new errors on mails not yet precessed in queue
Product: Gentoo Linux Reporter: werner maier <werner>
Component: Current packagesAssignee: No maintainer - Look at https://wiki.gentoo.org/wiki/Project:Proxy_Maintainers if you want to take care of it <maintainer-needed>
Status: CONFIRMED ---    
Severity: normal CC: david, jstein, net-mail+disabled, sam
Priority: High Keywords: PATCH
Version: unspecified   
Hardware: All   
OS: Linux   
Whiteboard:
Package list:
Runtime testing required: ---
Bug Depends on: 738538    
Bug Blocks:    

Description werner maier 2009-08-18 12:59:25 UTC
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
Comment 1 Jonas Stein gentoo-dev 2020-05-21 21:26:05 UTC
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.