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

Phil D'Amore ptdamore at gmail.com
Tue Feb 19 16:39:21 CET 2008


Hi Bogdan,

I sent the mail to the users list before I realized I was dealing with
a bug, so I then created this sort of duplicate thread.  HEAD doesn't
seem to build all the modules for me right now, so I took your changes
and applied them to my 1.3 set up and it worked perfectly.

Thanks,
Phil

On Feb 18, 2008 8:21 AM, Bogdan-Andrei Iancu <bogdan at voice-system.ro> wrote:
> 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