Commit Graph

1547 Commits

Author SHA1 Message Date
Armin Novak
7d8ab23877 WSAEvent fixes ported from realjiangms pull 2870. 2015-09-05 15:18:01 +02:00
Armin Novak
188fe4ed2b Removed rdp disconnect, using unified abortEvent instead. 2015-09-05 14:57:30 +02:00
Armin Novak
3b8043264f Resetting channel error on connect. 2015-09-03 13:46:17 +02:00
Bernhard Miklautz
1f13781fe1 Merge pull request #2855 from akallabeth/memleak_fixes
Memleak fixes
2015-08-31 09:50:21 +02:00
Armin Novak
893e7a35a8 Fixed broken cleanup code. 2015-08-31 09:13:15 +02:00
Bernhard Miklautz
05c02da742 settings: update settings/help to match
* wallpaper was off but help said "default: on"
* compression is on but help said "default: off"

Fixes #2853
2015-08-28 11:09:38 +02:00
Armin Novak
dd9d66a3e6 Fixed NONNULL argument warnings. 2015-08-28 10:59:48 +02:00
Armin Novak
07bba9b623 Fixed NONNULL argument warnings. 2015-08-28 10:58:20 +02:00
Armin Novak
c3a1f56f77 Resetting signals on freerdp_connect. 2015-08-27 15:53:37 +02:00
Armin Novak
fda56c0dbb Added missing NULL pointer checks. 2015-08-27 15:33:06 +02:00
Armin Novak
7ebf4879f0 Fixed uninitialised events. 2015-08-27 15:33:06 +02:00
Armin Novak
4cfd7a48cd Aborting transport layer now if requested. 2015-08-27 15:33:06 +02:00
Armin Novak
134a16d522 Fixed WSAEventSelect mode reset. 2015-08-27 15:33:06 +02:00
Armin Novak
1cbeb10074 Added unit test for freerdp_connect
* Tests connection to not existing host (timeout)
* Tests connection to not exising host with abort.
* Tests connection to sfreerdp-server on localhost.
2015-08-27 15:33:06 +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
223e0c7900 Merge pull request #2785 from MartinHaimberger/mh-channel-fix
Channel hardening and fixing
2015-08-27 09:24:10 -04:00
Martin Haimberger
52405a3e79 Remove WIN32ERROR type
All return values are UINT now.
2015-08-27 05:38:20 -07:00
Vic Lee
6f639c1e34 gcc: read and write desktop scale settings in core data. 2015-08-27 16:19:40 +08:00
Vic Lee
8394d8c677 gcc: read and write monitor extended data. 2015-08-27 15:26:37 +08:00
Martin Haimberger
420a86e1c7 Merge remote-tracking branch 'upstream/master' into mh-channel-fix
Conflicts:
	channels/drdynvc/client/drdynvc_main.c
	channels/rdpgfx/client/rdpgfx_main.c
	client/X11/xf_gfx.c
2015-08-25 00:07:04 -07:00
Marc-André Moreau
d7329194fc Merge branch 'master' of github.com:FreeRDP/FreeRDP 2015-08-04 11:55:38 -04:00
Martin Haimberger
2862109337 Merge remote-tracking branch 'upstream/master' into mh-channel-fix
Conflicts:
	channels/smartcard/client/smartcard_main.c
	channels/smartcard/client/smartcard_operations.c
2015-07-30 07:29:12 -07:00
Bernhard Miklautz
a22dc21c15 remdesk,encomps: misc fixes
* only free stream when an error occurs
* ignore unhanded messages instead of throwing an error
* fix memory leak in settings
2015-07-29 17:32:09 +02:00
Clive Stevens
99228ee254 Fix race condition in freerdp_channels_client_load
If g_pInterface is set to NULL outside the critical section in one thread
while another thread is in the critical section, the channel client context
allocated in the VirtualChannelEntry won't end up getting freed.

