1221 Commits

Author SHA1 Message Date
brain
c1f88cfa9c Addition of feature request outlined in bug #195, suggested by Bricker
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@6602 e03df62e-2008-0410-955e-edbf42e46eb7
2007-02-19 19:57:41 +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
23d635950d Change bytes-used counter for commands (used by /stats m) as in excessive use (see BARAFRANCA!) they can wrap around past 2 million commands.
(YES REALLY. THEY ISSUED > 2 MILLION PRIVMSGS)


git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@6590 e03df62e-2008-0410-955e-edbf42e46eb7
2007-02-17 22:31:33 +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
f911684c7d Change /msg $* to have the correct source the same way /notice $* does
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@6588 e03df62e-2008-0410-955e-edbf42e46eb7
2007-02-17 20:10:54 +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
b111eec597 Allow for nick!user@host in TOPIC information.
Note that this adds another <options> tag value, 'hostintopic'. (defaults to yes)


git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@6572 e03df62e-2008-0410-955e-edbf42e46eb7
2007-02-11 18:50:04 +00:00
brain
d1f78ff160 And make it compile. (whoops)
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@6562 e03df62e-2008-0410-955e-edbf42e46eb7
2007-02-10 15:05:41 +00:00
brain
8a15b71960 timermanager never had a ServerInstance. Give it one so we can use InspIRCd::Time() rather than time()
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@6561 e03df62e-2008-0410-955e-edbf42e46eb7
2007-02-10 15:05:00 +00:00
brain
6b37d1f7e9 Add and properly test the ability for an InspTimer to DelTimer itself from within its own Tick method.
This wasnt supported before and would corrupt the iterator in the TickTimers() method of TimerManager.
Non the less, peaveys new (perfectly sensible) fix broke it because i didnt document the caveat about DelTimer() :p
This FIXES m_ident and possibly some other stuff.


git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@6553 e03df62e-2008-0410-955e-edbf42e46eb7
2007-02-09 18:13:13 +00:00
brain
0b460e6f32 Ident fixes,
removal of some old craq we dont use.
cgiirc optimizations and tidyups


git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@6541 e03df62e-2008-0410-955e-edbf42e46eb7
2007-02-07 19:56:35 +00:00
brain
5f9237c4a3 Added support for explicitly binding an outbound connection to an ip. Will be used by spanningtree.
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@6534 e03df62e-2008-0410-955e-edbf42e46eb7
2007-02-07 17:42:20 +00:00
brain
aad6c4e509 Fixes to allow inspsocket connects to be protocol transparent
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@6515 e03df62e-2008-0410-955e-edbf42e46eb7
2007-02-06 17:36:06 +00:00
brain
ac36ca514e No gaurantees on this atm
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@6508 e03df62e-2008-0410-955e-edbf42e46eb7
2007-02-05 23:59:58 +00:00
brain
acd24151ce This wont compile atm
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@6507 e03df62e-2008-0410-955e-edbf42e46eb7
2007-02-05 23:51:03 +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
brain
1b128373c2 Not safe for use yet
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@6502 e03df62e-2008-0410-955e-edbf42e46eb7
2007-02-05 22:29:02 +00:00
brain
bcedc75173 Smart tricks to allow for ipv4 and ipv6 bindings on client ports. WARNING, NOT FINISHED YET
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@6501 e03df62e-2008-0410-955e-edbf42e46eb7
2007-02-05 21:55:14 +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
brain
a77e32fa32 Documentation change to indicate errno is valid on return from the constructor -- dont bother to svn up for this if youre testing right now
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@6463 e03df62e-2008-0410-955e-edbf42e46eb7
2007-01-30 20:35:49 +00:00
special
a16d415ee4 Fixed (rewrote) m_http_client's URL parsing, it is now more flexible and.. actually works.
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@6416 e03df62e-2008-0410-955e-edbf42e46eb7
2007-01-20 23:34:42 +00:00
brain
8302af8e8a Someone left the colon off the 'end of list' numeric in u_listmode.h. I dont know what clients this might break
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@6328 e03df62e-2008-0410-955e-edbf42e46eb7
2007-01-14 18:46:16 +00:00
brain
8c14f0f530 Added interface 'ChannelBanList' that these two modules implement. Send a request class ListModeRequest to the module to check if a user is matched on a channel:
const char* ismatched = ListModeRequest(this, targetmodule, someuser, somechan).Send();

ismatched will be NULL if theyre not matched by the modules list, or will contain the mask if they are matched.


