aboutsummaryrefslogtreecommitdiffstats
path: root/src/modules/m_spanningtree/uid.cpp
diff options
context:
space:
mode:
authorGravatar Attila Molnar2014-04-16 13:20:39 +0200
committerGravatar Attila Molnar2014-04-16 13:20:39 +0200
commit67e0e32b86885df705a92cdc971a6085c4a7c1ba (patch)
tree1f3ba6b2d1d4f240c287d8ff11d30e98561e7adb /src/modules/m_spanningtree/uid.cpp
parentm_spanningtree Throw an exception on protocol violations instead of returning... (diff)
downloadinspircd++-67e0e32b86885df705a92cdc971a6085c4a7c1ba.tar.gz
inspircd++-67e0e32b86885df705a92cdc971a6085c4a7c1ba.tar.bz2
inspircd++-67e0e32b86885df705a92cdc971a6085c4a7c1ba.zip
m_spanningtree Add ServerCommand::ExtractTS() to convert string to raw TS
Throws a ProtocolException if the input is invalid
Diffstat (limited to 'src/modules/m_spanningtree/uid.cpp')
-rw-r--r--src/modules/m_spanningtree/uid.cpp8
1 files changed, 2 insertions, 6 deletions
diff --git a/src/modules/m_spanningtree/uid.cpp b/src/modules/m_spanningtree/uid.cpp
index 206f79a48..51f7026dd 100644
--- a/src/modules/m_spanningtree/uid.cpp
+++ b/src/modules/m_spanningtree/uid.cpp
@@ -31,8 +31,8 @@ CmdResult CommandUID::HandleServer(TreeServer* remoteserver, std::vector<std::st
* 0 1 2 3 4 5 6 7 8 9 (n-1)
* UID uuid age nick host dhost ident ip.string signon +modes (modepara) :gecos
*/
- time_t age_t = ConvToInt(params[1]);
- time_t signon = ConvToInt(params[7]);
+ time_t age_t = ServerCommand::ExtractTS(params[1]);
+ time_t signon = ServerCommand::ExtractTS(params[7]);
std::string empty;
const std::string& modestr = params[8];
@@ -40,10 +40,6 @@ CmdResult CommandUID::HandleServer(TreeServer* remoteserver, std::vector<std::st
if (params[0].length() != UIDGenerator::UUID_LENGTH || params[0].substr(0, 3) != remoteserver->GetID())
throw ProtocolException("Bogus UUID");
/* Check parameters for validity before introducing the client, discovered by dmb */
- if (!age_t)
- return CMD_INVALID;
- if (!signon)
- return CMD_INVALID;
if (modestr[0] != '+')
throw ProtocolException("Invalid mode string");