Commit Graph

2850 Commits

Author SHA1 Message Date
Armin Novak
b888059bd7 Fixed color conversion issues. 2016-10-06 13:43:08 +02:00
Armin Novak
a978ccc0bb Added argument checks. 2016-10-06 13:43:07 +02:00
Armin Novak
ab4725dd5d Fixed error message parameter. 2016-10-06 13:43:07 +02:00
Armin Novak
fb36121ba9 Added signal handler for android. 2016-10-06 13:43:07 +02:00
Armin Novak
896f500e7e Fixed h264 dummy init. 2016-10-06 13:43:06 +02:00
Armin Novak
bc5aa1be0c Added more GDI orders. 2016-10-06 13:43:06 +02:00
Armin Novak
a76b0df598 Fixed reading of colors from order. 2016-10-06 13:43:06 +02:00
Armin Novak
60ac63854c 32bpp cursor fix. 2016-10-06 13:43:06 +02:00
Armin Novak
c00fc5715f Cursor color decoding fixes. 2016-10-06 13:43:05 +02:00
Armin Novak
984bec733f Simplified gdi_patblt 2016-10-06 13:43:05 +02:00
Armin Novak
d1a3362a8f Fixed windows software GDI issues. 2016-10-06 13:43:05 +02:00
Armin Novak
66cf000efd Fixed broken test. 2016-10-06 13:43:05 +02:00
Armin Novak
e3b43b991d Fixed some bitblt issues. 2016-10-06 13:43:05 +02:00
Armin Novak
5fa9344c8f Deactivated broken tests. 2016-10-06 13:43:05 +02:00
Armin Novak
9034867bb7 Added brush helper function to retrieve style. 2016-10-06 13:43:05 +02:00
Armin Novak
b505220328 Fixed Get/SetPixel function tests. 2016-10-06 13:43:05 +02:00
Armin Novak
f3d9e8de08 Fixed (some) planar codec tests. 2016-10-06 13:43:05 +02:00
Armin Novak
e4d89067b2 Fixed splitting of color planes. 2016-10-06 13:43:04 +02:00
Armin Novak
d3538fc930 Fixed gdi LineTo and tests. 2016-10-06 13:43:04 +02:00
Armin Novak
35f1347d53 Fixed warnings and mac build. 2016-10-06 13:43:04 +02:00
Armin Novak
d0f09c8d15 Fixed warnings and stride default. 2016-10-06 13:43:04 +02:00
Armin Novak
a372009fc4 Internal functions static. 2016-10-06 13:43:04 +02:00
Armin Novak
a06ceb6239 Fixed duplicate setting of callback. 2016-10-06 13:43:04 +02:00
Armin Novak
0e1b385b5f Internal functions static. 2016-10-06 13:43:03 +02:00
Armin Novak
867528015a Simplified bitmap drawing. 2016-10-06 13:43:03 +02:00
Armin Novak
ec0d68bf4c Fixed bitmap update decoding. 2016-10-06 13:43:03 +02:00
Armin Novak
c22d16bc09 Reverted bitmap update changes. 2016-10-06 13:43:03 +02:00
Armin Novak
3898b56618 Fixed drawing orders. 2016-10-06 13:43:03 +02:00
Armin Novak
e3f88ad7ec Fixed BitBlt_PSDPxax 2016-10-06 13:43:03 +02:00
Armin Novak
032bdef955 Unified bitmap drawing. 2016-10-06 13:43:03 +02:00
Armin Novak
b8ff3cb235 Fixed (a lot of) GDI drawing issues. 2016-10-06 13:43:03 +02:00
Armin Novak
bb82d48506 Fixed part of font cache issue. 2016-10-06 13:43:03 +02:00
Armin Novak
3f90966da6 Bug fixes. 2016-10-06 13:43:03 +02:00
Armin Novak
85bbe2a908 API refactoring. 2016-10-06 13:43:03 +02:00
Armin Novak
f680b62d03 Fixed PATINVERT. 2016-10-06 13:43:02 +02:00
Armin Novak
e650fdb2b6 Bugfixes. 2016-10-06 13:43:02 +02:00
Armin Novak
17fd5526ac Cleanups. 2016-10-06 13:43:02 +02:00
Armin Novak
7a20ff5c30 Refactored bitmap API. 2016-10-06 13:43:02 +02:00
Armin Novak
8b69b16cbb Refactored Glyph API. 2016-10-06 13:43:02 +02:00
Armin Novak
9d5ca34d0d Fixed pointer initialisation for X11. 2016-10-06 13:43:02 +02:00
Armin Novak
04fb4e4e4c Fixed rectangle clipping and warnings. 2016-10-06 13:43:02 +02:00
Armin Novak
c229a1939d Updated codec API, unified drawing order color decoding. 2016-10-06 13:43:02 +02:00
Armin Novak
e32ed83bf7 Updated interleaved and planar API. 2016-10-06 13:43:02 +02:00
Armin Novak
6525a564f1 Fixed 24bit color format. 2016-10-06 13:43:01 +02:00
Armin Novak
39d6ad3acf Fixed source format for bitmap decompress. 2016-10-06 13:43:01 +02:00
Armin Novak
f9a89ae6b4 Bug fixes, refactoring. 2016-10-06 13:43:01 +02:00
Armin Novak
960bc26e9a Further refactored tests. 2016-10-06 13:43:01 +02:00
Armin Novak
9f0a9c3b92 Refactored GDI. 2016-10-06 13:43:01 +02:00
Armin Novak
c5b6e7e4ea Fixed GDI tests. 2016-10-06 13:43:01 +02:00
Armin Novak
2594262ed4 Fixed progressive decoding. 2016-10-06 13:43:01 +02:00
Armin Novak
1608799522 Cleaned up clear codec. 2016-10-06 13:43:01 +02:00
Armin Novak
8fffda5740 Fixed clearcodec and codecs reset. 2016-10-06 13:43:01 +02:00
Armin Novak
5e9c9f90ab Code refactoring. 2016-10-06 13:43:01 +02:00
Armin Novak
e6e8f2d4f2 Added ROP to string function. 2016-10-06 13:43:00 +02:00
Armin Novak
9fc8dc6b5d Removed gdi->codecs, unused. 2016-10-06 13:43:00 +02:00
Armin Novak
076b92dd72 Fixed primitives misuse. 2016-10-06 13:43:00 +02:00
Armin Novak
a6cef5cde7 Fixed GFX related issues. 2016-10-06 13:43:00 +02:00
Armin Novak
99c418766c Updated primitives API and tests. 2016-10-06 13:43:00 +02:00
Armin Novak
e860fde4bc Fixed function arguments. 2016-10-06 13:43:00 +02:00
Armin Novak
7d01fe14ce Fixed planar tests, deactivated them for clear 2016-10-06 13:43:00 +02:00
Armin Novak
03907c82a9 Fixed issues. 2016-10-06 13:43:00 +02:00
Armin Novak
d98677094e Fixed warnings. 2016-10-06 13:43:00 +02:00
Armin Novak
bbae42d9c3 Compile fix 2016-10-06 13:43:00 +02:00
Armin Novak
5039a82d8b GDI fixes. 2016-10-06 13:43:00 +02:00
Armin Novak
e1c3adf61f freerdp_image_copy fixes, 8bit color improvements. 2016-10-06 13:42:59 +02:00
Armin Novak
c12c5dd2f5 Added overlapped copy support. 2016-10-06 13:42:59 +02:00
Armin Novak
716c5c53e9 256 color support. 2016-10-06 13:42:59 +02:00
Armin Novak
48d1b4ee13 Fixed color ordering for GDI. 2016-10-06 13:42:59 +02:00
Armin Novak
016f3a408b xxx. 2016-10-06 13:42:59 +02:00
Armin Novak
b668b0d75e Api update. 2016-10-06 13:42:59 +02:00
Armin Novak
0e7bb508c1 Bitmaps now remember their format. 2016-10-06 13:42:59 +02:00
Armin Novak
bb92655339 Fixed clear codec. 2016-10-06 13:42:59 +02:00
Armin Novak
5633f5242a Fixed crashes. 2016-10-06 13:42:59 +02:00
Armin Novak
da956e0388 ... 2016-10-06 13:42:59 +02:00
Armin Novak
24599af991 More color fixes. 2016-10-06 13:42:58 +02:00
Armin Novak
df35c135d1 Fixed color conversion, unified GFX and updated API. 2016-10-06 13:42:58 +02:00
David Fort
1855e36179 Merge pull request #3482 from realjiangms/fix_gfx_win8
server/shadow: Fix regression with rdp8.0
2016-09-09 11:16:29 +02:00
zihao.jiang
2c00240a17 server/shadow: Fix regression with rdp8.0
Shadow server crash with rdp8.0 with gfx enabled.
Root Cause: rdp8.0 is not support in shadow gfx and rdpgfx_caps_advertise returns an error. However setChannelError crashs because context->errorDescription is NULL
1. Fix shadow gfx to handle rdp8.0
2. Initialize context->errorDescription for server side new-context
2016-08-29 02:50:09 +08:00
Martin Fleisz
71765b72e3 Merge pull request #3284 from ondrejholy/endianness
Endianness fixes
2016-08-25 08:17:52 +02:00
David Fort
5394a0425f Merge pull request #3316 from realjiangms/server_gfx
rdpgfx: Implementation for server side channel
2016-08-24 11:08:00 +02:00
Martin Haimberger
e9e0764ace libfreerdp/core: transport_write unchecked parameters
transport_write did not check if transport or bio are
set. The transport read checks it. In using fastpath
and for example a mouse input is sent, the transport
is never checked and can cause a segfault.
2016-08-22 02:17:11 -07:00
zihao.jiang
2b6bd2626d rdpgfx: various fixes according to comments
1. Fix stream leak in rdpgfx
2. Make src data const in zgfx. Harden zgfx to be independent to byte order
3. Fix written bytes return value in channel write
4. Add check for return value in shadow_client.c
5. Add gfx callback to send surface command with frame marker pdu.
6. Check remain length for recv subroutine
7. Fix compile errors
2016-08-07 20:15:39 +08:00
zihao.jiang
746a754244 rdpgfx: Implementation for server side channel
server/shadow: support h264 codec with gfx channel
2016-08-07 20:14:33 +08:00
Marc-André Moreau
14cb6d33c6 freerdp: make modifications to NLA server-side fixes according to PR comments 2016-07-22 09:06:07 -04:00
Marc-André Moreau
801dc0f826 freerdp: add configurable NTLM SAM file option for server-side NLA 2016-07-21 18:58:24 -04:00
Marc-André Moreau
1ffbd774e9 freerdp: fix sending of TLS alert on NLA failure, add better handling of server-side NLA in shadow server 2016-07-21 17:53:20 -04:00
Armin Novak
44fc5b521d Added support for OpenH264 1.6 2016-07-04 12:42:57 +02:00
Norbert Federa
ae9460f02f protocol violation: rdp_read_extended_info_packet
The clientTimeZone and all subsequent fields in the Extended Info Packet
(MS RDPBCGR 2.2.1.11.1.1.1) are optional but were not handled as such.
2016-06-27 10:56:40 +02:00
Norbert Federa
6a3b48d4f0 freerdp: remove static inet_ntop
inet_ntop is already implemented in winpr
2016-06-15 18:01:38 +02:00
Giovanni Panozzo
01a8db2c17 Fix some memory leaks in freerdp_settings_free() 2016-06-02 10:23:28 +02:00
akallabeth
345478bd8e Merge pull request #3376 from realjiangms/fix_client_gfx
channels/rdpgfx: Fix for gfx client
2016-05-31 09:37:31 +02:00
Norbert Federa
7a42a8dd5b freerdp/core/gcc: channel name hardening
According to [MS-RDPBCGR 2.2.1.3.4.1 Channel Definition Structure]
the channel name must be an 8-byte array containing a null-terminated
collection of seven ANSI characters that uniquely identify the channel.

