Expose detected captive portal URL hostname(s)
In #1305 I have requested support for captive portal API. This is of course desirable. But even with legacy HTTP probe, it would be very useful to have such information available without sending own probes.
But common problem exists for users of DNS over TLS defined to custom servers. When that is in place, any captive portal network cannot pass, since my resolver does not resolve them. That is reported already at systemd issue #29869.
I do not think it is desirable to drop encrypted DoT even temporarily. Better way would be instructing DNS to redirect just the captive portal hostname to local DNS. But to do that, curl probe doing HTTP connectivity check needs to report, to which URL its probe were redirected. What is the hostname handling captive portal page, which must be directed to local DNS always? It should be made separate connection property. Ideally firing DBus event when first detected.
This is needed always when (global) DNS over TLS point to resolvers on the internet. Be it dns.google or dns9.quad9.net, the problem is common for any resolver and any DNS protocol. Even if unencrypted queries are always directed fixed public address.
If the probe met more than one HTTP redirects, it may need to expose all such names or urls seen. One should be enough for most of networks.