repo: ngircd action: commit revision: path_from: revision_from: bf2eae3249cd7890c0189dfcf1a50b0e40e199b2: path_to: revision_to:
commit bf2eae3249cd7890c0189dfcf1a50b0e40e199b2 Author: Alexander BartonDate: Wed Sep 3 16:03:28 2014 +0200 Allow longer usernames for authentication diff --git a/src/ngircd/client.c b/src/ngircd/client.c
--- a/src/ngircd/client.c
+++ b/src/ngircd/client.c
@@ -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
diff --git a/src/ngircd/client.h b/src/ngircd/client.h
--- a/src/ngircd/client.h
+++ b/src/ngircd/client.h
@@ -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 */
diff --git a/src/ngircd/defines.h b/src/ngircd/defines.h
--- a/src/ngircd/defines.h +++ b/src/ngircd/defines.h @@ -109,6 +109,10 @@ #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
-----END OF PAGE-----