We did not check if the transmitted name was null-terminated which
could have the usual severe effects on stabiliy and security since
the channel name is used in several functions expecting a null-
terminated string (strlen, printf, etc.)
2016-05-30 14:40:23 +02:00
Ondrej Holy
e326e43e66 codec/xcrush: Fix endianness in compression
Compression doesn't work on big endian machines currently. The recieved
data are stored as little endian. Use conversion macros from endian.h to
load and store the data properly.

The patch fixes following error (so -compression option is no more needed
on big endian machines):
[06:42:14:782] [13772:13773] [ERROR][com.freerdp.core] - Decompression failure!
[06:42:14:782] [13772:13773] [ERROR][com.freerdp.core.fastpath] - bulk_decompress() failed
[06:42:14:782] [13772:13773] [ERROR][com.freerdp.core.fastpath] - fastpath_recv_update_data() fail
[06:42:14:782] [13772:13773] [ERROR][com.freerdp.core.transport] - transport_check_fds: transport->ReceiveCallback() - -1

https://github.com/FreeRDP/FreeRDP/issues/2520
2016-05-30 13:37:15 +02:00
zihao.jiang
e7d9e91864 channels/rdpgfx: Make freerdp_client_codecs_prepare calls codec reset. It fix broken h264 client from #3328. Also it doesn't make sense that we don't need width and height for codec initialization while we need them for codec reset 2016-05-30 02:00:05 +08:00
Norbert Federa
e8c4910e2e fix segfaults casused by size_t format specifier
win32/msvc cc does not recognize the %z format specifier which caused
invalid references and segfaults on win32.
Until FreeRDP gets format specifier macros we'll cast size_t to
unsigned long and use the %lu specifier.

