<html><head><meta http-equiv="content-type" content="text/html; charset=us-ascii"></head><body style="overflow-wrap: break-word; -webkit-nbsp-mode: space; line-break: after-white-space;"><div dir="auto" style="overflow-wrap: break-word; -webkit-nbsp-mode: space; line-break: after-white-space;">Hi,<br><br>Is there any good solution for the scenario of an auth_challenge() with two separate transaction suspensions?<br><br>To clarify (simplified):<br><br><b style="font-family: "Courier New";">   </b><font face="FiraCodeNerdFontComplete-Regular"><span style="font-style: normal;"> request_route {<br>        ...<br><br>        t_newtran();<br><br>        if(!is_present_hf("Authorization") && !is_present_hf("Proxy-Authorization")) {<br>           auth_challenge("$fd", "1");<br>           exit;<br>        }<br><br>        # TM suspend/continue<br>        t_newtran();<br><br>        async credentials query("RESUME_AUTH");<br>    }<br><br>    route[RESUME_AUTH] {<br>        # Credentials received into PVs.<br><br>        if(!pv_auth_check("...")) {<br>            auth_challenge("$fd", "1");<br>            exit;<br>        }<br><br>        # Create transaction shell if not exists already from auth query.<br>        if(!t_lookup_request())<br>           t_newtran();<br><br>        # TM suspend/continue<br>        async route query("RESUME_ROUTING");<br>    }<br><br>    route[RESUME_ROUTING] {<br>        # Unmarshal etc.<br><br>        t_relay(); # etc.</span></font><br><font face="Courier New">    }</font><br><br>What happens here is that the first auth_challenge() results in a retransmission of its 407 challenge without absorbing the negative ACK. This is despite the ostensibly stateful behaviour of auth_challenge() without "force_stateless_reply" enabled.<br><br>In this case, it eclipses the second, unrelated 407 challenge from the subsequent routing query (407 challenge with +1 CSeq):<div><br></div><div><br><div><img src="cid:9CBA8AB8-B28A-423C-A469-DB4727F2E6CF" alt="Screenshot 2022-12-12 at 3.44.15 PM.jpeg"></div><div><br></div><div>-- Alex</div><div><br></div><div>
-- <br>Alex Balashov | Principal | Evariste Systems LLC<br><br>Tel: +1-706-510-6800 / +1-800-250-5920 (toll-free)<br>Web: http://www.evaristesys.com/, http://www.csrpswitch.com/<br>
</div>
<br></div></div></body></html>