brain
2a5e6d416f
And its all done and working!
...
(note, we still need to test cache expiry)
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@6253 e03df62e-2008-0410-955e-edbf42e46eb7
2007-01-07 21:37:06 +00:00
brain
f1ca6c6d71
DNS caching stuff (almost done)
...
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@6252 e03df62e-2008-0410-955e-edbf42e46eb7
2007-01-07 21:35:25 +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
peavey
b2f3ac1161
add internal cmdhandler that will make it easy to move stuff out of core and into a reloadable command.
...
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@6241 e03df62e-2008-0410-955e-edbf42e46eb7
2007-01-07 01:24:44 +00:00
brain
ca6434e44f
Massive speedups for applying and checking perm xlines - matches_*line() now has a permonly optional param, and apply_lines can be passed an APPLY_LOCAL_ONLY.
...
Also, improve speed of config reading stuff when reading in the lines
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@6223 e03df62e-2008-0410-955e-edbf42e46eb7
2007-01-04 18:53:31 +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
42d5b9571e
Fix to allow for OnRehash to know what user initiated the rehash
...
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@6207 e03df62e-2008-0410-955e-edbf42e46eb7
2007-01-01 20:53:20 +00:00
brain
ba339f8b1c
Add port type identifiers
...
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@6196 e03df62e-2008-0410-955e-edbf42e46eb7
2007-01-01 00:16:50 +00:00
brain
6a6f5b2275
Add missing feature: /rehash reinitializes dns subsytem (and can handle changed addresses)
...
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@6193 e03df62e-2008-0410-955e-edbf42e46eb7
2006-12-31 19:17:04 +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
brain
1aaa30bc9b
Properly document support for libhamsters
...
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@6177 e03df62e-2008-0410-955e-edbf42e46eb7
2006-12-30 17:43:26 +00:00
brain
fce2d243c0
Add unregistered user counter, this may also fix the (minor) m_conn_lusers shows current connection as unregged
...
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@6170 e03df62e-2008-0410-955e-edbf42e46eb7
2006-12-30 14:34:49 +00:00
peavey
81c26039d5
Change description for insp_aton since only a positive return means convertion was a success.
...
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@6169 e03df62e-2008-0410-955e-edbf42e46eb7
2006-12-30 13:50:40 +00:00
brain
500a6b24b2
This doesnt need to be static
...
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@6164 e03df62e-2008-0410-955e-edbf42e46eb7
2006-12-29 23:35:35 +00:00
brain
5e9a6b9186
Add counter system for umodes to get rid of some O(n)
...
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@6163 e03df62e-2008-0410-955e-edbf42e46eb7
2006-12-29 23:34:47 +00:00
peavey
79c0364d54
Add Template itoa to convert integer to char*
...
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@6119 e03df62e-2008-0410-955e-edbf42e46eb7
2006-12-26 05:55:45 +00:00
peavey
f3f570b4fa
Also add support for default values for ConfValueBool and ConfValueInteger in configreader, and for ReadFlag and ReadInteger in modules.
...
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@6116 e03df62e-2008-0410-955e-edbf42e46eb7
2006-12-26 01:48:55 +00:00
peavey
047f09dd57
Add possibility to define default value for ConfValue in configreader and ReadConf in modules.
...
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@6113 e03df62e-2008-0410-955e-edbf42e46eb7
2006-12-26 00:51:20 +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
brain
b31a8ee0ad
Add OnGarbageCollect method
...
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@6086 e03df62e-2008-0410-955e-edbf42e46eb7
2006-12-24 00:42:22 +00:00
brain
74c8913f72
Hash rehashing change
...
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@6080 e03df62e-2008-0410-955e-edbf42e46eb7
2006-12-23 23:06:37 +00:00
brain
6cc7cd76fb
Close logfile on rehash and reopen (it was only doing this on sighup for some reason)
...
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@6079 e03df62e-2008-0410-955e-edbf42e46eb7
2006-12-23 17:08:02 +00:00
brain
f9ef034ef5
Fix exit in wrong place, and add new exitcodes.h
...
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@6077 e03df62e-2008-0410-955e-edbf42e46eb7
2006-12-23 16:41:22 +00:00
brain
e04f190f63
Program termination (including SIGTERM) now calls InspIRCd::Cleanup() which does most of the duties performed by InspIRCd::Restart().
...
This means that on controlled shutdown we give the modules a chance to unload, etc, and close our sockets and free ram in a proper way.
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@6075 e03df62e-2008-0410-955e-edbf42e46eb7
2006-12-23 16:06:16 +00:00
brain
529c6acc01
Unload as many modules as we can on restart, and close listeners
...
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@6068 e03df62e-2008-0410-955e-edbf42e46eb7
2006-12-23 14:19:33 +00:00
brain
371daf9928
Refactored /RESTART (and added InspIRCd::Restart(reason))
...
Fixed bug in m_ziplinks, assigning instead of testing a var (gcc 4.1.1 picked up on this, 3.4 didnt)
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@6067 e03df62e-2008-0410-955e-edbf42e46eb7
2006-12-23 14:06:57 +00:00
peavey
089cf1f5fd
change userrec int timeout to time_t since it's a timestamp made of TIME + users connection class timeout.
...
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@6066 e03df62e-2008-0410-955e-edbf42e46eb7
2006-12-22 22:02:50 +00:00
brain
79939d71ba
Add ConvToInt() template to go with ConvToStr() that we've had for a while
...
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@6064 e03df62e-2008-0410-955e-edbf42e46eb7
2006-12-22 20:45:38 +00:00
brain
49eabd1197
Refactor connect allow/deny lines
...
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@6061 e03df62e-2008-0410-955e-edbf42e46eb7
2006-12-22 20:12:15 +00:00
brain
1c52b90e82
Refactor dns.cpp to use an array of request types rather than map, for O(1) lookup time
...
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@6042 e03df62e-2008-0410-955e-edbf42e46eb7
2006-12-18 18:35:25 +00:00
brain
156d634231
Add this:
...
#define CMD_LOCALONLY CMD_FAILURE
so that when we say 'return cmd_failure to not allow spanningtree to propogate the message', the constant itself documents the code instead and is more readable.
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@6035 e03df62e-2008-0410-955e-edbf42e46eb7
2006-12-17 14:40:34 +00:00
peavey
3c14fd2155
Make RemoveCommand private.
...
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@6030 e03df62e-2008-0410-955e-edbf42e46eb7
2006-12-17 02:58:57 +00:00
peavey
3712db9cc6
Invented safe delete-while-itering for hash_map.
...
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@6029 e03df62e-2008-0410-955e-edbf42e46eb7
2006-12-17 02:46:47 +00:00
peavey
d7bc663d0a
Config option added for prefixed channel NOTICEs and PRIVMSGs to turn on/off IRCU style of adding prefix to outgoing text.
...
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@6018 e03df62e-2008-0410-955e-edbf42e46eb7
2006-12-16 22:43:56 +00:00
brain
dbe93e4477
Add stuff so that the core catches CoreException properly
...
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@6017 e03df62e-2008-0410-955e-edbf42e46eb7
2006-12-16 21:40:06 +00:00
brain
e65c1d261c
Add an optional parameter to ConfigReader::ReadValue which defines if we want linefeeds or not.
...
Tidy up some duplicated code in configreader (error reporting)
Change ModuleException to inherit from CoreException, have the configreader throw and catch its CoreException on fatal error
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@6013 e03df62e-2008-0410-955e-edbf42e46eb7
2006-12-16 21:04:47 +00:00
peavey
d7d188e1c5
Make irc::spacify take 'const char*' instead of 'char*'
...
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@6006 e03df62e-2008-0410-955e-edbf42e46eb7
2006-12-16 02:54:16 +00:00
w00t
696ee9ff66
And now, just to force you to recompile the *whole* ircd.. updated headers on the headers. :p
...
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@5998 e03df62e-2008-0410-955e-edbf42e46eb7
2006-12-15 22:18:59 +00:00
w00t
a7cbd51d45
Still more massive commit fun. Headers in include/ still to be done, else that's it.
...
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@5997 e03df62e-2008-0410-955e-edbf42e46eb7
2006-12-15 22:03:27 +00:00
brain
457362304b
Cleaning up irrelevent stuff in channels.cpp
...
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@5993 e03df62e-2008-0410-955e-edbf42e46eb7
2006-12-15 17:32:16 +00:00
brain
4652f73b9e
CPU Usage percent in stats z! yay!
...
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@5988 e03df62e-2008-0410-955e-edbf42e46eb7
2006-12-14 19:30:42 +00:00
brain
a78cecbeb9
Refactor userrec::chans.
...
Old way: A vector of ucrec, MAXCHANS in size by default populated by NULLS, so you have to scan the vector to find an empty slot when joining a user, parting a user etc
New way: std::map<chanrec*, char> (the char holds their basic core permissions on the channel [voice, halfop, op])
This increases speed a ton, and removes some wtf-age.
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@5986 e03df62e-2008-0410-955e-edbf42e46eb7
2006-12-14 17:46:47 +00:00
brain
6bd9e67851
Change m_watch to use hash_map rather than map, because of the large number of entries we deal with it will usually be faster
...
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@5979 e03df62e-2008-0410-955e-edbf42e46eb7
2006-12-13 20:07:08 +00:00
brain
f240285155
Improve the way 005 ISUPPORT is sent to users when they connect, cache it in a much more sane format which is much simpler to spool to them
...
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@5978 e03df62e-2008-0410-955e-edbf42e46eb7
2006-12-13 20:00:33 +00:00
brain
1c84dff59d
Improve how we handle ELINEs on connect, turn O(2n) into O(n) (thats the best we can do with g/k/z/q checks for now :( )
...
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@5968 e03df62e-2008-0410-955e-edbf42e46eb7
2006-12-12 23:21:51 +00:00
brain
3679c5ebb7
New clone counting mechanism (this isnt tested yet)
...
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@5967 e03df62e-2008-0410-955e-edbf42e46eb7
2006-12-12 22:51:38 +00:00
brain
33530c338c
irc::string assign(std::string&)
...
std::string assign(irc::string&)
soooo:
irc::string foo = assign(my_std_string);
:p
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@5956 e03df62e-2008-0410-955e-edbf42e46eb7
2006-12-11 23:56:22 +00:00
brain
540fee57bf
Add InspIRCd::UseInterface and InspIRCd::DoneWithInterface, and also InspIRCd::GetInterfaceUseCount().
...
These can be used for one module to lock other modules in memory that it depends on, this way they can
enforce an unload order so that you cant (for example) unload m_ssl_gnutls.so whilst m_spanningtree.so
is using it for ssl server to server sessions (in this case, youd have to unload spanningtree first,
THEN ssl_gnutls, to satisfy the dependencies and unload orders)
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@5924 e03df62e-2008-0410-955e-edbf42e46eb7
2006-12-10 22:17:51 +00:00