]> andersk Git - openssh.git/commitdiff
- (djm) [openbsd-compat/bsd-cygwin_util.c] Recent versions of Cygwin allow
authordjm <djm>
Sun, 18 Apr 2004 11:15:43 +0000 (11:15 +0000)
committerdjm <djm>
Sun, 18 Apr 2004 11:15:43 +0000 (11:15 +0000)
   change of user context without a password, so relax auth method
   restrictions; from vinschen AT redhat.com; ok dtucker@

ChangeLog
openbsd-compat/bsd-cygwin_util.c

index 33b7046d841704eedbd30b631d18b460e849dec1..065c3cc37b31aecf32cf47922fab6f43cafcc29c 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,6 +1,9 @@
 20040418
  - (dtucker) [auth-pam.c] Log username and source host for failed PAM
    authentication attempts.  With & ok djm@
+ - (djm) [openbsd-compat/bsd-cygwin_util.c] Recent versions of Cygwin allow
+   change of user context without a password, so relax auth method 
+   restrictions; from vinschen AT redhat.com; ok dtucker@
 
 20040416
  - (dtucker) [regress/sftp-cmds.sh] Skip quoting test on Cygwin, since
index bbb0388f2834702ae2f75508eaa698e20e855d99..238a866ff251982d7df7ed2e53bc0be550ce5ef1 100644 (file)
@@ -77,6 +77,7 @@ binary_pipe(int fd[2])
 
 #define HAS_CREATE_TOKEN 1
 #define HAS_NTSEC_BY_DEFAULT 2
+#define HAS_CREATE_TOKEN_WO_NTSEC 3
 
 static int 
 has_capability(int what)
@@ -84,6 +85,7 @@ has_capability(int what)
        static int inited;
        static int has_create_token;
        static int has_ntsec_by_default;
+       static int has_create_token_wo_ntsec;
 
        /* 
         * has_capability() basically calls uname() and checks if
@@ -113,6 +115,9 @@ has_capability(int what)
                                has_create_token = 1;
                        if (api_major_version > 0 || api_minor_version >= 56)
                                has_ntsec_by_default = 1;
+                       if (major_high > 1 ||
+                           (major_high == 1 && major_low >= 5))
+                               has_create_token_wo_ntsec = 1;
                        inited = 1;
                }
        }
@@ -121,6 +126,8 @@ has_capability(int what)
                return (has_create_token);
        case HAS_NTSEC_BY_DEFAULT:
                return (has_ntsec_by_default);
+       case HAS_CREATE_TOKEN_WO_NTSEC:
+               return (has_create_token_wo_ntsec);
        }
        return (0);
 }
@@ -151,7 +158,8 @@ check_nt_auth(int pwd_authenticated, struct passwd *pw)
                        if (has_capability(HAS_CREATE_TOKEN) &&
                            (ntsec_on(cygwin) ||
                            (has_capability(HAS_NTSEC_BY_DEFAULT) &&
-                           !ntsec_off(cygwin))))
+                            !ntsec_off(cygwin)) ||
+                            has_capability(HAS_CREATE_TOKEN_WO_NTSEC)))
                                has_create_token = 1;
                }
                if (has_create_token < 1 &&
This page took 0.083618 seconds and 5 git commands to generate.