Also simplified winpr_backtrace_symbols() a little bit and fixed it
to allocate the correct amount of bytes for the return buffer.
2016-05-27 15:55:28 +02:00
byteboon
158be3a9f0 fixed kerberos authentication
Details: cbSecurityTrailer was assumed to be a fixed length for all signatures, however for Kerberos authentication the signature may generate smaller than this value
2016-05-16 09:53:38 -07:00
Hardening
4e66df7228 Merge pull request #3333 from akallabeth/memleak_fixes
Memleak fixes
2016-05-13 11:32:48 +02:00
Marc-André Moreau
1b97593642 Merge pull request #3341 from awakecoding/xcrush_fix
proper xcrush context reset fix
2016-05-12 14:38:23 -04:00
Marc-André Moreau
a75d89d615 libfreerdp-codec: make proper xcrush context reset fix 2016-05-12 14:24:53 -04:00
Marc-André Moreau
ed326f6662 Merge pull request #3339 from awakecoding/xcrush_fix
libfreerdp-codec: fix xcrush decompression, revert remote control fix
2016-05-12 09:41:57 -04:00
Marc-André Moreau
892531d492 libfreerdp-codec: fix xcrush decompression, revert remote control fix 2016-05-12 09:22:24 -04:00
Armin Novak
eacf2b542e Fixed memory leaks. 2016-05-12 10:01:30 +02:00
Marc-André Moreau
9b7c53c90a Merge pull request #3329 from awakecoding/hv_fix
freerdp: fix Hyper-V connectivity, fix issues #2421 and #3325
2016-05-11 17:00:35 -04:00
Marc-André Moreau
b24df90063 Merge pull request #3330 from awakecoding/xcrush_fix
xcrush context flush fix
2016-05-11 16:47:50 -04:00
Marc-André Moreau
a0630dee07 libfreerdp-codec: fix xcrush context flush 2016-05-11 16:35:20 -04:00
Marc-André Moreau
e4714f3422 freerdp: fix Hyper-V connectivity, fix issues #2421 and #3325 2016-05-11 15:52:36 -04:00
Marc-André Moreau
56f9b18276 libfreerdp-codec: fix error on empty RFX tileset, which can sometimes happen 2016-05-11 13:53:34 -04:00
Marc-André Moreau
54cdd6a1ae channels/rdpgfx: fix resetting of codec contexts 2016-05-11 13:42:54 -04:00
Marc-André Moreau
915b9a15b1 Merge branch 'master' of github.com:FreeRDP/FreeRDP
Conflicts:
	winpr/libwinpr/bcrypt/CMakeLists.txt
