diff options
Diffstat (limited to 'src/messagehandler.cc')
-rw-r--r-- | src/messagehandler.cc | 15 |
1 files changed, 15 insertions, 0 deletions
diff --git a/src/messagehandler.cc b/src/messagehandler.cc index d3c3420..c946bbe 100644 --- a/src/messagehandler.cc +++ b/src/messagehandler.cc @@ -44,6 +44,13 @@ MessageList handle_msg(MessageList msgList, clientid_t wsi) { it++) { message_t &m = *it; + if(m.cmd == cmd::login) { + connection_handler.login(wsi, m.login.user, m.login.password); + } + + // If client is not authenticated; do not continue beyond this point... + if(!connection_handler.authenticated(wsi)) continue; + switch(m.cmd) { case cmd::create: { @@ -166,6 +173,14 @@ MessageList handle_msg(MessageList msgList, clientid_t wsi) { } break; + case cmd::login: + // Already handled, before this switch ... case + break; + + case cmd::logout: + connection_handler.logout(wsi); + break; + case cmd::error: ERR(messagehandler, "An error occurred.\n"); break; |