]> arthur.barton.de Git - ngircd-alex.git/commitdiff
Allow longer usernames for authentication AuthUsername
authorAlexander Barton <alex@barton.de>
Wed, 3 Sep 2014 14:03:28 +0000 (16:03 +0200)
committerAlexander Barton <alex@barton.de>
Thu, 11 Sep 2014 20:04:31 +0000 (22:04 +0200)
src/ngircd/client.c
src/ngircd/client.h
src/ngircd/defines.h

index 9795662ecc66899f642f66aa9632ac6a2c00b1e6..07d448fdbaf9a84873f32e22584636251e2d3fd5 100644 (file)
@@ -427,7 +427,7 @@ Client_SetOrigUser(CLIENT UNUSED *Client, const char UNUSED *User)
        assert(Client != NULL);
        assert(User != NULL);
 
-#if defined(PAM) && defined(IDENTAUTH)
+#if defined(PAM)
        strlcpy(Client->orig_user, User, sizeof(Client->orig_user));
 #endif
 } /* Client_SetOrigUser */
@@ -731,15 +731,7 @@ Client_User( CLIENT *Client )
  */
 GLOBAL char *
 Client_OrigUser(CLIENT *Client) {
-#ifndef IDENTAUTH
-       char *user = Client->user;
-
-       if (user[0] == '~')
-               user++;
-       return user;
-#else
        return Client->orig_user;
-#endif
 } /* Client_OrigUser */
 
 #endif
index c6fcec0717c880909872f5ee12854e951b12c30e..4185d2176ebd2e4ba7a65391f254c03cfe76a808 100644 (file)
@@ -52,8 +52,9 @@ typedef struct _CLIENT
        char *cloaked;                  /* cloaked hostname of the client */
        char *ipa_text;                 /* textual representaton of IP address */
        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 */
+#if defined(PAM)
+       char orig_user[CLIENT_AUTHUSER_LEN];
+                                       /* original 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 */
index a140c9d16a54eee20a197893ba01a45d5be9141a..456c4c9351f78f44735c859cf08767df519b71b4 100644 (file)
 #else
 # define CLIENT_USER_LEN 10
 #endif
+/** Max. length of user names saved for authentication (used by PAM) */
+#ifdef PAM
+# define CLIENT_AUTHUSER_LEN 64
+#endif
 
 /** Max. length of "real names" (including NULL). */
 #define CLIENT_NAME_LEN 32