All of lore.kernel.org
 help / color / mirror / Atom feed
From: Grant Erickson <gerickson@nuovations.com>
To: connman@lists.linux.dev
Subject: [PATCH 0/7] Improve PAC URL Mutation and PAC URL Logging
Date: Tue,  4 Mar 2025 13:02:58 -0800	[thread overview]
Message-ID: <cover.1741121901.git.gerickson@nuovations.com> (raw)

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


             reply	other threads:[~2025-03-04 21:03 UTC|newest]

Thread overview: 9+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2025-03-04 21:02 Grant Erickson [this message]
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

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=cover.1741121901.git.gerickson@nuovations.com \
    --to=gerickson@nuovations.com \
    --cc=connman@lists.linux.dev \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
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.