Commit Graph

174 Commits

Author SHA1 Message Date
Norbert Federa
c6e6b44143 countless WLog/printf format specifier fixes 2016-11-25 17:06:25 +01:00
Marc-André Moreau
dee76617d9 channels: remove thread-local storage usage 2016-11-15 11:41:01 -05:00
Armin Novak
9f5da483dc Reformatted files touched in last 2 commits. 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
Norbert Federa
90cdfa7646 cmake: replaced STATIC_CHANNELS with BUILTIN_CHANNELS 2016-06-15 13:36:27 +02:00
Armin Novak
5acd80dd5b Exporting channel entry points. 2016-02-29 15:18:19 +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
Armin Novak
cb958ba9c6 Added pdb files to package target.
Fixed name collision with freerdp-shadow targets.
2015-12-15 12:07:21 +01:00
Martin Haimberger
52405a3e79 Remove WIN32ERROR type
All return values are UINT now.
2015-08-27 05:38:20 -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
Martin Haimberger
e682329eeb fixed compiler errors 2015-07-15 03:17:38 -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
Martin Haimberger
62d7b1e4df hardend serial channel 2015-06-18 03:04:33 -07:00
Norbert Federa
1eff1a345e free can handle NULL perfectly fine 2015-05-11 09:07:39 +02:00
Emmanuel Ledoux
cf3d857b89 serial: changed the default underlying ServerSerialDriverId from SerialDriverSerCx2Sys to SerialDriverSerialSys 2015-02-06 19:56:36 +01:00
Emmanuel Ledoux
096159054b winpr-comm: ignore errors on TIOCGICOUNT during the port initialization but the permissive mode must be on afterwards. 2014-11-13 19:54:32 +01:00
Martin Fleisz
0be28ba0f6 Merge pull request #1965 from akallabeth/dynamic-addin-naming
Dynamic channel library naming
2014-10-31 13:42:16 +01:00
Armin Novak
059374457d Removed library prefix override. 2014-09-17 11:27:11 +02:00
Emmanuel Ledoux
e9749c6b3f serial: ability to turn on the permissive mode from the command line 2014-09-16 12:08:33 +02: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
6a49bcfe40 winpr: always build "monolitic"
winpr is now always build as single library.
The build option MONOLITHIC_BUILD doesn't influence this behavior anymore.

The only exception is winpr-makecert-tool which is still build as extra
library.

This obsoletes complex_libraries for winpr.
2014-07-10 11:10:58 +02:00
Emmanuel Ledoux
80f641c38a winpr-comm, serial: excluded Android platforms as well 2014-07-04 17:40:06 +02:00
Emmanuel Ledoux
4fad947cb4 serial: implementation still __linux__ specific (even though not much remains to do to be platform agnostic at this stage) 2014-07-04 16:57:25 +02:00
Emmanuel Ledoux
7bbeff3427 winpr-comm: made its current implementation verific specific to __linux__ since it was done on top of NTTY. 2014-07-04 16:16:26 +02:00
Emmanuel Ledoux
d1a7e8c3b8 serial: attempt to avoid a couple compilation warnings: Warning:int-to-pointer-cast 2014-07-03 18:13:25 +02:00
Emmanuel Ledoux
b050f5ec56 serial: restored wlog messages using com.freerdp.channel.serial.client. Don't use anymore DEBUG_MSG(), DEBUG_WARN() and DEBUG_SVC() macros 2014-07-02 15:44:29 +02:00
Emmanuel Ledoux
9fc225ac5d Merge branch 'ports'
Conflicts:
	channels/serial/client/serial_tty.c
