828 Commits

Author SHA1 Message Date
brain
dfcfcb6f0e Added a comment /* GNUs smell */ to an #ifdef linux makes us put in
(what sort of craqsmoker puts posix standard functions that belong in unistd.h into getopt.h but only on linux? muppets).
#ifdef _GNU_SOURCE
#include <getopt.h>
#endif .....


git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@6094 e03df62e-2008-0410-955e-edbf42e46eb7
2006-12-24 11:18:02 +00:00
brain
dcad7974ce Change argument parsing to use getopt_long_only().
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@6093 e03df62e-2008-0410-955e-edbf42e46eb7
2006-12-24 11:13:31 +00:00
brain
c78bff4fb1 Neither should this
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@6089 e03df62e-2008-0410-955e-edbf42e46eb7
2006-12-24 00:53:00 +00:00
brain
69b3f63bb1 Relatively small typo fix
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@6088 e03df62e-2008-0410-955e-edbf42e46eb7
2006-12-24 00:51:29 +00:00
brain
31f75f75be Add call for OnGarbageCollect to the hourly cleanup
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@6087 e03df62e-2008-0410-955e-edbf42e46eb7
2006-12-24 00:43:02 +00:00
brain
73ddc65a28 Do garbage collection of hash map automatically every hour
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@6085 e03df62e-2008-0410-955e-edbf42e46eb7
2006-12-24 00:37:15 +00:00
brain
f85fdf431e Better checks for NULL log handles
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@6083 e03df62e-2008-0410-955e-edbf42e46eb7
2006-12-23 23:58:26 +00:00
brain
72da54c1c2 Crash on /rehash fixed (old code in here passed NULL, 0 as argc, argv, this is BAD BAD BAD.)
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@6081 e03df62e-2008-0410-955e-edbf42e46eb7
2006-12-23 23:18:34 +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
de3978c580 Fix bug in m_dnsbl, a condition is always matched because someone was using unsigned int to check a return val that can be -1 *slap w00t*
Change around the way exit codes are formed so that we can return a sensible exit code that reflects why inspircd exited


git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@6076 e03df62e-2008-0410-955e-edbf42e46eb7
2006-12-23 16:40:09 +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
c1316150a7 Fix issue where the last module to be loaded wasnt unloaded by restart
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@6074 e03df62e-2008-0410-955e-edbf42e46eb7
2006-12-23 15:14:54 +00:00
brain
f5f71bdfef Cut down on debug on restart
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@6073 e03df62e-2008-0410-955e-edbf42e46eb7
2006-12-23 15:04:14 +00:00
brain
3a07789b15 Use GetModuleCount() rather than the member var
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@6072 e03df62e-2008-0410-955e-edbf42e46eb7
2006-12-23 15:01:26 +00:00
brain
d490ee11a8 Fix glitch when restarting on 2nd pass of module unload
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@6071 e03df62e-2008-0410-955e-edbf42e46eb7
2006-12-23 14:57:15 +00:00
brain
1bfe43ebfd Add more comments.
Catch CoreException in cmd_restart, and if we catch one, just exit(0). Theres very little else we could do.


git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@6070 e03df62e-2008-0410-955e-edbf42e46eb7
2006-12-23 14:54:47 +00:00
brain
4c8c7e6c70 Close client sockets too (do these last)
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@6069 e03df62e-2008-0410-955e-edbf42e46eb7
2006-12-23 14:22:14 +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
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
w00t
96a89aef2d s/ChatSpike/InspIRCd/ development team
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@5999 e03df62e-2008-0410-955e-edbf42e46eb7
2006-12-15 22:41:53 +00:00
w00t
1552f3918a Jesus, look who's the commit whore today. More header updates, and removal of namespacing.
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@5996 e03df62e-2008-0410-955e-edbf42e46eb7
2006-12-15 21:45:30 +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
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
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
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
brain
0f620f8056 Grammar nazi in the hizouse
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@5729 e03df62e-2008-0410-955e-edbf42e46eb7
2006-11-12 22:59:34 +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
brain
2549304905 Add fix for patch #166 (this is a reasonably big one)
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@5679 e03df62e-2008-0410-955e-edbf42e46eb7
2006-11-10 20:13:59 +00:00
w00t
be13a29ad0 Move peaveydk to core developers, jamie to contributors as he appears to be AWOL. Well done, peavey. :)
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@5664 e03df62e-2008-0410-955e-edbf42e46eb7
2006-11-09 17:55:24 +00:00
brain
0955da18e4 Change message to indicate that the count only includes client ports
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@5654 e03df62e-2008-0410-955e-edbf42e46eb7
2006-11-05 12:02:27 +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
1929d75f96 This is tidier, we dont need a seperate bool and int
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@5628 e03df62e-2008-0410-955e-edbf42e46eb7
2006-11-02 18:11:22 +00:00
brain
35211d4c3e LoadModule will now also return false if the glob pattern matches no modules and loads nothing
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@5627 e03df62e-2008-0410-955e-edbf42e46eb7
2006-11-02 18:07:23 +00:00
brain
3475ebe194 Allow wildcards in LoadModule calls. If a filename contains either * or ? it will attempt to readdir() the currently configured module dir and load all modules which match.
If any one module fails, LoadModule then returns false.


git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@5626 e03df62e-2008-0410-955e-edbf42e46eb7
2006-11-02 18:06:03 +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
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
brain
d9b74b49d9 Try this, werdnum
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@5562 e03df62e-2008-0410-955e-edbf42e46eb7
2006-10-28 13:28:21 +00:00
brain
90f3d27aff Allow relative path on pid file
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@5547 e03df62e-2008-0410-955e-edbf42e46eb7
2006-10-27 07:13:22 +00:00
brain
6b8747ab63 Added a tiny bit more logging to LoadModule, to log to default loglevel when a module is loaded
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@5487 e03df62e-2008-0410-955e-edbf42e46eb7
2006-10-16 21:38:51 +00:00
brain
8d95e3d343 Whowas is now fixed.
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@5414 e03df62e-2008-0410-955e-edbf42e46eb7
2006-10-04 17:21:58 +00:00
brain
cf72e0d472 Remove testcases
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@5398 e03df62e-2008-0410-955e-edbf42e46eb7
2006-10-02 13:48:00 +00:00
brain
4ae42b33e6 Add more features to modestacker so that we can stack +, -, and parameterless modes
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@5391 e03df62e-2008-0410-955e-edbf42e46eb7
2006-10-02 09:24:49 +00:00
w00t
8b9664a6af IsNick moved to helperfuncs.cpp, makes a lot more sense than inspircd.cpp
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@5388 e03df62e-2008-0410-955e-edbf42e46eb7
2006-10-02 01:47:47 +00:00
w00t
49e8fd6b53 Remove -notraceback and -nolimit from command line help; these options are removed and deprecated/removed respectivly.
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@5387 e03df62e-2008-0410-955e-edbf42e46eb7
2006-10-02 01:42:40 +00:00
w00t
e4e0432728 Update credits (add pippijn/jamie to startup notice, move jamie from contributors to developers in /info)
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@5386 e03df62e-2008-0410-955e-edbf42e46eb7
2006-10-02 01:30:44 +00:00