secondlife / viewer

šŸ–„ļø Second Life's official client
GNU Lesser General Public License v2.1
206 stars 53 forks source link

[SL-2797] SOCKS5 support on Windows 8 and 10 is broken #1188

Open AtlasLinden opened 5 months ago

AtlasLinden commented 5 months ago

From jira-archive-internal created by sl-service-account: secondlife/jira-archive-internal#71981

Steps to Reproduce

I started the viewer.

Actual Behavior

The SOCKS 5 proxy "192.168.238.1:1080" refused the connection, unable to open a TCP channel.

Expected Behavior

I was expecting the viewer to be able to use a SOCKS5 proxy, which works fine using the linux viewer, and which used to work fine running the Windows viewer on Windows 7. Since Windows 8.0 this does not work anymore

Other information

Attachments

Links

Is clone of

Original Jira Fields | Field | Value | | ------------- | ------------- | | Issue | SL-2797 | | Summary | SOCKS5 support on Windows 8 and 10 is broken | | Type | Bug | | Priority | Major | | Status | Closed | | Resolution | Released | | Labels | media | | Reporter | Kyle Linden (kyle.linden) | | Created at | 2017-07-25T17:38:55Z | | Updated at | 2023-08-04T17:33:03Z | ``` { 'Branch/Repo Fixed In': 'maint-neko', 'Build Link': 'https://codeticket.secondlife.io/version/530559', 'Business Unit': ['Platform'], 'Code Review': 'https://bitbucket.org/lindenlab/viewer-neko/pull-requests/830/sl-2797-socks5-not-working-reliably?link_source=email', 'Code Reviewer(s)': [ { 'active': True, 'avatarUrls': { '16x16': 'https://jira.secondlife.com/secure/useravatar?size=xsmall&ownerId=andreyl.productengine&avatarId=12212', '24x24': 'https://jira.secondlife.com/secure/useravatar?size=small&ownerId=andreyl.productengine&avatarId=12212', '32x32': 'https://jira.secondlife.com/secure/useravatar?size=medium&ownerId=andreyl.productengine&avatarId=12212', '48x48': 'https://jira.secondlife.com/secure/useravatar?ownerId=andreyl.productengine&avatarId=12212', }, 'displayName': 'AndreyL ProductEngine', 'key': 'andreyl.productengine', 'name': 'andreyl.productengine', 'self': 'https://jira.secondlife.com/rest/api/2/user?username=andreyl.productengine', 'timeZone': 'Europe/Kiev', }, { 'active': True, 'avatarUrls': { '16x16': 'https://jira.secondlife.com/secure/useravatar?size=xsmall&ownerId=simon.linden&avatarId=11016', '24x24': 'https://jira.secondlife.com/secure/useravatar?size=small&ownerId=simon.linden&avatarId=11016', '32x32': 'https://jira.secondlife.com/secure/useravatar?size=medium&ownerId=simon.linden&avatarId=11016', '48x48': 'https://jira.secondlife.com/secure/useravatar?ownerId=simon.linden&avatarId=11016', }, 'displayName': 'Simon Linden', 'key': 'simon.linden', 'name': 'simon.linden', 'self': 'https://jira.secondlife.com/rest/api/2/user?username=simon.linden', 'timeZone': 'America/Los_Angeles', }, ], 'Date of First Response': '2017-07-20T15:54:34.112-0500', 'Developer': { 'active': True, 'avatarUrls': { '16x16': 'https://jira.secondlife.com/secure/useravatar?size=xsmall&avatarId=10532', '24x24': 'https://jira.secondlife.com/secure/useravatar?size=small&avatarId=10532', '32x32': 'https://jira.secondlife.com/secure/useravatar?size=medium&avatarId=10532', '48x48': 'https://jira.secondlife.com/secure/useravatar?avatarId=10532', }, 'displayName': 'AndreyK ProductEngine', 'key': 'andreyk.productengine', 'name': 'andreyk.productengine', 'self': 'https://jira.secondlife.com/rest/api/2/user?username=andreyk.productengine', 'timeZone': 'Europe/Kiev', }, 'ReOpened Count': 1.0, 'Severity': 'Unset', 'System': 'SL Viewer', 'Target Viewer Version': 'viewer-development', 'Test Plan': '-', 'What just happened?': 'The SOCKS 5 proxy "192.168.238.1:1080" refused the connection, unable to open a TCP channel.', 'What were you doing when it happened?': 'I started the viewer.', 'What were you expecting to happen instead?': 'I was expecting the viewer to be able to use a SOCKS5 proxy, which works fine using the linux viewer, and which used to work fine running the Windows viewer on Windows 7. Since Windows 8.0 this does not work anymore ', } ```
AtlasLinden commented 5 months ago

