307 Commits

Author SHA1 Message Date
William Pitcock
f047427230 users: add SetClientIP function for irc::sockets::sockaddrs type.
Code which touches client_sa should instead use this SetClientIP function so that hooks may
be called in the future.
2012-06-12 22:49:29 -07:00
Robby-
46a3904619 Replace copyright headers with headers granting specific authors copyright 2012-04-19 20:58:29 +02:00
Justin Crawford
df5f76832e Fixes for bug #12 2012-04-14 18:03:25 -07:00
Rutger
10e0af3831 Add <connect:maxconnwarn>
Created the maxconnwarn variable in the connect block, so you can make
connect blocks that only warns about max connections if you want to.
This reduces noise from connecting clients that have low maxlocal and/or
maxglobal. It is enabled by default.
2012-04-01 21:11:25 +02:00
Jackmcbarn
58ab072505 Fix recursion of QuitUser in SendQ quits 2011-05-23 21:51:08 -04:00
danieldg
69e28c67dd Remove possible references to deleted User objects due to DNS lookups
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@12445 e03df62e-2008-0410-955e-edbf42e46eb7
2010-02-12 22:30:27 +00:00
danieldg
8e34d66ef3 Add OnSetConnectClass hook for use in adding requirements to connect classes (such as requiressl)
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@12352 e03df62e-2008-0410-955e-edbf42e46eb7
2010-02-02 15:02:33 +00:00
danieldg
7fdd55570e Update connect block matching on rehash to prefer names, show more useful information in /STATS i
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@12337 e03df62e-2008-0410-955e-edbf42e46eb7
2010-01-31 19:54:18 +00:00
danieldg
1cda046fed Allow connect classes to be specified without an allow or deny mask
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@12336 e03df62e-2008-0410-955e-edbf42e46eb7
2010-01-31 03:42:20 +00:00
danieldg
dfc2301e0b Remove UpdateNickHash due to incorrect behavior
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@12331 e03df62e-2008-0410-955e-edbf42e46eb7
2010-01-30 18:56:39 +00:00
danieldg
ab8305ad99 Move nick change code out of cmd_nick; fixes double-invocation of hooks and may eliminate bug #911
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@12330 e03df62e-2008-0410-955e-edbf42e46eb7
2010-01-30 18:40:51 +00:00
danieldg
aeded4708c Fix MOTD and RULES to work remotely (remove the old hacks for MOTD)
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@12301 e03df62e-2008-0410-955e-edbf42e46eb7
2010-01-19 04:43:19 +00:00
brain
cd712c40e1 ...because every now and again, i have to do a massive commit.
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@12248 e03df62e-2008-0410-955e-edbf42e46eb7
2010-01-11 03:07:32 +00:00
danieldg
3cd1a24a51 Remove mode counter, not reliable and only used for umode +i
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@12246 e03df62e-2008-0410-955e-edbf42e46eb7
2010-01-09 17:48:40 +00:00
danieldg
0f87ad0d4b Add fine-grained command flood controls
This reintrouces "Excess Flood" quits for those that prefer it to fakelag,
and allows the maximum command rate to be set in the connect block.

