Diff for /mqtt/src/pubmqtt.c between versions 1.1.2.16 and 1.1.2.17

version 1.1.2.16, 2011/12/14 12:45:30 version 1.1.2.17, 2011/12/16 02:09:20
Line 81  mqtt_rtlm_close(sqlite3 *sql) Line 81  mqtt_rtlm_close(sqlite3 *sql)
  *   *
  * @cfg = loaded config   * @cfg = loaded config
  * @sql = SQL handle   * @sql = SQL handle
  * @user = username  
  * @connid = connection id   * @connid = connection id
    * @user = username
  * @host = hostname   * @host = hostname
  * @port = port  
  * @will = will flag if !=0 must fill arguments   * @will = will flag if !=0 must fill arguments
  * @... = will arguments in order topic,msg,qos,retain   * @... = will arguments in order topic,msg,qos,retain
  * return: -1 error, 0 session already appears or >0 row changed   * return: -1 error, 0 session already appears or >0 row changed
  */   */
 int  int
mqtt_rtlm_init_session(sl_config *cfg, sqlite3 *sql, const char *user, const char *connidmqtt_rtlm_init_session(sl_config *cfg, sqlite3 *sql, const char *connid, const char *user
                const char *host, u_short port, char will, ...)                const char *host, char will, ...)
 {  {
         va_list lst;          va_list lst;
         int ret = 0;          int ret = 0;
Line 107  mqtt_rtlm_init_session(sl_config *cfg, sqlite3 *sql, c Line 106  mqtt_rtlm_init_session(sl_config *cfg, sqlite3 *sql, c
                 return -1;                  return -1;
         }          }
         if (!will)          if (!will)
                snprintf(szStmt, sizeof szStmt, "INSERT INTO %s (Username, ConnID, RemoteHost, RemotePort, "                snprintf(szStmt, sizeof szStmt, "INSERT INTO %s (ConnID, Username, RemoteHost, "
                                "WillFlag) VALUES ('%s', '%s', '%s', %d, 0);", str, user, connid, host, port);                                "WillFlag) VALUES ('%s', '%s', '%s', 0);", str, connid, user, host);
         else {          else {
                 va_start(lst, will);                  va_start(lst, will);
                snprintf(szStmt, sizeof szStmt, "INSERT INTO %s (Username, ConnID, RemoteHost, RemotePort, "                snprintf(szStmt, sizeof szStmt, "INSERT INTO %s (ConnID, Username, RemoteHost, "
                                 "WillFlag, WillRetain, WillQoS, WillMsg, WillTopic) "                                  "WillFlag, WillRetain, WillQoS, WillMsg, WillTopic) "
                                "VALUES ('%s', '%s', '%s', %d, %d, %d, %d, '%s', '%s');",                                 "VALUES ('%s', '%s', '%s', %d, %d, %d, '%s', '%s');", 
                                str, user, connid, host, port, will,                                 str, connid, user, host, will, 
                                 va_arg(lst, int), va_arg(lst, int), va_arg(lst, char*), va_arg(lst, char*));                                  va_arg(lst, int), va_arg(lst, int), va_arg(lst, char*), va_arg(lst, char*));
                 va_end(lst);                  va_end(lst);
         }          }
Line 140  mqtt_rtlm_init_session(sl_config *cfg, sqlite3 *sql, c Line 139  mqtt_rtlm_init_session(sl_config *cfg, sqlite3 *sql, c
  *   *
  * @cfg = loaded config   * @cfg = loaded config
  * @sql = SQL handle   * @sql = SQL handle
  * @user = username  
  * @connid = connection id   * @connid = connection id
    * @user = username
  * @host = hostname   * @host = hostname
  * return: -1 error, 0 session already appears or >0 row changed   * return: -1 error, 0 session already appears or >0 row changed
  */   */
 int  int
mqtt_rtlm_fini_session(sl_config *cfg, sqlite3 *sql, const char *user, const char *connid, const char *host)mqtt_rtlm_fini_session(sl_config *cfg, sqlite3 *sql, const char *connid, const char *user, const char *host)
 {  {
         int ret = 0;          int ret = 0;
         char *str, szStmt[BUFSIZ] = { 0 };          char *str, szStmt[BUFSIZ] = { 0 };
Line 160  mqtt_rtlm_fini_session(sl_config *cfg, sqlite3 *sql, c Line 159  mqtt_rtlm_fini_session(sl_config *cfg, sqlite3 *sql, c
                 mqtt_rtlm_log("Error:: not found online table name");                  mqtt_rtlm_log("Error:: not found online table name");
                 return -1;                  return -1;
         }          }
        snprintf(szStmt, sizeof szStmt, "DELETE FROM %s WHERE Username = '%s' AND ConnID = '%s' "        snprintf(szStmt, sizeof szStmt, "DELETE FROM %s WHERE ConnID = '%s' AND Username = '%s' "
                         "AND RemoteHost LIKE '%s';", str, user, connid, host);                          "AND RemoteHost LIKE '%s';", str, user, connid, host);
   
         if (sqlite3_prepare_v2(sql, szStmt, strlen(szStmt), &stmt, NULL)) {          if (sqlite3_prepare_v2(sql, szStmt, strlen(szStmt), &stmt, NULL)) {
Line 184  mqtt_rtlm_fini_session(sl_config *cfg, sqlite3 *sql, c Line 183  mqtt_rtlm_fini_session(sl_config *cfg, sqlite3 *sql, c
  *   *
  * @cfg = loaded config   * @cfg = loaded config
  * @sql = SQL handle   * @sql = SQL handle
  * @user = username  
  * @connid = connection id   * @connid = connection id
    * @user = username
  * @host = hostname   * @host = hostname
  * return: -1 error, 0 not logged or >0 logged found rows   * return: -1 error, 0 not logged or >0 logged found rows
  */   */
 int  int
mqtt_rtlm_chk_session(sl_config *cfg, sqlite3 *sql, const char *user, const char *connid, const char *host)mqtt_rtlm_chk_session(sl_config *cfg, sqlite3 *sql, const char *connid, const char *user, const char *host)
 {  {
         int ret = 0;          int ret = 0;
         char *str, szStmt[BUFSIZ] = { 0 };          char *str, szStmt[BUFSIZ] = { 0 };
Line 204  mqtt_rtlm_chk_session(sl_config *cfg, sqlite3 *sql, co Line 203  mqtt_rtlm_chk_session(sl_config *cfg, sqlite3 *sql, co
                 mqtt_rtlm_log("Error:: not found online table name");                  mqtt_rtlm_log("Error:: not found online table name");
                 return -1;                  return -1;
         }          }
        snprintf(szStmt, sizeof szStmt, "SELECT ConnID, RemoteHost, RemotePort FROM %s WHERE "        snprintf(szStmt, sizeof szStmt, "SELECT ConnID, RemoteHost FROM %s WHERE "
                        "Username = '%s' AND ConnID = '%s' AND RemoteHost LIKE '%s';",                         "ConnID = '%s' AND Username = '%s' AND RemoteHost LIKE '%s';", 
                        str, user, connid, host);                        str, connid, user, host);
   
         if (sqlite3_prepare_v2(sql, szStmt, strlen(szStmt), &stmt, NULL)) {          if (sqlite3_prepare_v2(sql, szStmt, strlen(szStmt), &stmt, NULL)) {
                 MQTT_RTLM_LOG(sql);                  MQTT_RTLM_LOG(sql);

Removed from v.1.1.2.16  
changed lines
  Added in v.1.1.2.17


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