Commit Graph

557 Commits

Author SHA1 Message Date
Marc-André Moreau
cdbfc51daf libwinpr-utils: add .ini write support 2014-10-02 20:16:30 -04:00
Marc-André Moreau
d5cbadee9d libwinpr-utils: improve .ini file parser 2014-10-02 18:45:53 -04:00
Marc-André Moreau
abd87ace55 rdtk: initial commit 2014-09-29 16:08:08 -04:00
Marc-André Moreau
c5a0c7e97a libwinpr-utils: add simple image loading/writing test 2014-09-28 11:14:30 -04:00
Marc-André Moreau
1c34583407 libwinpr-utils: add png support 2014-09-28 11:02:39 -04:00
Marc-André Moreau
bbf4732470 Merge branch 'master' of github.com:FreeRDP/FreeRDP
Conflicts:
	libfreerdp/gdi/gdi.c
2014-09-25 10:34:56 -04:00
Bernhard Miklautz
417707e4b7 winpr-utils: extend LinkedList test 2014-09-24 13:03:46 +02:00
Bernhard Miklautz
7bd62a0127 winpr-utils: fix problem in LinkedList enumerator
A segfault can happen if LinkedList_Enumerator_MoveNext is invoked
before LinkedList_Enumerator_Reset was called.
2014-09-24 12:31:52 +02:00
Marc-André Moreau
09fc388e03 shadow: add RefreshRect/SuppressOutput support 2014-09-18 22:18:58 -04:00
Armin Novak
4004543a33 Default WLog_Level is now INFO. 2014-09-17 09:28:40 +02:00
Armin Novak
69c0aa4b22 Fixed missing log message formatting argument on android. 2014-09-16 10:14:18 +02:00
Bernhard Miklautz
2218e9684a Fix: misc compiler warnings
Seen in Xcode
2014-09-12 00:36:29 +02:00
Bernhard Miklautz
8dc70f4045 fix build warning
warning: implicit declaration of function ‘winpr_bitmap_write’
[-Wimplicit-function-declaration]
2014-09-11 17:26:01 +02:00
Armin Novak
38d110da03 Fixed string size calculation in winpr_HexDump 2014-09-11 13:59:48 +02:00
Armin Novak
cceb216e2e Replaced fprintf with WLog_ERR. 2014-09-09 16:35:04 +02:00
Armin Novak
41e7fdd95f Fixed missing initialisation of position variable. 2014-09-09 16:33:05 +02:00
Armin Novak
a15df299e9 Removed last remainig printf. 2014-09-09 16:32:23 +02:00
Armin Novak
25e9ebadc2 Using trio_snprintf now. 2014-09-09 16:32:22 +02:00
Armin Novak
b22b897389 Reformatted changed files. 2014-09-09 16:32:22 +02:00
Armin Novak
a738f3c6ce Added stacktrace in case of log recursion. 2014-09-09 16:32:04 +02:00
Armin Novak
7e3a1b3073 Now using macro to generate module specific log tag. 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
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
fd2c1a7508 Fixed license header, added correct copyright. 2014-08-14 10:42:10 +02:00
Armin Novak
77ae3bc8b3 Fixed missing argument checks in logger, fixed crashes if file not created. 2014-08-14 10:38:02 +02:00
Armin Novak
494ca1f1a3 Added winpr functions to generate a stacktrace.
Added libcorkscrew headers for stacktrace on android.
Added execinfo.h detection for stacktrace on linux.
2014-08-14 10:36:50 +02:00
Armin Novak
93ad5b7335 Implemented default fnObjectEquals function.
Implemented ArrayList_Contains.
ArrayList_IndexOf and ArrayList_LastIndexOf now use comparison function.
2014-08-13 14:15:17 +02:00
Marc-André Moreau
dc7f89dbd5 Merge branch 'egfx' of github.com:awakecoding/FreeRDP 2014-08-11 17:25:38 -04:00
Armin Novak
e6ed76977a DEBUG_PRINT now a define, resolves linking issues.
Using log name as logcat tag now.
Removed log name from default android log formatting.
2014-08-07 21:51:52 +02:00
Armin Novak
1a37435a26 Added redirection of ConsoleAppender to logcat, if used on android.
Using custom default format for log messages on android.
2014-08-07 17:47:59 +02: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
Norbert Federa
9bde12f26a winpr/utils/ssl: fix comp warning and wrong param 2014-07-31 11:22:46 +02:00
Hardening
ff95b9aafa Make LinkedList return errors when something fails 2014-07-31 10:38:59 +02:00
Bernhard Miklautz
a9eed46e38 Fix warnings found in Xcode 2014-07-29 05:22:30 +02:00
Bernhard Miklautz
b8415af0d8 Fix compiler warnings.
This commit is based on pull request #1493
2014-07-29 05:22:29 +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
Armin Novak
ad3255354d Added WITH_LIBRARY_VERSIONING, allowing to build shared libraries without
SOVERSION information. (required by Android)
2014-07-11 11:53:58 +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
ac7d23b9a3 libfreerdp-gdi: migrate to _aligned_malloc/_aligned_free 2014-07-08 15:07:19 -04: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
Marc-André Moreau
78d3c82798 xfreerdp: fix multiple egfx-related memory leaks 2014-06-20 13:52:13 -04:00
Marc-André Moreau
ce6ff35297 xfreerdp: fix egfx off-by-one errors 2014-06-19 17:08:50 -04: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
c5a1a8ac27 libwinpr-sspi: fix native sspi build 2014-06-05 22:10:08 -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
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
af6fb83d3b libwinpr-utils: extend wlog prefix format 2014-05-28 10:38:32 -04:00
Marc-André Moreau
ba5d84ee5c libwinpr-smartcard: add logging for each calls in smartcard inspector 2014-05-26 17:54:39 -04:00
Armin Novak
309405592e Fixed broken ArrayList_Remove and ArrayList_RemoveAt functions, freeing element now. 2014-05-23 13:43:14 +02:00
Marc-André Moreau
b8d60d5715 Merge branch 'master' of github.com:FreeRDP/FreeRDP 2014-05-10 10:59:56 -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
a202fe4057 freerdp: fix several type related warnings 2014-05-08 18:02:02 -04:00
Marc-André Moreau
4460a1a7cf libwinpr-utils: flush file after each write in wlog 2014-05-05 18:04:20 -04:00
Marc-André Moreau
c2a59c23a7 libfreerdp-core: fix potential crash on session redirection failure 2014-04-28 16:44:52 -04:00
Marc-André Moreau
b67288868d Merge branch 'master' of github.com:awakecoding/FreeRDP into fdsapi 2014-04-27 19:18:23 -04:00
Zhang Zhaolong
196f5315ae libwinpr: fix memory leak in case realloc() failed. 2014-04-26 11:32:51 +08:00
Zhang Zhaolong
66dfc4fd5b winpr: fix error malloc size. 2014-04-25 21:14:10 +08:00
Bernhard Miklautz
b817e92e5e cmake: mark required libraries for export 2014-04-23 10:16:02 +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
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
Marc-André Moreau
0059772efa Merge pull request #1789 from MartinHaimberger/mh-memfixes
Fixed misc leaks
2014-04-14 14:17:30 -04: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
Martin Haimberger
dd62e88098 fixed Wlog_Uninit to also free child logger 2014-04-11 02:23:16 -07:00
Hardening
31c77baba0 Don't leak memory when realloc fails 2014-04-09 21:53:42 +02:00
Marc-André Moreau
2c016bf2b0 Merge branch 'master' of github.com:FreeRDP/FreeRDP into smartcard 2014-04-09 10:41:05 -04:00
Hardening
36b4f20ff8 Fixes in case of OOM 2014-04-09 15:26:43 +02:00
Marc-André Moreau
2aa248853a channels/smartcard: cancel outstanding IRPs on re-initialization 2014-04-05 17:15:17 -04:00
Marc-André Moreau
8cdb3576c2 Merge branch 'master' of github.com:awakecoding/FreeRDP into smartcard
Conflicts:
	channels/smartcard/client/smartcard_main.c
