Commit Graph

22318 Commits

Author SHA1 Message Date
Armin Novak
4090761baa [build,android] undefine __ANDROID_API__ before redefining 2026-01-09 09:24:15 +01:00
akallabeth
df26d30c84 [core,gateway] fix WINPR_CIPHER_TYPE initial value 2026-01-09 09:24:12 +01:00
akallabeth
c8cc0723a1 Merge pull request #12113 from akallabeth/tcp-refactor
Tcp refactor and multi DNS entry fix
2026-01-08 16:50:38 +01:00
Ondrej Holy
72585691fd [core,tcp] Fix PreferIPv6OverIPv4 fallback to IPv4 addresses
Currently, when the `FreeRDP_PreferIPv6OverIPv4` option is `TRUE` and
the `getaddrinfo` function returns IPv4 addresses before IPv6 addresses,
the code tries all IPv6 addresses, but it doesn't try any IPv4 address.
This happens because the `get_next_addrinfo` function skips to the first
IPv6 address, but never goes back to try IPv4 addresses that appeared
earlier in the list. Let's fix this by reordering the address list
first when the `PreferIPv6OverIPv4` option is `TRUE`.

Co-Authored-By: Claude <noreply@anthropic.com>

Related: https://github.com/FreeRDP/FreeRDP/issues/5335
2026-01-08 16:36:37 +01:00
Ondrej Holy
0bdd8da099 [core,tcp] Don't ignore connect errors
The `freerdp_tcp_connect_timeout` function doesn't fail currently in the
case of connection failure (e.g. destination unreachable). It fails only
in the case of the `WSAECONNRESET` error. That seems to be regression from
the refactoring made by commit e6c23cb5. Let's use again the recommended
`getsockopt` function with the `SO_ERROR` argument to check for errors and
fail for all kinds of errors. The nice side-effect is that FreeRDP now
fails with "Failed to connect" instead of "Broken pipe" error.

Co-Authored-By: Claude <noreply@anthropic.com>

Related: https://github.com/FreeRDP/FreeRDP/issues/5335
2026-01-08 16:36:37 +01:00
Ondrej Holy
bd67348eb3 [core,tcp] Try next DNS entry on connect failure
FreeRDP still fails to connect when first DNS entry is unreachable. The
commit 4286a4c doesn't fix that unfortunately. It tries to create a socket
for all DNS entries until the socket is created, but it doesn't verify
that it is actually possible to connect to that socket. Let's call also
the `freerdp_tcp_connect_timeout` function for all the entries until success.

Co-Authored-By: Claude <noreply@anthropic.com>