2014-06-30 17:22:15 +02:00
Emmanuel Ledoux
d93c6b1362 serial: don't use wlog API yet
winpr-comm: cleared some #warnings due to wrong printf formats
2014-06-25 17:02:10 +02:00
Emmanuel Ledoux
f454a5c0c8 winpr-handle: CloseHandle(), added ability to register some callback functions
winpr-comm: implemented CommCloseHandle()
2014-06-19 19:07:45 +02:00
Emmanuel Ledoux
e6c82f99d5 serial: ability to setup the server serial driver thanks to a third parameter on the command line 2014-06-18 18:20:21 +02:00
Emmanuel Ledoux
ff9babed4e serial: cleaned up serial_main and removed other files which have been replaced by winpr-comm 2014-06-17 17:18:42 +02:00
Emmanuel Ledoux
9fc0e6eccc winpr-comm: CommReadFile and CommWriteFile are now protected by a mutex
winpr-comm: implemented IOCTL_SERIAL_IMMEDIATE_CHAR
2014-06-17 16:34:20 +02:00
Emmanuel Ledoux
0db3d9dbb0 winpr-comm: cleaning up code, focused on indentation and whitespaces 2014-06-16 19:18:45 +02:00
Marc-André Moreau
53639dea0b channels: reduce dependency on svc_plugin.h 2014-06-11 15:09:28 -04:00
Emmanuel Ledoux
50efce67f5 winpr-comm: completed support of Read*Timeout 2014-05-28 22:11:19 +02:00
Emmanuel Ledoux
cdbba47eee winpr-comm: CommWriteFile, completed support of WriteTotalTimeout 2014-05-28 17:18:33 +02:00
Emmanuel Ledoux
1aeca8fbc7 - serial: terminates IRP threads more gracefully and avoiding warning messages. 2014-05-27 16:17:47 +02:00
Emmanuel Ledoux
b889ad7125 winpr-comm: reviewed the synchronization around counters, WaitMask and PendingEvents variables. Got rid of the semaphore PendingEventsSem. 2014-05-27 12:29:24 +02:00
Emmanuel Ledoux
9796224936 - winpr-comm: got a finalized version of IOCTL_SERIAL_WAIT_ON_MASK
- serial: cleaning up the code
2014-05-27 11:33:10 +02:00
Emmanuel Ledoux
5dc21b5604 winpr-comm: renamed waitMask WaitEventMask
winpr-comm: removed ReadIrpQueue
2014-05-23 15:55:44 +02:00
Emmanuel Ledoux
ee268a92ee serial: got a thread per IRP
winpr-comm: got IOCTL_SERIAL_GET_COMMSTATUS, IOCTL_SERIAL_SET_BREAK_ON and IOCTL_SERIAL_SET_BREAK_OFF
winpr-comm: tcdrain called by CommWriteFile() :(
2014-05-23 12:27:09 +02:00
Emmanuel Ledoux
9639da0067 serial: first steps to get a thread per IRP as a proof of concept. A bit of synchronization is still required. 2014-05-21 10:36:55 +02:00
Emmanuel Ledoux
baf4896a38 serial: got rid of most the warning message with MAKE_BUILD_TYPE=Release
winpr-comm: consolidated _set_handflow()/_get_handflow()
winpr-comm: introduced a permissive mode
winpr-comm: implementation of IOCTL_SERIAL_WAIT_ON_MASK still in progress
2014-05-19 16:53:57 +02:00
Emmanuel Ledoux
8179affea9 winpr-comm: got IOCTL_SERIAL_PURGE 2014-05-14 21:21:31 +02:00
Emmanuel Ledoux
6cc44ff112 winpr-comm: got IOCTL_SERIAL_SET_QUEUE_SIZE 2014-05-14 17:30:29 +02:00
Emmanuel Ledoux
4243928c2e winpr-comm: fixed _set_lines() / _clear_lines()
winpr-comm: got IOCTL_SERIAL_SET_WAIT_MASK / IOCTL_SERIAL_GET_WAIT_MASK and a non-blocking version of IOCTL_SERIAL_WAIT_ON_MASK
2014-05-14 16:29:10 +02:00
Emmanuel Ledoux
116995f865 wimpr-comm: got IOCTL_SERIAL_GET_MODEMSTATUS 2014-05-13 17:27:51 +02:00
Emmanuel Ledoux
7ec15d9683 serial: removed the Write thread (kept the read and main threads)
serial: better closing
2014-05-13 15:12:14 +02:00
Emmanuel Ledoux
7e36374a89 serial: attempt to use two additional threads for read and write requests
winpr-comm: fixed CommWriteFile
2014-05-13 14:55:30 +02:00
Emmanuel Ledoux
7f9545f12e serial: removed the extra byte sent with an empty OutputBuffer. At least Windows 2008R2 SP1 works better without it. Need to figure out why... 2014-05-12 19:21:06 +02:00
Emmanuel Ledoux
4c743de69c winpr-comm: got IOCTL_SERIAL_SET_TIMEOUTS / IOCTL_SERIAL_GET_TIMEOUTS
serial redirection: use of winpr-comm's functions and not serial_tty.* anymore
2014-05-12 17:33:56 +02:00
Emmanuel Ledoux
c2b024512a winpr-comm: got IOCTL_SERIAL_SET_HANDFLOW / IOCTL_SERIAL_GET_HANDFLOW 2014-05-06 16:08:58 +02:00
Emmanuel Ledoux
ee2339addc winpr-comm: implemented IOCTL_SERIAL_SET_CHARS and IOCTL_SERIAL_GET_CHARS 2014-04-29 04:04:09 +02:00
Emmanuel Ledoux
69eeeebe67 winpr-comm: got IOCTL_SERIAL_GET_BAUD_RATE and IOCTL_SERIAL_GET_PROPERTIES (partial)
winpr-comm: cleant up unit tests
2014-04-28 19:57:17 +02:00
Emmanuel Ledoux
e7f0185e69 - firt use of winpr-comm by the serial channel (not tested and not finalized) 2014-04-27 19:41:25 +02:00
Marc-André Moreau
769502ec72 Merge branch 'master' of github.com:FreeRDP/FreeRDP 2014-04-26 13:47:01 -04:00
Marc-André Moreau
fb3f5e6bd2 libfreerdp-utils: purge deprecated list utils 2014-04-26 12:31:24 -04:00
Zhang Zhaolong
e8f34b845e serial: fix memory leak in case of error out. 2014-04-26 13:43:52 +08:00
Zhang Zhaolong
7b1e773929 serial: fix memory leak in case of error out. 2014-04-26 12:24:56 +08:00
Emmanuel Ledoux
6fcc1b4478 winpr-comm: first import of comm_ioctl.h and the REMOTE_SERIAL_DRIVER type. 2014-04-25 00:20:48 +02:00
Marc-André Moreau
8083350aaa channels/serial: remove debug output 2014-04-01 16:49:09 -04:00
Marc-André Moreau
021776e84b channels/serial: partial EPSON TM-T88III fix 2014-03-26 17:54:36 -04:00
Marc-André Moreau
8e2baab504 channels/serial: code cleanup 2014-03-26 17:11:15 -04:00
Marc-André Moreau
2ff5200f81 channels/serial: remove old async irp code, cleanup to make use of newer utils 2014-03-26 15:21:44 -04:00
Marc-André Moreau
00e6463e1e channels/rdpdr: robustness improvements 2014-03-26 11:05:12 -04: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
55565e056c freerdp: export targets 2013-10-28 23:06:39 -04:00
Marc-André Moreau
05d9fbfe2a channels/rdpdr: remove dependency on svc_plugin 2013-10-17 15:42:51 -04:00
Armin Novak
8442c79e10 Added assertions and ExitThread calls. 2013-09-05 14:27:34 +02:00
Armin Novak
6f9183c7aa Using a monitor thread for tty input now to work around a WaitForMultipleObjects
limitation of winpr.
Using infinite timeout now in threads to reduce CPU usage to nearly zero.
2013-08-16 15:51:44 +02:00
Armin Novak
60d38daf0a Reset file descriptor set only, if necessary now. 2013-08-16 12:40:06 +02:00
Armin Novak
1a96bdc7a5 Fixed initialization of serial device, now aborting pending
read / write operations.
2013-08-16 10:34:54 +02:00
Armin Novak
e40d921da3 Removed EAGAIN handling, again passing on the error to the server. 2013-08-14 17:33:46 +02:00
Armin Novak
bb0e5f2660 Fixed invalid access to tty in thread, which was already removed by
serial_process_irp_close
Retry read now, if non blocking IO returns EAGAIN.
2013-08-14 15:14:40 +02:00
Armin Novak
d4945f7a81 Fixed high CPU usage. 2013-08-14 13:23:55 +02:00
Armin Novak
1d2adcbe26 Fixed resource leaks. 2013-08-14 13:23:54 +02:00
Armin Novak
7d27062edd Using WaitForMultipleObjects now to reduce CPU load. 2013-08-13 14:04:17 +02:00
Norbert Federa
db6c0083d0 channels/serial: bring it back to life
- Fixes #1166
- Fixed a possible segfault caused by invalid command line parameters
- Removed serial->in_event which had no effect at all on the program logic
2013-07-03 14:09:04 +02: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
dbbb341098 libfreerdp-utils: purge thread utils 2013-03-21 17:58:18 -04: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
16ba581553 channels/serial: remove usage of old thread utils 2013-03-20 21:22:47 -04:00
Marc-André Moreau
fe34a529d5 freerdp: fix build and warnings on Mac OS X 2013-02-21 21:09:42 -05:00
Marc-André Moreau
4772b10e54 channels/serial: code cleanup 2013-02-08 10:59:37 -05:00
David Lesaffre
956e7d9f8b making a working version for my CISCO 800 series router 2013-01-29 16:07:16 +01:00
David Lesaffre
12804eb119 prevent read in freed memory 2013-01-23 14:25:33 +01:00
david
43cb13585d always initialize lpMultiByteStr parameter when calling ConvertFromUnicode 2013-01-16 01:14:03 +01:00
Marc-André Moreau
d19e2042c3 libfreerdp-utils: remove deprecrated unicode utils in favor of WinPR 2012-12-17 10:20:25 -05:00
Marc-André Moreau
af9be28000 libfreerdp-utils: purge deprecated freerdp_UnicodeToAsciiAlloc util in favor of WinPR ConvertFromUnicode 2012-12-16 23:34:07 -05:00
Marc-André Moreau
808fc210e3 libfreerdp-utils: remove hexdump utils in favor of WinPR utils 2012-12-13 23:54:54 -05:00
Marc-André Moreau
eea3414579 libfreerdp-utils: purge deprecated wait_obj utils 2012-11-26 20:15:48 -05:00
Marc-André Moreau
136282dae3 libfreerdp-utils: replace wait_obj struct with HANDLE 2012-11-26 19:21:19 -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
ecddb58ba2 channels: cmake cleanup, USB redirection refactoring 2012-11-20 19:34:52 -05:00