All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH 0/7] Improve PAC URL Mutation and PAC URL Logging
@ 2025-03-04 21:02 Grant Erickson
  2025-03-04 21:02 ` [PATCH 1/7] service: Leverage 'service_set_pac' function Grant Erickson
                   ` (7 more replies)
  0 siblings, 8 replies; 9+ messages in thread
From: Grant Erickson @ 2025-03-04 21:02 UTC (permalink / raw)
  To: connman

There appear to be a population of premises ISP equipment (some
possibly correlated with Spectrum Communications in Southern
California, United States) in which the ISP equipment sporadically and
incorrectly emits DHCP Option 252 ("Web Proxy Auto-Discovery (WPAD)")
with an invalid proxy auto-configuration (PAC) URL (such as
'http://wpad.lan/wpad.dat'), even when neither the customer nor the
ISP has such an option actively configured on the equipment.

This URL, per the WPAD specification, leads the Connection Manager to
believe that it must use a proxy to reach HTTP- or HTTPS-based
resources, including those specified for WISPr online reachability
checks. Because neither the PAC file ('wpad.dat' in the example above)
nor the host ('wpad.lan' in the example above) associated with the PAC
URL exist, those online reachability checks unconditionally fail
despite such resources being directly reachable, without an
intervening proxy.

Because:

  * PAC configuration (or lack thereof) has not been historically
    logged
  * POSIX error codes are themselves limited (for example, there are
    no -ENOPROXY, -EBADPROXY, or -EPROXYLOOKUP codes)
  * POSIX error code usage for WISPr failures is similarly limited
    (for example, -EINVAL)

insight into the actual nature of an online reachability check failure
is, by extension, limited, particularly when proxy failures are
involved. Consequently, log messages generated from these changes
provide crucial insight into triaging and resolving such failures.

Finally, there have been three (3) call sites in the network service
code where the network service proxy auto-configuration (PAC) URL was
set. However, it was never (but now, with these changes, is) set in
'__connman_service_set_proxy_autoconfig', where it is invoked by the
DHCP client code when DHCP option 252 (Web Proxy Auto-Discovery
(WPAD)) is encountered.

Grant Erickson (7):
  service: Leverage 'service_set_pac' function.
  service: Add 'service_set_proxy_method' function.
  service: Refactor 'connman_service_set_proxy_method'.
  service: Refactor '__connman_service_set_proxy_autoconfig'.
  service: Document 'service_set_proxy_method'.
  service: Document 'service_set_proxy_method_auto_handler'.
  service: Document '__connman_service_set_proxy_autoconfig'.

 src/service.c | 201 +++++++++++++++++++++++++++++++++++++++-----------
 1 file changed, 157 insertions(+), 44 deletions(-)

-- 
2.45.0


^ permalink raw reply	[flat|nested] 9+ messages in thread

end of thread, other threads:[~2025-03-05 18:40 UTC | newest]

Thread overview: 9+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2025-03-04 21:02 [PATCH 0/7] Improve PAC URL Mutation and PAC URL Logging Grant Erickson
2025-03-04 21:02 ` [PATCH 1/7] service: Leverage 'service_set_pac' function Grant Erickson
2025-03-04 21:03 ` [PATCH 2/7] service: Add 'service_set_proxy_method' function Grant Erickson
2025-03-04 21:03 ` [PATCH 3/7] service: Refactor 'connman_service_set_proxy_method' Grant Erickson
2025-03-04 21:03 ` [PATCH 4/7] service: Refactor '__connman_service_set_proxy_autoconfig' Grant Erickson
2025-03-04 21:03 ` [PATCH 5/7] service: Document 'service_set_proxy_method' Grant Erickson
2025-03-04 21:03 ` [PATCH 6/7] service: Document 'service_set_proxy_method_auto_handler' Grant Erickson
2025-03-04 21:03 ` [PATCH 7/7] service: Document '__connman_service_set_proxy_autoconfig' Grant Erickson
2025-03-05 18:40 ` [PATCH 0/7] Improve PAC URL Mutation and PAC URL Logging patchwork-bot+connman

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.