2014-04-02 18:27:31 -04:00
Marc-André Moreau
64b550e18f libwinpr-utils: fix .ini parser whitespace trimming 2014-03-25 00:32:05 -04: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
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
d9a2fb4ff9 libfreerdp-codec: start MPPC compressor 2014-03-08 17:38:47 -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
3973775b69 libwinpr-utils: add MSB/LSB bit printing 2014-03-05 12:03:10 -05:00
Marc-André Moreau
2cd9649f37 libwinpr-utils: start new BitStream util 2014-03-04 18:15:03 -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
019877da97 winpr: fix compilation on Windows 2014-02-26 13:35:49 -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
cdcd290c44 wfreerdp: fix most build warnings 2014-02-10 22:12:13 -05:00
Marc-André Moreau
5ff847a6e6 wfreerdp: fix multiple warnings 2014-02-10 01:06:11 -05:00
Marc-André Moreau
ad86d3c333 libwinpr-utils: add HashTable 2014-02-09 21:55:21 -05:00
Hardening
600047df4f Fix LinkedList_Remove
The previous version was setting to NULL both tail and head when
removing the head or tail item. That was corrupting the list.
2014-02-07 14:30:38 +01:00
Marc-André Moreau
80449cd2c5 libwinpr-memory: start stubbing 2014-01-31 18:27:58 -05: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
f963491ebe libfreerdp-client: cleanup .rdp file parsing 2013-12-05 12:35:31 -05:00
Marc-André Moreau
84137cb76d libwinpr-utils: create wlog output directory 2013-12-04 23:46:58 -05:00
Marc-André Moreau
d9e1c0abaa libfreerdp-codec: add more planar unit tests 2013-11-29 02:16:16 -05:00
Marc-André Moreau
b0b8b6aa9e Merge branch 'master' of github.com:FreeRDP/FreeRDP 2013-11-12 12:59:41 -05:00
Armin Novak
4a1e9d2e4e Using new API for message queue. 2013-11-12 15:18:45 +01:00
Armin Novak
638d26569f Updated MessagePipe to new MessageQueue API. 2013-11-12 15:11:39 +01:00
Armin Novak
09d219b8d6 Added <MessageQueue_Clear> and custom handler argument to
<MessageQueue_New>.
2013-11-12 15:10:41 +01:00
Marc-André Moreau
70aed3fa85 libfreerdp-core: minor style cleanup 2013-11-08 13:57:41 -05:00
Marc-André Moreau
5536033a8a libfreerdp-core: transport refactoring 2013-11-07 17:37:58 -05:00
Marc-André Moreau
61f95fbe16 libfreerdp-core: transport code style cleanup 2013-11-07 15:14:59 -05:00
Marc-André Moreau
3c44ff9c83 channels/rdpsnd: fix bug in rdpsnd and rdpdr deinitialization 2013-11-06 14:31:33 -05:00
Marc-André Moreau
33a9694b45 Merge pull request #15 from MartinHaimberger/WLOGIMPROVEMENT
improved wlog
2013-11-06 10:56:30 -08:00
Marc-André Moreau
1dbf279212 channels/smartcard: refactor usage of lists and get rid of workarounds 2013-11-03 20:46:40 -05:00
Marc-André Moreau
55565e056c freerdp: export targets 2013-10-28 23:06:39 -04:00
Martin Haimberger
ad7be5a4ee improved wlog so new logger inhertit the loglevel
of the root logger
2013-10-25 05:41:01 -07:00
Marc-André Moreau
0417e552cf libwinpr-utils: fix bug in ListDictionary 2013-10-17 17:27:47 -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
3d7d4c50db libwinpr-utils: fix IPv4 checksum and TCP sequence numbers with wlog packet messages 2013-10-09 16:37:45 -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
7bdb63ad89 libwinpr-utils: initial wlog packet header reconstruction 2013-10-09 14:23:38 -04:00
Marc-André Moreau
166e3fbf2d libwinpr-utils: start reconstructing IP headers for wlog packet message 2013-10-09 13:37:53 -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
07afc88878 libwinpr-utils: add some configurability to wlog with environment variables 2013-10-08 22:35:14 -04:00
Marc-André Moreau
a87e7deac4 libwinpr-utils: fix wlog build warnings 2013-10-08 19:39:03 -04:00
Marc-André Moreau
1ee2fa73cf Merge pull request #8 from MartinHaimberger/wlogfix
fixed memory leak in wlog
2013-10-08 15:54:09 -07:00
Marc-André Moreau
353816e050 Merge pull request #6 from MartinHaimberger/loglevel
Loglevel
2013-10-08 15:53:54 -07:00
Marc-André Moreau
e37981e57c libwinpr-utils: improved binary appender 2013-10-04 11:33:49 -04:00
Martin Haimberger
fea6d83367 fixed memory leak in wlog 2013-10-04 03:51:10 -07:00
Martin Haimberger
5e073f5f17 loglevel filtering fix 2013-10-03 06:32:12 -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
10f1a898ef libfreerdp-client: fix command-line parsing with .rdp file 2013-09-17 17:03:35 -04:00
Marc-André Moreau
c0ba0fb337 libwinpr-utils: fix BufferPool test 2013-09-16 17:59:29 -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
a7a7bab619 Fixed optional argument parsing. 2013-09-09 17:21:15 +02:00
Armin Novak
4274b266c0 Fixed command line parser, now printing help, if an invalid option is detected. 2013-09-09 16:07:14 +02:00
Armin Novak
07139276b5 Added newlines at end of file, prevents clang from crashing... 2013-09-05 12:14:35 +02:00
Armin Novak
62356e667c Fixed erroneous patch. 2013-09-05 12:14:34 +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
Armin Novak
a3b531c036 Fixed issues found with clang-analyzer 2013-09-05 12:14:33 +02:00
Armin Novak
020bae25d7 Fixed coverity issue 1047594 2013-09-05 12:14:32 +02:00
Marc-André Moreau
d7656ada48 libfreerdp-codec: fix NSCodec encoding and buffer pool usage 2013-08-19 18:21:34 -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
87593b4f19 Merge branch 'master' of github.com:FreeRDP/FreeRDP 2013-08-15 13:16:05 -04:00
Marc-André Moreau
efff23acb5 Merge pull request #1395 from richterger/client_redir
Fix memory corruption in client redirection
2013-08-15 10:15:11 -07:00
Marc-André Moreau
9f25c4fc25 libfreerdp-codec: initial working fragmented NSCodec encoder 2013-08-15 13:13:02 -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
f8e870a258 libwinpr-utils: implement asynchronous mode for ListDictionary 2013-08-12 17:48:32 -04:00
Marc-André Moreau
34f9985add freerdp: merge with master 2013-08-07 15:48:57 -04:00
Norbert Federa
3a58934eb2 libwinpr-utils: Use criticalsection with spincount
Use InitializeCriticalSectionAndSpinCount instead of IntializeCriticalSection.
Using spin counts for critical sections of short duration enables the calling
thread to avoid the wait operation in most situations which can dramatically
improve the overall performance on multiprocessor systems.

