Commit Graph

746 Commits

Author SHA1 Message Date
Bernhard Miklautz
4a453d4b9f winpr: fix build with visual studio < 2012
_COM_Outptr_ was introduced in visual studio 2012.
2014-11-12 18:09:55 +01:00
Armin Novak
cff721f23b Fixed broken cliprdr TAG definition.
Added WINPR_API for backtrace functions.
2014-11-12 09:17:47 +01:00
Armin Novak
a6eff65259 Fixed ExitThread, now running pthread_exit and setting event. 2014-10-27 11:28:13 +01:00
Armin Novak
c846379e60 Removed noreturn from ExitThread, does not conform to http://msdn.microsoft.com/en-us/library/windows/desktop/ms682659%28v=vs.85%29.aspx and crashes FreeRDP. 2014-10-27 11:23:16 +01:00
Armin Novak
c304f457cf Implemented thread handling for WaitForMultipleObjects.
Implemented thread specific functions.
2014-10-27 11:23:15 +01:00
Marc-André Moreau
f01bb56ac5 channels/cliprdr: add missing clipboard data format definitions 2014-10-23 18:33:10 -04:00
Mike McDonald
95a72a182c Fix to header file. __builtin_bswap16 is only available on GCC v4.8 (or higher). 2014-10-20 15:59:54 -04:00
Marc-André Moreau
83ecddd6c1 xfreerdp: replace cliprdr to wire format conversion 2014-10-17 20:40:11 -04:00
Marc-André Moreau
0e4659403f libwinpr-clipboard: add basic clipboard synthesizers 2014-10-17 18:23:07 -04:00
Marc-André Moreau
c27888ed72 libwinpr-clipboard: initial clipboard synthetic format support 2014-10-17 16:45:36 -04:00
Marc-André Moreau
d98ce1a819 libwinpr-clipboard: initial commit 2014-10-17 15:19:05 -04:00
Marc-André Moreau
334dec3c1f winpr: add pragma pack, bitmap + clipboard definitions 2014-10-16 21:45:47 -04:00
Marc-André Moreau
f6b3b24c22 winpr: add new line ending, utf16 byte order swap functions 2014-10-16 18:07:44 -04:00
Marc-André Moreau
020436db79 libwinpr-handle: fix dummy DuplicateHandle implementation 2014-10-11 12:34:45 -04:00
Marc-André Moreau
ed99c63070 winpr: fix DECLSPEC_EXPORT on Windows 2014-10-10 20:34:17 -04:00
Marc-André Moreau
8ef4c14a6d libwinpr-environment: fix extended functions 2014-10-10 19:16:51 -04:00
Marc-André Moreau
e49cfe05a8 winpr: windows build fixes 2014-10-10 18:59:05 -04:00
Marc-André Moreau
11ae267518 libfreerdp-core: expose new API to allow FreeRDS virtual channel hooking 2014-10-10 16:11:42 -04:00
Marc-André Moreau
8865077b40 libwinpr-winsock: minor improvements 2014-10-09 20:27:42 -04:00
Marc-André Moreau
b01ef89b3d libwinpr-utils: improve HashTable flexibility, add proper string support 2014-10-09 16:46:55 -04:00
Marc-André Moreau
914e498a38 winpr-winsock: add missing INVALID_SOCKET definition 2014-10-08 20:52:04 -04:00
Marc-André Moreau
d5cbadee9d libwinpr-utils: improve .ini file parser 2014-10-02 18:45:53 -04:00
Marc-André Moreau
2841fa32af winpr: fix header conflict with internal X11 definitions 2014-10-01 15:33:01 -04:00
Marc-André Moreau
abd87ace55 rdtk: initial commit 2014-09-29 16:08:08 -04:00
Marc-André Moreau
1c34583407 libwinpr-utils: add png support 2014-09-28 11:02:39 -04:00
Emmanuel Ledoux
275a1b9bc4 winpr-comm: fixed set_baud_rate()/get_baud_rate() functions in comm_serial_sys.c (the issue came from a wrong extrapolation of the COMMPROP's MaxBaud field)
winpr-comm: got rid of SERIAL_BAUD_* values which are identical to BAUD_* ones
2014-09-16 11:21:01 +02:00
Armin Novak
19bbab3078 Reformatted header with astyle 2.03, fixing extern "C" scope inentation. 2014-09-11 12:39:02 +02:00
Armin Novak
a15df299e9 Removed last remainig printf. 2014-09-09 16:32:23 +02:00
Armin Novak
26887de257 Fixed arguments for WLog_Print in logging macros. 2014-09-09 16:32:22 +02:00
Armin Novak
b22b897389 Reformatted changed files. 2014-09-09 16:32:22 +02:00
Armin Novak
6baf98dcda Moved logging defines to main logger. 2014-09-09 16:32:04 +02:00
Armin Novak
3e21e570b8 Added recursion detection to WLog.
Dump functions now expect TAG and level as arguments.
2014-09-09 16:31:46 +02:00
Armin Novak
c32c48fbb6 Added recursion guard to logging functions. 2014-09-09 16:30:52 +02:00
Marc-André Moreau
fd7b9669a5 libfreerdp-codec: improve progressive unit tests 2014-09-03 18:47:02 -04:00
Marc-André Moreau
320b1d35ed libwinpr-utils: centralize bitmap utils 2014-09-03 16:20:50 -04:00
Marc-André Moreau
1a8c763309 Merge branch 'shadow' of github.com:awakecoding/FreeRDP 2014-08-18 17:06:13 -04:00
Marc-André Moreau
065d6f0c99 Merge pull request #2010 from hardening/list_return_value
Make LinkedList return errors when something fails
2014-08-18 13:05:18 -04:00
Armin Novak
e700dc6818 Winpr stacktrace header. 2014-08-14 10:37:48 +02:00
Marc-André Moreau
e4a4aa4d3a Merge branch 'master' of github.com:awakecoding/FreeRDP into shadow
Conflicts:
	channels/encomsp/client/encomsp_main.c
	libfreerdp/core/tcp.c
	libfreerdp/crypto/certificate.c
	server/Windows/CMakeLists.txt
	server/X11/xf_cursor.c
	server/X11/xf_input.c
	server/X11/xf_interface.c
	server/X11/xf_monitors.c
	server/X11/xf_peer.c
2014-08-11 19:22:33 -04:00
Marc-André Moreau
87fd839a35 libfreerdp-codec: cleanup and fix __lzcnt on Windows 2014-08-11 18:48:42 -04:00
Marc-André Moreau
edde16e9d5 libwinpr-synch: add initial synchronization barrier implementation 2014-08-08 17:34:30 -04:00
Marc-André Moreau
22d3b6c74b libfreerdp-codec: remove old RemoteFX RLGR implementation in favour of faster one 2014-08-05 21:41:58 -04:00
Marc-André Moreau
3895c930a3 Merge branch 'master' of github.com:awakecoding/FreeRDP into shadow 2014-08-05 09:56:12 -04:00
Marc-André Moreau
51f6ffd2ba libfreerdp-codec: improve rfx progressive RLGR1 implementation 2014-08-02 22:26:05 -04:00
Hardening
ff95b9aafa Make LinkedList return errors when something fails 2014-07-31 10:38:59 +02:00
Norbert Federa
cdcdec99bc OpenSSL thread safety
freerdp/winpr had the following issues:
* The non reentrant SSL_library_init() was called concurrently (crash)
* Missing code/api to set the eventually required OpenSSL static and dynamic locking callbacks
* Missing code/api to free the application-global or thread-local OpenSSL data and tables

This commit creates two new winpr functions:

BOOL winpr_InitializeSSL(DWORD flags):

Use the flag WINPR_SSL_INIT_ALREADY_INITIALIZED if you want to tell winpr that
your application has already initialized OpenSSL.
If required use the flag WINPR_SSL_INIT_ENABLE_LOCKING to tell winpr that it
should set the OpenSSL static and dynamic locking callbacks.
Otherwise just call it with the flag WINPR_SSL_INIT_DEFAULT.

The recommended way is that your application calls this function once before
any threads are created. However, in order to support lazy OpenSSL library
initialization winpr_InitializeSSL() can also safely be called multiple times
and concurrently because it uses the new InitOnceExecuteOnce() function to
guarantee that the initialization is only performed successfully once during
the life time of the calling process.

BOOL winpr_CleanupSSL(DWORD flags):

If you create a thread that uses SSL you should call this function before the
thread returns using the flag WINPR_SSL_CLEANUP_THREAD in order to clean up
the thread-local OpenSSL data and tables.
Call the function with the flag WINPR_SSL_CLEANUP_GLOBAL before terminating
your application.

Note: This commit only replaced the current occurences of the
SSL_load_error_strings(); SSL_library_init(); pairs in the freerdp source
with winpr_InitializeSSL(). None of the server or client applications has been
changed according to the recommended usage described above (TBDL).
2014-07-28 21:55:57 +02:00
Norbert Federa
fae8f6fbf2 winpr/sync: Added InitOnceExecuteOnce plus CTest 2014-07-24 21:12:59 +02:00
Marc-André Moreau
d8b858811f shadow: initial windows server-side connectivity 2014-07-17 21:15:22 -04:00
Marc-André Moreau
19c25cf2b4 winpr-pool: fix header on non-Windows 2014-07-17 17:34:51 -04:00
Marc-André Moreau
e6f4754ed3 winpr: improve windows builds across visual studio versions and toolsets 2014-07-17 15:11:04 -04:00
Emmanuel Ledoux
80f641c38a winpr-comm, serial: excluded Android platforms as well 2014-07-04 17:40:06 +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
9217de3bb1 winpr-utils: WLog_PrintMessageVA, include stdarg.h from wlog.h instead of wlog.c 2014-07-04 14:52:13 +02:00
Emmanuel Ledoux
300a511672 winpr-utils: exported WLog_PrintMessageVA() and defined WLog_PrintVA() in order to be then able to wrap wlog messages in another variadic function. 2014-07-02 15:37:13 +02:00
Emmanuel Ledoux
9fc225ac5d Merge branch 'ports'
Conflicts:
	channels/serial/client/serial_tty.c
2014-06-30 17:22:15 +02:00
Marc-André Moreau
c156006195 Merge branch 'master' of github.com:awakecoding/FreeRDP into egfx 2014-06-23 11:55:27 -04:00
Marc-André Moreau
78d3c82798 xfreerdp: fix multiple egfx-related memory leaks 2014-06-20 13:52:13 -04: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
d38a323526 winpr-comm, winpr-file: better initialization of the static variables 2014-06-19 12:03:36 +02:00
Marc-André Moreau
3aac5ec897 Merge branch 'master' of github.com:FreeRDP/FreeRDP 2014-06-18 16:12:54 -04:00
Marc-André Moreau
948d137426 libwinpr-sspi: add support for passing NTLMv2 hash 2014-06-18 16:02:13 -04:00
Marc-André Moreau
e272bc923e libwinpr-sspi: fix server-side NTLM authentication against NTLMv2 without key exchange 2014-06-18 14:42:35 -04: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
62d893b2bd winpr-comm: implemented IOCTL_SERIAL_RESET_DEVICE 2014-06-17 17:49:06 +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
34c3654faf winpr-comm: implemented IOCTL_SERIAL_CONFIG_SIZE 2014-06-17 15:19:16 +02:00
Emmanuel Ledoux
0db3d9dbb0 winpr-comm: cleaning up code, focused on indentation and whitespaces 2014-06-16 19:18:45 +02:00
Mario Reja
45f9a72975 Added define guards for _rotl and related bit rotation functions, which collided with function definitions in x86intrin.h 2014-06-13 14:25:28 +03:00
Marc-André Moreau
adbfcf53ea libwinpr-sspi: fix failing test 2014-06-10 18:09:51 -04:00
Marc-André Moreau
a7de9e5ac9 Merge branch 'master' of github.com:awakecoding/FreeRDP into sspi
Conflicts:
	winpr/include/winpr/timezone.h
	winpr/libwinpr/timezone/timezone.c
2014-06-10 16:40:58 -04:00
Marc-André Moreau
1b93dca6c0 libwinpr-sspi: add support for querying user+domain and setting NTLM hash 2014-06-10 16:38:16 -04:00
Marc-André Moreau
20464a08ee winpr: remove installable config.h header 2014-06-10 08:24:20 -04:00
Marc-André Moreau
a37c6bb653 libwinpr-sspi: fix build on Linux 2014-06-07 16:46:32 -04:00
Marc-André Moreau
576e0c4d1a libwinpr-sspi: fix exporting of SSPI API 2014-06-07 14:43:02 -04:00
Alessandro Pilotti
7d2f96e84f Fixes timezone API definition issues on Windows
GetDynamicTimeZoneInformation, SetDynamicTimeZoneInformation and
GetTimeZoneInformationForYear are provided by the Windows SDK accordingly
with ethe MSDN cocumentation for SDK with versions above 7.1A.

Those functions are incorrectly included by the 7.1A SDK if _WIN32_WINNT
>= 0x0501 instead of _WIN32_WINNT >= 0x0600.

The issue arises when building with an XP compatible toolset (e.g.
v120_xp).
2014-06-07 20:11:32 +03:00
Marc-André Moreau
a07f616895 libwinpr-sspi: improve link interface 2014-06-07 10:50:51 -04:00
Marc-André Moreau
1b5a2340d2 libwinpr-sspi: even more code hardening 2014-06-07 00:17:11 -04:00
Marc-André Moreau
220f885774 libwinpr-sspi: code hardening 2014-06-06 17:20:34 -04:00
Marc-André Moreau
c5a1a8ac27 libwinpr-sspi: fix native sspi build 2014-06-05 22:10:08 -04:00
Marc-André Moreau
abd475060c libwinpr-winsock: fix build on Windows 2014-06-01 21:52:33 -04:00
Marc-André Moreau
1172596d59 libwinpr-winsock: initial winsock implementation 2014-06-01 15:04:28 -04:00
Marc-André Moreau
1ddd6c5e0d libwinpr-utils: add WLog support for Win32 debugger console output 2014-05-31 10:10:19 -04:00
Marc-André Moreau
357b9197a8 libwinpr-timezone: fix build on Windows 2014-05-29 21:29:24 -04:00
Marc-André Moreau
e5a77c3105 libwinpr-utils: add support for fine grained wlog filter 2014-05-29 15:23:15 -04:00
Marc-André Moreau
e33d7321bb libwinpr-timezone: stub functions 2014-05-29 11:58:53 -04:00
Marc-André Moreau
af6fb83d3b libwinpr-utils: extend wlog prefix format 2014-05-28 10:38:32 -04:00
Emmanuel Ledoux
1e9e8b68bf winpr-comm: got IOCTL_SERIAL_GET_DTRRTS 2014-05-28 11:39:10 +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
13e10c5de9 winpr-comm: identified the ioctl 0x00220034 as IOCTL_USBPRINT_GET_1284_ID (support not yet implemented) 2014-05-26 16:31:56 +02:00
Marc-André Moreau
c866d19bd4 winpr-crt: fix bit rotation macros 2014-05-23 14:00:46 -04:00
Emmanuel Ledoux
5dc21b5604 winpr-comm: renamed waitMask WaitEventMask
winpr-comm: removed ReadIrpQueue
2014-05-23 15:55:44 +02:00
Emmanuel Ledoux
4feafcc40d winpr-comm: got IOCTL_SERIAL_SET_XOFF and IOCTL_SERIAL_SET_XON 2014-05-23 13:04:43 +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
Marc-André Moreau
19b25a792e winpr-crt: add bit rotation functions 2014-05-22 16:31:14 -04:00
Marc-André Moreau
146305f9b2 Merge branch 'master' of github.com:FreeRDP/FreeRDP 2014-05-22 13:59:25 -04:00
Martin Haimberger
535d7668a7 fixed missing extern C for cpp in makecert.h 2014-05-22 01:28:01 -07: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
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
Marc-André Moreau
0bcb3eb63d libwinpr-locale: fix inclusion of stdarg.h 2014-05-10 17:31:42 -04:00
Marc-André Moreau
b8d60d5715 Merge branch 'master' of github.com:FreeRDP/FreeRDP 2014-05-10 10:59:56 -04:00
Marc-André Moreau
ee282a931b freerdp: fix build warnings on Windows 2014-05-10 09:50:36 -04:00
Marc-André Moreau
fb3662c7e2 winpr: fix ranlib missing symbols warnings on OS X 2014-05-09 22:44:19 -04:00
Hardening
50f1f0df6f Add some const modifiers
This allows these functions to be used with const buffers.
2014-05-09 22:36:50 +02:00
Marc-André Moreau
bbc9fc4393 freerdp: add more vendor options 2014-05-09 12:25:05 -04:00
Marc-André Moreau
a202fe4057 freerdp: fix several type related warnings 2014-05-08 18:02:02 -04:00
Marc-André Moreau
c2bdd5d413 Merge pull request #1825 from hardening/compil_warnings
Fix some compilation warnings
2014-05-08 16:09:18 -04:00
Bernhard Miklautz
139630be94 makecert: install header file
install the makecert header file for the exported static libary to
winpr/tools/makecert.h
2014-05-07 21:09:34 +02:00
Hardening
597cba042a Fix some compilation warnings 2014-04-29 16:02:31 +02:00
Emmanuel Ledoux
18dd3d3141 winpr-comm: tests are done according the "remote serial driver" in TestGetCommState/TestSetCommState 2014-04-28 22:32:27 +02:00
Marc-André Moreau
9a8b8372d4 winpr: fix type redefinition 2014-04-27 22:35:04 -04:00
Marc-André Moreau
19dc76b329 winpr: check for __LP64__ for DWORD and LONG definitions 2014-04-27 22:05:31 -04:00
Marc-André Moreau
b67288868d Merge branch 'master' of github.com:awakecoding/FreeRDP into fdsapi 2014-04-27 19:18:23 -04:00
Marc-André Moreau
746e8a6929 libwinpr-smartcard: fix usage of native data types 2014-04-25 18:49:57 -04: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
Emmanuel Ledoux
346c598bbe Introduced RegisterHandleCreator() to be used with CreateFile() 2014-04-22 17:00:14 +02:00
Hardening
bb2852df06 Add an helper function for the Key object 2014-04-18 23:07:43 +02:00
Emmanuel Ledoux
7e44488e0a winpr-file: introduced HANDLE_CREATOR type
winpr-comm: got a _CommHandleCreator
2014-04-18 19:25:25 +02:00
Hardening
ef11358668 Enhance ListDictonnary
This patch enhances ListDictionnary so that you can set callbacks for
keys and for values.
2014-04-18 18:26:04 +02:00
Emmanuel Ledoux
f9fc107c20 new functions: DefineCommDevice / QueryCommDevice / IsCommDevice 2014-04-18 17:18:08 +02:00
Hardening
6febe88026 Fixes for queue and stack
This patch does misc fixes in queue and stack:
* the *_new() were not handling OOM correctly ;
* the *_Contains() methods were not using the equals cb;
* the lock were not always taken when accessing internal members;
2014-04-18 16:27:51 +02:00
Emmanuel Ledoux
75ff8fd9a4 add tchar function: _tcsncmp 2014-04-18 15:04:11 +02:00
Bernhard Miklautz
291569d1e5 winpr: change GetKnownSubPath to use a const path 2014-04-17 10:04:34 +02:00
Bernhard Miklautz
b8cf4a2304 remove re-declaration of extended pipe functions
remove them from winpr/pipe.h since they are defined and declared
in winpr/file.h
2014-04-17 10:04:06 +02:00
Marc-André Moreau
edb3ad383e Merge pull request #1784 from hardening/collections_reallocs
Don't leak memory when realloc fails
2014-04-14 14:17:05 -04:00
Marc-André Moreau
d699128a57 channels/smartcard: add more debug output 2014-04-13 15:50:51 -04:00
Marc-André Moreau
9afe63aa76 libwinpr-smartcard: improve GetStatusChange 2014-04-13 00:43:12 -04:00
Marc-André Moreau
7ff1c984c2 channels/smartcard: add more debug output, make distinction between reader and card state 2014-04-12 14:31:54 -04:00
Marc-André Moreau
fd6052f348 channels/smartcard: add more debug output 2014-04-12 12:42:09 -04:00
Marc-André Moreau
727a4914f2 channels/smartcard: add more debug output 2014-04-11 18:57:04 -04:00
Marc-André Moreau
8cac6519e1 channels/smartcard: added detailed debug tracing 2014-04-11 02:17:36 -04:00
Hardening
31c77baba0 Don't leak memory when realloc fails 2014-04-09 21:53:42 +02:00
Marc-André Moreau
b91c10392f channels/smartcard: improve SCardGetAttrib 2014-04-08 23:52:24 -04:00
Marc-André Moreau
2aa248853a channels/smartcard: cancel outstanding IRPs on re-initialization 2014-04-05 17:15:17 -04:00
Marc-André Moreau
f9ada64587 libwinpr-smartcard: fix compilation on Windows 2014-04-04 16:45:11 -04:00
Marc-André Moreau
91898fb293 libwinpr-smartcard: add winscard.dll backend 2014-04-04 15:50:04 -04:00
Marc-André Moreau
06bf1ecc95 libwinpr-smartcard: implement dynamic API stubs 2014-04-04 15:30:03 -04:00
Marc-André Moreau
308e32ccb9 channels/smartcard: refactoring 2014-04-03 17:29:12 -04:00
Marc-André Moreau
89ad7638e4 channels/smartcard: migrate code to libwinpr-smartcard 2014-04-03 15:27:55 -04:00
Marc-André Moreau
d5ca2162ad libwinpr-smartcard: dynamically load pcsclite 2014-04-02 22:08:04 -04:00
Marc-André Moreau
c1f1ae2f65 libwinpr-smartcard: initial stubs 2014-04-02 20:54:46 -04:00
Marc-André Moreau
82ed4f0f38 libwinpr-comm: initial stubs 2014-04-02 15:51:28 -04:00
Hardening
ac7507ab8d Adds some check to treat OOM problems + RDP security fix
Malloc can fail so it will, this patch adds some check in some places
where malloc/strdup results were not checked.

This patch also contains a server side fix for RDP security (credit to nfedera).
The signature len was badly set in the GCC packet. And some other RDP security
oriented fixes are also there.
2014-03-25 23:13:08 +01:00
Marc-André Moreau
43031d6b66 libwinpr-utils: improve .ini file parser 2014-03-24 22:41:30 -04:00
Marc-André Moreau
331209f02d libwinpr-utils: start new .ini config file parser 2014-03-24 18:20:34 -04:00
Marc-André Moreau
4236cd0cf5 libwinpr-wnd: stub more functions 2014-03-18 18:03:55 -04:00
Marc-André Moreau
2d4cc74961 libwinpr-wnd: expand window procedure functions 2014-03-18 16:39:43 -04:00
Marc-André Moreau
2c7ab4be46 libwinpr-wnd: stub core functions 2014-03-18 14:43:25 -04:00
Marc-André Moreau
885fe64544 libwinpr-wnd: stub window functions 2014-03-17 21:37:12 -04:00
Marc-André Moreau
882f3098b3 libfreerdp-codec: add more NCrush tables, decode literals and CopyOffsets 2014-03-16 15:51:35 -04:00
Marc-André Moreau
c2d8486d8a libwinpr-utils: convert BitStream to macros 2014-03-11 22:17:31 -04:00
Marc-André Moreau
c686d434b7 libfreerdp-codec: initial RDP4/RDP5 MPPC compression test case success 2014-03-09 17:32:49 -04:00
Marc-André Moreau
3530b83291 libfreerdp-codec: add annotated MPPC compression samples 2014-03-09 14:35:11 -04:00
Marc-André Moreau
d9a2fb4ff9 libfreerdp-codec: start MPPC compressor 2014-03-08 17:38:47 -05:00
Marc-André Moreau
77e91aa762 libwinpr-crt: add byteswap macros 2014-03-06 12:48:48 -05:00
Marc-André Moreau
95127d5632 libfreerdp-codec: start testing MPPC against large buffer 2014-03-05 18:03:39 -05:00
Marc-André Moreau
dbe7e7aae2 libwinpr-utils: move BitStream functions to macros 2014-03-05 13:08:11 -05:00
Marc-André Moreau
3ba1d1ff4e libwinpr-utils: basic working UINT32-based bitstream implementation 2014-03-05 12:56:26 -05:00
Marc-André Moreau
2cd9649f37 libwinpr-utils: start new BitStream util 2014-03-04 18:15:03 -05:00
Marc-André Moreau
bb5c5dcaf0 libwinpr-wtsapi: start adding support for dynamically loaded FreeRDS-provided WTSAPI implementation 2014-03-01 00:32:23 -05:00
Marc-André Moreau
41236e87e3 winpr: fix calling convention declarations 2014-02-28 14:58:50 -05:00
Marc-André Moreau
6695873394 libwinpr-wtsapi: fix multiple inconsistencies with original wtsapi headers 2014-02-28 14:49:57 -05:00
Marc-André Moreau
e2c1713bcb Merge branch 'master' of github.com:awakecoding/FreeRDP into channels 2014-02-28 12:22:23 -05:00
Marc-André Moreau
fde6a98580 winpr: fix conflict with SAL on OS X 2014-02-28 12:22:12 -05:00
Marc-André Moreau
02f6e12c5f Merge branch 'master' of github.com:awakecoding/FreeRDP into channels 2014-02-27 12:37:23 -05:00
Marc-André Moreau
3d2397ffcc winpr: fix SAL definition conflicts with X11 and libstdc++ 2014-02-27 12:37:09 -05:00
Marc-André Moreau
922624f5b4 Merge branch 'master' of github.com:awakecoding/FreeRDP into channels 2014-02-27 12:14:18 -05:00
Marc-André Moreau
25ff5ccd69 libwinpr-locale: add stubs and definitions 2014-02-27 12:09:00 -05:00
Marc-André Moreau
5a7cffe59c winpr: expand specstrings and error definitions 2014-02-26 12:34:08 -05:00
Marc-André Moreau
1afeb448b4 libfreerdp-core: expose stubbed WtsApi function table from the core 2014-02-16 20:12:45 -05:00
Marc-André Moreau
cf274e3523 libwinpr-wtsapi: make use of static function table 2014-02-16 19:38:12 -05:00
Marc-André Moreau
74d054172c libwinpr-wtsapi: define SSPI-like WTSAPI function table 2014-02-16 15:42:36 -05:00
Marc-André Moreau
22fbf48109 libwinpr-utils: add synchronized version of HashTable 2014-02-13 22:25:30 -05:00
Marc-André Moreau
9668549fa4 Merge pull request #24 from MartinHaimberger/wlogimprovment
improved WLog
2014-02-12 06:54:20 -05:00
Marc-André Moreau
d64f86d52c wfreerdp: fix 64-bit build 2014-02-10 00:34:17 -05:00
Marc-André Moreau
ad86d3c333 libwinpr-utils: add HashTable 2014-02-09 21:55:21 -05:00
Marc-André Moreau
7f49c7302d libwinpr-winsock: stub more of winsock 2014-02-05 16:25:55 -05:00
Marc-André Moreau
e8a9b7ff14 libfreerdp-core: fix ignored port settings for TS Gateway and vmconnect 2014-02-05 11:54:42 -05:00
Marc-André Moreau
7c7aa192ec libwinpr-wtsapi: include wtsapi32.h on Windows 2014-02-03 00:56:16 -05:00
Marc-André Moreau
851ace73ff libwinpr-crypto: implement CryptProtectMemory/CryptUnprotectMemory 2014-02-01 11:52:04 -05:00
Marc-André Moreau
6365880f4d libwinpr-memory: add missing definitions 2014-01-31 20:48:31 -05:00
Marc-André Moreau
80449cd2c5 libwinpr-memory: start stubbing 2014-01-31 18:27:58 -05:00
Marc-André Moreau
ae2a51fdc5 Merge branch 'master' of https://github.com/FreeRDP/FreeRDP 2014-01-28 22:58:18 -05:00
Alessandro Pilotti
9d6dcab3c6 Fixes build issue on Windows
Solves the following build issue:

error C2373: 'InitializeCriticalSectionEx' : redefinition;
different type modifiers
2014-01-28 01:09:14 +02:00
Marc-André Moreau
fab0cd2779 libwinpr-synch: stub timer queues 2014-01-24 17:48:55 -05:00
Martin Haimberger
24ee273540 fixed compiler warning 2014-01-15 06:15:18 -08:00
Martin Haimberger
65d7e17d4c improved WLog
childlogger use per default now a WLOG_LEVEL_INHERIT level
so the loglevel is taken from the first parent which has another level set.
2014-01-15 05:52:48 -08:00
Marc-André Moreau
62199fc46a Merge branch 'master' of github.com:FreeRDP/FreeRDP 2013-12-10 11:54:03 -05:00
Bernhard Miklautz
2b6b4a6685 updated file headers 2013-12-04 11:44:22 +01:00
Marc-André Moreau
cea8c08328 ifreerdp: fix iOS/OSX platform detection 2013-12-03 15:19:58 -05:00
Marc-André Moreau
d9e1c0abaa libfreerdp-codec: add more planar unit tests 2013-11-29 02:16:16 -05:00
Benoît LeBlanc
6e581daebb Removed compilation warning 2013-11-18 11:34:24 -05:00
Marc-André Moreau
b0b8b6aa9e Merge branch 'master' of github.com:FreeRDP/FreeRDP 2013-11-12 12:59:41 -05:00
Armin Novak
25e7682e02 Added <MessagePipe_Clear> and argument for custom handlers to
<MessagePipe_New>.
2013-11-12 15:10:08 +01:00
Marc-André Moreau
fb23f08388 libfreerdp-client: fix possible infinite loop with .rdp file parsing containing freerdp options 2013-11-10 13:29:20 -05:00
Marc-André Moreau
4898868e9d libwinpr-path: extend custom portability functions 2013-11-09 23:38:22 -05:00
Marc-André Moreau
7fa5ab7ced Merge branch 'master' of github.com:mrthebunny/FreeRDP 2013-11-07 13:58:33 -05:00
Marc-André Moreau
8cbb7f42da libwinpr-library: add GetModuleFileName implementation for Linux 2013-11-07 13:57:05 -05:00
Benoît LeBlanc
dfd39b6d0a Fixed macro declaration 2013-11-07 13:55:06 -05:00
Benoît LeBlanc
c4dea17af3 added _scprintf macro to winpr because snprintf does not count characters on Windows.
Modified write_rdp_file_ macros for windows compatibility
2013-11-07 13:44:18 -05:00
Marc-André Moreau
cc301348df libwinpr-crt: added SecureZeroMemory 2013-11-01 18:32:36 -04:00
Marc-André Moreau
8a64934c7b libwinpr-io: start device file implementation 2013-10-31 11:02:25 -04:00
Marc-André Moreau
7e58dfd22b winpr: fix wlog function prototypes 2013-10-28 18:21:14 -04:00
Marc-André Moreau
deff2217b8 Merge pull request #14 from MartinHaimberger/VOIDFix
WINPR Void Fix
2013-10-24 11:04:36 -07:00
Marc-André Moreau
fb4ac3b5dd Merge pull request #13 from MartinHaimberger/EnvMerge
added merge function for environmentblocks
2013-10-24 11:04:09 -07:00
Martin Haimberger
b2ca632f79 WINPR Void Fix
c++ only allows only void to define empty parameter list
typedef defines a new type therfore its not valid in c++
2013-10-24 06:39:09 -07:00
Martin Haimberger
8479462b5e changed the interface of SetEnvironmentVariableEBA 2013-10-23 03:43:06 -07:00
Martin Haimberger
97ef519a54 added Set/GetEnvironmentVariableEBA
did some bugfixing within the MergeEnvironmentVariable
added Tests
2013-10-23 02:27:31 -07:00
Marc-André Moreau
9c536cfe01 libwinpr-wtsapi: fix build after changes to libwinpr-nt 2013-10-22 21:43:59 -04:00
Marc-André Moreau
ebc096f2b2 libwinpr-nt: fix conflict for NtCreateFile on Windows 2013-10-22 21:38:16 -04:00
Marc-André Moreau
490f18a7aa channels/rdpdr: don't use deprecated LIST util, use ListDictionary for faster lookups 2013-10-17 16:30:36 -04:00
Bernhard Miklautz
7c61b16da5 ListDictionary: added Remove_Head function
ListDictionary_Remove_Head removed the first object from the dictionary
and returns it's value.
2013-10-15 16:15:44 +02:00
Bernhard Miklautz
95bed71dbc ListDictionary: support for wObject added 2013-10-15 15:51:53 +02:00
Bernhard Miklautz
86e53aed9a ListDictionary_Remove: return value if removed
Update tests accordingly.
2013-10-15 15:49:57 +02:00
Marc-André Moreau
7dd95b9587 libwinpr-crypto: improve Schannel unit test 2013-10-11 04:01:07 -04:00
Marc-André Moreau
90b90ad496 libwinpr-utils: improve quality of data for reconstructed IP headers 2013-10-09 15:11:56 -04:00
Marc-André Moreau
a3f0f4c8dc libfreerdp-core: started logging packets to pcap file 2013-10-08 23:43:57 -04:00
Marc-André Moreau
684db03578 libwinpr-utils: start implement wlog packet appender 2013-10-08 23:18:59 -04:00
Marc-André Moreau
c96207fd69 Merge pull request #10 from MartinHaimberger/fixLogWarnings
fixed warining fo not constant log format string
2013-10-08 15:54:32 -07:00
Marc-André Moreau
85e6729854 Merge pull request #9 from hardening/awakecoding
Fix function prototype
2013-10-08 15:54:21 -07:00
Marc-André Moreau
353816e050 Merge pull request #6 from MartinHaimberger/loglevel
Loglevel
2013-10-08 15:53:54 -07:00
Martin Haimberger
7d35c1adaf fixed warining fo not constant log format string 2013-10-07 02:20:01 -07:00
Hardening
c37c86601d Fix function prototype
This patch fixes the prototypes with warnings enabled.
2013-10-04 23:07:31 +02:00
Martin Haimberger
5e073f5f17 loglevel filtering fix 2013-10-03 06:32:12 -07:00
Martin Haimberger
02487da987 added c++ declaration in wlog 2013-10-03 05:07:37 -07:00
Marc-André Moreau
aaeb4ea0b2 libwinpr-utils: add wlog support for image and binary data 2013-10-02 15:41:46 -04:00
Marc-André Moreau
0569de167d libwinpr-utils: further split wlog framework into more source files, add some thread safety for write operations 2013-10-02 13:38:21 -04:00
Marc-André Moreau
3fb2724536 libwinpr-utils: fix default WLog behaviour 2013-10-01 20:45:20 -04:00
Marc-André Moreau
2684b829d0 libwinpr-utils: add simple parent/child hierarchy 2013-10-01 18:19:50 -04:00
Marc-André Moreau
0b29f72cc4 libwinpr-utils: added default file output path for wlog 2013-10-01 16:50:47 -04:00
Marc-André Moreau
a374525e6a libwinpr-utils: split wlog framework 2013-10-01 16:08:26 -04:00
Marc-André Moreau
f4e98f29ec libwinpr-pipe: add server-side named pipe waiting 2013-09-25 19:13:39 -04:00
Marc-André Moreau
7ec19ac0f2 libwinpr-thread: fix build on Windows 2013-09-25 15:47:18 -04:00
Marc-André Moreau
4a77f12b32 libwinpr-security: expand stubs 2013-09-24 00:07:48 -04:00
Marc-André Moreau
0506bd1ac6 libwinpr-security: initial stub module 2013-09-23 22:39:28 -04:00
Marc-André Moreau
3d2754e8ed libwinpr-environment: implement required functions for CreateProcess 2013-09-23 14:44:59 -04:00
Marc-André Moreau
56672023db libwinpr-thread: start implementing CommandLineToArgv 2013-09-21 17:16:49 -04:00
Marc-André Moreau
e841e6068b winpr: fix inclusion of winternl.h 2013-09-20 14:39:31 -04:00
Marc-André Moreau
b9a3ff3c85 winpr: fix build on Linux 2013-09-19 15:47:54 -04:00
Marc-André Moreau
0c17eb1a23 winpr: fix unit tests on Windows 2013-09-19 13:50:00 -04:00
Marc-André Moreau
929d292f35 wfreerdp: fix compilation 2013-09-19 12:08:20 -04:00
Marc-André Moreau
8a6b545a36 libwinpr-print: add missing include headers 2013-09-16 17:43:24 -04:00
Marc-André Moreau
518995a05e freerdp: merge with master 2013-09-16 17:10:27 -04:00
Marc-André Moreau
3b7994a9a6 Merge pull request #1467 from akallabeth/cmdline_enhanced
Cmdline enhanced
2013-09-16 13:33:04 -07:00
Marc-André Moreau
22ce171261 libwinpr-utils: added custom prefix formatter in logger 2013-09-16 16:30:49 -04:00
Marc-André Moreau
5386d5cd60 libwinpr-utils: make use of logMessage structure and macro for logging 2013-09-16 13:24:50 -04:00
Marc-André Moreau
a4c8d97b4c libwinpr-utils: start implementing FileAppender 2013-09-16 12:56:22 -04:00
Marc-André Moreau
af1ea7573c libwinpr-utils: start implementing ConsoleAppender 2013-09-16 12:05:08 -04:00
Marc-André Moreau
968ef14349 libwinpr-utils: introduce trace levels 2013-09-15 16:48:09 -04:00
Marc-André Moreau
6a8b5f2283 libwinpr-utils: start implementing WinPR logger 2013-09-15 15:46:02 -04:00
Armin Novak
21127ec33b Added a new flag to indicate the presence of a single not escaped argument
allowing the legacy command line <server>:<port> syntax.
2013-09-10 10:29:45 +02:00
Armin Novak
e5c138a5b9 Fixed various memory leaks, allocation size issues and API misuse
warnings shown by clang as well as some compiler warnings.
2013-09-05 12:14:34 +02:00
Marc-André Moreau
e429136c0c libwinpr-wtsapi: started internal RPC stubs 2013-08-23 00:06:22 -04:00
Marc-André Moreau
c1625c1ead libwinpr-wtsapi: start implementation, extend NtApi 2013-08-22 19:20:59 -04:00
Marc-André Moreau
d5679889f3 libwinpr-nt: start implementing core NTDLL functions 2013-08-22 13:30:44 -04:00
Marc-André Moreau
68ec10a9d9 libwinpr-nt: implement NtCurrentTeb() 2013-08-22 10:18:38 -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
cea6de16ee libwinpr-wtsapi: add VC API 2013-08-20 15:22:31 -04:00
Marc-André Moreau
1f0caa4161 libwinpr-wtsapi: complete unicode definitions 2013-08-20 14:22:42 -04:00
Marc-André Moreau
9d1dd14581 libwinpr-wtsapi: updated interface definition 2013-08-19 20:58:42 -04:00
Marc-André Moreau
7a88e7cb35 libwinpr-wtsapi: initial stubs 2013-08-19 20:38:43 -04:00
Marc-André Moreau
0ca78c877e libwinpr-wtsapi: added empty module 2013-08-19 19:18:31 -04:00
Marc-André Moreau
317ffb2ca3 libwinpr-utils: backport fixed-size buffer pool inside variable size buffer pool 2013-08-19 17:14:24 -04:00
Marc-André Moreau
c149ede6f2 libwinpr-utils: add support for variable size buffer pool 2013-08-15 00:01:42 -04:00
Marc-André Moreau
b972830841 libfreerdp-codec: make use of ObjectPool for tiles 2013-08-13 09:34:15 -04:00
Marc-André Moreau
bb30ceb006 mfreerdp: cleanup 2013-08-09 21:23:08 -04:00
Marc-André Moreau
34f9985add freerdp: merge with master 2013-08-07 15:48:57 -04:00
Norbert Federa
2b25b4a520 libwinpr-sync: New complete critical section code
- Complete implementation including recursion support
- Added an intensive ctest (TestSynchCritical)
- Struct members are used exactly as Windows does it internally:
  LockCount starts at -1, RecursionCount at 0
- Same performance optimizations as internally on Windows:
    - Fast lock acquisition path using CAS -> SpinCount -> wait
    - SpinCount automatically disabled on uniprocessor systems
- On Linux SpinCount is disabled because it provided no advantage over NPTL/futex in all tests

Support for CRITICAL_SECTION's DebugInfo is not yet included (but trivial to add).
2013-08-07 10:20:04 +02:00
Marc-André Moreau
13872f33bf libwinpr-utils: implement doubly-linked list 2013-08-05 17:29:14 -04:00
Marc-André Moreau
ecc543d87d Merge branch 'master' of github.com:FreeRDP/FreeRDP into multitouch 2013-08-03 16:22:09 -04:00
Norbert Federa
81ef251fc8 winpr: improve and fix locking for data structures
- Improved/completed(almost) winpr's critical section implementation
- Replaced WaitForSingleObject locking with critical sections

Note:
WaitForSingleObject should _never_ be used for granular low-contention
locks as it _always_ enters the kernel.

Just replacing WaitForSingleObject locking in Bufferpool with
EnterCriticalSection boosts the multithreaded rfx decoder
performance by almost 400% on win32.
2013-08-02 12:07:05 +02:00
Marc-André Moreau
913d532e0d winpr: fix build on Linux 2013-07-30 10:57:54 -04:00
Marc-André Moreau
007bd87ff4 libwinpr-synch: start implementing waitable timers 2013-07-29 11:57:29 -04:00
Marc-André Moreau
65bc944def libwinpr-pipe: implement of more named pipes 2013-07-22 22:53:44 -04:00
Marc-André Moreau
afe1f22bcf libwinpr-pipe: start implementing named pipes 2013-07-22 18:20:34 -04:00
Marc-André Moreau
c6764f9034 libwinpr-pipe: added stubs for named pipes 2013-07-22 16:30:25 -04:00
Marc-André Moreau
b3265b6958 libwinpr-utils: implement ListDictionary 2013-07-05 18:23:26 -04:00
Marc-André Moreau
77f5994e1c winpr: add _WINRT platform detection macro 2013-06-26 18:12:01 -04:00
Marc-André Moreau
c66b79ad46 winpr: extend stream api 2013-06-25 16:46:55 -04:00
Marc-André Moreau
31f68d0779 winpr: fix type conflict with X11 2013-06-24 23:58:31 -04:00
Marc-André Moreau
fbf3208b0a libwinpr-utils: rename certain PubSub functions 2013-06-18 21:23:26 -04:00
Marc-André Moreau
508bae674b libwinpr-utils: improve PubSub with automatic strongly-typed helpers 2013-06-18 00:39:48 -04:00
Marc-André Moreau
c76efec345 wfreerdp: update client with new API 2013-06-15 22:57:21 -04:00
Marc-André Moreau
e77d4657e4 libwinpr-utils: add PubSub multiplexing and synchronized access 2013-06-15 18:18:02 -04:00
Marc-André Moreau
6c9a3b8e64 freerdp: start using pubSub for client GUI events 2013-06-15 17:01:10 -04:00
Marc-André Moreau
8ad532a9d4 libwinpr-utils: implement basic Publisher/Subscriber pattern 2013-06-15 13:32:13 -04:00
Marc-André Moreau
174d1bdd71 libwinpr-utils: start implementing Publisher/Subscriber pattern 2013-06-14 16:55:05 -04:00
Marc-André Moreau
72e9087d1f winpr: unify handle types 2013-05-16 17:32:58 -04:00
Marc-André Moreau
1b28ef5976 winpr: fix endian.h 2013-05-08 19:44:51 -04:00
Marc-André Moreau
d11752aa4b libwinpr-utils: started endianness utility macros 2013-05-08 18:29:41 -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
9bf924929c xfreerdp-server: use libwinpr-input for keyboard mapping 2013-05-02 01:34:54 -04:00
Marc-André Moreau
b4cac74136 xfreerdp-server: fix RemoteFX encoding 2013-05-01 18:15:55 -04:00
Marc-André Moreau
e88b59c32c libfreerdp-core: improve async-transport mode 2013-04-30 17:16:38 -04:00
Marc-André Moreau
51715636a5 freerdp: remove some deprecated stream utils 2013-04-29 22:35:15 -04:00
Hardening
dcdb411208 Fix winpr headers for C++ usage
This patch add missing extern "C" declaration to use the headers in
C++ projects.
2013-04-17 23:06:48 +02:00