2016-05-11 11:05:17 -04:00
Bernhard Miklautz
a61a642c9a core: don't advertise multi layout PDUs
If support for multi layout PDUs is advertised there are known issues
with Windows 7 and Windows 2008R2. Until those are resolved generally
disable multi layout PDUs.

See #3114 for details.
2016-05-04 09:47:23 +02:00
Bernhard Miklautz
f828595609 Merge pull request #3282 from akallabeth/input_arg_checks
Added argument checks for exported input functions.
2016-05-03 17:04:45 +02:00
Bernhard Miklautz
221a292b04 Merge pull request #3263 from akallabeth/tofu
Added command line option /cert-tofu
2016-05-03 16:27:15 +02:00
Armin Novak
115f59d9b0 Added argument checks for exported input functions. 2016-05-03 16:17:22 +02:00
Bernhard Miklautz
9d98759801 libfreerd/color: fix typo
Source: http://anonscm.debian.org/cgit/collab-maint/freerdp2.git/commit/?id=f3c1f25bbfe0f17a0d1317096984b73db6fa1f38
2016-05-02 18:32:32 +02:00
akallabeth
a62d962bc7 Merge pull request #3250 from mfleisz/cssp_v3
core: Add support for CredSSP version 3
2016-04-26 09:59:40 +02:00
Norbert Federa
9f148e6712 core: allow TS Gateway protocol violation
According to [MS-RDPBCGR 2.2.1.11.1.1.1] the TS_EXTENDED_INFO_PACKET
structure's cbClientAddress field must include the _mandatory_ NULL
terminator of the clientAddress field in its byte count.
However, connections proxied via Microsoft's TS Gateway set the
cbClientDir value to 0.
2016-04-19 14:09:58 +02:00
Norbert Federa
4ae77b8273 core: allow ms android client protocol violation
According to [MS-RDPBCGR 2.2.1.11.1.1.1] the TS_EXTENDED_INFO_PACKET
structure's cbClientDir field must include the _mandatory_ NULL
terminator of the ClientDir field.
However, since version 8.1.31.44, the Microsoft Remote Desktop Client
for Android sets cbClientDir to 0.
2016-04-11 10:50:27 +02:00
Norbert Federa
6ee445339b core: fix broken rdp security (server side)
- fixed typo in rdp_server_establish_keys
2016-04-08 14:47:35 +02:00
Armin Novak
53445768ed Added command line option /cert-tofu 2016-03-31 12:16:55 +02:00
Bernhard Miklautz
a0d9969a30 Merge pull request #3254 from akallabeth/avc444_cmd_arg
Added advanced gfx command line options.
2016-03-31 11:43:38 +02:00
Marc-André Moreau
cedf6d98e2 freerdp: more UWP porting 2016-03-29 20:34:52 -04:00
Marc-André Moreau
4d629a7999 freerdp: UWP porting 2016-03-29 16:03:15 -04:00
Bernhard Miklautz
9e8c6c99b6 First shot on fixing over linking
If a target is linked against libraries with cmake
(target_link_libraries) and the libraries are not marked as PRIVATE
they are "exported" and in case a other target is linked against this
target it is also linked against *all* (not private) libraries.

