* | Inspire Internet Relay Chat Daemon |
* +------------------------------------+
*
- * Inspire is copyright (C) 2002-2004 ChatSpike-Dev.
+ * InspIRCd is copyright (C) 2002-2006 ChatSpike-Dev.
* E-mail:
* <brain@chatspike.net>
* <Craig@chatspike.net>
#define __USERS_H__
#include "hashcomp.h"
+#include "cull_list.h"
#define STATUS_OP 4
#define STATUS_HOP 2
#define CC_ALLOW 0
#define CC_DENY 1
+template<typename T> inline string ConvToStr(const T &in);
+
/** Holds a channel name to which a user has been invited.
*/
class Invited : public classbase
int flood;
/** Host mask for this line
*/
- char host[MAXBUF];
+ std::string host;
/** Number of seconds between pings for this line
*/
int pingtime;
/** (Optional) Password for this line
*/
- char pass[MAXBUF];
+ std::string pass;
/** Threshold value for flood disconnect
*/
/** Maximum size of recvq for users in this class (bytes)
*/
long recvqmax;
+
+ /** Local max when connecting by this connection class
+ */
+ long maxlocal;
+
+ /** Global max when connecting by this connection class
+ */
+ long maxglobal;
- ConnectClass()
+ ConnectClass() : registration_timeout(0), flood(0), host(""), pingtime(0), pass(""), threshold(0), sendqmax(0), recvqmax(0)
{
- registration_timeout = 0;
- flood = 0;
- pingtime = 0;
- threshold = 0;
- sendqmax = 0;
- recvqmax = 0;
- strlcpy(host,"",MAXBUF);
- strlcpy(pass,"",MAXBUF);
}
};
* This is stored even if the <connect> block doesnt need a password, so that
* modules may check it.
*/
- char password[MAXBUF];
+ char password[64];
/** User's receive queue.
* Lines from the IRCd awaiting processing are stored here.
time_t reset_due;
long threshold;
+ /** IPV4 ip address
+ */
+ in_addr ip4;
+
/* Write error string
*/
std::string WriteError;
*/
InvitedList* GetInviteList();
+ void MakeHost(char* nhost);
+
+ char* MakeWildHost();
+
/** Shuts down and closes the user's socket
*/
void CloseSocket();
void kill_link(userrec *user,const char* r);
void kill_link_silent(userrec *user,const char* r);
void AddWhoWas(userrec* u);
-void AddClient(int socket, char* host, int port, bool iscached, char* ip);
-void FullConnectUser(userrec* user);
-void ConnectUser(userrec *user);
+void AddClient(int socket, int port, bool iscached, in_addr ip4);
+void FullConnectUser(userrec* user, CullList* Goners);
+userrec* ReHashNick(char* Old, char* New);
+void force_nickchange(userrec* user,const char* newnick);
#endif