summaryrefslogtreecommitdiff
path: root/src/modules.cpp
Commit message (Collapse)AuthorAgeFilesLines
* Fix a rather nasty race condition revealed by my reading through the ↵Gravatar brain2008-09-201-1/+1
| | | | | | | | | | comments and enhancing them. Back when i did executeable includes, i placed a 'todo' in the code which said something along the lines of: 'we cant pass a User* into the config reader any more, because when the config reader thread finishes, that user may be gone and this will crash. Consider using an UID instead so that if the user vanishes, we can detect this situation.' Of course, nobody ever did this, so i'm doing it now to ensure we dont come up against some particularly ugly race condition crashes! git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@10569 e03df62e-2008-0410-955e-edbf42e46eb7
* mysql's windows build is utter hell to get working the way we wanted. The ↵Gravatar brain2008-09-051-1/+1
| | | | | | packaged libs provided by mysql AB are built against statically linked libraries and for vs2003. These dont work with inspircd using dynamically linked runtime and they dont work on vs2005 or 2008! Have had to roll my own MySQL on windows which was annoying as it wouldnt compile and was missing libraries and include files, we will have to bundle our own mysql dll built for the right visual studio and right runtimes. All the headers etc fixed to build in windows. Not tested with a real db connection yet, just compiles. git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@10394 e03df62e-2008-0410-955e-edbf42e46eb7
* Change module versions to use a string instead of fixed digits, and use ↵Gravatar w00t2008-08-251-4/+4
| | | | | | propset ID to auto-set versions, so we don't have (essentially unused) module versions. git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@10291 e03df62e-2008-0410-955e-edbf42e46eb7
* Add OnSendSnotice(char &, std::string &, const std::string &) to ↵Gravatar w00t2008-08-221-2/+4
| | | | | | modify/block/notify about snotices being sent to users. git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@10221 e03df62e-2008-0410-955e-edbf42e46eb7
* match() is no longer a function+no header, now a static method of InspIRCd ↵Gravatar w00t2008-08-211-7/+1
| | | | | | class, blah blah blah. Also rip out the 1.2 matcher, as it was slow, and replace it with one adapted from znc, which happens to be a tiny bit faster than 1.1's (and the fastest I've seen so far that works properly) git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@10212 e03df62e-2008-0410-955e-edbf42e46eb7
* Remove last vestige of libircdfoo, by changing tag into a single ↵Gravatar w00t2008-07-291-1/+1
| | | | | | identifier marking object as requiring compilation into a .o (minor commit) git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@10076 e03df62e-2008-0410-955e-edbf42e46eb7
* Okay, and there's the working version of it. Extbans that don't work on ↵Gravatar w00t2008-07-121-0/+1
| | | | | | users have OnCheckStringExtBan. ;p git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@9988 e03df62e-2008-0410-955e-edbf42e46eb7
* Remove individual read buffers inside of BufferedSocket, use the shared ↵Gravatar w00t2008-07-121-0/+1
| | | | | | netbuffer instead, like users. This means a 65kb saving per BufferedSocket. git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@9960 e03df62e-2008-0410-955e-edbf42e46eb7
* Fix m_nopartmsg to work via API modification, involves a string copy that ↵Gravatar w00t2008-07-111-1/+1
| | | | | | won't last too long. Compiles cleanly. git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@9953 e03df62e-2008-0410-955e-edbf42e46eb7
* Yet another module priority shuffler fix from Phoenix, bad phoenix bad bad\!Gravatar brain2008-06-261-1/+1
| | | | git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@9938 e03df62e-2008-0410-955e-edbf42e46eb7
* Module priority 'shuffler' fix from Phoenix, bounds checksGravatar brain2008-06-241-0/+7
| | | | git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@9934 e03df62e-2008-0410-955e-edbf42e46eb7
* Module priority 'shuffler' suggestion from Phoenix, needs some testing but ↵Gravatar brain2008-06-241-1/+8
| | | | | | works ok for him git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@9933 e03df62e-2008-0410-955e-edbf42e46eb7
* Allow changing of command string and parameter vector within OnPreCommand, ↵Gravatar brain2008-06-061-1/+1
| | | | | | | | | allowing for m_abbreviation and other fancy stuff. Add basic skeleton module for it git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@9840 e03df62e-2008-0410-955e-edbf42e46eb7
* Remove .c_str()'s in match() calls that are no longer needed as match() ↵Gravatar brain2008-05-181-1/+1
| | | | | | natively takes std::strings git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@9737 e03df62e-2008-0410-955e-edbf42e46eb7
* Conversion of command handler params from "const char* const* parameters, ↵Gravatar brain2008-05-041-6/+6
| | | | | | | | | | int pcnt" to "const std::vector<std::string>& parameters". All of core is converted, but cant test it till the modules are converted. IMPORTANT: The mode parser public calls have had to be tweaked a bit to also use the string vector. Note that this makes a LOT of our core a bit messy and paves the way to convert a lot of stuff from the mess of .c_str() calls to using std::string params directly. git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@9608 e03df62e-2008-0410-955e-edbf42e46eb7
* Merge in large patchset from GreenReaper, useful fixes for freeing a ton of ↵Gravatar brain2008-04-211-3/+1
| | | | | | different things on shutdown for tidyness, and a few stack corruption fixes in the mode handler git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@9565 e03df62e-2008-0410-955e-edbf42e46eb7
* Apply patches to remove 200-odd dll limit on windows, made by GreenReaper, ↵Gravatar brain2008-04-181-1/+1
| | | | | | lots of thanks! git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@9533 e03df62e-2008-0410-955e-edbf42e46eb7
* Change that allows the m_override module to not announce a key override for ↵Gravatar brain2008-04-161-1/+1
| | | | | | a user that specified the right key git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@9516 e03df62e-2008-0410-955e-edbf42e46eb7
* Remove two useless methods, chanlog is b0rked at the moment.Gravatar w00t2008-04-041-2/+0
| | | | git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@9313 e03df62e-2008-0410-955e-edbf42e46eb7
* Change the 'is not within the modules dir' message to something less obscure ↵Gravatar brain2008-04-031-1/+1
| | | | | | that explains the problem: "Module <file> is not in the module directory that i am configured to look in (is <path> really a symlink?)" git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@9290 e03df62e-2008-0410-955e-edbf42e46eb7
* FixyGravatar brain2008-03-301-1/+1
| | | | git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@9225 e03df62e-2008-0410-955e-edbf42e46eb7
* Change this return type to int from void. WHY didn't this error for me.Gravatar w00t2008-03-301-1/+1
| | | | git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@9224 e03df62e-2008-0410-955e-edbf42e46eb7
* Merge OnCancelAway and OnSetAway, add param awaymsg to OnSetAway (blank when ↵Gravatar w00t2008-03-301-2/+1
| | | | | | cancelling), and change return type to int so modules can block away messages by returning nonzero. git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@9223 e03df62e-2008-0410-955e-edbf42e46eb7
* Port bindings for gnutls now bind via ip:port, rather than on all ports for ↵Gravatar brain2008-03-241-1/+1
| | | | | | that ip, fixes feature request for roadmap. NOTE, this still needs doing for the openssl module! git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@9188 e03df62e-2008-0410-955e-edbf42e46eb7
* Add stuff so that modules can hook users by altering a pointer in the User ↵Gravatar brain2008-03-241-0/+1
| | | | | | class. Note that ssl modules still bind by port, but the idea of doing this change is so we can remove that logic next git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@9187 e03df62e-2008-0410-955e-edbf42e46eb7
* Add WriteNumeric() to User and OnNumeric module event. Note that modules do ↵Gravatar brain2008-03-221-1/+1
| | | | | | not change the numeric text on the fly, as this involves needless allocations for numerics that arent being changed, so instead they block the original numeric and send out their own when needed. git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@9174 e03df62e-2008-0410-955e-edbf42e46eb7
* Add support for OnNamesListItem, discussed with w00t a few days ago. This ↵Gravatar brain2008-03-211-0/+1
| | | | | | makes NAMESX etc a LOT cleaner and safer. git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@9140 e03df62e-2008-0410-955e-edbf42e46eb7
* Fix the warnings that are worth fixing, ignore the rest of gcc's nannyingGravatar brain2008-03-171-1/+1
| | | | git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@9117 e03df62e-2008-0410-955e-edbf42e46eb7
* Revert configure so that we can uh, actually compile.Gravatar brain2008-02-261-2/+2
| | | | git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@9037 e03df62e-2008-0410-955e-edbf42e46eb7
* Rollback complete! Everyone please go through the code and check i havent ↵Gravatar brain2008-02-241-15/+9
| | | | | | forgotten to incorporate your tweaks and changes. git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@9019 e03df62e-2008-0410-955e-edbf42e46eb7
* This segfaults atm. i'm working on it.Gravatar brain2008-02-241-7/+10
| | | | git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@9016 e03df62e-2008-0410-955e-edbf42e46eb7
* Convert remaining InspIRCd::Log() calls to new logging systemGravatar aquanight2008-02-221-14/+14
| | | | git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@9001 e03df62e-2008-0410-955e-edbf42e46eb7
* More test suite stuffGravatar brain2008-02-211-0/+1
| | | | git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@8976 e03df62e-2008-0410-955e-edbf42e46eb7
* Wheee, mass commit! this adds const stafety, throwing a compile error if ↵Gravatar brain2008-02-201-4/+4
| | | | | | | | | anyone does: "parameters[n] = blahvar;" in a command handler etc. where they REALLY SHOULD NOT fuck with the value and should copy the pointer. git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@8971 e03df62e-2008-0410-955e-edbf42e46eb7
* Someone please help me fix the warnings in modules caused by this change. ↵Gravatar brain2008-02-181-1/+1
| | | | | | All mode handler OnMode events, ModeWatcher::BeforeMode/AfterMode, plus OnRawMode now have a bool servermode parameter git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@8964 e03df62e-2008-0410-955e-edbf42e46eb7
* Commit patch from danieldg that makes a ton of stuff const-safe for latest ↵Gravatar brain2008-02-131-2/+2
| | | | | | warn-happy trigger-happy gcc4 (thanks) git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@8922 e03df62e-2008-0410-955e-edbf42e46eb7
* Support for /invite <user> <channel> <timeout> - if the user doesn't partake ↵Gravatar aquanight2008-02-081-2/+2
| | | | | | in <timeout> time, the invite expires git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@8854 e03df62e-2008-0410-955e-edbf42e46eb7
* Clear up header insanityGravatar w00t2008-02-031-1/+1
| | | | git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@8808 e03df62e-2008-0410-955e-edbf42e46eb7
* Make m_password_hash able to pick up hasher modules after it's loaded, ↵Gravatar aquanight2008-02-021-0/+13
| | | | | | meaning m_md5 and m_sha256 no longer have to be loaded before it. git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@8793 e03df62e-2008-0410-955e-edbf42e46eb7
* Move some stuff to usermanager, remove a little header insanity, remove ↵Gravatar w00t2008-02-021-1/+1
| | | | | | trace because it's still less useful than a chocolate fireman. git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@8790 e03df62e-2008-0410-955e-edbf42e46eb7
* Change API OnOperCompare to OnPassCompare, password hashing is now available ↵Gravatar aquanight2008-01-271-1/+1
| | | | | | for <connect:allow>, <power die= restart=>, <title> (m_customtitle.so), <vhost> (m_vhost.so), this works the same was as for <oper>: load m_password_hash.so (after all hasher modules, of course), and add hash="md5/sha256/whatever" to the relevant tag. Also fix m_callerid.cpp crashing on unload. git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@8755 e03df62e-2008-0410-955e-edbf42e46eb7
* Remove a redundant method here, call the mode manager directlyGravatar w00t2008-01-171-19/+0
| | | | git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@8732 e03df62e-2008-0410-955e-edbf42e46eb7
* Header update: 2007 -> 2008Gravatar w00t2008-01-101-1/+1
| | | | git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@8694 e03df62e-2008-0410-955e-edbf42e46eb7
* Add OnExpireLine(XLine *) hook, will be used in xline db stuff to avoid ↵Gravatar w00t2008-01-091-0/+1
| | | | | | getting a fucked up vector git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@8676 e03df62e-2008-0410-955e-edbf42e46eb7
* Hopefully correct implementation of OnRawMode.. can someone pls check this ↵Gravatar w00t2008-01-061-1/+1
| | | | | | for me tomorrow. git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@8654 e03df62e-2008-0410-955e-edbf42e46eb7
* OnRawMode event makes a return: This was removed post 1.0 because it was ↵Gravatar w00t2008-01-061-0/+1
| | | | | | incredibly slow with the previous hooking mechanism. It should be okay now that module hooks aren't O(n).. Just the header and virtual atm, no implementation in the parser. git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@8653 e03df62e-2008-0410-955e-edbf42e46eb7
* Permanent channels, currently conflicts with blockcaps (+P) and is untestedGravatar w00t2008-01-061-0/+1
| | | | git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@8650 e03df62e-2008-0410-955e-edbf42e46eb7
* Add param 'opername' to event OnPostOper. This will help make a (slightly ↵Gravatar w00t2008-01-021-1/+1
| | | | | | nicer) version of dz's patch to allow modes in <oper> git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@8615 e03df62e-2008-0410-955e-edbf42e46eb7
* More stuff incomingGravatar brain2007-11-111-1/+1
| | | | git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@8575 e03df62e-2008-0410-955e-edbf42e46eb7
* More stuffGravatar brain2007-11-111-1/+1
| | | | git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@8574 e03df62e-2008-0410-955e-edbf42e46eb7