summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorAdam <adam@sigterm.info>2013-12-14 22:55:10 -0800
committerAdam <adam@sigterm.info>2013-12-14 22:55:10 -0800
commit59df199aaedf8018979c444eaa8cca59ff001877 (patch)
treee7d873a3250f50b2ecb7c4bc47d7fcf7a9cefefd /src
parent357d190074ee58809b31ea0c08543566168bddf6 (diff)
parentad47ea662698e72ff8f79b03512b1e7fe81bdf53 (diff)
Merge pull request #689 from SaberUK/master+cxxify
Clean up various things.
Diffstat (limited to 'src')
-rw-r--r--src/channels.cpp2
-rw-r--r--src/commands/cmd_eline.cpp2
-rw-r--r--src/commands/cmd_gline.cpp2
-rw-r--r--src/commands/cmd_kline.cpp2
-rw-r--r--src/commands/cmd_qline.cpp2
-rw-r--r--src/commands/cmd_rehash.cpp8
-rw-r--r--src/commands/cmd_whowas.cpp2
-rw-r--r--src/commands/cmd_zline.cpp2
-rw-r--r--src/configreader.cpp33
-rw-r--r--src/fileutils.cpp102
-rw-r--r--src/inspircd.cpp4
-rw-r--r--src/listensocket.cpp2
-rw-r--r--src/modmanager_dynamic.cpp2
-rw-r--r--src/modules.cpp45
-rw-r--r--src/modules/m_cban.cpp2
-rw-r--r--src/modules/m_check.cpp4
-rw-r--r--src/modules/m_connectban.cpp2
-rw-r--r--src/modules/m_dccallow.cpp2
-rw-r--r--src/modules/m_dnsbl.cpp6
-rw-r--r--src/modules/m_httpd_stats.cpp2
-rw-r--r--src/modules/m_rline.cpp4
-rw-r--r--src/modules/m_shun.cpp2
-rw-r--r--src/modules/m_spanningtree/addline.cpp2
-rw-r--r--src/modules/m_svshold.cpp2
-rw-r--r--src/modules/m_timedbans.cpp2
-rw-r--r--src/modules/m_xline_db.cpp2
-rw-r--r--src/server.cpp1
-rw-r--r--src/usermanager.cpp68
-rw-r--r--src/userprocess.cpp95
29 files changed, 200 insertions, 206 deletions
diff --git a/src/channels.cpp b/src/channels.cpp
index 4e266fb7c..563bc2704 100644
--- a/src/channels.cpp
+++ b/src/channels.cpp
@@ -849,7 +849,7 @@ Invitation* Invitation::Find(Channel* c, LocalUser* u, bool check_expired)
if ((check_expired) && (inv->expiry != 0) && (inv->expiry <= ServerInstance->Time()))
{
/* Expired invite, remove it. */
- std::string expiration = ServerInstance->TimeString(inv->expiry);
+ std::string expiration = InspIRCd::TimeString(inv->expiry);
ServerInstance->Logs->Log("INVITATION", LOG_DEBUG, "Invitation::Find ecountered expired entry: %p expired %s", (void*) inv, expiration.c_str());
i = locallist.erase(i);
inv->cull();
diff --git a/src/commands/cmd_eline.cpp b/src/commands/cmd_eline.cpp
index 67f67e9f0..8025ba15a 100644
--- a/src/commands/cmd_eline.cpp
+++ b/src/commands/cmd_eline.cpp
@@ -80,7 +80,7 @@ CmdResult CommandEline::Handle (const std::vector<std::string>& parameters, User
else
{
time_t c_requires_crap = duration + ServerInstance->Time();
- std::string timestr = ServerInstance->TimeString(c_requires_crap);
+ std::string timestr = InspIRCd::TimeString(c_requires_crap);
ServerInstance->SNO->WriteToSnoMask('x',"%s added timed E-line for %s, expires on %s: %s",user->nick.c_str(),target.c_str(),
timestr.c_str(), parameters[2].c_str());
}
diff --git a/src/commands/cmd_gline.cpp b/src/commands/cmd_gline.cpp
index bdb5c26b2..bc81172d3 100644
--- a/src/commands/cmd_gline.cpp
+++ b/src/commands/cmd_gline.cpp
@@ -87,7 +87,7 @@ CmdResult CommandGline::Handle (const std::vector<std::string>& parameters, User
else
{
time_t c_requires_crap = duration + ServerInstance->Time();
- std::string timestr = ServerInstance->TimeString(c_requires_crap);
+ std::string timestr = InspIRCd::TimeString(c_requires_crap);
ServerInstance->SNO->WriteToSnoMask('x',"%s added timed G-line for %s, expires on %s: %s",user->nick.c_str(),target.c_str(),
timestr.c_str(), parameters[2].c_str());
}
diff --git a/src/commands/cmd_kline.cpp b/src/commands/cmd_kline.cpp
index 20afae2a9..e95a7ca66 100644
--- a/src/commands/cmd_kline.cpp
+++ b/src/commands/cmd_kline.cpp
@@ -87,7 +87,7 @@ CmdResult CommandKline::Handle (const std::vector<std::string>& parameters, User
else
{
time_t c_requires_crap = duration + ServerInstance->Time();
- std::string timestr = ServerInstance->TimeString(c_requires_crap);
+ std::string timestr = InspIRCd::TimeString(c_requires_crap);
ServerInstance->SNO->WriteToSnoMask('x',"%s added timed K-line for %s, expires on %s: %s",user->nick.c_str(),target.c_str(),
timestr.c_str(), parameters[2].c_str());
}
diff --git a/src/commands/cmd_qline.cpp b/src/commands/cmd_qline.cpp
index bfc9e4519..06b0e74f1 100644
--- a/src/commands/cmd_qline.cpp
+++ b/src/commands/cmd_qline.cpp
@@ -63,7 +63,7 @@ CmdResult CommandQline::Handle (const std::vector<std::string>& parameters, User
else
{
time_t c_requires_crap = duration + ServerInstance->Time();
- std::string timestr = ServerInstance->TimeString(c_requires_crap);
+ std::string timestr = InspIRCd::TimeString(c_requires_crap);
ServerInstance->SNO->WriteToSnoMask('x',"%s added timed Q-line for %s, expires on %s: %s",user->nick.c_str(),parameters[0].c_str(),
timestr.c_str(), parameters[2].c_str());
}
diff --git a/src/commands/cmd_rehash.cpp b/src/commands/cmd_rehash.cpp
index 1fa726962..07183ec7d 100644
--- a/src/commands/cmd_rehash.cpp
+++ b/src/commands/cmd_rehash.cpp
@@ -75,15 +75,13 @@ CmdResult CommandRehash::Handle (const std::vector<std::string>& parameters, Use
// Rehash for me. Try to start the rehash thread
if (!ServerInstance->ConfigThread)
{
- std::string m = user->nick + " is rehashing config file " + ServerConfig::CleanFilename(ServerInstance->ConfigFileName.c_str()) + " on " + ServerInstance->Config->ServerName;
+ std::string m = user->nick + " is rehashing config file " + FileSystem::GetFileName(ServerInstance->ConfigFileName) + " on " + ServerInstance->Config->ServerName;
ServerInstance->SNO->WriteGlobalSno('a', m);
if (IS_LOCAL(user))
- user->WriteNumeric(RPL_REHASHING, "%s :Rehashing",
- ServerConfig::CleanFilename(ServerInstance->ConfigFileName.c_str()));
+ user->WriteNumeric(RPL_REHASHING, "%s :Rehashing", FileSystem::GetFileName(ServerInstance->ConfigFileName).c_str());
else
- ServerInstance->PI->SendUserNotice(user, std::string("*** Rehashing server ") +
- ServerConfig::CleanFilename(ServerInstance->ConfigFileName.c_str()));
+ ServerInstance->PI->SendUserNotice(user, "*** Rehashing server " + FileSystem::GetFileName(ServerInstance->ConfigFileName));
/* Don't do anything with the logs here -- logs are restarted
* after the config thread has completed.
diff --git a/src/commands/cmd_whowas.cpp b/src/commands/cmd_whowas.cpp
index bdd16b520..fab65aae3 100644
--- a/src/commands/cmd_whowas.cpp
+++ b/src/commands/cmd_whowas.cpp
@@ -62,7 +62,7 @@ CmdResult CommandWhowas::Handle (const std::vector<std::string>& parameters, Use
user->WriteNumeric(RPL_WHOWASIP, "%s :was connecting from *@%s",
parameters[0].c_str(), u->host.c_str());
- std::string signon = ServerInstance->TimeString(u->signon);
+ std::string signon = InspIRCd::TimeString(u->signon);
bool hide_server = (!ServerInstance->Config->HideWhoisServer.empty() && !user->HasPrivPermission("servers/auspex"));
user->WriteNumeric(RPL_WHOISSERVER, "%s %s :%s", parameters[0].c_str(), (hide_server ? ServerInstance->Config->HideWhoisServer.c_str() : u->server.c_str()), signon.c_str());
}
diff --git a/src/commands/cmd_zline.cpp b/src/commands/cmd_zline.cpp
index fdb156e0a..2c5997558 100644
--- a/src/commands/cmd_zline.cpp
+++ b/src/commands/cmd_zline.cpp
@@ -83,7 +83,7 @@ CmdResult CommandZline::Handle (const std::vector<std::string>& parameters, User
else
{
time_t c_requires_crap = duration + ServerInstance->Time();
- std::string timestr = ServerInstance->TimeString(c_requires_crap);
+ std::string timestr = InspIRCd::TimeString(c_requires_crap);
ServerInstance->SNO->WriteToSnoMask('x',"%s added timed Z-line for %s, expires on %s: %s",user->nick.c_str(),ipaddr,
timestr.c_str(), parameters[2].c_str());
}
diff --git a/src/configreader.cpp b/src/configreader.cpp
index 7493d980c..341414e0d 100644
--- a/src/configreader.cpp
+++ b/src/configreader.cpp
@@ -734,11 +734,6 @@ void ServerConfig::ApplyModules(User* user)
}
}
-bool ServerConfig::StartsWithWindowsDriveLetter(const std::string &path)
-{
- return (path.length() > 2 && isalpha(path[0]) && path[1] == ':');
-}
-
ConfigTag* ServerConfig::ConfValue(const std::string &tag)
{
ConfigTagList found = config_data.equal_range(tag);
@@ -757,18 +752,6 @@ ConfigTagList ServerConfig::ConfTags(const std::string& tag)
return config_data.equal_range(tag);
}
-bool ServerConfig::FileExists(const char* file)
-{
- struct stat sb;
- if (stat(file, &sb) == -1)
- return false;
-
- if ((sb.st_mode & S_IFDIR) > 0)
- return false;
-
- return !access(file, F_OK);
-}
-
std::string ServerConfig::Escape(const std::string& str, bool xml)
{
std::string escaped;
@@ -793,22 +776,6 @@ std::string ServerConfig::Escape(const std::string& str, bool xml)
return escaped;
}
-std::string ServerConfig::ExpandPath(const std::string& base, const std::string& fragment)
-{
- // The fragment is an absolute path, don't modify it.
- if (fragment[0] == '/' || ServerConfig::StartsWithWindowsDriveLetter(fragment))
- return fragment;
-
- return base + '/' + fragment;
-}
-
-const char* ServerConfig::CleanFilename(const char* name)
-{
- const char* p = name + strlen(name);
- while ((p != name) && (*p != '/') && (*p != '\\')) p--;
- return (p != name ? ++p : p);
-}
-
void ConfigReaderThread::Run()
{
Config->Read();
diff --git a/src/fileutils.cpp b/src/fileutils.cpp
new file mode 100644
index 000000000..ee89cca1c
--- /dev/null
+++ b/src/fileutils.cpp
@@ -0,0 +1,102 @@
+/*
+ * InspIRCd -- Internet Relay Chat Daemon
+ *
+ * Copyright (C) 2013 Peter Powell <petpow@saberuk.com>
+ *
+ * This file is part of InspIRCd. InspIRCd is free software: you can
+ * redistribute it and/or modify it under the terms of the GNU General Public
+ * License as published by the Free Software Foundation, version 2.
+ *
+ * This program is distributed in the hope that it will be useful, but WITHOUT
+ * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
+ * FOR A PARTICULAR PURPOSE. See the GNU General Public License for more
+ * details.
+ *
+ * You should have received a copy of the GNU General Public License
+ * along with this program. If not, see <http://www.gnu.org/licenses/>.
+ */
+
+
+#include "inspircd.h"
+
+#include <fstream>
+
+FileReader::FileReader(const std::string& filename)
+{
+ Load(filename);
+}
+
+void FileReader::Load(const std::string& filename)
+{
+ // If the file is stored in the file cache then we used that version instead.
+ std::string realName = ServerInstance->Config->Paths.PrependConfig(filename);
+ ConfigFileCache::iterator it = ServerInstance->Config->Files.find(realName);
+ if (it != ServerInstance->Config->Files.end())
+ {
+ this->lines = it->second;
+ }
+ else
+ {
+ lines.clear();
+
+ std::ifstream stream(realName.c_str());
+ if (!stream.is_open())
+ throw CoreException(filename + " does not exist or is not readable!");
+
+ std::string line;
+ while (std::getline(stream, line))
+ {
+ lines.push_back(line);
+ totalSize += line.size() + 2;
+ }
+
+ stream.close();
+ }
+}
+
+std::string FileReader::GetString() const
+{
+ std::string buffer;
+ for (file_cache::const_iterator it = this->lines.begin(); it != this->lines.end(); ++it)
+ {
+ buffer.append(*it);
+ buffer.append("\r\n");
+ }
+ return buffer;
+}
+
+std::string FileSystem::ExpandPath(const std::string& base, const std::string& fragment)
+{
+ // The fragment is an absolute path, don't modify it.
+ if (fragment[0] == '/' || FileSystem::StartsWithWindowsDriveLetter(fragment))
+ return fragment;
+
+ return base + '/' + fragment;
+}
+
+bool FileSystem::FileExists(const std::string& file)
+{
+ struct stat sb;
+ if (stat(file.c_str(), &sb) == -1)
+ return false;
+
+ if ((sb.st_mode & S_IFDIR) > 0)
+ return false;
+
+ return !access(file.c_str(), F_OK);
+}
+
+std::string FileSystem::GetFileName(const std::string& name)
+{
+#ifdef _WIN32
+ size_t pos = name.find_last_of("\\/");
+#else
+ size_t pos = name.rfind('/');
+#endif
+ return pos == std::string::npos ? name : name.substr(++pos);
+}
+
+bool FileSystem::StartsWithWindowsDriveLetter(const std::string& path)
+{
+ return (path.length() > 2 && isalpha(path[0]) && path[1] == ':');
+}
diff --git a/src/inspircd.cpp b/src/inspircd.cpp
index 368ca6e8b..de9287270 100644
--- a/src/inspircd.cpp
+++ b/src/inspircd.cpp
@@ -380,14 +380,14 @@ InspIRCd::InspIRCd(int argc, char** argv) :
Logs->AddLogTypes("*", fls, true);
}
- if (!ServerConfig::FileExists(ConfigFileName.c_str()))
+ if (!FileSystem::FileExists(ConfigFileName))
{
#ifdef _WIN32
/* Windows can (and defaults to) hide file extensions, so let's play a bit nice for windows users. */
std::string txtconf = this->ConfigFileName;
txtconf.append(".txt");
- if (ServerConfig::FileExists(txtconf.c_str()))
+ if (FileSystem::FileExists(txtconf))
{
ConfigFileName = txtconf;
}
diff --git a/src/listensocket.cpp b/src/listensocket.cpp
index ca518c59e..108466ae3 100644
--- a/src/listensocket.cpp
+++ b/src/listensocket.cpp
@@ -30,7 +30,7 @@ ListenSocket::ListenSocket(ConfigTag* tag, const irc::sockets::sockaddrs& bind_t
: bind_tag(tag)
{
irc::sockets::satoap(bind_to, bind_addr, bind_port);
- bind_desc = irc::sockets::satouser(bind_to);
+ bind_desc = bind_to.str();
fd = socket(bind_to.sa.sa_family, SOCK_STREAM, 0);
diff --git a/src/modmanager_dynamic.cpp b/src/modmanager_dynamic.cpp
index de2593d72..0d0042cab 100644
--- a/src/modmanager_dynamic.cpp
+++ b/src/modmanager_dynamic.cpp
@@ -39,7 +39,7 @@ bool ModuleManager::Load(const std::string& filename, bool defer)
const std::string moduleFile = ServerInstance->Config->Paths.PrependModule(filename);
- if (!ServerConfig::FileExists(moduleFile.c_str()))
+ if (!FileSystem::FileExists(moduleFile))
{
LastModuleError = "Module file could not be found: " + filename;
ServerInstance->Logs->Log("MODULE", LOG_DEFAULT, LastModuleError);
diff --git a/src/modules.cpp b/src/modules.cpp
index 487bc4ea0..92f619743 100644
--- a/src/modules.cpp
+++ b/src/modules.cpp
@@ -25,7 +25,6 @@
#include <iostream>
-#include <fstream>
#include "inspircd.h"
#include "xline.h"
#include "socket.h"
@@ -708,47 +707,3 @@ Module* ModuleManager::Find(const std::string &name)
else
return modfind->second;
}
-
-FileReader::FileReader(const std::string& filename)
-{
- Load(filename);
-}
-
-void FileReader::Load(const std::string& filename)
-{
- // If the file is stored in the file cache then we used that version instead.
- std::string realName = ServerInstance->Config->Paths.PrependConfig(filename);
- ConfigFileCache::iterator it = ServerInstance->Config->Files.find(realName);
- if (it != ServerInstance->Config->Files.end())
- {
- this->lines = it->second;
- }
- else
- {
- lines.clear();
-
- std::ifstream stream(realName.c_str());
- if (!stream.is_open())
- throw CoreException(filename + " does not exist or is not readable!");
-
- std::string line;
- while (std::getline(stream, line))
- {
- lines.push_back(line);
- totalSize += line.size() + 2;
- }
-
- stream.close();
- }
-}
-
-std::string FileReader::GetString()
-{
- std::string buffer;
- for (file_cache::iterator it = this->lines.begin(); it != this->lines.end(); ++it)
- {
- buffer.append(*it);
- buffer.append("\r\n");
- }
- return buffer;
-}
diff --git a/src/modules/m_cban.cpp b/src/modules/m_cban.cpp
index 5f3f1c7f1..4fb0653a9 100644
--- a/src/modules/m_cban.cpp
+++ b/src/modules/m_cban.cpp
@@ -121,7 +121,7 @@ class CommandCBan : public Command
else
{
time_t c_requires_crap = duration + ServerInstance->Time();
- std::string timestr = ServerInstance->TimeString(c_requires_crap);
+ std::string timestr = InspIRCd::TimeString(c_requires_crap);
ServerInstance->SNO->WriteGlobalSno('x', "%s added timed CBan for %s, expires on %s: %s", user->nick.c_str(), parameters[0].c_str(), timestr.c_str(), reason);
}
}
diff --git a/src/modules/m_check.cpp b/src/modules/m_check.cpp
index 5e154feea..84e147f7b 100644
--- a/src/modules/m_check.cpp
+++ b/src/modules/m_check.cpp
@@ -180,8 +180,8 @@ class CommandCheck : public Command
if (loctarg)
{
- user->SendText(checkstr + " clientaddr " + irc::sockets::satouser(loctarg->client_sa));
- user->SendText(checkstr + " serveraddr " + irc::sockets::satouser(loctarg->server_sa));
+ user->SendText(checkstr + " clientaddr " + loctarg->client_sa.str());
+ user->SendText(checkstr + " serveraddr " + loctarg->server_sa.str());
std::string classname = loctarg->GetClass()->name;
if (!classname.empty())
diff --git a/src/modules/m_connectban.cpp b/src/modules/m_connectban.cpp
index 39639927c..0b61ec668 100644
--- a/src/modules/m_connectban.cpp
+++ b/src/modules/m_connectban.cpp
@@ -80,7 +80,7 @@ class ModuleConnectBan : public Module
}
ServerInstance->XLines->ApplyLines();
std::string maskstr = mask.str();
- std::string timestr = ServerInstance->TimeString(zl->expiry);
+ std::string timestr = InspIRCd::TimeString(zl->expiry);
ServerInstance->SNO->WriteGlobalSno('x',"Module m_connectban added Z:line on *@%s to expire on %s: Connect flooding",
maskstr.c_str(), timestr.c_str());
ServerInstance->SNO->WriteGlobalSno('a', "Connect flooding from IP range %s (%d)", maskstr.c_str(), threshold);
diff --git a/src/modules/m_dccallow.cpp b/src/modules/m_dccallow.cpp
index e5c8df6aa..487e4a7ed 100644
--- a/src/modules/m_dccallow.cpp
+++ b/src/modules/m_dccallow.cpp
@@ -168,7 +168,7 @@ class CommandDccallow : public Command
length = InspIRCd::Duration(parameters[1]);
}
- if (!ServerInstance->IsValidMask(mask))
+ if (!InspIRCd::IsValidMask(mask))
{
return CMD_FAILURE;
}
diff --git a/src/modules/m_dnsbl.cpp b/src/modules/m_dnsbl.cpp
index fa9e73bd4..48ce1d791 100644
--- a/src/modules/m_dnsbl.cpp
+++ b/src/modules/m_dnsbl.cpp
@@ -136,7 +136,7 @@ class DNSBLResolver : public DNS::Request
"*", them->GetIPString());
if (ServerInstance->XLines->AddLine(kl,NULL))
{
- std::string timestr = ServerInstance->TimeString(kl->expiry);
+ std::string timestr = InspIRCd::TimeString(kl->expiry);
ServerInstance->SNO->WriteGlobalSno('x',"K:line added due to DNSBL match on *@%s to expire on %s: %s",
them->GetIPString().c_str(), timestr.c_str(), reason.c_str());
ServerInstance->XLines->ApplyLines();
@@ -151,7 +151,7 @@ class DNSBLResolver : public DNS::Request
"*", them->GetIPString());
if (ServerInstance->XLines->AddLine(gl,NULL))
{
- std::string timestr = ServerInstance->TimeString(gl->expiry);
+ std::string timestr = InspIRCd::TimeString(gl->expiry);
ServerInstance->SNO->WriteGlobalSno('x',"G:line added due to DNSBL match on *@%s to expire on %s: %s",
them->GetIPString().c_str(), timestr.c_str(), reason.c_str());
ServerInstance->XLines->ApplyLines();
@@ -166,7 +166,7 @@ class DNSBLResolver : public DNS::Request
them->GetIPString());
if (ServerInstance->XLines->AddLine(zl,NULL))
{
- std::string timestr = ServerInstance->TimeString(zl->expiry);
+ std::string timestr = InspIRCd::TimeString(zl->expiry);
ServerInstance->SNO->WriteGlobalSno('x',"Z:line added due to DNSBL match on *@%s to expire on %s: %s",
them->GetIPString().c_str(), timestr.c_str(), reason.c_str());
ServerInstance->XLines->ApplyLines();
diff --git a/src/modules/m_httpd_stats.cpp b/src/modules/m_httpd_stats.cpp
index 5114b26d5..346fe41f5 100644
--- a/src/modules/m_httpd_stats.cpp
+++ b/src/modules/m_httpd_stats.cpp
@@ -197,7 +197,7 @@ class ModuleHttpStats : public Module
LocalUser* lu = IS_LOCAL(u);
if (lu)
data << "<port>" << lu->GetServerPort() << "</port><servaddr>"
- << irc::sockets::satouser(lu->server_sa) << "</servaddr>";
+ << lu->server_sa.str() << "</servaddr>";
data << "<ipaddress>" << u->GetIPString() << "</ipaddress>";
DumpMeta(data, u);
diff --git a/src/modules/m_rline.cpp b/src/modules/m_rline.cpp
index 0bfdc3565..35f88ea93 100644
--- a/src/modules/m_rline.cpp
+++ b/src/modules/m_rline.cpp
@@ -78,7 +78,7 @@ class RLine : public XLine
ZLine* zl = new ZLine(ServerInstance->Time(), duration ? expiry - ServerInstance->Time() : 0, ServerInstance->Config->ServerName.c_str(), reason.c_str(), u->GetIPString());
if (ServerInstance->XLines->AddLine(zl, NULL))
{
- std::string timestr = ServerInstance->TimeString(zl->expiry);
+ std::string timestr = InspIRCd::TimeString(zl->expiry);
ServerInstance->SNO->WriteToSnoMask('x', "Z-line added due to R-line match on *@%s%s%s: %s",
zl->ipaddr.c_str(), zl->duration ? " to expire on " : "", zl->duration ? timestr.c_str() : "", zl->reason.c_str());
added_zline = true;
@@ -168,7 +168,7 @@ class CommandRLine : public Command
else
{
time_t c_requires_crap = duration + ServerInstance->Time();
- std::string timestr = ServerInstance->TimeString(c_requires_crap);
+ std::string timestr = InspIRCd::TimeString(c_requires_crap);
ServerInstance->SNO->WriteToSnoMask('x', "%s added timed R-line for %s to expire on %s: %s", user->nick.c_str(), parameters[0].c_str(), timestr.c_str(), parameters[2].c_str());
}
diff --git a/src/modules/m_shun.cpp b/src/modules/m_shun.cpp
index f0524435b..075b80eb7 100644
--- a/src/modules/m_shun.cpp
+++ b/src/modules/m_shun.cpp
@@ -140,7 +140,7 @@ class CommandShun : public Command
else
{
time_t c_requires_crap = duration + ServerInstance->Time();
- std::string timestr = ServerInstance->TimeString(c_requires_crap);
+ std::string timestr = InspIRCd::TimeString(c_requires_crap);
ServerInstance->SNO->WriteToSnoMask('x', "%s added timed SHUN for %s to expire on %s: %s",
user->nick.c_str(), target.c_str(), timestr.c_str(), expr.c_str());
}
diff --git a/src/modules/m_spanningtree/addline.cpp b/src/modules/m_spanningtree/addline.cpp
index d06317674..f4485030a 100644
--- a/src/modules/m_spanningtree/addline.cpp
+++ b/src/modules/m_spanningtree/addline.cpp
@@ -50,7 +50,7 @@ CmdResult CommandAddLine::Handle(User* usr, std::vector<std::string>& params)
{
if (xl->duration)
{
- std::string timestr = ServerInstance->TimeString(xl->expiry);
+ std::string timestr = InspIRCd::TimeString(xl->expiry);
ServerInstance->SNO->WriteToSnoMask('X',"%s added %s%s on %s to expire on %s: %s",setter.c_str(),params[0].c_str(),params[0].length() == 1 ? "-line" : "",
params[1].c_str(), timestr.c_str(), params[5].c_str());
}
diff --git a/src/modules/m_svshold.cpp b/src/modules/m_svshold.cpp
index 7d40f0cc0..bb2fcdbc0 100644
--- a/src/modules/m_svshold.cpp
+++ b/src/modules/m_svshold.cpp
@@ -123,7 +123,7 @@ class CommandSvshold : public Command
else
{
time_t c_requires_crap = duration + ServerInstance->Time();
- std::string timestr = ServerInstance->TimeString(c_requires_crap);
+ std::string timestr = InspIRCd::TimeString(c_requires_crap);
ServerInstance->SNO->WriteGlobalSno('x', "%s added timed SVSHOLD for %s, expires on %s: %s", user->nick.c_str(), parameters[0].c_str(), timestr.c_str(), parameters[2].c_str());
}
}
diff --git a/src/modules/m_timedbans.cpp b/src/modules/m_timedbans.cpp
index 2441f1aa8..40cc162c1 100644
--- a/src/modules/m_timedbans.cpp
+++ b/src/modules/m_timedbans.cpp
@@ -75,7 +75,7 @@ class CommandTban : public Command
setban.push_back(parameters[0]);
setban.push_back("+b");
bool isextban = ((mask.size() > 2) && (mask[1] == ':'));
- if (!isextban && !ServerInstance->IsValidMask(mask))
+ if (!isextban && !InspIRCd::IsValidMask(mask))
mask.append("!*@*");
setban.push_back(mask);
diff --git a/src/modules/m_xline_db.cpp b/src/modules/m_xline_db.cpp
index d482dca2b..222bbe17b 100644
--- a/src/modules/m_xline_db.cpp
+++ b/src/modules/m_xline_db.cpp
@@ -156,7 +156,7 @@ class ModuleXLineDB : public Module
bool ReadDatabase()
{
// If the xline database doesn't exist then we don't need to load it.
- if (!ServerConfig::FileExists(xlinedbpath.c_str()))
+ if (!FileSystem::FileExists(xlinedbpath))
return true;
std::ifstream stream(xlinedbpath.c_str());
diff --git a/src/server.cpp b/src/server.cpp
index 4974b8501..1d1f52641 100644
--- a/src/server.cpp
+++ b/src/server.cpp
@@ -172,7 +172,6 @@ void ISupportManager::Build()
tokens["CHANMODES"] = ServerInstance->Modes->GiveModeList(MASK_CHANNEL);
tokens["CHANNELLEN"] = ConvToStr(ServerInstance->Config->Limits.ChanMax);
tokens["CHANTYPES"] = "#";
- tokens["CHARSET"] = "ascii";
tokens["ELIST"] = "MU";
tokens["KICKLEN"] = ConvToStr(ServerInstance->Config->Limits.MaxKick);
tokens["MAXBANS"] = "64"; // TODO: make this a config setting.
diff --git a/src/usermanager.cpp b/src/usermanager.cpp
index 538feaade..191760686 100644
--- a/src/usermanager.cpp
+++ b/src/usermanager.cpp
@@ -337,3 +337,71 @@ bool UserManager::AllModulesReportReady(LocalUser* user)
FIRST_MOD_RESULT(OnCheckReady, res, (user));
return (res == MOD_RES_PASSTHRU);
}
+
+/**
+ * This function is called once a second from the mainloop.
+ * It is intended to do background checking on all the user structs, e.g.
+ * stuff like ping checks, registration timeouts, etc.
+ */
+void UserManager::DoBackgroundUserStuff()
+{
+ /*
+ * loop over all local users..
+ */
+ for (LocalUserList::iterator i = local_users.begin(); i != local_users.end(); ++i)
+ {
+ LocalUser* curr = *i;
+
+ if (curr->quitting)
+ continue;
+
+ if (curr->CommandFloodPenalty || curr->eh.getSendQSize())
+ {
+ unsigned int rate = curr->MyClass->GetCommandRate();
+ if (curr->CommandFloodPenalty > rate)
+ curr->CommandFloodPenalty -= rate;
+ else
+ curr->CommandFloodPenalty = 0;
+ curr->eh.OnDataReady();
+ }
+
+ switch (curr->registered)
+ {
+ case REG_ALL:
+ if (ServerInstance->Time() > curr->nping)
+ {
+ // This user didn't answer the last ping, remove them
+ if (!curr->lastping)
+ {
+ time_t time = ServerInstance->Time() - (curr->nping - curr->MyClass->GetPingTime());
+ const std::string message = "Ping timeout: " + ConvToStr(time) + (time == 1 ? " seconds" : " second");
+ this->QuitUser(curr, message);
+ continue;
+ }
+
+ curr->Write("PING :" + ServerInstance->Config->ServerName);
+ curr->lastping = 0;
+ curr->nping = ServerInstance->Time() + curr->MyClass->GetPingTime();
+ }
+ break;
+ case REG_NICKUSER:
+ if (AllModulesReportReady(curr))
+ {
+ /* User has sent NICK/USER, modules are okay, DNS finished. */
+ curr->FullConnect();
+ continue;
+ }
+ break;
+ }
+
+ if (curr->registered != REG_ALL && (ServerInstance->Time() > (curr->age + curr->MyClass->GetRegTimeout())))
+ {
+ /*
+ * registration timeout -- didnt send USER/NICK/HOST
+ * in the time specified in their connection class.
+ */
+ this->QuitUser(curr, "Registration timeout");
+ continue;
+ }
+ }
+}
diff --git a/src/userprocess.cpp b/src/userprocess.cpp
deleted file mode 100644
index fe55fb3f7..000000000
--- a/src/userprocess.cpp
+++ /dev/null
@@ -1,95 +0,0 @@
-/*
- * InspIRCd -- Internet Relay Chat Daemon
- *
- * Copyright (C) 2009 Daniel De Graaf <danieldg@inspircd.org>
- * Copyright (C) 2006-2008 Robin Burchell <robin+git@viroteck.net>
- * Copyright (C) 2005-2007 Craig Edwards <craigedwards@brainbox.cc>
- * Copyright (C) 2007 Dennis Friis <peavey@inspircd.org>
- * Copyright (C) 2006 Craig McLure <craig@chatspike.net>
- *
- * This file is part of InspIRCd. InspIRCd is free software: you can
- * redistribute it and/or modify it under the terms of the GNU General Public
- * License as published by the Free Software Foundation, version 2.
- *
- * This program is distributed in the hope that it will be useful, but WITHOUT
- * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
- * FOR A PARTICULAR PURPOSE. See the GNU General Public License for more
- * details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program. If not, see <http://www.gnu.org/licenses/>.
- */
-
-
-#include "inspircd.h"
-#include "xline.h"
-#include "socketengine.h"
-#include "command_parse.h"
-
-/**
- * This function is called once a second from the mainloop.
- * It is intended to do background checking on all the user structs, e.g.
- * stuff like ping checks, registration timeouts, etc.
- */
-void UserManager::DoBackgroundUserStuff()
-{
- /*
- * loop over all local users..
- */
- for (LocalUserList::iterator i = local_users.begin(); i != local_users.end(); ++i)
- {
- LocalUser* curr = *i;
-
- if (curr->quitting)
- continue;
-
- if (curr->CommandFloodPenalty || curr->eh.getSendQSize())
- {
- unsigned int rate = curr->MyClass->GetCommandRate();
- if (curr->CommandFloodPenalty > rate)
- curr->CommandFloodPenalty -= rate;
- else
- curr->CommandFloodPenalty = 0;
- curr->eh.OnDataReady();
- }
-
- switch (curr->registered)
- {
- case REG_ALL:
- if (ServerInstance->Time() > curr->nping)
- {
- // This user didn't answer the last ping, remove them
- if (!curr->lastping)
- {
- time_t time = ServerInstance->Time() - (curr->nping - curr->MyClass->GetPingTime());
- const std::string message = "Ping timeout: " + ConvToStr(time) + (time == 1 ? " seconds" : " second");
- this->QuitUser(curr, message);
- continue;
- }
-
- curr->Write("PING :" + ServerInstance->Config->ServerName);
- curr->lastping = 0;
- curr->nping = ServerInstance->Time() + curr->MyClass->GetPingTime();
- }
- break;
- case REG_NICKUSER:
- if (AllModulesReportReady(curr))
- {
- /* User has sent NICK/USER, modules are okay, DNS finished. */
- curr->FullConnect();
- continue;
- }
- break;
- }
-
- if (curr->registered != REG_ALL && (ServerInstance->Time() > (curr->age + curr->MyClass->GetRegTimeout())))
- {
- /*
- * registration timeout -- didnt send USER/NICK/HOST
- * in the time specified in their connection class.
- */
- this->QuitUser(curr, "Registration timeout");
- continue;
- }
- }
-}