Without declaring private libraries PRIVATE a lot of over linking
(linking against unneeded libraries) was done.
2016-03-29 18:14:34 +02:00
Armin Novak
50873be062 Added advanced gfx command line options. 2016-03-24 16:36:43 +01:00
Martin Fleisz
5d956ebbb1 core: correctly set last error on credssp errors 2016-03-21 16:58:09 +01:00
Martin Fleisz
34a7c1860d core: Propagate credssp error code by setting last error 2016-03-21 10:23:18 +01:00
Martin Fleisz
1c2d315354 core: Add support for CredSSP version 3 2016-03-18 13:32:13 +01:00
David FORT
2cb3717d65 Fixed a typo in debug messages 2016-03-17 10:44:11 +01:00
Armin Novak
7faff04ec0 Assume the update rectangle is inclusive. 2016-03-16 13:46:47 +01:00
Armin Novak
dfdc4c38f9 Fixed comments. 2016-03-16 13:43:18 +01:00
Armin Novak
5bc333c626 Implemented GFX AVC444 support. 2016-03-16 13:43:18 +01:00
Armin Novak
3309bf8f9c Implemented YUV444 related primitives. 2016-03-16 13:43:17 +01:00
Armin Novak
3a3ec85898 Unified RDPGFX_RECT16 and RECTANGLE_16 2016-03-16 13:43:17 +01:00
Bernhard Miklautz
228f6b116b Merge pull request #3207 from akallabeth/mic_crash_fix
Fixed error handling for channel load failures.
2016-03-16 13:03:33 +01:00
Armin Novak
059c754b0d Fixed double free. 2016-03-16 12:39:36 +01:00
Marc-André Moreau
9211f44e46 Merge branch 'master' of github.com:FreeRDP/FreeRDP 2016-03-15 20:19:15 -04:00
Martin Fleisz
b2d24a4dd2 freerdp: Fix possible crash when setting error info in server-mode 2016-03-14 15:27:15 +01:00
Armin Novak
2dbc1a0b87 Reverted WTS API changes. 2016-03-14 13:19:08 +01:00
Armin Novak
d06723e297 Fixed return value for failed malloc. 2016-03-14 13:13:43 +01:00
Armin Novak
36cbf1b583 Fixed error handling for channel load failures. 2016-03-14 13:13:43 +01:00
Marc-André Moreau
3cbd7c08f7 freerdp: fix freerdp_connect possible incorrect status code 2016-03-11 14:42:16 -05:00
Martin Fleisz
66ae3f2c77 Merge pull request #3177 from akallabeth/codec_reset_fix
Fixed codec reset, now resetting resolution too.
2016-03-11 11:22:59 +01:00
David FORT
b3c0478305 Don't require HOME env var to be set for server-side code 2016-03-09 14:10:31 +01:00
Armin Novak
2208a84cd4 Moved assistance to winpr crypto. 2016-03-07 11:51:13 +01:00
Norbert Federa
de4adeff0e fix logon info processing
since there have been reports that certain windows versions send
zero values in the cbDomain field of the Logon Info Version 2
(TS_LOGON_INFO_VERSION_2) struct we allow zero values for cbUserName
and cbDomain in rdp_recv_logon_info_v1 and rdp_recv_logon_info_v2.
2016-03-04 00:45:26 +01:00
Norbert Federa
ef4b29e5b3 ConvertFromUnicode fixes and misc hardening
- Added missing ConvertFromUnicode checks
- If ConvertToUnicode allocates memory, guarantee the null termination
  similar to ConvertFromUnicode's implementation
- Fixed some TestUnicodeConversion.c CTest return values
- Added some CTests for ConvertFromUnicode and ConvertToUnicode
- Misc code and protocol hardening fixes in the surrounding code regions
  that have been touched
