253 Commits

Author SHA1 Message Date
w00t
2b68243097 InspSocket -> BufferedSocket. Paves the way for a SimpleSocket class which ident etc will use.
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@8206 e03df62e-2008-0410-955e-edbf42e46eb7
2007-10-15 21:04:32 +00:00
w00t
03e0fb206d InspTimer -> Timer
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@8205 e03df62e-2008-0410-955e-edbf42e46eb7
2007-10-15 21:03:30 +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
w00t
694e307c09 class command_t -> class Command. Whey :D
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@8203 e03df62e-2008-0410-955e-edbf42e46eb7
2007-10-15 20:55:55 +00:00
special
2be86e1958 Fixed bug #404; this was caused by recieving multiple OPERTYPEs from a remote server, which eventually resulted in bad pointers inside the all_opers list
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@8084 e03df62e-2008-0410-955e-edbf42e46eb7
2007-09-26 23:49:15 +00:00
brain
6a02f84272 Remove InspIRCd::DoOneIteration, throwback to software threading (lulz)
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@8065 e03df62e-2008-0410-955e-edbf42e46eb7
2007-09-23 19:19:14 +00:00
w00t
b2b7bfd5e9 This may not compile, I'll test it on my desktop. Waiting 20 minutes for a build is unacceptable.
- Move UUID initialisation to InspIRCd::InitialiseUID()
- Call it if we run out of existing UUIDs
- Call it on startup

Just a small cleanup.

git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@8007 e03df62e-2008-0410-955e-edbf42e46eb7
2007-08-31 19:37:22 +00:00
om
8394be69a0 Move everything module-related out of InspIRCd and into ModuleManager, there is a ModuleManager instantiated as InspIRCd::Modules. Several of the function names have changed slightly as well. e.g. Instance->FindModule(m_foobar.so); is now Instance->Modules->Find(m_foobar.so);
All modules in the core distribution should also be updated in line with these changes.

git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@7985 e03df62e-2008-0410-955e-edbf42e46eb7
2007-08-28 23:32:41 +00:00
w00t
7d241d39ff Document the need for the fake client
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@7944 e03df62e-2008-0410-955e-edbf42e46eb7
2007-08-28 13:50:04 +00:00
w00t
d5d692037e Oops. This is supposed to be a public member
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@7939 e03df62e-2008-0410-955e-edbf42e46eb7
2007-08-28 13:23:47 +00:00
w00t
5ee7322040 Add a global fake client to class InspIRCd used instead of instantiating a fake client every time a mode needs to be forced through, etc
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@7938 e03df62e-2008-0410-955e-edbf42e46eb7
2007-08-28 13:20:11 +00:00
brain
90ee2ee38c Add FindNickOnly, that wont fall through to uid checks if isdigit(*first). We may need this. (i thought we did for this fix, we dont)
Fix cmd_nick to not treat all nicks as invalid and make the client give up.


