Ok, got it :)

Seems like it's working then. I'll make a couple of tests myself and commit it 
to SVN then.

Regards,
--
Alejandro Guerrieri
[email protected]



On 12/06/2010, at 16:39, Rene Kluwen wrote:

> msg_duplicate is the normal function from msg.h. No special meaning.
> 
> What happens is that gw_sql_save has a side effect. It escapes all text
> strings with a backslash before the "'" sign because it displays them in the
> INSERT INTO... statement in the database.
> When I designed the function I was under the impression that it escaped the
> strings in a copy... But apparently it doesn't.
> 
> What happens in the "old" version is that gw_sql_save_msg escapes the
> strings inline and later it does a "send_msg(conn->smsbox_connection, conn,
> msg)" with the same message... which has a backslash in front of the "'".
> 
> By duplicating the message before calling the gw_sql_save_msg, this behavior
> is eliminated.
> 
> Someone on the mailinglist (Tomasz) has already confirmed that the problem
> has been solved with this patch.
> 
> == Rene
> 
> 
> 
> -----Original Message-----
> From: Alejandro Guerrieri [mailto:[email protected]] 
> Sent: vrijdag 11 juni 2010 23:52
> To: Rene Kluwen
> Cc: 'Tomasz'; 'Kannel list'; [email protected]
> Subject: Re: [PATCH] RE: Messages with php stripslashes
> 
> +       msg_escaped = msg_duplicate(msg);
>         if (msg->sms.sms_type != report_mo)
> -            gw_sql_save_msg(msg, octstr_imm("MO"));
> +            gw_sql_save_msg(msg_escaped, octstr_imm("MO"));
>         else
> -            gw_sql_save_msg(msg, octstr_imm("DLR"));
> +            gw_sql_save_msg(msg_escaped, octstr_imm("DLR"));
> +       msg_destroy(msg_escaped);
> 
> and
> 
> -            gw_sql_save_msg(msg, octstr_imm("MT"));
> +           msg_escaped = msg_duplicate(msg);
> +            gw_sql_save_msg(msg_escaped, octstr_imm("MT"));
> +           msg_destroy(msg_escaped);
> 
> (and other similar lines)
> 
> You're duplicating the msg to msg_escaped and then running the same
> gw_sql_save_msg function? What difference does it make?
> 
> Or maybe msg_duplicate does some escaping magic I'm not aware of? If
> msg_duplicate does what the name says, I don't see what's changed.
> 
> Regards,
> 
> Alex
> --
> Alejandro Guerrieri
> [email protected]
> 
> 
> 
> On 11/06/2010, at 23:25, Rene Kluwen wrote:
> 
>> Sorry for crossposting. But I think the users are allowed to know what is
>> going on, even if this is a developers matter.
>> 
>> I think I found the solution to the problem below, which affects all
>> smsbox->sqlbox->bearerbox users.
>> 
>> I must admit: Haven't tested it yet. But it should work.
>> 
>> See attached patch. Votes?
>> 
>> 
>> -----Original Message-----
>> From: [email protected] [mailto:[email protected]] On Behalf
>> Of Tomasz
>> Sent: vrijdag 11 juni 2010 15:10
>> To: Kannel list
>> Subject: Re: Messages with php stripslashes
>> 
>> Hi,
>> 
>> I've got the same issue - when we send MT message by CGI which
>> contains ' sign, the recipient gets \' (escaped '). When we inject MT
>> directly to MySQL Database, recipient get only ' sing (valid!).
>> 
>> Our configuration is:
>> 
>> PHP MT PUSH  - SMSBOX - SQLBOX - BEARERBOX - SMSC
>> 
>> The problem is caused probably by SQLBOX - somewhere there must be
>> some kind of addslashes function. Escaped sign is being delivered to
>> BEARERBOX. I've tried to find this is source code but I was unable.
>> 
>> Have someone fixed this problem yet?
>> 
>> Thanks
>> Tomasz
>> 
>> W Twoim liście datowanym 24 maja 2010 (02:05:22) można przeczytać:
>> 
>>> I have posted some weeks ago a similar issue with sqlbox but it is not
>>> resolved for the moment, Alejandro to check on his side to reproduce the
>>> issue.
>> 
>>> Check my post in the mailling list archive to see if it the same problem:
>> 
>>> Object: *Quote and backslash issue*
>> 
>>> As you when using CGI interface to send a SMS I got the quote escaped on
>> the
>>> mobile, BUT when using directly SQL injection on sqlbox it works
>> correctly.
>> 
>>> Regards,
>> 
>>> Emmanuel
>> 
>> 
>> 
>> <sql-escape.patch>
> 
> 
> 


Reply via email to