Diff for /mqtt/src/Attic/conn.c between versions 1.1.2.9 and 1.1.2.10

version 1.1.2.9, 2011/12/05 17:05:38 version 1.1.2.10, 2011/12/09 09:53:54
Line 32  mqtt_msgCONNECT(mqtt_msg_t * __restrict buf, const cha Line 32  mqtt_msgCONNECT(mqtt_msg_t * __restrict buf, const cha
   
         if (!buf || !csConnID)          if (!buf || !csConnID)
                 return -1;                  return -1;
        if (strlen(csConnID) > 23) {        if (strlen(csConnID) > 24) {
                 mqtt_SetErr(EINVAL, "Error:: invalid argument ConnID is too long (max 23 bytes)");                  mqtt_SetErr(EINVAL, "Error:: invalid argument ConnID is too long (max 23 bytes)");
                 return -1;                  return -1;
         }          }
        if (csUser && strlen(csUser) > 12) {        if (csUser && strlen(csUser) > 13) {
                 mqtt_SetErr(EINVAL, "Error:: invalid argument Username is too long (max 12 bytes)");                  mqtt_SetErr(EINVAL, "Error:: invalid argument Username is too long (max 12 bytes)");
                 return -1;                  return -1;
         }          }
        if (csPass && strlen(csPass) > 12) {        if (csPass && strlen(csPass) > 13) {
                 mqtt_SetErr(EINVAL, "Error:: invalid argument Password is too long (max 12 bytes)");                  mqtt_SetErr(EINVAL, "Error:: invalid argument Password is too long (max 12 bytes)");
                 return -1;                  return -1;
         }          }
Line 254  mqtt_msgDISCONNECT(mqtt_msg_t * __restrict buf) Line 254  mqtt_msgDISCONNECT(mqtt_msg_t * __restrict buf)
  * @psPass = Password for Username, only if csUser is set   * @psPass = Password for Username, only if csUser is set
  * @passLen = Password length   * @passLen = Password length
  * @psWillTopic = Will Topic if !=NULL Will Flags set into message   * @psWillTopic = Will Topic if !=NULL Will Flags set into message
  * @topicLen = Will Topic length  
  * @psWillMessage = Will Message, may be NULL   * @psWillMessage = Will Message, may be NULL
  * @msgLen = Will Message length  
  * return: .reserved == 1 is error or == 0 connection flags & msg ok   * return: .reserved == 1 is error or == 0 connection flags & msg ok
  */   */
 mqtthdr_connflgs_t  mqtthdr_connflgs_t
 mqtt_readCONNECT(mqtt_msg_t * __restrict buf, u_short *kasec, char * __restrict psConnID, int connLen,   mqtt_readCONNECT(mqtt_msg_t * __restrict buf, u_short *kasec, char * __restrict psConnID, int connLen, 
                 char * __restrict psUser, int userLen, char * __restrict psPass, int passLen,                    char * __restrict psUser, int userLen, char * __restrict psPass, int passLen,  
                char * __restrict psWillTopic, int topicLen, char * __restrict psWillMessage, int msgLen)                char ** __restrict psWillTopic, char ** __restrict psWillMessage)
 {  {
         mqtthdr_connflgs_t flg = MQTT_CONNFLGS_INIT;          mqtthdr_connflgs_t flg = MQTT_CONNFLGS_INIT;
         struct mqtthdr *hdr;          struct mqtthdr *hdr;
Line 329  mqtt_readCONNECT(mqtt_msg_t * __restrict buf, u_short  Line 327  mqtt_readCONNECT(mqtt_msg_t * __restrict buf, u_short 
                         flg.reserved = 1;                          flg.reserved = 1;
                         return flg;                          return flg;
                 } else {                  } else {
                        if (psWillTopic && topicLen) {                        if (psWillTopic) {
                                memset(psWillTopic, 0, topicLen--);                                *psWillTopic = malloc(ntohs(var->var_sb.val) + 1);
                                memcpy(psWillTopic, var->var_data,                                 if (!*psWillTopic) {
                                                ntohs(var->var_sb.val) > topicLen ? topicLen : ntohs(var->var_sb.val));                                        LOGERR;
                                         flg.reserved = 1;
                                         return flg;
                                 } else
                                         memset(*psWillTopic, 0, ntohs(var->var_sb.val) + 1);
                                 memcpy(*psWillTopic, var->var_data, ntohs(var->var_sb.val));
                         }                          }
                         pos += MQTTHDR_VAR_SIZEOF(var);                          pos += MQTTHDR_VAR_SIZEOF(var);
                 }                  }
Line 344  mqtt_readCONNECT(mqtt_msg_t * __restrict buf, u_short  Line 347  mqtt_readCONNECT(mqtt_msg_t * __restrict buf, u_short 
                         flg.reserved = 1;                          flg.reserved = 1;
                         return flg;                          return flg;
                 } else {                  } else {
                        if (psWillMessage && msgLen) {                        if (psWillMessage) {
                                memset(psWillMessage, 0, msgLen--);                                *psWillMessage = malloc(ntohs(var->var_sb.val) + 1);
                                memcpy(psWillMessage, var->var_data,                                 if (!*psWillMessage) {
                                                ntohs(var->var_sb.val) > msgLen ? msgLen : ntohs(var->var_sb.val));                                        LOGERR;
                                         flg.reserved = 1;
                                         return flg;
                                 } else
                                         memset(*psWillMessage, 0, ntohs(var->var_sb.val) + 1);
                                 memcpy(*psWillMessage, var->var_data, ntohs(var->var_sb.val));
                         }                          }
                         pos += MQTTHDR_VAR_SIZEOF(var);                          pos += MQTTHDR_VAR_SIZEOF(var);
                 }                  }

Removed from v.1.1.2.9  
changed lines
  Added in v.1.1.2.10


FreeBSD-CVSweb <freebsd-cvsweb@FreeBSD.org>