291 Commits

Author SHA1 Message Date
brain
feeeced470 option to allow announce of invites to channel (similar to unreal)
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@6635 e03df62e-2008-0410-955e-edbf42e46eb7
2007-03-08 11:26:31 +00:00
brain
b790abb154 This properly fixes options:hidebans and options:hidesplits by providing the facility to have two different quit messages for a user, one an oper sees and one a normal user sees.
There are default values on the oper_quit parameters through the entire source so that if oper_quit parameter is not given it defaults to the same as the user_quit


git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@6630 e03df62e-2008-0410-955e-edbf42e46eb7
2007-03-06 13:49:34 +00:00
brain
ddb970dd67 1) Fix for nickname overruled with new cullList stuff -- we have to change their nick, its not safe to quit them as it messes up the nick hash.
2) Add a mute flag for users, so we can drop commands from users who have been placed on the cullList. This is independent of the actual cullList and can be
used as a general mute flag e.g. by shun modules.
3) Fix /kill to also not quit the user immediately, remove need for CMD_USER_DELETED return anywhere in the code.
*** THIS NEEDS TESTING BY QA ***


git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@6596 e03df62e-2008-0410-955e-edbf42e46eb7
2007-02-19 08:38:26 +00:00
brain
7713634b1a Bump API version
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@6589 e03df62e-2008-0410-955e-edbf42e46eb7
2007-02-17 20:13:31 +00:00
brain
d28a7485a2 Bump API version (chanrec::setby increased from NICKMAX to 128)
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@6573 e03df62e-2008-0410-955e-edbf42e46eb7
2007-02-11 18:53:42 +00:00
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
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
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
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
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
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
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
768171fef9 Add OnRawSocketConnect, we've not had it till now because we've not needed it :)
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@5887 e03df62e-2008-0410-955e-edbf42e46eb7
2006-12-09 18:49:36 +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
2ade6284f9 Change this a LOT.
<oper blah.... hash="md5|sha256" pass="blah...">
It will now only check pass if you put the hash= in, people have been bugging for this for a while.
note the m_oper_hash module will try and detect both m_sha256 and m_md5 now, and will provide /mkpasswd that can do either.


git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@5862 e03df62e-2008-0410-955e-edbf42e46eb7
2006-12-05 19:36:26 +00:00
brain
9f34f8d94e BuildExemptList is becoming pretty ugly. grr.
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@5819 e03df62e-2008-0410-955e-edbf42e46eb7
2006-11-27 17:45:16 +00:00
brain
439cff2dc8 Add OnBuildExemptList, which is used to build an exempt list when passing a privmsg on, but not directly processing it (m_spanningtree etc)
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@5818 e03df62e-2008-0410-955e-edbf42e46eb7
2006-11-27 17:19:28 +00:00
brain
ee3a514fe2 Add exception lists to OnUserMessage and OnUserNotice, to be used for smarter routing of messages in spanningtree amongst other things
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@5817 e03df62e-2008-0410-955e-edbf42e46eb7
2006-11-27 17:03:47 +00:00
brain
0e8a718038 Update comments to reflect new API
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@5807 e03df62e-2008-0410-955e-edbf42e46eb7
2006-11-26 18:12:50 +00:00
brain
2e52ff280d Add extra parameter to OnUserPreNotice and OnUserPrePrivmsg, CUList &exempt_list, a list of users NOT to write to. By default it just contains the sender, you can add more.
This also bumps the module api version by one. added "CUList fixme" to peaveys module just so it builds, as this will be refactored to use the new feature that was just added :)