2016-03-03 16:56:19 +01:00
David FORT
f5ce5e72dd Fix parsing of saveSessionInfo PDU
This should fix the case when no username is sent (issue #3186).
2016-03-03 11:45:12 +01:00
Armin Novak
7dcba9a663 Removed additional '\0' from TUNNEL_AUTH message. 2016-03-03 09:11:28 +01:00
Armin Novak
5bb68a0b39 Fixed broken resource cleanup. 2016-03-02 14:46:33 +01:00
Armin Novak
8997c6c03a Added log messages for unsupported surface commands. 2016-03-02 14:46:33 +01:00
Armin Novak
2e110c7f35 Fixed codec reset, now resetting resolution too.
H264 and others require the surface resolution to work properly.
This initializes the codecs and the resolution on reset.
2016-03-02 14:46:33 +01:00
Bernhard Miklautz
e02af8287e Merge pull request #3160 from akallabeth/stream_fixes
Stream fixes
2016-03-01 16:44:19 +01:00
Armin Novak
e7814d5855 Fixed stream API for Stream_Copy. 2016-03-01 12:57:48 +01:00
Bernhard Miklautz
014f31db35 Merge pull request #3171 from akallabeth/crypto_simplification
Crypto simplification
2016-02-29 17:10:53 +01:00
Bernhard Miklautz
25506348d0 Merge pull request #3168 from akallabeth/visibility_fixes
Fixed default visibility.
2016-02-29 16:59:58 +01:00
Armin Novak
46fa7ec481 Fixed invalid stream copy length. 2016-02-29 12:51:54 +01:00
Armin Novak
b429d230cb Refactored crypto *_New functions. 2016-02-29 09:00:02 +01:00
Armin Novak
92c15783dc Updated RC4 API, fixed crashing bug. 2016-02-28 11:19:29 +01:00
Armin Novak
238ff3b315 Unified encryption functions. 2016-02-27 23:28:49 +01:00
Armin Novak
5805ba8e52 Removed crypto_nonce. 2016-02-27 22:40:43 +01:00
Armin Novak
1036f1e296 Fixed default visibility.
When nothing is declared, only export symbols defined
with WINPR_API or FREERDP_API defined.
Override this setting if BUILD_TESTING to allow tests
access to internal functions usually not exposed.
2016-02-26 19:44:14 +01:00
Armin Novak
dccf40c2bc Fixed duplicate loading of smartcard and printers. 2016-02-26 15:21:11 +01:00
Martin Fleisz
4f22682ed2 Merge pull request #3151 from akallabeth/timezone_refactor
Timezone refactor
2016-02-26 09:57:35 +01:00
Hardening
4217262680 Merge pull request #3156 from akallabeth/ssl_wrapper_merge
Ssl wrapper merge
2016-02-26 09:52:43 +01:00
Armin Novak
fe8f5dee82 Fixed indentation. 2016-02-26 09:32:17 +01:00
Armin Novak
7a253bae42 Replaced magic numbers with defines. 2016-02-26 09:27:53 +01:00
Armin Novak
e79eee2bb1 Fixed Stream API misuse. 2016-02-25 20:01:12 +01:00
Armin Novak
b61ab5ecb7 Fixed stream copy in update_message_SurfaceCommand 2016-02-25 19:37:20 +01:00
Bernhard Miklautz
8bdad1eb93 Merge pull request #3140 from hardening/printer_work
Misc changes
2016-02-25 16:57:34 +01:00
Armin Novak
fd415cd10a Fixed missing semicolon. 2016-02-25 09:02:46 +01:00
Armin Novak
f997421098 Unified hmac functions. 2016-02-24 21:50:08 +01:00
Armin Novak
4ca6b9bf10 Unified random functions and remaining MD5. 2016-02-24 20:41:01 +01:00
Armin Novak
95058c64d1 Fixed argument checks and return values. 2016-02-24 20:16:33 +01:00
Armin Novak
ada2b16c50 Unified RC4 functions. 2016-02-24 17:04:03 +01:00
Armin Novak
06da644007 Unified md5 functions. 2016-02-24 16:46:25 +01:00
Armin Novak
0e4ea3943a Unified sha1 functions. 2016-02-24 16:36:15 +01:00
Armin Novak
447ac23aee Refactored timezone functions. 2016-02-24 09:28:30 +01:00
akallabeth
7c5fcc9ee2 Merge pull request #3149 from bmiklautz/feb22
Misc fixes
2016-02-23 20:23:52 +01:00
Bernhard Miklautz
738f55a6a8 Merge pull request #3119 from akallabeth/abort_event_reset
Resetting abortEvent only on connect and reconnect.
2016-02-23 17:14:08 +01:00
Armin Novak
d28cb6ac6a Removed function call with invalid arguments. 2016-02-23 16:32:47 +01:00
Armin Novak
24c93e4de7 Resetting abortEvent only on connect and reconnect. 2016-02-23 16:32:47 +01:00
Bernhard Miklautz
dd93fd2b3d timezon: add support for tz package
Some distributions don't use /etc/localtime but /etc/TZ instead. If
/etc/localtime isn't find try this.

For details see #2818
2016-02-23 16:25:05 +01:00
Bernhard Miklautz
be02849ece tcp: set the timeout to 9s
Set the TCP_USER_TIMEOUT to 9s as suggested by @giox069.
See #3015 for details
2016-02-23 15:40:20 +01:00
volth
8b9c40248a Increase TCP_USER_TIMEOUT to avoid disconnections.
TCP_USER_TIMEOUT value is too small, it is only 4 seconds. 
That causes random disconnections reported in the bug report https://github.com/FreeRDP/FreeRDP/issues/2802
This patch should fix the bug report https://github.com/FreeRDP/FreeRDP/issues/2802
2016-02-23 15:40:20 +01:00
Bernhard Miklautz
e6f013eac7 fix spelling
replace occured with occurred
Fixes #3142
2016-02-22 17:01:43 +01:00
Giovanni Panozzo
1dea98026a Fix char signedness in glyph offset calculation, fixes #2137 2016-02-21 18:15:32 +01:00
David FORT
1b2b1c4ac1 Add support for saveSessionInfo PDU
This patch adds some callbacks so that the client can have access to the informations
stored in this packet. Server-side implementation is also there, so that a server
can send these informations to the client.
2016-02-18 14:19:36 +01:00
David FORT
a53cb8190b Added missing checks 2016-02-16 22:24:51 +01:00
Hardening
2a3e9996b3 Merge pull request #2710 from akallabeth/cert_temp_accept_v2
Extended certificate callbacks.
2016-02-15 13:52:47 +01:00
Nathan Kidd
d68e58a9dc libfreerdp-codec: Make region16_rects() handle NULL nbRects
Now matches header documentation.  Also cleans up related doc grammar.
2016-02-12 10:11:51 -05:00
Hardening
cbd1ffa571 Merge pull request #3110 from akallabeth/mac_os_ssl_warning_fix
Mac os ssl warning fix
2016-02-11 22:21:33 +01:00
Armin Novak
f4568295e9 Fixed API for old openssl versions < 1.0.0 2016-02-05 11:52:07 +01:00
Armin Novak
0e2208e942 Fixed warning. 2016-02-05 02:04:57 +01:00
Armin Novak
cbf2892ccc Implemented temporary certificate accept.
Certificates can now be accepted temporarily.
The callbacks for certificate validation have been
modified to extend the information presented to the user.
2016-02-05 02:04:57 +01:00
Armin Novak
16699000c4 Fixed allocation issue with common_name. 2016-02-05 02:04:00 +01:00
Martin Fleisz
56a0c4c336 Merge pull request #3097 from akallabeth/android_api_upgrade_v4
Android api upgrade and restructuring
2016-02-04 16:20:59 +01:00
Armin Novak
3b0f5b5b48 Removed obsolete APPLE preprocessor switch. 2016-02-04 12:55:11 +01:00
Armin Novak
1b3ac98582 rdp_print_errinfo now uses INFO log level. 2016-02-04 11:41:54 +01:00
Armin Novak
cdadb58f93 Function freerdp_set_error_info fix
The public function did not wrap rdp_set_error_info.
2016-02-04 11:40:42 +01:00
Armin Novak
ad36a5c10f Disconnect log message now uses debug level. 2016-02-04 11:39:57 +01:00
Christian Plattner
c0226d686c Enable support for SNI on client side 2016-02-04 08:34:51 +01:00
Armin Novak
10956f3179 Fixed constant definition. 2016-02-03 11:51:31 +01:00
Armin Novak
22f704c0a8 Fixed _socket error check. 2016-02-03 11:45:22 +01:00
Vic Lee
73f895fd55 gcc: assigned string must not be freed. 2016-02-03 13:34:58 +08:00
Armin Novak
9b0ef3a4ec Fixed stdint.h and stdbool.h detection. 2016-02-02 18:28:15 +01:00
Armin Novak
cd05ea7452 Fixed error checks for command line parser. 2016-02-01 15:18:34 +01:00
Bernhard Miklautz
8ec39039e5 Merge pull request #3076 from akallabeth/remove_fixed_size_heap_strings
Removed fixed size strings.
2016-02-01 13:02:38 +01:00
MartinHaimberger
e83f97b64a Merge pull request #3093 from hardening/last_write_checks
Check more Stream_EnsureCapacity results when writing capabilities
2016-01-28 15:26:04 +01:00
MartinHaimberger
83b706c4be Merge pull request #3092 from akallabeth/get_build_config
Added get_build_config functions.
2016-01-28 15:23:24 +01:00
David FORT
b6dd7bbb88 Check more Stream_EnsureCapacity results when writing capabilities 2016-01-28 15:12:26 +01:00
Hardening
a2aa56ee28 Merge pull request #3067 from akallabeth/reset_abort_event
Resetting abort event on freerdp_connect.
2016-01-28 14:28:51 +01:00
Armin Novak
035f127081 Added get_build_config functions. 2016-01-28 14:26:50 +01:00
Hardening
d458bc2e06 Merge pull request #3073 from davewheel/cert_key_in_memory
Allow to specify the raw content of crypto materials
2016-01-27 10:50:38 +01:00
Hardening
7af1ec85f0 Merge pull request #3083 from akallabeth/capability_set_fix
Fix #3081, set client string encoding.
2016-01-27 10:45:54 +01:00
Armin Novak
974d2ef433 Fix #3081, client string encoding. 2016-01-27 10:34:01 +01:00
Martin Fleisz
a9e4ba0118 Merge pull request #3069 from davewheel/4upstream-1
Improve monitor support
2016-01-27 10:18:30 +01:00
David FORT
708d0cb3c0 Check server and client capabilities
Most of the capabilities are sent by both the client and the server. But for some
the specs specify that they are only supposed to be only send by the server or the client.
This patch ensures this. Without this patch a malicious client can change server settings
and a malicious server can modify client settings.
2016-01-26 16:14:48 +01:00
Armin Novak
106479d6f2 Fixed clientNameLen initialization. 2016-01-26 09:34:22 +01:00
David FORT
137825ed9f Stream_EnsureCapacity return value aren't checked in capabilities_write 2016-01-25 19:11:35 +01:00
Giovanni Panozzo
c5a4ce7893 Improve error logging after calling some BIO_ functions 2016-01-23 11:39:38 +01:00
Armin Novak
73ec3d6aca Removed fixed size strings. 2016-01-21 15:45:21 +01:00
davewheel
d5b8585a39 Allow to specify the raw content of crypto materials
Sometime it's possible that your server application doesn't have access to files
(when running in a very restricted environment for example). This patch allows
to ship the private key and certificate as a string.

Sponsored by: Wheel Systems (http://www.wheelsystems.com)
2016-01-21 11:27:06 +01:00
davewheel
121a234866 Add better handling of monitors
This patch makes FreeRDP announce the support for monitor layout PDU. It also
adds support for servers to announce the monitors layout.
2016-01-20 16:56:04 +01:00
davewheel
ca9e908f3c Fix a security issue in monitors packet handling
The number of announced monitors was not checked, so if a client was announcing
a big number, it could override other fields in settings and more...
2016-01-20 16:56:04 +01:00
Armin Novak
5542fef75d Resetting abort event on freerdp_connect. 2016-01-18 10:08:12 +01:00
Armin Novak
93f3c060d2 Fixed memory overlap check. 2016-01-18 09:32:34 +01:00
Armin Novak
123cd523e0 Fixed SRCCOPY, using memmove now.
memcpy is not defined, if source and destination overlap.
2016-01-18 09:18:42 +01:00
Armin Novak
a0d6a1f77f Fixed memory leak. 2016-01-15 09:33:21 +01:00
Hardening
1210421b62 Merge pull request #3046 from bmiklautz/tls12
tls: enable tls 1+
2016-01-12 20:46:53 +01:00
Bernhard Miklautz
aa80f63b4a tls: enable tls 1+
Currently TLS version 1.0 is used implicitly by using the TLSv1_method.
To be able to also use TLS 1.1 and later use SSLv23_client_method
instead. To make sure SSLv2 or SSLv3 isn't used disable them.
2016-01-12 17:43:14 +01:00
Bernhard Miklautz
6fa3608111 cleanup cmake exports and pkg-config files
With this commit the "exported" components (usable with pkg-config and
cmake find module package)
* winpr - winpr library and headers
* freerdp - core library and headers
* freerdp-client - client specific library
* freerdp-server - server specific library
* rdtk - rdtk headers and library

To allow the installation of multiple different version (different major
number) the include files were moved into the respective sub folder:
freerdp -> freerdp{MAJOR}/freerdp (currently freerdp2/freerdp/)
winpr -> winpr{MAJOR}/winpr (currently winrp1/winpr/)
rdtk -> rdpk{MAJOR}/rdtk (currently rdtk0/rdtk/

The generated pkg-config and cmake find modules now also include the major
version number. Currently the following pkg-config are generated and
installed.
* winpr1
* freerdp2
* freerdp-server2
* freerdp-client2
* rdtk0

As cmake is able to handle multiple versions out of the box the
following can be used to find a specific module:

find_package(WinPR)
find_package(FreeRDP)
find_package(FreeRDP-Server)
find_package(FreeRDP-Client)
find_package(RdTk)

As cmake doesn't automatically resolve dependencies for packages it is
necessary to manually include the requirements. For example if
FreeRDP-Client is required WinPR and FreeRDP need to be included
(find_package) as well.

This commit also fixes the installation when STATIC_CHANNELS are built.
WITH STATIC_CHANNELS all channels are linked into libfreerdp-client, for
this all channels are generated as linker archive and linked together in
the final step. Before the intermediate linker archives were, although
not required and useful, installed. Same applies for server side
channels.
2016-01-12 17:32:33 +01:00
Hardening
df81e842a5 Merge pull request #2932 from realjiangms/fix_gdi_brush
GDI: Fix usage of gdi_get_brush_pointer.
2015-12-18 10:50:51 +01:00
Bernhard Miklautz
97edeca204 Merge pull request #2874 from akallabeth/stdtypes
Using stdint.h and stdbool.h for type definitions
2015-12-17 16:37:54 +01:00
Hardening
b35d0aa8aa Merge pull request #2779 from RolKau/2779_ptrbtn
Send correct buttons when using a left-handed mouse
2015-12-17 00:04:53 +01:00
Bernhard Miklautz
d03b38765a Merge pull request #2816 from akallabeth/known_hosts_locking
Known hosts locking
2015-12-16 19:03:15 +01:00
Roland Kaufmann
600d3c5ccb Add option to disable pointer button mapping
In case the old behaviour of not reverse-mapping the mouse buttons is
desirable, a command-line option is added to disable the mapping. This
option is made experimental for the time being.

The default is to do the reverse mapping, as this is the intuitive
behaviour (the mouse then works as it would on the console).
2015-12-15 17:42:57 +01:00
Armin Novak
6ed43cd6ec Updated pdb file locations.
Now supporting generators NMake and Visual Studio.
2015-12-15 12:08:35 +01:00
Armin Novak
cb958ba9c6 Added pdb files to package target.
Fixed name collision with freerdp-shadow targets.
2015-12-15 12:07:21 +01:00
Binyamin Sagal
23fea1615f Fix horizontal scrolling direction and capability detection 2015-12-14 21:48:31 +02:00
Armin Novak
a5db7117c8 Implemented horizontal wheel support.
Horizontal mouse wheel input capabilities are now checked
and if available mouse buttons 6 and 7 are mapped to the
horizontal wheel for the X11 client.
2015-12-14 18:29:23 +01:00
Bernhard Miklautz
7f7ef1a464 Merge pull request #2831 from akallabeth/gdi_fix
Fixed GDI_BITMAP, now using custom deallocation function.
2015-12-14 17:58:25 +01:00
Armin Novak
00b8d802d2 Fixed callback function return 2015-12-14 14:18:50 +01:00
Armin Novak
74c15a6309 Fixed freerdp_assistance_file_new argument declaration 2015-12-14 14:18:50 +01:00
Bernhard Miklautz
b02943ae98 Merge pull request #2928 from akallabeth/non_verbose_VerifyX509Certificate
Silenced VerifyX509Certificate logging.
2015-12-11 12:09:33 +01:00
Armin Novak
65062633c2 Fixed memory leak. 2015-12-10 13:57:05 +01:00
Armin Novak
df528cefc5 Using locking winpr file functions for known hosts. 2015-12-09 18:29:41 +01:00
Hardening
17a1127341 Merge pull request #2976 from akallabeth/mac_audin_support
Added audin support for mac os.
2015-12-09 14:56:56 +01:00
Hardening
57fe581b16 Merge pull request #2824 from bjcollins/nla_auth_exit_code
Return FREERDP_ERROR_AUTHENTICATION_FAILED on an authentication failure
2015-12-08 22:46:29 +01:00
Nito Martinez
2d5c78849e Fix formatting: else if in its own line and no brackets for single statements 2015-11-26 09:50:03 +01:00
Nito Martinez
89d8a68f4a Disable setting socket options for preexisting socket like: keepalive and tcp_nodelay, these should be set extenally if needed. Do not close the socket if the clientaddress could not be set 2015-11-25 08:36:49 +01:00