#[non_exhaustive]pub enum ImplicitBypass {
Broad,
WinInet,
CfNetwork,
Empty,
}Expand description
The destinations a resolver sends direct with no list entry naming them: the implicit
bypass set, held in BypassRules::implicit.
Each store’s own resolver has its own set, so a rule set read from a store carries that
store’s: an implicit bypass the resolver does not have is a destination this crate
reports direct while the machine sends it to the proxy. The WinInet and CfNetwork
columns are the machine’s answer, measured by handing the resolver a proxy and an
otherwise empty list and asking where each destination went; Empty is read off
GLib’s and KIO’s matchers, which consult the list and nothing else.
| Destination | Broad | WinInet | CfNetwork | Empty |
|---|---|---|---|---|
localhost (any case) | ✓ | ✓ | ✓ | |
loopback | ✓ | ✓ | ||
127.0.0.1, [::1] | ✓ | ✓ | ✓ | |
the rest of 127.0.0.0/8 | ✓ | |||
*.localhost, a trailing dot | ✓ | |||
169.254.0.0/16, [fe80::]/10 | ✓ | ✓ | ||
| an IPv4-mapped spelling of any of the above | ✓ |
HostPattern::SubtractImplicit (<-loopback>) subtracts whichever set is in force.
Variants (Non-exhaustive)§
This enum is marked as non-exhaustive
Broad
Chromium’s implicit rules (IsLocalhost, IPv4-mapped loopback, link-local) and
WinINet’s loopback name. The default, and what parse::no_proxy carries: the
environment variable has no single resolver to measure, and this is the widest set
any reader of it applies.
WinInet
WinINet’s, which parse::proxy_override and the
Windows store carry: the names localhost and loopback, the addresses
127.0.0.1 and ::1, and the link-local ranges. The same six Chromium records as
Windows’ own set.
CfNetwork
CFNetwork’s: the name localhost and the addresses 127.0.0.1 and ::1.
CFNetwork applies it only while the settings carry a bypass key, so the macOS and
iOS stores carry this set when the dictionary has an ExceptionsList array or
ExcludeSimpleHostnames switched on, and Empty otherwise,
ExcludeSimpleHostnames set to 0 included. A Mac configured through System Settings
always has the array.
Empty
No implicit bypass: every destination is decided by the entries. GNOME’s
GSimpleProxyResolver and KDE’s KIO have none.