[Kamailio-Users] Kamailio 3.0.1

Alex Balashov abalashov at evaristesys.com
Thu Mar 25 22:57:14 CET 2010


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;
                 }
         }

-- 
Alex Balashov - Principal
Evariste Systems LLC

Tel    : +1 678-954-0670
Direct : +1 678-954-0671
Web    : http://www.evaristesys.com/



More information about the Users mailing list