liferea
liferea copied to clipboard
Proxy settings ignored when fetching feed icon/favicon
Hello,
I've noticed that Liferea appears to disregard my proxy configuration when fetching feed icons.
This came to my attention when I added a feed from a website that is blocked at the network level, but which is accessible via my proxy. Due to the filtering, this icon is displayed:
On opening the link to the icon in Liferea, I get the message "Error performing TLS handshake: An unexpected TLS packet was received." This is a result of the network filtering, and does not happen when I attempt to access the icon in any other program using the same proxy configuration.
Aside from the cosmetic issue, I think this bug has privacy implications, as requests are being leaked and would be visible to the user's ISP or another third party with access to network flow data.
Edit: The issue doesn't occur in version 1.14.6, but it does when compiling from the current Git version.
Edit 2: The earliest version I still have that's compiled against the Git repo is 1.15.6.r1.g918c7b8. This one still exhibits the bug, so the breaking change must have happened at some point between 1.14.6 and then.
The large difference between 1.14 and 1.15 is the switch from libsoup2 to libsoup3.
What I do not yet understand: is this about favicons display in the feed list or in the HTML pane when navigating to other websites?
It seems to be happening in the feed list, as well as in the header for each feed entry when the feed includes a logo element. By the header, I mean this area:
Opening the URL for the favicon or logo in a Liferea browser tab results in the handshake error.
Do you have external observation with WireShark, for example?
Reproduced.
This is really painful to admin: When switching to libsoup3 and libproxy the code did drop the manual proxy configuration. But the GUI did not.
So if you are using a manual proxy setting it simply does not work at all.
I'll remove the GUI part to address this.
@RecusantBias I suspect the old and long gone manual setting was the issue. I did a network trace how favicons are fetched when using a SOCKS proxy and all favicon requests go via the proxy. If you have the time please retest!
Solution will be released with 1.16-RC3
Apologies for not getting back with a trace of my own - I'd intended to do so but never got around to it.
But yes, it seems the manual setting was the problem. It's not an ideal solution, but I am able to launch Liferea with temporary http_proxy and https_proxy environmental variables, which proxies just Liferea's connections without affecting other programs in the desktop session.