Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 281914 - net-mail/queue-repair introduces new errors on mails not yet precessed in queue
Summary: net-mail/queue-repair introduces new errors on mails not yet precessed in queue
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: Current packages (show other bugs)
Hardware: All Linux
: High normal (vote)
Assignee: No maintainer - Look at if you want to take care of it
Keywords: PATCH
Depends on: 738538
  Show dependency tree
Reported: 2009-08-18 12:59 UTC by werner maier
Modified: 2021-03-25 16:51 UTC (History)
4 users (show)

See Also:
Package list:
Runtime testing required: ---


Note You need to log in before you can comment on or make changes to this bug.
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.

--- 2009-08-18 14:04:00.157904662 +0200
+++     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
-        elif path in ('queue/mess', 'queue/todo'):
+        elif path in ('queue/mess', 'queue/todo', 'queue/intd'):
             mode = 0644
             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.