On 03/25/2010 05:53 PM, dotnetdub wrote:
Attached:
if(is_uri_host_local()) { if(!allow_trusted()) { if(!proxy_authorize("", "subscriber")) { proxy_challenge("", "1"); exit; } else if(!check_from()) { sl_send_reply("403", "Forbidden"); exit; } } else { sl_send_reply("403", "Forbidden"); exit; } } append_rpid_hf(); consume_credentials();
There is no guarantee that either append_rpid_hf() or consume_credentials() runs if and only if proxy_authorize() was called.
Also, it is not clear why check_from() is at a relationship of logical disjunction vis-a-vis to proxy_authorize(). While not incorrect, it obfuscates the flow.
Try this and see if the problem continues:
if(is_uri_host_local()) {
if(!allow_trusted()) {
if(!proxy_authorize("", "subscriber")) { proxy_challenge("", "1"); exit; }
if(!check_from()) { sl_send_reply("403", "Forbidden"); exit; }
append_rpid_hf(); consume_credentials(); }
else { sl_send_reply("403", "Forbidden"); exit; } }