From 6f6cf3fee9b04581d14d92729b0a81c4d29ef61c Mon Sep 17 00:00:00 2001 From: brain Date: Tue, 30 May 2006 20:43:30 +0000 Subject: Apply mirq's optimization patches git-svn-id: http://svn.inspircd.org/repository/branches/1_0_stable@3978 e03df62e-2008-0410-955e-edbf42e46eb7 --- src/modules/extra/m_sqloper.cpp | 32 +++----------------------------- 1 file changed, 3 insertions(+), 29 deletions(-) (limited to 'src/modules/extra/m_sqloper.cpp') diff --git a/src/modules/extra/m_sqloper.cpp b/src/modules/extra/m_sqloper.cpp index a5b79dc54..a1eff16ce 100644 --- a/src/modules/extra/m_sqloper.cpp +++ b/src/modules/extra/m_sqloper.cpp @@ -91,7 +91,7 @@ class ModuleSQLOper : public Module return 0; } - bool LookupOper(std::string username, std::string password, userrec* user) + bool LookupOper(const std::string &s_username, const std::string &s_password, userrec* user) { bool found = false; @@ -100,34 +100,8 @@ class ModuleSQLOper : public Module return false; // sanitize the password (we dont want any mysql insertion exploits!) - std::string temp = ""; - for (unsigned int q = 0; q < password.length(); q++) - { - if (password[q] == '\'') - { - temp = temp + "\'"; - } - else if (password[q] == '"') - { - temp = temp + "\\\""; - } - else temp = temp + password[q]; - } - password = temp; - temp = ""; - for (unsigned int v = 0; v < username.length(); v++) - { - if (username[v] == '\'') - { - temp = temp + "\'"; - } - if (username[v] == '"') - { - temp = temp + "\\\""; - } - else temp = temp + username[v]; - } - username = temp; + std::string username = SQLQuery::Sanitise(s_username); + std::string password = SQLQuery::Sanitise(s_password); // Create a request containing the SQL query and send it to m_sql.so SQLRequest* query = new SQLRequest(SQL_RESULT,dbid,"SELECT username,password,hostname,type FROM ircd_opers WHERE username='"+username+"' AND password=md5('"+password+"')"); -- cgit v1.3.1-10-gc9f91