]> granicus.if.org Git - linux-pam/commitdiff
Relevant BUGIDs: 1428276
authorThorsten Kukuk <kukuk@thkukuk.de>
Thu, 15 Jun 2006 19:47:18 +0000 (19:47 +0000)
committerThorsten Kukuk <kukuk@thkukuk.de>
Thu, 15 Jun 2006 19:47:18 +0000 (19:47 +0000)
Purpose of commit: bugfix

Commit summary:
---------------

2006-06-15  Thorsten Kukuk  <kukuk@thkukuk.de>

        * modules/pam_group/pam_group.c (logic_field): Accept
        colon in tty name. [#1428276].
        * modules/pam_time/pam_time.c (logic_field): Likewise.

ChangeLog
modules/pam_group/pam_group.c
modules/pam_time/pam_time.c

index 24f437c5db55faff93f6da8563f90e4f21f2f100..2283bddcd629617b6647c7ceb3dd4a7603dfc5df 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,9 @@
 2006-06-15  Thorsten Kukuk  <kukuk@thkukuk.de>
 
+       * modules/pam_group/pam_group.c (logic_field): Accept
+       colon in tty name. [#1428276].
+       * modules/pam_time/pam_time.c (logic_field): Likewise.
+
        * configure.in: Add special exceptions for icc: different
        compiler warnings, no PIE support.
 
index 28527e38e2b9baddca412f69a8440ac0ff0e5032..80edee5af35b79a5c0aaefb5717b463546db5d08 100644 (file)
@@ -280,7 +280,8 @@ logic_field (const pam_handle_t *pamh, const void *me,
          if (next == VAL) {
               if (c == '!')
                    not = !not;
-              else if (isalpha(c) || c == '*') {
+              else if (isalpha(c) || c == '*' || isdigit(c) || c == '_'
+                    || c == '-' || c == '.' || c == '/' || c == ':') {
                    right = not ^ agrees(pamh, me, x+at, l, rule);
                    if (oper == AND)
                         left &= right;
index b983ef174db9b93f8c41b5ef58cf98f7d845731d..a3e94eb19d5bf3c00fbf0f13b578d9f66acb2220 100644 (file)
@@ -273,7 +273,8 @@ logic_field(pam_handle_t *pamh, const void *me, const char *x, int rule,
          if (next == VAL) {
               if (c == '!')
                    not = !not;
-              else if (isalpha(c) || c == '*') {
+              else if (isalpha(c) || c == '*' || isdigit(c) || c == '_'
+                    || c == '-' || c == '.' || c == '/' || c == ':') {
                    right = not ^ agrees(pamh, me, x+at, l, rule);
                    if (oper == AND)
                         left &= right;