Maybe, maybe not...

Follow http://www.opensips.org/Documentation/TroubleShooting-Crash and post the backtrace for your crash.

Regards,

Bogdan-Andrei Iancu
OpenSIPS Founder and Developer
http://www.opensips-solutions.com

On 04.04.2014 14:19, Alexander Mustafin wrote:
Hello!

I can’t find commit in git for this problem.

Maybe, my problem related:

opensips[4065]: segfault at 0 ip (null) sp 00007fff64ade248 error 14 in opensips[400000+14c000]


Best regards,
Alexander Mustafin
[email protected] <mailto:[email protected]>




27 марта 2014 г., в 2:08, Justin Zondagh <[email protected] <mailto:[email protected]>> написал(а):

Thanks Bogdan, glad we could fix it.

Regards,
Justin

*
*
*Justin Zondagh
*[email protected] <mailto:[email protected]>

Cape Town | South Africa
skype: jrzondagh
m: +27 72 598 4887 | f: +27 86 546 1405
uk:**+44 20 328 99610


On Wed, Mar 26, 2014 at 7:57 PM, Bogdan-Andrei Iancu <[email protected] <mailto:[email protected]>> wrote:

    Hello Justin,

    Thanks for all your help - I managed to find and fix the bug -
    please update from GIT and try again.

    Best regards,

    Bogdan-Andrei Iancu
    OpenSIPS Founder and Developer
    http://www.opensips-solutions.com  <http://www.opensips-solutions.com/>

    On 25.03.2014 21:31, Justin Zondagh wrote:
    Hi Bogdan,

    I placed the LM_DBG as follows

            if ( is_script_func_used("uac_auth", -1) ) {
                    /* load the UAC_AUTH API as uac_auth() is
    invoked from script */
    if(load_uac_auth_api(&uac_auth_api)<0){
    LM_ERR("can't load UAC_AUTH API, needed for uac_auth()\n");
                            goto error;
                    }

                    LM_DBG("Loaded uac_auth api as found in script");
            }

    But nothing appears in the log on init.



    I'm using the uac_auth() in a failure route



    failure_route[ip_auth_fail]
    {

            if (t_check_status("401")) {
    xlog("L_INFO","[$ci] Got 401 from Proxy\n");

    avp_db_query("select password from registrant where username =
    '$(avp(authuser){s.escape.common})'","$avp(authpass)");

                    $avp(authrealm) = "";

                    $avp(www) = $(<reply>hdr(WWW-Authenticate));
    avp_subst("$avp(www)", "/Digest\s//");

                    #Get the realm from the www-auth header
                    $var(numkvp) = $(avp(www){csv.count});
                    $var(i) = 0;
                    while($var(i) < $var(numkvp)) {

                            $var(temp) =
    $(avp(www){s.select,$var(i),,});

                            if ($var(temp) =~ "realm.*") {
    $avp(authrealm) = $var(temp);
    avp_subst("$avp(authrealm)","/(realm=\")(.*)(\")/\2/");
    #$avp(authrealm) := "asterisk";
                            }

                            $var(i) = $var(i) + 1;
                    }

    xlog("L_INFO","[$ci] authrealm is [$avp(authrealm)], authuser is
    [$avp(authuser)], authpass is [$avp(authpass)]\n");

                    #No need for loop prevention as Proxy sends 183
    early media recording saying password is wrong, then sends 603

                    if (uac_auth()) {
    xlog("L_INFO","[$ci] Built auth, sending back to Proxy\n");

    t_on_failure("ip_auth_fail");

                            # the $du should really be uri as
    specified in Record-Route in 401, but using reply's source IP
    for now
                            $du = "sip:" + $(<reply>si) + ":5060";

    xlog("L_INFO", "[$ci] Sending request with Auth header to [$du]\n");
                            t_relay();

                    }
            }

            if (t_was_cancelled()) {
                    exit;
            }

    }



    *
    *
    *Justin Zondagh
    *[email protected] <mailto:[email protected]>

    Cape Town | South Africa
    skype: jrzondagh
    m: +27 72 598 4887 <tel:%2B27%2072%20598%204887> | f: +27 86 546
    1405 <tel:%2B27%2086%20546%201405>
    uk:**+44 20 328 99610 <tel:%2B44%2020%20328%2099610>


    On Tue, Mar 25, 2014 at 7:28 PM, Bogdan-Andrei Iancu
    <[email protected] <mailto:[email protected]>> wrote:

        Hello Justin,

        In the 1.10 code, in the UAC module, in the mod_init
        function, the binding to UAC AUTH module is to be done. See
        line 171 in modules/uac/uac.c


            if ( is_script_func_used("uac_auth", -1) ) {
                /* load the UAC_AUTH API as uac_auth() is invoked
        from script */
        if(load_uac_auth_api(&uac_auth_api)<0){
                    LM_ERR("can't load UAC_AUTH API, needed for
        uac_auth()\n");
                    goto error;
                }
            }


        Maybe the is_script_func_used() doesn't trigger properly
        there - in what kind of route are you using the uac_auth()
        function ? Could you place a LM_DBG() in that 'if' statement
        to see if it goes in there ?

        Thank and regards,

        Bogdan-Andrei Iancu
        OpenSIPS Founder and Developer
        http://www.opensips-solutions.com  <http://www.opensips-solutions.com/>

        On 25.03.2014 14:28, Justin Zondagh wrote:
        Hi Bogdan,

        I have found and fixed the bug. The uac_auth_api wasn't
        being loaded before being called as you suspected.

        I added this code

        if(load_uac_auth_api(&uac_auth_api) < 0){
        LM_INFO("Error loading uac_auth_api");
                        goto error;
                }


        before calling the API on the next line:

                crd = uac_auth_api._lookup_realm( &auth->realm );


        Seems to work now...

        How do we commit this to code base?

        Regards,
        Justin


        *
        *
        *Justin Zondagh
        *[email protected] <mailto:[email protected]>

        Cape Town | South Africa
        skype: jrzondagh
        m: +27 72 598 4887 <tel:%2B27%2072%20598%204887> | f: +27
        86 546 1405 <tel:%2B27%2086%20546%201405>
        uk:**+44 20 328 99610 <tel:%2B44%2020%20328%2099610>


        On Tue, Mar 25, 2014 at 10:18 AM, Justin Zondagh
        <[email protected] <mailto:[email protected]>> wrote:

            They were the wrong way round, but swapped them and
            seems to have the same issue:





_______________________________________________
Users mailing list
[email protected] <mailto:[email protected]>
http://lists.opensips.org/cgi-bin/mailman/listinfo/users



_______________________________________________
Users mailing list
[email protected]
http://lists.opensips.org/cgi-bin/mailman/listinfo/users

_______________________________________________
Users mailing list
[email protected]
http://lists.opensips.org/cgi-bin/mailman/listinfo/users

Reply via email to