Hi alejandro,

I'm wondering why this condition has been changed

if (user == NULL || pass == NULL) {
user = octstr_create("");
pass = octstr_create("");
}

into:

if (user == NULL && pass == NULL) {
user = octstr_create("");
pass = octstr_create("");
}

I think that we need to check both of these values.
if user = blah and password = NULL
we will do octstr_compare with password and this is not safe.

Vincent.

--
Telemaque - 06560 SOPHIA-ANTIPOLIS - (FR)
Service Technique/Reseau - NOC
Developpement SMS/MMS/Kiosques
http://www.telemaque.fr/
[EMAIL PROTECTED]
Tel : +33 4 92 90 99 84 (fax 9142)
----- Original Message ----- From: "Alejandro Guerrieri" <[EMAIL PROTECTED]>
To: "Alexander Malysh" <[EMAIL PROTECTED]>
Cc: <[email protected]>
Sent: Thursday, September 06, 2007 10:31 PM
Subject: Re: [PATCH] Support for MO parameters on 'generic' HTTP SMSC - Secondrevision


Done,
Done,

New version of the patch, using generic_receive_sms() instead of
kannel_receive_sms()

http://www.magicom-bcn.net/kannel/full-mo-http-params-20070906.patch

Regards,

Alejandro

On 9/6/07, Alexander Malysh <[EMAIL PROTECTED]> wrote:
Hi,

please doesn't change kannel http mode. Please define new MO function for
generic HTTP mode instead.

Alejandro Guerrieri wrote:

> Hi,
>
> I've improved my patch and added extra flexibility. Now it's possible
> to implement full clickatell functionality (including DLR's) by
> properly configure the 'generic' http smsc.
>
> The patch is available here:
>
> http://magicom-bcn.net/kannel/full-mo-http-params-20070905.patch
>
> The patch allows for this new parameters on config:
>
> * This parameters allows to rename the proper MO parameters to
> whatever you like:
>
> mo-from
> mo-to
> mo-text
> mo-udh
> mo-account
> mo-binfo
> mo-dlr-url
> mo-dlr-mid
> mo-flash
> mo-mclass
> mo-mwi
> mo-coding
> mo-validity
> mo-deferred
> mo-dlr-mask
> mo-dlr-stat -> this special one allows you to rename the message_id
> being returned by an external dlr confirmation, such as clickatell's
> "status" parameter.
>
> For example, setting mo-from = whatever, then the "from" parameter
> will be renamed "whatever".
>
> * This allows you to rename the return string the http generic smsc
> returns:
>
> mo-ret-accepted
> mo-ret-denied
> mo-ret-unknown-dlr
> mo-ret-missing-args
> mo-ret-udh-mismatch
> mo-ret-udh-long
> mo-ret-auth-failed
> mo-ret-dlr-accepted
> mo-ret-dlr-denied
>
> For example, the mo-ret-accpeted allows you to change the "Sent." text
> you get for anything else.
>
> Now comes the "new" features:
>
> id-from-reply -> When you send an MT message to an external http smsc
> and you ask for a DLR, kannel "invents" a message_id. This parameters
> allows you to get that message id from the external source,
> effectively enabling the use of DLR's with clickatell. You must fill
> this field with the text expected _before_ the message_id. In the case
> of clickatell that's "ID:". So, if you get "ID:12345678" the
> message_id will be "12345678".
>
> err-from-reply -> Same thing but for error id's.
>
> This 3 parameters allows you to map different external statuses to
> kannel dlr statuses:
>
> dlr-success-regex -> maps to DLR_SUCCESS (0x08)
> dlr-permfail-regex -> maps to DLR_BUFFERED (0x04)
> dlr-tempfail-regex -> maps to DLR_FAILED (0x02)
>
> So, to implement clickatell's connectivity for MT and DLR's, you just
> need to configure like this:
>
> group = smsc
> smsc = http
> system-type = generic
> smsc-id = clicka
> allowed-smsc-id = clicka
> port = 15000
> send-url =
> 
"https://api.clickatell.com/http/sendmsg?to=%p&from=%P&text=%b&api_id=NNNNNN&user=XXXXXX&password=PPPPPP&callback=3&deliv_ack=3&req_feat=8192";
> status-success-regex = "ID" status-permfail-regex = "ERR"
> status-tempfail-regex = "TEMP"
> mo-dlr-mid = apiMsgId
> mo-dlr-stat = status
> id-from-reply = "ID:"
> err-from-reply = "ERR:"
> dlr-success-regex ="(004|008)"
> dlr-permfail-regex = "(001|005|006|007|009|010)"
> dlr-tempfail-regex ="(002|003|011)"
>
> I'll explain a little more:
>
> send-url points to the clickatell http api. A few parameters are
> hardcoded, like api_id, user/pass, etc.
> status-*-regex (current kannel functionality) is used to detect
> whether the message was accepted by clickatell's api.
>
> mo-dlr-* is used to map the DLR parameters to kannel's own.
>
> id/err-from-reply is used to fetch the message/error id on MT from
> clickatell's http response. This is mandatory for DLR's only.
>
> dlr-*-regex is used to map the different possible responses to
> different kannel DLR status. So, if kannel responds with "004" or
> "008" a DLR Success will be sent (0x08 for Kannel).
>
> I don't have  a two-way account for clickatell, so I couldn't test the
> MO part, but it should be as simple as to map the proper parameters by
> configuring mo-* parameters and maybe mapping some mo-ret-* strings
> also.
>
> Last by not least, the goal of this patch wasn't to replace the
> clickatell interface, but to provide a generic mean to implement other
> SMSC's without writing source code and recompiling. The clickatell
> example was just that, an example of the capabilities being added.
>
> I'd happily try to model other http smsc's (even extending the patch
> to accomodate extra flexibility), just drop me a line in private and
> send me docs about it.
>
> Regards,

--
Thanks,
Alex





--
Alejandro Guerrieri
Magicom
http://www.magicom-bcn.net/
LinkedIn: http://www.linkedin.com/in/aguerrieri





Reply via email to