762 Commits

Author SHA1 Message Date
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
1cbf29e3cd Move clientlist and chanlist into InspIRCd*
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@4818 e03df62e-2008-0410-955e-edbf42e46eb7
2006-08-09 16:35:24 +00:00
brain
89749a7440 Move fd_ref_table into class InspIRCd*
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@4817 e03df62e-2008-0410-955e-edbf42e46eb7
2006-08-09 15:36:51 +00:00
brain
ab46b96db4 Move socket_ref and module_sockets vectors/arrays into InspIRCd*. These are public members, which InspSocket can modify.
(eventually, this will be marshalled safely through some accessors). When constructing an InspSocket you must now provide
an InspIRCd* instance to 'attach' the socket to.


git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@4812 e03df62e-2008-0410-955e-edbf42e46eb7
2006-08-09 14:53:19 +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
542eca81f4 Remove do_log() prototypes
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@4810 e03df62e-2008-0410-955e-edbf42e46eb7
2006-08-09 13:55:26 +00:00
brain
54546ce8b8 do_log -> static void InspIRCd::Log() (with vararg and std::string variants)
The #define for this still exists, but maybe should be phased out?


git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@4809 e03df62e-2008-0410-955e-edbf42e46eb7
2006-08-09 13:19:41 +00:00
brain
09afa50856 ServerConfig extern moved into class InspIRCd
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@4808 e03df62e-2008-0410-955e-edbf42e46eb7
2006-08-09 11:33:10 +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
0f61489ddb Move Blocking/NonBlocking to socket.cpp and make inline
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@4806 e03df62e-2008-0410-955e-edbf42e46eb7
2006-08-09 10:12:34 +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
be9fbe56f9 Improve Write functions, and change some stuff from char* to const char*
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@4803 e03df62e-2008-0410-955e-edbf42e46eb7
2006-08-08 21:58:21 +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
a7543c881b Comment all the new stuff
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@4797 e03df62e-2008-0410-955e-edbf42e46eb7
2006-08-08 16:47:14 +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
6ab1d0dffb WriteChannel* functions and ChanExceptSender* functions are now methods of chanrec. They probably should be renamed too eventually.
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@4788 e03df62e-2008-0410-955e-edbf42e46eb7
2006-08-08 14:17:35 +00:00
brain
903ba4e2eb add_channel -> chanrec::JoinUser()
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@4787 e03df62e-2008-0410-955e-edbf42e46eb7
2006-08-08 13:22:30 +00:00
brain
6f1b8f50dd Change to chanrec::PartUser. As with KickUser and ServerKickUser, returns the number of users left, if it returns 0, delete the chanrec
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@4786 e03df62e-2008-0410-955e-edbf42e46eb7
2006-08-08 12:52:24 +00:00
brain
25f6cb0fe6 kick_channel -> chanrec::KickUser(), server_kick_channel -> chanrec::ServerKickUser()
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@4782 e03df62e-2008-0410-955e-edbf42e46eb7
2006-08-08 12:20:45 +00:00
brain
2329d59b09 Extra checking that the fd's we pass to SocketEngine::AddFd were added (a lot of assuming was going off, leading to total chaos if we run out of fd's etc)
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@4780 e03df62e-2008-0410-955e-edbf42e46eb7
2006-08-08 09:32:57 +00:00
brain
233402b05c The segfaults on missing init_module symbol are now gone, and hopefully not coming back!
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@4772 e03df62e-2008-0410-955e-edbf42e46eb7
2006-08-07 20:42:18 +00:00
brain
7548a18e4c Change symbol back
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@4771 e03df62e-2008-0410-955e-edbf42e46eb7
2006-08-07 20:14:03 +00:00
brain
1ff199172d Added some hax :( to prevent invalid symbols. It seems that instead of returning NULL, its setting a pointer to -1
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@4770 e03df62e-2008-0410-955e-edbf42e46eb7
2006-08-07 20:12:24 +00:00
brain
8a21bfcb21 Tidy up, make a lot of char*'s const
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@4769 e03df62e-2008-0410-955e-edbf42e46eb7
2006-08-07 17:17:06 +00:00
brain
6fa35bdb18 Better checks for running out of disk space, inability to write to tmp dir, etc
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@4768 e03df62e-2008-0410-955e-edbf42e46eb7
2006-08-07 16:58:27 +00:00
brain
3719db12e6 Extra debug all over the place, which maybe we should keep
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@4767 e03df62e-2008-0410-955e-edbf42e46eb7
2006-08-07 13:33:34 +00:00
brain
40d465542f Change prototype of OneOfMatches
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@4764 e03df62e-2008-0410-955e-edbf42e46eb7
2006-08-07 12:00:27 +00:00
brain
6c657e45fd Add -notraceback startup option, disables automatic backtrace facility so that you can do it yourself with a coredump and gdb (auto backtrace doesnt dump cores)
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@4751 e03df62e-2008-0410-955e-edbf42e46eb7
2006-08-06 21:55:01 +00:00
brain
3e50e674c3 Allow nick!ident@ and ident@ portions in a CIDR mask if given, use match() without CIDR against that portion. This allows for CIDR operhosts while still matching idents (AND CIDR CHANNEL BANS)
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@4739 e03df62e-2008-0410-955e-edbf42e46eb7
2006-08-06 18:34:39 +00:00
brain
f4a4901fee Support CIDR, CIDR zline, /oper and CIDR <connect> tags. NOTE: With CIDR oper, ident field is not supported (yet)
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@4732 e03df62e-2008-0410-955e-edbf42e46eb7
2006-08-06 16:09:29 +00:00
brain
a9621bc989 Fix CIDR functions so they work
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@4731 e03df62e-2008-0410-955e-edbf42e46eb7
2006-08-06 15:26:16 +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
e5843dde4d Add proper support for "munging" of ipv6 addresses when ::ffff:addr is used (this is temporary)
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@4693 e03df62e-2008-0410-955e-edbf42e46eb7
2006-08-03 21:45:39 +00:00
brain
327a3847ff Change comments to reflect change from ip6.int to ip6.arpa which occured on jul 1st
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@4682 e03df62e-2008-0410-955e-edbf42e46eb7
2006-08-03 19:10:05 +00:00
brain
062bd08863 Extra stuff for forcing a v4 or v6 lookup
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@4679 e03df62e-2008-0410-955e-edbf42e46eb7
2006-08-03 18:46:17 +00:00