From 9391c487b5183bc59c7e53ff38604d422320892d 2016-02-19 09:16:08 From: Jan Kaluza Date: 2016-02-19 09:16:08 Subject: [PATCH] Web interface: Allow registering with no password --- diff --git a/libtransport/AdminInterface.cpp b/libtransport/AdminInterface.cpp index c0d2561c6877bd93f15b165eee62114f75342cd2..7eaaeb71285a1bbb3cda97dd3296a38ff73ec529 100644 --- a/libtransport/AdminInterface.cpp +++ b/libtransport/AdminInterface.cpp @@ -268,11 +268,16 @@ void AdminInterface::handleQuery(Swift::Message::ref message) { std::string body = msg; std::vector args; boost::split(args, body, boost::is_any_of(" ")); - if (args.size() == 4) { + if (args.size() == 4 || args.size() == 3) { UserInfo res; res.jid = args[1]; res.uin = args[2]; - res.password = args[3]; + if (args.size() == 3) { + res.password = args[3]; + } + else { + res.password = args[4]; + } res.language = "en"; res.encoding = "utf-8"; res.vip = 0; diff --git a/spectrum/src/frontends/slack/SlackUserRegistration.cpp b/spectrum/src/frontends/slack/SlackUserRegistration.cpp index 6f00c36ac3f41ab342abf81c4858e89c2ceaf0ff..15b51273f048510cf63015789a30edabf8f8317f 100644 --- a/spectrum/src/frontends/slack/SlackUserRegistration.cpp +++ b/spectrum/src/frontends/slack/SlackUserRegistration.cpp @@ -147,9 +147,11 @@ std::string SlackUserRegistration::handleOAuth2Code(const std::string &code, con std::string slackChannel; std::string uin; std::string password; - if (data.size() == 4) { + if (data.size() >= 3) { slackChannel = data[1]; uin = data[2]; + } + if (data.size() == 4) { password = data[3]; } diff --git a/spectrum_manager/src/APIServer.cpp b/spectrum_manager/src/APIServer.cpp index fdefcc53c83086942dd3bdc5b74bd02e868e51bb..9a296e665c9962a73fca0a7590ae1b74ee6e2602 100644 --- a/spectrum_manager/src/APIServer.cpp +++ b/spectrum_manager/src/APIServer.cpp @@ -256,7 +256,7 @@ void APIServer::serve_instances_register(Server *server, Server::session *sessio std::string uin = get_http_var(hm, "uin"); std::string password = get_http_var(hm, "password"); - if (jid.empty() || uin.empty() || password.empty()) { + if (jid.empty() || uin.empty()) { send_ack(conn, true, "Insufficient data."); } else {