154 Commits

Author SHA1 Message Date
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
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
5dbf63c2a3 Rather largeish change to class checking on connect to fix a few minor bits and bobs here and there
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@7029 e03df62e-2008-0410-955e-edbf42e46eb7
2007-05-15 16:40:37 +00:00
brain
3759fe0ba2 Where others charge, we give for free. Have fun and use wisely. With great power comes great responsbility.
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@6867 e03df62e-2008-0410-955e-edbf42e46eb7
2007-05-04 14:30:08 +00:00
brain
2c04423995 Implement feature request in bug #271 by HiroP, allow disabling of maxlocal and maxglobal by leaving out each value from the tag
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@6857 e03df62e-2008-0410-955e-edbf42e46eb7
2007-05-01 20:25:45 +00:00
brain
b1d06ea1d3 Feature request outlined in bug #257, allow connect/allow lines by port
Needs QA test


git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@6798 e03df62e-2008-0410-955e-edbf42e46eb7
2007-04-15 11:42:42 +00:00
brain
38ca8be9a3 Add third parameter to OnUserQuit (quit reason for opers only) - bump api version
Add SetOperQuit and GetOperQuit methods to userrec
Add OPERQUIT command to protocol - bump protocol version
All this is to properly allow hidebans etc to work properly


git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@6675 e03df62e-2008-0410-955e-edbf42e46eb7
2007-03-15 17:37:25 +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
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
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
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
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
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
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
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
brain
d3e3a13ae6 Cached GetFullRealHost etc.
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@6179 e03df62e-2008-0410-955e-edbf42e46eb7
2006-12-30 19:30:53 +00:00
peavey
7f6344e3ad Fix a bug in whowas that could desync list.
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@6091 e03df62e-2008-0410-955e-edbf42e46eb7
2006-12-24 04:01:45 +00:00
peavey
089cf1f5fd change userrec int timeout to time_t since it's a timestamp made of TIME + users connection class timeout.
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@6066 e03df62e-2008-0410-955e-edbf42e46eb7
2006-12-22 22:02:50 +00:00
brain
49eabd1197 Refactor connect allow/deny lines
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@6061 e03df62e-2008-0410-955e-edbf42e46eb7
2006-12-22 20:12:15 +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
457362304b Cleaning up irrelevent stuff in channels.cpp
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@5993 e03df62e-2008-0410-955e-edbf42e46eb7
2006-12-15 17:32:16 +00:00
brain
a78cecbeb9 Refactor userrec::chans.
Old way: A vector of ucrec, MAXCHANS in size by default populated by NULLS, so you have to scan the vector to find an empty slot when joining a user, parting a user etc
New way: std::map<chanrec*, char> (the char holds their basic core permissions on the channel [voice, halfop, op])
This increases speed a ton, and removes some wtf-age.


