Blame SOURCES/nss-pam-ldapd-0.8.12-validname.patch

df3ee2
Defaults changed to allow opening and closing parentheses everywhere.  Defaults
df3ee2
changed again to make characters after the first optional, and again to go back
df3ee2
to disallowing names which end with "\".
df3ee2
--- man/nslcd.conf.5.xml
df3ee2
+++ man/nslcd.conf.5.xml
df3ee2
@@ -712,7 +712,7 @@
df3ee2
        characters and the 'i' flag may be appended at the end to indicate
df3ee2
        that the match should be case-insensetive.
df3ee2
        The default value is
df3ee2
-       <literal>/^[a-z0-9._@$][a-z0-9._@$ \\~-]*[a-z0-9._@$~-]$/i</literal>
df3ee2
+       <literal>/^[a-z0-9._@$()]([a-z0-9._@$() \\~-]*[a-z0-9._@$()~-])?$/i</literal>
df3ee2
       </para>
df3ee2
      </listitem>
df3ee2
     </varlistentry>
df3ee2
--- nslcd/cfg.c
df3ee2
+++ nslcd/cfg.c
df3ee2
@@ -134,7 +134,7 @@ static void cfg_defaults(struct ldap_con
df3ee2
     cfg->ldc_pam_authz_search[i]=NULL;
df3ee2
   cfg->ldc_nss_min_uid=0;
df3ee2
   parse_validnames_statement(__FILE__,__LINE__,"",
df3ee2
-                "/^[a-z0-9._@$][a-z0-9._@$ \\~-]*[a-z0-9._@$~-]$/i",cfg);
df3ee2
+                "/^[a-z0-9._@$()]([a-z0-9._@$() \\~-]*[a-z0-9._@$()~-])?$/i",cfg);
df3ee2
   cfg->pam_password_prohibit_message=NULL;
df3ee2
 }
df3ee2
 
df3ee2
--- tests/test_common.c
df3ee2
+++ tests/test_common.c
df3ee2
@@ -39,6 +39,8 @@ static void test_isvalidname(void)
df3ee2
   assert(!isvalidname("\\foo\\bar"));
df3ee2
   assert(!isvalidname("foo\\bar\\"));
df3ee2
   assert(isvalidname("me")); /* try short name */
df3ee2
+  assert(isvalidname("f"));
df3ee2
+  assert(isvalidname("(foo bar)"));
df3ee2
 }
df3ee2
 
df3ee2
 /* the main program... */