Commit Graph

1822 Commits

Author SHA1 Message Date
weizhenwei
fa1c65b656 refactor to remove duplicate code and replace free+malloc with realloc 2017-06-22 10:21:20 +08:00
weizhenwei
2d56e22e9e refactor on redundant code copy 2017-06-21 22:07:07 +08:00
weizhenwei
bcd8ddef59 fix compile error on win64.vs2010 platform 2017-06-21 15:43:41 +08:00
weizhenwei
46b841be13 fix memory leak on rail_virtual_channel_event_data_received() -> StreamNew() 2017-06-21 15:26:28 +08:00
weizhenwei
a2ecf403b2 fix memory leak at drive_register_drive_path() and drive_free() 2017-06-21 15:26:28 +08:00
weizhenwei
7e5b766f78 fix memory leak at rail_client_execute() 2017-06-21 15:26:28 +08:00
weizhenwei
ccdaf15a75 fix memroy leak on rail_recv_exec_result_order() execResult 2017-06-21 15:26:27 +08:00
Armin Novak
98736c9d4d Fix #3995: File size information 2017-06-09 13:02:50 +02:00
David Fort
5ef9232703 Merge pull request #3905 from ilammy/x11-cliprdr/file-clipping
Local-to-remote file clipping for xfreerdp
2017-06-07 21:20:34 +02:00
ilammy
75fa3ad2a0 channels/cliprdr: avoid possible integer overflow
If the server sends us garbage (or the client provides it) then it is
possible for the multiplication to overflow (as it is performed on
unsigned 32-bit values) which will result in a false positive failure of
the sanity check. Avoid it by rearranging arithmetics a little.

Keep the multiplication in the error message because we are interested
in the number of bytes in the stream and how it compares to the number
we have expected based on the presumed file count.
2017-06-01 16:05:07 +03:00
David Fort
3470c4d5f8 Merge pull request #3969 from chipitsine/cppcheck
resolve issue found by cppcheck
2017-05-31 16:48:12 +02:00
Ilya Shipitsin
06edf5f7c5 resolve an issue found by cppcheck:
[channels/tsmf/client/tsmf_main.c:89] -> [channels/tsmf/client/tsmf_main.c:95]: (warning) Either the condition '!callback' is redundant or there is possible null pointer dereference: callback.
2017-05-31 14:32:59 +05:00
joy.you
921f0b7480 fixed issue:#3974
ConvertToUnicode failed
2017-05-27 16:10:41 +08:00
David Fort
48163a27db Merge pull request #3906 from akallabeth/addin_cast_fix
Addin cast fix
2017-05-22 11:12:05 +02:00
David Fort
b92a789dfd Merge pull request #3963 from akallabeth/qoe_ack
Added client RDPGFX_QOE_FRAME_ACKNOWLEDGE_PDU
2017-05-22 11:10:03 +02:00
Armin Novak
f414522b7a Added setting for QoeAck. 2017-05-18 14:07:09 +02:00
Armin Novak
b6e5ec5039 Added client RDPGFX_QOE_FRAME_ACKNOWLEDGE_PDU 2017-05-18 14:07:09 +02:00
Armin Novak
ed2c675a83 Fixed path length check. 2017-05-18 09:43:02 +02:00
Armin Novak
6b960a4319 Fix #3962: Remove trailing slashes from path. 2017-05-17 16:43:16 +02:00
Armin Novak
0a309fcbec Use unicode constants for WCHAR 2017-05-17 16:17:16 +02:00
Armin Novak
2a92cc9631 Use a preallocated logger instance for GFX
The static logger functions of WLog have quite a heavy performance
penalty. Use a pointer to an allocated logger to speed things up.
2017-05-15 17:24:47 +02:00
David Fort
17a4e95a5b Drop some annoying warning
Probably that some unused functions should be removed, but at least it makes
it compile with no warnings.
2017-05-12 13:54:16 +02:00
Adrian A
5beb181dec Fix handle leaks in encomsp and remdesk server
Ensure proper thread cleanup when these channel servers are stopped.
2017-05-11 13:21:47 -07:00
Adrian A
fd39002288 Remove library prefix override for rdpei-server
This library was missed in commit
059374457d, so it was the only one that
stilll had a lib prefix
2017-05-10 09:56:37 -07:00
Ilya Shipitsin
07c2345879 resolve an issue identified by cppcheck:
[channels/urbdrc/client/libusb/libusb_udevice.c:1666] -> [channels/urbdrc/client/libusb/libusb_udevice.c:1661]: (warning) Either the condition 'request' is redundant or there is possible null pointer dereference: request.
2017-05-06 00:05:59 +05:00
Martin Fleisz
8569102c3a Merge pull request #3932 from chipitsine/cppcheck
resolve issues identified by cppcheck
2017-05-02 16:10:34 +02:00
David Fort
40baadb471 Merge pull request #3911 from akallabeth/avc444_v2
Added AVC444v2 client support.
2017-05-02 16:02:21 +02:00
Ilya Shipitsin
c78a2f0333 resolve issues identified by cppcheck
[channels/drive/client/drive_file.c:125]: (error) Memory leak: path_slash
[server/Windows/wf_dxgi.c:195]: (error) Invalid number of character '(' when these macros are defined: 'WITH_DXGI_1_2'.
2017-05-01 16:40:02 +05:00
David Fort
677c4e2105 Merge pull request #3919 from akallabeth/rdpdr_hotplug_fix
Fixed hotplug mount locations.
2017-04-27 14:11:51 +02:00
David PHAM-VAN
fd52a9ff52 Bugfix: wrong test regarding the first GetPrinter. This first call will always return FALSE because the goal of this call is to know the size needed. 2017-04-25 11:50:28 -07:00
ilammy
843ab1c234 winpr: fix field names of FILEDESCRIPTOR struct
The file name field is actually called cFileName on Windows. Use this
name in WinPR's struct definition as well for compatibility.
2017-04-21 14:13:52 +03:00
Armin Novak
73e89bffcc Cleaned up includes. 2017-04-19 08:27:22 +02:00
Armin Novak
8fa6020b5f Add legacy mount locations, limited max depth. 2017-04-18 09:13:35 +02:00
Armin Novak
c1872de641 Fixed WCHAR/CHAR conversion for drive path. 2017-04-13 16:20:01 +02:00
Armin Novak
b0599f8c54 Fixed hotplug mount locations. 2017-04-13 15:55:50 +02:00
Armin Novak
b0d3cfda4d Added AVC444v2 client support. 2017-04-11 11:29:14 +02:00
Armin Novak
c0c4358cd0 Added function pointer casts. 2017-04-10 13:06:05 +02:00
Armin Novak
b0289e3ed8 Fixed cast warnings. 2017-04-10 10:39:01 +02:00
Armin Novak
9713b63c26 Fixed addin tables and casts. 2017-04-10 10:38:57 +02:00
ilammy
a1128872d3 channels/cliprdr: handle cliprdr 2 GB size limit
The file contents PDUs support 64-bit file sizes and offsets, but
MS-RDPECLIP explicitly says in 2.2.5.3 File Contents Request PDU that
file larger that 4 gigabytes are not supported by the server. It turns
out that the supported size is even lower than that. The server cannot
correctly handle files larger than 2 gigabytes (inclusive). When faced
with such files it correctly retireves the lower part, but fails to
accept any data past that boundary. After receiving a file range reply
the server repeats the file range request with the same offset, and
again, and again, and again, making no progress and blocking the file
transfer indefinitely. This is not the behavior we would like to have.

