After an evaluation, GNOME has moved from Bugzilla to GitLab. Learn more about GitLab.
No new issues can be reported in GNOME Bugzilla anymore.
To report an issue in a GNOME project, go to GNOME GitLab.
Do not go to GNOME Gitlab for: Bluefish, Doxygen, GnuCash, GStreamer, java-gnome, LDTP, NetworkManager, Tomboy.
Bug 628746 - souphttpsrc: Don't do manual proxy configuration from environment variable but depend on libsoup doing the right thing
souphttpsrc: Don't do manual proxy configuration from environment variable bu...
Product: GStreamer
Classification: Platform
Component: gst-plugins-good
git master
Other Linux
: Normal minor
: git master
Assigned To: GStreamer Maintainers
GStreamer Maintainers
Depends on:
Reported: 2010-09-04 00:37 UTC by Justin Delegard
Modified: 2018-11-03 14:42 UTC
See Also:
GNOME target: ---
GNOME version: ---

Description Justin Delegard 2010-09-04 00:37:16 UTC
The gstreamer soup extension sets the proxy value from the environment, however in the event of a pac config, it sets an inappropriate value which results in a name resolution failure in libsoup when trying to use the badly-configured proxy value.

One of the effects of this is that rhythmbox cannot stream through a proxy.  It always whines about a proxy name resolution failure.

If you comment out every call to gst_soup_http_src_set_proxy inside gst-plugins-good/ext/soup/gstsouphttpsrc.c it streams correctly.  libsoup handles environment and configured proxies itself, so I think that attempting to set libsoup's proxy from the env in gstreamer is redundant.
Comment 1 Olivier Crête 2010-09-04 01:44:05 UTC
GLib HEAD has had proxy support merged. Hopefully we can use that in the future. Well, hopefully libsoup will use gio and will do it all for us.
Comment 2 Justin Delegard 2010-09-04 02:08:50 UTC
I probably should say I noticed and played with the above mentioned workaround in the latest Ubuntu source distributed versions of things.  Can anyone give an ETA for when the Ubuntu released version will be fixed? (whether through a workaround like mine, or the GLib proxy support changes)
Comment 3 Sebastian Dröge (slomo) 2010-09-04 07:04:16 UTC
libsoup only handles the proxy configuration by itself if you use libsoup-gnome IIRC. But yes, everything would be much better if it used libproxy or the GLib proxy support
Comment 4 Stefan Sauer (gstreamer, gtkdoc dev) 2010-12-01 16:08:12 UTC
The proxy can be specified on "proxy" property from the applications pov.

Still the code is a bit weird.

1.) the "proxy" property is by default ""
2.) _init() initializes it from getenv("http_proxy")
3.) in _set_properties() we forbid to pass NULL

The only way the app can avoid the use of the anv-var is to unset it early.

Regarding comment #1. libsoup is *not* handling the environment and configured proxies itself. For that one has to use libsoup-gnome, get a SoupProxyResolverGNOME and pass that to libsoup.
Comment 5 Sebastian Dröge (slomo) 2013-08-21 18:26:44 UTC
...and now it handles the proxy configuration via GIO extensions. Is there anything still to be done here?
Comment 6 Tim-Philipp Müller 2016-02-21 12:31:56 UTC
> ...and now it handles the proxy configuration via GIO extensions. Is there
> anything still to be done here?

Does that mean we should remove the getenv("http_proxy") stuff from souphttpsrc/sink then?
Comment 7 Nicolas Dufresne (ndufresne) 2016-02-22 21:11:41 UTC
Assuming we require new enough GLib, we should not have any code around env or dconf, or configuration file. We should double check that the GProxyResolver is being used, and that forcing a proxy through property properly avoid it.
Comment 8 GStreamer system administrator 2018-11-03 14:42:35 UTC
-- GitLab Migration Automatic Message --

This bug has been migrated to's GitLab instance and has been closed from further activity.

You can subscribe and participate further through the new bug through this link to our GitLab instance: