Marek Vasut
c5bca8bbbb
transport: Set server socket as keepalive in transport_default_attach()
...
Set the same keepalive properties to accepted server socket as are set
to client sockets. This prevents the server from keeping sockets open
for tens of minutes in case the client disappears.
Signed-off-by: Marek Vasut <marex@denx.de>
2022-05-06 12:31:35 +02:00
Armin Novak
17f530a866
Transport opaque
2021-09-09 08:36:01 +02:00
Alexandr
cf2daeb01d
cleanup of https://github.com/FreeRDP/FreeRDP/pull/6448 ( #6455 )
...
* Implemented switchable transport layer
Co-authored-by: akallabeth <akallabeth@posteo.net>
2020-09-02 13:37:04 +02:00
Armin Novak
ff79636d33
TSG improvements
...
* Respect connection timeout during connect
* Better debug output
* Cleaned up data types,
2020-06-19 11:31:13 +02:00
Armin Novak
72ca88f49c
Reformatted to new style
2019-11-07 10:53:54 +01:00
Armin Novak
47ba37fbcb
Unified dns resolving of host
2018-09-27 16:08:28 +02:00
Armin Novak
5765e9a422
Fixed #4476 : broken casts/variable sizes for custom BIO calls.
2018-05-03 12:30:40 +02:00
Andre Esteve
d240069b5e
Gateway (RDG) use same IP for both channels
2018-04-10 20:59:33 -07:00
Armin Novak
8b9e3fa51e
Fixed use of reserved keywords for include guards.
2017-07-20 09:35:41 +02:00
Martin Fleisz
ac090520c3
Fix compilation with OpenSSL 1.1.0 using MSVC
2017-01-09 16:43:28 +01:00
Armin Novak
c7448c03fb
Added FREERDP_LOCAL
...
CMake 2.8 does not support default visibility on windows.
To allow building tests add the FREERDP_LOCAL define for each
function that is internal to FreeRDP.
When build with testing these functions are exported and available
for use by tests.
2016-10-06 13:43:09 +02:00
Armin Novak
e6c23cb534
Implemented Async TCP connect with abort event
...
* Implemented unified freerdp_tcp_connect_timeout with connect abort.
* Implemented unified freerdp_tcp_connect_multi with connect abort.
* Added connect abort to freerdp_tcp_connect.
* Added freerdp_abort_connect and abortEvent.
2015-08-27 15:33:06 +02:00
Marc-André Moreau
edfc5120b7
libfreerdp-core: replace rdpTcp by BufferedSocket BIO
2015-02-14 10:14:13 -05:00
Marc-André Moreau
e904195e49
libfreerdp-core: more rdpTcp refactoring
2015-02-13 16:51:08 -05:00
Marc-André Moreau
c001a69d50
libfreerdp-core: move wait_read/wait_write operations under BIO layer
2015-02-13 15:22:27 -05:00
Marc-André Moreau
b7a619ff8a
libfreerdp-core: move some rdpTcp operations under BIO layer
2015-02-13 14:26:02 -05:00
Marc-André Moreau
69b93c322d
libfreerdp-core: fix transport crash, reduce rdpTcp usage
2015-02-13 09:27:54 -05:00
Marc-André Moreau
46724b0c75
libfreerdp-core: fix tsg crash on disconnect
2015-02-11 10:57:14 -05:00
Marc-André Moreau
a9df86ab16
libfreerdp-core: update gateway code for Windows
2015-01-28 14:54:03 -05:00
Marc-André Moreau
32a991c165
libfreerdp-core: move socket event and nonblock options to socket BIO
2015-01-27 21:18:26 -05:00
Mario Lombardo
3c634f91db
Rename tcp-functions as they are conflicting with qemu functions
2014-11-29 21:14:39 +01:00
Marc-André Moreau
9838200068
libfreerdp-core: fix unix domain socket support
2014-08-06 12:08:00 -04:00
Marc-André Moreau
d8b858811f
shadow: initial windows server-side connectivity
2014-07-17 21:15:22 -04:00
Hardening
542811291c
Use poll() instead of select() when available
...
select() has the major drawback that it cannot handle file descriptor
that are bigger than 1024. This patch makes use of poll() instead of
select() when poll() support is available.
2014-07-03 15:26:49 +02:00
Marc-André Moreau
04968b18c4
libfreerdp-core: replace all OpenSSL built-in BIOs by new full duplex BIOs
2014-06-01 21:37:20 -04:00
Marc-André Moreau
a8be174e03
libfreerdp-core: remove ineffective full duplex locks
2014-06-01 11:20:13 -04:00
Marc-André Moreau
b1416af362
libfreerdp-core: add locks to disable full duplex BIOs (currently unsafe)
2014-05-30 14:53:10 -04:00
Marc-André Moreau
709df9aecc
libfreerdp-core: add connection timeout, fix gateway bypass local
2014-05-30 14:03:20 -04:00
Hardening
dd6d829550
Allow transport_write calls to be non-blocking
...
This big patch allows to have non-blocking writes. To achieve
this, it slightly changes the way transport is handled. The misc transport
layers are handled with OpenSSL BIOs. In the chain we insert a
bufferedBIO that will bufferize write calls that couldn't be honored.
For an access with Tls security the BIO chain would look like this:
FreeRdp Code ===> SSL bio ===> buffered BIO ===> socket BIO
The buffered BIO will store bytes that couldn't be send because of
blocking write calls.
This patch also rework TSG so that it would look like this in the
case of SSL security with TSG:
(TSG in)
> SSL BIO => buffered BIO ==> socket BIO
/
FreeRdp => SSL BIO => TSG BIO
\
> SSL BIO => buffered BIO ==> socket BIO
(TSG out)
So from the FreeRDP point of view sending something is only BIO_writing
on the frontBio (last BIO on the left).
2014-05-21 17:42:31 +02:00
Marc-André Moreau
05947dd0b2
libfreerdp-core: fix linux build
2013-12-18 22:02:59 -05:00
Marc-André Moreau
5536033a8a
libfreerdp-core: transport refactoring
2013-11-07 17:37:58 -05:00
Marc-André Moreau
1fab70504f
libfreerdp-core: properly attach tcp event handle for peers
2013-07-20 22:34:05 -04:00
Marc-André Moreau
e88b59c32c
libfreerdp-core: improve async-transport mode
2013-04-30 17:16:38 -04:00
Marc-André Moreau
8c8a82c31f
libfreerdp-utils: purge old STREAM utils
2013-03-21 16:45:25 -04:00
Vic Lee
ed5ad30d4f
libfreerdp-core/transport: select sockfd instead of sleep when blocking.
2012-12-21 16:24:26 +08:00
Marc-André Moreau
1bf8a45519
freerdp: change uint8, sint8, uint16, sint16 to BYTE, INT8, UINT16, INT16
2012-10-09 03:01:37 -04:00
Marc-André Moreau
1ed644786c
freerdp: change boolean type to BOOL type
2012-10-09 02:38:39 -04:00
Marc-André Moreau
e60a092d81
freerdp: fix headers
2012-10-08 23:02:04 -04:00
Marc-André Moreau
19028a27b0
libfreerdp: move all libraries to libfreerdp directory, one step closer to monolithic build option
2012-08-13 23:19:51 -04:00