version 1.1.2.22, 2011/12/15 12:58:49
|
version 1.1.2.23, 2011/12/16 02:09:20
|
Line 145 startSession(sched_task_t *task)
|
Line 145 startSession(sched_task_t *task)
|
ioDEBUG(0, "Login:: ALLOWED for username %s ...", sess->sess_user); |
ioDEBUG(0, "Login:: ALLOWED for username %s ...", sess->sess_user); |
ret = MQTT_RETCODE_ACCEPTED; |
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 166 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 210 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 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); |