The channel client context is normally loaded from g_pInterface in
FreeRDP_VirtualChannelInit and stored in the pChannelInitData, then copied
from there onto the pChannelOpenData structure in FreeRDP_VirtualChannelOpen
and finally freed in freerdp_channels_free.
2015-07-29 14:26:33 +01:00
Marc-André Moreau
5cb06ecc68 Merge branch 'master' of github.com:FreeRDP/FreeRDP 2015-07-28 09:21:33 -04:00
Bernhard Miklautz
a342d40158 core/listner: fix possible problem in _free 2015-07-27 11:24:21 +02:00
Bernhard Miklautz
458d3b1593 transport: fix regression introduced with PR #2770
When the event is reset in transport_check_fds xfreerdp doesn't work and
consumes 100% CPU (see #2790). On windows this is require otherwise the
CPU consumption is 100% there.
This quick fix only resets the event on windows. It's a working approach
but definitely not the final solution.
2015-07-17 12:06:41 +02:00
Vic Lee
042cb250f3 Merge pull request #2770 from akallabeth/bio_event_reset
Resetting frontBio after read now.
2015-07-16 06:57:46 -07:00
Martin Haimberger
6ab0187d84 Merge remote-tracking branch 'upstream/master' into mh-channel
Conflicts:
	channels/audin/client/oss/audin_oss.c
	channels/drive/client/drive_main.c
	channels/printer/client/printer_cups.c
	channels/printer/client/printer_main.c
	channels/rail/client/rail_main.c
	channels/rdpgfx/client/rdpgfx_main.c
	channels/rdpsnd/client/oss/rdpsnd_oss.c
	channels/remdesk/client/remdesk_main.c
	channels/remdesk/server/remdesk_main.c
	channels/tsmf/client/tsmf_media.c
2015-07-15 01:57:07 -07:00
Martin Haimberger
b8c110d19b introduced channel error reporting system
The rdpContext gets an event which will
get set if an error occoured in a channel.

If a thread or a void callback has to report an
error it will get signaled by this system.
2015-07-15 00:50:35 -07:00
Bernhard Miklautz
68e8569110 winpr/synch: remove the dependency on winsock.h
winsock.h pulls in a lot of defines and dependencies that are not
required and partially unwanted in winpr's core (for parts that are not
related to network). In order to get rid of this dependency and have an
independent defines for extended winpr functions the WINPR_FD_* defines
are used internally (and for exposed functions). Where required, like in
WSAEventSelect, the FD_* is mapped to WINPR_FD_*.
2015-07-14 11:39:41 +02:00
Armin Novak
098eda9873 Error checks for BIO_get_event
ResetEvent before reading data from transport BIO.
2015-07-09 12:20:22 +02:00
Armin Novak
18cea1c9ba Replaced cbMaxSignature with cbSecurityTrailer
The token buffer size during authentication was constructed
from the wrong buffer size. These sizes are equal in case of
local account logins but differ with domain accounts.
2015-07-09 10:09:18 +02:00
Armin Novak
ecf6ffdcce Fixed CompleteAuthToken return check. 2015-07-09 09:57:45 +02:00
Armin Novak
cb01e540ba Fixed CompleteAuthToken return check. 2015-07-09 09:49:12 +02:00
Armin Novak
2fe5ecfc1b Fixed wrong output in log messages. 2015-07-08 17:41:23 +02:00
Martin Fleisz
9a2d33af12 Fixed missing encrypt / decrypt success check.
The return of EncryptMessage and DecryptMessage was unchecked.
This lead to PLAINTEXT to be sent over the wire, a major security
issue.
2015-07-08 17:41:23 +02:00
Armin Novak
48ccf73a36 More SSPI logging. 2015-07-08 17:41:22 +02:00
Armin Novak
5b0ee9b7ab Error checks and readable log messages. 2015-07-08 17:41:22 +02:00
Martin Fleisz
3b87cc0c07 Fixed server and client NLA state machine.
When using NULL credentials (current context)
the server state machine did not send back the
required authentication token.
On client side erroneous checks prevented sending
the appropriate public key.
2015-07-08 17:41:21 +02:00
Armin Novak
0120ee75ca Resetting frontBio after read now. 2015-07-07 14:48:27 +02:00
Armin Novak
d18b0fbeb4 Handle API updated. 2015-07-03 09:52:52 +02:00
Hardening
ac93b26ba8 Merge pull request #2750 from realjiangms/fix_win32_wsaevent
Fix event created for WSAEventSelect
2015-07-02 09:26:13 +02:00
Armin Novak
3a9db563fd NLA: Fixed length check. 2015-07-01 16:05:11 +02:00
Armin Novak
8479c824fd Fixed handling of optional TSPasswordCreds field. 2015-07-01 15:30:38 +02:00
Armin Novak
6c0e1af4af NLA decrypt credentials fixed. 2015-07-01 14:31:55 +02:00
zihao.jiang
75407edf37 Fix event created for WSAEventSelect: The event we pass to WSAEventSelect should be WSAEVENT instead of normal event.
From MSDN, it looks same as CreateEvent(NULL, FALSE, FALSE, NULL):
	The WSACreateEvent function creates a manual-reset event object with an initial state of nonsignaled. The event object is unnamed.