On Linux this change has no effect because the new winpr critical section
implementation does not use the SpinCount field under Linux because the NPTL
synchronization primitives are implemented using the extremely performant
futex system calls which have this magic already built in.

However, on Mac OS X this change improved the overall performance of the
multithreaded RemoteFX decoder by 25 percent.

I've used a SpinCount of 4000 which avoided 99 percent of the wait calls.
This value is also used by Microsoft's heap manager for its per-heap
critical sections.

Note: This change requires pull request #1397 to be merged.
2013-08-07 18:16:01 +02:00
richterger
505facbb6f Fix off by one problem in StreamPool allocation 2013-08-07 08:01:33 +02:00
Marc-André Moreau
13872f33bf libwinpr-utils: implement doubly-linked list 2013-08-05 17:29:14 -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
b3265b6958 libwinpr-utils: implement ListDictionary 2013-07-05 18:23:26 -04:00
Marc-André Moreau
3fbc4f899f libwinpr-utils: fix deadlock in PubSub 2013-06-27 14:16:50 -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
e77d4657e4 libwinpr-utils: add PubSub multiplexing and synchronized access 2013-06-15 18:18:02 -04:00
Marc-André Moreau
95a129eb69 libfreerdp-client: start splitting termination and printing logic for CLI parsing 2013-06-15 15:13:38 -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
2bd6808432 freerdp: merge with master 2013-06-05 10:31:01 -04:00
Daryl Poe
86156ce61f fix memory errors due to too-large memcpy in ArrayList 2013-06-03 09:30:14 -06:00
Marc-André Moreau
e8c5e6c70b libfreerdp-core: send using separate streams, re-enable frame acks 2013-05-15 18:05:40 -04:00
Marc-André Moreau
54281cac13 libwinpr-utils: grow stream by a factor of two 2013-05-15 16:22:58 -04:00
Marc-André Moreau
367ebf32a3 freerdp: make use of stream macros to access members 2013-05-15 12:14:26 -04:00
Marc-André Moreau
fdf3ddcf9e freerdp: purge deprecated stream utils 2013-05-08 17:48:30 -04:00
Marc-André Moreau
b4cac74136 xfreerdp-server: fix RemoteFX encoding 2013-05-01 18:15:55 -04:00
Marc-André Moreau
c49c235c93 libwinpr-utils: fix stream pool 2013-04-30 00:36:16 -04:00
Marc-André Moreau
83af4266bf libfreerdp-core: refactor fastpath fragmentation 2013-04-29 23:55:44 -04:00
Marc-André Moreau
51715636a5 freerdp: remove some deprecated stream utils 2013-04-29 22:35:15 -04:00
Marc-André Moreau
d04b76d005 libfreerdp-core: use stream pool 2013-04-12 13:44:23 -04:00
Marc-André Moreau
0fded8c2d0 winpr-utils: fix StreamPool 2013-04-12 12:20:20 -04:00
Marc-André Moreau
f94f90c08b winpr-utils: initial stream pool implementation 2013-04-11 21:59:02 -04:00
Marc-André Moreau
c65ee0c2f4 wfreerdp: fix build on Windows 2013-03-29 00:33:15 -04:00
Hardening
7701c9d934 Replace printf(...) by fprintf(stderr, ...) 2013-03-28 23:06:34 +01:00
Marc-André Moreau
8b9ea43d78 libfreerdp-core: fix locking with TS Gateway 2013-03-27 20:06:10 -04:00
Marc-André Moreau
690b5147db cmake: simplify android build 2013-03-23 18:13:10 -04:00
Marc-André Moreau
27dc85bed9 libwinpr-utils: add trio portable printf implementation 2013-03-21 21:30:31 -04:00
Marc-André Moreau
a8201b0d1b libwinpr-utils: combine old and new stream utils 2013-03-21 15:19:33 -04:00
Bernhard Miklautz
f6810fb138 Fixed warnings for 32 bit builds 2013-03-15 22:49:25 +01:00
Bernhard Miklautz
103171a98e Fixed compiler warnings (-Wall) 2013-03-15 20:41:10 +01:00
Bernhard Miklautz
e8eb0d0b44 Fixed formating build warnings (-Wformat) 2013-03-15 20:03:48 +01:00
Martin Fleisz
b5ffa2f8ae iOS: Compile fix 2013-03-13 15:12:44 +01:00
Martin Fleisz
96a2717b3c iOS: Compile fixes (Fixed #1069, #1086) 2013-03-13 15:08:45 +01:00
Christian Hofstaedtler
8833c14eac fix ArrayList_Shift for args (al, 0, -1)
As a result, this should fix #1051.
2013-03-12 23:21:42 +01:00
Marc-André Moreau
ea63fdb18e libwinpr-utils: start custom printf replacement 2013-02-28 15:43:57 -05:00
Marc-André Moreau
9873ce28d0 libwinpr-utils: experiment with printf replacement 2013-02-28 08:41:51 -05: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
082e069913 libwinpr-utils: initial MessagePipe implementation 2013-02-20 14:48:32 -05:00
Marc-André Moreau
5e8d35c4ac channels/rdpsnd: use MessageQueue 2013-02-19 22:36:04 -05:00
Marc-André Moreau
f75b3f5d51 libwinpr-utils: fix parsing of optional arguments with the space separator 2013-02-19 18:05:20 -05:00
Marc-André Moreau
e42b1272ef libfreerdp-core: added ObjectPool 2013-02-14 20:39:56 -05:00
Marc-André Moreau
47a7d54370 xfreerdp: stabilize asynchronous X11 event handling 2013-02-11 20:38:19 -05:00
Marc-André Moreau
4269ac5c14 xfreerdp: improve asynchronicity 2013-02-09 17:13:53 -05:00
Marc-André Moreau
64160af3a8 libfreerdp-core: added more message definitions 2013-02-04 14:56:54 -05:00
Marc-André Moreau
d9ac2cca39 libfreerdp-gdi: fix 8bpp FillRect color 2013-02-03 15:16:37 -05:00
Marc-André Moreau
470defa4af libwinpr-utils: test MessageQueue 2013-01-24 15:08:49 -05:00
Marc-André Moreau
fa30eeaef9 libwinpr-utils: started implementing asynchronous MessageQueue 2013-01-24 14:09:44 -05:00
Marc-André Moreau
f5d9b06252 libwinpr-utils: added buffer pool 2013-01-22 20:36:08 -05:00
Marc-André Moreau
d4d19d6473 libwinpr-pool: implement WaitForThreadpoolWorkCallbacks 2013-01-21 19:22:08 -05:00
Marc-André Moreau
9a7bcbb084 libfreerdp-codec: remove old RemoteFX tile pool 2013-01-20 20:44:30 -05:00
Marc-André Moreau
5b4aaf276f libfreerdp-core: added reference counter for receive buffers 2013-01-18 13:50:35 -05:00
Vic Lee
48c0c4b090 libwinpr-utils/queue: fix a memory corruption in Queue_Clear. 2012-12-24 12:45:55 +08:00
Marc-André Moreau
7ff2be09b2 libfreerdp-core: more TSG memory cleanup 2012-12-12 22:03:40 -05:00
Marc-André Moreau
d3e0537d0d libfreerdp-core: more TSG memory cleanup 2012-12-12 00:49:15 -05:00
Marc-André Moreau
3aeb9eb197 libfreerdp-core: TSG partial cleanup 2012-12-11 23:34:51 -05:00
Marc-André Moreau
db91555564 libfreerdp-core: improved TSG asynchronicity 2012-12-10 18:56:53 -05:00
Marc-André Moreau
424ac18eba libwinpr-utils: simplify winpr stream utils even more 2012-12-10 14:43:48 -05:00
Marc-André Moreau
6e07570dda libwinpr-utils: simplify stream utils 2012-12-10 14:23:27 -05:00
Marc-André Moreau
c4e06eb0a7 libwinpr-utils: refactor winpr stream utils 2012-12-10 14:08:06 -05:00
Marc-André Moreau
731e606c15 libfreerdp-core: start handling client call state 2012-12-07 21:09:55 -05:00
Marc-André Moreau
be98cffbd2 libwinpr-utils: fix ArrayList 2012-12-07 19:40:44 -05:00
Marc-André Moreau
b92d2cf30f libwinpr-utils/collections: stubbed more classes 2012-12-05 19:36:45 -05:00
Marc-André Moreau
5a131688e4 libwinpr-utils: implement ArrayList 2012-12-05 17:24:01 -05:00
Marc-André Moreau
875c556d13 libfreerdp-core: change interlocked singly-linked list to synchronized Queue 2012-12-05 16:04:01 -05:00
Marc-André Moreau
a3080bcd3a libfreerdp-client: add compatibility for --plugin command 2012-12-05 14:00:49 -05:00
Marc-André Moreau
71befd95af libfreerdp-client: introduce CLI compatibility layer and migration assistant 2012-12-05 12:12:18 -05:00
Marc-André Moreau
e6f524f6c3 libfreerdp-client: accept posix-style command-line syntax 2012-12-02 13:34:00 -05:00
Marc-André Moreau
9416e7355e libwinpr-utils: implement queue 2012-11-30 17:23:36 -05:00
Marc-André Moreau
c06c0fe665 libwinpr-utils: stubbed Queue, Stack and ArrayList 2012-11-30 16:13:19 -05:00
Marc-André Moreau
6cad536d34 libfreerdp-core: implement RPC response stub data reassembly 2012-11-27 02:49:44 -05:00
Marc-André Moreau
fbacea6bad winpr/tools/makecert: stubbed basic makecert wrapper 2012-11-26 22:42:40 -05:00
Marc-André Moreau
70170c7437 xfreerdp: deprecate old command-line syntax 2012-11-22 09:36:09 -05:00
Marc-André Moreau
83473d11d1 channels: patch memory leaks, load addins from list 2012-11-19 13:26:56 -05:00
Marc-André Moreau
a5d81fcb9a channels/rdpsnd: refactoring of parameter parsing 2012-11-18 17:32:18 -05:00
Marc-André Moreau
d4045895ef libwinpr-utils: added post/pre command-line filters 2012-11-06 23:07:03 -05:00
Marc-André Moreau
e133d01376 libfreerdp-client: improved set of new command-line options 2012-11-06 22:08:09 -05:00
Marc-André Moreau
5ad116b468 libwinpr-utils: extended command-line API 2012-11-06 18:49:02 -05:00
Marc-André Moreau
917bb894d7 libfreerdp-client: started new command-line syntax 2012-11-05 22:11:13 -05:00
Marc-André Moreau
b250cce496 libwinpr-utils: improved command-line API 2012-11-04 16:09:43 -05:00
Marc-André Moreau
a4bf11cdb6 libwinpr-utils: improve command-line parsing API 2012-11-02 14:16:37 -04:00
Marc-André Moreau
37886515a0 libwinpr-utils: extended command-line parsing api 2012-11-02 00:58:32 -04:00
Marc-André Moreau
f62180ec2a libwinpr-utils: started command-line parser 2012-11-02 00:20:46 -04:00
Marc-André Moreau
beefa1a21d libfreerdp-client: initial support for .rdp file parsing 2012-10-27 20:25:11 -04:00
Marc-André Moreau
06fa85f31c cmake: refactoring of MONOLITHIC_BUILD 2012-10-13 17:30:59 -04:00
Marc-André Moreau
40eea7c76b cmake: rename WITH_MONOLITHIC_BUILD to MONOLITHIC_BUILD 2012-10-08 22:55:06 -04:00
Marc-André Moreau
b15e152011 libwinpr: use ModuleOptions.cmake automatically 2012-10-03 19:50:48 -04:00
Marc-André Moreau
fcc9f91302 cmake: add support for solution groups 2012-09-30 22:58:59 -04:00
Marc-André Moreau
403d85f080 cmake: bump soname version to 1.1.0 2012-09-20 20:45:56 -04:00
Marc-André Moreau
5a16095ddf libwinpr-sspi: valgrind cleanup 2012-08-23 01:18:47 -04:00
Marc-André Moreau
faa4311232 libwinpr: add proper config.h inclusions 2012-08-14 17:20:53 -04:00
Marc-André Moreau
384af1d93b include: move winpr include directory inside winpr 2012-08-14 15:49:39 -04:00