Related: https://github.com/FreeRDP/FreeRDP/issues/5335
2026-01-08 16:36:37 +01:00
Armin Novak
e65d488a51 [core,tcp] refactor freerdp_tcp_default_connect 2026-01-08 16:36:37 +01:00
akallabeth
1b51752bbd Merge pull request #12105 from akallabeth/clang-warn-fix
Clang warn fixes
2026-01-08 12:25:20 +01:00
Armin Novak
90eae383ee [clang,warnings] fix Wjump-misses-init 2026-01-08 11:32:47 +01:00
Armin Novak
7b8bbd7fd9 [clang,warnings] fix Wjump-misses-init 2026-01-08 11:32:47 +01:00
Armin Novak
c307aa23c8 [clang,warnings] fix Wjump-misses-init 2026-01-08 11:32:47 +01:00
Armin Novak
f8ac8fb7b6 [c,warnings] fix unterminated string warnings
initialize variables as array to avoid warnings with gcc >= 15 or clang
2026-01-08 11:32:47 +01:00
Armin Novak
a63165939d [clang,warnings] fix Wjump-misses-init 2026-01-08 11:32:47 +01:00
Armin Novak
71d283d9c5 [clang,warnings] fix Wjump-misses-init 2026-01-08 11:32:47 +01:00
Armin Novak
3365d4fb12 [clang,warnings] fix Wjump-misses-init 2026-01-08 11:32:46 +01:00
Armin Novak
91d865aefb [clang,warnings] fix Wjump-misses-init 2026-01-08 11:32:46 +01:00
Armin Novak
f44acc3d25 [clang,warnings] fix Wjump-misses-init 2026-01-08 11:32:46 +01:00
Armin Novak
d424f51f21 [clang,warnings] fix Wjump-misses-init 2026-01-08 11:32:46 +01:00
Armin Novak
47a2e5fd77 [clang,warnings] fix Wjump-misses-init 2026-01-08 11:32:46 +01:00
Armin Novak
4c2caabc83 [clang,warnings] fix Wjump-misses-init 2026-01-08 11:32:46 +01:00
Armin Novak
0ebdd2995a [clang,warnings] fix Wjump-misses-init 2026-01-08 11:32:45 +01:00
Armin Novak
df4b16b41e [clang,warnings] fix Wjump-misses-init 2026-01-08 11:32:45 +01:00
Armin Novak
3904cc4b12 [clang,warnings] fix Wjump-misses-init 2026-01-08 11:32:45 +01:00
Armin Novak
e5af1cf1d6 [clang,warnings] fix Wjump-misses-init 2026-01-08 11:32:45 +01:00
Armin Novak
6e1ce92290 [clang,warnings] fix Wjump-misses-init 2026-01-08 11:32:45 +01:00
Armin Novak
310332cdf4 [clang,warnings] fix Wjump-misses-init 2026-01-08 11:32:45 +01:00
Armin Novak
6a29062e8d [clang,warnings] fix Wjump-misses-init 2026-01-08 11:32:45 +01:00
Armin Novak
02f30524ff [clang,warnings] fix Wjump-misses-init 2026-01-08 11:32:44 +01:00
Armin Novak
33316ebaad [clang,warnings] fix Wjump-misses-init 2026-01-08 11:32:44 +01:00
Armin Novak
bd755236a6 [clang,warnings] fix Wjump-misses-init 2026-01-08 11:32:44 +01:00
Armin Novak
30ce7423c5 [clang,warnings] fix Wjump-misses-init 2026-01-08 11:32:44 +01:00
Armin Novak
68bbbcb2a6 [clang,warnings] fix Wjump-misses-init 2026-01-08 11:32:44 +01:00
Armin Novak
8aeb1c98b0 [clang,warnings] fix Wjump-misses-init 2026-01-08 11:32:44 +01:00
Armin Novak
c637a868ba [clang,warnings] fix Wjump-misses-init 2026-01-08 11:32:44 +01:00
Armin Novak
4fe941ee66 [clang,warnings] fix Wjump-misses-init 2026-01-08 11:32:43 +01:00
Armin Novak
60fffc91e1 [clang,warnings] fix Wjump-misses-init 2026-01-08 11:32:43 +01:00
Armin Novak
371da1cd2f [clang,warnings] fix Wjump-misses-init 2026-01-08 11:32:43 +01:00
Armin Novak
54f419c1b7 [clang,warnings] fix Wjump-misses-init 2026-01-08 11:32:43 +01:00
Armin Novak
e1b2998102 [clang,warnings] fix Wjump-misses-init 2026-01-08 11:32:43 +01:00
Armin Novak
2d2541119b [clang,warnings] fix Wjump-misses-init 2026-01-08 11:32:43 +01:00
Armin Novak
e3d74b8afc [clang,warnings] fix Wjump-misses-init 2026-01-08 11:32:42 +01:00
Armin Novak
6b36ace10b [clang,warnings] fix Wjump-misses-init 2026-01-08 11:32:42 +01:00
Armin Novak
2a1c0bbdfc [clang,warnings] fix Wjump-misses-init 2026-01-08 11:32:42 +01:00
Armin Novak
d228b0f3d3 [clang,warnings] fix Wjump-misses-init 2026-01-08 11:32:42 +01:00
Armin Novak
aa96853483 [clang,warnings] fix Wjump-misses-init 2026-01-08 11:32:42 +01:00
Armin Novak
abb7d9db17 [clang,warnings] fix Wjump-misses-init 2026-01-08 11:32:42 +01:00
Armin Novak
aabaf91f9c [clang,warnings] fix Wjump-misses-init 2026-01-08 11:32:42 +01:00
Armin Novak
361d0e80f8 [clang,warnings] fix Wjump-misses-init 2026-01-08 11:32:41 +01:00
Armin Novak
7ba7501777 [clang,warnings] fix Wjump-misses-init 2026-01-08 11:32:41 +01:00
Armin Novak
8343f0596f [clang,warnings] fix Wjump-misses-init 2026-01-08 11:32:41 +01:00