However they are not really equivalent. When we use normal event, the WSAEventSelect still works but the event appears to be 'auto-reset'.
2015-07-01 01:52:59 +08:00
Marc-André Moreau
161359f6ec libfreerdp-core: fix receiving of logon error info during capability exchange 2015-06-29 12:43:18 -04:00
Bernhard Miklautz
1cee185e3c hardening: check fread and fwrite return values 2015-06-26 20:38:30 +02:00
Norbert Federa
20878e50fe Merge pull request #2724 from bmiklautz/leak_fix
Fix leaks in certificate and identity handling
2015-06-26 15:30:00 +02:00
Bernhard Miklautz
77ef5a80de nla: clear identity memory before releasing 2015-06-26 15:12:33 +02:00
Norbert Federa
ac95b7274e Merge pull request #2727 from akallabeth/leak_fixes_reformat
Fixed leaks, NULL dereferences and broken init.
2015-06-26 15:01:08 +02:00
Marc-André Moreau
ddf2519f1e Merge pull request #2719 from bmiklautz/pull/2481
OSS, tsmf, usb and BSD fixes and improvements
2015-06-26 08:27:22 -04:00
Hardening
b411c11f6e Merge pull request #2729 from akallabeth/win_reg_key_by_vendor_product_define
Replaced hard coded registry keys with cmake defines.
2015-06-26 11:15:09 +02:00
Bernhard Miklautz
28e63786cd Integrate pull request feedback
Use while instead of for with additional variable where appropriate.
2015-06-25 10:33:54 +02:00
Armin Novak
e8bfa29bd2 Replaced registry keys with cmake defines. 2015-06-24 14:02:48 +02:00
Bernhard Miklautz
9f6fa7ef4c Fix possible endless loops on cleanup.
Some cleanup code possibly create endless loops because an unsigned
type was used as run variable but the check was >= 0 in the for loop.
2015-06-24 12:26:13 +02:00
Armin Novak
ee221315db Fixed loop condition. 2015-06-24 10:08:04 +02:00
Armin Novak
6698e24228 Fixed leaks, NULL dereferences and broken init. 2015-06-23 21:29:21 +02:00
Bernhard Miklautz
2e87d0ee52 Fix leaks in certificate and identity handling 2015-06-23 15:40:37 +02:00
Armin Novak
24fed46cda Fixed grabage return value. 2015-06-23 12:08:47 +02:00
Armin Novak
212db120e0 Fixed NULL pointer dereference. 2015-06-23 12:07:38 +02:00
Bernhard Miklautz
ff8d172a12 core: use error instead of debug
When the function would return with an error print an error message
instead of a debug message
2015-06-23 11:15:13 +02:00
Bernhard Miklautz
09445c2b0e nla and cmdline: integrated feedback
* fix possible problems with 0 size lengths
* add return value checks
2015-06-23 10:14:11 +02:00
Bernhard Miklautz
af81a91ea7 windows: fix compilation and warnings 2015-06-22 19:31:25 +02:00
Bernhard Miklautz
06502e6a91 misc: integrate pull request feedback 2015-06-22 19:24:30 +02:00
David FORT
7c3f8f33ab Fixes for malloc / calloc + other fixes
This patch contains:

* checks for malloc return value + treat callers;
* modified malloc() + ZeroMemory() to calloc();
* misc fixes of micro errors seen during the code audit:
** some invalid checks in gcc.c, also there were some possible
integer overflow. This is interesting because at the end the data are parsed
and freed directly, so it's a vulnerability in some kind of dead code (at least
useless);
** fixed usage of GetComputerNameExA with just one call, when 2 were used
in misc places. According to MSDN GetComputerNameA() is supposed to return
an error when called with NULL;
** there were a bug in the command line parsing of shadow;
** in freerdp_dynamic_channel_collection_add() the size of array was multiplied
by 4 instead of 2 on resize
2015-06-22 19:21:47 +02:00
Bernhard Miklautz
77927c213e android: fix misc compiler warnings
with gcc version arm-linux-androideabi-gcc (GCC) 4.8
2015-06-22 19:09:59 +02:00
Bernhard Miklautz
bf73f4e4f1 Fix unchecked strdups
* add missing checks
* adapt function return values where necessary
* add initial test for settings
2015-06-22 19:09:59 +02:00
Marc-André Moreau
3b3ffce042 Merge pull request #2705 from akallabeth/sspi_fix_v2
Sspi fix v2 - Fixes static build
2015-06-22 10:19:22 -04:00
Marc-André Moreau
9aabec73f5 Merge pull request #2713 from bmiklautz/divbyzero
core/metrics: prevent division by zero
2015-06-22 08:53:36 -04:00
Marc-André Moreau
1e39d7728c Merge pull request #2702 from akallabeth/nla_null_identity_support
NLA Use current users credentials if none provided.
2015-06-22 08:53:05 -04:00
Bernhard Miklautz
41ef7ca17c core/metrics: prevent division by zero 2015-06-19 17:21:16 +02:00
Norbert Federa
91a9b23b91 core: message channel pdu broken with rdp security
rdp_recv_message_channel_pdu always read the rdp security header
even if it was already previously read (which is the case if rdp
security is active)

