]> andersk Git - gssapi-openssh.git/blobdiff - openssh/openbsd-compat/bsd-cygwin_util.c
OPENSSH_3_8_1P1_GSSAPI_20040629 merged to gpt-branch
[gssapi-openssh.git] / openssh / openbsd-compat / bsd-cygwin_util.c
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.03184 seconds and 4 git commands to generate.