Simon Tatham
c90479c7f5
winpr/utils: allow COMMAND_LINE_VALUE_{OPTIONAL,BOOL} to coexist.
...
Now you can give an option the combination of flags
COMMAND_LINE_VALUE_OPTIONAL and COMMAND_LINE_VALUE_BOOL. If you do,
then all three of the syntaxes +foo, -foo and /foo:value are allowed
at once, and the receiving code can tell the difference because the
Value field is set to BoolValueTrue, BoolValueFalse or a valid char
pointer.
2020-11-20 08:34:20 +01:00
akallabeth
66dc4cc9ee
Fixed compilation warnings.
2020-11-10 08:53:43 +01:00
akallabeth
59ef9a7e8b
Fixed reset of MessageQueue in Clear
2020-11-06 13:02:01 +01:00
akallabeth
6e3c00725a
Cleaned up collections:
...
ArrayList, MessageQueue, Queue, PubSub, BipBuffer
ObjectPool and BufferPool
2020-11-06 12:30:13 +01:00
akallabeth
a5989429f7
Reset Queue_Event when Queue_Clear is called.
2020-11-05 15:32:17 +01:00
Martin Fleisz
b5fa928311
core: Fix race when deleting channel manager
...
This PR fixes a possible crash when the channel manager was freed and
there were pending messages in the message queue.
The problem was that even though the message queue already received the
WMQ_QUIT message, it was still possible to enqueue messages after this
point. This resulted in unprocessed messages in the queue when it was
deleted. The delete handler then called into channel handlers which
where aleady freed/deleted.
With this PR adding messages after WMQ_QUIT was posted to the message
queue returns an error and all channel messages are now processed before
the channels are closed/terminated.
2020-11-03 17:08:58 +01:00
akallabeth
516fc9b910
Fixed locking issue, removed broken functions
2020-11-02 09:23:11 +01:00
akallabeth
0f2a8f214a
Unify StreamPool locking.
2020-10-30 10:17:27 +01:00
Martin Fleisz
7be04e212b
Merge pull request #6466 from akallabeth/memsan
...
Memsan: fixes (most) unit tests for use with memory sanitizer
2020-10-28 09:46:12 +01:00
Armin Novak
11ca443aaf
Fixed NtStatus2Tag return.
2020-10-27 07:41:04 +01:00
akallabeth
5133c4e424
Corrected name for FD_WRITESTIME
2020-10-15 08:33:14 +02:00
Armin Novak
a22f264189
Added backward compatibility define
2020-10-14 09:19:57 +02:00
Armin Novak
ef1c8a3b50
Updated FD_FLAGS definition.
2020-10-14 09:19:00 +02:00
akallabeth
33df98f204
Fixed definition of FILEDESCRIPTORW
2020-09-22 13:03:55 +02:00
akallabeth
1546a8b655
Fixed naming of FILEDESCRIPTORW
2020-09-18 12:49:54 +02:00
Armin Novak
cad1dd39e2
Fixed _aligned_recalloc
2020-09-07 11:05:45 +02:00
Armin Novak
816e792e3f
Fixed unit tests run under memory sanitizer
2020-09-07 10:42:28 +02:00
Armin Novak
6351885488
Ignore NULL streams in StreamPool_Return
2020-09-02 10:09:48 +02:00
Armin Novak
a9d9908bde
Added log message for not implemented WinPR SSPI_WINPR functions.
2020-08-10 16:00:16 +02:00
Armin Novak
2686200c3b
Added log message for not implemented WinPR SSPI functions.
2020-08-10 16:00:16 +02:00
Armin Novak
ef791456e3
Added log message for not implemented WinPR SSPI GSS functions.
2020-08-10 16:00:16 +02:00
Armin Novak
65819a7215
Added log message for not implemented Schannel functions.
2020-08-10 16:00:16 +02:00
Armin Novak
7837f517e5
Added log message for not implemented CREDSSP functions.
2020-08-10 16:00:16 +02:00
Armin Novak
7d0e54e5f8
Added log message for not implemented NEGOTIATE functions.
2020-08-10 16:00:16 +02:00
Armin Novak
58f471c7d9
Added log message for not implemented NTLM functions.
2020-08-10 14:41:20 +02:00
Armin Novak
7d6e85a886
Fixed uninitialized value
2020-07-01 16:50:20 +02:00
akallabeth
b971c5c97f
Use CMake to detect availability of getlogin_r
2020-07-01 16:50:20 +02:00
akallabeth
caff01877d
Fixed fallback to getlogin for android
2020-06-22 12:09:36 +02:00
akallabeth
308c2c3544
Removed duplicate semicolon
2020-06-22 11:51:39 +02:00
akallabeth
58a3122250
Fixed OOB read in ntlm_av_pair_get
...
CVE-2020-11097 thanks to @antonio-morales for finding this.
2020-06-22 11:51:39 +02:00
akallabeth
05cd9ea229
Fixed TrioParse and trio_length limts.
...
CVE-2020-4030 thanks to @antonio-morales for finding this.
2020-06-22 11:51:38 +02:00
akallabeth
a45afe9db7
Replaced gmtime with gmtime_r
2020-06-22 11:51:38 +02:00
akallabeth
36478d3d0b
Replaced getlogin with getlogin_r
2020-06-22 11:51:38 +02:00
akallabeth
240fdd07b1
Replaced localtime with localtime_r
2020-06-22 11:51:38 +02:00
akallabeth
057b6df4ae
Fixed memory leaks in ntlm
2020-06-22 11:51:38 +02:00
Armin Novak
8e45a2dd50
Respect SECBUFFER_READONLY flag in NTLM EncryptMessage
2020-06-19 11:31:13 +02:00
Bernhard Miklautz
529e30c273
Revert "winpr/library: Use RTLD_GLOBAL for dlopen"
...
Using RTLD_GLOBAL in LoadLibraryA introduces a different behavior than
expected.
This reverts commit d566e00258
.
2020-06-17 12:59:41 +02:00
Patrick Chin
8515846317
MessageQueue write time to current message not the next
2020-06-09 08:51:53 +02:00
Kobi Mizrachi
920acd4c0e
winpr: image: add API to construct bmp header
2020-06-05 09:22:26 +02:00
Ondrej Holy
d566e00258
winpr/library: Use RTLD_GLOBAL for dlopen
...
LoadLibraryA implementation uses the RTLD_LOCAL flag for dlopen currently.
This flag doesn't allow the symbols to be used by the subsequently loaded
libraries. This is a problem for the video channel when -DBUILTIN_CHANNELS=OFF
is used as it uses functions from the geometry channel. Let's use RTLD_GLOBAL
instead to prevent "undefined symbol" errors in such cases.
Fixes: https://github.com/FreeRDP/FreeRDP/issues/6236
2020-05-27 13:06:12 +02:00
akallabeth
58ef235bc5
Removed unused variable warnings
2020-05-20 15:10:07 +02:00
akallabeth
aea795eecf
Fixed invalid argument to strtok_s
2020-05-20 15:10:07 +02:00
akallabeth
45860a5561
Fixed issues with clang sanitizers and alignemt offsets.
2020-05-20 15:10:07 +02:00
akallabeth
7540384db1
utf8 behaviour fixes
2020-05-20 15:10:07 +02:00
akallabeth
401bb836fb
Fixed memory leak in NTLM test
2020-05-20 15:10:07 +02:00
akallabeth
b9149df1e6
Fixed BehaviourSanitizer warnings in streams.
2020-05-20 15:10:07 +02:00
akallabeth
1baf67d881
Fixed memory leak in ini parser and test functions.
2020-05-20 15:10:07 +02:00
akallabeth
a887c890f2
Fixed BehaviorSanitizer warnings.
2020-05-20 15:10:07 +02:00
akallabeth
0502bfcfbc
Fixed BehaviorSanitizer warnings
2020-05-20 15:10:07 +02:00
akallabeth
535ef57e2e
Fixed BehaviorSantizer warnings.
2020-05-20 15:10:07 +02:00
akallabeth
b37d8c9be1
Fixed GHSL-2020-100: oob read in ntlm_read_ChallengeMessage
...
* Added length checks for data read from stream
* Unified function resource cleanup
2020-05-20 15:10:07 +02:00
Armin Novak
24a8a56694
Fixed #6202 : Missing NULL checks
2020-05-20 15:02:24 +02:00
Armin Novak
50278f7076
Fixed #6201 : event handler count check
2020-05-20 15:02:24 +02:00
akallabeth
ddb388e152
Refactored sam functions to utilize strtok_s
2020-05-18 12:07:59 +02:00
akallabeth
7890833af8
Replaced strtok with strtok_s
2020-05-18 11:39:22 +02:00
Kobi Mizrachi
fddda159d9
change use of strtok to strtok_s
2020-05-18 11:08:20 +02:00
akallabeth
7b1d440945
Refactored StreamPool
2020-05-13 17:11:17 +02:00
akallabeth
8d70a3492b
Added warning to all collection structs
2020-05-12 14:05:28 +02:00
akallabeth
844ec8f74c
Fixed #6136 : Cleaned up Stack API
2020-05-12 14:05:28 +02:00
Kentaro Hayashi
148f3c675d
Fixed typos (Otherweise)
...
Otherweise ->
Otherw ise
^
2020-05-10 16:35:20 +09:00
akallabeth
bc0a2c277d
Silence valgrind in unicode conversion functions
...
Only check destination buffer for NULL if length argument did not
already indicate the buffer needs to be allocated.
2020-05-08 11:04:03 +02:00
akallabeth
dffd893dc5
Fixed integer overflow in winpr_image_bitmap_read_buffer
...
Thanks to hac425
2020-05-08 11:04:03 +02:00
akallabeth
8241ab42fd
Fixed oob read in ntlm_read_AuthenticateMessage
2020-05-06 13:31:57 +02:00
akallabeth
afdffac4b5
Fixed oob read in ntlm_read_ntlm_v2_response
2020-05-06 13:31:57 +02:00
akallabeth
8fa3835963
Fixed oob read in ntlm_read_NegotiateMessage
2020-05-06 13:31:57 +02:00
qarmin
ceec2cf1a0
Fixed copy paste error in MessagePipe.c
2020-05-01 19:42:46 +02:00
Zhu Qun-Ying
5553be0983
possible memory leak when various functions return failure. ( #6110 )
...
* possible memory leak when allocation failed.
* Use initialization in stead of ZeroMemory
* Format with clang-format
2020-04-25 16:07:12 +02:00
Zhu Qun-Ying
a1e421c93d
use WINPR_MD5_DIGEST_LENGTH in stead of magic number for hash array
2020-04-24 08:33:30 +02:00
Zhu Qun-Ying
8cc9b09ba1
Use NTOWFv2FromHashW() in NTOWFv2W() to avoid duplicate code
2020-04-24 08:33:30 +02:00
Alex Wilson
40f23e2728
SCardReadCache/SCardWriteCache should actually cache data
...
Currently since the hash/keyCompare/keyClone members on the
context->cache were never being set, we were using the
HashTable_Pointer* variants, meaning that lookup always
failed (since we never ask for the same *pointer* twice).
This also revealed that the logic for autoallocate on these ops
was a bit backwards, and some error codes and support for the
"freshness" counter were missing.
In Win10 (at least with some card minidrivers) the freshness
counter is load-bearing and smartcard login won't work without
implementing a very basic version of it.
2020-04-21 08:11:54 +02:00
David Fort
7733fe7a8a
Merge pull request #6060 from akallabeth/warnings
...
Fix some compiler warnings
2020-04-16 10:54:43 +02:00
Martin Fleisz
9e1b2eb42e
Merge pull request #6081 from akallabeth/disable_spincount
...
Disable spincount
2020-04-15 13:24:26 +02:00
Martin Haimberger
7b6b9a9675
removed unnecessary casts, use sizeof for debug printing
2020-04-15 13:20:03 +02:00
Martin Haimberger
85e49aa601
fix: server side ntlmv2 implementation
...
- in the case no mic was present, but the user was found,
the enterd password was ignored and the user authenticated
2020-04-15 13:20:03 +02:00
Armin Novak
a161bafa5f
Fix #6066 , #6045 : Disable spincount by default.
2020-04-13 09:56:19 +02:00
Armin Novak
ebf44f80eb
Fixed format string warnings.
2020-04-11 09:43:01 +02:00
akallabeth
08fd2876b9
Started 3.0 development cycle.
2020-04-10 15:01:15 +02:00
Bernhard Miklautz
5ab2bed874
new: update ChangeLog and set version to 2.0.0
2020-04-09 18:00:51 +02:00
Martin Fleisz
99786970a3
Merge pull request #5884 from akallabeth/smartcard_ndr_strict
...
Smartcard tighter input validation
2020-03-31 08:34:04 +02:00
Armin Novak
ab21b1ef25
Silenced warning due to missing define guard.
2020-03-10 14:04:53 +01:00
Armin Novak
461bc825de
Removed unused function
2020-03-10 14:04:53 +01:00
Armin Novak
07cc1edaa0
Removed unused function
2020-03-10 14:04:53 +01:00
Armin Novak
106ab8cfbd
Removed unused function
2020-03-10 14:04:53 +01:00
Armin Novak
d29448bda8
Removed unused function
2020-03-10 14:04:53 +01:00
Armin Novak
7416b9b604
Using bsearch to get ntstatus string.
2020-03-10 14:04:53 +01:00
Armin Novak
e63377945b
Silenced warning due to missing debug define guard.
2020-03-10 14:04:53 +01:00
Armin Novak
94f0dc127b
Removed unused functions / files
2020-03-10 14:04:53 +01:00
Armin Novak
8afa27c936
Fixed broken NULL check.
2020-03-10 08:59:52 +01:00
Armin Novak
8b85913ac0
Added winpr_md_type_from_string and winpr_md_type_to_string
2020-03-06 11:37:35 +01:00
Armin Novak
9d13729617
Added sha3 hashes for openssl.
2020-03-06 11:37:35 +01:00
Armin Novak
e3acc01bfb
Added missing WINPR_*_DIGEST_LENGTH definitions.
2020-03-06 11:37:35 +01:00
Armin Novak
1fd51d9183
Fixed clang scanbuild warnings.
2020-03-04 09:17:35 +01:00
Armin Novak
aa441d3238
Log smartcard to stdout.
2020-02-20 15:24:03 +01:00
Armin Novak
959be9d946
Fixed warnings in pcsc layer
2020-02-20 14:03:29 +01:00
Armin Novak
fa10dfa186
Fixed memory leaks in PCSC_SCardReadCache[AW]
2020-02-20 13:59:28 +01:00
Armin Novak
f885476423
Fixed 8bit and 16bit return string sizes.
2020-02-20 13:59:28 +01:00
Armin Novak
ef93109f42
Fixes for GetAttrib and some refactroing
...
* Fix accidental buffer free before transfer
* Refactored code to eliminate a bunch of warnings
* Updated copyright headers
2020-02-20 13:59:28 +01:00
Armin Novak
f0f476c7d5
Fixed pcsc function pointer casts.
2020-02-20 13:59:28 +01:00
Armin Novak
2acce6214c
SCardFreeMemory non const argument.
2020-02-20 13:59:28 +01:00
Armin Novak
37e850cb24
Cleaned up smartcard pcsc wrapper.
2020-02-20 13:59:28 +01:00
Armin Novak
30983f4049
Cleaned up smartcard inspect.
2020-02-20 13:59:28 +01:00
Armin Novak
e9a75d5a7a
Updated timezones 2020-02-19
2020-02-19 15:27:10 +01:00
Armin Novak
75be471d78
Fixed #5889 : Only add descriptors wanted to select
2020-02-18 14:33:45 +01:00
Martin Fleisz
e304428a5f
Merge pull request #5857 from akallabeth/scanbuild_fixes
...
Scanbuild fixes
2020-02-12 10:16:54 +01:00
David Fort
245fc6014d
Merge pull request #5830 from akallabeth/smartcard_updates
...
Smartcard updates
2020-02-07 14:11:00 +01:00
Armin Novak
2b8bc8ea5e
Fixed unused argument warnings.
2020-01-23 10:12:12 +01:00
Kobi Mizrachi
8c5d96784d
cmdline: export CommandLineParseCommaSeparatedValues
2020-01-22 14:18:21 +01:00
Kobi Mizrachi
1543664343
winpr: collections: add ArrayList_ForEach
2020-01-14 07:58:47 +01:00
David Fort
f3ffa19039
winpr: don't close file descriptor if we set it again to the same file
2020-01-13 12:27:24 +01:00
Armin Novak
4798af5132
Fix smartcard structs, conform to [MS-RDPESC]
2020-01-13 10:49:22 +01:00
Armin Novak
a392b266c0
Added NtStatus2Tag function to stringify NTSTATUS
...
For higher level applications it is easier to translate known
strings instead of error codes. this function allows
to retrieve known string identifiers that can be translated.
Signed-off-by: Armin Novak <armin.novak@thincast.com>
2020-01-09 16:14:44 +01:00
Martin Fleisz
3e3458cc3c
Merge pull request #5821 from akallabeth/smartcard_log_err
...
Added debug log messages for SCARD_E_NO_SERVICE
2020-01-09 10:12:14 +01:00
Armin Novak
c98b3e0cef
Added debug log messages for SCARD_E_NO_SERVICE
...
Log where and what caused SCARD_E_NO_SERVICE return in smartcard
wrapper
2020-01-09 08:20:42 +01:00
Kobi Mizrachi
8c3054851c
winpr: thread: fix wrong log level in ThreadCloseHandle
2020-01-08 11:59:34 +01:00
David Fort
004f59083d
Merge pull request #5802 from dragonuaix/master
...
Update comm_serial_sys.c
2020-01-08 08:08:42 +01:00
Armin Novak
44ac64ffb9
Fixed duplicate definition in TestGetComputerName
2020-01-07 10:51:01 +01:00
dragonuaix
4c1d57b3d0
Update comm_serial_sys.c
2019-12-26 16:48:00 +02:00
Martin Fleisz
02e7a07832
Merge pull request #5768 from akallabeth/timezone_update
...
Timezone update
2019-12-17 14:11:40 +01:00
Kobi Mizrachi
f92e941129
winpr: SetWaitableTimer should not free the handle if it fails
2019-12-17 09:46:00 +01:00
Armin Novak
c9dd343a65
update timezones.
2019-12-06 11:05:09 +01:00
Armin Novak
1a52aff7f9
Update WindowsZones.c
2019-12-06 11:03:30 +01:00
Armin Novak
3143570f54
Added missing Stream_Write_INT32
2019-12-04 13:44:08 +01:00
Martin Fleisz
71feb974ac
Merge pull request #5739 from akallabeth/improve_function_hiding
...
Improve function hiding
2019-12-02 11:31:35 +01:00
Armin Novak
7c243da6e1
Remove symbols exported by accident.
2019-12-02 10:57:31 +01:00
David Fort
5e6775ce95
winpr: fix anonymous enum members and menbers without a size
2019-11-25 13:39:31 +01:00
Bernhard Miklautz
a378511617
Merge pull request #5743 from akallabeth/32bit_warn_fix
...
Fix #5741 : Limit strnlen checks to INT_MAX to silence compile on 32bi…
2019-11-21 15:23:19 +01:00
Armin Novak
53f7d023b1
Fixed GetEnvironmentStrings test
...
Some os return an invalid/wrong character count if a string with
unknown symbols is printed to stdout.
Instead use the sprintf family and print to a buffer / determine
the required buffer size.
2019-11-21 15:05:57 +01:00
Martin Fleisz
b176fdeff8
Merge pull request #5738 from akallabeth/hide_unexported_functions
...
Do not export functions that are purely internal.
2019-11-21 08:29:00 +01:00
Armin Novak
67dc2e0bdb
Fix #5741 : Limit strnlen checks to INT_MAX to silence compile on 32bit builds.
2019-11-21 08:09:08 +01:00
Armin Novak
708a28d8dd
Do not export functions that are purely internal.
2019-11-20 11:08:02 +01:00
Armin Novak
f34e33ed2b
Cleaned up code for makecert.
2019-11-20 08:37:53 +01:00
Armin Novak
72ca88f49c
Reformatted to new style
2019-11-07 10:53:54 +01:00
Martin Fleisz
bc39b32d20
Merge pull request #5685 from akallabeth/multi_instance_arg_parse
...
COMMAND_LINE_ARGUMENT structs contain parser results, use one per instance
2019-11-06 09:09:22 +01:00
Martin Fleisz
5b6663fe3a
Merge pull request #5689 from akallabeth/cleanups
...
Cleanups
2019-11-05 15:28:02 +01:00
Armin Novak
b15e967c92
Use BOOL return for IniFile_Open_File and IniFile_Load_File
2019-11-05 10:31:09 +01:00
Armin Novak
b06efc78ec
Fixed warnings from TestEnvironmentGetEnvironmentStrings
2019-10-29 12:58:06 +01:00
Armin Novak
1fb716d864
Cleaned up TestCryptoHash
2019-10-29 12:58:06 +01:00
Armin Novak
142db87970
Removed strlen from GetComputerNameExA
2019-10-29 12:58:06 +01:00
Armin Novak
68f519ed6c
Fixed length checks for GetComputerNameA
2019-10-29 12:58:06 +01:00
Armin Novak
66ad508b45
Removed strlen use in wlog (and speed up check)
2019-10-29 12:58:06 +01:00
Armin Novak
f01e042211
Code cleanups (strlen, casts, size_t, ...)
2019-10-29 11:58:43 +01:00
Armin Novak
700470876b
Cleaned up ini.h and added error checks.
2019-10-29 11:54:55 +01:00
Armin Novak
0c87eaee4d
COMMAND_LINE_ARGUMENT structs contain parser results, use one per instance
...
Remove the old global structs as the parser modifies them. When using
multiple instances in the same process space this could break parsing.
2019-10-28 13:30:05 +01:00
Armin Novak
2813d6860c
Added MessageQueue_Dispatch argument checks
2019-10-25 13:25:12 +02:00
kubistika
b3f78d2f4d
winpr: utils: image: fix const correctness
2019-10-24 12:19:31 +02:00
asapelkin
82eadad4a4
Fix some static analizer warnings
2019-10-22 15:39:54 +02:00
Armin Novak
9fee4ae076
Fixed #5645 : realloc return handling
2019-10-04 16:19:23 +02:00
Armin Novak
4d8b86f05c
GetEventFileDescriptor return handle internal event.
2019-10-02 14:58:32 +02:00
Martin Fleisz
583045e2e5
rail: Update to latest spec version 28.0
2019-10-02 14:51:45 +02:00
akallabeth
a3dae4ad46
Fix WINPR_EVENT and WINPR_TIMER structs.
...
Both structs must have the same base members so that the event
handle can be extracted at the same offset.
2019-10-01 21:03:03 +02:00