};
template <typename T>
-class reference
+class CoreExport reference
{
T* value;
public:
inline bool operator>(const reference<T>& other) const { return value > other.value; }
static inline void* operator new(size_t, void* m) { return m; }
private:
+#ifndef WIN32
static void* operator new(size_t);
static void operator delete(void*);
+#endif
};
/** This class can be used on its own to represent an exception, or derived to represent a module-specific exception.
}
};
+class Module;
class CoreExport ModuleException : public CoreException
{
public:
#if defined(WINDOWS) && !defined(HASHMAP_DEPRECATED)
typedef nspace::hash_map<irc::string, CachedQuery, nspace::hash_compare<irc::string> > dnscache;
#else
-typedef nspace::hash_map<irc::string, CachedQuery, nspace::hash<irc::string> > dnscache;
+typedef nspace::hash_map<irc::string, CachedQuery, irc::hash> dnscache;
#endif
/**
* Case sensitivity is ignored, and the RFC 'character set'
* is adhered to
*/
- struct StrHashComp
+ struct CoreExport StrHashComp
{
/** The operator () does the actual comparison in hash_map
*/
* @return The new value with _ translated to space.
*/
CoreExport const char* Spacify(const char* n);
+
+ struct hash
+ {
+ /** Hash an irc::string using RFC1459 case sensitivity rules
+ * @param s A string to hash
+ * @return The hash value
+ */
+ size_t CoreExport operator()(const irc::string &s) const;
+ };
}
/* Define operators for using >> and << with irc::string to an ostream on an istream. */
};
#else
- template<> struct hash<irc::string>
- {
- /** Hash an irc::string using RFC1459 case sensitivity rules
- * @param s A string to hash
- * @return The hash value
- */
- size_t CoreExport operator()(const irc::string &s) const;
- };
-
/* XXX FIXME: Implement a hash function overriding std::string's that works with TR1! */
#ifdef HASHMAP_DEPRECATED
#if defined(WINDOWS) && !defined(HASHMAP_DEPRECATED)
size_t nspace::hash_compare<irc::string, std::less<irc::string> >::operator()(const irc::string &s) const
#else
- size_t CoreExport nspace::hash<irc::string>::operator()(const irc::string &s) const
+ size_t CoreExport irc::hash::operator()(const irc::string &s) const
#endif
{
register size_t t = 0;
}
#else
WindowsIPC = new IPC;
- if(!Config->nofork)
+ if(!Config->cmdline.nofork)
{
WindowsForkKillOwner();
FreeConsole();
#ifndef DISABLE_WRITEV
#include <sys/uio.h>
+#endif
+
#ifndef IOV_MAX
#define IOV_MAX 1024
#endif
-#endif
BufferedSocket::BufferedSocket()
{
if (bind_to.sa.sa_family == AF_INET6)
{
std::string addr = tag->getString("address");
- int enable = (addr.empty() || addr == "*") ? 0 : 1;
+ const char enable = (addr.empty() || addr == "*") ? 0 : 1;
setsockopt(fd, IPPROTO_IPV6, IPV6_V6ONLY, &enable, sizeof(enable));
// errors ignored intentionally
}
if (parameters.size() == 1)
{
/* Deleting a filter */
- if (static_cast<ModuleFilter&>(*creator).DeleteFilter(parameters[0]))
+ Module *me = creator;
+ if (static_cast<ModuleFilter *>(me)->DeleteFilter(parameters[0]))
{
user->WriteServ("NOTICE %s :*** Removed filter '%s'", user->nick.c_str(), parameters[0].c_str());
ServerInstance->SNO->WriteToSnoMask(IS_LOCAL(user) ? 'a' : 'A', std::string("FILTER: ")+user->nick+" removed filter '"+parameters[0]+"'");
{
reason = parameters[3];
}
- std::pair<bool, std::string> result = static_cast<ModuleFilter&>(*creator).AddFilter(freeform, type, reason, duration, flags);
+
+ Module *me = creator;
+ std::pair<bool, std::string> result = static_cast<ModuleFilter *>(me)->AddFilter(freeform, type, reason, duration, flags);
if (result.first)
{
user->WriteServ("NOTICE %s :*** Added filter '%s', type '%s'%s%s, flags '%s', reason: '%s'", user->nick.c_str(), freeform.c_str(),
--- /dev/null
+/* +------------------------------------+
+ * | Inspire Internet Relay Chat Daemon |
+ * +------------------------------------+
+ *
+ * InspIRCd: (C) 2002-2010 InspIRCd Development Team
+ * See: http://wiki.inspircd.org/Credits
+ *
+ * This program is free but copyrighted software; see
+ * the file COPYING for details.
+ *
+ * ---------------------------------------------------
+ */
+
+#include "inspircd.h"
+#include "socket.h"
+#include "xline.h"
+#include "socketengine.h"
+
+#include "main.h"
+#include "utils.h"
+#include "treeserver.h"
+#include "treesocket.h"
+
+bool TreeSocket::Whois(const std::string &prefix, parameterlist ¶ms)
+{
+ if (params.size() < 1)
+ return true;
+ User* u = ServerInstance->FindNick(prefix);
+ if (u)
+ {
+ // an incoming request
+ if (params.size() == 1)
+ {
+ User* x = ServerInstance->FindNick(params[0]);
+ if ((x) && (IS_LOCAL(x)))
+ {
+ long idle = abs((long)((x->idle_lastmsg) - ServerInstance->Time()));
+ parameterlist par;
+ par.push_back(prefix);
+ par.push_back(ConvToStr(x->signon));
+ par.push_back(ConvToStr(idle));
+ // ours, we're done, pass it BACK
+ Utils->DoOneToOne(params[0], "IDLE", par, u->server);
+ }
+ else
+ {
+ // not ours pass it on
+ if (x)
+ Utils->DoOneToOne(prefix, "IDLE", params, x->server);
+ }
+ }
+ else if (params.size() == 3)
+ {
+ std::string who_did_the_whois = params[0];
+ User* who_to_send_to = ServerInstance->FindNick(who_did_the_whois);
+ if ((who_to_send_to) && (IS_LOCAL(who_to_send_to)))
+ {
+ // an incoming reply to a whois we sent out
+ std::string nick_whoised = prefix;
+ unsigned long signon = atoi(params[1].c_str());
+ unsigned long idle = atoi(params[2].c_str());
+ if ((who_to_send_to) && (IS_LOCAL(who_to_send_to)))
+ {
+ ServerInstance->DoWhois(who_to_send_to, u, signon, idle, nick_whoised.c_str());
+ }
+ }
+ else
+ {
+ // not ours, pass it on
+ if (who_to_send_to)
+ Utils->DoOneToOne(prefix, "IDLE", params, who_to_send_to->server);
+ }
+ }
+ }
+ return true;
+}
+
+
Autoconnect(ConfigTag* Tag) : tag(Tag) {}
};
-
#endif
+++ /dev/null
-/* +------------------------------------+
- * | Inspire Internet Relay Chat Daemon |
- * +------------------------------------+
- *
- * InspIRCd: (C) 2002-2010 InspIRCd Development Team
- * See: http://wiki.inspircd.org/Credits
- *
- * This program is free but copyrighted software; see
- * the file COPYING for details.
- *
- * ---------------------------------------------------
- */
-
-#include "inspircd.h"
-#include "socket.h"
-#include "xline.h"
-#include "socketengine.h"
-
-#include "main.h"
-#include "utils.h"
-#include "treeserver.h"
-#include "treesocket.h"
-
-bool TreeSocket::Whois(const std::string &prefix, parameterlist ¶ms)
-{
- if (params.size() < 1)
- return true;
- User* u = ServerInstance->FindNick(prefix);
- if (u)
- {
- // an incoming request
- if (params.size() == 1)
- {
- User* x = ServerInstance->FindNick(params[0]);
- if ((x) && (IS_LOCAL(x)))
- {
- long idle = abs((long)((x->idle_lastmsg) - ServerInstance->Time()));
- parameterlist par;
- par.push_back(prefix);
- par.push_back(ConvToStr(x->signon));
- par.push_back(ConvToStr(idle));
- // ours, we're done, pass it BACK
- Utils->DoOneToOne(params[0], "IDLE", par, u->server);
- }
- else
- {
- // not ours pass it on
- if (x)
- Utils->DoOneToOne(prefix, "IDLE", params, x->server);
- }
- }
- else if (params.size() == 3)
- {
- std::string who_did_the_whois = params[0];
- User* who_to_send_to = ServerInstance->FindNick(who_did_the_whois);
- if ((who_to_send_to) && (IS_LOCAL(who_to_send_to)))
- {
- // an incoming reply to a whois we sent out
- std::string nick_whoised = prefix;
- unsigned long signon = atoi(params[1].c_str());
- unsigned long idle = atoi(params[2].c_str());
- if ((who_to_send_to) && (IS_LOCAL(who_to_send_to)))
- {
- ServerInstance->DoWhois(who_to_send_to, u, signon, idle, nick_whoised.c_str());
- }
- }
- else
- {
- // not ours, pass it on
- if (who_to_send_to)
- Utils->DoOneToOne(prefix, "IDLE", params, who_to_send_to->server);
- }
- }
- }
- return true;
-}
-
-
#if defined(WINDOWS) && !defined(HASHMAP_DEPRECATED)
typedef nspace::hash_map<irc::string, std::deque<User*>, nspace::hash_compare<irc::string, std::less<irc::string> > > watchentries;
#else
- typedef nspace::hash_map<irc::string, std::deque<User*>, nspace::hash<irc::string> > watchentries;
+ typedef nspace::hash_map<irc::string, std::deque<User*>, irc::hash> watchentries;
#endif
typedef std::map<irc::string, std::string> watchlist;
-<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">\r
+<?xml version="1.0" encoding="utf-8"?>\r
+<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">\r
<ItemGroup Label="ProjectConfigurations">\r
<ProjectConfiguration Include="Debug|Win32">\r
<Configuration>Debug</Configuration>\r
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">true</ExcludedFromBuild>\r
</ClCompile>\r
<ClCompile Include="..\src\command_parse.cpp" />\r
+ <ClCompile Include="..\src\configparser.cpp" />\r
<ClCompile Include="..\src\configreader.cpp" />\r
<ClCompile Include="..\src\cull_list.cpp" />\r
<ClCompile Include="..\src\dns.cpp" />\r
<ClCompile Include="..\src\logger.cpp" />\r
<ClCompile Include="..\src\mode.cpp" />\r
<ClCompile Include="..\src\modes\cmode_b.cpp" />\r
- <ClCompile Include="..\src\modes\cmode_h.cpp" />\r
<ClCompile Include="..\src\modes\cmode_i.cpp" />\r
<ClCompile Include="..\src\modes\cmode_k.cpp" />\r
<ClCompile Include="..\src\modes\cmode_l.cpp" />\r
<ClCompile Include="..\src\modes\umode_o.cpp" />\r
<ClCompile Include="..\src\modes\umode_s.cpp" />\r
<ClCompile Include="..\src\modes\umode_w.cpp" />\r
+ <ClCompile Include="..\src\modmanager_dynamic.cpp" />\r
<ClCompile Include="..\src\modules.cpp" />\r
<ClCompile Include="..\src\server.cpp" />\r
<ClCompile Include="..\src\snomasks.cpp" />\r
<ClCompile Include="..\src\socket.cpp" />\r
<ClCompile Include="..\src\socketengine.cpp" />\r
<ClCompile Include="..\src\socketengines\socketengine_select.cpp" />\r
+ <ClCompile Include="..\src\stats.cpp" />\r
<ClCompile Include="..\src\testsuite.cpp" />\r
<ClCompile Include="..\src\threadengine.cpp" />\r
<ClCompile Include="..\src\threadengines\threadengine_win32.cpp" />\r
<ClCompile Include="..\src\userprocess.cpp" />\r
<ClCompile Include="..\src\users.cpp" />\r
<ClCompile Include="..\src\user_resolver.cpp" />\r
+ <ClCompile Include="..\src\whois.cpp" />\r
<ClCompile Include="..\src\wildcard.cpp" />\r
<ClCompile Include="..\src\xline.cpp" />\r
<ClCompile Include="inspircd_memory_functions.cpp" />\r
<CustomBuild Include="..\src\modules\m_abbreviation.cpp">\r
<ExcludedFromBuild Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">true</ExcludedFromBuild>\r
</CustomBuild>\r
- <ClCompile Include="..\src\socketengines\socketengine_iocp.cpp">\r
- <ObjectFileName Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">$(IntDir)</ObjectFileName>\r
- </ClCompile>\r
</ItemGroup>\r
<ItemGroup>\r
<CustomBuild Include="..\src\modules\account.h">\r
<ClInclude Include="..\include\snomasks.h" />\r
<ClInclude Include="..\include\socket.h" />\r
<ClInclude Include="..\include\socketengine.h" />\r
- <ClInclude Include="..\include\socketengines\socketengine_iocp.h" />\r
<ClInclude Include="..\include\socketengines\socketengine_select.h" />\r
<ClInclude Include="..\include\testsuite.h" />\r
<ClInclude Include="..\include\threadengine.h" />\r
/* Toggle debug */\r
thread->SetResult(0);\r
thread->ClearStatus();\r
- ServerInstance->Config->forcedebug = !ServerInstance->Config->forcedebug;\r
+ ServerInstance->Config->cmdline.forcedebug = !ServerInstance->Config->cmdline.forcedebug;\r
break;\r
}\r
}\r
int optind = 1;
char optarg[514];
-int getopt_long_only(int ___argc, char *const *___argv, const char *__shortopts, const struct option *__longopts, int *__longind)
+int getopt_long(int ___argc, char *const *___argv, const char *__shortopts, const struct option *__longopts, int *__longind)
{
// burlex todo: handle the shortops, at the moment it only works with longopts.
DWORD mstime = timeGetTime();
tv->tv_sec = time(NULL);
- tv->tv_usec = (mstime - (tv->tv_sec * 1000)) * 1000000;
+ tv->tv_nsec = (mstime - (tv->tv_sec * 1000)) * 1000000;
return 0;
}
return cpu;
}
+
+int random()
+{
+ return rand();
+}
+
+void srandom(unsigned int seed)
+{
+ srand(seed);
+}
+
+int gettimeofday(timeval *tv, void *)
+{
+ SYSTEMTIME st;
+ GetSystemTime(&st);
+
+ tv->tv_sec = ServerInstance->Time();
+ tv->tv_usec = st.wMilliseconds;
+
+ return 0;
+}
+
+/* World's largest hack to make m_spanningtree work */
+#include "../src/modules/m_spanningtree/link.h"
+static void unused_Function()
+{
+ reference<Link> unused_Link;
+ reference<Autoconnect> unused_Autoconnect;
+
+ if (unused_Link)
+ unused_Link->Port = -1;
+ if (unused_Autoconnect)
+ unused_Autoconnect->NextConnectTime = -1;
+
+ Autoconnect *a = unused_Autoconnect;
+ Link *l = unused_Link;
+
+ unused_Link = reference<Link>(unused_Link);
+ unused_Autoconnect = reference<Autoconnect>(unused_Autoconnect);
+
+ unused_Link = reference<Link>(l);
+ unused_Autoconnect = reference<Autoconnect>(a);
+
+ delete unused_Link;
+ delete unused_Autoconnect;
+}
/* Since when does the ISO C++ standard *remove* C functions?! */
#define mkdir(file,mode) _mkdir(file)
+#define strncasecmp strnicmp
+
/* Unix-style sleep (argument is in seconds) */
__inline void sleep(int seconds) { Sleep(seconds * 1000); }
};
extern int optind;
extern char optarg[514];
-int getopt_long_only (int ___argc, char *const *___argv, const char *__shortopts, const struct option *__longopts, int *__longind);
+int getopt_long(int ___argc, char *const *___argv, const char *__shortopts, const struct option *__longopts, int *__longind);
/* Module Loading */
#define dlopen(path, state) (void*)LoadLibrary(path)
bool first;
};
+struct timespec
+{
+ time_t tv_sec;
+ long tv_nsec;
+};
+
CoreExport DIR * opendir(const char * path);
CoreExport dirent * readdir(DIR * handle);
CoreExport void closedir(DIR * handle);
CoreExport bool initwmi();
CoreExport void donewmi();
CoreExport int getcpu();
+CoreExport int random();
+CoreExport void srandom(unsigned seed);
+CoreExport int gettimeofday(timeval *tv, void *);
#endif
/>\r
<Tool\r
Name="VCLinkerTool"\r
- AdditionalDependencies="ws2_32.lib inspircd.lib cmd_whois.lib cmd_stats.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib"\r
+ AdditionalDependencies="ws2_32.lib inspircd.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib"\r
OutputFile="$(OutDir)/m_spanningtree.so"\r
LinkIncremental="1"\r
AdditionalLibraryDirectories="..\bin\debug\bin;..\bin\debug\lib"\r
/>\r
<Tool\r
Name="VCLinkerTool"\r
- AdditionalDependencies="ws2_32.lib inspircd.lib cmd_whois.lib cmd_stats.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib"\r
+ AdditionalDependencies="ws2_32.lib inspircd.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib"\r
OutputFile="$(OutDir)/m_spanningtree.so"\r
LinkIncremental="1"\r
AdditionalLibraryDirectories="..\bin\release\bin;..\bin\release\lib"\r
/>\r
<Tool\r
Name="VCLinkerTool"\r
- AdditionalDependencies="ws2_32.lib inspircd.lib cmd_whois.lib cmd_stats.lib"\r
+ AdditionalDependencies="ws2_32.lib inspircd.lib"\r
OutputFile="$(OutDir)/m_spanningtree.so"\r
LinkIncremental="1"\r
AdditionalLibraryDirectories="..\bin\debug_x64\bin;..\bin\debug_x64\lib"\r
/>\r
<Tool\r
Name="VCLinkerTool"\r
- AdditionalDependencies="ws2_32.lib inspircd.lib cmd_whois.lib cmd_stats.lib"\r
+ AdditionalDependencies="ws2_32.lib inspircd.lib"\r
OutputFile="$(OutDir)/m_spanningtree.so"\r
LinkIncremental="1"\r
AdditionalLibraryDirectories="..\bin\release_x64\bin;..\bin\release_x64\lib"\r
-<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">\r
+<?xml version="1.0" encoding="utf-8"?>\r
+<Project DefaultTargets="Build" ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">\r
<ItemGroup Label="ProjectConfigurations">\r
<ProjectConfiguration Include="Debug|Win32">\r
<Configuration>Debug</Configuration>\r
<MultiProcessorCompilation>true</MultiProcessorCompilation>\r
</ClCompile>\r
<Link>\r
- <AdditionalDependencies>ws2_32.lib;inspircd.lib;cmd_whois.lib;cmd_stats.lib;kernel32.lib;user32.lib;gdi32.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;%(AdditionalDependencies)</AdditionalDependencies>\r
+ <AdditionalDependencies>ws2_32.lib;inspircd.lib;kernel32.lib;user32.lib;gdi32.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;%(AdditionalDependencies)</AdditionalDependencies>\r
<AdditionalLibraryDirectories>..\bin\debug\bin;..\bin\debug\lib;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>\r
<GenerateDebugInformation>true</GenerateDebugInformation>\r
<ProgramDatabaseFile>$(OutDir)m_spanningtree.pdb</ProgramDatabaseFile>\r
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>\r
</ClCompile>\r
<Link>\r
- <AdditionalDependencies>ws2_32.lib;inspircd.lib;cmd_whois.lib;cmd_stats.lib;%(AdditionalDependencies)</AdditionalDependencies>\r
+ <AdditionalDependencies>ws2_32.lib;inspircd.lib;%(AdditionalDependencies)</AdditionalDependencies>\r
<AdditionalLibraryDirectories>..\bin\debug_x64\bin;..\bin\debug_x64\lib;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>\r
<GenerateDebugInformation>true</GenerateDebugInformation>\r
<ProgramDatabaseFile>$(OutDir)m_spanningtree.pdb</ProgramDatabaseFile>\r
<AdditionalOptions>/MP %(AdditionalOptions)</AdditionalOptions>\r
<Optimization>MinSpace</Optimization>\r
<WholeProgramOptimization>true</WholeProgramOptimization>\r
- <AdditionalIncludeDirectories>..\include;..\win;..\src\modules\m_spanningtree;.;..\src\modules;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>\r
+ <AdditionalIncludeDirectories>..\include;..\win;.;..\src\modules;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>\r
<PreprocessorDefinitions>WIN32;NDEBUG;_WINDOWS;_USRDLL;M_SPANNINGTREE_EXPORTS;DLL_BUILD;%(PreprocessorDefinitions)</PreprocessorDefinitions>\r
<MinimalRebuild>false</MinimalRebuild>\r
<RuntimeLibrary>MultiThreadedDLL</RuntimeLibrary>\r
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>\r
</ClCompile>\r
<Link>\r
- <AdditionalDependencies>ws2_32.lib;inspircd.lib;cmd_whois.lib;cmd_stats.lib;kernel32.lib;user32.lib;gdi32.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;%(AdditionalDependencies)</AdditionalDependencies>\r
+ <AdditionalDependencies>ws2_32.lib;inspircd.lib;kernel32.lib;user32.lib;gdi32.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;%(AdditionalDependencies)</AdditionalDependencies>\r
<AdditionalLibraryDirectories>..\bin\release\bin;..\bin\release\lib;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>\r
<GenerateDebugInformation>true</GenerateDebugInformation>\r
<SubSystem>Windows</SubSystem>\r
<DebugInformationFormat>ProgramDatabase</DebugInformationFormat>\r
</ClCompile>\r
<Link>\r
- <AdditionalDependencies>ws2_32.lib;inspircd.lib;cmd_whois.lib;cmd_stats.lib;%(AdditionalDependencies)</AdditionalDependencies>\r
+ <AdditionalDependencies>ws2_32.lib;inspircd.lib;%(AdditionalDependencies)</AdditionalDependencies>\r
<AdditionalLibraryDirectories>..\bin\release_x64\bin;..\bin\release_x64\lib;%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>\r
<GenerateDebugInformation>true</GenerateDebugInformation>\r
<SubSystem>Windows</SubSystem>\r
</ItemDefinitionGroup>\r
<ItemGroup>\r
<ClCompile Include="..\src\modules\m_spanningtree\addline.cpp" />\r
- <ClCompile Include="..\src\modules\m_spanningtree\admin.cpp" />\r
+ <ClCompile Include="..\src\modules\m_spanningtree\away.cpp" />\r
<ClCompile Include="..\src\modules\m_spanningtree\cachetimer.cpp" />\r
<ClCompile Include="..\src\modules\m_spanningtree\capab.cpp" />\r
+ <ClCompile Include="..\src\modules\m_spanningtree\compat.cpp" />\r
<ClCompile Include="..\src\modules\m_spanningtree\delline.cpp" />\r
<ClCompile Include="..\src\modules\m_spanningtree\encap.cpp" />\r
- <ClCompile Include="..\src\modules\m_spanningtree\fhost.cpp" />\r
<ClCompile Include="..\src\modules\m_spanningtree\fjoin.cpp" />\r
<ClCompile Include="..\src\modules\m_spanningtree\fmode.cpp" />\r
- <ClCompile Include="..\src\modules\m_spanningtree\fname.cpp" />\r
<ClCompile Include="..\src\modules\m_spanningtree\ftopic.cpp" />\r
- <ClCompile Include="..\src\modules\m_spanningtree\handshaketimer.cpp" />\r
<ClCompile Include="..\src\modules\m_spanningtree\hmac.cpp" />\r
- <ClCompile Include="..\src\modules\m_spanningtree\kill.cpp" />\r
+ <ClCompile Include="..\src\modules\m_spanningtree\idle.cpp" />\r
<ClCompile Include="..\src\modules\m_spanningtree\main.cpp" />\r
<ClCompile Include="..\src\modules\m_spanningtree\metadata.cpp" />\r
- <ClCompile Include="..\src\modules\m_spanningtree\modules.cpp">\r
- <ObjectFileName Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">$(IntDir)modules_spanningtree.obj</ObjectFileName>\r
- </ClCompile>\r
- <ClCompile Include="..\src\modules\m_spanningtree\motd.cpp" />\r
<ClCompile Include="..\src\modules\m_spanningtree\netburst.cpp" />\r
<ClCompile Include="..\src\modules\m_spanningtree\nickcollide.cpp" />\r
<ClCompile Include="..\src\modules\m_spanningtree\operquit.cpp" />\r
<ClCompile Include="..\src\modules\m_spanningtree\opertype.cpp" />\r
- <ClCompile Include="..\src\modules\m_spanningtree\override_admin.cpp" />\r
<ClCompile Include="..\src\modules\m_spanningtree\override_map.cpp" />\r
- <ClCompile Include="..\src\modules\m_spanningtree\override_modules.cpp" />\r
- <ClCompile Include="..\src\modules\m_spanningtree\override_motd.cpp" />\r
<ClCompile Include="..\src\modules\m_spanningtree\override_squit.cpp" />\r
<ClCompile Include="..\src\modules\m_spanningtree\override_stats.cpp" />\r
- <ClCompile Include="..\src\modules\m_spanningtree\override_time.cpp" />\r
<ClCompile Include="..\src\modules\m_spanningtree\override_whois.cpp" />\r
<ClCompile Include="..\src\modules\m_spanningtree\ping.cpp" />\r
<ClCompile Include="..\src\modules\m_spanningtree\pong.cpp" />\r
<ClCompile Include="..\src\modules\m_spanningtree\postcommand.cpp" />\r
<ClCompile Include="..\src\modules\m_spanningtree\precommand.cpp" />\r
- <ClCompile Include="..\src\modules\m_spanningtree\privmsg.cpp" />\r
<ClCompile Include="..\src\modules\m_spanningtree\protocolinterface.cpp" />\r
<ClCompile Include="..\src\modules\m_spanningtree\push.cpp" />\r
<ClCompile Include="..\src\modules\m_spanningtree\rconnect.cpp" />\r
<ClCompile Include="..\src\modules\m_spanningtree\resolvers.cpp" />\r
<ClCompile Include="..\src\modules\m_spanningtree\rsquit.cpp" />\r
+ <ClCompile Include="..\src\modules\m_spanningtree\save.cpp" />\r
<ClCompile Include="..\src\modules\m_spanningtree\server.cpp">\r
<ObjectFileName Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">$(IntDir)servers_spanningtree.obj</ObjectFileName>\r
</ClCompile>\r
- <ClCompile Include="..\src\modules\m_spanningtree\stats.cpp" />\r
<ClCompile Include="..\src\modules\m_spanningtree\svsjoin.cpp" />\r
<ClCompile Include="..\src\modules\m_spanningtree\svsnick.cpp" />\r
<ClCompile Include="..\src\modules\m_spanningtree\svspart.cpp" />\r
- <ClCompile Include="..\src\modules\m_spanningtree\time.cpp" />\r
<ClCompile Include="..\src\modules\m_spanningtree\treeserver.cpp" />\r
<ClCompile Include="..\src\modules\m_spanningtree\treesocket1.cpp" />\r
<ClCompile Include="..\src\modules\m_spanningtree\treesocket2.cpp" />\r
<ClCompile Include="..\src\modules\m_spanningtree\uid.cpp" />\r
<ClCompile Include="..\src\modules\m_spanningtree\utils.cpp" />\r
<ClCompile Include="..\src\modules\m_spanningtree\version.cpp" />\r
- <ClCompile Include="..\src\modules\m_spanningtree\whois.cpp" />\r
<ClCompile Include="inspircd_memory_functions.cpp" />\r
</ItemGroup>\r
<ItemGroup>\r
<ClInclude Include="..\src\modules\m_spanningtree\cachetimer.h" />\r
- <ClInclude Include="..\src\modules\m_spanningtree\handshaketimer.h" />\r
<ClInclude Include="..\src\modules\m_spanningtree\link.h" />\r
<ClInclude Include="..\src\modules\m_spanningtree\main.h" />\r
<ClInclude Include="..\src\modules\m_spanningtree\protocolinterface.h" />\r