in general, it's preferable to do a capability test via an OS API rather than simply gate on Windows version. Does the new API that Microsoft added (and backported) provide a way for the OS to signal that this better/working API is available?
Will On Thu, Jun 19, 2025 at 11:15 AM Ari Chivukula <aric...@chromium.org> wrote: > That's probably possible, though hopefully they have installed system > updates in the past year. We could just target 2022H2 and later if needed. > > ~ Ari Chivukula (Their/There/They're) > > > On Thu, Jun 19, 2025 at 10:54 AM Jeremy Roman <jbro...@chromium.org> > wrote: > >> >> >> On Thu, Jun 19, 2025 at 12:10 AM Domenic Denicola <dome...@chromium.org> >> wrote: >> >>> I believe this should be completely unobservable to web authors, right? >>> (Apart from maybe fewer or more network errors.) >>> >>> If so, I don't think this needs any LGTMs, as it fits well under the >>> Web-developer-facing >>> change to existing behavior >>> <https://www.chromium.org/blink/launching-features/#behavior-changes> >>> category. >>> (Which is... confusingly named >>> <https://github.com/GoogleChrome/chromium-dashboard/issues/5145>.) But, >>> in case it helps, LGTM1. >>> >>> On Thursday, June 19, 2025 at 12:12:34 AM UTC+9 Ari Chivukula wrote: >>> >>>> Contact emails >>>> >>>> aric...@chromium.org, awil...@chromium.org, miketa...@chromium.org >>>> Explainer >>>> >>>> None >>>> Specification >>>> >>>> None >>>> >>>> Summary >>>> >>>> This launch enables TCP port randomization on versions of Windows (2020 >>>> H1 or later) where we do not expect to see issues with re-use of prior >>>> ports occurring too fast (causing rejection due to timeouts on port >>>> re-use). The rapid port re-use issue arises from the Birthday problem >>>> <https://en.wikipedia.org/wiki/Birthday_problem>, where the >>>> probability of randomly re-picking a port already seen rapidly converges >>>> with 100% for each new port chosen when compared to port re-use in a >>>> sequential model. >>>> >>>> >>>> Blink component >>>> >>>> Blink>Network >>>> <https://issues.chromium.org/issues?q=customfield1222907:%22Blink%3ENetwork%22> >>>> >>>> TAG review >>>> >>>> None >>>> >>>> TAG review status >>>> >>>> Not applicable >>>> >>>> >>>> Motivation >>>> >>>> When port randomization is disabled (the default), sites are able to >>>> count the amount of connections opened by other tabs if they check the TCP >>>> port used for new connections before and after opening another window. This >>>> knowledge can be used to glean information about other sites like whether >>>> they are logged in or not. >>>> >>>> Risks >>>> >>>> Interoperability and Compatibility >>>> >>>> This launch only impacts Windows, and should not cause compatibility >>>> issues as Microsoft backported their port randomization fix >>>> <https://chromium-review.googlesource.com/c/chromium/src/+/5464674> to >>>> Windows 10, 2020 H1 and tested it in Edge. >>>> >>> >> Is it possible that we have users on versions >= 2020H1, < 2022H2 but who >> have not received the backported fix (e.g., because they have not installed >> the applicable update)? Would they encounter brokenness in Chrome? >> >> >>>> Chrome previously attempted to roll this out in 2021 but ran into >>>> (since resolved) issues where rapid port re-use caused network errors. >>>> >>>> Rollout on linux isn’t needed as port randomization is enabled by >>>> default while on macOS an issue similar to the one on Windows with rapid >>>> port re-use causing issues is still around. >>>> >>>> Gecko: Appears to inherit OS defaults >>>> <https://github.com/search?q=repo%3Amozilla-firefox%2Ffirefox+setsockopt&type=code&p=1> >>>> >>>> WebKit: Appears to inherit OS defaults >>>> <https://github.com/search?q=repo%3AWebKit%2FWebKit+setsockopt&type=code> >>>> >>>> Web developers: N/A >>>> >>>> Debuggability >>>> >>>> This will be gated behind the base::feature kTcpPortRandomizationWin, >>>> so if breakage is suspected that flag could be turned off to detect impact. >>>> For how to control feature flags, see this >>>> <https://source.chromium.org/chromium/chromium/src/+/main:base/feature_list.h;drc=159a65729cf8fca4d9f453d12d97ab6515360491;l=259> >>>> . >>>> >>>> Measurement >>>> >>>> The histogram Net.TCPSocket.PortReuseTimeWindows2.{IPType}.{Result} >>>> will be used to gauge whether port re-use timings fall too low, while >>>> Net.TcpConnectAttempt.Latency.{Result} will be used to detect increases in >>>> overall connection failure rates. >>>> >>>> Will this feature be supported on all six Blink platforms (Windows, >>>> Mac, Linux, ChromeOS, Android, and Android WebView)? >>>> >>>> No, just Windows >>>> >>>> Is this feature fully tested by web-platform-tests? >>>> >>>> No, as this is a blink networking focused change browser tests or unit >>>> tests are more likely. >>>> >>>> Flag name on about://flags >>>> >>>> None >>>> >>>> Finch feature name >>>> >>>> kTcpPortRandomizationWin >>>> >>>> Rollout plan >>>> >>>> This will be rolled out slowly to detect issues early and either change >>>> the version target or roll back. We don’t believe an experiment is needed >>>> or desired as the issues we saw before were not very prevalent, we likely >>>> need to go beyond 1% to get enough data on Windows to know if there’s still >>>> a problem. >>>> >>>> Requires code in //chrome? >>>> >>>> No >>>> >>>> Tracking bug >>>> >>>> https://crbug.com/40744069 >>>> >>>> Estimated milestones >>>> >>>> 139 >>>> >>>> Link to entry on the Chrome Platform Status >>>> >>>> https://chromestatus.com/feature/5106900286570496 >>>> >>>> -- >>> You received this message because you are subscribed to the Google >>> Groups "blink-dev" group. >>> To unsubscribe from this group and stop receiving emails from it, send >>> an email to blink-dev+unsubscr...@chromium.org. >>> To view this discussion visit >>> https://groups.google.com/a/chromium.org/d/msgid/blink-dev/5ac125fa-3adf-4193-a1ff-1bf28f2f6020n%40chromium.org >>> <https://groups.google.com/a/chromium.org/d/msgid/blink-dev/5ac125fa-3adf-4193-a1ff-1bf28f2f6020n%40chromium.org?utm_medium=email&utm_source=footer> >>> . >>> >> -- > You received this message because you are subscribed to the Google Groups > "blink-dev" group. > To unsubscribe from this group and stop receiving emails from it, send an > email to blink-dev+unsubscr...@chromium.org. > To view this discussion visit > https://groups.google.com/a/chromium.org/d/msgid/blink-dev/CAGpy5DJXMP6tCc8KFK_sC07jAbxuX7e%3Dz2sBS-L%2BPU790vafdg%40mail.gmail.com > <https://groups.google.com/a/chromium.org/d/msgid/blink-dev/CAGpy5DJXMP6tCc8KFK_sC07jAbxuX7e%3Dz2sBS-L%2BPU790vafdg%40mail.gmail.com?utm_medium=email&utm_source=footer> > . > -- You received this message because you are subscribed to the Google Groups "blink-dev" group. To unsubscribe from this group and stop receiving emails from it, send an email to blink-dev+unsubscr...@chromium.org. To view this discussion visit https://groups.google.com/a/chromium.org/d/msgid/blink-dev/CA%2BFVm4uQ2DCLVZ9QupxwaWkuux0RKwnUO0ckFbNzK%3DiD0FBvLA%40mail.gmail.com.