1221 Commits

Author SHA1 Message Date
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
brain
eb12142b8d Initialise cmd_nick::allowinvalid in constructor init-list, and document HandleInternal (now two commands that use this, cmd_whowas and this one)
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@7871 e03df62e-2008-0410-955e-edbf42e46eb7
2007-08-27 11:03:32 +00:00
brain
d2be3310ba Add a call to the NICK handler that allows toggling of allowing invalid nicks to on or off.
Use it in ForceNickChange to allow forced nickchange of a nick to a uid.


git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@7869 e03df62e-2008-0410-955e-edbf42e46eb7
2007-08-27 10:57:25 +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
w00t
ca2a909147 Bump ABI version and protocol version. Note that this really means 1.1 and 1.2 are diverged now, and won't link/load modules of each other. This is in preperation for me (possibly) messing with UID in trunk.
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@7844 e03df62e-2008-0410-955e-edbf42e46eb7
2007-08-26 21:59:41 +00:00
brain
9cd8fe39d5 Added new announceinvite setting i discussed briefly with w00t and i like myself:
#                  The value 'dynamic' varies between 'ops' and 'all' #
#                  settings depending on if the channel is +i or not. #
#                  When the channel is +i, messages go only to ops,   #
#                  and when the channel is not +i, messages go to     #
#                  everyone. In short, the messages will go to every  #
#                  user who has power of INVITE on the channel. This  #
#                  is the recommended setting.                        #


git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@7841 e03df62e-2008-0410-955e-edbf42e46eb7
2007-08-26 21:15:47 +00:00
brain
644c5992ca Proper fix for end-of-list numerics on restricted lists in bug #386, rather than a hackish nonmodular one.
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@7838 e03df62e-2008-0410-955e-edbf42e46eb7
2007-08-26 21:01:04 +00:00
brain
d58d9fb495 Add option to set invite announcements to nobody, ops only, or all users, based on options:announceinvites. Part of bug #386, should not be backported.
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@7837 e03df62e-2008-0410-955e-edbf42e46eb7
2007-08-26 20:43:15 +00:00
brain
4a91fd0ddf Move the close() wrapper out of the win32wrapper.h, and into its new proper place at SocketEngine::Close()
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@7812 e03df62e-2008-0410-955e-edbf42e46eb7
2007-08-23 22:30:46 +00:00
brain
297f19c005 Document all this shit!
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@7811 e03df62e-2008-0410-955e-edbf42e46eb7
2007-08-23 22:17:20 +00:00
brain
d0d36795e8 Craquity craq De-craq!
This is probably broken on windows, do not attempt to use there yet unless you like broken stuff. Cant say for sure as i havent even tried to build yet and most likely wont tonight.
--- Abstract most of the berkely socket API out into SocketEngine derived classes. SocketEngine base class implements standard berkely sockets that 'real mens systems' like linux
and freebsd have. For socketengine_iocp we implement the windows specific nonesense like the special things needed for udp and accept (ick).
All this to eliminate a bunch of ifdefs.


git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@7810 e03df62e-2008-0410-955e-edbf42e46eb7
2007-08-23 22:06:04 +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
brain
deb8574079 Add some stuff to change how we process a token sepeperated stream
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@7800 e03df62e-2008-0410-955e-edbf42e46eb7
2007-08-23 18:06:26 +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
9f1cefca61 Add extra stuff to make it work (and compile)
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@7757 e03df62e-2008-0410-955e-edbf42e46eb7
2007-08-19 17:16:50 +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
brain
e24540666c Pick up a few error conditions we didnt before in the config reader, and also increment line number correctly when 'real' newline is found in a value
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@7749 e03df62e-2008-0410-955e-edbf42e46eb7
2007-08-19 14:07:25 +00:00
w00t
b22a79da8d Change to virtual
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@7733 e03df62e-2008-0410-955e-edbf42e46eb7
2007-08-17 14:57:52 +00:00
brain
dab5de9885 Fixed, i forgot the virtual when implementing this
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@7725 e03df62e-2008-0410-955e-edbf42e46eb7
2007-08-15 21:26:36 +00:00
burlex
8cebdce093 * include/caller.h will now compile correctly on Windows platforms.
+ Implemented gettimeofday in win32 wrapper, link rtt's will now display in milliseconds.
* SocketEngine::BoundsCheckFd will now handle Windows event handler cases correctly. (fixing writing to sockets not working)
* Fixed VC71 project.

git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@7723 e03df62e-2008-0410-955e-edbf42e46eb7
2007-08-15 20:41:30 +00:00
brain
9595db021d Allow rehash to attempt to load missing (and new) lib/cmd_*.so files, to allow users to fix an emergency situation you can create by trying to reload a corrupt .so without needing a restart
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@7712 e03df62e-2008-0410-955e-edbf42e46eb7
2007-08-11 12:05:31 +00:00
brain
8683e1c80d Provide error output on failure to load a core command; to console on startup, and to user on /reload
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@7708 e03df62e-2008-0410-955e-edbf42e46eb7
2007-08-11 11:29:15 +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
w00t
56b89baf23 Fix spelling mistakes on some log messages
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@7666 e03df62e-2008-0410-955e-edbf42e46eb7
2007-08-05 18:04:52 +00:00
peavey
694e3ba4c7 operators for std::string != irc::string and vice versa.
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@7604 e03df62e-2008-0410-955e-edbf42e46eb7
2007-07-28 18:13:35 +00:00
brain
5adcfa35c2 Windows specific data types in EventHandler are now Extensible items
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@7599 e03df62e-2008-0410-955e-edbf42e46eb7
2007-07-27 19:26:27 +00:00
brain
17d318c9de Removal of some ifdefs
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@7598 e03df62e-2008-0410-955e-edbf42e46eb7
2007-07-27 18:16:09 +00:00
brain
f40811fd6e Fix compile errors in windows
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@7592 e03df62e-2008-0410-955e-edbf42e46eb7
2007-07-27 17:39:51 +00:00
brain
f3624af468 Needs testbuilding in windows. I will probably do this in a minute.
More clever tricks to eliminate ifdefs. With a bit of function pointer and functor magic we may be able to eliminate all ifdefs


git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@7590 e03df62e-2008-0410-955e-edbf42e46eb7
2007-07-27 17:02:24 +00:00
brain
ac3af8b61e Some smart tricks to eliminate win32 ifdefs that are creeping into portable files
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@7589 e03df62e-2008-0410-955e-edbf42e46eb7
2007-07-27 16:50:53 +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
e5c4de03a9 More detail on the comment to indicate how to replace a functor in a class
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@7587 e03df62e-2008-0410-955e-edbf42e46eb7
2007-07-26 19:57:14 +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
c39ccd1fda Add macros up to 8 parameters
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@7570 e03df62e-2008-0410-955e-edbf42e46eb7
2007-07-25 17:41:06 +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
914534be62 Comment the caller0....caller8 classes
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@7567 e03df62e-2008-0410-955e-edbf42e46eb7
2007-07-25 17:07:15 +00:00
brain
0143364a29 Forgot to add this
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@7566 e03df62e-2008-0410-955e-edbf42e46eb7
2007-07-25 17:03:16 +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
b9658bfe6d svn add I fail it
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@7562 e03df62e-2008-0410-955e-edbf42e46eb7
2007-07-25 11:54:08 +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
peavey
ee47b42586 Fix comment so it makes sense.
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@7552 e03df62e-2008-0410-955e-edbf42e46eb7
2007-07-24 16:56:23 +00:00