7
3
Fork
You've already forked android
4

Fix "Reconnect with TCP" button #9

Closed
opened 2025年01月22日 13:11:23 +01:00 by fkooman · 9 comments

A user reported a problem where the eduVPN app no longer offers the "Prefer / Force TCP" option in the settings which result in a problem in the following situation: when the server offers OpenVPN+UDP, but UDP does NOT work properly, e.g. MTU issues, there is no fallback to OpenVPN+TCP possible. This results in the user being unable to connect to the VPN as there is no manual override for TCP possible.

Approaches:

  1. Restore the "Prefer/Force" TCP option
  2. Implement online detection for OpenVPN+UDP as well
A user reported a problem where the eduVPN app no longer offers the "Prefer / Force TCP" option in the settings which result in a problem in the following situation: when the server offers OpenVPN+UDP, but UDP does NOT work properly, e.g. MTU issues, there is no fallback to OpenVPN+TCP possible. This results in the user being unable to connect to the VPN as there is no manual override for TCP possible. Approaches: 1. Restore the "Prefer/Force" TCP option 2. Implement online detection for OpenVPN+UDP as well
Author
Owner
Copy link

It seems this functionality moved, there still is a way to do this. After connecting (over UDP) the app will show a button to connect over TCP instead...

image

It seems this functionality *moved*, there still is a way to do this. After connecting (over UDP) the app will show a button to connect over TCP instead... ![image](/attachments/58e46a72-408f-47f2-8b22-704c2ddab5cc)
3.5 MiB
Collaborator
Copy link

@fkooman can we close this ticket, or do you want to make some changes to the app?

@fkooman can we close this ticket, or do you want to make some changes to the app?
Author
Owner
Copy link

It would be nice to have online detection for OpenVPN as well yes, but I have no idea how complicated that is. This is at the very least a good work-around...

It would be nice to have online detection for OpenVPN as well yes, but I have no idea how complicated that is. This is at the very least a good work-around...
fkooman changed title from (削除) implement online detection also for OpenVPN (削除ここまで) to Fix "Reconnect with TCP" button 2025年05月07日 17:39:18 +02:00
Author
Owner
Copy link

It turns out this button doesn't always appear. See #18.

It turns out this button doesn't always appear. See #18.
Collaborator
Copy link

@fkooman the logic is: if the app has a connection error on UDP, it will offer you the connect with TCP button. Until it is still connecting, or already connected, it will not appear.

I can modify the behavior to always show the 'connect with tcp' button, independent of current VPN status.

@fkooman the logic is: if the app has a connection error on UDP, it will offer you the connect with TCP button. Until it is still connecting, or already connected, it will not appear. I can modify the behavior to always show the 'connect with tcp' button, independent of current VPN status.
Author
Owner
Copy link

Ah! The problem with that is that even if the OpenVPN connection is established (over UDP) the app doesn't know whether it will actually work, e.g. because of MTU issues. So, lacking a proper "online detection", that includes testing packets of the size of the expected MTU, it is better to leave the user in control:

  • Make the app behavior predictable
  • Leave the user in control

So yeah, always offering the "Switch to TCP" button sounds like a good idea (if TCP is available on the server).

Ah! The problem with that is that even if the OpenVPN connection is established (over UDP) the app doesn't know whether it will actually _work_, e.g. because of MTU issues. So, lacking a proper "online detection", that includes testing packets of the size of the expected MTU, it is better to leave the user in control: * Make the app behavior _predictable_ * Leave the user in control So yeah, _always_ offering the "Switch to TCP" button sounds like a good idea (if TCP is available on the server).
Author
Owner
Copy link

So yeah, always offering the "Switch to TCP" button sounds like a good idea (if TCP is available on the server).

It is not needed to show the "Switch to TCP" button when the connection is already over TCP, either because the server only supports TCP, or the switch already took place (automatically).

> So yeah, always offering the "Switch to TCP" button sounds like a good idea (if TCP is available on the server). It is not needed to show the "Switch to TCP" button when the connection is _already_ over TCP, either because the server only supports TCP, or the switch already took place (automatically).
Collaborator
Copy link

After #20 is merged, the button should be always visible when the server has TCP support and the current connection is over UDP

After #20 is merged, the button should be always visible when the server has TCP support and the current connection is over UDP
Author
Owner
Copy link

Appears fixed! Thanks!

Appears fixed! Thanks!
Sign in to join this conversation.
No Branch/Tag specified
master
update-wg-submodule
feature/bugfixes
feature/tile_service
feature/mte_crash
feature/update-ics
feature/proxyguard_via_wireguard
feature/include_list
feature/threading_fix
3.5.2
3.5.1
3.5.0
3.4.0
3.3.4
3.3.3
3.3.2
3.3.1
3.3.0
3.2.2
3.2.1
3.2.0
3.1.1
3.1.0
3.0.1
3.0.0
2.99.0
2.0.5
2.0.4
2.0.3
2.0.2
2.0.1
2.0.0
1.3.2
1.3.1
1.3.0
1.2.3
1.2.2
1.2.1
1.2.0
1.1.1
1.0.1
1.0.0
Milestone
Clear milestone
No items
No milestone
Projects
Clear projects
No items
No project
Assignees
Clear assignees
No assignees
2 participants
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
eduVPN/android#9
Reference in a new issue
eduVPN/android
No description provided.
Delete branch "%!s()"

Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?