git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@5806 e03df62e-2008-0410-955e-edbf42e46eb7
2006-11-26 18:04:47 +00:00
peavey
06fd57cc35 fix for bug #175, change OnUserRegister to return int, and if greater than 0 = user was quit and stop propagating to rest of loaded modules. Also bumb the module API version.
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@5783 e03df62e-2008-0410-955e-edbf42e46eb7
2006-11-21 23:22:04 +00:00
brain
9f35df1ad1 Inherit ModuleException from std::exception rather than classbase
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@5740 e03df62e-2008-0410-955e-edbf42e46eb7
2006-11-14 18:50:50 +00:00
special
d0a0de4044 Removed OnRawMode - this hasn't been called at all for awhile now, so it was completely worthless. I even tested it.
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@5604 e03df62e-2008-0410-955e-edbf42e46eb7
2006-10-31 18:06:33 +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
bc69a6264e Multiply API_VERSION by ten if IPV6 is defined, to prevent modules built for an ipv6 insp being loaded into an ipv4 insp (the sizes of structs such as userrec and inspsocket are different when ipv6 is enabled)
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@5486 e03df62e-2008-0410-955e-edbf42e46eb7
2006-10-16 21:27:02 +00:00
brain
4b0f6c610f Now with binary versioning goodness
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@5366 e03df62e-2008-0410-955e-edbf42e46eb7
2006-10-01 14:59:38 +00:00
special
2d86278096 Added OnPostJoin, which is (at the moment) almost exactly identical to OnUserJoin but called after, so you can play with linking
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@5361 e03df62e-2008-0410-955e-edbf42e46eb7
2006-10-01 00:19:36 +00:00
brain
27199ee710 make OnPostConnect global
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@5339 e03df62e-2008-0410-955e-edbf42e46eb7
2006-09-26 17:16:42 +00:00
brain
990c308a95 Whoops, patch
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@5324 e03df62e-2008-0410-955e-edbf42e46eb7
2006-09-25 17:43:28 +00:00
brain
3a7dd5b129 Add const std::string &original_command to OnPreCommand and OnPostCommand, which gives the entire untouched command string and params in all its colon-ny glory
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@5265 e03df62e-2008-0410-955e-edbf42e46eb7
2006-09-17 14:01:53 +00:00
brain
ecd5b4082a Finish off the fix for bug #136 (a biggie for such a simple thing)
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@5151 e03df62e-2008-0410-955e-edbf42e46eb7
2006-09-06 18:20:02 +00:00
brain
5b8d2c4cab Remove a ton of <typeinfo>, <iostream>, <sstream> etc that we usually never use
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@5081 e03df62e-2008-0410-955e-edbf42e46eb7
2006-08-30 09:51:50 +00:00
brain
fe3799248f Add support for NAMESX
Tidy up m_alias blank lines
Add m_namesx.so to example conf (no extra config tags required for it, it "just works")


git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@5039 e03df62e-2008-0410-955e-edbf42e46eb7
2006-08-28 01:02:41 +00:00
special
ef89755982 Renamed the OnGlobalConnect callback to OnPostConnect, which is much more appropriate
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@5010 e03df62e-2008-0410-955e-edbf42e46eb7
2006-08-24 18:02:46 +00:00
brain
985169b6ee Inherit ModuleMessage from Extensible, so users can Extend and Shrink it.
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@4996 e03df62e-2008-0410-955e-edbf42e46eb7
2006-08-23 09:33:30 +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
787020a2d7 More docs. Tons more docs. I need coffee and we're out of coffee :<
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@4904 e03df62e-2008-0410-955e-edbf42e46eb7
2006-08-12 01:04:56 +00:00
brain
c9f5327966 Added comment about why its important to push_back onto the string_list when doing OnStats, rather than just WriteServ'ing stuff to the user
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@4898 e03df62e-2008-0410-955e-edbf42e46eb7
2006-08-11 22:53:11 +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
12737ab4ad ConfigReader and FileReader now take InspIRCd* to their constructors
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@4865 e03df62e-2008-0410-955e-edbf42e46eb7
2006-08-11 01:35:01 +00:00
brain
55e2180b4a Committing this as a rollback point - does not compile
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@4860 e03df62e-2008-0410-955e-edbf42e46eb7
2006-08-10 23:36:53 +00:00
brain
b37a253d96 Note: FOR THE MOMENT, this is BROKEN. It wont run right until im done.
Changed Parameter for modules from Server* to InspIRCd*.
TODO: Move remaining Server* Modules into InspIRCd* and remove class Server.


git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@4859 e03df62e-2008-0410-955e-edbf42e46eb7
2006-08-10 23:19:43 +00:00
brain
d02a5866d4 Mass-tidyup of module global vars, theyre no longer global vars.
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@4856 e03df62e-2008-0410-955e-edbf42e46eb7
2006-08-10 21:19:19 +00:00
brain
fd2eb26472 Move IsNick, IsIdent into class InspIRCd, update modules that use it.
Change message.h to just a #warning saying its deprecated, and remove all use of it from the core :)


git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@4847 e03df62e-2008-0410-955e-edbf42e46eb7
2006-08-10 18:04:19 +00:00
brain
afa1ec0e95 PublishFeature, FindFeature, FindModule, PriorityBefore, PriorityAfter -> InspIRCd::
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@4846 e03df62e-2008-0410-955e-edbf42e46eb7
2006-08-10 17:37:25 +00:00