118 Commits

Author SHA1 Message Date
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
brain
f6fc729c72 Did some renaming so that the methods for modes in chanrec and userrec are identical.
bool IsModeSet(const unsigned char c);
void SetMode(const unsigned char c, bool value);
Fixed m_botmode for new api


git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@4194 e03df62e-2008-0410-955e-edbf42e46eb7
2006-07-08 21:37:16 +00:00
brain
fc9e00f492 Add userrec::HasMode, fix some typos.
TODO: Make more use of userrec::HasUmode('c') rather than user->modes['c'-65] *oogly*
Next - get umode +o working!


git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@4178 e03df62e-2008-0410-955e-edbf42e46eb7
2006-07-08 18:03:30 +00:00
brain
1d3147a96e Change channelmodes -> usermodes (typo)
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@4177 e03df62e-2008-0410-955e-edbf42e46eb7
2006-07-08 17:53:37 +00:00
brain
3f389a4bd9 Convert new +isw modes to new mode format
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@4176 e03df62e-2008-0410-955e-edbf42e46eb7
2006-07-08 17:53:03 +00:00
brain
33ed72a1df Refactored user modes to work like the channel modes - core and module data now the same storage format without ::modebits
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@4175 e03df62e-2008-0410-955e-edbf42e46eb7
2006-07-08 17:44:16 +00:00
om
3cf1ae0470 Replace rather craq'y loop with a couple of std::string calls
Change GetServerDescription to take const char* rather than char*
Change userrec::server from char* to const char*, this is more 'correct' as it's not safe to modify it (pointer as returned by std::string::c_str())
Change WhoWasGroup::server, see above about userrec::server

git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@4094 e03df62e-2008-0410-955e-edbf42e46eb7
2006-07-01 11:42:09 +00:00