This caused malfunctions and disconnects when heartbeat or bandwidth
autodetect packets were sent/received in rdp security mode.

Credit goes to @MartinHaimberger for identifying the broken code
part.
2015-06-19 14:49:17 +02:00
Martin Haimberger
6e4e1c2773 Merge remote-tracking branch 'upstream/master' into mh-stream-fix
Conflicts:
	client/Windows/wf_cliprdr.c
2015-06-18 03:06:40 -07:00
Martin Haimberger
d06da4f1bd hardend drdynvc channel 2015-06-18 03:04:28 -07:00
Vic Lee
2e11eac79a Merge pull request #2675 from akallabeth/path_make_path
Added PathMakePath function.
2015-06-18 02:43:47 +00:00
Armin Novak
3c329aa207 Using InitSecurityInterfaceEx(0) now. 2015-06-17 13:23:44 +02:00
Armin Novak
34253f2664 Let SSPI module choose which implementation to use. 2015-06-15 15:21:21 +02:00
Armin Novak
219ca1c02b NLA identity now a pointer, allowing NULL.
When NLA identity is NULL, the current user context
is used on windows.
2015-06-15 15:03:13 +02:00
Vic Lee
145fc10412 Merge pull request #2687 from akallabeth/known_hosts_v2
Store SSL fingerprints with host and port
2015-06-12 12:52:53 +00:00
Armin Novak
acc96388a5 Added certificate_get_fingerprint function to read out old one. 2015-06-11 09:14:15 +02:00
Vic Lee
d75ac1ec12 autodetect: use high-precision timer. 2015-06-11 15:12:27 +08:00
Armin Novak
5b7a44cd4a Removed CreateDirectoryA, handled by PathMakePath 2015-06-09 13:17:15 +02:00
Armin Novak
6b4cc2ff25 Fixed size of string buffer. 2015-06-02 12:45:35 +02:00
Armin Novak
ea1dae219d Added config compatibility for default builds. 2015-06-02 12:00:52 +02:00
Armin Novak
d3a88014da Fixed directory creation checks. 2015-06-02 10:01:10 +02:00
Armin Novak
dd1a03191d Fixed settings path creation. 2015-06-02 09:51:05 +02:00
Armin Novak
8f68b9c261 Using vendor/product scheme for settings now. 2015-06-02 09:50:53 +02:00
Hardening
29de9b6d4e Merge pull request #2658 from hardening/fix_2657
Fix for #2657
2015-05-29 17:58:30 +02:00
David FORT
84ae1d1cfb Take in account nfedera's remarks 2015-05-29 14:24:14 +02:00
David FORT
a9709a62cc Check some return values 2015-05-29 14:24:14 +02:00
David FORT
909a965fe9 Added misc checks in rdg.c 2015-05-29 14:24:14 +02:00
David FORT
d26ce6971c Fixed nfedera's remarks 2015-05-29 14:24:14 +02:00
David FORT
12f873f1f9 Fixed MessageQueue and callers 2015-05-29 14:24:14 +02:00
Hardening
4586450e27 Merge pull request #2661 from MartinHaimberger/mh-stream-fix
stream: check stream_new in winpr and libfreerdp
2015-05-29 14:12:59 +02:00
Martin Haimberger
951a2d2210 stream: check stream_new in winpr and libfreerdp
also fixed a few things
2015-05-29 04:46:50 -07:00
Hardening
2ec3734607 Merge pull request #2659 from oshogbo/unused
Remove unused variable.
2015-05-28 22:57:17 +02:00
ivan-83
307d22ca11 * debug and error messages now print function name and line number
* add debug messages to trace fake network dissconects
2015-05-27 23:48:07 +03:00
ivan-83
3912172fc8 + tsmf: OSS initial suppot (not work yet)
* tsmf: fix video playback on FreeBSD (proper shared object name)
* tsmf: renamed args: audio->sys, audio-dev->dev
* audin: OSS fix, now it work
* cmdline: add syntax help for /audin, /rdpsnd, /tsmf
* add debug messages
2015-05-27 23:22:36 +03:00
ivan-83
5ba4d6cd6c Code style changed. 2015-05-27 22:59:57 +03:00
ivan-83
0fda0eb0de Code style changed. 2015-05-27 22:59:57 +03:00
ivan-83
1009268158 * debug and error messages now print function name and line number
* add debug messages to trace fake network dissconects
2015-05-27 22:57:10 +03:00
ivan-83
94a7abd2af + tsmf: OSS initial suppot (not work yet)
* tsmf: fix video playback on FreeBSD (proper shared object name)
* tsmf: renamed args: audio->sys, audio-dev->dev
* audin: OSS fix, now it work
* cmdline: add syntax help for /audin, /rdpsnd, /tsmf
* add debug messages
2015-05-27 22:54:13 +03:00
Mariusz Zaborski
461497b8a5 Remove unused variable. 2015-05-27 16:04:06 +02:00
David FORT
85c350f5da Fix for #2657 2015-05-27 15:13:43 +02:00
Mariusz Zaborski
951dbd88de In c file the name is channelId. 2015-05-26 16:12:41 +02:00
Hardening
58b1995619 Merge pull request #2654 from oshogbo/typos
Typo
2015-05-26 16:10:41 +02:00
Marc-André Moreau
36cb1e6dc9 Merge pull request #2639 from awakecoding/master
WLog, server-side rdpdr, remote assistance, byteswap, etc
2015-05-22 14:30:11 -04:00
Marc-André Moreau
35e26020aa freerdp: patch multiple leaks and OOM errors 2015-05-22 14:14:57 -04:00
Bernhard Miklautz
7a1485a2e4 Merge pull request #2638 from kwitaszczyk/master
Assign peer to settings when a new RDP module is being initialized.
2015-05-22 13:36:00 +02:00
Marc-André Moreau
5526348079 Merge branch 'master' of github.com:FreeRDP/FreeRDP 2015-05-21 13:29:59 -04:00
Konrad Witaszczyk
8797eef9b9 Assign peer to settings when a new RDP module is being initialized. 2015-05-21 16:54:19 +02:00
Marc-André Moreau
b9c1cddc2e Merge pull request #2583 from bceverly/OpenBSD-cleanup
Two minor source code changes to remove warnings
2015-05-21 10:17:54 -04:00
Norbert Federa
cd0a8e0506 Merge pull request #2630 from hardening/new_2616
Add checks for some XXX_New and XXX_Add functions
2015-05-21 16:04:26 +02:00
David FORT
29d372480a Take in account nfedera's review 2015-05-20 19:19:50 +02:00
Marc-André Moreau
7e1dbd505b Merge branch 'awakecoding' of https://github.com/vworkspace/FreeRDP
Conflicts:
	channels/rdpdr/server/rdpdr_main.c
