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
Marc-André Moreau
cb8e61cf99
libfreerdp-core: fix rdg.c header include
2015-03-19 12:13:37 -04:00
Marc-André Moreau
69f4d78785
libfreerdp-core: fix rdg.h header include
2015-03-19 12:08:30 -04:00
Marc-André Moreau
6202f48c12
libfreerdp-core: add configurable TSG/RGB fallback, fix edge cases
2015-03-19 11:44:47 -04:00
Marc-André Moreau
a2ff1e8348
Merge branch 'gateway' of https://github.com/dvincent-devolutions/FreeRDP into gateway
2015-03-19 09:41:50 -04:00
Denis Vincent
08a3d40ef8
libfreerdp-core: minor code corrections
2015-03-19 09:17:56 -04:00
Armin Novak
3a429e5add
Removed unused define.
2015-03-19 14:17:48 +01:00
Armin Novak
48d8058f9b
fixed log message arguments.
2015-03-19 11:11:43 +01:00
Armin Novak
56dc61cc06
Added error name and string functions.
...
Added new functions allowing to get a string representation of an error code
and a description of the error for connect and base error classes.
2015-03-19 11:05:16 +01:00
Denis Vincent
205ccb70c8
libfreerdp-core: added fallback to RPC.
2015-03-18 16:13:32 -04:00
Marc-André Moreau
1380895a2a
libfreerdp-core: fix RDG http receive
2015-03-18 09:48:21 -04:00
Marc-André Moreau
3c4bee3d95
libfreerdp-core: fix RDG valgrind issues
2015-03-17 16:54:45 -04:00
Marc-André Moreau
dc913d9f2c
libfreerdp-core: fix some RDG valgrind issues
2015-03-17 16:09:17 -04:00
Marc-André Moreau
360e2c5e4e
libfreerdp-core: fix rdg event handles
2015-03-17 15:13:11 -04:00
Marc-André Moreau
bdf17450e5
Merge branch 'gateway' of https://github.com/dvincent-devolutions/FreeRDP into gateway
2015-03-17 14:54:04 -04:00
Denis Vincent
144d0d9b23
libfreerdp-core: Initial RDG support.
2015-03-17 14:54:16 -04:00
Marc-André Moreau
c21bff5415
Merge branch 'master' of github.com:FreeRDP/FreeRDP
2015-03-16 08:01:54 -04:00
Jean-Louis Dupond
ede7993fe8
libfreerdp-core: Initialize values correctly
2015-03-15 14:09:16 +01:00
Jean-Louis Dupond
8a0fe0861d
fix size error introduced in commit 99b14815a5
2015-03-15 11:50:10 +01:00
Marc-André Moreau
afdd55fa81
Merge branch 'master' of github.com:FreeRDP/FreeRDP
2015-03-13 15:30:31 -04:00
Zhang Zhaolong
4b618852e4
core/gateway: fix memory leak of packet.
...
Signed-off-by: Zhang Zhaolong <zhangzl2013@126.com>
2015-03-13 11:26:22 +08:00
Zhang Zhaolong
93ae1d997b
core: fix double close on fp.
...
Signed-off-by: Zhang Zhaolong <zhangzl2013@126.com>
2015-03-13 11:21:12 +08:00
Marc-André Moreau
5ab34dfa3e
Merge pull request #2456 from zhangzl2013/fix-realloc
...
Fix incorrect usage of realloc
2015-03-12 07:33:27 -04:00
Zhang Zhaolong
99b14815a5
core: fix incorrect usage of realloc.
...
realloc can handle the case that its first parameter is NULL.
Signed-off-by: Zhang Zhaolong <zhangzl2013@126.com>
2015-03-11 13:40:20 +08:00
Marc-André Moreau
8ee4cbdffd
Merge branch 'gateway' of https://github.com/dvincent-devolutions/FreeRDP
2015-02-26 09:08:56 -05:00
Marc-André Moreau
1416ef8017
libfreerdp-core: fix tsg receiving of text/html content
2015-02-24 16:39:00 -05:00
Denis Vincent
baab23fd14
libfreerdp-core: Make tsg out channel recycling event driven
2015-02-24 15:34:41 -05:00
bjcollins
d4a9a2d3a8
Remove override redirect flag for fullscreen with keyboard grab enabled. Window manager should always know about the main window.
...
Small cleanup of passing around decorations flag.
Limit PercentScreen to single monitor vs. entire desktop. IMO - this is better behavior in a multimonitor environment.
Handle fullscreen windows better:
1. Ensure that size hints are set to allow resizing before setting a window to fullscreen as some window managers do not behave properly.
2. Handle fullscreen toggles without destroying and recreating window.
3. Use NET_WM_STATE_FULLSCREEN Extended Window Manager Hint for fullscreen functionality
4. Use the NET_WM_FULLSCREEN_MONITORS Extended Window Manager Hint when appropriate
5. When a single monitor fullscreen is requested - use the current monitor(as determined from mouse location)
6. Handle cases where there is no local monitor at coordinate 0,0. The Windows server expect there to be a monitor at this location, so we maintain offset if necessary between our local primary monitor and the server side primary monitor located at 0,0.
2015-02-23 11:22:28 -06:00
Mike McDonald
6dd333c4c8
Modified virtual channel open (as a result of an MCS channel join) to do a case-insensitive comparison of the virtual channel name.
2015-02-23 09:24:43 -05:00
Norbert Federa
1fd5508afd
Merge pull request #2416 from zavadovsky/transport_dead_end_fix
...
libfreerdp-core: fix dead-end state in transport_read_pdu()
2015-02-23 12:56:26 +01:00
Zavadovsky Yan
ab8aedd801
libfreerdp-core: add comments for previous fix
2015-02-23 13:57:46 +03:00
Zavadovsky Yan
2be175cec4
libfreerdp-core: fix dead-end state in transport_read_pdu()
...
Situation: we have fragmented TPKT PDU without two last bytes
(or one last byte - for fast-path) in network stack.
First call to transport_read_pdu() works normally, read
available bytes and exit with status 0 - no whole PDU readed.
Before second call this missed bytes arrive.
Optionally with next PDU.
In second call header parsing code unconditionally read this
two bytes(one byte) despite this is not header bytes.
And increase stream position, so stream now contains whole PDU.
This cause (pduLength - Stream_GetPosition(s)) calculation to be 0.
So transport_read_layer_bytes()-->transport_read_layer() return 0
and transport_read_pdu() exits with "not enough data is available"
status.
If next PDU isn't available next calls to transport_read_pdu()
give same result.
If next PDU arrive - (pduLength - Stream_GetPosition(s)) will be
less than 0. Stream position will grow, grow and grow on each call.
And transport_read_pdu() never signals that PDU is readed.
Caught on Android FreeRDP client with high RDP traffic (several MBytes/s).
2015-02-22 00:28:22 +03:00
Bernhard Miklautz
388d014888
core/tcp: set TCP_USER_TIMEOUT if available
...
Keepalive settings are usually (depending on the implementation) only
used if the TCP connection is idle.
If the network is interrupted/disconnected/... click or keyboard input
generates outgoing traffic therefore the connection isn't idle
anymore and keepalives might not be used causing the connection to
stay open and the client to stall.
Linux 2.6.36 added a TCP_USER_TIMEOUT TCP socket option that lets a
program specify the maximum time transmitted data may remain
unacknowledged before TCP will close the corresponding connection with
ETIMEDOUT.
Setting TCP_USER_TIMEOUT allows us to detect a network problem (like
cable disconnect) even if the connection isn't idle.
2015-02-20 13:22:01 +01:00
Marc-André Moreau
65b2842792
libfreerdp-core: improve RTS PDU receiving
2015-02-19 16:06:20 -05:00
Marc-André Moreau
b5f1958b69
libfreerdp-core: cleanup channel recycling
2015-02-19 15:06:57 -05:00
Marc-André Moreau
dfee7710e1
Merge branch 'gateway' of https://github.com/dvincent-devolutions/FreeRDP into gateway
2015-02-19 14:11:12 -05:00
Denis Vincent
3e90726bac
libfreerdp-core: add TS Gateway out channel recycling support
2015-02-19 13:41:00 -05:00
Marc-André Moreau
44d06888bb
libfreerdp-core: fix BIO leaks
2015-02-18 15:36:57 -05:00
Marc-André Moreau
2f4a305c67
libfreerdp-core: fix tsg_get_event_handles
2015-02-18 13:50:03 -05:00
Marc-André Moreau
e9fe5bace6
Merge branch 'master' of github.com:FreeRDP/FreeRDP
2015-02-18 13:42:28 -05:00
Norbert Federa
5f525e4f8d
core: fix refreshRect/suppressOutput capabilities
...
refreshRectSupport and suppressOutputSupport of the General
Capability Set (MS-RDPBCGR 2.2.7.1.1) are server-only flags
that indicate whether the Refresh Rect or Suppress Output
PDUs are supported by the server.
Therefore in rdp_read_general_capability_set() we must only
change the respective settings if we are not in server mode.
2015-02-18 19:33:19 +01:00
Marc-André Moreau
f9885da81c
Merge branch 'master' of github.com:FreeRDP/FreeRDP
2015-02-18 09:51:11 -05:00
Marc-André Moreau
f86f5bc252
Merge pull request #2397 from hardening/nego_fix2
...
Fix disconnection when negociation has failed
2015-02-18 09:50:46 -05:00
Marc-André Moreau
0e57706de5
libfreerdp-core: cleanup connect error codes, fix Win32 NLA
2015-02-17 21:01:27 -05:00
Marc-André Moreau
c2a107ac9d
libfreerdp-core: initial support for tsg silent reauth
2015-02-17 16:36:01 -05:00
Marc-André Moreau
3b622d15d1
libfreerdp-core: refactor TsProxy* calls
2015-02-17 16:15:57 -05:00
Marc-André Moreau
b8b94327c8
libfreerdp-core: improve tsg debug output and reauth sequence
2015-02-17 14:34:42 -05:00
Marc-André Moreau
668b2c1811
libfreerdp-core: fix tsg buffer flushing
2015-02-17 10:54:39 -05:00
Marc-André Moreau
7639addb40
libfreerdp-core: partial tsg reauth support
2015-02-16 15:35:51 -05:00
Bernhard Miklautz
0b902eeb5d
wtsapi: add WTSStartRemoteControlSessionEx
...
WTSStartRemoteControlSession doesn't allow to specify additional flags
therefore add a new extended version WTSStartRemoteControlSessionEx
with an additional "flags" parameter.
The following flags are defined:
REMOTECONTROL_FLAG_DISABLE_KEYBOARD - disable keyboard input
REMOTECONTROL_FLAG_DISABLE_MOUSE - disable mouse input
REMOTECONTROL_FLAG_DISABLE_INPUT - disable input (keyboard and mouse)
2015-02-16 12:16:54 +01:00
Marc-André Moreau
ffe24e8cfb
libfreerdp-core: improve TSProxyCreateTunnelRequest
2015-02-15 18:22:49 -05:00
Marc-André Moreau
9c7b7ab561
libfreerdp-core: make NLA event-driven
2015-02-15 16:04:59 -05:00
Marc-André Moreau
eddfee56a3
libfreerdp-core: prepare client-side NLA for event-driven structure
2015-02-15 14:54:10 -05:00
Marc-André Moreau
ab5fdcc3f1
libfreerdp-core: NLA cleanup
2015-02-15 11:10:14 -05:00
Marc-André Moreau
991f7b347d
libfreerdp-core: further abstract multiple connections used internally by tsg from rdpTransport
2015-02-15 10:06:17 -05: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
e241330daf
libfreerdp-core: rewrite tls_write_all to use front BIO only
2015-02-13 16:02:37 -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
David FORT
bb9ba34f1d
Fix disconnection when negociation has failed
...
This patch fixes a bug with mstsc connecting to a RDP security only FreeRDP server.
It seems like the mstsc shipped with Windows Seven considers packets after the nego_failure
packet as an error. So after trying to do TLS, depending on the timing, mstsc can print an
error message instead of retrying to connect with RDP security. With this patch, we
don't send the MCS disconnect message when the negociation has failed.
2015-02-13 18:25:50 +01:00
Marc-André Moreau
69b93c322d
libfreerdp-core: fix transport crash, reduce rdpTcp usage
2015-02-13 09:27:54 -05:00
Marc-André Moreau
3e414f1840
libfreerdp-core: fix server-side transport_attach crash
2015-02-13 08:41:47 -05:00
Mike McDonald
07a05ae80f
Modified server side code to handle an older version of TS_RFX_ICAP [version 0.9 (0x0009), tileSize 128 (0x0080)] sent by older clients.
2015-02-12 22:17:16 -05:00
Marc-André Moreau
889ccefe0d
libfreerdp-core: remove TlsIn/TlsOut from rdpTransport
2015-02-12 16:22:25 -05:00
Marc-André Moreau
0d85dfd395
libfreerdp-core: handle TCP/TLS connection at TSG RPC channel level
2015-02-12 14:40:26 -05:00
Marc-André Moreau
4ecff39eb6
libfreerdp-core: more tsg in/out channel refactoring
2015-02-12 14:08:38 -05:00
Marc-André Moreau
8f2b2be9f2
libfreerdp-core: integrate new RTS pdu functions from denis
2015-02-12 13:14:43 -05:00
Marc-André Moreau
c92e82b3dc
libfreerdp-core: improve TSG virtual connection and channel management
2015-02-12 12:03:15 -05:00
Marc-André Moreau
d330570e62
Merge branch 'master' of github.com:FreeRDP/FreeRDP
2015-02-12 10:15:14 -05:00
Marc-André Moreau
9263e42120
Merge pull request #2385 from hardening/nego_fix
...
Fix server-side protocol negociation
2015-02-12 10:12:01 -05:00
Martin Haimberger
b302da2e92
wtsapi: added handler for LogonUser and LogoffUser
2015-02-12 01:31:00 -08:00
David FORT
6a8d21cab9
Fix server-side protocol negociation
...
Before this patch, RDP security was (wrongly) the fallback when negociating a
security protocol between the client and the server. For example when a client
was claiming TLS-only when connecting to a FreeRDP based-server with RDP security only,
the result of the negociation was that the server started to do RDP security.
The expected behaviour is to send a nego failure packet with error code
SSL_NOT_ALLOWED_BY_SERVER. This patch fixes this.
We also try to handle all cases of failed negociation and return the corresponding
error code.
2015-02-11 21:38:32 +01:00
Marc-André Moreau
75cad064f1
libfreerdp-core: refactor tsg virtual connection, in/out channels
2015-02-11 15:26:22 -05:00
Marc-André Moreau
70fab69347
libfreerdp-core: gateway connection refactoring
2015-02-11 14:27:29 -05:00
Marc-André Moreau
aa8b843250
libfreerdp-core: move stuff down from transport to tsg layer
2015-02-11 11:57:02 -05:00
Marc-André Moreau
46724b0c75
libfreerdp-core: fix tsg crash on disconnect
2015-02-11 10:57:14 -05:00
Marc-André Moreau
94494511cc
Merge branch 'master' of github.com:FreeRDP/FreeRDP
2015-02-11 10:05:33 -05:00
David FORT
5c2d5337c0
Fix socket leak when transport is disconnected
2015-02-11 15:47:43 +01:00
David FORT
58f33247bd
Fix compilation with valgrind helpers
2015-02-11 15:23:14 +01:00
Marc-André Moreau
22ac46957a
xfreerdp: fix egfx multimonitor support
2015-02-10 16:32:07 -05:00
Marc-André Moreau
9b9fbd2ab1
xfreerdp: fix fullscreen mode
2015-02-10 15:15:30 -05:00
Armin Novak
c66d0ccff8
Fixed codecs_free
2015-02-09 17:35:41 +01:00
Armin Novak
e162784e34
Fixed resource cleanup on disconnect.
2015-02-09 17:33:43 +01:00
Marc-André Moreau
3258c887a4
libfreerdp-core: add channel reconnect
2015-02-06 17:35:14 -05:00
Marc-André Moreau
b2d0aa128f
libfreerdp-core: refactor client info pdu functions
2015-02-06 16:55:21 -05:00
Marc-André Moreau
9a8f877396
libfreerdp-core: fix auto reconnect cookie security verifier computation
2015-02-06 16:37:28 -05:00
Marc-André Moreau
70e2862c50
libfreerdp-core: improve client core info debug output
2015-02-06 15:44:29 -05:00
Marc-André Moreau
fa06c4d401
libfreerdp-core: improve reconnection
2015-02-06 14:21:26 -05:00
Marc-André Moreau
82d58086db
xfreerdp: partial reconnect fixes
2015-02-05 17:01:56 -05:00
Marc-André Moreau
a4979456e5
Merge branch 'master' of github.com:FreeRDP/FreeRDP into gateway
2015-02-04 11:36:05 -05:00
Marc-André Moreau
8f8676a20e
Merge pull request #2355 from xsumbe00/master
...
Fixes some build issues on Solaris 11.
2015-02-04 11:34:02 -05:00
Marc-André Moreau
4af1261132
Merge pull request #2350 from giox069/master
...
Fix freerdp_channels_free for clients with multiple active connections
2015-02-04 11:27:41 -05:00
Marc-André Moreau
5fbcdf5b3d
libfreerdp-core: make tsg rpc connection event-driven, fix race condition on connection
2015-02-04 11:18:27 -05:00
Marc-André Moreau
f8259f94c5
libfreerdp-core: add event-driven RTS connection code
2015-02-03 20:39:47 -05:00
Marc-André Moreau
13d4fa74c4
libfreerdp-core: start event-driven gateway http code
2015-02-03 17:17:17 -05:00
Marc-André Moreau
1bf0e2ee03
libfreerdp-core: add more IN/OUT gateway channel states
2015-02-03 16:33:45 -05:00
Petr Sumbera
b09d865d5c
Better to use HAVE_SYS_FILIO_H when we already have it.
2015-02-03 13:29:35 -08:00
Marc-André Moreau
7b25f9130b
libfreerdp-core: improve error handling in ts gateway
2015-02-03 14:44:31 -05:00
Hardening
6bf23c1e35
Merge pull request #2358 from nfedera/fix-2015-02-03-01
...
core/fastpath: removed flawed slow-path conversion
2015-02-03 17:22:21 +01:00
Hardening
aed323e6c2
Merge pull request #2356 from nfedera/fix-2015-02-02-01
...
core/capabilities: remove misplaced/useless code
2015-02-03 17:15:51 +01:00