Diff for /mqtt/src/daemon.c between versions 1.1.2.20 and 1.1.2.23

version 1.1.2.20, 2011/12/14 15:09:31 version 1.1.2.23, 2011/12/16 02:09:20
Line 139  startSession(sched_task_t *task) Line 139  startSession(sched_task_t *task)
         if (call.LoginACC(&cfg, acc, sess->sess_user, sess->sess_pass) < 1) {          if (call.LoginACC(&cfg, acc, sess->sess_user, sess->sess_pass) < 1) {
                 ioDEBUG(0, "Login:: DENIED for username %s and password %s",                   ioDEBUG(0, "Login:: DENIED for username %s and password %s", 
                                 sess->sess_user, sess->sess_pass);                                  sess->sess_user, sess->sess_pass);
                   ret = MQTT_RETCODE_DENIED;
                 goto end;                  goto end;
        } else        } else {
                 ioDEBUG(0, "Login:: ALLOWED for username %s ...", sess->sess_user);                  ioDEBUG(0, "Login:: ALLOWED for username %s ...", sess->sess_user);
                   ret = MQTT_RETCODE_ACCEPTED;
           }
           if (call.FiniSessPUB(&cfg, pub, sess->sess_cid, sess->sess_user, "%") > 0) {
                   // TODO: disconnect client
           }
           if (call.InitSessPUB(&cfg, pub, sess->sess_cid, sess->sess_user, sess->sess_addr, 
                                   sess->sess_will.flag, sess->sess_will.topic, sess->sess_will.msg, 
                                   sess->sess_will.qos, sess->sess_will.retain) == -1) {
                   ioDEBUG(0, "Session %s DENIED for username %s", sess->sess_cid, sess->sess_user);
                   ret = MQTT_RETCODE_DENIED;
                   goto end;
           } else {
                   ioDEBUG(0, "Session %s from %s and username %s is started", 
                                   sess->sess_cid, sess->sess_addr, sess->sess_user);
                   ret = MQTT_RETCODE_ACCEPTED;
           }
   
         ret = mqtt_msgCONNACK(&msg, ret);          ret = mqtt_msgCONNACK(&msg, ret);
         if ((ret = send(sess->sess_sock, msg.msg_base, ret, 0)) == -1) {          if ((ret = send(sess->sess_sock, msg.msg_base, ret, 0)) == -1) {
Line 163  startSession(sched_task_t *task) Line 180  startSession(sched_task_t *task)
         pthread_create(&sess->sess_tid, &attr, (void*(*)(void*)) thrSession, sess);          pthread_create(&sess->sess_tid, &attr, (void*(*)(void*)) thrSession, sess);
         pthread_mutex_unlock(&mtx_sess);          pthread_mutex_unlock(&mtx_sess);
   
        ioDEBUG(1, "ConnID=%s(%s) for %s login OK!", sess->sess_cid, sess->sess_user, sess->sess_addr);        call.LOG(logg, "Session %s started from %s for user %s OK!\n", sess->sess_cid, 
                         sess->sess_addr, sess->sess_user);
   
         pthread_attr_destroy(&attr);          pthread_attr_destroy(&attr);
         return NULL;          return NULL;
Line 192  thrSched(void *arg __unused) Line 210  thrSched(void *arg __unused)
         ioTRACE(1);          ioTRACE(1);
   
         schedRun(root, &Kill);          schedRun(root, &Kill);
         printf("aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa\n");  
   
         TAILQ_FOREACH(sess, &Sessions, sess_node)          TAILQ_FOREACH(sess, &Sessions, sess_node)
                 if (sess->sess_tid)                  if (sess->sess_tid)
Line 208  Run(int sock) Line 225  Run(int sock)
         int cli;          int cli;
         pthread_t tid;          pthread_t tid;
         ait_val_t *v;          ait_val_t *v;
           char str[STRSIZ];
   
         ioTRACE(1);          ioTRACE(1);
   
Line 224  Run(int sock) Line 242  Run(int sock)
         }          }
   
         while (!Kill) {          while (!Kill) {
         printf("%%%%%%%%%%rrrrrrrrrrrrrrrrrrrrr errno=%d\n", errno);  
                 if ((cli = accept(sock, &sa.sa, &sslen)) == -1) {                  if ((cli = accept(sock, &sa.sa, &sslen)) == -1) {
         printf("rrrrrrrrrrrrrrrrrrrrrrrrrrrrrrr errno=%d\n", errno);  
                         if (!Kill)                          if (!Kill)
                                 continue;                                  continue;
                         ioLOGERR(0);                          ioLOGERR(0);
Line 236  Run(int sock) Line 252  Run(int sock)
                 if (!v) {                  if (!v) {
                         ioLIBERR(mqtt);                          ioLIBERR(mqtt);
                         break;                          break;
                } else                } else {
                        io_n2addr(&sa, v);                        memset(str, 0, sizeof str);
                ioDEBUG(1, "Connected client with socket=%d from %s:%d", cli,                         snprintf(str, sizeof str, "%s:%hu", io_n2addr(&sa, v), io_n2port(&sa));
                                AIT_GET_STR(v), io_n2port(&sa));                        AIT_SET_STR(v, str);
                 }
                 ioDEBUG(1, "Connected client with socket=%d from %s", cli, AIT_GET_STR(v));
   
                 /*  
                 if (!schedRead(root, startSession, v, cli)) {                  if (!schedRead(root, startSession, v, cli)) {
                         io_freeVar(v);                          io_freeVar(v);
                         close(cli);                          close(cli);
                         ioDEBUG(1, "Terminated client with socket=%d", cli);                          ioDEBUG(1, "Terminated client with socket=%d", cli);
                 }                  }
                 */  
         }          }
         printf("rrrrrrrrrrrrrrrrrrrrrrrrrrrrrrr\n");  
   
         return 0;          return 0;
 }  }

Removed from v.1.1.2.20  
changed lines
  Added in v.1.1.2.23


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