Microsoft support site acknowledges and documents the issue [1],
suggesting the users to use disk drive redirection instead to transfer
large files. (File transfers via cliprdr are considerably slower than
disk drive redirection so the suggestion makes very much sense.)

However, we would like to avoid the lockdown of the remote session if
the user does attempt to transfer such files so we add a size check.
Putting it into the conversion from FILEDESCRIPTOR to CLIPRDR_FILELIST
is not an ideal place (the clients may not use the common utilities),
but that's good enough currently.

[1]: https://support.microsoft.com/en-us/help/2258090
2017-04-09 03:15:49 +03:00
ilammy
f643a95820 channels/cliprdr: fix CLIPRDR_FILECONTENTS_RESPONSE
Do not try to 'helpfully' fixup the length of the data provided by the
client when FILECONTENTS_SIZE is present. This can lead to a crash if
the client wants to report an error in msgFlags, sets cbRequested to
zero, and does not provide any data in requestedData. For example,
XFreeRDP does this in xf_cliprdr_send_file_contents_failure() and
xf_cliprdr_clipboard_file_size_failure().
2017-04-09 03:15:49 +03:00
ilammy
ef4421fc77 channels/cliprdr: fix CLIPRDR_FILECONTENTS_REQUEST
clipDataId is an optional field of CLIPRDR_FILECONTENTS_REQUEST.
The client should not send it to the server without sending a prior
CLIPRDR_LOCK_CLIPDATA request. The reverse is true as well: the
server should not include these additional 4 bytes without locking
the file in question.

The value zero is a valid ID, it cannot be used as a sentinel value.
Introduce a separate flag to tell whether the clipDataId has been set
and can be relied upon.

Also fix formatting. These stupid line breaks have negative impact on
readability, and the lines do fit into the 100 column limit either way.
2017-04-09 03:15:49 +03:00
ilammy
a992743d99 channels/cliprdr: CLIPRDR_FILELIST utilities
The format is described in MS-RDPECLIP 2.2.5.2.3 Packed File List
(CLIPRDR_FILELIST). These functions handle conversion between the
on-the-wire data from cliprdr and arrays of FILEDESCRIPTOR structs.

FILETIME handling is a bit wacky, but that's what we currently have.
2017-04-09 03:15:48 +03:00
David Fort
9fd3974817 Merge pull request #3864 from DavBfr/rewrite-disk-redirection
Rewrite disk redirection using WinPR
2017-04-06 17:32:21 +02:00
David PHAM-VAN
b46aaeb973 Fix memory leaks, Mixed declarations 2017-03-27 11:15:22 -07:00
David PHAM-VAN
c60d663d1a Remove unused variable and check return codes 2017-03-27 10:55:55 -07:00
David PHAM-VAN
5a66fe841a Misc Fixes 2017-03-17 14:07:33 -07:00
David PHAM-VAN
d6f78df195 Verify ConvertFromUnicode return values 2017-03-16 16:27:01 -07:00
David PHAM-VAN
459d3a0473 Fix Windows build 2017-03-16 16:20:48 -07:00
David PHAM-VAN
9c596b70a6 Fix Android build 2017-03-14 10:48:10 -07:00
David PHAM-VAN
1296756be8 Bugfix: Wrong encoding method used for printer name. 2017-03-13 14:56:12 -07:00
David PHAM-VAN
9a76a43088 Add specific Xrdp workarounds
This reverts commit 36d95d73715bd081019538c55f74294aa9faffba.
2017-03-13 14:18:50 -07:00
David PHAM-VAN
c7924b554d Rewrite drive channel using WinPR functions 2017-03-13 14:18:46 -07:00
Martin Fleisz
5082dcb3d5 Merge pull request #3847 from akallabeth/ffmpeg_define_fix
Fixed #3782 and #2953: Using new libav defines.
2017-03-09 11:35:31 +01:00
Armin Novak
1bb26873d9 Fixed #3782 and #2953: Using new libav defines. 2017-03-08 09:00:13 +01:00
joy.you
fa86070c13 Update tsmf_ffmpeg.c 2017-03-08 10:25:36 +08:00
joy.you
4e41f57c77 frame_size fixed
if got_frame is not set, set frame_size to 0.
2017-03-06 10:27:27 +08:00
Armin Novak
b2c29158be Scanbuild warning, argument checks and leak fixes.
* Added Stream_GetRemainingCapacity to check remaining stream size
  before writes.
* Fixed shadow server memory leak.
* Fixed lots of scanbuild warnings
* Added missing argument checks in many functions
* Added missing static function declarations
2017-03-02 18:13:43 +01:00
Ilya Shipitsin
4af2f71cf4 resolve compiler warning
channels/cliprdr/client/cliprdr_main.c:121:13: warning: ‘cliprdr_print_general_capability_flags’ defined but not used [-Wunused-function]

 static void cliprdr_print_general_capability_flags(UINT32 flags)

             ^
2017-02-22 20:39:32 +05:00
Martin Fleisz
a4436940ee Merge pull request #3785 from uplusplus/patch-4
tsmf dead lock fixed
2017-02-22 13:28:29 +01:00
Martin Fleisz
c806d0e1ed Merge pull request #3774 from akallabeth/smartcard_reader_groups
smartcard: implement ListReaderGroups
2017-02-20 14:33:10 +01:00
akallabeth
3115c1e28d Merge pull request #3783 from chipitsine/master
fix several defects found by cppcheck
2017-02-20 13:07:12 +01:00
joy.you
073e856d9a dead lock fixed
As ffmpeg decoder does not have stream->decoder->BufferLevel,So
stream->currentBufferLevel is always equal 1
2017-02-20 16:54:51 +08:00
Armin Novak
ff56f75893 Fixed format specifier and unused variables. 2017-02-17 14:25:59 +01:00
Martin Fleisz
c325ec5325 Merge pull request #3780 from akallabeth/win_compile_fix
Win compile fix
2017-02-17 13:22:51 +01:00
Ilya Shipitsin
44cfb0119f revolve possible null pointer dereference found by cppcheck
[channels/tsmf/client/gstreamer/tsmf_X11.c:472] -> [channels/tsmf/client/gstreamer/tsmf_X11.c:474]: (warning) Either the condition '!decoder' is redundant or there is possible null pointer dereference: decoder.
2017-02-17 16:52:21 +05:00
Armin Novak
1ef55e7665 Fixed #3778: Printer driver name conversion. 2017-02-17 11:40:52 +01:00
akallabeth
ba99e35f72 Merge pull request #3733 from chipitsine/master
Resolve issues detected by cppcheck
2017-02-17 10:46:35 +01:00
Andreas Schultz
d2f98261f7 smartcard: implement ListReaderGroups
Conflicts:
	channels/smartcard/client/smartcard_operations.c
	channels/smartcard/client/smartcard_pack.c
	channels/smartcard/client/smartcard_pack.h

