diff options
author | w00t <w00t@e03df62e-2008-0410-955e-edbf42e46eb7> | 2006-10-02 01:04:36 +0000 |
---|---|---|
committer | w00t <w00t@e03df62e-2008-0410-955e-edbf42e46eb7> | 2006-10-02 01:04:36 +0000 |
commit | 869f115d7f427847ab85b7738905aa3bcccd57d2 (patch) | |
tree | c98bdce951217002dbbda4a8216521199ae61e5b /src | |
parent | a584474bd9b4f62b9da9f44e1f083f378970e43c (diff) |
Brain, please review this commit ASAP. jamie, hopefully this fixes the crash
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@5384 e03df62e-2008-0410-955e-edbf42e46eb7
Diffstat (limited to 'src')
-rw-r--r-- | src/users.cpp | 23 |
1 files changed, 14 insertions, 9 deletions
diff --git a/src/users.cpp b/src/users.cpp index a67826fe5..72b2d79a5 100644 --- a/src/users.cpp +++ b/src/users.cpp @@ -956,6 +956,20 @@ void userrec::AddClient(InspIRCd* Instance, int socket, int port, bool iscached, userrec::QuitUser(Instance, New, "Server is full"); return; } + + /* + * XXX really really fixme! QuitUser doesn't like having a null entry in the ref table it seems, moving this up so + * zlines dont crash ircd. we need a better solution, as this is obviously inefficient (and probably wrong) -- w00t + */ + if (socket > -1) + { + if (!Instance->SE->AddFd(New)) + { + userrec::QuitUser(Instance, New, "Internal error handling connection"); + return; + } + } + ELine* e = Instance->XLines->matches_exception(New); if (!e) { @@ -969,15 +983,6 @@ void userrec::AddClient(InspIRCd* Instance, int socket, int port, bool iscached, } } - if (socket > -1) - { - if (!Instance->SE->AddFd(New)) - { - userrec::QuitUser(Instance, New, "Internal error handling connection"); - return; - } - } - New->WriteServ("NOTICE Auth :*** Looking up your hostname..."); } |