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

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