Seeking maintainer resources: SOCKS5 support in libwebrtc

792 views
Skip to first unread message

Harald Alvestrand

unread,
Dec 19, 2023, 10:49:01 AM12/19/23
to discuss...@googlegroups.com
It's come to our attention that there's parts of the SOCKS5 support in WebRTC that are not covered by tests.
This means that if refactorings introduce bugs in those parts of the code, the bugs will not be detected. Since Google and Chromium don't use the SOCKS5 code, they won't be detected in those places either.

Is there anyone among libwebrtc's downstream users that are a) actively using libwebrtc's SOCKS5 code, and b) willing to help with writing tests that cover the code that currently isn't covered?

If no such volunteer exists, we're likely to decide to delete the code entirely.


Harald

Harald Alvestrand

unread,
Feb 1, 2024, 9:45:06 AM2/1/24
to discuss-webrtc
This code has now been deleted.

Tommi

unread,
Mar 8, 2024, 2:19:50 PM3/8/24
to discuss-webrtc
Following up on the removal of SOCKS5, the code associated with the PROXY_HTTPS flag in ProxyInfo - as well as the ProxyInfo class itself and dependent classes, will be removed in a few weeks time.

The code hasn't been maintained for many years, and was briefly removed in 2018 but then allowed to stick around for "a bit" longer behind this deprecation notice in the PortAllocator class:

// These three methods are deprecated. If connections need to go through a
// proxy, the application should create a BasicPortAllocator given a custom
// PacketSocketFactory that creates proxy sockets.
const std::string& user_agent() const {
...
const rtc::ProxyInfo& proxy() const {
...
void set_proxy(absl::string_view agent, const rtc::ProxyInfo& proxy) {

Removing this code will help with development speed and reduce regression risk with refactoring due to having to take into account corner cases related to it.

Cheers,
Tommi

Matthieu Finiasz

unread,
May 21, 2024, 4:04:33 AM5/21/24
to discuss-webrtc
Hello Tommi, sorry for coming back to this so late, but we were actually using this HTTPS_PROXY code to allow our Android application to use WebRTC through a proxy. This code allowed us to have a minimalist wrapper around the BasicPacketSocketFactory that handled a proxy configured in Android. What do you think would be the easiest solution for us to reintroduce this proxy support without reverting the changes in your commit?
Reply all
Reply to author
Forward
0 new messages