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 505456 - [mmssrc] no support for socks proxies
[mmssrc] no support for socks proxies
Status: RESOLVED OBSOLETE
Product: GStreamer
Classification: Platform
Component: gst-plugins-bad
git master
Other Linux
: Normal enhancement
: git master
Assigned To: GStreamer Maintainers
GStreamer Maintainers
: 395425 611703 (view as bug list)
Depends on:
Blocks: 395429
 
 
Reported: 2007-12-24 17:11 UTC by Bastien Nocera
Modified: 2018-11-03 13:03 UTC
See Also:
GNOME target: ---
GNOME version: ---



Description Bastien Nocera 2007-12-24 17:11:29 UTC
mmssrc (and libmms) don't seem to support socks proxies.

(my pretty bad) reproducer:
1. Setup a socks proxy on a remote machine (I'm in France on holidays, ssh'ing to a UK-based machine):
ssh -N -f -D 8080 myhomemachine.org.uk
2. Setup the proxy (socks in gnome-network-preferences, set to "localhost:8080")
3. Use epiphany to access http://www.ip-adress.com/
4. Yay, based in the UK (going to the BBC iPlayer page works)
5. Try to use a Windows Media stream on the BBC website that would be restricted to the UK: no workie, because libmms/mmssrc doesn't have socks5 proxy support.

The socks proxy settings are recorded in GConf under /system/proxy/socks_host and /system/proxy/socks_port

Right now, I'm using tsocks, and LD_PRELOAD tricks:
http://tsocks.sourceforge.net/

(See also bug 505452)
Comment 1 Hans de Goede 2007-12-24 19:04:41 UTC
Indeed it would be nice to have socks proxy support in libmms (and then through libmms in mmssrc). However I do not feel like reinventing the wheel, do you know any LGPL socks4/5 code? I've found a few opensource socks5 client implementations, but nothing LGPL.
Comment 2 Tim-Philipp Müller 2007-12-24 23:40:27 UTC
> Indeed it would be nice to have socks proxy support in libmms (and then through
> libmms in mmssrc). However I do not feel like reinventing the wheel, do you
> know any LGPL socks4/5 code? I've found a few opensource socks5 client
> implementations, but nothing LGPL.

GNet has some basic code for sock4/5 that is LGPL, but I haven't tested it myself (certainly not socks5).  FWIW, I'm also in the process of writing a GNet-based mmssrc that will be able to make use of that automatically.
Comment 3 Hans de Goede 2007-12-25 09:56:37 UTC
Tim,

Any special reason to rewrite mmssrc using gnet? I know libmms's code isn't the cleanest ever, but it works well. I also know upstream wasn't very alive, but thats changed now they (I mostly) just released 0.4 .

Note that libmms already uses gnet for url parsing, so I guess I could try using gnet for socks support too. But before investing time in this I would first like to know what the future of mmssrc is.

Or will you be using both gnet and libmms, using gnet to make an mmsio implementation?
Comment 4 Tim-Philipp Müller 2007-12-25 13:21:13 UTC
> Any special reason to rewrite mmssrc using gnet? I know libmms's code isn't
> the cleanest ever, but it works well. I also know upstream wasn't very 
> alive, but thats changed now they (I mostly) just released 0.4 .

I wanted an mmssrc with completely async networking code that works on both *nix and win32. When I started it, libmms was still unmaintained, but also I didn't really see the point of having/using an external libmms any more in the first place seeing that GStreamer is more or less the only project using it (back then the idea was to have a common external lib to share between the different player projects, I guess, but that didn't really seem to work out). Also, overall it just doesn't do a lot, ie. the core code is not a lot of lines or even particularly complicated, so having an external lib for the mms stuff doesn't seem to make that much sense to me.

> Note that libmms already uses gnet for url parsing, so I guess I could try
> using gnet for socks support too. But before investing time in this I would
> first like to know what the future of mmssrc is.

This gnetmmssrc thing is just something I started hacking on one day. It's vapourware for all practical purposes, I probably shouldn't have mentioned it at all. No one within the GStreamer project has made any decision that we need or even want something like this.

> Or will you be using both gnet and libmms, using gnet to make an mmsio
> implementation?

I will just be using GNet for now (ie. until a portable network abstraction layer is added to either GLib or GStreamer).
Comment 5 Bastien Nocera 2008-03-26 19:19:21 UTC
libmms (or mmssrc) could also use libproxy (http://code.google.com/p/libproxy/) to determine which proxy server it should use, or whether any is configured.
Comment 6 Marc Maurer 2008-12-26 11:50:37 UTC
FYI: I just happen to hack on a simple SOCKS4/SOCKS5 library for abicollab. It's written in C++, but I'm adding a C API as we speak.

It currently supports SOCKS4 and SOCKS5 with no authentication or username/password authentication.

It's BSD licensed.
Comment 7 Marc Maurer 2008-12-26 11:54:41 UTC
Oh, forgot to add, the code is here:

  http://svn.abisource.com/libshoes/trunk/

Note: it has compiletime dependencies on asio (asio.sf.net) and boost, but it has "0" runtime depencies.
Comment 8 Edward Hervey 2009-04-21 14:26:02 UTC
*** Bug 395425 has been marked as a duplicate of this bug. ***
Comment 9 Bastien Nocera 2010-03-03 15:34:13 UTC
*** Bug 611703 has been marked as a duplicate of this bug. ***
Comment 10 Edward Hervey 2013-08-13 18:40:50 UTC
Since we're in 2013 (6 years after this bug was opened), shouldn't this kind of issue be handled system-wide (with vpn, networkmanager, ...) ?
Comment 11 Bastien Nocera 2013-08-23 21:48:34 UTC
We have proxy *settings* for socks in GNOME, but there's still no support for socks5 proxies in mmssrc itself. I guess this will go away when mms does as well.
Comment 12 GStreamer system administrator 2018-11-03 13:03:11 UTC
-- GitLab Migration Automatic Message --

This bug has been migrated to freedesktop.org'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: https://gitlab.freedesktop.org/gstreamer/gst-plugins-bad/issues/3.