summaryrefslogtreecommitdiff
path: root/src/messageparser.cc
diff options
context:
space:
mode:
Diffstat (limited to 'src/messageparser.cc')
-rw-r--r--src/messageparser.cc22
1 files changed, 20 insertions, 2 deletions
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<std::string, taskid_t> &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");