brain
7eebbe7da1
Implement roadmap item: "userrec::HasPermission -> map of maps, for (even faster) access"
...
This is not a map of maps, but a single level map per oper, in non-opers this member is NULL.
Please note that this is not yet tested.
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@8564 e03df62e-2008-0410-955e-edbf42e46eb7
2007-11-11 15:44:43 +00:00
w00t
7dbd30b89c
Update User::exempt all the time we change an E:Line. Brain, can you check I've done this okay, and fix my XXX if you know how? ta.
...
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@8416 e03df62e-2008-0410-955e-edbf42e46eb7
2007-10-28 21:23:07 +00:00
w00t
7b3105e5d4
Implement <connect:limit> - limits how many clients can sit inside a <connect> tag. Brain, we have a problem here in that if we User::QuitUser() a user with a NULL MyClass member (connect class), then things break (like sendq et al). What should we do with this, create a generic catchall class or something just in case? (to replicate, set up a single connect class with a low limit, and connect too many clients. Crash is the result)
...
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@8357 e03df62e-2008-0410-955e-edbf42e46eb7
2007-10-24 22:52:51 +00:00
w00t
d5ee2584e1
Disable all connect classes, reenable them as we find them in the config. This stops users using a connect class removed from the conf (or will in a second)
...
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@8355 e03df62e-2008-0410-955e-edbf42e46eb7
2007-10-24 19:12:45 +00:00
brain
58e4aa3a8c
Pedantic safety
...
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@8350 e03df62e-2008-0410-955e-edbf42e46eb7
2007-10-24 18:05:44 +00:00
brain
3c4730c34f
Some constructors dont initialize the refcount, namely, the one thats usually called :P
...
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@8346 e03df62e-2008-0410-955e-edbf42e46eb7
2007-10-24 16:08:29 +00:00
brain
fa04fb00cf
Try this w00t, compiles, test running now
...
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@8343 e03df62e-2008-0410-955e-edbf42e46eb7
2007-10-24 15:48:00 +00:00
w00t
5b80dc83fd
Move some stuff from using userrec cached stuff to using stuff in the connect classes
...
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@8339 e03df62e-2008-0410-955e-edbf42e46eb7
2007-10-23 23:54:24 +00:00
w00t
0b98824cc5
Some more class stuff, blah. Now possible to move a user to a different class via User::SetClass(), which cmd_oper uses. GetClass() is now just a wrapper around User::MyClass. User::CheckClass() does not support any parameters anymore, nor does User::GetClass().. I think I have this all right ;p
...
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@8337 e03df62e-2008-0410-955e-edbf42e46eb7
2007-10-23 23:25:49 +00:00
w00t
bbb7c9eec5
Some initial work towards tying <connect> classes to user accounts. This will (in the longer term) allow for things like limits on how many users can fit in a <connect> for 1.2
...
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@8336 e03df62e-2008-0410-955e-edbf42e46eb7
2007-10-23 23:07:24 +00:00
brain
18b1ec5080
-pedantic tidyups, lets see if it finds anything worthy of a fix
...
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@8313 e03df62e-2008-0410-955e-edbf42e46eb7
2007-10-23 19:28:41 +00:00
w00t
cef3b99425
Add User::IncreasePenalty() and User::DecreasePenalty()
...
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@8264 e03df62e-2008-0410-955e-edbf42e46eb7
2007-10-21 18:01:24 +00:00
brain
6856c87ae5
*untested* command buffering/penalty
...
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@8250 e03df62e-2008-0410-955e-edbf42e46eb7
2007-10-21 14:08:13 +00:00
brain
d345d7c9aa
In class User:
...
/** If this bool is set then penalty rules do not apply to this user
*/
bool ExemptFromPenalty;
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@8247 e03df62e-2008-0410-955e-edbf42e46eb7
2007-10-21 12:54:02 +00:00
brain
3c9686f9f7
Add User::UnderPenalty
...
/** If this bool is set for a user, then the user is under penalty, in short they
* are waiting for some held commands to be executed. If this is the case, then
* any commands they have in their sendq are executed on a timer tick rather than in
* their event handler.
*/
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@8244 e03df62e-2008-0410-955e-edbf42e46eb7
2007-10-21 12:44:37 +00:00
w00t
fec45ead63
Remove second overridden (fully duplicated :/) copy of GetIPString which copies into a user specified buffer. It's not used anywhere, and is duplication ;(
...
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@8218 e03df62e-2008-0410-955e-edbf42e46eb7
2007-10-16 10:29:01 +00:00
w00t
b57c7f4e46
In the grand tradition of huge fucking commits:
...
- chanrec -> Channel
- userrec -> User
Enjoy.
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@8204 e03df62e-2008-0410-955e-edbf42e46eb7
2007-10-15 20:59:05 +00:00
burlex
e51c8a5cf6
* Fixed some incorrect declarations in IOCPEngine
...
* Fixed the virtual socket wrapper functions in IOCPEngine {these should really be inlined on unix}
* Fixed several compilation issues under Win32
* Fixed calls to close() which should've been changed to SE->Close()
+ Added a crashdump saving system to Win32 builds. Dumps are saved in the format of dump-<exename>-<year>-<month>-<day>-<hour>-<minute>-<second>.dmp in the working directory. Enabled by default, undefine ENABLE_CRASHDUMPS to disable.
+ Added m_operflood, this is a module I've had lying around for some time but some users may like it as it allows unreal-like behaviour without increasing flood limits for non-opers.
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@8015 e03df62e-2008-0410-955e-edbf42e46eb7
2007-09-04 12:36:05 +00:00
brain
5e95c0e559
Update documentation to indicate that userrec::userrec() may throw on duplicate uuid
...
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@7915 e03df62e-2008-0410-955e-edbf42e46eb7
2007-08-27 19:32:07 +00:00
brain
0ba4b96bba
Allocate uid in userrec constructor. Optional param added, if its empty, the server allocates one, if its not empty the user gets the one given
...
(this is used for remote users)
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@7873 e03df62e-2008-0410-955e-edbf42e46eb7
2007-08-27 11:24:43 +00:00
w00t
1075956100
Add skeleton functions for UID stuff.
...
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@7845 e03df62e-2008-0410-955e-edbf42e46eb7
2007-08-26 23:07:06 +00:00
brain
cf4439ac5c
Add <connect:maxchans> as per feature bug #338 - combined with the last feature, this allows per-oper specific maxchans values, and even the same for non-opers!
...
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@7761 e03df62e-2008-0410-955e-edbf42e46eb7
2007-08-19 20:14:05 +00:00
brain
c61fac32bc
Allow changing of an oper's host on oper up using <type:class> (give it a connect allow or deny line name) - implements bug #367
...
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@7760 e03df62e-2008-0410-955e-edbf42e46eb7
2007-08-19 19:23:53 +00:00
brain
1c18eb24fa
Add <connect:inherit> and <connect:name>
...
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@7758 e03df62e-2008-0410-955e-edbf42e46eb7
2007-08-19 19:06:35 +00:00
brain
49006f6330
Add some connect class stuff that is required for bug #367 plus some roadmap stuff (inherit one connect class from another, etc)
...
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@7756 e03df62e-2008-0410-955e-edbf42e46eb7
2007-08-19 17:04:45 +00:00
brain
df4f0dc888
Allow support for multiple dns results per request. This is a significant change and should probably not be backported to stable.
...
This will allow for a fix to feature request bug #384
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@7753 e03df62e-2008-0410-955e-edbf42e46eb7
2007-08-19 16:00:57 +00:00
peavey
f2acdbc382
OOPS! We try again, since I'm smoking craq. LF is 0x0a NOT CR.
...
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@7456 e03df62e-2008-0410-955e-edbf42e46eb7
2007-07-16 17:30:04 +00:00
peavey
bab14f0dd2
'svn propset -R svn:eol-style CR *' Set to UNIX-style always. Binaries are auto skipped by svn.
...
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@7454 e03df62e-2008-0410-955e-edbf42e46eb7
2007-07-16 17:14:45 +00:00
brain
42105f07dd
Fix for bug #349 : NOTE there is important caveat about this in the example config, MAKE SURE TO READ IT.
...
When you connect a cgi:irc client two different connect classes are checked at two different times (first the one
that the website they are cgi'ing from, then later one for the user's real ip). READ THIS AND UNDERSTAND IT!
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@7440 e03df62e-2008-0410-955e-edbf42e46eb7
2007-07-15 13:18:28 +00:00
brain
a2259e92ba
More comments
...
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@7384 e03df62e-2008-0410-955e-edbf42e46eb7
2007-06-17 19:54:37 +00:00
pippijn
67e055124d
Some general syntax cleanups.
...
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@7304 e03df62e-2008-0410-955e-edbf42e46eb7
2007-06-14 17:22:37 +00:00
w00t
9cf56d917d
Windows support. Tested and working to compile on freebsd and linux. Next step is to make sure it actually works in windows too. ;p. Add Burlex to contributors.
...
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@7043 e03df62e-2008-0410-955e-edbf42e46eb7
2007-05-19 15:56:42 +00:00
w00t
5dbf63c2a3
Rather largeish change to class checking on connect to fix a few minor bits and bobs here and there
...
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@7029 e03df62e-2008-0410-955e-edbf42e46eb7
2007-05-15 16:40:37 +00:00
brain
3759fe0ba2
Where others charge, we give for free. Have fun and use wisely. With great power comes great responsbility.
...
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@6867 e03df62e-2008-0410-955e-edbf42e46eb7
2007-05-04 14:30:08 +00:00
brain
2c04423995
Implement feature request in bug #271 by HiroP, allow disabling of maxlocal and maxglobal by leaving out each value from the tag
...
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@6857 e03df62e-2008-0410-955e-edbf42e46eb7
2007-05-01 20:25:45 +00:00
brain
b1d06ea1d3
Feature request outlined in bug #257 , allow connect/allow lines by port
...
Needs QA test
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@6798 e03df62e-2008-0410-955e-edbf42e46eb7
2007-04-15 11:42:42 +00:00
brain
38ca8be9a3
Add third parameter to OnUserQuit (quit reason for opers only) - bump api version
...
Add SetOperQuit and GetOperQuit methods to userrec
Add OPERQUIT command to protocol - bump protocol version
All this is to properly allow hidebans etc to work properly
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@6675 e03df62e-2008-0410-955e-edbf42e46eb7
2007-03-15 17:37:25 +00:00
brain
b790abb154
This properly fixes options:hidebans and options:hidesplits by providing the facility to have two different quit messages for a user, one an oper sees and one a normal user sees.
...
There are default values on the oper_quit parameters through the entire source so that if oper_quit parameter is not given it defaults to the same as the user_quit
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@6630 e03df62e-2008-0410-955e-edbf42e46eb7
2007-03-06 13:49:34 +00:00
brain
ddb970dd67
1) Fix for nickname overruled with new cullList stuff -- we have to change their nick, its not safe to quit them as it messes up the nick hash.
...
2) Add a mute flag for users, so we can drop commands from users who have been placed on the cullList. This is independent of the actual cullList and can be
used as a general mute flag e.g. by shun modules.
3) Fix /kill to also not quit the user immediately, remove need for CMD_USER_DELETED return anywhere in the code.
*** THIS NEEDS TESTING BY QA ***
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@6596 e03df62e-2008-0410-955e-edbf42e46eb7
2007-02-19 08:38:26 +00:00
brain
f911684c7d
Change /msg $* to have the correct source the same way /notice $* does
...
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@6588 e03df62e-2008-0410-955e-edbf42e46eb7
2007-02-17 20:10:54 +00:00
brain
1b128373c2
Not safe for use yet
...
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@6502 e03df62e-2008-0410-955e-edbf42e46eb7
2007-02-05 22:29:02 +00:00
peavey
9a52a66716
Move quitting of clients to a central Cull List, and do quitting outside userrec and in main loop.
...
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@6497 e03df62e-2008-0410-955e-edbf42e46eb7
2007-02-05 20:08:51 +00:00
brain
49e34a508d
Comment on a lot of recently added stuff that wasnt properly documented (until now)
...
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@6284 e03df62e-2008-0410-955e-edbf42e46eb7
2007-01-09 22:31:19 +00:00
brain
fe46f3c228
Document dns caching, add a "bool cached" to OnLookupComplete method in Resolver, and and add " -- cached" to end of 'looking up your host' string if their result is a cached result
...
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@6254 e03df62e-2008-0410-955e-edbf42e46eb7
2007-01-07 22:01:00 +00:00
brain
dac672cf30
DNS Stuff - this wont work right yet, it will soon (tm)
...
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@6250 e03df62e-2008-0410-955e-edbf42e46eb7
2007-01-07 21:16:03 +00:00
peavey
6b9eaeba41
Move all /WHOWAS related out of core and into cmd_whowas.
...
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@6249 e03df62e-2008-0410-955e-edbf42e46eb7
2007-01-07 21:14:17 +00:00
brain
9db7f13b0c
Add TTL stuff to dns system (pass it to inherited objects)
...
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@6247 e03df62e-2008-0410-955e-edbf42e46eb7
2007-01-07 20:01:11 +00:00
brain
2802a62272
Fix lusers breakage introduced by latest set of optimizations
...
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@6219 e03df62e-2008-0410-955e-edbf42e46eb7
2007-01-03 20:58:21 +00:00
brain
d3e3a13ae6
Cached GetFullRealHost etc.
...
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@6179 e03df62e-2008-0410-955e-edbf42e46eb7
2006-12-30 19:30:53 +00:00
peavey
7f6344e3ad
Fix a bug in whowas that could desync list.
...
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@6091 e03df62e-2008-0410-955e-edbf42e46eb7
2006-12-24 04:01:45 +00:00