smartcard_operations: move handling of call argument into functions

The call argument was only use by static functions and was always equal
to operation->call. Remove the argument and use operation-call directly.

Also put the memory allocation and check into the same place.

Conflicts:
	channels/smartcard/client/smartcard_operations.c

Updated formatting and API
2017-02-16 16:59:03 +01:00
David Fort
be41769506 Add some useful debug info for the egfx channel 2017-02-16 14:49:08 +01:00
Armin Novak
6960ca209b Added GFX surface command profiler. 2017-02-15 15:42:14 +01:00
Armin Novak
359077e8d3 Closing dynamic channels on shutdown. 2017-02-15 15:42:14 +01:00
pentagra
df2b5c9cdf ifdef's for Cygwin compilation 2017-02-10 18:06:20 +03:00
joy.you
75ceb36e86 bug fix
bug fix
2017-02-08 11:12:04 +08:00
Ilya Shipitsin
087671bcbb Remove redundant condition
[channels/urbdrc/client/data_transfer.c:2310] -> [channels/urbdrc/client/data_transfer.c:2322]: (warning) Either the condition 'if(transfer_data)' is redundant or there is possible null pointer dereference: transfer_data.
[channels/urbdrc/client/data_transfer.c:2311] -> [channels/urbdrc/client/data_transfer.c:2322]: (warning) Either the condition 'if(transfer_data)' is redundant or there is possible null pointer dereference: transfer_data.
[channels/urbdrc/client/data_transfer.c:2312] -> [channels/urbdrc/client/data_transfer.c:2322]: (warning) Either the condition 'if(transfer_data)' is redundant or there is possible null pointer dereference: transfer_data.
[channels/urbdrc/client/data_transfer.c:2313] -> [channels/urbdrc/client/data_transfer.c:2322]: (warning) Either the condition 'if(transfer_data)' is redundant or there is possible null pointer dereference: transfer_data.
[channels/urbdrc/client/data_transfer.c:2314] -> [channels/urbdrc/client/data_transfer.c:2322]: (warning) Either the condition 'if(transfer_data)' is redundant or there is possible null pointer dereference: transfer_data.
2017-02-02 00:29:37 +05:00
Ilya Shipitsin
efaf1819ea Resolve possible null pointer dereference
[channels/urbdrc/client/isoch_queue.c:124] -> [channels/urbdrc/client/isoch_queue.c:126]: (warning) Either the condition 'if(isoch)' is redundant or there is possible null pointer dereference: isoch.
2017-01-31 15:59:25 +05:00
Ilya Shipitsin
12f5368819 make cppcheck even more happier:
[channels/tsmf/client/gstreamer/tsmf_X11.c:317] -> [channels/tsmf/client/gstreamer/tsmf_X11.c:322]: (warning) Either the condition '!decoder' is redundant or there is possible null pointer dereference: decoder.
[channels/tsmf/client/gstreamer/tsmf_X11.c:470] -> [channels/tsmf/client/gstreamer/tsmf_X11.c:475]: (warning) Either the condition '!decoder' is redundant or there is possible null pointer dereference: decoder.
[channels/tsmf/client/gstreamer/tsmf_X11.c:472] -> [channels/tsmf/client/gstreamer/tsmf_X11.c:475]: (warning) Either the condition '!decoder' is redundant or there is possible null pointer dereference: decoder.
[channels/tsmf/client/tsmf_media.c:179] -> [channels/tsmf/client/tsmf_media.c:181]: (warning) Either the condition '!stream' is redundant or there is possible null pointer dereference: stream.
[client/Windows/wf_cliprdr.c:2219] -> [client/Windows/wf_cliprdr.c:2222]: (warning) Either the condition '!formatDataResponse' is redundant or there is possible null pointer dereference: formatDataResponse
[client/Windows/wf_cliprdr.c:2445] -> [client/Windows/wf_cliprdr.c:2448]: (warning) Either the condition '!fileContentsResponse' is redundant or there is possible null pointer dereference: fileContentsResponse.
[client/X11/xf_cliprdr.c:911] -> [client/X11/xf_cliprdr.c:913]: (warning) Either the condition '!clipboard' is redundant or there is possible null pointer dereference: clipboard.
[client/X11/xf_graphics.c:504] -> [client/X11/xf_graphics.c:506]: (warning) Either the condition '!xfc' is redundant or there is possible null pointer dereference: xfc.
[libfreerdp/core/transport.c:861] -> [libfreerdp/core/transport.c:863]: (warning) Either the condition '!transport' is redundant or there is possible null pointer dereference: transport.
[server/shadow/shadow_server.c:777] -> [server/shadow/shadow_server.c:791]: (warning) Either the condition '!server' is redundant or there is possible null pointer dereference: server.
[server/shadow/shadow_server.c:778] -> [server/shadow/shadow_server.c:791]: (warning) Either the condition '!server' is redundant or there is possible null pointer dereference: server.
[server/shadow/shadow_server.c:779] -> [server/shadow/shadow_server.c:791]: (warning) Either the condition '!server' is redundant or there is possible null pointer dereference: server.
[server/shadow/shadow_server.c:781] -> [server/shadow/shadow_server.c:791]: (warning) Either the condition '!server' is redundant or there is possible null pointer dereference: server.
[server/shadow/shadow_server.c:782] -> [server/shadow/shadow_server.c:791]: (warning) Either the condition '!server' is redundant or there is possible null pointer dereference: server.
[server/shadow/shadow_server.c:783] -> [server/shadow/shadow_server.c:791]: (warning) Either the condition '!server' is redundant or there is possible null pointer dereference: server.
[server/shadow/shadow_server.c:784] -> [server/shadow/shadow_server.c:791]: (warning) Either the condition '!server' is redundant or there is possible null pointer dereference: server.
[server/shadow/shadow_server.c:785] -> [server/shadow/shadow_server.c:791]: (warning) Either the condition '!server' is redundant or there is possible null pointer dereference: server.
[server/shadow/shadow_server.c:787] -> [server/shadow/shadow_server.c:791]: (warning) Either the condition '!server' is redundant or there is possible null pointer dereference: server.
[server/shadow/shadow_server.c:789] -> [server/shadow/shadow_server.c:791]: (warning) Either the condition '!server' is redundant or there is possible null pointer dereference: server.
2017-01-26 14:44:19 +05:00
Ilya Shipitsin
102913e808 make cppcheck a bit happier:
[channels/printer/client/printer_cups.c:103]: (error) Resource leak: fp
[server/Mac/mf_event.c:195]: (error) Memory leak: event_queue
[server/shadow/shadow_capture.c:233]: (error) Memory leak: capture
[winpr/libwinpr/sspi/test/TestSchannel.c:440]: (error) Memory leak: lpTokenIn
[winpr/libwinpr/thread/argv.c:198]: (error) Memory leak: lpEscapedChars
[winpr/libwinpr/utils/sam.c:312]: (error) Memory leak: entry
2017-01-25 17:09:25 +05:00
Bernhard Miklautz
924a84b324 Merge pull request #3708 from akallabeth/termination_fixes
Client channel shutdown fixes
2017-01-23 15:47:39 +01:00
Armin Novak
a64fb343c1 Fixed missing return. 2017-01-18 15:41:50 +01:00
Armin Novak
99420423cf Fixed warnings due to API changes. 2017-01-18 12:39:40 +01:00
Armin Novak
7f1d4222eb Checks, return value fixes
* Added missing argument checks
* Use opened drdynvc->log where possible
* Fix drdynvc_send return in case channel not connected.
2017-01-17 16:06:17 +01:00
Armin Novak
221b5258fc Decreased log verbosity. 2017-01-17 16:06:08 +01:00
Armin Novak
7960251e2c Fixed audio termination code. 2017-01-17 16:06:04 +01:00
Armin Novak
0f3dcc2765 Merge branch 'patch-2' of https://github.com/AMV007/FreeRDP into AMV007-patch-2
Conflicts:
	channels/tsmf/client/tsmf_ifman.c
	channels/tsmf/client/tsmf_media.c
