Commit Graph

27 Commits

Author SHA1 Message Date
Daniel Bungert
475a44f0e2 Free incompletely initialized dvcs.
If dynamic channels are not completely initialized, the server will
reuse those channel numbers for new channels.
This causes interesting problems when the server asks for a channel
by number, as we can end up with multiple channels with the same number.

Log example of the problem:
DBG_DVC drdynvc_process_receive (341): Cmd=0x1
DBG_DVC drdynvc_process_create_request (249): ChannelId=0 ChannelName=PNPDR
DBG_DVC drdynvc_process_create_request (265): no listener
DBG_DVC drdynvc_process_receive (341): Cmd=0x1
DBG_DVC drdynvc_process_create_request (249): ChannelId=0 ChannelName=TSMF
DBG_DVC tsmf_on_new_channel_connection (378):
DBG_DVC dvcman_create_channel (415): listener TSMF created new channel 0
DBG_DVC drdynvc_process_create_request (260): channel created
DBG_DVC drdynvc_process_receive (341): Cmd=0x3
DBG_DVC drdynvc_process_data (311): ChannelId=0
Warning dvcman_receive_channel_data (517): ChannelId 0 not ready!

In this log, we received data intended for TSMF, but the channel lookup
found the incompletely initialized PNPDR.
2013-06-11 16:49:27 -04:00
Marc-André Moreau
8095bec3ec channels/drdynvc: call OnChannelDisconnected 2013-05-20 15:23:54 -04:00
Marc-André Moreau
d96249e19f libfreerdp-client: start propagating channels initialization to client 2013-05-13 17:39:53 -04:00
Marc-André Moreau
e72f898956 channels/drdynvc: refactor and start exporting interface 2013-05-13 16:07:42 -04:00
Marc-André Moreau
fdf3ddcf9e freerdp: purge deprecated stream utils 2013-05-08 17:48:30 -04:00
Marc-André Moreau
5b92413843 freerdp: purge deprecated stream utils 2013-05-08 16:09:16 -04:00
Marc-André Moreau
51715636a5 freerdp: remove some deprecated stream utils 2013-04-29 22:35:15 -04:00
Marc-André Moreau
d187becc28 freerdp: merge with master 2013-03-28 21:20:36 -04:00
Marc-André Moreau
3417a3aab5 freerdp: merge RDP_EVENT type with wMessage 2013-03-28 21:13:56 -04:00
Marc-André Moreau
f757623f7f channels: replace event_type, event_class with id for events 2013-03-28 20:23:16 -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
Marc-André Moreau
01158f9a34 libfreerdp-utils: purge deprecrated load_plugin utils from source tree 2012-11-21 21:28:48 -05:00
Marc-André Moreau
8a32de3801 libfreerdp: purged source tree from deprecated memory utils 2012-11-21 21:22:06 -05:00
Marc-André Moreau
2a16183f5d libfreerdp-utils: remove deprecated calls to xnew() macro 2012-11-21 20:21:08 -05:00
Marc-André Moreau
2e1a7447a1 channels: refactoring of channel subsystems 2012-11-19 22:31:15 -05:00
Marc-André Moreau
4a472d5536 libfreerdp-common: added parsing of /vc and /dvc 2012-11-18 00:08:03 -05:00
Marc-André Moreau
925eb59bf1 libfreerdp-common: refactoring of addin loader 2012-11-17 22:03:04 -05:00
Marc-André Moreau
9d064171a7 freerdp: get rid of old types 2012-10-09 03:26:39 -04:00
Marc-André Moreau
1bf8a45519 freerdp: change uint8, sint8, uint16, sint16 to BYTE, INT8, UINT16, INT16 2012-10-09 03:01:37 -04:00
Marc-André Moreau
2df7aaad39 libfreerdp-utils: get rid of xstrdup in favor of WinPR _strdup 2012-10-08 23:42:01 -04:00
Marc-André Moreau
9909a12af5 libfreerdp-utils: get rid of xmalloc, xrealloc and xfree 2012-10-08 23:21:26 -04:00
Marc-André Moreau
e60a092d81 freerdp: fix headers 2012-10-08 23:02:04 -04:00
Marc-André Moreau
12554c172f winpr: fix build on Windows 2012-10-03 17:53:03 -04:00
Marc-André Moreau
164783904a freerdp: merging with master 2012-10-02 16:32:41 -04:00
Marc-André Moreau
3d65cb1c27 channels: moved client-side implementations in client subdirectories 2012-09-22 17:46:23 -04:00