From: Andrew Deason Date: Fri, 30 Jul 2010 17:03:06 +0000 (-0500) Subject: ptserver: Allow longer foreign user names X-Git-Tag: openafs-devel-1_5_76~61 X-Git-Url: https://git.michaelhowe.org/gitweb/?a=commitdiff_plain;h=ebf36d27c66f18d8fa88ec8f7cacec3ef0c311d7;p=packages%2Fo%2Fopenafs.git ptserver: Allow longer foreign user names The ptserver was restricting all names to be less than PR_MAXNAMELEN - pr_realmNameLen - 1, so that the local realm and a '@' can be safely appended for foreign user registration. This check is overly restrictive for foreign users, since the local realm will never be appended to the user name (it already has the foreign realm name appended). So, just check for PR_MAXNAMELEN for foreign users. Original issue reported by Gunnar Krull. Change-Id: I34c5d908cc2c1b3abe87966115e6ada74c9a93a9 Reviewed-on: http://gerrit.openafs.org/2485 Tested-by: Andrew Deason Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear --- diff --git a/src/ptserver/ptutils.c b/src/ptserver/ptutils.c index c4315c243..be99ddbc1 100644 --- a/src/ptserver/ptutils.c +++ b/src/ptserver/ptutils.c @@ -191,8 +191,16 @@ CorrectUserName(char *name) /* We accept foreign names, so we will deal with '@' later */ if (strchr(name, ':') || strchr(name, '\n')) return 0; - if (strlen(name) >= PR_MAXNAMELEN - pr_realmNameLen - 1) - return 0; + if (strchr(name, '@')) { + /* foreign user; we don't need to worry about pr_realmNameLen, since + * our local realm name will never be appended to this */ + if (strlen(name) >= PR_MAXNAMELEN) { + return 0; + } + } else { + if (strlen(name) >= PR_MAXNAMELEN - pr_realmNameLen - 1) + return 0; + } return 1; }