Wietse Venema via Postfix-users wrote in <4bgttz1dbdzj...@spike.porcupine.org>: |Wietse Venema via Postfix-users: |> Steffen Nurpmeso via Postfix-users: |>>|Verified with |>>| |>>| postmap -q - 'pipemap:{regexp:rcpt-bcc.regexp,regexp:bcc-generic.reg\ |>>| exp\ |>>|}' |>>| |>>|for quoted and unquoted localparts. |>> |>> And partially quoted? I have a bit of problems with ABNF, so |> |> Postfix transforms envelope addresses to unquoted internal form |> upon message arrival, and quotes the entire localpart (if needed) |> to external form before table lookup.
That is cool! |> For example, the following quoted input forms: |> |> wietse ven...@example.com |> "wietse venema"@example.com | |Something removed a backslash. | | wietse\ ven...@example.com But that now makes me wonder, since quoted-pair is nowhere in sight (outside of quoted-string and c(omment )content). | "wietse venema"@example.com | |> both become the same table lookup key: |> |> "wietse venema"@example.com |> |> Why does Postfix do that? Because Postfix policies would |> be trivial to evade otherwise. I fully and blindly trust it. I am not looking. Do not misunderstand my personal struggle with IMF/5322 etc etc as tries to discredit postfix or something. I sit in a very small corner of the internet, it is only i collect bug and other patches as they fly by here and there, or stumble over some statements i do not fully parse, and anyway itch my head how *i* can deal best with those; currently, for example, msg-id's, here mutt(1) commit message quote(s) It turns out some illegal message-id headers have neither angle brackets nor even an '@' in them. So adopt a different approach. ... Keep parsing inside angle brackets non-strict, because of the history of trac tickets (1116, 1935, 3090) demonstrating message-ids with spaces inside the angle brackets, double-'@'s, or even completely missing '@'. So that sh.t that happens. And eg RFC 5322 errata 3135, a bit extended (please excuse the full paste) // IETF RFC 5322 errata 3135 (latter three invalid it says) {imf::err_content, imf::mode_none, 0, "\"\"@by", "", {0,}}, {imf::err_content, imf::mode_none, 0, "foo.\"\"@by", "", {0,}}, {imf::err_content, imf::mode_none, 0, "\"\".bar@by", "", {0,}}, {imf::err_content, imf::mode_none, 0, "foo.\"\".bar@by", "", {0,}}, {0, imf::mode_none, 1, "foo\"\"@by", "\0\0foo\0by\0", {0,}}, {0, imf::mode_none, 1, "\"\"bar@by", "\0\0bar\0by\0", {0,}}, {0, imf::mode_none, 1, "foo\"\"bar@by", "\0\0foobar\0by\0", {0,}}, {imf::err_content, imf::mode_none, 0, "<\"\"@by>", "", {0,}}, {imf::err_content, imf::mode_none, 0, "<foo.\"\"@by>", "", {0,}}, {imf::err_content, imf::mode_none, 0, "<\"\".bar@by>", "", {0,}}, {imf::err_content, imf::mode_none, 0, "<foo.\"\".bar@by>", "", {0,}}, {0, imf::mode_none, 1, "<foo\"\"@by>", "\0\0foo\0by\0", {0,}}, {0, imf::mode_none, 1, "<\"\"bar@by>", "\0\0bar\0by\0", {0,}}, {0, imf::mode_none, 1, "<foo\"\"bar@by>", "\0\0foobar\0by\0", {0,}}, // (adapt) {imf::err_content, imf::mode_none, 0, "a.().b@by", "", {0,}}, {imf::err_content, imf::mode_none, 0, "<a.().b@by>", "", {0,}}, (it says invalid likely because obs- stuff is 'word *("." word))' and that it is not, i see) |> A similar thing happens when rewriting header addresses, |> except that the unquoting happens later. --steffen | |Der Kragenbaer, The moon bear, |der holt sich munter he cheerfully and one by one |einen nach dem anderen runter wa.ks himself off |(By Robert Gernhardt) | |During summer's humble, here's David Leonard's grumble | |The black bear, The black bear, |blithely holds his own holds himself at leisure |beating it, up and down tossing over his ups and downs with pleasure | |Farewell, dear collar bear _______________________________________________ Postfix-users mailing list -- postfix-users@postfix.org To unsubscribe send an email to postfix-users-le...@postfix.org