]> arthur.barton.de Git - ngircd-alex.git/blobdiff - src/ngircd/client.h
New configuration option "RequireAuthPing": PING-PONG on login
[ngircd-alex.git] / src / ngircd / client.h
index 90fd6f286832a3d2faf67bc22b15b58b42d35b58..fecf5d9798d97a03d5d12482a9becbfe0764b16f 100644 (file)
@@ -7,13 +7,16 @@
  * the Free Software Foundation; either version 2 of the License, or
  * (at your option) any later version.
  * Please read the file COPYING, README and AUTHORS for more information.
- *
- * Client management (header)
  */
 
 #ifndef __client_h__
 #define __client_h__
 
+/**
+ * @file
+ * Client management (header)
+ */
+
 #define CLIENT_UNKNOWN 1               /* connection of unknown type */
 #define CLIENT_GOTPASS 2               /* client did send PASS */
 #define CLIENT_GOTNICK 4               /* client did send NICK */
@@ -23,6 +26,9 @@
 #define CLIENT_SERVICE 64              /* client is a service */
 #define CLIENT_UNKNOWNSERVER 128       /* unregistered server connection */
 #define CLIENT_GOTPASS_2813 256                /* client did send PASS, RFC 2813 style */
+#ifndef STRICT_RFC
+# define CLIENT_WAITAUTHPING 512       /* waiting for AUTH PONG from client */
+#endif
 
 #define CLIENT_TYPE int
 
@@ -43,6 +49,9 @@ typedef struct _CLIENT
        char pwd[CLIENT_PASS_LEN];      /* password received of the client */
        char host[CLIENT_HOST_LEN];     /* hostname of the client */
        char user[CLIENT_USER_LEN];     /* user name ("login") */
+#if defined(PAM) && defined(IDENTAUTH)
+       char orig_user[CLIENT_USER_LEN];/* user name supplied by USER command */
+#endif
        char info[CLIENT_INFO_LEN];     /* long user name (user) / info text (server) */
        char modes[CLIENT_MODE_LEN];    /* client modes */
        int hops, token, mytoken;       /* "hops" and "Token" (see SERVER command) */
@@ -90,9 +99,14 @@ GLOBAL int Client_Type PARAMS(( CLIENT *Client ));
 GLOBAL CONN_ID Client_Conn PARAMS(( CLIENT *Client ));
 GLOBAL char *Client_ID PARAMS(( CLIENT *Client ));
 GLOBAL char *Client_Mask PARAMS(( CLIENT *Client ));
+GLOBAL char *Client_MaskCloaked PARAMS(( CLIENT *Client ));
 GLOBAL char *Client_Info PARAMS(( CLIENT *Client ));
 GLOBAL char *Client_User PARAMS(( CLIENT *Client ));
+#ifdef PAM
+GLOBAL char *Client_OrigUser PARAMS(( CLIENT *Client ));
+#endif
 GLOBAL char *Client_Hostname PARAMS(( CLIENT *Client ));
+GLOBAL char *Client_HostnameCloaked PARAMS(( CLIENT *Client ));
 GLOBAL char *Client_Password PARAMS(( CLIENT *Client ));
 GLOBAL char *Client_Modes PARAMS(( CLIENT *Client ));
 GLOBAL char *Client_Flags PARAMS(( CLIENT *Client ));
@@ -111,6 +125,7 @@ GLOBAL bool Client_HasMode PARAMS(( CLIENT *Client, char Mode ));
 GLOBAL void Client_SetHostname PARAMS(( CLIENT *Client, const char *Hostname ));
 GLOBAL void Client_SetID PARAMS(( CLIENT *Client, const char *Nick ));
 GLOBAL void Client_SetUser PARAMS(( CLIENT *Client, const char *User, bool Idented ));
+GLOBAL void Client_SetOrigUser PARAMS(( CLIENT *Client, const char *User ));
 GLOBAL void Client_SetInfo PARAMS(( CLIENT *Client, const char *Info ));
 GLOBAL void Client_SetPassword PARAMS(( CLIENT *Client, const char *Pwd ));
 GLOBAL void Client_SetType PARAMS(( CLIENT *Client, int Type ));
@@ -148,6 +163,10 @@ GLOBAL void Client_RegisterWhowas PARAMS(( CLIENT *Client ));
 
 GLOBAL const char *Client_TypeText PARAMS((CLIENT *Client));
 
+#ifdef DEBUG
+GLOBAL void Client_DebugDump PARAMS((void));
+#endif
+
 #endif
 
 /* -eof- */