2015-05-20 11:40:48 -04:00
Armin Novak
e239c10fb9 Added client bandwidth measurement result callback. 2015-05-20 16:18:55 +02:00
Marc-André Moreau
29d14773c8 Merge branch 'master' of github.com:FreeRDP/FreeRDP
Conflicts:
	client/Windows/wf_client.c
	libfreerdp/common/assistance.c
2015-05-20 10:12:24 -04:00
Hardening
f8120919af Add checks for some XXX_New and XXX_Add functions
Based on PR #2616
2015-05-18 11:28:00 +02:00
Norbert Federa
51b697d4c8 transport/mfreerdp: fix async transport
- handle WAIT_TIMEOUT result as error in async transport thread
  if an INFINITE timeout was specified in WaitForMultipleObjects
- fix mfreerdp's async transport handling to not use
  freerdp_get_event_handles/freerdp_check_event_handles if async
  transport is activated
2015-05-14 21:57:16 +02:00
Norbert Federa
e99b84ef02 transport: fixed multiple errors in async thread 2015-05-11 21:55:58 +02:00
MartinHaimberger
e3236c2317 Merge pull request #2605 from nfedera/fix-2015-05-08-01
fixed multiple missing gdi return value checks
2015-05-11 16:59:32 +02:00
Norbert Federa
1eff1a345e free can handle NULL perfectly fine 2015-05-11 09:07:39 +02:00
Norbert Federa
71a4349928 fixed multiple missing gdi return value checks
mainly gdi_Create* functions
2015-05-08 21:39:23 +02:00
David FORT
acf13da91c Return FALSE under Win32 2015-05-08 10:07:29 +02:00
David FORT
21d9ffcb8f Test the number of listening handles 2015-05-08 10:05:39 +02:00
David FORT
fca4374919 Add the ability to have listener from an existing socket 2015-05-08 10:00:38 +02:00
Marc-André Moreau
30dd40e10a wfreerdp: fix and improve remote assistance 2015-05-07 14:20:49 -04:00
Hardening
a88adcbb7e Merge pull request #2601 from nfedera/fix-2015-05-07-01
Fix some unchecked create calls
2015-05-07 19:06:59 +02:00
Norbert Federa
509230f6b1 Merge pull request #2598 from clivest/stream_leak_fix
Fix two cases of stream resource leak
2015-05-07 18:24:47 +02:00
David FORT
c330a3715e Fix empty window title
When the size of a RAIL string was 0, we were reporting an OOM error.
2015-05-07 15:08:00 +02:00
Norbert Federa
f9f59cd29b Fix unchecked CreateDirectory calls 2015-05-07 13:28:13 +02:00
Marc-André Moreau
6b1fefea40 freerdp: fix remote assistance mode, add multi-address connection 2015-05-06 16:32:45 -04:00
Clive Stevens
2e41c5425b Fix whitespace 2015-05-06 15:54:23 +01:00
Clive Stevens
b06e50479e Fix two cases of potentially leaked streams 2015-05-06 15:23:37 +01:00
Bryan Everly
3b44bade4d Removed unnecessary include file. 2015-05-05 12:35:18 -04:00
Bryan Everly
9865854f3c Simplified random byte stream generation code to use SSL RAND_bytes() and also eliminated two more compiler warnings. 2015-05-05 12:33:44 -04:00
Norbert Federa
25fc866a58 Fix unchecked CreateThread calls and misc fixes 2015-05-05 13:55:48 +02:00
Bryan Everly
6485e94395 Freed memory buffer that was allocated in previous commit. 2015-05-04 13:14:00 -04:00
Bryan Everly
f7db1aea9a Fixed stream leak in modified code 2015-05-04 09:53:15 -04:00
Bryan Everly
a7e77dfced Fixed unchecked malloc() error 2015-05-02 12:06:18 -04:00
Bryan Everly
df9ae5e31b Changed the xf_tsmf.c code to test for zero visible rectangles for all platforms. Modified arc4random() change to actually have a skeletal implementation in winpr for BCryptGenRandom() on all platforms. 2015-04-30 10:12:37 -04:00
Norbert Federa
ef1fd12b15 Fix unchecked CreateEvent calls and misc fixes
1)
Added missing checks for CreateEvent which also required the
following related changes:

- changed freerdp_context_new API to BOOL
- changed freerdp_peer_context_new API to BOOL
- changed pRdpClientNew callback to BOOL
- changed pContextNew callback to BOOL
- changed psPeerAccepted callback to BOOL
- changed psPeerContextNew callback to BOOL

2)
Fixed lots of missing alloc and error checks in the
changed code's neighbourhood.

3)
Check freerdp_client_codecs_prepare result to avoid segfaults
caused by using non-initialized codecs.

4)
Fixed deadlocks in x11 caused by missing xf_unlock_x11() calls
in some error handlers

5)
Some fixes in thread pool:
- DEFAULT_POOL assignment did not match TP_POOL definition
- don't free the pool pointer if it points to the static DEFAULT_POOL
- added error handling and cleanup in InitializeThreadpool
2015-04-29 18:18:39 +02:00
Bryan Everly
6ed90e831e Fixed linker warning about insecure crypto and fixed compiler warning about unsigned being compared to less than zero 2015-04-28 10:50:29 -04:00
Jonathan Kaplan
8dee5dab27 Fix issue when numWindowIds is 0 2015-04-28 00:21:38 -07:00
Norbert Federa
af79c30913 Merge pull request #2554 from akallabeth/event_fix
Fix for transport event reset
2015-04-22 11:04:37 +02:00
Hardening
6cd7713e12 Merge pull request #2544 from bmiklautz/boolenization
change return types of callbacks to BOOL
2015-04-22 11:01:27 +02:00
Bernhard Miklautz
159306fc7a Increase API version to 1.2.2 2015-04-22 10:23:25 +02:00
Bryan Everly
8c75127a67 Necessary changes to get latest branch working on OpenBSD 5.6 2015-04-21 14:42:06 -04:00
Bernhard Miklautz
b029e78ae7 Merge pull request #2537 from MartinHaimberger/mh-autodetect-fix
autodetect: debug fixed and level adjusted
2015-04-21 16:52:32 +02:00
Armin Novak
65a4c6e1fc Changed listener callback arguments and return. 2015-04-21 15:57:25 +02:00
Armin Novak
90fa0e3fc6 Fixed handle copy and index. 2015-04-21 15:10:17 +02:00
Bernhard Miklautz
2c072d33d3 Fix GDI return values and other fixes
* top level GDI functions return 0 on error and != 0 otherwise but the
  low level functions (16bpp.c, 8bpp.c 32bpp.c) which are called did it
	exactly the other way around. Those were adapted.