2017-01-17 10:03:05 +01:00
Armin Novak
57901b8add Added detach support for microphone 2016-12-19 17:13:25 +01:00
Armin Novak
9f19da798c Added attach/detach support for channels. 2016-12-19 17:07:01 +01:00
Norbert Federa
ab0408ae5e ctest for int format specifiers and usage doc 2016-12-16 14:20:30 +01:00
Norbert Federa
f71b6b46e8 fix string format specifiers
- fixed invalid, missing or additional arguments
- removed all type casts from arguments
- added missing (void*) typecasts for %p arguments
- use inttypes defines where appropriate
2016-12-16 13:48:43 +01:00
Bernhard Miklautz
c97056e3a8 Fix compiler warning
FreeRDP/client/common/client.c: In function ‘freerdp_client_context_new’:
FreeRDP/client/common/client.c:86:38: warning: passing argument 1 of ‘freerdp_register_addin_provider’ from incompatible pointer type
  if (freerdp_register_addin_provider(freerdp_channels_load_static_addin_entry,
FreeRDP/include/freerdp/addin.h:60:17: note: expected ‘FREERDP_LOAD_CHANNEL_ADDIN_ENTRY_FN’ but argument is of type ‘void * (*)(const CHAR *, CHAR *, CHAR *, DWORD)’
 FREERDP_API int freerdp_register_addin_provider(
In file included from FreeRDP/client/common/compatibility.c:27:0:
FreeRDP/include/freerdp/addin.h:60:17: note: expected ‘FREERDP_LOAD_CHANNEL_ADDIN_ENTRY_FN’ but argument is of type ‘void * (*)(const CHAR *, CHAR *, CHAR *, DWORD)’
 FREERDP_API int freerdp_register_addin_provider(

gcc (Debian 4.9.2-10) 4.9.2
2016-12-01 15:36:49 +01:00
Bernhard Miklautz
00dae7c5ef Fix some spelling errors
Fixes #3633
2016-12-01 15:36:49 +01:00
Norbert Federa
c6e6b44143 countless WLog/printf format specifier fixes 2016-11-25 17:06:25 +01:00
Martin Fleisz
0febd9c7cd Merge pull request #3563 from akallabeth/android_update
Android fix warnings, visibility and formatting
2016-11-24 12:59:30 +01:00
Martin Haimberger
778767cafe fixed error 2016-11-23 04:22:03 -08:00
Martin Haimberger
7fe28a8a78 virtualChannel: removed static variable usage from
VirtualChannelApi
2016-11-23 04:17:56 -08:00
Martin Haimberger
d29848f383 rdpsnd: using new VirtualChannelEx api 2016-11-23 03:50:22 -08:00
Martin Haimberger
088a04fa44 rdpdr: using new VirtualChannelEx api 2016-11-23 01:26:03 -08:00
Martin Haimberger
41b1790d74 remdesk: Using new VirtualChannelEx api 2016-11-23 01:25:29 -08:00
Martin Haimberger
5c4fb88a58 rail: using new VirtualChannelEx api 2016-11-23 01:24:57 -08:00
Martin Haimberger
2273a15d19 encomsp: using new VirtualChannelEx api 2016-11-23 01:24:19 -08:00
Martin Haimberger
3daf4f6c53 cliprdr: using new VirtualChannelEx api 2016-11-22 02:33:23 -08:00
Marc-André Moreau
36db0cc325 channels: properly handle VirtualChannelEntryEx in static virtual channel loading 2016-11-16 09:52:24 -05:00
Marc-André Moreau
f74380be42 channels/drdynvc: fix channel entry point name 2016-11-15 12:37:50 -05:00
Marc-André Moreau
dee76617d9 channels: remove thread-local storage usage 2016-11-15 11:41:01 -05:00
Marc-André Moreau
2cce8e9fbc channels: migrate drdynvc to extended virtual channel API 2016-11-15 10:58:38 -05:00
Marc-André Moreau
70c4646722 channels: restore global tables for initHandle, openHandle mappings instead of thread local storage 2016-11-14 15:23:05 -05:00
Marc-André Moreau
e8004d5184 drdynvc: ignore some messages sent for invalid channel ids with MMR and Windows Server 2012 R2, fix issue #3422 2016-11-03 10:12:48 -04:00
Armin Novak
5bc691c79d Improved error handling if channel is missing. 2016-10-27 14:41:05 +02:00
David Fort
043243f43c Merge pull request #3560 from akallabeth/gfx_10_2
Gfx 10.2 caps and deactivate GDI unsupported functions
2016-10-21 09:29:51 +02:00
Armin Novak
5211bc058b Fixed NULL dereferences. 2016-10-19 11:11:36 +02:00
Armin Novak
6ca5a1324f Android: fixed warnings, reformatted. 2016-10-17 10:21:23 +02:00
Armin Novak
4dfdf83d68 Updated symbol visibility of GFX channel. 2016-10-17 09:11:21 +02:00
Armin Novak
39b624a211 GFX: support 10.2 stack. 2016-10-16 10:42:46 +02:00
zihao.jiang
ac08f6a48b Regression fix: The usage of RDPGFX_SURFACE_COMMAND::format is changed after color conversion huge fix.
Fix server side rdpgfx code to match the change.
2016-10-11 00:56:12 +08:00
Armin Novak
943e295714 WLog using C99 compatible variadic macros. 2016-10-07 14:05:27 +02:00
Armin Novak
9d0f7534e3 Fixed use after free. 2016-10-06 13:43:15 +02:00
Armin Novak
376dc216e6 Fixed uninitialized value. 2016-10-06 13:43:15 +02:00
Armin Novak
b03e47166e Fixed NULL pointer checks. 2016-10-06 13:43:14 +02:00
Armin Novak
b0b32734ad Reformatted file. 2016-10-06 13:43:13 +02:00
Armin Novak
1b6cf57307 Reformatted file. 2016-10-06 13:43:13 +02:00
Armin Novak
07010e6f99 Reformatted file. 2016-10-06 13:43:13 +02:00
Armin Novak
9f5da483dc Reformatted files touched in last 2 commits. 2016-10-06 13:43:12 +02:00
Armin Novak
64590e7e89 Set pEntryPointsEx->ppInterface NULL on error. 2016-10-06 13:43:12 +02:00
Armin Novak
88a3b8dd76 Initializing channel context in each thread. 2016-10-06 13:43:12 +02:00
Armin Novak
4f62d848ac Refactored interlocked typedefs, avoid namespace collisions. 2016-10-06 13:43:09 +02:00
Armin Novak
dadc5262ae Removed static channel variables.
Global static variables do not work, if more than one instance
of an RDP client is running in the same process space.
Removed the varaibles where possible and replaced them with
thread local storage where necessary.
2016-10-06 13:43:09 +02:00
Armin Novak
0acfc649cd Fixed log message. 2016-10-06 13:43:08 +02:00
Armin Novak
35f1347d53 Fixed warnings and mac build. 2016-10-06 13:43:04 +02:00
Armin Novak
dc12641b23 Fixed a windows 8.1 issue. 2016-10-06 13:43:01 +02:00
Armin Novak
a6cef5cde7 Fixed GFX related issues. 2016-10-06 13:43:00 +02:00
Armin Novak
df35c135d1 Fixed color conversion, unified GFX and updated API. 2016-10-06 13:42:58 +02:00
Ondrej Holy
2fec57f1a0 rdpsnd/pulse: Fix crashes in pulseaudio
Function pa_stream_trigger has to be called under lock to avoid
following crashes on asserts:

Assertion 'e->mainloop->n_enabled_defer_events > 0' failed at pulse/mainloop.c:257, function mainloop_defer_enable(). Aborting.
Assertion '!e->next' failed at pulsecore/queue.c:104, function pa_queue_pop(). Aborting.
Assertion 'q->front' failed at pulsecore/queue.c:81, function pa_queue_push(). Aborting.
2016-10-04 15:18:16 +02:00
David PHAM-VAN
d5dc5b4a3f Fix smartcard channel disconnect 2016-09-19 11:27:25 -07:00
David PHAM-VAN
f5f3913c1f Fix Memory Leaks in Printer Redirection 2016-09-19 11:27:25 -07:00
David PHAM-VAN
fe2e4264af Fix Memory Leaks in RdpSnd 2016-09-19 11:27:25 -07:00
David PHAM-VAN
4265177f9f Fix Memory Leaks in RdpDR 2016-09-15 10:44:15 -07:00
David PHAM-VAN
1bca1e7820 Fix Memory Leaks in Disp channel 2016-09-15 10:44:15 -07:00
Martin Fleisz
3586e33866 Merge pull request #3435 from akallabeth/uuid_find_fix
CMake FindUUID fixes.
2016-08-25 09:00:56 +02:00
zihao.jiang
5d4e9a2c87 rdpgfx/server: More minor fix 2016-08-20 01:36:37 +08:00
zihao.jiang
7d0fa79f19 rdpgfx/server: More minor fix according to comments:
Not use sizeof on packet memory structure for stream length check/estimating and use number directly.
Most of the packet size could be obviously calculated/verified from code and comments in same function.
Macro is defined for those were referenced multiple times.
2016-08-16 14:49:56 +08:00
zihao.jiang
26c98e4429 rdpgfx/server: Minor fix: use switch for pdu length estimation 2016-08-07 20:15:39 +08:00
zihao.jiang
992e0e9f35 rdpgfx: more minor changes
1. Fix style for channels/rdpgfx/server/rdpgfx_main.c according to scripts/format_code.sh
2. Refactor and introduce APIs to allow rdpgfx server channel running in existing thread (similar to rdpsnd)
2016-08-07 20:15:39 +08: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
Armin Novak
b7f8dc3d43 Fixed UUID find. 2016-06-27 10:37:24 +02:00
Vic Lee
019a569d42 rdpsnd/server: decrease audio latency and make it configurable. 2016-06-21 17:22:43 +08:00
Norbert Federa
90cdfa7646 cmake: replaced STATIC_CHANNELS with BUILTIN_CHANNELS 2016-06-15 13:36:27 +02:00
Norbert Federa
0ed98c4ee4 channels/audin/client/winmm: requires winpr 2016-06-15 13:30:38 +02:00
akallabeth
cf127ebfb9 Merge pull request #3357 from realjiangms/fix_rdpsnd_race
shadow/rdpsnd: Fix race condition in rdpsnd channel server.
2016-05-23 16:21:49 +02:00
zihao.jiang
444b678e71 shadow/rdpsnd: Fix race condition in rdpsnd channel server. The output buffer and format parameters are not protected. This cause some data inconsistence if rdpsnd has own thread 2016-05-22 22:13:32 +08:00
Bernhard Miklautz
41298d69a9 build: fix builds with -DBUILD_SHARED_LIBS=OFF
When no shared libs are built is required to export all generated
archive files otherwise programs linking against
freerdp-client/freerdp-server might miss symbols.

Fixes #3350
2016-05-18 17:13:45 +02:00
Armin Novak
704d69d540 Fixed NULL pointer access. 2016-05-12 09:28:12 +02: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
Armin Novak
48b11cf150 Dynamic channel internal functions now static. 2016-04-26 09:35:54 +02:00
Armin Novak
8917a3da95 Fix CB_FILECONTENTS_REQUEST message decoding.
Do not require optional fields to be present as required by
[MS-RDPECLIP] 2.2.5.3 File Contents Request PDU (CLIPRDR_FILECONTENTS_REQUEST)
2016-04-19 16:47:44 +02:00
Bernhard Miklautz
62cb5fac44 build: add missing dependencies
Add all missing dependencies found when building with
STATIC_CHANNELS=OFF.

Fixes #3281
2016-04-15 14:32:40 +02:00
Bernhard Miklautz
783807229d build: add missing dependencies
Add all missing dependencies found with --no-undefined. Since
dependencies aren't exported anymore (if not required) it is no necessary
to explicitly list all required libraries.
2016-04-07 15:10:00 +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
bafe1aa17e usbdrc: remove unused dependencies 2016-03-29 18:14:34 +02: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
Armin Novak
43b13ffcd2 Replace SetFilePointerEx with SetFilePointer. 2016-03-17 09:34:24 +01:00
Armin Novak
f45be8dab0 Print device name when loading channel. 2016-03-17 09:33:39 +01:00
Armin Novak
9ab3532bf8 Renamed GFX defines to conform to spec. 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
3a3ec85898 Unified RDPGFX_RECT16 and RECTANGLE_16 2016-03-16 13:43:17 +01:00
Marc-André Moreau
9211f44e46 Merge branch 'master' of github.com:FreeRDP/FreeRDP 2016-03-15 20:19:15 -04:00
Armin Novak
2dbc1a0b87 Reverted WTS API changes. 2016-03-14 13:19:08 +01:00
Armin Novak
36cbf1b583 Fixed error handling for channel load failures. 2016-03-14 13:13:43 +01:00
zihao.jiang
40ea6e9228 audin: Fixed default sys argument for audin
PR #3173 fixed argument parsing. However it breaks the usage without specifying subsystem: "/microphone"
In particular, aFreerdp microphone redirect is broken as it exactly uses "/microphone"
This PR fixes the regression.
Fix: We should not call CommandLineParseArgumentsA if argc is only 1 (same case as rdpsnd_main.c)
2016-03-11 01:52:18 +08:00
Marc-André Moreau
ceefc4b099 Merge branch 'master' of github.com:FreeRDP/FreeRDP 2016-03-07 10:19:50 -05:00
akallabeth
52f1e6b27a Merge pull request #3086 from DavBfr/fix-rdpdr
Fixes for rdpdr
2016-03-07 10:55:51 +01:00
Hardening
fb63dd267c Merge pull request #3194 from nfedera/fix-convertfromunicode-hardening
ConvertFromUnicode fixes and misc hardening
2016-03-04 11:19:00 +01:00
Bernhard Miklautz
120bd2d8bd Merge pull request #3173 from akallabeth/audin_arg_fix
Fixed argument parsing for audin.
2016-03-03 20:39:31 +01:00
Armin Novak
fb88ad0ee6 Fixed symbol export for sound plugins. 2016-03-03 17:17:13 +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 PHAM-VAN
40504c5460 Fix Uninitialized Variable 2016-03-02 10:04:24 -08:00
David PHAM-VAN
f4eb278935 Mount only removable devices and network drives in Windows; Adds consistency with Linux and Mac 2016-03-02 10:01:51 -08:00
David PHAM-VAN
31d9599d09 Move first_hotplug call to parent thread to avoid parallel access to devman dictionary 2016-03-02 10:01:51 -08:00
David PHAM-VAN
2f28b6c38b Improve code using more winpr functions 2016-03-02 10:01:51 -08:00
David PHAM-VAN
2e1e6a4ff0 Add hotplug support for MacOS 2016-03-02 10:01:51 -08:00
David PHAM-VAN
a20950faa0 Implement FileAllocationInformation 2016-03-02 10:01:51 -08: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
25506348d0 Merge pull request #3168 from akallabeth/visibility_fixes
Fixed default visibility.
2016-02-29 16:59:58 +01:00
Armin Novak
68c402ac58 Removed windows module.def files.
All symbols exported from libraries are declared
using *_API defines.
2016-02-29 15:18:47 +01:00
Armin Novak
5acd80dd5b Exporting channel entry points. 2016-02-29 15:18:19 +01:00
Armin Novak
8482fbf854 Fixed formatting. 2016-02-29 12:34:53 +01:00
Hardening
da9d9ed450 Merge pull request #3165 from akallabeth/printer_fix
Printer fix
2016-02-29 10:31:50 +01:00
Armin Novak
71bea3e1d0 Fixed argument parsing for audin. 2016-02-28 19:56:57 +01:00
zihao.jiang
17139b9fe6 android: Fix sound redirection.
After #3097, the java side pass command line argument to JNI for freerdp settings. However there's several issues need to be fixed:
1. The argument /sound should be appended if freerdp is required to play sound at local device
2. The option value for "audio-mode" is not correct.
It should match the definition in client/common/cmdline.c
/* Audio Mode */
define AUDIO_MODE_REDIRECT     0 /* Bring to this computer */
define AUDIO_MODE_PLAY_ON_SERVER   1 /* Leave at remote computer */
define AUDIO_MODE_NONE         2 /* Do not play */
3. Uncomment support for WAVE_FORMAT_PCM in audin. I tested on my android phone and Nokia N1 tablet. It works on both device
2016-02-28 13:43:11 +08:00
David PHAM-VAN
8ebe5b9930 Fix bad malloc size in statvfs 2016-02-26 09:45:35 -08:00
Armin Novak
b7187d04a5 Printer driver from command line now used. 2016-02-26 16:14:18 +01:00
Bernhard Miklautz
8bdad1eb93 Merge pull request #3140 from hardening/printer_work
Misc changes
2016-02-25 16:57:34 +01:00
Bernhard Miklautz
e6f013eac7 fix spelling
replace occured with occurred
Fixes #3142
2016-02-22 17:01:43 +01:00
David FORT
60fed9d574 Mutualize definitions for the printer channel 2016-02-16 22:24:51 +01:00
Marc-André Moreau
8fa25aae6a mfreerdp: fix build on 32-bit with mac audio 2016-02-16 13:42:08 -05:00
Armin Novak
c430d5eeb5 Removed broken check, fixes #3112 2016-02-05 10:50:26 +01:00
Hardening
13df05be78 Merge pull request #3079 from akallabeth/drive_hotplug_fix
Fixed argument checks for drive channel.
2016-02-04 09:06:43 +01:00
Norbert Federa
157d81b268 Merge pull request #3104 from akallabeth/sign_mismatch_fixes
Sign mismatch warnings fixed
2016-02-03 12:56:45 +01:00
Armin Novak
d267750a79 Fixed flac caps creation. 2016-02-03 11:55:23 +01:00
Armin Novak
539be1f9a5 Fixed unsigned underflow. 2016-02-03 11:30:15 +01:00
Armin Novak
511f9e810a Use ERROR_INVALID_DATA for short buffers. 2016-02-03 11:04:35 +01:00
Armin Novak
96aecca394 Fixed length check issue. 2016-02-02 17:59:56 +01:00
David PHAM-VAN
3f5ce2d43f Refactor format_supported with a nice switch() statement 2016-01-29 09:58:48 -08:00
David PHAM-VAN
8ef64aee96 Add ADPCM codec for Mac client 2016-01-28 16:11:39 -08:00
Armin Novak
d847993a0c Using Stream_ReminingLength for read checks. 2016-01-28 12:30:10 +01:00
Armin Novak
6f50589c05 Cleared up error code usage. 2016-01-28 12:05:14 +01:00
Armin Novak
8595e395ab Fixed size checks (thanks to @virtman) 2016-01-28 11:45:06 +01:00
Armin Novak
57f1e26f36 Checking capability read return.
Updated copyright headers.
2016-01-28 11:14:29 +01:00
Armin Novak
e08ca73ddc Improved error checks. 2016-01-27 19:26:52 +01:00
Armin Novak
deffd0d781 Fixed argument checks for drive channel. 2016-01-24 15:21:06 +01:00
Bernhard Miklautz
ede0da3280 build: fix a problem with cmake version 2.8.11
Starting with cmake 2.8.10 FreeRDP exports a cmake find module. With 2.8.12
the PRIVATE/PUBLIC keywords were introduced in cmake. When building with
2.8.11 it is not possible to mark link dependencies as private and
therefore they need to be exported.
2016-01-15 13:32:25 +01:00
Armin Novak
aa90673008 Fixed memory leak on cleanup. 2016-01-15 09:33:21 +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
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
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
Hardening
55d097a161 Merge pull request #2414 from zavadovsky/opensles_fixes
opensles fixes
2015-12-14 17:22:38 +01:00
Hardening
292a37b719 Merge pull request #2772 from bjcollins/master
tsmf updates/fixes for gstreamer decoder on X11 platform
2015-12-14 16:08:13 +01:00
Hardening
58d80d23d5 Merge pull request #2973 from hopToDev/master
Fixed build errors that occur when setting WITH_IOSAUDIO build option
2015-12-14 15:10:33 +01:00
Armin Novak
90251f5e0d Fixed OnNewChannelConnection arguments 2015-12-14 14:18:50 +01:00
Armin Novak
639c176004 Fixed DecodeEx return value 2015-12-14 14:18:50 +01:00
Hardening
70b9e994e1 Merge pull request #2941 from akallabeth/clipboard_file_fix
Clipboard file fixes
2015-12-10 16:13:24 +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
Martin Fleisz
6890e0b84d cliprdr/server: Fix incorrect message flags 2015-11-19 16:29:57 +01:00
Martin Fleisz
fc2768f807 cliprdr/server: Fix incorrect message header 2015-11-19 16:17:36 +01:00
Martin Fleisz
3070cab0fa cliprdr/server: Fix parsing of file contents request PDU 2015-11-19 14:12:26 +01:00
Armin Novak
f4a466b798 Added mac implementation. 2015-11-13 11:47:58 +01:00
Armin Novak
f6e17ec65c Added audin support for mac os. 2015-11-12 16:10:39 +01:00
Mehul Dhorda
044ebaafcd Fixed build errors that occur when setting WITH_IOSAUDIO build option.
- Replaced } with ) in CMakeLists.txt
- Included header in TPCircularBuffer.c which is required for the TAG define
2015-11-10 11:39:37 -08:00
bjcollins
d83386bf87 Fix issue with previous commit, Xext is not required for tsmf but the
definition for it still needs to be added when found.
2015-11-10 10:59:13 -06:00
Bernhard Miklautz
0cdb4f7924 Fix compiler warnings
gcc (Debian 4.9.2-10) 4.9.2

winpr/libwinpr/thread/argv.c: In function ‘CommandLineToArgvA’:
winpr/libwinpr/thread/argv.c:94:6: warning: unused variable ‘index’ [-Wunused-variable]
  int index;

winpr/libwinpr/file/test/TestFileGetStdHandle.c: In function ‘TestFileGetStdHandle’:
winpr/libwinpr/file/test/TestFileGetStdHandle.c:44:2: warning: implicit
	declaration of function ‘CloseHandle’ [-Wimplicit-function-declaration]
  CloseHandle(stdout);
    ^
libfreerdp/codec/test/TestFreeRDPRegion.c: In function ‘test_norbert2_case’:
libfreerdp/codec/test/TestFreeRDPRegion.c:697:6: warning: unused variable ‘i’ [-Wunused-variable]
  int i;

channels/cliprdr/server/cliprdr_main.c: In function ‘cliprdr_server_receive_format_list’:
channels/cliprdr/server/cliprdr_main.c:636:24: warning: unused variable ‘cliprdr’ [-Wunused-variable]
  CliprdrServerPrivate* cliprdr = (CliprdrServerPrivate*) context->handle;
                        ^
channels/cliprdr/server/cliprdr_main.c: In function ‘cliprdr_server_init’:
channels/cliprdr/server/cliprdr_main.c:1097:24: warning: unused variable ‘cliprdr’ [-Wunused-variable]
  CliprdrServerPrivate* cliprdr = (CliprdrServerPrivate*) context->handle;
2015-11-09 19:26:34 +01:00
Bernhard Miklautz
d73c4898c1 Add build-config.h
build-config.h should contain configure/compile time settings that are
relevant for projects that use FreeRDP.

For example the compiled in plugin search paths.
2015-11-09 15:54:22 +01:00
Martin Fleisz
25b1e39460 cliprdr/server: Server-side file content receiving used wrong callback 2015-10-29 12:45:12 +01:00
Martin Fleisz
730f43a380 cliprdr/server: Provide the server with a possibility to configure capabilities 2015-10-27 17:12:33 +01:00
Armin Novak
17a2d1ba1c Fixed clipboard file contents response and message to string. 2015-10-27 10:44:31 +01:00
Martin Fleisz
2d99f76667 cliprdr/server: Fix memory leak 2015-10-23 08:49:24 +02:00
Martin Fleisz
26d102c6dc cliprdr/server: Don't call CloseHandle on EventHandle 2015-10-16 11:40:25 +02:00
Marc-André Moreau
1b7e36a20f Merge branch 'master' of github.com:FreeRDP/FreeRDP 2015-10-13 11:09:43 -04:00
Armin Novak
82134fbef3 Remove unnecessary copy operation. 2015-10-02 09:29:00 +02:00
Marc-André Moreau
3fd0c45be8 afreerdp: fix build warnings 2015-09-22 11:53:50 -04:00
bjcollins
456416a871 Dont use invalid/bogus input value for cbAtrLen for Smartcard Status Calls, instead just always use the max value here to indicate we have max
buffer space available.
2015-09-18 16:55:06 -05:00
bjcollins
9b2d5ce849 Fix logic with stream syncing as the sync offset was not always calculated correctly, which could result in video playback freezing.
Fixed formatting of some tsmf debugging timestamps so they are readable/usabe.
2015-09-17 16:20:08 -05:00
bjcollins
d9754703f4 Fixed memory leak in tsmf_send_eos_response() function
Correctly handled tsmf geometry updates with no rects = tsmf window should not be shown
Add more X Display locking to tsmf gstreamer X11 module
2015-09-17 16:20:08 -05:00
bjcollins
0cb54119a5 Remove strict dependency on Xext for tsmf, it is optional not required 2015-09-17 16:20:08 -05:00
bjcollins
ca097e7363 Fix minor issues with the previous tsmf commits. 2015-09-17 16:20:08 -05:00
bjcollins
8d692995d6 tsmf gstreamer fixes
- Update patch based on feedback
- Fix gstreamer 1.0 compatibility/build issue from first patch
2015-09-17 16:20:08 -05:00
bjcollins
e8704544f4 - Use decodebin2 instead of old decodebin - decodebin has issues
- Use autovideosink - xvimagesink does not work with cards with no xv ports available and cant be used if wanted to use the fluendo hardware accelerated playback codec
- Use autoaudiosink - let gstreamer choose best audio playback plugin
- Catch when autosinks add known elements so that we can manipulate properties on them
- Adjust caps of various media types to work better with gstreamer, some codecs are picky about having certain fields available
- Remove unneeded plugins such as "ffmpegcolorspace" and "videoscale" - these do not work correctly with fluendo hardware accelerated playback codec
- Name audio/video gstreamer elements better for easier debugging
- Update gstreamer pipeline and element properties to handle playback better
- Detect when valid timestamps are available for buffer from server and try to account for when they are not valid
- Start time is much more reliable then end time from server for various media formats, so use it when possible to make decisions instead of end time
- Do not rebuild gstreamer pipeline for a seek(very expensive), instead reset gstreamer time to 0 and maintain offset between real time and gstreamer time
- Change buffer filled function back to a buffer level function, so that we can use buffer level to make better choices above gstreamer decoder in tsmf
- Remove ack function from gstreamer, instead rely on ack thread to handle acks
- Rework X11 gstreamer code to handle various videosinks which implement the XOverlayInterface and to keep more detailed information on the sub-window that is used for display
- Add check to see if a decoder is available for telling the server the client various media types
- Add in support for M4S2 and WMA1 media types
- Fix flush message handling, they are for individual streams and not the entire presentation
- Delay eos response to try to allow more time for buffers to be loaded into decoder, as we anticipate acks to server and the server will issue stop as soon as we ack eos.
- Fix issue with geometry info being ignored when resent for new streams within existing presentation
- Fixed volume level initialization issue when a stream is stopped and restarted
- Attempt to sync video/audio streams...because we run two different gstreamer pipelines - they can enter pause/playing states at different times and are thus not synchronized. Attempt
to adjust video buffer timestamps based on difference between audio/video running time to account for this difference. This logic accounts for a huge improvement in audio/video sync(ie. lip sync to words)
2015-09-17 16:20:08 -05:00
Martin Fleisz
f8ceb3f606 Merge pull request #2895 from aballier/ffmpeg
channels/tsmf/client/ffmpeg: Fix build with ffmpeg git master.
2015-09-17 16:02:00 +02:00
Alexis Ballier
b7b66968f9 channels/tsmf/client/ffmpeg: Fix build with ffmpeg git master.
Replace old, deprecated and now removed, APIs with their new equivalent while retaining backward compatibility with old ffmpeg versions.
2015-09-17 10:36:44 +02:00
Martin Fleisz
affe82cae8 Merge pull request #2890 from realjiangms/shadow_fix_memory_leak
server: Fix several memory leak found while running valgrind on freerdp-shadow
2015-09-17 10:33:43 +02:00
zihao.jiang
f21749ac07 server: Fix several memory leak while running valgrind on freerdp-shadow 2015-09-17 01:02:22 +08:00
MartinHaimberger
d4d360f6a4 Merge pull request #2859 from akallabeth/resource_leak_fix
Fixes API misuse and logic errors
2015-09-15 14:45:42 +02:00
Bryan Everly
cb533b2a04 Fixes for OpenBSD port 2015-09-10 21:31:13 -04:00
Armin Novak
911750f0f6 Checking for allocation value > 0 2015-09-07 11:10:27 +02:00
Armin Novak
d07875b7ea Fixed error checking and recording reset. 2015-09-07 09:25:48 +02:00
Armin Novak
e345feb5c1 Generalized rdpgfx_decode to work with all codecs. 2015-09-03 12:11:15 +02:00
Vic Lee
cc1bcb31b8 rdpsnd/winmm: fix SetVolume when device is not opened. 2015-09-02 15:31:40 +08:00
Armin Novak
61e7f993aa Fixed possible memory leak. 2015-09-01 12:34:40 +02:00
Armin Novak
97f7aa8f42 Fixed uninitialized values. 2015-09-01 12:27:54 +02:00
Armin Novak
c7238fb9d9 Fixed uninitialized values. 2015-09-01 12:26:33 +02:00
Armin Novak
aa43f3b5df Fixed zero lenght allocation. 2015-09-01 12:25:44 +02:00
Armin Novak
7cd3da9699 Fixed error handling of OSS audio plugin. 2015-09-01 12:25:38 +02:00
Armin Novak
276685263d Fixed cleanup code. 2015-08-28 11:46:24 +02:00
Armin Novak
5e360ddcb1 Fixed memory leak. 2015-08-28 11:22:21 +02:00
Armin Novak
26b1f5a914 Fixed memory leak. 2015-08-28 11:06:26 +02:00
Armin Novak
198b70db0e Fixed memory leak. 2015-08-28 11:05:44 +02:00
Armin Novak
1cedbd5cd1 Fixed memory leak. 2015-08-28 11:01:34 +02:00
Armin Novak
f8295a1517 Fixed resource cleanup double free. 2015-08-28 10:51:27 +02:00
Marc-André Moreau
90b7d42429 Merge pull request #2838 from akallabeth/smartcard_no_readers
Added return value checks for smartcard functions.
2015-08-27 10:05:23 -04:00
Martin Haimberger
52405a3e79 Remove WIN32ERROR type
All return values are UINT now.
2015-08-27 05:38:20 -07: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
Armin Novak
c40f3198a4 Added return value checks. 2015-08-19 12:50:48 +02:00
Martin Haimberger
414d4b8f8e fixed wrong returntype under windows 2015-07-30 07:50:10 -07: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
Martin Haimberger
65fd259610 misc fixes:
fixed all bugs from the review
checking all WaitFor*Object/s calls
2015-07-30 06:49:21 -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
Marc-André Moreau
5cb06ecc68 Merge branch 'master' of github.com:FreeRDP/FreeRDP 2015-07-28 09:21:33 -04:00
Marc-André Moreau
dfa29804ad Merge pull request #2799 from kaliway/scardlistreaders-fix
Smartcard Reader Connection Handling
2015-07-28 08:51:03 -04:00
Bernhard Miklautz
9fb6705380 rdpdr/printer: ignore unhanded packetID
Ignore packetIDs PRN_CACHE_DATA and PRN_USING_XPS instead of returning
an error.
2015-07-28 14:05:57 +02:00
Kirill Kotyagin
ef37487a44 channels/smartcard: fix possible mszReaders leak in smartcard_ListReaders(A/W)_Call 2015-07-22 17:25:17 +03:00
Kirill Kotyagin
76916d614b channels/smartcard: make smartcard_ListReaders(A/W)_Call return PCSC error statuses to the server 2015-07-22 16:56:24 +03:00
Martin Haimberger
f65d15feeb fixed audioserver
if no data could be read, the ERROR_NO_DATA is returend to
indicate a further read.
2015-07-22 03:16:46 -07:00
Martin Haimberger
58ada13dd9 fixed some remakes and compiler errors 2015-07-22 02:36:24 -07:00
Bernhard Miklautz
f992568432 rdpsnd: restore old behavior and fixes
* oss: fix function signature
* autodetection - if only /sound is given all enabled
  plugins are tried in order and the first successful loaded is used.
	- this restores the previous behavior
* alsa/pulse fix command line parsing - no parameters shouldn't be
  treated as error
2015-07-20 12:28:49 +02:00
Rostislav Kondratenko
7248ea98d0 Fixing condition on SCardIsValidContext to be true when context is valid 2015-07-17 18:13:02 +03:00
Rostislav Kondratenko
f2863fabf5 Re-enabled PCSC-Lite transactions and fixed smartcard deinitialization so it will release all contexts to unblock calls waiting for transactions 2015-07-17 16:37:44 +03:00
Martin Haimberger
e682329eeb fixed compiler errors 2015-07-15 03:17:38 -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
MartinHaimberger
b06d83ba80 Merge pull request #2766 from akallabeth/snprintf_to_sprintf_s
Replaced snprintf with sprintf_s
2015-07-15 09:47:43 +02: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
Martin Haimberger
d9e2834a70 channel smartcard hardend 2015-07-09 03:00:19 -07:00
Marc-André Moreau
aae86d61ce channels/rdpgfx: fix TotalDecodedFrames counter 2015-07-08 14:16:29 -04:00
Marc-André Moreau
23f9b3bbc0 channels/rdpgfx: reset state on channel close 2015-07-08 11:17:56 -04:00
Marc-André Moreau
11f785290f channels/drdynvc: use same status code as mstsc for DVC opening failure 2015-07-07 13:36:36 -04:00