Re: incorrect comparison of ppg_service_name and msg->sms.service in smsbox.c:obey_request_thread()
Stipe Tolj <[email protected]>
| Newsgroups | gmane.comp.mobile.kannel.devel |
|---|---|
| Organization | The Kannel Group |
| Message-ID | <[email protected]> |
Davy Chan wrote:
> I've been looking at this off and on since Jan of this year. It was
> sparked by Shyam Kumar's problem with dlr-url
> ("Subject: dlr-url and dlr-mask").
>
> Basically, if you have a sendsms-user group with a dlr-url defined _AND_
> a PPG group defined within the same config file, the dlr-url will
> not be instantiated since the call to urltrans_find_service()
> is never called.
>
> I'm looking at the following code in
> gateway/gw/smsbox.c:obey_request_thread():
>
> /*
> * no smsbox services when we are doing ppg dlr - so trans would be
> * NULL in this case.
> */
> if (dreport) {
> if (msg->sms.service == NULL || (msg->sms.service != NULL &&
> ppg_service_name != NULL &&
> octstr_compare(msg->sms.service, ppg_service_name) != 0)) {
> trans = NULL;
> } else {
> trans = urltrans_find_service(translations, msg);
> }
>
> info(0, "Starting delivery report <%s> from <%s>",
> octstr_get_cstr(msg->sms.service),
> octstr_get_cstr(msg->sms.sender));
>
> } else {
>
> In my opinion, the comparison to determine if the DLR is for a PPG
> initiated WAP Push is incorrect. The current logic is:
> IF the sms.service is not defined OR
> (when sms.service is defined and ppg_service_name is defined
> AND sms.service _NOT_EQUAL_ to ppg_service_name)
> THEN
> Don't find the translation structure associated with the service
> ELSE
> Do find the translation structure associated with the service
>
> I assume that the _NOT_EQUAL_ should actually be EQUAL and the 'if'
> comparision should be:
> if (msg->sms.service == NULL || (msg->sms.service != NULL &&
> ppg_service_name != NULL &&
> octstr_compare(msg->sms.service, ppg_service_name) == 0)) {
>
> which implies:
> Don't find the translation structure associated with the service
> IF the sms.service is not defined OR
> (when both sms.service and ppg_service_name exists
> AND sms.service EQUALS ppg_service_name)
>
> Am I correct in my assumptions that this is a bug? I'm not sure since
> I'm not too familar with the PPG side of Kannel just yet. I'm not
> sure there won't be a time when a PPG service name is the same as
> the value inside the sms.service (since it seems that sms.service is
> set by either the 'name =' or 'username =' declarations).
>
> See ya...
ok, Aarno should state on this? Aarno?
Stipe
mailto:stolj_{at}_wapme.de
-------------------------------------------------------------------
Wapme Systems AG
Vogelsanger Weg 80
40470 Düsseldorf, NRW, Germany
phone: +49.211.74845.0
fax: +49.211.74845.299
mailto:info_{at}_wapme-systems.de
http://www.wapme-systems.de/
-------------------------------------------------------------------