summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--include/inspircd.h4
-rw-r--r--src/inspircd.cpp4
2 files changed, 8 insertions, 0 deletions
diff --git a/include/inspircd.h b/include/inspircd.h
index aaa597acf..6d5f35eb2 100644
--- a/include/inspircd.h
+++ b/include/inspircd.h
@@ -342,6 +342,10 @@ class CoreExport InspIRCd : public classbase
*/
interfacelist Interfaces;
+ /** Globally accessible fake user record. This is used to force mode changes etc across s2s, etc.. bit ugly, but.. better than how this was done in 1.1
+ */
+ userrec *FakeClient;
+
/** The current time, updated in the mainloop
*/
time_t TIME;
diff --git a/src/inspircd.cpp b/src/inspircd.cpp
index bc968e87e..f39ba03bc 100644
--- a/src/inspircd.cpp
+++ b/src/inspircd.cpp
@@ -425,6 +425,10 @@ InspIRCd::InspIRCd(int argc, char** argv)
Exit(EXIT_STATUS_LOG);
}
+ /* set up fake client */
+ this->FakeClient = new userrec(this);
+ this->FakeClient->SetFd(FD_MAGIC_NUMBER);
+
this->stats = new serverstats();
this->Timers = new TimerManager(this);
this->Parser = new CommandParser(this);