summaryrefslogtreecommitdiff
path: root/src/users.cpp
AgeCommit message (Collapse)Author
2009-09-21Allow objects to be added to cull list during apply - fixes user deletion on ↵danieldg
netsplit git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11754 e03df62e-2008-0410-955e-edbf42e46eb7
2009-09-21Create StreamSocket for IO hooking implementationdanieldg
Fixes the SSL SendQ bug Removes duplicate code between User and BufferedSocket Simplify SSL module API Simplify EventHandler API (Readable/Writeable moved to SE) Add hook for culled objects to invoke callbacks prior to destructor Replace SocketCull with GlobalCull now that sockets can close themselves Shorten common case of user read/parse/write path: User::Write is now zero-copy up to syscall/SSL invocation User::Read has only two copy/scan passes from read() to ProcessCommand git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11752 e03df62e-2008-0410-955e-edbf42e46eb7
2009-09-18Separate spy channels [jackmcbarn]danieldg
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11747 e03df62e-2008-0410-955e-edbf42e46eb7
2009-09-13Remove redundant ServerInstance* fieldsdanieldg
It has been impossible to have more than one InspIRCd* object in the same address space for some time now, and this feature was never used. This formalizes class InspIRCd as a singleton object. git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11703 e03df62e-2008-0410-955e-edbf42e46eb7
2009-09-13Membership* changesdanieldg
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11697 e03df62e-2008-0410-955e-edbf42e46eb7
2009-09-13Change Extensible to use strongly typed entriesdanieldg
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11696 e03df62e-2008-0410-955e-edbf42e46eb7
2009-09-05Bump a number of version numbers.w00t
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11676 e03df62e-2008-0410-955e-edbf42e46eb7
2009-09-03Remove HandleInternal and HandleServer, they are duplicated by Request* and ↵danieldg
FakeUser git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11672 e03df62e-2008-0410-955e-edbf42e46eb7
2009-09-02Add OnChangeIdent and FIDENT supportdanieldg
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11652 e03df62e-2008-0410-955e-edbf42e46eb7
2009-09-02Rip out VisData in preparation for replacing it with more flexible hooksdanieldg
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11640 e03df62e-2008-0410-955e-edbf42e46eb7
2009-09-02Remove now-unused quitmsg/operquitmsg fields from Userdanieldg
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11637 e03df62e-2008-0410-955e-edbf42e46eb7
2009-09-02ModResult conversion: Change return type of all module functionsdanieldg
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11634 e03df62e-2008-0410-955e-edbf42e46eb7
2009-09-02Remove strnewdup(), it is a good source of possible memory leaksdanieldg
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11622 e03df62e-2008-0410-955e-edbf42e46eb7
2009-09-02Misc removal of pointless Extend stringsdanieldg
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11618 e03df62e-2008-0410-955e-edbf42e46eb7
2009-09-02Remove a few unneeded string copies in the PRIVMSG pathdanieldg
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11606 e03df62e-2008-0410-955e-edbf42e46eb7
2009-09-02Add User::DoHostCycledanieldg
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11604 e03df62e-2008-0410-955e-edbf42e46eb7
2009-09-02Remove unneeded ProtocolInterface::Introducedanieldg
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11600 e03df62e-2008-0410-955e-edbf42e46eb7
2009-09-02Cast rework: use C++ style static_cast<> instead of C-style castsdanieldg
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11595 e03df62e-2008-0410-955e-edbf42e46eb7
2009-09-01Move IP<->sockaddr conversions into irc::sockets:: namespacedanieldg
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11580 e03df62e-2008-0410-955e-edbf42e46eb7
2009-09-01Remove more text<->binary IP conversions, making code more IPv4/IPv6 independentdanieldg
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11578 e03df62e-2008-0410-955e-edbf42e46eb7
2009-09-01Rename User::GetPort to GetServerPort to clarify its purposedanieldg
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11577 e03df62e-2008-0410-955e-edbf42e46eb7
2009-09-01Change IP address storage in User to use more IPv4/IPv6 common codedanieldg
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11575 e03df62e-2008-0410-955e-edbf42e46eb7
2009-09-01Strip SUPPORT_IP6LINKS #definedanieldg
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11572 e03df62e-2008-0410-955e-edbf42e46eb7
2009-08-14Remove some very verbose debug that isn't really needed anymorew00t
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11512 e03df62e-2008-0410-955e-edbf42e46eb7
2009-08-12Make rehash work more than once per run, and fix some uninitialized values ↵danieldg
in connect classes git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11505 e03df62e-2008-0410-955e-edbf42e46eb7
2009-08-12Fixes for config readerdanieldg
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11504 e03df62e-2008-0410-955e-edbf42e46eb7
2009-08-03Comment on what looks like incorrect behaviour in User::Oper().w00t
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11477 e03df62e-2008-0410-955e-edbf42e46eb7
2009-08-03Revert "Don't do all the oper gubbins if the opertype doesn't exist. I've ↵w00t
absolutely no idea why we did this before but it's definitely not good." This reverts commit d8ee5433eab5c67e9094d9114e3696728f1cab2a. git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11476 e03df62e-2008-0410-955e-edbf42e46eb7
2009-08-03Revert "Find the right variable so it actually works, too."w00t
This reverts commit a245aa22076e17e72c84e5a0f5699209cdf62727. git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11475 e03df62e-2008-0410-955e-edbf42e46eb7
2009-08-03Find the right variable so it actually works, too.w00t
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11474 e03df62e-2008-0410-955e-edbf42e46eb7
2009-08-03Don't do all the oper gubbins if the opertype doesn't exist. I've absolutely ↵w00t
no idea why we did this before but it's definitely not good. git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11473 e03df62e-2008-0410-955e-edbf42e46eb7
2009-08-01Check that the <connect> block actually specifies a host before checking ↵w00t
whether the user matches it. Allows for <connect> blocks on other criteria, like ports - fixes bug #797. git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11449 e03df62e-2008-0410-955e-edbf42e46eb7
2009-05-14Fix r11381 checking HideWhoisServer incorrectlydanieldg
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11384 e03df62e-2008-0410-955e-edbf42e46eb7
2009-05-13Hide server sources if HideWhoisServer is set, noticed by Braindanieldg
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11381 e03df62e-2008-0410-955e-edbf42e46eb7
2009-05-13Use Utils->ServerUser instead of ServerInstance->FakeClient in m_spanningtreedanieldg
This makes it possible to determine which server initiated a mode change, instead of having only a flag saying that some server did. git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11379 e03df62e-2008-0410-955e-edbf42e46eb7
2009-05-13Create subclass of User for FakeClient, to allow for use as command sourcedanieldg
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11375 e03df62e-2008-0410-955e-edbf42e46eb7
2009-04-17Fix memory leak on rehash: opertype used char* instead of std::stringdanieldg
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11309 e03df62e-2008-0410-955e-edbf42e46eb7
2009-04-16Convert snomask 'A' into snomask 'a' for local announcements, add snomask ↵w00t
'A' for remote announcements. Make SAMODE send a snotice to 'a' and remote to 'A' - fixes bug #822, reported by Taros We really need a wrapper to use these, but, for now it's usable. git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11304 e03df62e-2008-0410-955e-edbf42e46eb7
2009-03-18Fix for bug #788, set user->quitting before writing error to users socket, ↵brain
and allow appending to sendq for quitting users (just don't check sendq's on quitting users) This allows the ERROR message to reach the user. git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11231 e03df62e-2008-0410-955e-edbf42e46eb7
2009-03-15Update all wiki links to point to the new wiki. This was done automatically ↵psychon
with the following command, only .Makefile.inc got some indent fixups by hand. for file in $(find -type f -and -not -path '*/.svn/*' -and -not -name '*.so') ; do sed -e 's#http://www.inspircd.org/wiki#http://wiki.inspircd.org#' -e 's#http://wiki.inspircd.org/index.php/#http://wiki.inspircd.org/#' -i $file ; done git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11223 e03df62e-2008-0410-955e-edbf42e46eb7
2009-03-09Fix bug #751 (wallops are not being processed remotely), reported by Taros.w00t
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11191 e03df62e-2008-0410-955e-edbf42e46eb7
2009-03-02Fix +P channels being deleted when the final user /QUITs, thanks SnoFoxdanieldg
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11161 e03df62e-2008-0410-955e-edbf42e46eb7
2009-02-15Also Extend user with FORCENick when calling the actual command handler for ↵peavey
NICK in User::ForceNickChange to avoid serverwide desyncs. Fixes bug #733 reported by SnoFox. git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11109 e03df62e-2008-0410-955e-edbf42e46eb7
2009-02-14Nuke trailing spacespeavey
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11105 e03df62e-2008-0410-955e-edbf42e46eb7
2009-02-04Allow SANICK, SVSNICK, NICKLOCK, etc to override +bN N:. Fixes bug #607 and ↵w00t
#644, reported by SnoFox and others. Based on patch by Phoenix in bug #702. Thanks! git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11029 e03df62e-2008-0410-955e-edbf42e46eb7
2009-01-22Tone down some logging to make debugging a tiny bit easier.w00t
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@10977 e03df62e-2008-0410-955e-edbf42e46eb7
2009-01-03Remove +o from users on deoper, plausible fix for bug #653 reported by ↵w00t
Ankit. Let me know if it's still b0rked, please :) git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@10940 e03df62e-2008-0410-955e-edbf42e46eb7
2009-01-02Update copyrights for 2009.w00t
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@10932 e03df62e-2008-0410-955e-edbf42e46eb7
2008-12-01Remove lines_in and reset_due flood protection mechanism, recvq/sendq on ↵w00t
their own now fill this role, as we have proper penalties. This tidies up *a lot* of code, and also saves a further sizeof(time_t) + sizeof(unsigned int) per user. git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@10838 e03df62e-2008-0410-955e-edbf42e46eb7
2008-12-01Remove m_operflood, add privs: users/flood/no-throttle & ↵w00t
users/flood/increased-buffers. This also saves another sizeof(bool) per user. git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@10837 e03df62e-2008-0410-955e-edbf42e46eb7