cygwin: wincap: handle W10 1703

Add has_unprivileged_createsymlink flag and set to true on 1703 and
later.

Signed-off-by: Corinna Vinschen <corinna@vinschen.de>
This commit is contained in:
Corinna Vinschen 2017-04-24 17:14:03 +02:00
parent 63f19278b9
commit e7bcf4633e
2 changed files with 28 additions and 2 deletions

View File

@ -31,6 +31,7 @@ wincaps wincap_vista __attribute__((section (".cygwin_dll_common"), shared)) = {
has_broken_prefetchvm:false, has_broken_prefetchvm:false,
has_new_pebteb_region:false, has_new_pebteb_region:false,
has_broken_whoami:true, has_broken_whoami:true,
has_unprivileged_createsymlink:false,
}, },
}; };
@ -48,6 +49,7 @@ wincaps wincap_7 __attribute__((section (".cygwin_dll_common"), shared)) = {
has_broken_prefetchvm:false, has_broken_prefetchvm:false,
has_new_pebteb_region:false, has_new_pebteb_region:false,
has_broken_whoami:true, has_broken_whoami:true,
has_unprivileged_createsymlink:false,
}, },
}; };
@ -65,6 +67,7 @@ wincaps wincap_8 __attribute__((section (".cygwin_dll_common"), shared)) = {
has_broken_prefetchvm:false, has_broken_prefetchvm:false,
has_new_pebteb_region:false, has_new_pebteb_region:false,
has_broken_whoami:false, has_broken_whoami:false,
has_unprivileged_createsymlink:false,
}, },
}; };
@ -82,6 +85,7 @@ wincaps wincap_10 __attribute__((section (".cygwin_dll_common"), shared)) = {
has_broken_prefetchvm:true, has_broken_prefetchvm:true,
has_new_pebteb_region:false, has_new_pebteb_region:false,
has_broken_whoami:false, has_broken_whoami:false,
has_unprivileged_createsymlink:false,
}, },
}; };
@ -99,6 +103,25 @@ wincaps wincap_10_1511 __attribute__((section (".cygwin_dll_common"), shared)) =
has_broken_prefetchvm:false, has_broken_prefetchvm:false,
has_new_pebteb_region:true, has_new_pebteb_region:true,
has_broken_whoami:false, has_broken_whoami:false,
has_unprivileged_createsymlink:false,
},
};
wincaps wincap_10_1703 __attribute__((section (".cygwin_dll_common"), shared)) = {
def_guard_pages:2,
{
is_server:false,
needs_count_in_si_lpres2:false,
has_gaa_largeaddress_bug:false,
has_broken_alloc_console:true,
has_console_logon_sid:true,
has_precise_system_time:true,
has_microsoft_accounts:true,
has_processor_groups:true,
has_broken_prefetchvm:false,
has_new_pebteb_region:true,
has_broken_whoami:false,
has_unprivileged_createsymlink:true,
}, },
}; };
@ -144,9 +167,10 @@ wincapc::init ()
default: default:
if (version.dwBuildNumber < 10586) if (version.dwBuildNumber < 10586)
caps = &wincap_10; caps = &wincap_10;
else else if (version.dwBuildNumber < 15063)
caps = &wincap_10_1511; caps = &wincap_10_1511;
break; else
caps = &wincap_10_1703;
} }
((wincaps *)caps)->is_server = (version.wProductType != VER_NT_WORKSTATION); ((wincaps *)caps)->is_server = (version.wProductType != VER_NT_WORKSTATION);

View File

@ -26,6 +26,7 @@ struct wincaps
unsigned has_broken_prefetchvm : 1; unsigned has_broken_prefetchvm : 1;
unsigned has_new_pebteb_region : 1; unsigned has_new_pebteb_region : 1;
unsigned has_broken_whoami : 1; unsigned has_broken_whoami : 1;
unsigned has_unprivileged_createsymlink : 1;
}; };
}; };
@ -67,6 +68,7 @@ public:
bool IMPLEMENT (has_broken_prefetchvm) bool IMPLEMENT (has_broken_prefetchvm)
bool IMPLEMENT (has_new_pebteb_region) bool IMPLEMENT (has_new_pebteb_region)
bool IMPLEMENT (has_broken_whoami) bool IMPLEMENT (has_broken_whoami)
bool IMPLEMENT (has_unprivileged_createsymlink)
#undef IMPLEMENT #undef IMPLEMENT
}; };