schwabe / ics-openvpn

OpenVPN for Android
3.31k stars 1.2k forks source link

FRAG_OUT error, len=116 frag_size=0 MAX_FRAGS=32: too many fragments would be required to send datagram #1613

Closed dimitris-personal closed 1 year ago

dimitris-personal commented 1 year ago

TL;DR: what does frag_size=0 mean? Seems nonsensical at first glance, fragment is set to 1300 in the config.

General information

  1. Android Version: Android 13, build TQ2A.230505.002
  2. Android Vendor/Custom ROM Google/Pixel OEM
  3. Device Google Pixel 7
  4. Version of the app (version number/play store version/self-built) Play store 0.7.43

Description of the issue

Sporadic bouts of these error messages, coinciding with the client eventually taking too long or even getting stuck in "authenticating" state.

Log (if applicable)

Many repeated lines on the same timestamp (minute, anyway), as title

Configuration file

# Config for OpenVPN 2.x
# Enables connection to GUI
management /data/user/0/de.blinkt.openvpn/cache/mgmtsocket unix
management-client
management-query-passwords
management-hold

setenv IV_GUI_VER "de.blinkt.openvpn 0.7.43" 
setenv IV_SSO openurl,webauth,crtext
setenv IV_PLAT_VER "33 13 arm64-v8a google panther Pixel 7"
setenv IV_HWADDR 64:xx:xx:xx:xx:xx:xx
tls-cert-profile legacy
machine-readable-output
allow-recursive-routing
ifconfig-nowarn
client
verb 4
connect-retry 2 300
resolv-retry 60
dev tun
remote xx.xx.xx.xx 1194 udp
connect-timeout  30
remote yy.yy.yy.yy 1194 udp
connect-timeout  30
<ca>
...
</ca>
<key>
...
</key>
<cert>
...
</cert>
route-ipv6 ::/0
route 0.0.0.0 0.0.0.0 vpn_gateway
mssfix 1300
nobind
remote-cert-tls server
data-ciphers AES-256-GCM
# Use system proxy setting
management-query-proxy
# Custom configuration options
# You are on your on own here :)
fragment 1300
schwabe commented 1 year ago

--fragment is an option that should be probably avoid if possible. The code is not used very often but somehow you ended up with openvpn thinking that it needs have a fragment size of 0. If you can provide a way to reproduce the problem, I can look into it but --fragment is pretty low on the priority list.