git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@6325 e03df62e-2008-0410-955e-edbf42e46eb7
2007-01-14 18:25:56 +00:00
brain
16e251d74a g++ is picky about default params with overloading
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@6324 e03df62e-2008-0410-955e-edbf42e46eb7
2007-01-14 17:26:04 +00:00
brain
0c828ad6d4 Add alias:matchcase config setting (per-alias, determines wether to match case on format string) and ability for case sensitive match()
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@6319 e03df62e-2008-0410-955e-edbf42e46eb7
2007-01-14 13:30:43 +00:00
peavey
76ef4a17de Update inline documentation for DelFd() so the doxygen docs will be correct.
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@6300 e03df62e-2008-0410-955e-edbf42e46eb7
2007-01-12 00:35:19 +00:00
brain
68fe463c84 Quick tweak before work, set the default force=false in these (im not keen on 'force' at all, its major ugly hax, but *shrug* :( how does it even know we're
using epoll or kqueue etc???)


git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@6298 e03df62e-2008-0410-955e-edbf42e46eb7
2007-01-11 06:20:06 +00:00
peavey
c662a37341 pgsql should now work thx to added posibility to force a fd out of the socketengine. This should only be used as a *last resort* when dealing with 3rd party libs that invalidates a file descriptor beyond your control.
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@6295 e03df62e-2008-0410-955e-edbf42e46eb7
2007-01-11 04:24:37 +00:00
brain
49e34a508d Comment on a lot of recently added stuff that wasnt properly documented (until now)
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@6284 e03df62e-2008-0410-955e-edbf42e46eb7
2007-01-09 22:31:19 +00:00
brain
d569a50e74 Someone forgot to make correct deps for timer.h. Fixed.
Added InspTimer::CancelRepeat(), we can use this within the Tick method to cancel a repeat so that the timer is deleted after the tick, as DelTimer isnt safe within the Tick method


git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@6283 e03df62e-2008-0410-955e-edbf42e46eb7
2007-01-09 19:15:30 +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
brain
190815df67 Add specialization for ConvToStr on a single char, return std::string(in,1) :p
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@6276 e03df62e-2008-0410-955e-edbf42e46eb7
2007-01-09 02:09:36 +00:00
brain
11c5695f29 This is better, and proved working
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@6275 e03df62e-2008-0410-955e-edbf42e46eb7
2007-01-09 02:05:01 +00:00
brain
525b7e3409 This is a bit better
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@6274 e03df62e-2008-0410-955e-edbf42e46eb7
2007-01-09 01:36:51 +00:00
brain
8ac4e727cc Overloaded template classes for mucho improved ConvToStr speed
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@6273 e03df62e-2008-0410-955e-edbf42e46eb7
2007-01-09 01:30:51 +00:00
brain
be70931a50 Cache channel max bans value to save an O(n) loop of match() on every ban (etc) add
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@6267 e03df62e-2008-0410-955e-edbf42e46eb7
2007-01-09 00:25:18 +00:00
peavey
7a9d31a463 cmd_whowas now uses the shiny new repeating timer.
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@6266 e03df62e-2008-0410-955e-edbf42e46eb7
2007-01-08 19:58:16 +00:00
brain
2fe4636fa4 Add repeating timers, and make an hourly prune of the dns cache, otherwise a cache entry might not be cleared until a user with that ip comes back!
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@6264 e03df62e-2008-0410-955e-edbf42e46eb7
2007-01-08 18:42:13 +00:00
peavey
9f13269062 Move whowas containers into whowas class to avoid all cpp files including cmd_whowas.h to try and destroy the containers on fork exit.\nThis would cause a segfault when forking due to the containers destroy being called multiple times, but still allow the server to fork it's child and leave the server running.
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@6260 e03df62e-2008-0410-955e-edbf42e46eb7
2007-01-08 04:07:04 +00:00
brain
bf3acfa61d Add /CLEARCACHE, oper only command which completely purges the DNS cache -- useful if you just want to cut down on ram use at any point.
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@6259 e03df62e-2008-0410-955e-edbf42e46eb7
2007-01-08 00:18:52 +00:00
brain
e82913ed68 Update a comment, and touch a header just to make people rebuild stuff >:)
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@6256 e03df62e-2008-0410-955e-edbf42e46eb7
2007-01-07 22:36:42 +00:00
brain
fe46f3c228 Document dns caching, add a "bool cached" to OnLookupComplete method in Resolver, and and add " -- cached" to end of 'looking up your host' string if their result is a cached result
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@6254 e03df62e-2008-0410-955e-edbf42e46eb7
2007-01-07 22:01:00 +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
f1ca6c6d71 DNS caching stuff (almost done)
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@6252 e03df62e-2008-0410-955e-edbf42e46eb7
2007-01-07 21:35:25 +00:00
brain
dac672cf30 DNS Stuff - this wont work right yet, it will soon (tm)
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@6250 e03df62e-2008-0410-955e-edbf42e46eb7
2007-01-07 21:16:03 +00:00
peavey
6b9eaeba41 Move all /WHOWAS related out of core and into cmd_whowas.
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@6249 e03df62e-2008-0410-955e-edbf42e46eb7
2007-01-07 21:14:17 +00:00
brain
9db7f13b0c Add TTL stuff to dns system (pass it to inherited objects)
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@6247 e03df62e-2008-0410-955e-edbf42e46eb7
2007-01-07 20:01:11 +00:00
peavey
b2f3ac1161 add internal cmdhandler that will make it easy to move stuff out of core and into a reloadable command.
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@6241 e03df62e-2008-0410-955e-edbf42e46eb7
2007-01-07 01:24:44 +00:00
brain
ca6434e44f Massive speedups for applying and checking perm xlines - matches_*line() now has a permonly optional param, and apply_lines can be passed an APPLY_LOCAL_ONLY.
Also, improve speed of config reading stuff when reading in the lines


git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@6223 e03df62e-2008-0410-955e-edbf42e46eb7
2007-01-04 18:53:31 +00:00
brain
2802a62272 Fix lusers breakage introduced by latest set of optimizations
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@6219 e03df62e-2008-0410-955e-edbf42e46eb7
2007-01-03 20:58:21 +00:00