Commit Graph

85 Commits

Author SHA1 Message Date
Norbert Federa 1eff1a345e free can handle NULL perfectly fine 2015-05-11 09:07:39 +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
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
Armin Novak 918ca132f6 Fixed resource cleanup locations.
Additional error checks and logging.
2015-01-20 11:59:13 +01:00
Armin Novak 059374457d Removed library prefix override. 2014-09-17 11:27:11 +02:00
Armin Novak 4529eb00ee Decreased logging verbosity. 2014-09-15 19:37:53 +02:00
Armin Novak b1e9ffb655 Using wlog for channel logging now.
Fixed compiler warnings and broken callback in urbdrc.
2014-09-15 08:48:46 +02:00
Marc-André Moreau f5ff6e1bd8 Merge pull request #2095 from bmiklautz/feat/byemonolithic
Remove non-monolithic builds of libfreerdp
2014-09-11 18:46:32 -04:00
Bernhard Miklautz 0313ca3622 libfreerdp: always build "MONOLITHIC"
"libfreerdp" consisted of multiple (small) single libraries. If the cmake
option MONOLITHIC was used only one library was build combining all of
the libfreerdp-* libraries.
The only exceptions to this are libfreerdp-server and libfreerdp-client these
are build as separate libraries.

This commit obsoltes non-monolithic builds and makes monolithic builds
the default. The cmake option MONOLITHIC is also removed.
2014-09-12 00:19:53 +02:00
Bernhard Miklautz 96cd479c99 rdpsnd_server_handle_messages: change return type
With BOOL as return type it is not possible to differentiate between
success and "no data can be read" (when a channel read would block).

rdpsnd_server_handle_messages returns now int with the following
possible values:

-1 if no data could be read
0 error (like connection close) (formerly FALSE)
1 succsess (also if further bytes need to be read) (formerly TRUE)

Not using -1 for error cases was chosen to be compatible with the BOOL
return values used before.
2014-09-11 13:45:23 +02:00
Bernhard Miklautz e603655048 rdpsnd server: seal stream before processing
If the stream is not sealed Stream_GetRemainingLength might return bogus
values.
2014-09-11 12:30:37 +02:00
Bernhard Miklautz bbaecbd42d rdpsnd server: add support for clients version < 6
MS-RDPEA 2.2.2.3 states (Appendix A <6>) that quality mode PDU
should be ignored if the client version is < 6. For these clients the sound
channel got never activated since activated was only called after
reception of the quality mode PDU.

