[PATCH] empty SMS replaced by default message

Colin Pitrat <[email protected]>
Newsgroups gmane.comp.mobile.kannel.devel
Organization Bull
Message-ID <[email protected]>
Hello,
I sent this patch a few days ago, but I've been told that mail with 
patch attached should be prefixed with [PATCH] so I resend it.

The problem is that judging by fields_to_dcs function in sms.c, an empty
message with an activating MWI flag should result in "discard message"
MWI whereas a non-empty message should result in "store message" MWI.

But when the smsbox handle the message sent by sendsms HTTP interface,
it replace the empty text by a default message. This problem is already
highlighted in the comment in the file. Here is the interesting part of
the file.

/*
   * Empty message? Two alternatives have to be handled:
   *  a) it's a HTTP sms-service reply: either ignore it or
   *     substitute the "empty" warning defined
   *  b) it's a sendsms HTTP interface call: leave the message empty
   *     if at least a UDH is given.
   *
   * XXX this still does not cover the case when the sendsms interface is
   * used with *no* text and udh. What should we do then?!
   */
   if (octstr_len(msg->sms.msgdata) == 0 && octstr_len(msg->sms.udhdata)
== 0) {
       if (trans != NULL && urltrans_omit_empty(trans))
           return 0;
       else
           msg->sms.msgdata = octstr_duplicate(reply_emptymessage);
   }

My proposition is to replace the if statement in order to check if the
message is a mt_reply (case a) or not.

Regards,
Colin
mwisms.patch (text/plain, 838 B)
diff -ur gateway/gw/smsbox.c gateway-new/gw/smsbox.c
--- gateway/gw/smsbox.c	2006-07-13 10:05:57.000000000 +0200
+++ gateway-new/gw/smsbox.c	2006-07-13 10:20:11.000000000 +0200
@@ -324,12 +324,8 @@
      *  a) it's a HTTP sms-service reply: either ignore it or
      *     substitute the "empty" warning defined
      *  b) it's a sendsms HTTP interface call: leave the message empty
-     *     if at least a UDH is given.
-     *
-     * XXX this still does not cover the case when the sendsms interface is
-     * used with *no* text and udh. What should we do then?!
      */
-    if (octstr_len(msg->sms.msgdata) == 0 && octstr_len(msg->sms.udhdata) == 0) {
+    if (octstr_len(msg->sms.msgdata) == 0 && msg->sms.sms_type == mt_reply) {
         if (trans != NULL && urltrans_omit_empty(trans))
             return 0;
         else
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.