rust/src/libstd/sys/windows
Corey Farwell 6a4c906f7a Rollup merge of #38921 - chris-morgan:windows-unprivileged-symlink-creation, r=alexcrichton
Support unprivileged symlink creation in Windows

Symlink creation on Windows has in the past basically required admin; it’s being opened up a bit in the Creators Update, so that at least people who have put their computers into Developer Mode will be able to create symlinks without special privileges. (It’s unclear from what Microsoft has said whether Developer Mode will be required in the final Creators Update release, but sadly I expect it still will be, so this *still* won’t be as helpful as I’d like.)

Because of compatibility concerns, they’ve hidden this new functionality behind a new flag in the CreateSymbolicLink dwFlags: `SYMBOLIC_LINK_FLAG_ALLOW_UNPRIVILEGED_CREATE`. So we add this flag in order to join the party.

Sources:

- https://blogs.windows.com/buildingapps/2016/12/02/symlinks-windows-10/ is the official announcement (search for CreateSymbolicLink)

- https://news.ycombinator.com/item?id=13096354 on why the new flag.
2017-02-05 09:14:36 -05:00
..
ext std: Stabilize APIs for the 1.16.0 release 2017-01-25 16:43:01 -08:00
printing try! -> ? 2016-03-22 22:01:37 -05:00
args.rs Move platform-specific arg handling to sys::args 2016-10-02 14:52:30 -07:00
backtrace.rs Attempt at fixing dead code lints 2017-01-27 11:33:24 +02:00
backtrace_gnu.rs Use libc::c_char instead of i8 due to platforms with unsigned char 2017-01-28 01:01:16 +02:00
c.rs Rollup merge of #38921 - chris-morgan:windows-unprivileged-symlink-creation, r=alexcrichton 2017-02-05 09:14:36 -05:00
compat.rs Use #[prelude_import] in libstd. 2016-08-24 22:12:48 +00:00
condvar.rs Use monotonic time with condition variables. 2016-07-31 12:47:52 +02:00
dynamic_lib.rs Use #[prelude_import] in libstd. 2016-08-24 22:12:48 +00:00
env.rs std: Move platform specific env code into sys 2016-10-01 19:32:59 +00:00
fs.rs Support unprivileged symlink creation in Windows 2017-01-09 08:15:04 +05:30
handle.rs std: Clamp max read/write sizes on Unix 2016-12-26 15:08:53 -08:00
memchr.rs std: Move platform specific memchr code into sys 2016-10-01 19:33:02 +00:00
mod.rs Attempt at fixing dead code lints 2017-01-27 11:33:24 +02:00
mutex.rs Use #[prelude_import] in libstd. 2016-08-24 22:12:48 +00:00
net.rs Use #[prelude_import] in libstd. 2016-08-24 22:12:48 +00:00
os.rs Move platform-specific arg handling to sys::args 2016-10-02 14:52:30 -07:00
os_str.rs Use #[prelude_import] in libstd. 2016-08-24 22:12:48 +00:00
path.rs std: Move platform specific path code into sys 2016-10-01 19:28:17 +00:00
pipe.rs std: Don't pass overlapped handles to processes 2017-01-04 15:37:12 -08:00
process.rs Auto merge of #38866 - alexcrichton:try-wait, r=aturon 2017-01-09 07:01:10 +00:00
rand.rs rand: Fix filling buffers 4 GiB or larger with OsRng::fill_bytes on Windows 2016-02-25 01:35:41 +00:00
rwlock.rs Register new snapshots 2015-08-11 15:11:13 -07:00
stack_overflow.rs Fix warnings during tests 2016-01-26 09:29:28 -08:00
stdio.rs Auto merge of #38274 - elahn:windows-readconsole-ctrl-z, r=alexcrichton 2016-12-26 23:33:21 +00:00
thread.rs Use #[prelude_import] in libstd. 2016-08-24 22:12:48 +00:00
thread_local.rs Reword 'stupid' and 'crazy' in docs. 2017-01-02 16:29:19 -05:00
time.rs std: Expose SystemTime accessors on fs::Metadata 2016-02-04 13:15:28 -08:00