For clients < version 6 activated is now called after
CLIENT_AUDIO_VERSION_AND_FORMATS was received.
2014-09-11 12:30:37 +02:00
Armin Novak 66b8905ac6 Using special log defines for channels now. 2014-08-11 09:12:01 +02:00
Armin Novak 158e1323de Fixed compiler warnings. 2014-08-07 19:05:48 +02:00
Armin Novak b252009d36 Replaced custom logging mechanism with WLog wrapper. 2014-08-07 16:51:49 +02:00
Vic Lee 29cb8680ce server: allow partial channel read (fix rdpsnd). 2014-07-14 20:00:38 +08:00
Hardening 4b6edb913c Make server sound thread optionnal
This patch makes the server-side sound channel thread optionnal, and
exposes functions to handle channel traffic from the outside.
2014-07-02 10:31:45 +02:00
Hardening 11f8e40d50 Fix packet decoding logic
This patch totally reworks the logic of the packet decoding for the
server-side sound channel.
2014-06-19 10:06:37 +02:00
Hardening f33f755635 Also specify the timestamp when sending samples
This patch complements the SendSample() callback to take the timestamp
as extra argument.
2014-06-18 23:44:34 +02:00
Hardening 99d531655c Implement a confirm block callback
This patch adds a callback called when we receive feedback from the
client.
2014-06-18 23:44:34 +02:00
Martin Fleisz 6f1f4be0ae Merge pull request #1873 from hardening/WTSVirtualChannelWriteCallers
Don't use NULL for pWrittenBytes when calling WTSVirtualChannelWrite()
2014-06-03 16:40:05 +02:00
Vic Lee a4c583c459 rdpsnd/server: fix incorrect use of channe handle. 2014-05-30 23:00:15 +08:00
Hardening c076ffb020 Don't use NULL for pWrittenBytes when calling WTSVirtualChannelWrite()
Nothing in the MSDN API says that setting NULL is safe. And if the
implementation uses WriteFile directly, it crashes.
2014-05-28 17:04:24 +02:00
Hardening 965eefe04e Fixed bad check 2014-05-02 22:45:38 +02:00
Hardening 09c9181f8d Fix ChannelEvent 2014-05-02 21:53:52 +02:00
Hardening a7023769d0 Fixes in the server-side sound channel
This patch:
* treats OOM situations
* adds checks when reading audio channel messages
2014-04-29 01:02:35 +02:00
Vic Lee 08b4976f72 Revert "channels: fix link errors."
This reverts commit 2fc7f9c485.
2014-04-22 15:05:53 +08:00
Vic Lee 2fc7f9c485 channels: fix link errors. 2014-04-21 17:47:12 +08:00
Marc-André Moreau 419e2936be Merge branch 'master' of github.com:awakecoding/FreeRDP into channels 2014-02-27 15:09:06 -05:00
Marc-André Moreau 6e1cdf1b67 libfreerdp-core: expose opaque HANDLE instead of WTSVirtualChannelManager* 2014-02-27 13:30:04 -05:00
Vic Lee 4fa2ca3062 rdpsnd-server: fix broken message parsing. 2014-02-20 23:33:27 +08:00
Marc-André Moreau 3e546a22a1 channels: start migrating existing server-side channels to WTSAPI 2014-02-16 22:07:00 -05:00
Marc-André Moreau 8a81208059 libfreerdp-core: move server-side virtual channels back into core 2014-02-15 17:42:59 -05:00
Marc-André Moreau 37450da55d cmake: fix exporting of targets on pre-2.8.11 2013-10-29 14:47:40 -04:00
Marc-André Moreau 518995a05e freerdp: merge with master 2013-09-16 17:10:27 -04:00
Armin Novak d7d5869cb6 Fixed thread handling. 2013-09-05 13:39:15 +02:00
Marc-André Moreau c878200e00 channels/server: refactor to match WTSApi + avoid conflicts 2013-08-20 19:26:36 -04:00
Marc-André Moreau 552cee7431 channels/server: start refactoring to fully match WTSApi 2013-08-20 18:06:19 -04:00
Marc-André Moreau 23a8354656 channels: rdpsnd refactoring, drdynvc initial server-side code 2013-08-18 21:52:55 -04:00
Marc-André Moreau fdf3ddcf9e freerdp: purge deprecated stream utils 2013-05-08 17:48:30 -04:00
Marc-André Moreau fd230443c5 freerdp: purge old stream utils 2013-05-08 16:27:21 -04:00
Marc-André Moreau 5b92413843 freerdp: purge deprecated stream utils 2013-05-08 16:09:16 -04:00
Marc-André Moreau b4cac74136 xfreerdp-server: fix RemoteFX encoding 2013-05-01 18:15:55 -04:00
Marc-André Moreau 51715636a5 freerdp: remove some deprecated stream utils 2013-04-29 22:35:15 -04:00
Marc-André Moreau f4df4e4b26 channels: partial cleanup 2013-03-29 14:49:09 -04:00
Hardening 7701c9d934 Replace printf(...) by fprintf(stderr, ...) 2013-03-28 23:06:34 +01:00
Marc-André Moreau 8c8a82c31f libfreerdp-utils: purge old STREAM utils 2013-03-21 16:45:25 -04:00
Marc-André Moreau a8201b0d1b libwinpr-utils: combine old and new stream utils 2013-03-21 15:19:33 -04:00
C-o-r-E 4c769bc01b rdpsnd: clean up debug output 2013-03-11 14:15:48 -04:00