Re: Some remarks

Colin Pitrat <[email protected]>
Newsgroups gmane.comp.mobile.kannel.devel
Organization Bull
Message-ID <[email protected]>
Hello,
I re-send my patch for MWI sms.

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, 837 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.