OSEC

Neohapsis is currently accepting applications for employment. For more information, please visit our website www.neohapsis.com or email hr@neohapsis.com
 
From: Wietse Venema (wietseporcupine.org)
Date: Sat Feb 10 2001 - 13:42:35 CST

  • Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]

    I will not repeat myself again. End of discussion.

            Wietse

    Matthias Andree:
    > wietseporcupine.org (Wietse Venema) writes:
    >
    > > Matthias Andree:
    > > > A reasonable, WORKING approximation of:
    > > >
    > > > owner-foo: somebody
    > > > foo: bar1 bar2
    > > >
    > > > is:
    > > >
    > > > foo: "|/usr/sbin/sendmail -fowner-foo bar1 bar2"
    > >
    > > This solution does not solve the original problem:
    > >
    > > One alias expands to multiple addresses; one of the addresses
    > > needs to be deferred (for example, it is a |command). All
    > > recipients in the expansion will receive the mail again.
    >
    > No, it works around current Postfix bugs or misdesign.
    >
    > Again:
    >
    > testme: |sendmail t1 t2
    > t1: |exit 0
    > t2: |exit 1
    >
    > 57020A2066 479 Sat Feb 10 18:50:50 owner-testmeemma1.emma.line.org
    > (Command died with status 1: "exit 1")
    > t2emma1.emma.line.org
    >
    > -> correct.
    >
    > testme: t1 t2
    > t1: |exit 0
    > t2: |exit 1
    >
    > 4145CA2029 319 Sat Feb 10 18:52:31 madt.e-technik.uni-dortmund.de
    > (Command died with status 1: "exit 1")
    > t2emma1.emma.line.org
    > testmeemma1.emma.line.org
    >
    > -> wrong, has testme mentioned in its todo list. testme simply and
    > clearly does not belong here, I have written "testme: t1 t2", not
    > "testme: testme t1 t2". Why is testme recorded here? For been_here
    > matching, maybe.
    >
    > Picture:
    >
    > foo: bar1 bar2
    > with temporary failure on bar2 expands to: bar2 foo
    >
    > foo: |sendmail bar1 bar2
    > with temporary failure on bar2 expands to: bar2
    >
    > Do you see the difference? foo is missing from the expansion in the
    > second case. Currently, Postfix is not removing the original recipient
    > if it has expanded it properly. Why in hell does it need to keep the
    > original recipient and why does it discard delivery information?
    >
    > > Your solution also does not handle the case where an alias name
    > > appears in its expansion. Sendmail will deliver the mail to the
    > > user. Your solution causes a mail delivery loop.
    >
    > I _always_ use "foo: \foo, bar" aliases. I NEVER rely on mailer's
    > recursion elimination.
    >
    > > I repeat my requirements for the last time.
    > >
    > > 1 - When an alias name appears in its own expansion, mail is
    > > sent to the user instead.
    > > 2 - When a user appears in her own .forward file, mail is sent
    > > to the mailbox instead.
    >
    > > Requirements 1 and 2 combine recursively.
    >
    > Yes. Why does this still need to the original recipient? If it's for
    > switching from "expand" to "deliver", then track "expanded: foo" rather
    > than just copying "foo" to the recipient todo list.
    >
    > Still, there is not reason why THESE require duplicates or copying the
    > original recipient.
    >
    > > 3 - Robustness: must run in a finite amount of memory, even when
    > > delivering to an alias with millions of expansions.
    >
    > Copying the done-addresses with a done-flag to prevent duplicates does
    > not require more memory (apart from the 50 flag bits or bytes or maybe
    > long words) than the original message had. Tracking DONE addresses, even
    > commands, is safe since you NEVER deliver to DONE addresses.
    >
    > > 4 - Security: does not store |command or /file/name as TODO
    > > destinations.
    >
    > ACK.
    >
    > > However, your solution does not solve the original problem:
    > >
    > > One alias expands to multiple addresses; one of the addresses
    > > needs to be deferred (for example, it is a |command). All
    > > recipients in the expansion will receive the mail again.
    >
    > Yes, and this problem must be solved. Wild duping is a show-stopper.
    >
    > Imagine you expand to 200 addresses, 4 queue files with 50 recipients
    > each, in each of these 50, one must be deferred. So you're having the
    > original recipient 4 times, generating 796 duplicates! This must not
    > happen. This is not robust.
    >
    > Would you care to explain as to why the current behaviour (duping) is
    >
    > 1. technically correct
    >
    > 2. a technical necessity/the only available solution?
    >
    > I see all of your requirements, I have yet to see why these MUST cause
    > the misbehaviour I am seeing.
    >
    > --
    > Matthias Andree
    >
    >
    >