[SR-Users] Kamailio 3.0.4 is crashed

Daniel-Constantin Mierla miconda at gmail.com
Mon Sep 12 09:16:41 CEST 2011


Hello,

try to keep the mailing list cc-ed -- others may be able to help you 
faster or this discussion will be helpful for different people.

The username_spec and password_spec were removed indeed, the first was 
useless since the username was taken from auth header and the second 
became parameter to pv_www_authenticate, see:

http://kamailio.org/docs/modules/3.1.x/modules/auth.html#pv_www_authenticate

You simply have to use something like:

if (!pv_www_authenticate("$td", "$var(password)", "0")) {
	www_challenge("$td", "0");
         exit;
}

Cheers,
Daniel

On 9/10/11 12:51 PM, Khoa Phuong Viet Ngo wrote:
> Hi Daniel,
>
> Thanks Daniel for your answer.
>
> It's very helpful for me :).
>
> Actually i tried with using kamailio 3.1.4 (lastest kamailio) but i 
> got the problem with auth module and parameter with auth module.
> Because some parameters at auth module have changed.
> http://kamailio.org/docs/modules/stable/modules/auth.html  [3.1.4]
>
> But in 3.0.4 kamailio, i am using auth module with these parameter and 
> it had error with new kamailio (3.1.4) . :(
>
> kamailio.cfg
>
> ########################################################
> loadmodule auth.so
>
> # ----- auth params -----
> modparam("auth", "username_spec", "$var(username)")
> modparam("auth", "password_spec", "$var(password)")
> modparam("auth", "calculate_ha1", 1)
>
> route[AUTH] {
>     $var(utype) = 0;
> #!ifdef WITH_AUTH
>     if (is_method("REGISTER"))
>     {
>         if(is_present_hf("Authorization"))
>         {
>             # authenticate the REGISTER requests (uncomment to enable 
> auth)
>             if(!route(GETPASSWD))
>             {
>                 www_challenge("", "0");
>                 exit;
>             }
>   if(!pv_www_authorize(""))
>             {
> www_challenge(""/*realm*/,"0"/*qop*/);
>                 exit;
>             }
>         } else {
>             www_challenge("", "0");
>             exit;
>         }
>     } else {
>         $var(srcgrp) = allow_source_address_group();
>         if ($var(srcgrp) > 0) {
>             # src ip allowed
>             $var(utype) = 1;
>             if($var(srcgrp)!=100)
>             {
>                 $rd = $Ri;
>                 $fs  = "udp:" + $Ri + ":5062";
>             }
>             return 1;
>         }
>         # authenticate if from local subscriber (uncomment to enable auth)
>         if (from_uri==myself)
>         {
>             if(is_present_hf("Proxy-Authorization"))
>             {
>                 # authenticate the non-REGISTER requests (uncomment to 
> enable auth)
>                 if(!route(GETPASSWD))
>                 {
>                     proxy_challenge("", "0");
>                     exit;
>                 }
>                 if(!pv_proxy_authorize(""))
>                 {
>                     proxy_challenge(""/*realm*/,"0"/*qop*/);
>                     exit;
>                 }
>             } else {
>                 proxy_challenge("", "0");
>                 exit;
>             }
>             $var(utype) = 2;
>             consume_credentials();
>             # caller authenticated
>         }
>     }
> #!endif
>     return;
> }
>
> #####################################################
>
> Error logs:
>
> Sep  6 19:37:01 CorePBX kamailio: ERROR: <core> [modparam.c:150]: 
> set_mod_param_regex: parameter <username_spec> not found in module <auth>
> Sep  6 19:37:01 CorePBX kamailio: : <core> [cfg.y:3419]: parse error 
> in config file /usr/local/etc/kamailio/kamailio.cfg, line 260, column 
> 51: Can't set module parameter
> Sep  6 19:37:01 CorePBX kamailio: ERROR: <core> [modparam.c:150]: 
> set_mod_param_regex: parameter <password_spec> not found in module <auth>
> Sep  6 19:37:01 CorePBX kamailio: : <core> [cfg.y:3419]: parse error 
> in config file /usr/local/etc/kamailio/kamailio.cfg, line 261, column 
> 51: Can't set module parameter
> Sep  6 19:37:01 CorePBX kamailio: ERROR: <core> [modparam.c:150]: 
> set_mod_param_regex: parameter <calculate_ha1> not found in module <auth>
> Sep  6 19:37:01 CorePBX kamailio: : <core> [cfg.y:3419]: parse error 
> in config file /usr/local/etc/kamailio/kamailio.cfg, line 262, column 
> 36: Can't set module parameter
> Sep  6 19:37:01 CorePBX kamailio: : <core> [cfg.y:3419]: parse error 
> in config file /usr/local/etc/kamailio/kamailio.cfg, line 562, column 
> 27: unknown command, missing loadmodule?
> Sep  6 19:37:01 CorePBX kamailio: : <core> [cfg.y:3419]: parse error 
> in config file /usr/local/etc/kamailio/kamailio.cfg, line 594, column 
> 30: unknown command, missing loadmodule?
> Sep  6 19:37:39 CorePBX kamailio: ERROR: <core> [modparam.c:150]: 
> set_mod_param_regex: parameter <username_spec> not found in module <auth>
> Sep  6 19:37:39 CorePBX kamailio: : <core> [cfg.y:3419]: parse error 
> in config file /usr/local/etc/kamailio/kamailio.cfg, line 260, column 
> 51: Can't set module parameter
> Sep  6 19:37:39 CorePBX kamailio: ERROR: <core> [modparam.c:150]: 
> set_mod_param_regex: parameter <password_spec> not found in module <auth>
> Sep  6 19:37:39 CorePBX kamailio: : <core> [cfg.y:3419]: parse error 
> in config file /usr/local/etc/kamailio/kamailio.cfg, line 261, column 
> 51: Can't set module parameter
> Sep  6 19:37:39 CorePBX kamailio: ERROR: <core> [modparam.c:150]: 
> set_mod_param_regex: parameter <calculate_ha1> not found in module <auth>
>
> ########################################################
>
> I appreciate all your help on this case.
>
> Thanks Daniel,
> KhoaNVP
>
>
>
>
> On Sat, Sep 10, 2011 at 1:58 PM, Daniel-Constantin Mierla 
> <miconda at gmail.com <mailto:miconda at gmail.com>> wrote:
>
>     Hello,
>
>     it seems like a buffer overflow happened previously, since the
>     crash is in malloc. Do you get any error messages is syslog? Can
>     you recompile with QM_DBG_MALLOC like explained in the next link
>     and try again watching the syslog messages?
>     http://www.kamailio.org/dokuwiki/doku.php/troubleshooting:memory
>
>     On another hand, 3.0.4 is quite old, why are not using 3.1.4, it
>     is far more updated than 3.0 series -- we are just to release
>     first in 3.2 series. Upgrading from 3.0 to 3.1 is rather trivial.
>
>     Cheers,
>     Daniel
>
>
>     On 9/9/11 8:38 PM, KhoaNVP wrote:
>
>         Hi everyone,
>
>         I hope you can help me with this issues.
>         I'm working with kamailio 3.0.4 and when i implement the call
>         via kamailio
>         after 1-->3 mins , kamailio is crashed.
>
>         It's my debug from core log.
>
>         Core was generated by `kamailio -E -ddd'.
>         Program terminated with signal 11, Segmentation fault.
>         #0  fm_malloc (qm=0x88c860, size=<value optimized out>) at
>         mem/f_malloc.c:382
>         382             *f=frag->u.nxt_free;
>         (gdb) qt
>         Undefined command: "qt".  Try "help".
>         (gdb) bt
>         #0  fm_malloc (qm=0x88c860, size=<value optimized out>) at
>         mem/f_malloc.c:382
>         #1  0x000000000041fd27 in dup_lump_list_r (l=0x9275f8,
>         dir=LD_AFTER,
>         error=0x7fff23bd661c) at data_lump.c:453
>         #2  0x000000000041ffa9 in dup_lump_list_r (l=0x927640,
>         dir=LD_AFTER,
>         error=0x7fff23bd666c) at data_lump.c:476
>         #3  0x000000000041ff6d in dup_lump_list_r (l=0x926db0,
>         dir=<value optimized
>         out>, error=0x7fff23bd66b4) at data_lump.c:465
>         #4  0x0000000000420058 in dup_lump_list (l=0x88c860) at
>         data_lump.c:508
>         #5  0x00002b8b2efb858d in prepare_new_uac (t=0x2b8b3218ffa8,
>         i_req=0x926ef0,
>         branch=0, uri=0x927150, path=0x9274d0, next_hop=<value
>         optimized out>,
>             fsocket=0x0, snd_flags=0 '\000', fproto=0, flags=0) at
>         t_fwd.c:242
>         #6  0x00002b8b2efb94c7 in add_uac (t=0x2b8b3218ffa8,
>         request=0x926ef0,
>         uri=0x927150, next_hop=0x7, path=0x9274d0, proxy=0x0, fsocket=0x0,
>             snd_flags=0 '\000', proto=0, flags=0) at t_fwd.c:679
>         #7  0x00002b8b2efbce7a in t_forward_nonack (t=0x2b8b3218ffa8,
>         p_msg=0x926ef0, proxy=0x0, proto=0) at t_fwd.c:1340
>         #8  0x00002b8b2efb4996 in t_relay_to (p_msg=0x926ef0,
>         proxy=0x0, proto=0,
>         replicate=0) at t_funcs.c:358
>         #9  0x0000000000413489 in do_action (h=0x7fff23bd71e0, a=0x8be788,
>         msg=0x926ef0) at action.c:860
>         #10 0x0000000000415e03 in run_actions (h=0x7fff23bd71e0,
>         a=0x8be788,
>         msg=0x926ef0) at action.c:1315
>         #11 0x00000000004161e7 in run_actions_safe (h=0x7fff23bd8bb0,
>         a=0x38,
>         msg=0x88ca08) at action.c:1370
>         #12 0x000000000049696b in rval_get_int (h=0x7fff23bd8bb0,
>         msg=0x88ca08,
>         i=0x7fff23bd75dc, rv=0x7, cache=0x7) at rvalue.c:897
>         #13 0x000000000049b7fc in rval_expr_eval_int (h=0x7fff23bd8bb0,
>         msg=0x926ef0, res=0x7fff23bd75dc, rve=0x8be878) at rvalue.c:1841
>         #14 0x000000000049b8ad in rval_expr_eval_int (h=0x7fff23bd8bb0,
>         msg=0x926ef0, res=0x7fff23bd79d8, rve=0x8bef48) at rvalue.c:1848
>         #15 0x0000000000411d49 in do_action (h=0x7fff23bd8bb0, a=0x8bf798,
>         msg=0x926ef0) at action.c:834
>         #16 0x0000000000415e03 in run_actions (h=0x7fff23bd8bb0,
>         a=0x8be608,
>         msg=0x926ef0) at action.c:1315
>         #17 0x0000000000413084 in do_action (h=0x7fff23bd8bb0, a=0x8f6060,
>         msg=0x926ef0) at action.c:479
>         #18 0x0000000000415e03 in run_actions (h=0x7fff23bd8bb0,
>         a=0x8f6060,
>         msg=0x926ef0) at action.c:1315
>         #19 0x0000000000411dab in do_action (h=0x7fff23bd8bb0, a=0x8f62d0,
>         msg=0x926ef0) at action.c:853
>         #20 0x0000000000415e03 in run_actions (h=0x7fff23bd8bb0,
>         a=0x8f62d0,
>         msg=0x926ef0) at action.c:1315
>         #21 0x0000000000413084 in do_action (h=0x7fff23bd8bb0, a=0x8bd698,
>         msg=0x926ef0) at action.c:479
>         #22 0x0000000000415e03 in run_actions (h=0x7fff23bd8bb0,
>         a=0x8bd398,
>         msg=0x926ef0) at action.c:1315
>         #23 0x0000000000411dab in do_action (h=0x7fff23bd8bb0, a=0x8bd788,
>         msg=0x926ef0) at action.c:853
>         #24 0x0000000000415e03 in run_actions (h=0x7fff23bd8bb0,
>         a=0x8a1340,
>         msg=0x926ef0) at action.c:1315
>         #25 0x0000000000416174 in run_top_route (a=0x8a1340,
>         msg=0x926ef0, c=<value
>         optimized out>) at action.c:1391
>         #26 0x000000000048009c in receive_msg (buf=0x57e779 "DEBUG",
>         len=<value
>         optimized out>, rcv_info=0x7fff23bd8e20) at receive.c:196
>         #27 0x000000000050698b in udp_rcv_loop () at udp_server.c:520
>         #28 0x0000000000455e2f in main_loop () at main.c:1447
>         #29 0x0000000000456f32 in main (argc=<value optimized out>,
>         argv=0x7fff23bd90e8) at main.c:2251
>         (gdb)
>
>
>         Thanks with all the help,
>         Khoa
>
>
>     -- 
>     Daniel-Constantin Mierla -- http://www.asipto.com
>     Kamailio Advanced Training, Oct 10-13, Berlin: http://asipto.com/u/kat
>     http://linkedin.com/in/miconda -- http://twitter.com/miconda
>
>

-- 
Daniel-Constantin Mierla -- http://www.asipto.com
Kamailio Advanced Training, Oct 10-13, Berlin: http://asipto.com/u/kat
http://linkedin.com/in/miconda -- http://twitter.com/miconda

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.sip-router.org/pipermail/sr-users/attachments/20110912/0ef159eb/attachment-0001.htm>


More information about the sr-users mailing list