git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@5986 e03df62e-2008-0410-955e-edbf42e46eb7
2006-12-14 17:46:47 +00:00
brain
1c84dff59d Improve how we handle ELINEs on connect, turn O(2n) into O(n) (thats the best we can do with g/k/z/q checks for now :( )
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@5968 e03df62e-2008-0410-955e-edbf42e46eb7
2006-12-12 23:21:51 +00:00
brain
004217daed Tons of tweaks to the config stuff for the core
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@5744 e03df62e-2008-0410-955e-edbf42e46eb7
2006-11-14 22:38:43 +00:00
peavey
b9552dc5be Fix PruneWhoWas to actually work right on rehash. Add debug output to whowas. More code comments to whowas.
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@5734 e03df62e-2008-0410-955e-edbf42e46eb7
2006-11-13 08:15:35 +00:00
peavey
41f62a2a3b add <whowas> config option to control whowas behaviour. *may break*
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@5731 e03df62e-2008-0410-955e-edbf42e46eb7
2006-11-13 00:45:37 +00:00
brain
e53d30bc6d Merge peaveys patch, tracker #162
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@5642 e03df62e-2008-0410-955e-edbf42e46eb7
2006-11-04 11:31:29 +00:00
brain
c926070195 Please in the future everyone: DO NOT submit patches via nopaste. Nopaste is not designed for this, and mangles your patch so we cant apply it. gzip it instead!
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@5632 e03df62e-2008-0410-955e-edbf42e46eb7
2006-11-02 20:34:01 +00:00
brain
193b540aa7 Socket error state stuff
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@5607 e03df62e-2008-0410-955e-edbf42e46eb7
2006-10-31 20:32:01 +00:00
brain
9c96921f00 Move opertypes/operclasses maps into ServerConfig, for some reason these were global to users.cpp and not accessible to any other file.
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@5419 e03df62e-2008-0410-955e-edbf42e46eb7
2006-10-05 11:47:43 +00:00
brain
8d95e3d343 Whowas is now fixed.
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@5414 e03df62e-2008-0410-955e-edbf42e46eb7
2006-10-04 17:21:58 +00:00
brain
74b5dabce2 Made CountChannels faster. We use it in quite a few places. It's now O(1) rather than O(n)
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@5094 e03df62e-2008-0410-955e-edbf42e46eb7
2006-08-31 22:50:56 +00:00
brain
7ce952d2b8 *thwap* om for not fixing the bugs he finds :p
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@5087 e03df62e-2008-0410-955e-edbf42e46eb7
2006-08-31 11:00:35 +00:00
brain
b9e99da4da Snomask support cometh! and it leave a sticky white mess all over the floor :(
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@5062 e03df62e-2008-0410-955e-edbf42e46eb7
2006-08-29 18:26:55 +00:00
brain
1a124bb23a Add userrec::ChangeIdent (which we were missing) which can emulate the quit/rejoin same as ChangeDisplayedHost
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@5022 e03df62e-2008-0410-955e-edbf42e46eb7
2006-08-25 19:02:18 +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
4bf95512bc userrec::AddBuffer and userrec::Write end up copying the const std::string& into a non-const to make use of it, why not just pass std::string and let the compiler do the copy when passing it?
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@4933 e03df62e-2008-0410-955e-edbf42e46eb7
2006-08-17 14:16:15 +00:00
brain
b5de33f4a7 Tons more docs
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@4895 e03df62e-2008-0410-955e-edbf42e46eb7
2006-08-11 19:32:37 +00:00
brain
ec62d9d1ef Document all the new methods (eventually there will be more detail)
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@4893 e03df62e-2008-0410-955e-edbf42e46eb7
2006-08-11 18:55:51 +00:00
brain
23a4885701 Move tons more stuff into class InspIRCd*, make signal handler functions static members
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@4855 e03df62e-2008-0410-955e-edbf42e46eb7
2006-08-10 20:27:51 +00:00
brain
396c9ef9f7 FindNick, FindChan, ChanModes, UserList, CountInvisible, PurgeEmptyChannels, GetClass, WriteOpers, GetServerDescription -> into classes
ServerConfig takes InspIRCd pointer in its constructor


git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@4832 e03df62e-2008-0410-955e-edbf42e46eb7
2006-08-10 14:43:29 +00:00
brain
e2b1ad588d Move more stuff into userrec
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@4823 e03df62e-2008-0410-955e-edbf42e46eb7
2006-08-09 19:56:08 +00:00
brain
48262da087 Change some resolver stuff.
OM, THIS STILL WONT COMPILE! Error on the same line


git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@4821 e03df62e-2008-0410-955e-edbf42e46eb7
2006-08-09 19:25:31 +00:00
brain
9bc04a3025 userrec and chanrec now have their own independent pointer back to their 'creator' InspIRCd* object, extern now longer required in channels.cpp or users.cpp
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@4820 e03df62e-2008-0410-955e-edbf42e46eb7
2006-08-09 18:55:52 +00:00
brain
2591562ada Move tons more stuff into class InspIRCd
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@4819 e03df62e-2008-0410-955e-edbf42e46eb7
2006-08-09 17:52:10 +00:00
brain
f068033883 Tidy up loglevel enum (remove some C-ish defines)
change ServerConfig to pass a pointer to 'this' to Validation etc functions


git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@4811 e03df62e-2008-0410-955e-edbf42e46eb7
2006-08-09 14:20:04 +00:00
brain
6d4128715d Get rid of Server::GetUsers(chanrec) - a throwback to before chanrec could do this itself
Move:
bool ChangeDisplayedHost(const char* host);
bool ChangeName(const char* gecos);
int CountChannels();
Into userrec		


git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@4807 e03df62e-2008-0410-955e-edbf42e46eb7
2006-08-09 10:37:42 +00:00