Martin Vogel
aacf96a20e
fix(install): stop naming TLS 1.3 where schannel cannot negotiate it
...
install.ps1 set its protocol bitmask to Tls12 -bor Tls13 unconditionally.
Windows 10's schannel has no TLS 1.3 -- it arrives with Windows 11 and Server
2022 (build 20348) -- but .NET Framework 4.8 still DEFINES the enum value, so
the assignment succeeds and nothing warns. The first HTTPS request then dies
with "The request was aborted: Could not create SSL/TLS secure channel",
because an unsupported flag in this bitmask is a hard failure rather than a
downgrade. Every Windows 10 user was blocked before a single byte downloaded,
on the documented `irm ... | iex` path, with an error that points at the
network rather than at the installer.
Compute the set instead: start at Tls12 and add Tls13 only on build 20348+.
The enum-name probe alongside the build gate keeps the script parsing on .NET
Framework 4.7, where the member does not exist at all.
Verified on the Windows VM (build 26200) with the shipped parser: PARSE_OK,
pure ASCII preserved, the guard computes and assigns "Tls12, Tls13" there,
forcing build 19045 through the same expression yields "Tls12" alone, and an
HTTPS HEAD to github.com under the assigned set returns 200.
The contract test fails on the previous installer with all four assertions --
unconditional bit, missing build gate, missing enum probe, literal bitmask --
and passes with this change.
Reported with a full ProcMon trace and a decoded SID by zaferavci1.
Refs #1856
Signed-off-by: Martin Vogel <martin.vogel.tech@gmail.com >
2026-09-12 16:21:30 +02:00
..
2026-09-07 00:32:02 +02:00
2026-09-05 19:05:08 +02:00
2026-09-05 06:05:27 +02:00
2026-06-05 21:53:25 +02:00
2026-09-05 06:05:08 +02:00
2026-07-13 01:50:03 +02:00
2026-03-15 22:37:34 +01:00
2026-08-11 13:37:32 +02:00
2026-09-04 21:45:24 +07:00
2026-09-04 21:45:24 +07:00
2026-05-30 18:26:44 +02:00
2026-09-07 23:17:50 -06:00
2026-06-29 09:45:28 -06:00
2026-07-22 17:48:20 +02:00
2026-09-01 18:43:37 +02:00
2026-07-18 15:52:50 +02:00
2026-09-12 04:19:56 +02:00
2026-08-28 20:04:21 +02:00
2026-09-11 23:26:33 +02:00
2026-09-08 02:04:51 +02:00
2026-09-08 02:04:51 +02:00
2026-09-08 19:55:13 +02:00
2026-08-06 08:24:23 -04:00
2026-08-04 16:37:06 +02:00
2026-06-06 22:16:04 +02:00
2026-08-15 08:44:20 +02:00
2026-08-14 06:46:05 -04:00
2026-07-18 15:52:50 +02:00
2026-09-06 18:54:43 -04:00
2026-09-08 01:55:01 +02:00
2026-09-08 23:45:24 +02:00
2026-08-27 20:32:19 +02:00
2026-09-12 03:59:26 +02:00
2026-08-09 13:06:42 +02:00
2026-07-18 11:48:59 +02:00
2026-09-11 20:56:43 +02:00
2026-08-11 13:37:32 +02:00
2026-07-18 01:26:08 +02:00
2026-09-06 16:23:45 +02:00
2026-08-13 14:04:51 +02:00
2026-09-05 06:05:08 +02:00
2026-09-08 00:03:26 +02:00
2026-06-23 06:38:45 +09:00
2026-08-27 10:15:09 +02:00
2026-03-25 09:28:11 +01:00
2026-08-31 17:51:21 +03:00
2026-09-03 16:24:29 -04:00
2026-09-11 21:40:54 +02:00
2026-06-07 12:35:53 +02:00
2026-08-18 15:56:41 +08:00
2026-09-05 19:15:01 +02:00
2026-08-28 12:22:23 +03:00
2026-06-05 21:53:25 +02:00
2026-07-02 00:37:52 +02:00
2026-08-06 03:30:32 +02:00
2026-09-01 15:51:50 +08:00
2026-08-26 22:51:29 +02:00
2026-09-03 16:24:29 -04:00
2026-06-07 19:13:01 +02:00
2026-06-07 19:13:01 +02:00
2026-06-07 19:13:01 +02:00
2026-06-27 16:23:26 +02:00
2026-06-07 20:05:24 +02:00
2026-06-07 20:05:24 +02:00
2026-08-20 00:12:28 +02:00
2026-08-28 21:30:06 +02:00
2026-09-01 19:35:12 -04:00
2026-05-21 22:52:16 +02:00
2026-07-24 16:08:42 +02:00
2026-08-17 22:07:11 +03:00
2026-09-05 06:05:08 +02:00
2026-08-28 20:56:33 +02:00
2026-09-08 01:42:50 +02:00
2026-08-25 11:57:49 +03:00
2026-09-05 16:24:08 -04:00
2026-09-05 06:05:08 +02:00
2026-08-31 20:14:01 +02:00
2026-07-18 13:48:06 +02:00
2026-06-02 18:52:37 +02:00
2026-07-18 15:52:50 +02:00
2026-07-18 15:52:50 +02:00
2026-08-29 11:26:00 +02:00
2026-08-28 21:30:06 +02:00
2026-09-06 17:41:47 +02:00
2026-09-04 15:42:15 +02:00
2026-09-05 07:59:14 +02:00
2026-08-29 17:30:00 +02:00
2026-03-15 22:37:34 +01:00
2026-09-05 06:05:08 +02:00
2026-07-18 01:26:08 +02:00
2026-06-08 22:55:23 +02:00
2026-07-18 15:52:50 +02:00
2026-09-11 22:44:19 +02:00
2026-09-04 22:02:47 +02:00
2026-08-11 17:01:24 +02:00
2026-09-03 08:14:16 +02:00
2026-06-12 02:17:39 +02:00
2026-08-20 21:20:44 +02:00
2026-09-05 21:11:48 +02:00
2026-09-01 15:52:15 +08:00
2026-09-06 13:12:20 +08:00
2026-09-06 23:57:52 -04:00
2026-07-03 19:57:01 +02:00
2026-07-18 15:52:50 +02:00
2026-07-18 15:52:50 +02:00
2026-09-11 23:26:38 +02:00
2026-09-08 00:33:36 -06:00
2026-07-18 01:26:08 +02:00
2026-07-18 01:26:08 +02:00
2026-08-10 16:40:31 +02:00
2026-08-11 05:30:17 +02:00
2026-05-09 14:16:15 +02:00
2026-07-18 15:52:50 +02:00
2026-09-03 09:39:46 +02:00
2026-08-11 17:01:24 +02:00
2026-09-04 22:02:47 +02:00
2026-08-18 22:30:28 +02:00
2026-06-23 13:52:08 -03:00
2026-08-17 22:07:11 +03:00
2026-07-18 15:52:50 +02:00
2026-07-18 15:52:50 +02:00
2026-08-03 15:42:32 +02:00
2026-08-17 22:07:11 +03:00
2026-08-12 20:57:43 +02:00
2026-08-08 17:35:05 +02:00
2026-07-18 01:26:08 +02:00
2026-08-18 11:21:36 +02:00
2026-08-06 18:33:13 +02:00
2026-06-28 21:57:35 -06:00
2026-09-08 22:08:39 +02:00
2026-07-25 00:37:05 +02:00
2026-08-07 14:58:22 +02:00
2026-07-13 11:43:00 +03:00
2026-08-10 12:57:34 +01:00
2026-08-29 17:44:43 +02:00
2026-03-20 20:32:38 +01:00
2026-08-01 01:29:20 +02:00
2026-07-03 20:16:39 +02:00
2026-08-30 16:46:06 +02:00
2026-09-05 06:05:08 +02:00
2026-08-29 01:04:35 +02:00
2026-03-24 23:48:23 +01:00
2026-06-24 20:33:52 +05:30
2026-09-02 19:12:10 +02:00
2026-09-02 21:55:30 -04:00
2026-08-17 00:16:16 +02:00
2026-06-10 12:11:02 +02:00
2026-07-21 15:32:15 +02:00
2026-08-09 13:06:42 +02:00
2026-04-06 14:34:07 +02:00
2026-08-08 17:35:05 +02:00
2026-08-28 16:41:38 +02:00
2026-09-04 09:41:30 +02:00
2026-08-29 11:05:46 +02:00
2026-08-08 17:35:05 +02:00
2026-06-05 21:53:25 +02:00
2026-08-14 00:21:31 +02:00
2026-08-14 04:40:07 +02:00
2026-08-14 12:48:40 +02:00
2026-08-24 07:25:34 +09:00
2026-09-08 00:11:39 +02:00
2026-09-12 16:21:30 +02:00
2026-08-17 22:07:11 +03:00
2026-06-06 19:48:48 +02:00
2026-08-17 22:07:11 +03:00
2026-08-27 04:40:26 +02:00
2026-03-24 23:48:23 +01:00
2026-04-15 23:56:03 +02:00