124 Commits

Author SHA1 Message Date
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
brain
e964e2286d common_channels -> userrec::SharesChannelWith()
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@4805 e03df62e-2008-0410-955e-edbf42e46eb7
2006-08-09 10:04:58 +00:00
brain
21deb54715 WriteWallops() -> userrec::WriteWallops() (originates from a user, so belongs in userrec)
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@4802 e03df62e-2008-0410-955e-edbf42e46eb7
2006-08-08 20:30:41 +00:00
brain
7de28b5b35 Document new methods
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@4801 e03df62e-2008-0410-955e-edbf42e46eb7
2006-08-08 20:12:36 +00:00
brain
a318eee150 WriteCommon() and WriteCommonExcept() -> userrec::WriteCommon(), userrec::WriteCommonExcept()
WriteCommon_NoFormat() and WriteCommonExcept_NoFormat() -> std::string variants


git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@4800 e03df62e-2008-0410-955e-edbf42e46eb7
2006-08-08 20:08:02 +00:00
brain
d54f233a5e Document Write* methods in userrec
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@4799 e03df62e-2008-0410-955e-edbf42e46eb7
2006-08-08 19:05:31 +00:00
brain
fea1a27cb9 WHEEEEE!!!!!
All of: Write(), WriteTo(), WriteFrom(), WriteServ() are now methods of userrec.
Write_NoFormat(), WriteTo_NoFormat(), WriteFrom_NoFormat(), WriteServ_NoFormat() are now std::string-taking overloaded methods of the functions above
All modules updated to use new syntax, my fingers hurt :(


git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@4798 e03df62e-2008-0410-955e-edbf42e46eb7
2006-08-08 18:59:13 +00:00
brain
861ca7f2fe Tons of comments
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@4796 e03df62e-2008-0410-955e-edbf42e46eb7
2006-08-08 16:34:24 +00:00
brain
c18d1040a3 Move whowas stuff into its own namespace, move more stuff into userrec
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@4795 e03df62e-2008-0410-955e-edbf42e46eb7
2006-08-08 16:07:25 +00:00
brain
4f1d3a7192 FindMatchingLocal/FindMatchingGlobal -> userrec::LocalCloneCount(), userrec::GlobalCloneCount()
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@4794 e03df62e-2008-0410-955e-edbf42e46eb7
2006-08-08 15:51:30 +00:00
brain
922d4ebf7a userrec::UpdateNickHash(), userrec::ForceNickChange(), userrec::FullConnect()
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@4793 e03df62e-2008-0410-955e-edbf42e46eb7
2006-08-08 15:38:59 +00:00
brain
8d99003c22 AddOper() and DeleteOper() -> userrec::Oper() and userrec::UnOper() (these do more, too)
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@4792 e03df62e-2008-0410-955e-edbf42e46eb7
2006-08-08 15:05:49 +00:00
brain
ce4c050657 AddWhoWas(userrec) -> userrec::AddToWhoWas()
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@4790 e03df62e-2008-0410-955e-edbf42e46eb7
2006-08-08 14:40:53 +00:00
brain
93876363f8 kill_link() and Server::QuitUser() -> userrec::QuitUser() (static member) - this cant be a normal member as it causes the userrec to be deleted, and "delete this" is bad, mmm'k
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@4789 e03df62e-2008-0410-955e-edbf42e46eb7
2006-08-08 14:38:24 +00:00
brain
f8ca9e22cc Fix global session checks
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@4715 e03df62e-2008-0410-955e-edbf42e46eb7
2006-08-04 19:32:11 +00:00
brain
32ea53d02e Changes
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@4701 e03df62e-2008-0410-955e-edbf42e46eb7
2006-08-04 12:57:43 +00:00
brain
f25755bbe7 Change to using userrec::ip as a sockaddr to store port, ip and address family, rather than userrec::ip4 and userrec::port.
This allows us to handle remote ipv6 users on an ipv4 server, and vice versa.


git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@4694 e03df62e-2008-0410-955e-edbf42e46eb7
2006-08-04 01:59:41 +00:00
brain
9e0fd68e34 Fixed resolver, forward lookup of ipv6 doesnt work right yet
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@4674 e03df62e-2008-0410-955e-edbf42e46eb7
2006-08-03 16:00:55 +00:00
brain
e65b2c70e4 Add error messages to Resolver::OnError()
Add exception handling to several places that use Resolver (it can throw)
Remove Resolver::ProcessResult(), its now handled within the bowels of dns.cpp


git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@4646 e03df62e-2008-0410-955e-edbf42e46eb7
2006-08-02 18:44:13 +00:00
brain
e00b5b82db Comments, add more detail, remove dnsqueue.h include from tons of places
Remove THREADED_DNS defines from all over the place


git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@4629 e03df62e-2008-0410-955e-edbf42e46eb7
2006-08-01 23:26:11 +00:00
brain
f44d25e8c3 Fixes
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@4628 e03df62e-2008-0410-955e-edbf42e46eb7
2006-08-01 23:09:07 +00:00
brain
be1e2e4ee5 Fixes
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@4627 e03df62e-2008-0410-955e-edbf42e46eb7
2006-08-01 23:07:26 +00:00
brain
e74bb16a4f Stuff to make user host resolving use class Resolver - not tested yet
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@4626 e03df62e-2008-0410-955e-edbf42e46eb7
2006-08-01 22:59:59 +00:00
brain
c80508b28b Move to entirely using insp_sockaddr and insp_inaddr for socket stuff, first step on the road to ipv6 support
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@4609 e03df62e-2008-0410-955e-edbf42e46eb7
2006-08-01 10:37:16 +00:00
brain
95840640cb Change all references to voodoo numbers (7, 3 etc) to the new bitwise constants for user->registered
Change a lot of user->fd > -1 to use the IS_LOCAL() macro


git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@4569 e03df62e-2008-0410-955e-edbf42e46eb7
2006-07-28 12:00:25 +00:00
brain
0757a4a495 mass tidyup, change A LOT of stuff to const char** which was char** (such as parameters to commands in handlers)
which makes the new lineparser work neater with no casts. This also removes tons of casts from other locations
(all in all, ive added 2 casts and removed almost a hundred)


git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@4403 e03df62e-2008-0410-955e-edbf42e46eb7
2006-07-16 12:18:29 +00:00
brain
174169ac35 Rollback dns change
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@4384 e03df62e-2008-0410-955e-edbf42e46eb7
2006-07-14 12:14:42 +00:00
brain
ccb1837a14 Fix dns socket leak found in stable
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@4383 e03df62e-2008-0410-955e-edbf42e46eb7
2006-07-14 11:43:17 +00:00
brain
62b550f653 Inherit tons of stuff from classbase that should always have been
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@4298 e03df62e-2008-0410-955e-edbf42e46eb7
2006-07-10 18:54:25 +00:00
w00t
91436d31a4 - userrec::ProcessNoticeMasks - provide a way to set or unset masks.
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@4276 e03df62e-2008-0410-955e-edbf42e46eb7
2006-07-10 16:04:06 +00:00
w00t
d2381df1f7 -Clone mode methods into notice mask methods for userrec.
- Modify userrec to add char [] of notice masks, works in the same function as modes.

git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@4273 e03df62e-2008-0410-955e-edbf42e46eb7
2006-07-10 15:07:39 +00:00