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
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
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
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
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
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
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
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
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
brain
3daff89138
Document FindInterface, PublishInterface, UnpublishInterface, fix a bug where the interface wasnt removed when it was decremented to 0 implementing modules
...
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@5874 e03df62e-2008-0410-955e-edbf42e46eb7
2006-12-05 21:19:19 +00:00
brain
c3a7fb47d6
Untested, undocumented PublishInterface, UnpublishInterface, FindInterface.
...
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@5867 e03df62e-2008-0410-955e-edbf42e46eb7
2006-12-05 20:43:41 +00:00
brain
8f385c3006
This has changed again, i suggest you dont bother trying to keep up till im done :p
...
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@5863 e03df62e-2008-0410-955e-edbf42e46eb7
2006-12-05 19:50:10 +00:00
special
1abbafc07a
Added InspIRCd::GetTimeDelta() - previously m_alltime was using a hack to get the delta, which wasn't always reliable
...
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@5827 e03df62e-2008-0410-955e-edbf42e46eb7
2006-11-29 22:41:41 +00:00
peavey
41f62a2a3b
add <whowas> config option to control whowas behaviour. *may break*
...
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@5731 e03df62e-2008-0410-955e-edbf42e46eb7
2006-11-13 00:45:37 +00:00
brain
b3c2abf41e
When some (but not all) of the ports fail to bind on startup, give the user a list of the failed port/ip pairs on the terminal.
...
Other ircds dont do this, and say 'go read the log'. I say if we can output them to a log, why not the screen? :)
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@5728 e03df62e-2008-0410-955e-edbf42e46eb7
2006-11-12 22:58:48 +00:00
special
1fbd75d645
Added time syncing! This is fairly simple - servers exchange timestamps and use the lowest - but should get rid of the annoying bounces for those of us who can't depend on ntpd.
...
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@5649 e03df62e-2008-0410-955e-edbf42e46eb7
2006-11-05 00:47:08 +00:00
brain
026c55cafc
As requested by satmd, inspircd will now run with no client ports configured
...
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@5643 e03df62e-2008-0410-955e-edbf42e46eb7
2006-11-04 13:20:42 +00:00
brain
89a8a819fa
New events for special. Event id's "new_server" and "lost_server". The data is a pointer to a char* containing the server name.
...
Eventally, i might expand this to include more data about the server such as its 'gecos' field etc, but not just yet. Let me know what data you want first.
Event source is valid and will point at the protocol module.
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@5623 e03df62e-2008-0410-955e-edbf42e46eb7
2006-11-01 17:38:35 +00:00
brain
193b540aa7
Socket error state stuff
...
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@5607 e03df62e-2008-0410-955e-edbf42e46eb7
2006-10-31 20:32:01 +00:00
brain
94db28f9b3
Add 'dest' parameter to OnWhoisLine, contains the user being whois'ed (we need this for +H and probably the stuff w00t is doing too)
...
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@5573 e03df62e-2008-0410-955e-edbf42e46eb7
2006-10-28 18:41:34 +00:00
brain
034f74a23b
Add support for OnWhoisLine, which allows modules to change or drop any line of whois before its sent to a user
...
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@5570 e03df62e-2008-0410-955e-edbf42e46eb7
2006-10-28 18:12:45 +00:00
brain
3552971818
Needs more testing but seems to work: In DoBackgroundUserStuff(), calculate the time value of when we actually do need enter the function body again, and dont run function body again till that time
...
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@5568 e03df62e-2008-0410-955e-edbf42e46eb7
2006-10-28 17:19:55 +00:00
w00t
cae372d1eb
Remove deprecated -nolimit and -notraceback options
...
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@5338 e03df62e-2008-0410-955e-edbf42e46eb7
2006-09-26 17:04:39 +00:00
brain
b9e99da4da
Snomask support cometh! and it leave a sticky white mess all over the floor :(
...
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@5062 e03df62e-2008-0410-955e-edbf42e46eb7
2006-08-29 18:26:55 +00:00
brain
104cf9cbee
Note: connect() cant time out for inspsockets in this commit. They'll sit in memory forever -- if you want something actually working properly wait for the next commit
...
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@5040 e03df62e-2008-0410-955e-edbf42e46eb7
2006-08-28 13:01:19 +00:00
brain
8cd26c0ff3
Make it virtual, in case someone ever wants to make a derived version of it
...
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@4986 e03df62e-2008-0410-955e-edbf42e46eb7
2006-08-19 00:51:13 +00:00
brain
e3b9387237
Extra comments about how the FileLogger class schedules its own write events if all the data is not written
...
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@4985 e03df62e-2008-0410-955e-edbf42e46eb7
2006-08-19 00:50:11 +00:00
brain
2ed8e1820f
Make DELETE inline so its about as fast as the define it replaced
...
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@4975 e03df62e-2008-0410-955e-edbf42e46eb7
2006-08-18 23:27:24 +00:00
brain
c2bc7f1636
Change #define DELETE to a template
...
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@4974 e03df62e-2008-0410-955e-edbf42e46eb7
2006-08-18 23:13:14 +00:00
brain
65e33571de
Change comment
...
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@4973 e03df62e-2008-0410-955e-edbf42e46eb7
2006-08-18 22:55:08 +00:00
brain
5adcab2223
NONBLOCKING LOGGER!
...
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@4971 e03df62e-2008-0410-955e-edbf42e46eb7
2006-08-18 22:01:26 +00:00
brain
d546725cb6
Move lowermap[] into a pre-initialised const array in hashcomp.h,
...
get rid of InspIRCd::MakeLowertab()
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@4951 e03df62e-2008-0410-955e-edbf42e46eb7
2006-08-18 15:59:23 +00:00
brain
e381b06561
EventHandler class, an abstraction for raw i/o
...
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@4941 e03df62e-2008-0410-955e-edbf42e46eb7
2006-08-18 01:08:14 +00:00
brain
48291aaee5
This commit is dedicated to Boo ;-pppppp
...
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@4911 e03df62e-2008-0410-955e-edbf42e46eb7
2006-08-12 17:36:08 +00:00
brain
5d59031ee3
Document command_parse.h and CommandParser class
...
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@4903 e03df62e-2008-0410-955e-edbf42e46eb7
2006-08-12 00:51:35 +00:00
brain
6050df73f4
Just to mess with om's head, remove helperfuncs.h from everywhere
...
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@4900 e03df62e-2008-0410-955e-edbf42e46eb7
2006-08-11 23:31:13 +00:00
brain
3f6d53996f
Just about enough docs to rebuild the docs page now
...
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@4896 e03df62e-2008-0410-955e-edbf42e46eb7
2006-08-11 20:16:22 +00:00
brain
be8d814737
Documented all of the functions in a basic manner here. More detail to follow
...
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@4892 e03df62e-2008-0410-955e-edbf42e46eb7
2006-08-11 18:41:32 +00:00
brain
420e1c25d2
More comments
...
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@4891 e03df62e-2008-0410-955e-edbf42e46eb7
2006-08-11 18:22:20 +00:00
brain
15f58df9fd
Tons of comments
...
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@4890 e03df62e-2008-0410-955e-edbf42e46eb7
2006-08-11 17:01:35 +00:00
brain
cfb2c2fff4
CamelCaseRocksSoMuchICamelCasedAllTheMethodsOfClassInspIRCdSoThatItAllLooksNeat.
...
NowSomebodyHasToSpendHoursDocumentingAllOfThisIWonderWhoThatWillEndUpBeing...
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@4889 e03df62e-2008-0410-955e-edbf42e46eb7
2006-08-11 16:14:44 +00:00
brain
7775a195d9
Move remaining functions:
...
operstrcmp* commands.cpp InspIRCd::operstrcmp()
duration* commands.cpp InspIRCd::duration()
host_matches_everyone* commands.cpp InspIRCd::host_matches_everyone()
ip_matches_everyone* commands.cpp InspIRCd::ip_matches_everyone()
nick_matches_everyone* commands.cpp InspIRCd::nick_matches_everyone()
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@4888 e03df62e-2008-0410-955e-edbf42e46eb7
2006-08-11 15:14:39 +00:00
brain
187c9208f1
Fix FOREACH_MOD macros
...
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@4881 e03df62e-2008-0410-955e-edbf42e46eb7
2006-08-11 12:28:57 +00:00
brain
d174657167
Now two types of log macro, log() and ilog(). log() assumes an InspIRCd object called ServerInstance, ilog() takes an InspIRCd object as first param.
...
TODO: Run a regexp over these, using perl, to translate them into InspIRCd::Log calls and then eliminate the macro :)
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@4879 e03df62e-2008-0410-955e-edbf42e46eb7
2006-08-11 12:15:03 +00:00
brain
312d49abb0
Move all of the xline stuff into class XLineManager, make an instance of it in class InspIRCd and use it
...
(eliminates another extern)
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@4878 e03df62e-2008-0410-955e-edbf42e46eb7
2006-08-11 11:06:40 +00:00