Yihong Wu
b91d9af5e3
Mayaqua/DNS: Fix memory safety in DNS operation threads
...
Fix #1329
2021-12-12 20:05:36 +08:00
Yihong Wu
2a40d21ef9
Merge pull request #1512 from domosekai/he
...
Perform TCP connection via IPv6 and IPv4 in parallel threads
2021-12-11 17:20:12 +08:00
Yihong Wu
384ab07996
Perform TCP connection attempts via IPv6 and IPv4 in parallel
2021-12-10 16:18:45 +08:00
Yihong Wu
e6bf956806
Return and cache all addresses from DNS resolver
2021-12-10 16:18:45 +08:00
Yihong Wu
528f313dbe
Merge pull request #1511 from domosekai/ipstr
...
Fix IPv6 address display in session info dialog
2021-12-09 12:55:10 +08:00
Yihong Wu
b4aad09f21
Restore R-UDP listener when ListenIP is ::
2021-12-07 21:55:41 +08:00
Yihong Wu
14f5854ecf
Fix IPv6 address display in session info dialog
2021-12-07 15:48:32 +08:00
Yihong Wu
b178f26e52
Reduce redundant loop
...
Co-authored-by: Davide Beatrici <github@davidebeatrici.dev>
2021-12-04 16:16:22 +08:00
Yihong Wu
9692a8d961
Fix DNS resolution when no IPv6 address is configured
2021-12-03 14:18:43 +08:00
Yihong Wu
2d1c8765aa
Merge pull request #1433 from domosekai/chain
...
Support user-specified server trust chain
2021-11-25 17:15:53 +08:00
Yihong Wu
8392ccd1fa
Merge pull request #1391 from domosekai/master
2021-11-25 11:09:12 +08:00
domosekai
9b3077d955
Store interface metric separately as it mau change
2021-08-02 16:18:37 +08:00
domosekai
4ddf39e760
Remove obsolete Win32 functions
2021-08-02 16:18:37 +08:00
domosekai
ce0591d924
Add IPv6 route management for Windows client
2021-08-02 16:18:36 +08:00
domosekai
9182a9b4e9
Mayaqua/Network.c: Fix race condition in TUBE operation
2021-07-22 11:59:15 +00:00
domosekai
2761c1ca42
Support user-specified server trust chain
2021-07-21 07:02:42 +00:00
domosekai
a1dff0f594
Mayaqua/Network.c: Create UDP listener for every interface if ListenIP is wildcard
2021-07-11 16:15:29 +00:00
domosekai
dfb105c2d7
Fix use-after-free timeout issue for L2TP and SSTP
2021-07-10 16:07:09 +00:00
domosekai
41b9973c24
Mayaqua/Network.c: Fix L2TP/IPsec over IPv6 when listening on ::
2021-07-07 17:37:06 +00:00
domosekai
6e400c19af
Fix TCP and UDP listener behavior
2021-07-07 10:50:23 +00:00
domosekai
4efed994dc
Mayaqua/Network.c: Use int as boolean flags for socket options
2021-07-07 03:07:06 +00:00
domosekai
65bcbc8db3
Mayaqua/Network.c: Fix EAP-TLS chain certificate verification
2021-06-21 14:41:22 +00:00
domosekai
c20bcb2e60
Mayaqua/Network: Skip IPv6 nameservers for SecureNAT
2021-04-27 07:30:38 +00:00
Davide Beatrici
0472f9c286
Rewrite DNS API from scratch into dedicated file(s)
...
From a functional point of view, the main improvement is that GetIP() now always prioritizes IPv6 over IPv4.
The previous implementation always returned an IPv4 address, unless not available: in such case it failed.
This means that now connections to hostnames should be established via IPv6 if available.
From a programmer point of view, getting rid of the insane wrappers is enough to justify a complete rewrite.
As an extra, several unrelated unused global variables are removed.
2021-04-18 01:46:59 +02:00
Davide Beatrici
1708998a11
Change IP structure so that IPv4 addresses are stored in RFC3493 format
...
In addition to saving 4 bytes for each instantiation, this change makes IP-related operations faster and clearer.
https://tools.ietf.org/html/rfc3493.html#section-3.7
2021-04-07 21:24:55 +02:00
Davide Beatrici
a6ba9b8788
Include headers properly
2021-04-05 04:48:25 +02:00
Ilya Shipitsin
46b54f00be
Merge pull request #1318 from davidebeatrici/minimum-version-windows-vista
...
Cedar, Mayaqua: Set minimum Windows version to Vista
2021-04-03 22:02:50 +05:00
Davide Beatrici
5cab279a8c
Cedar, Mayaqua: Set minimum Windows version to Vista
2021-04-03 02:25:19 +02:00
Davide Beatrici
84588095d5
Mayaqua/Network.c: Always use fcntl() to toggle socket non-blocking mode (UNIX)
...
O_NONBLOCK is standardized by POSIX, as opposed to FIONBIO.
This commit also fixes a bug: fcntl() was only called to disable the mode.
2021-04-01 08:04:27 +02:00
domosekai
934e49fea0
Mayaqua/Network.c: Fix UDP send error when used with reverse proxy
2021-03-23 11:59:23 +00:00
Davide Beatrici
8a37f5ce11
Mayaqua/Network.c: Fix several warnings related to Windows data type mismatches
...
Also, reported unused variables are removed.
2021-03-01 02:48:38 +01:00
Ilya Shipitsin
ebd1d281dd
use SSL_SECOP_VERSION macro instead of OPENSSL_VERSION
...
OPENSSL_VERSION is fragile in LibreSSL, BoringSSL.
security level manipulation is openssl specific defined in
b362ccab5c
2021-02-20 17:48:26 +05:00
Takuho NAKANO
c029b34b80
Run SSL_CTX_set_ssl_version earlier
...
SSL_CTX_set_ssl_version may change security level.
2020-10-31 20:19:32 +01:00
Takuho NAKANO
7fdacec2a6
Manage OpenSSL security level
...
Add SslAcceptSettings option Override_Security_Level and Override_Security_Level_Value
to allow user to choose.
2020-10-31 20:19:23 +01:00
Takuho NAKANO
190672bd84
Set RSA bits considering OpenSSL security Level
2020-10-31 20:11:11 +01:00
Takuho NAKANO
5ca62bdd8a
Refact: manage SSL_OP_NO_SSLv3 in NewSSLCtx
2020-10-31 20:11:11 +01:00
Takuho NAKANO
d0b3cde485
Refact: move SSL_CTX_set_ssl_version to NewSSLCtx
2020-10-31 20:11:11 +01:00
Ilya Shipitsin
a2d15615f3
Merge pull request #1115 from takotakot/import_v4_change
...
Add Tls_Disable1_3 (Import v4 change)
2020-10-31 20:04:20 +03:00
Davide Beatrici
69cd39616b
Remove "UINT32" and "DWORD", use "UINT" everywhere for consistency
2020-08-15 09:18:27 +02:00
dnobori
144392c587
Add Tls_Disable1_3
...
Add Tls_Disable1_3 like Tls_Disable1_2 etc.
This change is part of v4.34-9744-beta e3370fb62c31eb10d0d221e628161863358d4cc3 .
2020-07-19 12:25:47 +09:00
Ilya Shipitsin
47d08b055e
Merge pull request #1114 from takotakot/disable_sslv3
...
Disable SSLv3
2020-06-18 11:21:59 +05:00
Takuho NAKANO
5ebdb394fc
Disable sslv3
2020-06-09 13:59:57 +09:00
Evengard
f2fee4d32c
Preliminary implementation of IPv6CP and IPv6 for PPP (untested)
2020-05-12 18:05:18 +03:00
Evengard
f627b64264
Auto formatting with AStyle
2020-05-12 17:59:25 +03:00
Evengard
1d6a4d3ec8
Preliminary IPC IPv6 implementation (untested)
2020-05-12 17:59:24 +03:00
Davide Beatrici
0570f7d31c
Mayaqua/Network: add StopUdpListener()
...
This allows to stop a UDP listener without deleting it.
It's especially useful when no datagrams should be received anymore, but there are other threads accessing the listener.
2020-05-11 07:50:55 +02:00
Evengard
8fb456f6a6
Fixing a memory leak in SslCertVerifyCallback because of a duplicated callback
2020-05-03 05:36:01 +03:00
Evengard
132926ee09
Fixing alignment of struct on GCC, changing the method to server one
2020-05-03 05:17:23 +03:00
Evengard
9180e065a0
Some weirdness fixes
2020-05-02 20:29:31 +03:00
Evengard
39becfe4ab
Some hacks to make Android VPN Client Pro working
2020-05-02 20:25:01 +03:00