* change gdi_InvalidateRegion to BOOL and check calls where appropriate
* integrate comments from pull request
2015-04-21 14:18:07 +02:00
Bernhard Miklautz
515502ffa5 change return types of callbacks to BOOL
* change all client/server callbacks to BOOL
* update all clients accordingly
* add multiple return value checks
* small fixes
2015-04-21 14:18:07 +02:00
Armin Novak
d98e485ac0 Fixed some type mismatches. 2015-04-21 12:35:55 +02:00
Armin Novak
d3336340ba Add *get_event_handles handle count, return check. 2015-04-21 12:24:50 +02:00
Armin Novak
6e213bc61b Modified GetEventHandles of listener
Now using nCount as in and out argument.
When called, set nCount to the number of available handles.
This value is checked and an error returned, if not enough
handles are available.
2015-04-21 12:09:44 +02:00
Bernhard Miklautz
12e256bb8e Merge pull request #2538 from MartinHaimberger/mh-add-transport-get-bytes
transport: added function to get bytes written
2015-04-20 18:34:13 +02:00
Armin Novak
f634e52289 Using auto reset event now. 2015-04-20 15:04:44 +02:00
Armin Novak
5525d9f88b Fixed uninitialized return value. 2015-04-15 10:38:04 +02:00
Marc-André Moreau
4e1194c53b Merge pull request #2532 from dbungert/4bytestub
GW RPC-HTTP - 2 fixes
2015-04-14 09:23:47 -04:00
Martin Haimberger
5504f4261d autodetect: debug fixed and level adjusted
Fixed two debug statements and moved
to TRACE debug level
2015-04-14 03:54:33 -07:00
Martin Haimberger
9c0d275548 transport: added function to get bytes written
added function to get written bytes on transport.
This is needed to get a more accurate bandwidth
management.
2015-04-14 03:49:01 -07:00
Norbert Federa
951a40b639 Merge pull request #2517 from bmiklautz/alloc
winpr allocation checks
2015-04-14 11:57:33 +02:00
Armin Novak
ea0e255058 Fixed broken pad setting. 2015-04-13 09:28:29 +02:00
Daniel Bungert
0a1273e508 GW RPC-HTTP - Don't drop 4 byte stub from the pipe
* Though not frequent, it's possible to get TsProxySetupReceivePipe
  data of stublength 4 that is actual data.  This happens when
  header->common.call_id == rpc->PipeCallId &&
  !(header->common.pfc_flags & PFC_LAST_FRAG).
  This should address GW disconnects that manifest as SSL read errors.
2015-04-10 15:09:54 -06:00
Daniel Bungert
3910baf49d GW RPC-HTTP login fix
* f469e069dc introduced a logic flip
  that broke RPC-HTTP Gateway.  Fix that.
