From c513e4db1cd7fdbecd59c6d385bc5f970827401e Mon Sep 17 00:00:00 2001 From: Bent Bisballe Nyeng Date: Thu, 5 Dec 2013 15:37:09 +0100 Subject: Add login/logout. --- src/messageparser.cc | 22 ++++++++++++++++++++-- 1 file changed, 20 insertions(+), 2 deletions(-) (limited to 'src/messageparser.cc') diff --git a/src/messageparser.cc b/src/messageparser.cc index 4f047d9..409ffeb 100644 --- a/src/messageparser.cc +++ b/src/messageparser.cc @@ -94,7 +94,7 @@ inline static void parse_into_msg_tokens(std::string& data, tokenVector.clear(); } - + /* // WARNING: Enabling this will print passwords in plaintext... // Debug: print tokens DEBUG(parser, "tokenlists: %d\n", msgTokensList.size()); MsgTokensList::iterator j = msgTokensList.begin(); @@ -108,7 +108,7 @@ inline static void parse_into_msg_tokens(std::string& data, } j++; } - + */ } static taskid_t getId(std::map &sym, std::string token) @@ -156,6 +156,8 @@ inline static void create_msg_list(MsgTokensList& msgTokensList, if(t[origin] == "observe") m.cmd = cmd::observe; else if(t[origin] == "unobserve") m.cmd = cmd::unobserve; + else if(t[origin] == "login") m.cmd = cmd::login; + else if(t[origin] == "logout") m.cmd = cmd::logout; else if(t[origin] == "create") m.cmd = cmd::create; else if(t[origin] == "remove") m.cmd = cmd::remove; else if(t[origin] == "move") m.cmd = cmd::move; @@ -180,6 +182,22 @@ inline static void create_msg_list(MsgTokensList& msgTokensList, DEBUG(msgparser, "unobserve @ %d\n", m.unobserve.id); break; } + case cmd::login: { + if(t.size() != origin+1+2) { + DEBUG(msgparser, "Wrong number of parameters\n"); + continue; + } + m.login.user = t[origin+1]; + m.login.password = t[origin+2]; + DEBUG(msgparser, "login %s\n", m.login.user.c_str()); + break; + } + case cmd::logout: + if(t.size() != origin+1) { + DEBUG(msgparser, "Wrong number of parameters\n"); + continue; + } + break; case cmd::create: { if(!clientmode && t.size() != origin+1+2) { DEBUG(msgparser, "Wrong number of parameters\n"); -- cgit v1.2.3