Lance Corrimal commented at 2017-07-20T20:54:34Z

I have network dumps from windows and linux, and they do look quite different, as if the VC runtime used to build the viever on Windows has broken something. I'll attach them here.

AtlasLinden commented 5 months ago

Lance Corrimal commented at 2017-07-20T20:55:39Z

tshark network dump of the initial connection from the windows viewer to a dante socks5 proxy, which fails.

AtlasLinden commented 5 months ago

Lance Corrimal commented at 2017-07-20T20:56:05Z

tshark network dump of the initial connection from the linux viewer to a dante socks5 proxy, which works as expected.

AtlasLinden commented 5 months ago

Kyle Linden commented at 2017-07-25T17:38:53Z

Hi Lance,

Thanks for the bug report.

AtlasLinden commented 5 months ago

AndreyK ProductEngine commented at 2019-01-08T16:01:54Z, updated at 2019-01-08T16:02:43Z

Please add scenario. I remeber the was proxy test plan for QA, server and instruction... it will be much easier with ready server if there is one.

P.S. If there is no ready server/scenario, just reopen please

AtlasLinden commented 5 months ago

RomanK ProductEngine commented at 2019-04-08T11:11:09Z

Reproduced on theĀ Second Life Release 6.1.2.525881 in the scope of IQA-6514.

I used 192.168.201.239:1080 SOCKS proxy for no authentication scenario andĀ 192.168.201.239:1081 test/test forĀ authentication scenario.Ā 

AtlasLinden commented 5 months ago

AndreyK ProductEngine commented at 2019-04-08T19:27:27Z, updated at 2019-04-17T18:42:52Z

Caused by tcp_blocking_handshake(), function just returns error code 730060 immediately, but I can't repro it reliably enough yet to figure out the cause.

730060: A connection attempt failed because the connected party did not properly respond after a period of time, or established connection failed because connected host has failed to respond.

Message 730060 claims that connection might have timed out, but cause is definitely not in timeout - failure is immediate, despite function's 'blocking' state for 1s.

AtlasLinden commented 5 months ago

Jeffbot Linden commented at 2019-04-19T01:45:35Z

Mentioned in build 526466 for DRTVWR-479 (Maintenance: Umeshu)

AtlasLinden commented 5 months ago

RomanK ProductEngine commented at 2019-05-09T14:11:09Z

Passed QA.

Verified on theĀ Second Life Release 6.2.2.527022 in the scope ofĀ IQA-6645.

AtlasLinden commented 5 months ago

Jeffbot Linden commented at 2019-05-27T13:49:00Z

Mentioned in build 527553 for DRTVWR-490 (Maintenance: Vinsanto)

AtlasLinden commented 5 months ago

Reopening as a pr was made for read-only clone: https://github.com/secondlife/jira-archive/issues/2108

Test steps copied from https://github.com/secondlife/viewer/pull/1092

Given: You have a working SOCKS5 proxy which is prepared to proxy Second Life traffic.

  1. Attempt to configure a SOCKS5 proxy via Preferences -> Setup -> Adjust proxy settings
  2. Attempt to use Second Life

Expected: The viewer is able to proxy UDP traffic through SOCKS5 Actual: Proxy does not work

igorlproductengine commented 5 months ago

Failed QA. Verified on Second Life Release 7.1.6.8632435333 (64bit) on Win10/OSX in the scope of https://github.com/secondlife/iqa/issues/190.