2015-04-10 14:50:17 -06:00
Bernhard Miklautz
423b15108d Merge pull request #2522 from realjiangms/fix_WriteLock_leak
transport_write sometimes returns directly without cleanup.
2015-04-08 15:39:10 +02:00
zihao.jiang
a057526f1e transport_write sometimes returns directly without cleanup. Fix code path to always do cleanup job. 2015-04-08 21:20:07 +08:00
Bernhard Miklautz
850de59b55 winpr: add checks for *alloc
Add missing checks if memory allocation was successful. Also adapt
caller(s) when possible.
2015-04-08 11:34:37 +02:00
Bernhard Miklautz
879ed36a3c Merge pull request #2513 from hardening/license_and_security_retValues
License and security ret values
2015-04-08 11:33:57 +02:00
David FORT
c03bf75896 Take in account @nfedera's comments 2015-04-07 21:06:53 +02:00
David FORT
c0b191a1c6 Fix a too big Stream_EnsureRemainingCapacity() 2015-04-07 15:19:59 +02:00
David FORT
d84c760f7d Fix a typo in server-side code 2015-04-01 22:26:38 +02:00
David FORT
a4a58aa373 Fix the error case in mcs_send_connect_response() 2015-04-01 17:55:01 +02:00
David FORT
23e11e5a3d Fix code style 2015-04-01 16:58:25 +02:00
David FORT
5302bad2b7 Drop the limit on key size 2015-04-01 15:11:57 +02:00
David FORT
edb915943f Treat return values in license.c
This patch changes functions that should not return void and also treat the
callers of these functions.
2015-04-01 11:38:53 +02:00
David FORT
0cf17ef98c Complement gitignore files with new generated files 2015-04-01 11:13:05 +02:00
David FORT
0eb399a717 Treat return values for security.c
This patch make functions in security.c return values when they should instead of
beeing void. And it also fix the callers of these functions.
2015-04-01 11:11:37 +02:00
David FORT
cf8c7631bd Kill more exit() occurences
In general we should not have any exit() call in libfreerdp.
2015-03-31 23:56:40 +02:00
Marc-André Moreau
121ea23595 Merge pull request #2487 from mfleisz/nla_fix
Fix server side NLA
2015-03-31 10:55:04 -04:00
Armin Novak
6b0667c959 Fixed use after free and realloc checks. 2015-03-31 15:18:45 +02:00
Hardening
bdb975afe8 Merge pull request #2510 from akallabeth/build_date
Added version and build info functions
2015-03-30 19:14:59 +02:00
Bernhard Miklautz
79de8168f9 Integrate feedback from pull request
* orders.c: remove ; at eol
* rdpdr_main.c: simplify error case
* rdpsnd_pulse.c: fix incorrect check
* rdpsnd_main.c: adapt return value according to documentation
* update.c: fix incorrect return values
2015-03-30 18:29:32 +02:00
Armin Novak
8e521e7aee Fixed return value in test. 2015-03-30 18:18:14 +02:00
Armin Novak
eedf45583a Using sprintf_s now. 2015-03-30 18:17:07 +02:00
Armin Novak
0adab13719 Now returning const char* 2015-03-30 18:09:02 +02:00
Armin Novak
cf941304b3 Fixed windows _snprintf. 2015-03-30 18:05:46 +02:00
Armin Novak
827b4f76ca Added test for freerdp version functions. 2015-03-30 17:57:16 +02:00
Armin Novak
8f228163a8 Added version and build info functions
Added functions to get
 * Version String
 * Build Time String
 * Git Revision String
and appropriate tests.
2015-03-30 17:51:29 +02:00
Bernhard Miklautz
74c8400789 coding style fixes
Add missing space after if
2015-03-30 17:15:45 +02:00
Bernhard Miklautz
f469e069dc stream: Stream_Ensure*Capacity: change return type
Change the return type of Stream_Ensure*Capacity from void to BOOL to be
able to detect realloc problems easily. Otherwise the only way to detect
this was to check if the capacity after the call was >= the required
size.
In case Stream_Ensure*Capacity fails the old memory is still available
and need to freed outside.

This commit also adds checks to most calls of Stream_Ensure*Capacity to
check if the call was successful.
2015-03-30 16:33:48 +02:00
Marc-André Moreau
851626f296 Merge pull request #2492 from bmiklautz/malloc_wrap
Fix compiler warnings and code hardening
2015-03-30 09:35:36 -04:00
Norbert Federa
abeb79f2bb nego: fixed X.224 Connection Request PDU parsing
The X.224 Connection Request PDU might contain an optional cookie or
routing token before the optional RDP Negotiation Request (rdpNegReq).
If present, both of these fields must be terminated by a 0x0D0A
two-byte sequence. It seems that until now FreeRDP has incorrectly
assumed that a token or cookie must always be present.
If that was not the case, FreeRDP was searching for 0x0D0A until it
arrived at the end of the stream which prevented the remaining data
(RDP Negotiation Request, RDP Correlation Info) from being parsed.
2015-03-30 13:07:03 +02:00
Bernhard Miklautz
aa2181dcf2 Merge pull request #2483 from akallabeth/feat/freerdp_set_last_error_name
Feat/freerdp last error name
2015-03-26 16:42:54 +01:00
Bernhard Miklautz
7f3326d41c Fix compiler warnings
gcc 4.7.2
* warning: value computed is not used [-Wunused-value]
* warning: unused variable ‘oss’ [-Wunused-variable]
2015-03-25 17:38:21 +01:00
Bernhard Miklautz
3c7662517c hardening
Start to add missing checks for:
* *alloc
* *_New
2015-03-25 17:38:21 +01:00
Martin Fleisz
8d783bd2f0 Fix server side NLA 2015-03-23 08:33:14 +01:00