On Wed, Oct 29, Andreas Henriksson wrote: > tags 326407 + patch > stop > > With a /etc/security/time.conf spec like this and the pam_time module in use: > *;*;x|y;!Al0000-2400 Your patch is wrong, because use "xy" would now match "x|y", too. This patch should work: --- modules/pam_time/pam_time.c 7 Dec 2007 15:40:02 -0000 1.16 +++ modules/pam_time/pam_time.c 24 Nov 2008 16:03:06 -0000 @@ -345,6 +345,7 @@ { int i; const char *a; + int length = len; a = A; for (i=0; len > 0; ++i, --len) { @@ -359,7 +360,8 @@ /* Ok, we know that b is a substring from A and does not contain wildcards, but now the length of both strings must be the same, too. */ - if (strlen (a) != strlen(b)) + /* b can contain "|", only use length until first "|" */ + if (strlen (a) != (size_t)length) return FALSE; return ( !len ); -- Thorsten Kukuk, Project Manager/Release Manager SLES SUSE LINUX Products GmbH, Maxfeldstr. 5, D-90409 Nuernberg GF: Markus Rex, HRB 16746 (AG Nuernberg) _______________________________________________ Pam-list mailing list Pam-list@xxxxxxxxxx https://www.redhat.com/mailman/listinfo/pam-list