Commit Graph

1218 Commits

Author SHA1 Message Date
Bernhard Miklautz
7b450f4012 winpr: fix handling of absolute include paths
Don't prefix include paths if it is absolute
2014-07-10 17:40:27 +02:00
Norbert Federa
aac57e7e72 winpr: CloseHandle did not release the thread TCB
This resulted in huge memory leaks - 8MB per thread, depending on
the system's default stack size.
The leak happend even if CloseHandle() was correctly used to "detach"
the thread but WaitForSingleObject was never called.
2014-07-10 12:28:35 +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
Marc-André Moreau
2e1f6b0c6d libwinpr-crt: fix realloc to smaller size 2014-07-09 20:10:33 -04:00
Marc-André Moreau
ac7d23b9a3 libfreerdp-gdi: migrate to _aligned_malloc/_aligned_free 2014-07-08 15:07:19 -04:00
Bernhard Miklautz
199d53bb00 Merge pull request #1942 from hardening/kill_select
Use poll() instead of select() when available
2014-07-08 16:36:04 +02:00
Hardening
f09076e4d2 Add a guard on nCount with MAXIMUM_WAIT_OBJECTS + cosmetic fixes 2014-07-07 14:50:05 +02:00
Hardening
4bb910fec5 Fixed a typo 2014-07-04 22:14:04 +02:00
Emmanuel Ledoux
2d48323865 winpr-comm: UGLY: attempt to resolve the linking issue below specific to debian-squeeze. This might end up in some circular dependencies...
Linking C executable ../../../../Testing/TestInterlocked
	../../handle/libwinpr-handle.so.1.1.0: undefined reference to `LeaveCriticalSection'
2014-07-04 18:02:35 +02: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
Hardening
16681cc91a Fix header inclusion 2014-07-04 16:11:19 +02:00
Hardening
4b3dc22a79 Fix missing include for macOS 2014-07-04 15:29:21 +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
37dc55d7c2 winpr-comm: fixed QueryCommDevice() when used with some wide characters 2014-07-04 12:24:41 +02:00
Emmanuel Ledoux
94dfce4f52 winpr-comm: made the unit tests to succeed when /dev/ttyS0 is not available 2014-07-03 19:01:45 +02:00
Hardening
542811291c Use poll() instead of select() when available
select() has the major drawback that it cannot handle file descriptor
that are bigger than 1024. This patch makes use of poll() instead of
select() when poll() support is available.
2014-07-03 15:26:49 +02:00
Emmanuel Ledoux
fba58a5b90 winpr-comm: added _HandleCloseCbsLock to protect accesses to _HandleCloseCbs 2014-07-03 11:24:37 +02:00
Emmanuel Ledoux
87ce88370a winpr-comm: added _HandleCreatorsLock to protect accesses to _HandleCreators 2014-07-03 11:20:46 +02:00
Emmanuel Ledoux
0bd9f1b789 winpr-comm: added _CommDevicesLock to protect accesses to _CommDevices 2014-07-03 11:07:48 +02:00
Emmanuel Ledoux
db1fba3a68 Revert "winpr-handle: removed RegisterHandleCloseCb() which would require a better synchronization"
RegisterHandleCloseCb() is also useful to don't get a circular dependency, a better synchronization must be find out...

This reverts commit 8f3b3fa573.
2014-07-02 16:57:20 +02:00
Emmanuel Ledoux
8f3b3fa573 winpr-handle: removed RegisterHandleCloseCb() which would require a better synchronization
winpr-comm: don't use anymore RegisterHandleCloseCb()
2014-07-02 16:19:28 +02:00
Emmanuel Ledoux
0d54307251 winpr-comm: introduced CommLog_Print(...). Don't use anymore DEBUG_WARN() and DEBUG_MSG() macros 2014-07-02 15:59:16 +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
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
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
11ed1f122f winpr-comm: comm_serial_sys, got rid of the latest TMP tags 2014-06-20 16:30:59 +02:00
Emmanuel Ledoux
b2bfc8004c winpr-comm: gathered together all SERIAL_EV_* #defines 2014-06-20 15:56:41 +02:00
Marc-André Moreau
ce6ff35297 xfreerdp: fix egfx off-by-one errors 2014-06-19 17:08:50 -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
8688eabc23 Merge pull request #1914 from hardening/pipe_eintr
Silently handle EINTR and retry operation
2014-06-18 17:53:16 -04:00
Marc-André Moreau
3aac5ec897 Merge branch 'master' of github.com:FreeRDP/FreeRDP 2014-06-18 16:12:54 -04:00
Hardening
9039a23de3 Silently handle EINTR and retry operation 2014-06-18 22:09:07 +02:00
Marc-André Moreau
948d137426 libwinpr-sspi: add support for passing NTLMv2 hash 2014-06-18 16:02:13 -04:00
Marc-André Moreau
7818c77e5e Merge branch 'master' of github.com:awakecoding/FreeRDP into egfx 2014-06-18 15:19:52 -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
Hardening
bf30d54fac Merge pull request #1902 from hardening/pipeFix
Don't forget to SetLastError() on disconnection
2014-06-18 17:01:09 +02:00
Emmanuel Ledoux
62298fcd95 winpr-comm: renamed REMOTE_SERIAL_DRIVER by SERIAL_DRIVER or ServerSerialDriver according the context 2014-06-18 15:58:08 +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
Hardening
b4d756830a Don't forget to SetLastError() on disconnection
Otherwise if the last error was a ERROR_NO_DATA we have no indication that
the pipe has been closed.
2014-06-12 23:09:49 +02:00
Marc-André Moreau
42c83c25f8 Merge branch 'egfx' of github.com:awakecoding/FreeRDP into egfx
Conflicts:
	channels/tsmf/client/tsmf_main.c
2014-06-12 12:08:15 -04:00
Armin Novak
fb4fd9f5bb Added stream pool shrinking if large parts are unused. 2014-06-11 14:38:20 +02:00
Armin Novak
4325741583 Merge remote-tracking branch 'origin/master' into tsmf-gstreamer-1.0
Conflicts:
	client/X11/xf_client.c
2014-06-11 11:27:08 +02: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
723e9a171b libwinpr-sspi: fix server-side NLA 2014-06-10 14:38:17 -04:00
Marc-André Moreau
8a343c3e6d libwinpr-sspi: fix memory leaks 2014-06-10 14:16:02 -04:00
Marc-André Moreau
a27c7d85ed libwinpr-sspi: patch some memory leaks 2014-06-10 08:40:04 -04:00
Marc-André Moreau
20464a08ee winpr: remove installable config.h header 2014-06-10 08:24:20 -04:00
Marc-André Moreau
0ebc7e2ab4 libwinpr-sspi: add custom API for passing NTLM hashes and credentials dynamically 2014-06-09 15:25:00 -04:00
Marc-André Moreau
ac9b527991 libwinpr-sspi: fix NTLM SPN context helper 2014-06-08 09:14:49 -04:00
Marc-André Moreau
1c0ba4ca9a libwinpr-sspi: add tests for NTLM 2014-06-07 18:28:02 -04:00
Marc-André Moreau
66d2b3ed93 libwinpr-sspi: fix server-side negotiate module 2014-06-07 17:08:07 -04:00
Marc-André Moreau
a37c6bb653 libwinpr-sspi: fix build on Linux 2014-06-07 16:46:32 -04:00
Marc-André Moreau
03cf7933d9 libwinpr-sspi: start implementing and using negotiate sspi module 2014-06-07 16:26:57 -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
940e6fbc15 libwinpr-sspi: make native sspi option dynamic 2014-06-06 15:34:12 -04:00
Marc-André Moreau
907a29d0ba libwinpr-sspi: isolate winpr implementation 2014-06-05 22:54:31 -04:00
Marc-André Moreau
c5a1a8ac27 libwinpr-sspi: fix native sspi build 2014-06-05 22:10:08 -04:00
Marc-André Moreau
886cd9b0c5 Merge branch 'master' of github.com:FreeRDP/FreeRDP 2014-06-04 12:01:40 -04:00
Marc-André Moreau
00667fa75c Merge pull request #1872 from nfedera/fix-2014-05-28-01
winpr: rewrite named pipe sharing
2014-06-04 12:00:05 -04:00
Marc-André Moreau
659f80e172 libwinpr-smartcard: avoid using pcsc-lite's buggy transaction system 2014-06-02 21:49:49 -04:00
Marc-André Moreau
f5bfb98aca channels/smartcard: experiment with multiple card contexts 2014-06-02 17:20:01 -04:00
Marc-André Moreau
1359d7c27e Merge branch 'awakecoding' of github.com:vworkspace/FreeRDP 2014-06-02 12:08:19 -04:00
Mike McDonald
ed8ea297e7 Modified SCardConnect/SCardDisconnect logic to prevent more than one card from being connected to a context. Trying to connect more than once to a context without doing a disconnect can cause a deadlock in the pcsclite daemon (pcscd). 2014-06-02 11:08:32 -04:00
Marc-André Moreau
cd149ed167 libwinpr-winsock: fix non-monolithic build 2014-06-01 22:25:19 -04:00
Marc-André Moreau
abd475060c libwinpr-winsock: fix build on Windows 2014-06-01 21:52:33 -04:00
Marc-André Moreau
04968b18c4 libfreerdp-core: replace all OpenSSL built-in BIOs by new full duplex BIOs 2014-06-01 21:37:20 -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
6002188514 Merge branch 'master' of github.com:FreeRDP/FreeRDP 2014-05-29 19:27:11 -04:00
Marc-André Moreau
5b0a5dd3f1 libwinpr-utils: add WLOG_PREFIX environment variable 2014-05-29 15:42:32 -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
a6b3fba9b2 libwinpr-sysinfo: implement GetSystemTime, GetLocalTime 2014-05-29 12:39:09 -04:00
Marc-André Moreau
e33d7321bb libwinpr-timezone: stub functions 2014-05-29 11:58:53 -04:00
Emmanuel Ledoux
50efce67f5 winpr-comm: completed support of Read*Timeout 2014-05-28 22:11:19 +02:00
Emmanuel Ledoux
16b6c44ef7 winpr-comm: need to purge _purge()'s events before read and write operations 2014-05-28 20:15:08 +02:00
Emmanuel Ledoux
f26c7ee498 winpr-comm: fixed _purge(), eventfd_read() and eventfd_write() just return a error code, not a number of bytes read or written 2014-05-28 19:10:01 +02:00
Emmanuel Ledoux
85343a435a winpr-comm: completed _purge() supporting SERIAL_PURGE_RXABORT
winpr-comm: CommReadFile, support of FREERDP_PURGE_RXABORT sent by _purge()
2014-05-28 18:42:23 +02:00
Emmanuel Ledoux
cdbba47eee winpr-comm: CommWriteFile, completed support of WriteTotalTimeout 2014-05-28 17:18:33 +02:00
Emmanuel Ledoux
4715009965 winpr-comm: completing _purge() on write operations (SERIAL_PURGE_TXABORT)
winpr-comm: CommWriteFile, implemented the WriteTotalTimeout
2014-05-28 16:41:24 +02:00
Marc-André Moreau
af6fb83d3b libwinpr-utils: extend wlog prefix format 2014-05-28 10:38:32 -04:00
Norbert Federa
5d82ff3c5d winpr: fixed non monolithic build issue 2014-05-28 16:22:32 +02:00
Norbert Federa
aa2efaf573 winpr: rewrite named pipe sharing
Since commit 5e09e37d42 was basically unfixable,
here is a slightly different approach that should hopefully solve all
discovered issues and race conditions.
2014-05-28 13:54:08 +02:00
Emmanuel Ledoux
1e9e8b68bf winpr-comm: got IOCTL_SERIAL_GET_DTRRTS 2014-05-28 11:39:10 +02:00
Emmanuel Ledoux
f959590bd2 winpr-comm: _get_commstatus() just some comments about HoldReasons. 2014-05-28 10:44:52 +02:00