[OpenSER-Devel] Possible bug in acc_logic.c:acc_onreq?

Bogdan-Andrei Iancu bogdan at voice-system.ro
Mon Feb 18 14:21:04 CET 2008


Hi Phil,

it looks like you are right - it is quite interesting how this bug went 
undetected for such a long time....
I made the fix on the trunk version - please test and if everything ok I 
will port the fix to 1.3.

Thanks and regards,
Bogdan

Phil D'Amore wrote:
> Hello:
>
> In the acc_onreq function in acc_logic.c there is this code:
>
>                 tmcb_types =
>                         /* report on completed transactions */
>                         TMCB_RESPONSE_OUT |
>                         /* account e2e acks if configured to do so */
>                         ((report_ack && is_acc_on(ps->req))?TMCB_E2EACK_IN:0) |
>                         /* get incoming replies ready for processing */
>                         TMCB_RESPONSE_IN |
>                         /* report on missed calls */
>                         ((is_invite(t) &&
> is_mc_on(ps->req))?TMCB_ON_FAILURE:0) ;
>
> I think the is_invite(t) in there is invalid.  is_invite relies on the
> T_IS_INVITE_FLAG flag being set in t->flags.  At the time
> TMCB_REQUEST_IN callbacks are run, that flag will never be set,
> because init_new_t which sets that flag has not yet been called.  That
> means that TMCB_ON_FAILURE will never be set and callbacks will never
> happen for it.  As a result, failures don't generate records unless
> the failure is relayed.
>
> It seems that this should be done with (ps->req->REQ_METHOD==METHOD_INVITE).
>
> Can anyone tell me if my assessment is correct?
>
> _______________________________________________
> Devel mailing list
> Devel at lists.openser.org
> http://lists.openser.org/cgi-bin/mailman/listinfo/devel
>
>   




More information about the Devel mailing list