git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@12093 e03df62e-2008-0410-955e-edbf42e46eb7
2009-11-11 19:52:03 +00:00
danieldg
a26502ff51 Move StreamSocket inheritance off of User
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@12047 e03df62e-2008-0410-955e-edbf42e46eb7
2009-11-06 22:37:36 +00:00
danieldg
18ab1f358a Fix global clone count not being decremented on remote user quit
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11984 e03df62e-2008-0410-955e-edbf42e46eb7
2009-11-01 21:53:47 +00:00
danieldg
6fe52cbb3b Fixes found by removing User inheritance from StreamSocket
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11975 e03df62e-2008-0410-955e-edbf42e46eb7
2009-10-25 15:21:45 +00:00
danieldg
9fad3ecb92 Create irc::sockets::cidr_mask
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11968 e03df62e-2008-0410-955e-edbf42e46eb7
2009-10-24 20:04:05 +00:00
danieldg
6b2ea83367 Move forward declarations to typedefs.h
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11967 e03df62e-2008-0410-955e-edbf42e46eb7
2009-10-24 20:03:53 +00:00
danieldg
b16e16ac1b Make User::uuid and User::server const
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11962 e03df62e-2008-0410-955e-edbf42e46eb7
2009-10-23 22:47:39 +00:00
danieldg
efc75198de Make ConfigTag::items private
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11956 e03df62e-2008-0410-955e-edbf42e46eb7
2009-10-22 22:29:35 +00:00
danieldg
b43fc66c17 Make irc::sockets::* parameters consistent, add irc::sockets::mask
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11953 e03df62e-2008-0410-955e-edbf42e46eb7
2009-10-22 21:49:39 +00:00
danieldg
d8f98565a8 Use ConfigTagList as a faster access method for access to configuration
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11948 e03df62e-2008-0410-955e-edbf42e46eb7
2009-10-21 23:46:13 +00:00
danieldg
984cc96a1f Move AllowedPrivs and similar oper information from LocalUser to OperInfo
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11947 e03df62e-2008-0410-955e-edbf42e46eb7
2009-10-21 23:46:05 +00:00
danieldg
a30abe26fc Change User::oper to an OperInfo reference
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11945 e03df62e-2008-0410-955e-edbf42e46eb7
2009-10-21 23:45:44 +00:00
danieldg
ff3eef491a Move all local-only fields to LocalUser
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11944 e03df62e-2008-0410-955e-edbf42e46eb7
2009-10-21 23:45:32 +00:00
danieldg
5d03657b63 Move some local-only fields to LocalUser
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11942 e03df62e-2008-0410-955e-edbf42e46eb7
2009-10-21 23:45:08 +00:00
danieldg
bbb5f6ee63 Move SetClass to LocalUser
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11941 e03df62e-2008-0410-955e-edbf42e46eb7
2009-10-21 23:44:58 +00:00
danieldg
9924e56311 Split LocalUser and RemoteUser
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11940 e03df62e-2008-0410-955e-edbf42e46eb7
2009-10-21 23:44:48 +00:00
danieldg
34fbe51fa4 Move DumpText into User; kill unused WriteWallOps and DecreasePenalty functions
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11931 e03df62e-2008-0410-955e-edbf42e46eb7
2009-10-20 04:40:27 +00:00
peavey
1060436202 Add a setting to <connect> allowing the threshold for activation of the penalty system to be set in the configuration, or be disabled by setting it to 0. [jackmcbarn]
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11922 e03df62e-2008-0410-955e-edbf42e46eb7
2009-10-19 18:32:11 +00:00
danieldg
bd5c443a6a Some windows compile fixes
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11891 e03df62e-2008-0410-955e-edbf42e46eb7
2009-10-17 20:21:18 +00:00
danieldg
9db7af579c Make classbase and refcountbase uncopyable; expand comments on their indended uses
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11888 e03df62e-2008-0410-955e-edbf42e46eb7
2009-10-17 18:52:39 +00:00
danieldg
c80a20b5a7 Clean up excessive bits in User struct
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11882 e03df62e-2008-0410-955e-edbf42e46eb7
2009-10-17 02:43:07 +00:00
danieldg
548eacee47 Hold reference to the associated ConfigTag inside ConnectClass
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11880 e03df62e-2008-0410-955e-edbf42e46eb7
2009-10-17 02:40:16 +00:00
peavey
80c0979239 More CoreExport, brought the errors down, but some still persist.
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11846 e03df62e-2008-0410-955e-edbf42e46eb7
2009-10-11 22:32:06 +00:00
peavey
e4839dc443 Move 2 static extensibles from user class to inspircd class for global access in an attempt to further fix windows build.
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11838 e03df62e-2008-0410-955e-edbf42e46eb7
2009-10-11 18:03:17 +00:00
danieldg
085a8bc660 Add OnBuildNeighborList hook, replaces all uses of OnHostCycle
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11802 e03df62e-2008-0410-955e-edbf42e46eb7
2009-10-05 23:27:46 +00:00
danieldg
8ed74be517 Fix crash due to null address in DNS
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11797 e03df62e-2008-0410-955e-edbf42e46eb7
2009-10-03 04:08:20 +00:00
danieldg
8456cf5ccd Fix valgrind issues and crashes on exit
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11794 e03df62e-2008-0410-955e-edbf42e46eb7
2009-10-02 03:15:46 +00:00
danieldg
3dc81ee133 Add explicit reference-counting base class
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11785 e03df62e-2008-0410-955e-edbf42e46eb7
2009-09-30 21:55:21 +00:00
danieldg
7107ec12d8 Flexible SendQ
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11766 e03df62e-2008-0410-955e-edbf42e46eb7
2009-09-26 16:41:07 +00:00
danieldg
6d03943426 Remove InspIRCd* parameters and fields
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11763 e03df62e-2008-0410-955e-edbf42e46eb7
2009-09-26 14:13:13 +00:00
danieldg
e2af2347fc Create StreamSocket for IO hooking implementation
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-21 13:26:31 +00:00
danieldg
a068c47d71 Separate spy channels [jackmcbarn]
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11747 e03df62e-2008-0410-955e-edbf42e46eb7
2009-09-18 17:07:13 +00:00
danieldg
d9e3bb8d43 Remove redundant ServerInstance* fields
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-13 20:31:54 +00:00
danieldg
91df762e93 Membership* changes
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11697 e03df62e-2008-0410-955e-edbf42e46eb7
2009-09-13 20:30:47 +00:00
danieldg
6d57bbe05c Change Extensible to use strongly typed entries
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11696 e03df62e-2008-0410-955e-edbf42e46eb7
2009-09-13 20:30:25 +00:00
danieldg
94a601fb3b Rip out VisData in preparation for replacing it with more flexible hooks
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@11640 e03df62e-2008-0410-955e-edbf42e46eb7
2009-09-02 00:50:43 +00:00