X-Git-Url: https://git.exim.org/exim.git/blobdiff_plain/d05b1259568b40a1890f4067edcb1ed07794646c..fc37f2acaaa440c5265dc01fd693d8f5406f5cf9:/test/stderr/0183?ds=sidebyside diff --git a/test/stderr/0183 b/test/stderr/0183 index e9a91f485..63a312565 100644 --- a/test/stderr/0183 +++ b/test/stderr/0183 @@ -1,6 +1,6 @@ Exim version x.yz .... changed uid/gid: forcing real = effective - uid=uuuu gid=CALLER_GID pid=pppp + uid=uuuu gid=CALLER_GID pid=p1234 configuration file is TESTSUITE/test-config admin user dropping to exim gid; retaining priv uid @@ -16,6 +16,8 @@ routing userx@test.again.dns --------> srv router <-------- local_part=userx domain=test.again.dns checking local_parts +compiled caseless RE '^srv' not found in local cache +compiled RE '^srv' saved in local cache userx in "^srv"? no (end of list) srv router skipped: local_parts mismatch --------> useryz router <-------- @@ -30,6 +32,7 @@ userx in "!userd"? yes (end of list) calling lookuphost router lookuphost router called for userx@test.again.dns domain = test.again.dns +test.again.dns in "*"? yes (matched "*") DNS lookup of test.again.dns (MX) using fakens DNS lookup of test.again.dns (MX) gave TRY_AGAIN test.again.dns in dns_again_means_nonexist? no (option unset) @@ -46,6 +49,7 @@ routing abcd@test.again.dns --------> srv router <-------- local_part=abcd domain=test.again.dns checking local_parts +compiled caseless RE '^srv' found in local cache abcd in "^srv"? no (end of list) srv router skipped: local_parts mismatch --------> useryz router <-------- @@ -60,7 +64,8 @@ abcd in "!userd"? yes (end of list) calling lookuphost router lookuphost router called for abcd@test.again.dns domain = test.again.dns -DNS lookup of test.again.dns-MX: using cached value DNS_AGAIN +test.again.dns in "*"? yes (matched "*") +DNS lookup of test.again.dns (MX): using cached value DNS_AGAIN lookuphost router: defer for abcd@test.again.dns message: host lookup did not complete >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> @@ -72,6 +77,7 @@ routing abcd@ten-1.test.ex --------> srv router <-------- local_part=abcd domain=ten-1.test.ex checking local_parts +compiled caseless RE '^srv' found in local cache abcd in "^srv"? no (end of list) srv router skipped: local_parts mismatch --------> useryz router <-------- @@ -86,10 +92,13 @@ abcd in "!userd"? yes (end of list) calling lookuphost router lookuphost router called for abcd@ten-1.test.ex domain = ten-1.test.ex +ten-1.test.ex in "*"? yes (matched "*") DNS lookup of ten-1.test.ex (MX) using fakens DNS lookup of ten-1.test.ex (MX) gave NO_DATA returning DNS_NODATA - writing neg-cache entry for ten-1.test.ex-MX-xxxx, ttl 3600 +faking res_search(MX) response length as 65535 + writing neg-cache entry for ten-1.test.ex-MX-xxxx, ttl 3000 +ten-1.test.ex (MX resp) DNSSEC DNS lookup of ten-1.test.ex (A) using fakens DNS lookup of ten-1.test.ex (A) succeeded fully qualified name = ten-1.test.ex @@ -98,7 +107,7 @@ set transport smtp queued for smtp transport: local_part = abcd domain = ten-1.test.ex errors_to=NULL - domain_data=NULL localpart_data=NULL + domain_data=NULL local_part_data=NULL routed by lookuphost router envelope to: abcd@ten-1.test.ex transport: smtp @@ -112,6 +121,7 @@ routing usery@test.again.dns --------> srv router <-------- local_part=usery domain=test.again.dns checking local_parts +compiled caseless RE '^srv' found in local cache usery in "^srv"? no (end of list) srv router skipped: local_parts mismatch --------> useryz router <-------- @@ -128,6 +138,7 @@ expanded list of hosts = 'test.again.dns' options = 'bydns' set transport smtp finding IP address for test.again.dns doing DNS lookup +test.again.dns in "*"? yes (matched "*") DNS lookup of test.again.dns (A) using fakens DNS lookup of test.again.dns (A) gave TRY_AGAIN test.again.dns in dns_again_means_nonexist? no (option unset) @@ -144,6 +155,7 @@ routing userz@test.again.dns --------> srv router <-------- local_part=userz domain=test.again.dns checking local_parts +compiled caseless RE '^srv' found in local cache userz in "^srv"? no (end of list) srv router skipped: local_parts mismatch --------> useryz router <-------- @@ -159,7 +171,8 @@ original list of hosts = '$domain' options = 'bydns' expanded list of hosts = 'test.again.dns' options = 'bydns' finding IP address for test.again.dns doing DNS lookup -DNS lookup of test.again.dns-A: using cached value DNS_AGAIN +test.again.dns in "*"? yes (matched "*") +DNS lookup of test.again.dns (A): using cached value DNS_AGAIN useryz router: defer for userz@test.again.dns message: host lookup for test.again.dns did not complete (DNS timeout?) >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> @@ -171,6 +184,7 @@ routing xyz@ten-1.test.ex --------> srv router <-------- local_part=xyz domain=ten-1.test.ex checking local_parts +compiled caseless RE '^srv' found in local cache xyz in "^srv"? no (end of list) srv router skipped: local_parts mismatch --------> useryz router <-------- @@ -185,7 +199,8 @@ xyz in "!userd"? yes (end of list) calling lookuphost router lookuphost router called for xyz@ten-1.test.ex domain = ten-1.test.ex -DNS lookup of ten-1.test.ex-MX: using cached value DNS_NODATA +ten-1.test.ex in "*"? yes (matched "*") +DNS lookup of ten-1.test.ex (MX): using cached value DNS_NODATA DNS lookup of ten-1.test.ex (A) using fakens DNS lookup of ten-1.test.ex (A) succeeded fully qualified name = ten-1.test.ex @@ -193,16 +208,16 @@ ten-1.test.ex V4NET.0.0.1 mx=-1 sort=xx queued for smtp transport: local_part = xyz domain = ten-1.test.ex errors_to=NULL - domain_data=NULL localpart_data=NULL + domain_data=NULL local_part_data=NULL routed by lookuphost router envelope to: xyz@ten-1.test.ex transport: smtp host ten-1.test.ex [V4NET.0.0.1] search_tidyup called ->>>>>>>>>>>>>>>> Exim pid=pppp (main) terminating with rc=1 >>>>>>>>>>>>>>>> +>>>>>>>>>>>>>>>> Exim pid=p1234 (fresh-exec) terminating with rc=1 >>>>>>>>>>>>>>>> Exim version x.yz .... changed uid/gid: forcing real = effective - uid=uuuu gid=CALLER_GID pid=pppp + uid=uuuu gid=CALLER_GID pid=p1235 configuration file is TESTSUITE/test-config admin user dropping to exim gid; retaining priv uid @@ -218,6 +233,8 @@ routing userx@test.fail.dns --------> srv router <-------- local_part=userx domain=test.fail.dns checking local_parts +compiled caseless RE '^srv' not found in local cache +compiled RE '^srv' saved in local cache userx in "^srv"? no (end of list) srv router skipped: local_parts mismatch --------> useryz router <-------- @@ -232,6 +249,7 @@ userx in "!userd"? yes (end of list) calling lookuphost router lookuphost router called for userx@test.fail.dns domain = test.fail.dns +test.fail.dns in "*"? yes (matched "*") DNS lookup of test.fail.dns (MX) using fakens DNS lookup of test.fail.dns (MX) gave NO_RECOVERY returning DNS_FAIL @@ -247,6 +265,7 @@ routing abcd@test.fail.dns --------> srv router <-------- local_part=abcd domain=test.fail.dns checking local_parts +compiled caseless RE '^srv' found in local cache abcd in "^srv"? no (end of list) srv router skipped: local_parts mismatch --------> useryz router <-------- @@ -261,7 +280,8 @@ abcd in "!userd"? yes (end of list) calling lookuphost router lookuphost router called for abcd@test.fail.dns domain = test.fail.dns -DNS lookup of test.fail.dns-MX: using cached value DNS_FAIL +test.fail.dns in "*"? yes (matched "*") +DNS lookup of test.fail.dns (MX): using cached value DNS_FAIL lookuphost router: defer for abcd@test.fail.dns message: host lookup did not complete >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> @@ -273,6 +293,7 @@ routing abcd@ten-1.test.ex --------> srv router <-------- local_part=abcd domain=ten-1.test.ex checking local_parts +compiled caseless RE '^srv' found in local cache abcd in "^srv"? no (end of list) srv router skipped: local_parts mismatch --------> useryz router <-------- @@ -287,10 +308,13 @@ abcd in "!userd"? yes (end of list) calling lookuphost router lookuphost router called for abcd@ten-1.test.ex domain = ten-1.test.ex +ten-1.test.ex in "*"? yes (matched "*") DNS lookup of ten-1.test.ex (MX) using fakens DNS lookup of ten-1.test.ex (MX) gave NO_DATA returning DNS_NODATA - writing neg-cache entry for ten-1.test.ex-MX-xxxx, ttl 3600 +faking res_search(MX) response length as 65535 + writing neg-cache entry for ten-1.test.ex-MX-xxxx, ttl 3000 +ten-1.test.ex (MX resp) DNSSEC DNS lookup of ten-1.test.ex (A) using fakens DNS lookup of ten-1.test.ex (A) succeeded fully qualified name = ten-1.test.ex @@ -299,7 +323,7 @@ set transport smtp queued for smtp transport: local_part = abcd domain = ten-1.test.ex errors_to=NULL - domain_data=NULL localpart_data=NULL + domain_data=NULL local_part_data=NULL routed by lookuphost router envelope to: abcd@ten-1.test.ex transport: smtp @@ -313,6 +337,7 @@ routing usery@test.fail.dns --------> srv router <-------- local_part=usery domain=test.fail.dns checking local_parts +compiled caseless RE '^srv' found in local cache usery in "^srv"? no (end of list) srv router skipped: local_parts mismatch --------> useryz router <-------- @@ -329,6 +354,7 @@ expanded list of hosts = 'test.fail.dns' options = 'bydns' set transport smtp finding IP address for test.fail.dns doing DNS lookup +test.fail.dns in "*"? yes (matched "*") DNS lookup of test.fail.dns (A) using fakens DNS lookup of test.fail.dns (A) gave NO_RECOVERY returning DNS_FAIL @@ -344,6 +370,7 @@ routing userz@test.fail.dns --------> srv router <-------- local_part=userz domain=test.fail.dns checking local_parts +compiled caseless RE '^srv' found in local cache userz in "^srv"? no (end of list) srv router skipped: local_parts mismatch --------> useryz router <-------- @@ -359,7 +386,8 @@ original list of hosts = '$domain' options = 'bydns' expanded list of hosts = 'test.fail.dns' options = 'bydns' finding IP address for test.fail.dns doing DNS lookup -DNS lookup of test.fail.dns-A: using cached value DNS_FAIL +test.fail.dns in "*"? yes (matched "*") +DNS lookup of test.fail.dns (A): using cached value DNS_FAIL useryz router: defer for userz@test.fail.dns message: host lookup for test.fail.dns did not complete (DNS timeout?) >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> @@ -371,6 +399,7 @@ routing xyz@ten-1.test.ex --------> srv router <-------- local_part=xyz domain=ten-1.test.ex checking local_parts +compiled caseless RE '^srv' found in local cache xyz in "^srv"? no (end of list) srv router skipped: local_parts mismatch --------> useryz router <-------- @@ -385,7 +414,8 @@ xyz in "!userd"? yes (end of list) calling lookuphost router lookuphost router called for xyz@ten-1.test.ex domain = ten-1.test.ex -DNS lookup of ten-1.test.ex-MX: using cached value DNS_NODATA +ten-1.test.ex in "*"? yes (matched "*") +DNS lookup of ten-1.test.ex (MX): using cached value DNS_NODATA DNS lookup of ten-1.test.ex (A) using fakens DNS lookup of ten-1.test.ex (A) succeeded fully qualified name = ten-1.test.ex @@ -393,16 +423,16 @@ ten-1.test.ex V4NET.0.0.1 mx=-1 sort=xx queued for smtp transport: local_part = xyz domain = ten-1.test.ex errors_to=NULL - domain_data=NULL localpart_data=NULL + domain_data=NULL local_part_data=NULL routed by lookuphost router envelope to: xyz@ten-1.test.ex transport: smtp host ten-1.test.ex [V4NET.0.0.1] search_tidyup called ->>>>>>>>>>>>>>>> Exim pid=pppp (main) terminating with rc=1 >>>>>>>>>>>>>>>> +>>>>>>>>>>>>>>>> Exim pid=p1235 (fresh-exec) terminating with rc=1 >>>>>>>>>>>>>>>> Exim version x.yz .... changed uid/gid: forcing real = effective - uid=uuuu gid=CALLER_GID pid=pppp + uid=uuuu gid=CALLER_GID pid=p1236 configuration file is TESTSUITE/test-config admin user dropping to exim gid; retaining priv uid @@ -418,6 +448,8 @@ routing userx@nonexist.test.ex --------> srv router <-------- local_part=userx domain=nonexist.test.ex checking local_parts +compiled caseless RE '^srv' not found in local cache +compiled RE '^srv' saved in local cache userx in "^srv"? no (end of list) srv router skipped: local_parts mismatch --------> useryz router <-------- @@ -432,10 +464,12 @@ userx in "!userd"? yes (end of list) calling lookuphost router lookuphost router called for userx@nonexist.test.ex domain = nonexist.test.ex +nonexist.test.ex in "*"? yes (matched "*") DNS lookup of nonexist.test.ex (MX) using fakens DNS lookup of nonexist.test.ex (MX) gave HOST_NOT_FOUND returning DNS_NOMATCH - writing neg-cache entry for nonexist.test.ex-MX-xxxx, ttl 3600 +faking res_search(MX) response length as 65535 + writing neg-cache entry for nonexist.test.ex-MX-xxxx, ttl 3000 lookuphost router declined for userx@nonexist.test.ex "more" is false: skipping remaining routers no more routers @@ -448,6 +482,7 @@ routing abcd@nonexist.test.ex --------> srv router <-------- local_part=abcd domain=nonexist.test.ex checking local_parts +compiled caseless RE '^srv' found in local cache abcd in "^srv"? no (end of list) srv router skipped: local_parts mismatch --------> useryz router <-------- @@ -462,7 +497,8 @@ abcd in "!userd"? yes (end of list) calling lookuphost router lookuphost router called for abcd@nonexist.test.ex domain = nonexist.test.ex -DNS lookup of nonexist.test.ex-MX: using cached value DNS_NOMATCH +nonexist.test.ex in "*"? yes (matched "*") +DNS lookup of nonexist.test.ex (MX): using cached value DNS_NOMATCH lookuphost router declined for abcd@nonexist.test.ex "more" is false: skipping remaining routers no more routers @@ -475,6 +511,7 @@ routing abcd@ten-1.test.ex --------> srv router <-------- local_part=abcd domain=ten-1.test.ex checking local_parts +compiled caseless RE '^srv' found in local cache abcd in "^srv"? no (end of list) srv router skipped: local_parts mismatch --------> useryz router <-------- @@ -489,10 +526,13 @@ abcd in "!userd"? yes (end of list) calling lookuphost router lookuphost router called for abcd@ten-1.test.ex domain = ten-1.test.ex +ten-1.test.ex in "*"? yes (matched "*") DNS lookup of ten-1.test.ex (MX) using fakens DNS lookup of ten-1.test.ex (MX) gave NO_DATA returning DNS_NODATA - writing neg-cache entry for ten-1.test.ex-MX-xxxx, ttl 3600 +faking res_search(MX) response length as 65535 + writing neg-cache entry for ten-1.test.ex-MX-xxxx, ttl 3000 +ten-1.test.ex (MX resp) DNSSEC DNS lookup of ten-1.test.ex (A) using fakens DNS lookup of ten-1.test.ex (A) succeeded fully qualified name = ten-1.test.ex @@ -501,7 +541,7 @@ set transport smtp queued for smtp transport: local_part = abcd domain = ten-1.test.ex errors_to=NULL - domain_data=NULL localpart_data=NULL + domain_data=NULL local_part_data=NULL routed by lookuphost router envelope to: abcd@ten-1.test.ex transport: smtp @@ -515,6 +555,7 @@ routing usery@nonexist.test.ex --------> srv router <-------- local_part=usery domain=nonexist.test.ex checking local_parts +compiled caseless RE '^srv' found in local cache usery in "^srv"? no (end of list) srv router skipped: local_parts mismatch --------> useryz router <-------- @@ -531,10 +572,12 @@ expanded list of hosts = 'nonexist.test.ex' options = 'bydns' set transport smtp finding IP address for nonexist.test.ex doing DNS lookup +nonexist.test.ex in "*"? yes (matched "*") DNS lookup of nonexist.test.ex (A) using fakens DNS lookup of nonexist.test.ex (A) gave HOST_NOT_FOUND returning DNS_NOMATCH - writing neg-cache entry for nonexist.test.ex-A-xxxx, ttl 3600 +faking res_search(A) response length as 65535 + writing neg-cache entry for nonexist.test.ex-A-xxxx, ttl 3000 useryz router: defer for usery@nonexist.test.ex message: lookup of host "nonexist.test.ex" failed in useryz router >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> @@ -546,6 +589,7 @@ routing userz@nonexist.test.ex --------> srv router <-------- local_part=userz domain=nonexist.test.ex checking local_parts +compiled caseless RE '^srv' found in local cache userz in "^srv"? no (end of list) srv router skipped: local_parts mismatch --------> useryz router <-------- @@ -561,7 +605,8 @@ original list of hosts = '$domain' options = 'bydns' expanded list of hosts = 'nonexist.test.ex' options = 'bydns' finding IP address for nonexist.test.ex doing DNS lookup -DNS lookup of nonexist.test.ex-A: using cached value DNS_NOMATCH +nonexist.test.ex in "*"? yes (matched "*") +DNS lookup of nonexist.test.ex (A): using cached value DNS_NOMATCH useryz router: defer for userz@nonexist.test.ex message: lookup of host "nonexist.test.ex" failed in useryz router >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> @@ -573,6 +618,7 @@ routing xyz@ten-1.test.ex --------> srv router <-------- local_part=xyz domain=ten-1.test.ex checking local_parts +compiled caseless RE '^srv' found in local cache xyz in "^srv"? no (end of list) srv router skipped: local_parts mismatch --------> useryz router <-------- @@ -587,7 +633,8 @@ xyz in "!userd"? yes (end of list) calling lookuphost router lookuphost router called for xyz@ten-1.test.ex domain = ten-1.test.ex -DNS lookup of ten-1.test.ex-MX: using cached value DNS_NODATA +ten-1.test.ex in "*"? yes (matched "*") +DNS lookup of ten-1.test.ex (MX): using cached value DNS_NODATA DNS lookup of ten-1.test.ex (A) using fakens DNS lookup of ten-1.test.ex (A) succeeded fully qualified name = ten-1.test.ex @@ -595,16 +642,16 @@ ten-1.test.ex V4NET.0.0.1 mx=-1 sort=xx queued for smtp transport: local_part = xyz domain = ten-1.test.ex errors_to=NULL - domain_data=NULL localpart_data=NULL + domain_data=NULL local_part_data=NULL routed by lookuphost router envelope to: xyz@ten-1.test.ex transport: smtp host ten-1.test.ex [V4NET.0.0.1] search_tidyup called ->>>>>>>>>>>>>>>> Exim pid=pppp (main) terminating with rc=2 >>>>>>>>>>>>>>>> +>>>>>>>>>>>>>>>> Exim pid=p1236 (fresh-exec) terminating with rc=2 >>>>>>>>>>>>>>>> Exim version x.yz .... changed uid/gid: forcing real = effective - uid=uuuu gid=CALLER_GID pid=pppp + uid=uuuu gid=CALLER_GID pid=p1237 configuration file is TESTSUITE/test-config admin user dropping to exim gid; retaining priv uid @@ -620,10 +667,13 @@ routing srv@test.again.dns --------> srv router <-------- local_part=srv domain=test.again.dns checking local_parts +compiled caseless RE '^srv' not found in local cache +compiled RE '^srv' saved in local cache srv in "^srv"? yes (matched "^srv") calling srv router srv router called for srv@test.again.dns domain = test.again.dns +test.again.dns in "*"? yes (matched "*") DNS lookup of _smtp._tcp.test.again.dns (SRV) using fakens DNS lookup of _smtp._tcp.test.again.dns (SRV) gave TRY_AGAIN _smtp._tcp.test.again.dns in dns_again_means_nonexist? no (option unset) @@ -641,10 +691,12 @@ routing srv@test.fail.dns --------> srv router <-------- local_part=srv domain=test.fail.dns checking local_parts +compiled caseless RE '^srv' found in local cache srv in "^srv"? yes (matched "^srv") calling srv router srv router called for srv@test.fail.dns domain = test.fail.dns +test.fail.dns in "*"? yes (matched "*") DNS lookup of _smtp._tcp.test.fail.dns (SRV) using fakens DNS lookup of _smtp._tcp.test.fail.dns (SRV) gave NO_RECOVERY returning DNS_FAIL @@ -664,10 +716,10 @@ returning DNS_FAIL srv router: defer for srv@test.fail.dns message: host lookup did not complete search_tidyup called ->>>>>>>>>>>>>>>> Exim pid=pppp (main) terminating with rc=1 >>>>>>>>>>>>>>>> +>>>>>>>>>>>>>>>> Exim pid=p1237 (fresh-exec) terminating with rc=1 >>>>>>>>>>>>>>>> Exim version x.yz .... changed uid/gid: forcing real = effective - uid=uuuu gid=CALLER_GID pid=pppp + uid=uuuu gid=CALLER_GID pid=p1238 configuration file is TESTSUITE/test-config admin user dropping to exim gid; retaining priv uid @@ -683,6 +735,8 @@ routing userx@nonexist.example.com --------> srv router <-------- local_part=userx domain=nonexist.example.com checking local_parts +compiled caseless RE '^srv' not found in local cache +compiled RE '^srv' saved in local cache userx in "^srv"? no (end of list) srv router skipped: local_parts mismatch --------> useryz router <-------- @@ -697,9 +751,11 @@ userx in "!userd"? yes (end of list) calling lookuphost router lookuphost router called for userx@nonexist.example.com domain = nonexist.example.com +nonexist.example.com in "*"? yes (matched "*") DNS lookup of nonexist.example.com (MX) using fakens DNS lookup of nonexist.example.com (MX) gave HOST_NOT_FOUND returning DNS_NOMATCH +faking res_search(MX) response length as 65535 writing neg-cache entry for nonexist.example.com-MX-xxxx, ttl 2 lookuphost router declined for userx@nonexist.example.com "more" is false: skipping remaining routers @@ -713,6 +769,7 @@ routing userd@nonexist.example.com --------> srv router <-------- local_part=userd domain=nonexist.example.com checking local_parts +compiled caseless RE '^srv' found in local cache userd in "^srv"? no (end of list) srv router skipped: local_parts mismatch --------> useryz router <-------- @@ -738,13 +795,15 @@ checking "condition" "${acl {delay}}"... calling delay router delay router called for userd@nonexist.example.com domain = nonexist.example.com -DNS lookup of nonexist.example.com-MX: cached value DNS_NOMATCH past valid time +nonexist.example.com in "*"? yes (matched "*") +DNS lookup of nonexist.example.com (MX): cached value DNS_NOMATCH past valid time DNS lookup of nonexist.example.com (MX) using fakens DNS lookup of nonexist.example.com (MX) gave HOST_NOT_FOUND returning DNS_NOMATCH +faking res_search(MX) response length as 65535 update neg-cache entry for nonexist.example.com-MX-xxxx, ttl 2 delay router declined for userd@nonexist.example.com "more" is false: skipping remaining routers no more routers search_tidyup called ->>>>>>>>>>>>>>>> Exim pid=pppp (main) terminating with rc=2 >>>>>>>>>>>>>>>> +>>>>>>>>>>>>>>>> Exim pid=p1238 (fresh-exec) terminating with rc=2 >>>>>>>>>>>>>>>>