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
Hardening
0376dcd065
Fix OOM situation
2014-05-21 17:27:36 +02:00
Hardening
9c18ae5bee
Print function name when emiting an error
2014-05-21 17:27:36 +02:00
Hardening
0ea1dc43ec
Add a ringbuffer implementation targetting byte sending
...
This adds a ringbuffer implementation that targets bytes sending.
The ringbuffer can grow when there's not enough room, that's why it's
not thread-safe (locking must be done externally). It will be shrinked
to its initial size as soon as the used bytes are the half of the
initial size.
2014-05-21 17:27:36 +02:00
Marc-André Moreau
4bac8374de
Merge branch 'master' of github.com:FreeRDP/FreeRDP
2014-05-21 11:17:58 -04:00
Marc-André Moreau
94a836078f
Merge pull request #1854 from zhangzl2013/floatbar
...
wfreerdp-floatbar: fix bug in non-fullscreen mode.
2014-05-21 11:02:16 -04:00
Marc-André Moreau
422a279682
Merge pull request #1853 from zhangzl2013/async
...
wfreerdp: add async input, update, transport and channels' events
2014-05-21 11:01:53 -04:00
Marc-André Moreau
7113cf2858
Merge pull request #1852 from orosam/auth3fix
...
Fix misplaced sec_trailer in rpc_auth_3 PDU
2014-05-21 11:01:12 -04:00
Marc-André Moreau
04dc037666
Merge pull request #1845 from SBoyNumber1/DiskDrives
...
Removed autosharing of all disk drives during redirect of any drive.
2014-05-21 10:57:27 -04:00
Marc-André Moreau
6f8fda247b
Merge pull request #1844 from caramorsimon/tokenrouting
...
Test for CRLF (0x0D0A) termination on the routing token
2014-05-21 10:56:56 -04:00
Marc-André Moreau
472c231876
Merge pull request #1826 from Hobby-Student/master
...
fix FreeBSD compile errors
2014-05-21 10:53:47 -04:00
Bernhard Miklautz
92f74d15e8
Merge pull request #1762 from zhangzl2013/wfreerdp
...
wfreerdp: fix incorrect line color.
2014-05-21 11:21:02 +02:00
Zhang Zhaolong
5415577bde
wfreerdp-floatbar: fix bug in non-fullscreen mode.
2014-05-21 16:13:55 +08:00
Zhang Zhaolong
4fc7a3c9ad
wfreerdp: add async input, update, transport and channels' events handling.
2014-05-21 14:52:57 +08:00
Hardening
86489f1c9a
Merge pull request #1629 from bmiklautz/update_pull_1609
...
Android jpeg build enhancement
2014-05-20 22:10:17 +02:00
Sandor Oroszi
d447f122c3
libfreerdp-core: fix misplaced sec_trailer in rpc_auth_3 PDU
2014-05-20 17:15:26 +02:00
Hardening
5aa5dd4609
Merge pull request #1430 from sukhodolin/Fixes
...
Fix debug output on Win32
2014-05-20 15:14:22 +02:00
Hardening
c0087832ad
Merge pull request #1839 from hardening/base64
...
Changes for base64
2014-05-20 11:17:47 +02:00
Bernhard Miklautz
29710ae74a
Merge pull request #1840 from hardening/valgrind
...
Adds some support for valgrind helpers
2014-05-19 16:23:06 +02:00
caramorsimon
8e77192ed8
Test for RoutingTokenLength before checking against termination chars
2014-05-18 21:32:26 +01:00
SBoyNumber1
4865cbd589
Removed autosharing of all disk drives during redirect of any drive.
2014-05-17 23:05:21 +03:00
caramorsimon
a561e246e8
Test for CRLF (0x0D0A) termination on the routing token before trying to add it again
2014-05-16 16:19:22 +01:00
Marc-André Moreau
37b0d634ed
freerdp: fix C++ flags for FREERDP_EXPORTS, WINPR_EXPORTS
2014-05-12 19:09:00 -04:00
Marc-André Moreau
003870157a
libwinpr-smartcard: remove some locks
2014-05-12 17:28:35 -04:00
Marc-André Moreau
bc771ec56b
channels/smartcard: reuse the same thread for the same SCARDCONTEXT
2014-05-12 17:05:20 -04:00
Marc-André Moreau
9f70629c3a
channels/smartcard: store SCARDCONTEXT, SCARDHANDLE in SMARTCARD_OPERATION
2014-05-12 16:45:24 -04:00
Marc-André Moreau
9f93565811
channels/smartcard: modify operation functions to take SMARTCARD_OPERATION*
2014-05-12 16:19:44 -04:00
Marc-André Moreau
d8053b3d93
channels/smartcard: cleanup smartcard operations
2014-05-12 15:47:49 -04:00
Marc-André Moreau
5416ab1d6e
channels/smartcard: decode and then call
2014-05-12 15:32:02 -04:00
Marc-André Moreau
77827bb411
channels/smartcard: split encoding from calling
2014-05-12 15:22:57 -04:00
Marc-André Moreau
526e74f7fa
channels/smartcard: further split decoding from calling
2014-05-12 15:04:31 -04:00
Marc-André Moreau
8a940ad778
channels/smartcard: start splitting decoding from calling
2014-05-12 14:13:57 -04:00
Hardening
729c24cedb
Adds some support for valgrind helpers
...
This patch adds an option to compile freerdp in a valgrind compliant way.
The purpose is to ease memchecking when connecting with TLS. We mark bytes
retrieved from SSL_read() as plainly defined to prevent the undefined contamination.
With the patch and the option activated you get a single warning at connection
during the handshake, and nothing after.
2014-05-12 18:01:29 +02:00
Marc-André Moreau
fc39f6bc8d
channels/smartcard: create smartcard context data structures with associated thread
2014-05-12 11:28:20 -04:00
Marc-André Moreau
2da6111972
channels/smartcard: fix clearing of rgSCardContextList
2014-05-12 10:17:49 -04:00
Hardening
9f1d0201ec
Changes for base64
...
This patch changes the prototype for decode_base64 so that the encode / decode
method are consistant (encode(BYTE *) => char* and decode(char*) => BYTE*).
It also does some improvements with unrolling loops so that end conditions are
tested only at the end.
The patch also adds some unitary tests.
Before the patch base64_decode() made valgrind complain about uninitialized
bits, after valgrind is happy and very quiet.
2014-05-11 22:49:10 +02:00
Marc-André Moreau
ae6c778eb7
libwinpr-smartcard: modifying threading
2014-05-11 05:23:30 -04:00
Marc-André Moreau
fda492c58d
libwinpr-smartcard: fix AccessStartedEvent
2014-05-11 01:53:47 -04:00
Marc-André Moreau
d04430cb02
channels/smartcard: implement usage of SCardAccessStartedEvent
2014-05-10 23:43:25 -04:00
Marc-André Moreau
3ef0157b6c
Merge branch 'master' of github.com:awakecoding/FreeRDP
2014-05-10 23:18:56 -04:00
Marc-André Moreau
8666e252f0
libfreerdp-common: fix AsyncUpdate get/set
2014-05-10 23:18:43 -04:00
Marc-André Moreau
0bcb3eb63d
libwinpr-locale: fix inclusion of stdarg.h
2014-05-10 17:31:42 -04:00
Marc-André Moreau
5e97757939
freerdp: fix improper .rdp file parsing
2014-05-10 17:28:34 -04:00
Marc-André Moreau
b8d60d5715
Merge branch 'master' of github.com:FreeRDP/FreeRDP
2014-05-10 10:59:56 -04:00
Marc-André Moreau
8abc0edd3f
Merge pull request #1837 from hardening/const_cert_fix
...
Const cert fix
2014-05-10 10:59:38 -04:00
Marc-André Moreau
ee282a931b
freerdp: fix build warnings on Windows
2014-05-10 09:50:36 -04:00
Marc-André Moreau
ad9f73350e
libwinpr-smartcard: fix cmake script
2014-05-10 00:50:30 -04:00
Marc-André Moreau
fb3662c7e2
winpr: fix ranlib missing symbols warnings on OS X
2014-05-09 22:44:19 -04:00
Hardening
e79c6b7d68
Treat OOM in GCC certificates
...
This patch treats OOM cases and do a trivial cleanup
2014-05-09 22:37:47 +02:00
Hardening
50f1f0df6f
Add some const modifiers
...
This allows these functions to be used with const buffers.
2014-05-09 22:36:50 +02:00