3817 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
f0f4dd725b Wrong version given in check it seems. Om can review this later, but now it compiles on my system (pgsql 8.0.8) with that special feature thats only supposed to exist on 8.4.2 onwards.... :/
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@4822 e03df62e-2008-0410-955e-edbf42e46eb7
2006-08-09 19:29:13 +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
om
d50dddbb92 Fixes for API changes
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@4816 e03df62e-2008-0410-955e-edbf42e46eb7
2006-08-09 15:36:50 +00:00
om
e533a9bb2a Fix for when we hit PgSQL 9.x that I think actually works
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@4815 e03df62e-2008-0410-955e-edbf42e46eb7
2006-08-09 15:15:28 +00:00
om
7639c4bf92 Fix for when we hit PgSQL 9.x
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@4814 e03df62e-2008-0410-955e-edbf42e46eb7
2006-08-09 15:00:06 +00:00
brain
cb45f8e596 This wont build. :(
m_pgsql.cpp:1125: error: cannot convert `char*' to `PGconn*' for argument `1' to `size_t PQescapeStringConn(PGconn*, char*, const char*, size_t, int*)'


git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@4813 e03df62e-2008-0410-955e-edbf42e46eb7
2006-08-09 14:55:18 +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
d91d734257 Oops, goofed up
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@4804 e03df62e-2008-0410-955e-edbf42e46eb7
2006-08-08 22:01:55 +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
8c4528880a userrec::AddToWhoWas() fix
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@4791 e03df62e-2008-0410-955e-edbf42e46eb7
2006-08-08 14:45:06 +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
7a3907f051 Check return values
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@4784 e03df62e-2008-0410-955e-edbf42e46eb7
2006-08-08 12:24:41 +00:00
brain
f82cc8dd39 chanrec::KickUser and chanrec::ServerKickUser return number of users left on the channel after the kick. If either returns 0, you should delete the chanrec immediately after return:
if (!c->KickUser(mysrc, mydest, "DIE"))
    /* arse */
    delete c;


git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@4783 e03df62e-2008-0410-955e-edbf42e46eb7
2006-08-08 12:22:21 +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
3c5d62d3b3 Add checking on AddFd that was missing (it assumed, like everything else)
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@4781 e03df62e-2008-0410-955e-edbf42e46eb7
2006-08-08 09:35:06 +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
3794888ebf Only local users can have angry monkeys and packs of wild dogs. These are local monkeys for local people!
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@4778 e03df62e-2008-0410-955e-edbf42e46eb7
2006-08-07 22:14:34 +00:00
brain
6353036b7c Now with added ANGRY MONKEYS.
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@4777 e03df62e-2008-0410-955e-edbf42e46eb7
2006-08-07 22:09:17 +00:00
brain
88a34791f0 Change the error message, just for LeaChim <3
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@4776 e03df62e-2008-0410-955e-edbf42e46eb7
2006-08-07 21:53:09 +00:00
brain
847830b43e Check earlier on is no longer required
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@4775 e03df62e-2008-0410-955e-edbf42e46eb7
2006-08-07 21:29:46 +00:00
brain
358f2064c4 Bail if we couldn't bind any ports (when did this get broken?)
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@4774 e03df62e-2008-0410-955e-edbf42e46eb7
2006-08-07 21:25:48 +00:00
brain
923586e54c Put casts back :(
git-svn-id: http://svn.inspircd.org/repository/trunk/inspircd@4773 e03df62e-2008-0410-955e-edbf42e46eb7
2006-08-07 20:57:13 +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