--------> rr1 router <--------
local_part=CALLER domain=test.ex
checking senders
-CALLER@test.ex in "user1@+funny_domains"?
+CALLER@test.ex in senders?
list element: user1@+funny_domains
address match test: subject=CALLER@test.ex pattern=user1@+funny_domains
-CALLER@test.ex in "user1@+funny_domains"? no (end of list)
+CALLER@test.ex in senders? no (end of list)
rr1 router skipped: senders mismatch
--------> r1 router <--------
local_part=CALLER domain=test.ex
checking senders
-CALLER@test.ex in "+never_addresses : +n1_addresses : ! +local_addresses"?
+CALLER@test.ex in senders?
list element: +never_addresses
start sublist never_addresses
CALLER@test.ex in "never@test.ex"?
╎address match test: subject=CALLER@test.ex pattern=never1@test.ex
CALLER@test.ex in "never1@test.ex"? no (end of list)
end sublist n1_addresses
- list element: ! +local_addresses
+ list element: !░+local_addresses
start sublist local_addresses
CALLER@test.ex in "CALLER@test.ex"?
╎list element: CALLER@test.ex
╎CALLER@test.ex in "CALLER@test.ex"? yes (matched "CALLER@test.ex")
end sublist local_addresses
data from lookup saved for cache for +local_addresses: key 'CALLER@test.ex' value 'CALLER@test.ex'
- CALLER@test.ex in "+never_addresses : +n1_addresses : ! +local_addresses"? no (matched "! +local_addresses")
+ CALLER@test.ex in senders? no (matched "! +local_addresses")
r1 router skipped: senders mismatch
--------> r2 router <--------
local_part=CALLER domain=test.ex
checking senders
-CALLER@test.ex in "+never_addresses : +n2_addresses : !+local_addresses"?
+CALLER@test.ex in senders?
list element: +never_addresses
start sublist never_addresses
cached no match for +never_addresses
start sublist local_addresses
cached yes match for +local_addresses
cached lookup data = CALLER@test.ex
- CALLER@test.ex in "+never_addresses : +n2_addresses : !+local_addresses"? no (matched "!+local_addresses" - cached)
+ CALLER@test.ex in senders? no (matched "!+local_addresses" - cached)
r2 router skipped: senders mismatch
--------> r3 router <--------
local_part=CALLER domain=test.ex
seeking password data for user "CALLER": using cached result
getpwnam() succeeded uid=CALLER_UID gid=CALLER_GID
checking senders
-CALLER@test.ex in "+local_addresses"?
+CALLER@test.ex in senders?
list element: +local_addresses
start sublist local_addresses
cached yes match for +local_addresses
cached lookup data = CALLER@test.ex
- CALLER@test.ex in "+local_addresses"? yes (matched "+local_addresses" - cached)
+ CALLER@test.ex in senders? yes (matched "+local_addresses" - cached)
calling r3 router
r3 router called for CALLER@test.ex
domain = test.ex
--------> rr1 router <--------
local_part=CALLER domain=test.ex
checking senders
-user1@fun.1 in "user1@+funny_domains"?
+user1@fun.1 in senders?
list element: user1@+funny_domains
address match test: subject=user1@fun.1 pattern=user1@+funny_domains
fun.1 in "+funny_domains"?
╎ fun.1 in "fun.1 : fun.2"? yes (matched "fun.1")
end sublist funny_domains
fun.1 in "+funny_domains"? yes (matched "+funny_domains")
- user1@fun.1 in "user1@+funny_domains"? yes (matched "user1@+funny_domains")
+ user1@fun.1 in senders? yes (matched "user1@+funny_domains")
calling rr1 router
rda_interpret (string): ':fail: matched *@+funny_domains'
expanded: ':fail: matched *@+funny_domains'