git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@7883 e03df62e-2008-0410-955e-edbf42e46eb7
2007-08-27 13:54:15 +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
0c9434cde9 Add InspIRCd::FindUUID() methods. Currently, these work off an iteration around the whole client list. This sucks, and will be changed to a map the same as FindNick(). Also update FindNick's docs a little out of anal habit: it returns a user, not a nick. :)
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@7855 e03df62e-2008-0410-955e-edbf42e46eb7
2007-08-27 01:01:20 +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
443b0f9645 Raft of fixes so that inspircd can call Cleanup() and Exit() in less 'stable' circumstances, e.g. when half initialized, and it wont segfault.
Also fix OpenLog to not always exit on error, but to return a bool instead, which is much more friendly on rehash (you don't want /REHASH dieing your server if you cant write the log!)


git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@7804 e03df62e-2008-0410-955e-edbf42e46eb7
2007-08-23 19:57:02 +00:00
w00t
b42e3e0578 Remove an un-needed define while I poke around in here
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@7693 e03df62e-2008-0410-955e-edbf42e46eb7
2007-08-09 19:49:01 +00:00
brain
27d4ea0d97 Move a bunch of stuff around for tidyness, win32 functions keep creeping into #ifdef'ed chunks in non-win32 files
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@7588 e03df62e-2008-0410-955e-edbf42e46eb7
2007-07-27 16:45:03 +00:00
brain
6344881c9f Move a ton of stuff into caller* functors
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@7578 e03df62e-2008-0410-955e-edbf42e46eb7
2007-07-26 16:36:37 +00:00
peavey
0bb707c10c Un-static InspIRCd::Exit and use SignalHandler instead.
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@7572 e03df62e-2008-0410-955e-edbf42e46eb7
2007-07-25 20:23:18 +00:00
peavey
eadd5cce87 Rehash from console works again due to new signalhandler. TODO: Use this to catch SIGTERM and exit cleanly.
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@7571 e03df62e-2008-0410-955e-edbf42e46eb7
2007-07-25 19:46:25 +00:00
brain
529f16e84b Shorthand macros DEFINE_HANDLER1()...DEFINE_HANDLER9() to save on defining functor classes that just implement Call()
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@7569 e03df62e-2008-0410-955e-edbf42e46eb7
2007-07-25 17:36:13 +00:00
brain
89bc1282b9 Turn IsIdent into a functor
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@7568 e03df62e-2008-0410-955e-edbf42e46eb7
2007-07-25 17:21:30 +00:00
brain
f827df8403 Add stuff for functors. Currently, as a test case only InspIRCd::IsNick has been 'functorized'
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@7564 e03df62e-2008-0410-955e-edbf42e46eb7
2007-07-25 16:58:56 +00:00
peavey
77b0de3fed Begin move of rehash to server.cpp - broken rehash from cmdline for now.
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@7563 e03df62e-2008-0410-955e-edbf42e46eb7
2007-07-25 15:07:27 +00:00
peavey
326191cd16 Put FileLogger in it's own class. Useful when logging doing more focused logging
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@7561 e03df62e-2008-0410-955e-edbf42e46eb7
2007-07-25 11:53:07 +00:00
w00t
c88d4a3511 Replace some voodoo with a define
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@7556 e03df62e-2008-0410-955e-edbf42e46eb7
2007-07-24 20:21:29 +00:00
w00t
52525bc3df And remove it from the header..
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@7543 e03df62e-2008-0410-955e-edbf42e46eb7
2007-07-24 15:03:34 +00:00
brain
f12fd5382f Fix crash on unload of modules with listening sockets -- some situations require that the socket cull list is purged *immediately*, provide facility for this.
Also squish some silly error output on unloading spanningtree.


git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@7529 e03df62e-2008-0410-955e-edbf42e46eb7
2007-07-23 23:10:16 +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
3669319748 Comment stuff that lacks it
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@7378 e03df62e-2008-0410-955e-edbf42e46eb7
2007-06-17 18:53:27 +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
brain
c2993f666f Sexeger!
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@7241 e03df62e-2008-0410-955e-edbf42e46eb7
2007-06-05 17:39:36 +00:00
brain
d396355d3e Refactored InspIRCd::Duration(). The leetcode now lives!
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@7237 e03df62e-2008-0410-955e-edbf42e46eb7
2007-06-05 16:49:06 +00:00
brain
75f82deb87 Excess flood tidyups
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@7230 e03df62e-2008-0410-955e-edbf42e46eb7
2007-06-04 17:31:31 +00:00
brain
f43281da9e I think this was the source of burlex's confusion with the spanningtree propogation bug and a warning in vc8 -- CallCommandHandler returned BOOL?! Yet its casting that bool somehow from a CmdResult.
It should be CmdResult. Fixed.


git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@7101 e03df62e-2008-0410-955e-edbf42e46eb7
2007-05-21 19:35:07 +00:00
brain
d7324a55fa Space indents must die.
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@7049 e03df62e-2008-0410-955e-edbf42e46eb7
2007-05-19 18:08:57 +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
432b306797 Remove some stuff deprecated since 1.0
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@6985 e03df62e-2008-0410-955e-edbf42e46eb7
2007-05-11 20:00:20 +00:00
brain
bfcaef8623 Refactor port binding, warning not yet tested fully
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@6982 e03df62e-2008-0410-955e-edbf42e46eb7
2007-05-11 18:38:00 +00:00
brain
37a53f1ac6 Make error reporting work properly, it seemed to loose errors.
First change: Add a culling list of inspsockets waiting to be closed, so the close() is less likely to be called before the buffer is entirely empty. This seems to work well on my LAN.
Second change: Add a SendError() method, rather than WriteLine("ERROR : ..."). This can be used to effect by also echoing out "Sent ERROR to %s: ..." onto the +l snomask meaning at least one end
will always see the error even if the ERROR command is lost due to latency or design of the transport (e.g. ssl which may be writing during a read event etc)


git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@6844 e03df62e-2008-0410-955e-edbf42e46eb7
2007-04-26 16:51:41 +00:00
brain
f9110f02e7 We had to roll our own time function because some craqsmoker thought having a carriage return on the end of ctime and asctime was a great idea, and the only other solution is to fanny around with
strftime.


git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@6749 e03df62e-2008-0410-955e-edbf42e46eb7
2007-04-06 19:18:08 +00:00
brain
821a5bca88 Fix for bug #199 (Feature request) submitted by owine. Ended up adding an extra parameter to <uline> for this.
It turned into a biggie :P


git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@6742 e03df62e-2008-0410-955e-edbf42e46eb7
2007-04-05 23:53:01 +00:00
brain
f505e1821b Add -config parameter to bin/inspircd which allows a user to specify the config file on the commandline
Note: This should really be a full pathname, and not a configuration file in the current directory.


git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@6726 e03df62e-2008-0410-955e-edbf42e46eb7
2007-04-01 18:34:19 +00:00
brain
ce4a4abaf2 Fix bug reported by darix where inspircd process returns 15 for successful startup rather than the correct 0
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@6715 e03df62e-2008-0410-955e-edbf42e46eb7
2007-03-26 16:23:55 +00:00
peavey
8b8923d155 Rebuild 005 on rehash. Tracker: bug #234
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@6617 e03df62e-2008-0410-955e-edbf42e46eb7
2007-03-03 00:24:04 +00:00
brain
49369545e3 Stuff to make dns work protocol-independent
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@6506 e03df62e-2008-0410-955e-edbf42e46eb7
2007-02-05 23:43:44 +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
peavey
f1d7e1e544 Have ConvNumeric correctly convert 0 to 0 instead of an empty string.
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@6278 e03df62e-2008-0410-955e-edbf42e46eb7
2007-01-09 04:15:10 +00:00