Commit Graph

2777 Commits

Author SHA1 Message Date
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
Martin Fleisz
a907f003e1
Merge pull request #5596 from akallabeth/wlog_cache_ptr
Speedup for WLog_* macros, cache the log pointer
2019-10-01 15:57:17 +02:00
Martin Fleisz
7edd2d8070 wlog: Fix uninitialized type in wLogMessage 2019-10-01 14:34:17 +02:00
Armin Novak
b1d0eaff6d Fix #5603: Prefer absolute path for /drive: syntax. 2019-09-24 16:42:27 +02:00
akallabeth
3edadef768 Fix #5593: Do not use diagnostics pragma inside functions 2019-09-22 16:37:52 +02:00
Armin Novak
d46a3cb11d Speedup for WLog_* macros, cache the log pointer
WLog_Get(tag) is quite expensive if called repeatedly.
With this patch the pointer is cached on first call.
2019-09-15 10:04:36 +02:00
Armin Novak
f39ec50101 Converted BitStream_* defines to inline functions 2019-09-03 08:55:59 +02:00
Armin Novak
d99486096b Added deprecation macro. 2019-09-02 15:13:09 +02:00
Armin Novak
f93d625cde Use GetTickCount64 instead of GetTickCountPrecise. 2019-09-02 15:46:36 +02:00
Armin Novak
da52297913 Added winpr version macro (same as freerdp version) 2019-08-22 16:03:50 +02:00
Armin Novak
92ca3002e3 Allow build without WinPR tools 2019-08-14 15:10:00 +02:00
Armin Novak
8ab5a2d6bb Use GetSystemTimeAsFileTime to emulate GetTickCount64 2019-08-13 10:55:12 +02:00
Armin Novak
cbb9354641 Fix broken clipboard after file copy 2019-07-17 15:13:50 +02:00
kubistika
da19457fca winpr: ObjectPool_Return: fix error handling 2019-07-11 21:31:47 +02:00
kubistika
e1850cbc6f winpr: ObjectPool_Return: fix wrong type for new_cap 2019-07-11 21:31:47 +02:00
Armin Novak
6d553a7f3c Fixed #5441, thank you @ekse 2019-06-25 10:25:31 +02:00
Martin Fleisz
ccd1fc71e9
Merge pull request #5327 from akallabeth/sign_compare_fixes_v3
Leak and warning fixes for 2.0
2019-05-09 13:21:36 +02:00
Armin Novak
2cc714a57d Updated RAILS implementation
* Implement new messages and callbacks
* Announce most recent channel features
* Added settings to configure flags to announce
2019-05-08 17:25:15 +02:00
Armin Novak
447e330bdf Fixed uninitialized value 2019-05-08 15:13:03 +02:00
Armin Novak
e42b15eb05 Fixed memory leak 2019-05-08 15:13:03 +02:00
Armin Novak
9bee5e80ee Fixed memory leak 2019-05-08 15:12:40 +02:00
Martin Fleisz
3e2be308eb
Merge pull request #5266 from akallabeth/file_list_synth
Added a proper synthesizer for FileGroupDescriptorW to text/uri-list
2019-05-08 15:05:05 +02:00
Armin Novak
84a297b830 Fixed error checks and uninitialized values in convert_filedescriptors_to_uri_list 2019-05-08 14:41:22 +02:00
Armin Novak
d7ca2db62e Fixed doulbe semicolon in C files. 2019-05-08 12:58:01 +02:00
Bernhard Miklautz
f867c90e4c
Merge pull request #5308 from akallabeth/fix_win32_overlinking
Fixed windows overlinking.
2019-05-03 12:01:51 +02:00
Kubistika
967f2aefac Fix segfault when IniFile_Load is called with invalid input (#5331)
* Fix segfault when IniFile_Load is called with invalid input

* Fix leak in TestIni.c third testcase

* TestIni.c: Refactor in order to avoid some old compilers errors
2019-04-08 09:26:46 +02:00
Armin Novak
f8dd9a9f75 Fixed ntlm_av_pair_get_len return, no signed value required 2019-04-05 09:28:09 +02:00
Armin Novak
2c9cd5067f Fixed argument pointer type cast 2019-04-05 09:22:50 +02:00
Armin Novak
f33e494884 Disabled -Wimplicit-fallthrough for instances where its use is intended. 2019-04-05 09:14:35 +02:00
Armin Novak
a1ee97c154 Fixed GetModuleFileNameW. 2019-04-05 09:14:35 +02:00
Armin Novak
a16813d237 Fixed SleepEx return value and added log messages for unimplemented features. 2019-04-05 09:14:35 +02:00
Armin Novak
c7b7d527f3 Fixed unused argument warnings for tests. 2019-04-05 09:14:35 +02:00
Armin Novak
e605a10921 Fixed NULL argument warning. 2019-04-05 09:14:35 +02:00
Armin Novak
71924958bd Added event name to handle. 2019-04-05 09:14:35 +02:00
Armin Novak
55e9132fa4 Fixed NULL argument warning. 2019-04-05 09:14:35 +02:00
Armin Novak
1d87fdc803 Implemented GetModuleFileNameW 2019-04-05 09:14:35 +02:00
Armin Novak
b5d9b6dba4 Improved timer implementation and error messages. 2019-04-05 09:14:35 +02:00
Armin Novak
f8e5e8cd7d Improved error logging for wait functions. 2019-04-05 09:14:35 +02:00
Armin Novak
ebb93a1273 Improved implementation of LoadLibrary functions. 2019-04-05 09:14:35 +02:00
Armin Novak
7b246121b4 Improved mutex and event functions
* Added name for debugging to handle.
* Implemented *Ex functions
2019-04-05 09:14:35 +02:00
Armin Novak
29741ca849 Fixed sign-compare warnings 2019-04-05 09:14:34 +02:00
Armin Novak
4c2028e285 Fixed sign-compare warnings 2019-04-05 09:14:34 +02:00
Armin Novak
6e655189c3 Fixed sign-compare warnings 2019-04-05 09:14:34 +02:00
Armin Novak
58d5c5f7d1 Fixed sign-compare warnings 2019-04-05 09:14:34 +02:00
Armin Novak
0b82768a70 Fixed sign-compare warnings 2019-04-05 09:14:34 +02:00
Armin Novak
70e37746cb Fixed sign-compare warnings 2019-04-05 09:13:25 +02:00
Armin Novak
cfdcaa2653 Fixed sign-compare warnings 2019-04-05 09:13:25 +02:00
Armin Novak
309fe960f7 Fixed sign-compare warnings 2019-04-05 09:13:24 +02:00
Armin Novak
b5a7e4d9b9 Fixed sign-compare warnings 2019-04-05 09:13:24 +02:00
Armin Novak
279a5fe39f Fixed sign-compare warnings 2019-04-05 09:13:24 +02:00
Armin Novak
6f3808a224 Fixed sign-compare warnings 2019-04-05 09:13:24 +02:00
Armin Novak
699d7d1462 Fixed _config_size return 2019-04-05 09:13:24 +02:00
Armin Novak
b7ac5b9bc8 Fixed sign-compare warnings 2019-04-05 09:13:24 +02:00
Armin Novak
7dfc453858 Cast SEC_* return values to HRESULT (Same as WIN32 API) 2019-04-05 09:13:24 +02:00
Armin Novak
9757d536c3 Case SCARD_* return values to HRESULT (Same as WIN32 API) 2019-04-05 09:13:24 +02:00
Armin Novak
25751517e5 Cast E_* errors to HRESULT (same as defined in WIN32 API) 2019-04-05 09:13:24 +02:00
David Fort
37358e81d0
Merge pull request #5285 from akallabeth/urbdrc_preparations
Channel, log debug and semaphore related fixes
2019-04-04 18:21:47 +02:00
David Fort
a63f717871
Merge pull request #5309 from smaeul/patch/ntlm
Fix NTLM AvPair lists
2019-04-04 18:19:56 +02:00
David Fort
058ae0db57
Merge pull request #5273 from akallabeth/mac_compile_warning_fix
Fixed mac compilation warnings.
2019-04-04 18:03:50 +02:00
Armin Novak
745c6b933a Fixed \0 terimination of clipboard file list 2019-04-03 10:17:51 +02:00
David Fort
c5156443e7
Merge pull request #5281 from akallabeth/assistance_ssl_init_fix
Fixed #5276: Enable SSL before parsing assistance file.
2019-03-28 19:04:25 +01:00
Armin Novak
8e0565b2bd Fixed windows overlinking. 2019-03-18 15:10:21 +01:00
Samuel Holland
6931f54fad Fix NTLM AvPair lists
There were two main issues here: First, the `ntlm_av_pair_add` and
`ntlm_av_pair_add_copy` were not adding a new `MsvAvEOL` to the end of
the list to replace the one they overwrote. This caused the second call
to one of those functions to fail (since it couldn't find the
terminator), which was the source of the test failure. It also caused
`ntlm_av_pair_list_length` and `ntlm_print_av_pair_list` to read out of
bounds until they happened to find the right word.

Second, several bounds checks were wrong or missing. For example,
`ntlm_av_pair_add` does not ensure that the value fits inside the list.
And `ntlm_av_pair_get_len` and `ntlm_av_pair_get_value_pointer` can
return error codes or NULL, but those error returns were ignored, and
the values used anyway (such as in `ntlm_av_pair_add_copy`).

This fixes the list handling code to have the invariant that all
functions returning `NTLM_AV_PAIR*` only return non-`NULL` if the entire
returned `AvPair` is within bounds. This removes the need for the length
parameter in functions that only operate on a single `AvPair`. This
check is performed by the new `ntlm_av_pair_check` helper, which is
added in some new places and used to simplify the code in others.

Other issues fixed along the way include:
 - `ntlm_av_pair_list_length` did not cast to `PBYTE`, so it was
   returning the number of `NTLM_AV_PAIR`-sized chunks (which was
   possibly not even an integer) instead of the number of bytes
 - I removed an impossible check for `offset <= 0` in
   `ntlm_av_pair_get_next_pointer`
 - The assertion that `Value != NULL` and the call to `CopyMemory` are
   only necessary if `AvLen` is nonzero
 - `ntlm_av_pair_get_next_pointer` (renamed to `ntlm_av_pair_next`)
   could be declared `static`

With this commit, TestNTLM now passes on powerpc64.

```
$ ./Testing/TestSspi TestNTLM
NTLM_NEGOTIATE (length = 40):
NTLM_CHALLENGE (length = 168):
NTLM_AUTHENTICATE (length = 352):
$ echo $?
0
```

Fixes #5250
2019-03-17 20:40:13 -05:00
Armin Novak
e5fbff357e Fixed Stream_* macros, bracing arguments. 2019-03-07 09:29:32 +01:00
MartinHaimberger
46b1e88a70
Merge pull request #5027 from akallabeth/wlog_off_fix
Fix #5024: Update inherited log level for all child loggers when setting a new one.
2019-02-28 10:55:12 +01:00
Armin Novak
e9c4173c9b Fixed winpr_HexLogDump line length calculation. 2019-02-28 09:54:05 +01:00
Armin Novak
bff5ded654 Better bounds checks for winpr_HexLogDump 2019-02-28 08:50:44 +01:00
Armin Novak
4e31cf929e Fixed ReleaseSemaphore, respect lReleaseCount
Signal the semapore lReleaseCount times.
2019-02-26 15:33:51 +01:00
Armin Novak
982ee67a4c Initialize ppKeys to NULL in HashTable_GetKeys
Ensure ppKeys=NULL in case of a function failure or empty table.
2019-02-26 15:32:22 +01:00
Armin Novak
32aa11251b Added a logger dump function operating on a preallocated logger. 2019-02-26 15:31:47 +01:00
Armin Novak
49936a7ba6 Fixed #5276: Enable SSL before parsing assistance file.
The assistance file requires primitives from the ssl wrapper.
Enable these before parsing the file.
Additionally split the FIPS mode enablement from the one time
initializer to avoid ignoring that flag.
2019-02-25 10:37:30 +01:00
Armin Novak
9566ae0e90 Fixed mac compilation warnings. 2019-02-21 17:30:12 +01:00
Armin Novak
32ea44c037 Added a proper synthesizer for FileGroupDescriptorW to text/uri-list
The file clipboard delegate needs a base URI to operate on for
systems that are not WIN32. Added that to the context and abort
conversion, if that is not set. (currently not fully implemented)
2019-02-21 16:44:40 +01:00
Armin Novak
32e5407b43 Ignore INVALID_HANDLE_VALUE during clang scanbuild runs.
The value INVALID_HANDLE_VALUE could in theory be a valid memory address,
so the analyzer is confused and thinks either we have a memroy leak
or we try to free a fixed address.
2019-02-21 12:21:51 +01:00
Armin Novak
41d382569c Respect return value from SetEvent and abort creation. 2019-02-21 12:21:51 +01:00
Martin Fleisz
3169b77d70
Merge pull request #5230 from akallabeth/sign_compare_fixes
Sign compare fixes
2019-02-08 09:35:50 +01:00
Armin Novak
22eddef668 Fixed wide character comparison. 2019-02-08 09:20:58 +01:00
Martin Fleisz
6415cfec48
Merge pull request #5131 from akallabeth/cmd_line_error_logging
Added extended error logging for assistance, rdp file and command line parser
2019-02-08 09:11:35 +01:00
Bernhard Miklautz
162a69b0f0
Merge pull request #5139 from akallabeth/drive_hotplug_shutdown_crash_fix
Fixed crash on drive hotplug shutdown.
2019-02-07 10:08:41 +01:00
Armin Novak
3679eefbd4 Fixed BipBuffer Read/Write, limit to SSIZE_MAX. 2019-01-30 18:05:49 +01:00
Armin Novak
650f63c7ca Added missing SSIZE_MAX define 2019-01-30 18:05:49 +01:00
Armin Novak
9c5c722aaa Fixed use of ASCII function on WCHAR 2019-01-30 18:05:49 +01:00
Armin Novak
221cb48e2d Fixed sign-compare warning 2019-01-30 18:05:49 +01:00
Armin Novak
585391dfbf Fixed sign-compare warning 2019-01-30 18:05:49 +01:00
Armin Novak
2bd43398e8 Fixed sign-compare warning 2019-01-30 18:05:49 +01:00
Armin Novak
f39ec7c453 Fixed sign-compare warning 2019-01-30 18:05:49 +01:00
Armin Novak
fe9dcfacca Fixed NULL dereferences and uninitialized values 2019-01-30 16:11:10 +01:00
Armin Novak
c00010478c Fix FindNextFileA path termination with a single separator. 2019-01-30 15:44:45 +01:00
Armin Novak
9033df501e Fixed compiler warnings for TRIO_CONST and limited data type. 2019-01-29 17:51:44 +01:00
Armin Novak
2e5fd8d16b Fixed clang analyzer false positive memory leaks.
Added a justification for each #ifndef __clang_analyzer__
2019-01-29 17:17:30 +01:00
akallabeth
0a8ebcfcac
Merge pull request #5187 from astrand/mingw-part1
Mingw build fixes part1
2019-01-29 10:46:21 +01:00
David Fort
ad75ae512c
Merge pull request #5200 from akallabeth/os2_fixes
Os2 fixes
2019-01-18 18:04:23 +01:00
Armin Novak
4f1462b73b Added fix for OS2 paths.
Reported on mailing list by Andrey Vasilkin
2019-01-18 13:13:41 +01:00
Armin Novak
b08505cbe0 Fixed return check in SwitchToThread
Patch on mailing list by Andrey Vasilkin
2019-01-18 13:02:30 +01:00
Armin Novak
4d4f3617bd Fixed memory leak in lodepng. 2019-01-16 15:23:12 +01:00
Armin Novak
fc9e88d64f Added flag to silence command line parser logging during detection. 2019-01-16 14:32:19 +01:00
Armin Novak
89f3f7d837 Added extended error logging for assistance, rdp file and command line parser. 2019-01-16 14:32:19 +01:00
Bernhard Miklautz
3498e76948 fix [winpr/hash]: initialize ssl
winpr-crypt is used in winpr for hash generation but currently it's
still required to initialize openssl in the application itself.
winpr-hash didn't do that therefore the generated hashes were useless.
2019-01-16 12:05:47 +01:00
Peter Åstrand (astrand)
a7f4b90f36 Pointer arithmetics require lvalue
(type *)x evaluates to a temporary. Fixed build with GCC.
2019-01-09 11:13:38 +01:00
Peter Åstrand (astrand)
32ba90ec0a Avoid building POSIX clipboard if WIN32
MinGW has unistd.h.
2019-01-09 10:04:38 +01:00
Peter Åstrand (astrand)
30cd1ba1ab Use lowercase for includes and libs
Makes build possible on case sensitive systems such as MinGW on Linux.
2019-01-09 09:36:28 +01:00
Martin Fleisz
7bc69cd61e
Merge pull request #5155 from akallabeth/ext_debug_functions
Added backtrace function working on allocated logger.
2019-01-08 10:18:06 +01:00
Ilya Shipitsin
f422fe63cf identical code for both branches, found by coverity 2019-01-07 23:01:31 +05:00
Armin Novak
5dea64a468 Added backtrace function working on allocated logger. 2018-12-17 09:24:57 +01:00
Martin Fleisz
5bff8bf694
Merge pull request #5125 from akallabeth/clipboard_string_length_fix
Fix #5121: Determine actual string length for input data
2018-12-11 10:30:39 +01:00
Armin Novak
66e71ef963 Added missing define for _wcsnlen for windows. 2018-12-10 14:02:57 +01:00
Armin Novak
d198f73081 Fix #5121: Determine actual string length for input data
ConvertFromUnicode ignores '\0' sequences when the length of the input
string is given. Clipboard strings may be larger than the actual string
length and padded with random data leading to decoding errors.
Limit the length to the first occurrence of a '\0'.
2018-12-10 12:41:04 +01:00
Armin Novak
1e644fc37e Added _wcsnlen function for WCHAR string length. 2018-12-10 12:39:32 +01:00
Armin Novak
e3c85eb3dc removed strcpy 2018-12-06 10:17:05 +01:00
Armin Novak
3d487d0718 Fixed #5093: Try to read timezone from java TimeZone first
persist.sys.timezone property might not exist, try to get the
timezone identifier from the java class first.
2018-12-05 10:41:14 +01:00
Armin Novak
22be8f21ae Fix length type, use size_t 2018-12-04 09:34:22 +01:00
Armin Novak
d27cd1b19e Fixed unit tests, use uniqe file names 2018-12-04 08:45:41 +01:00
Bernhard Miklautz
52d1b35a63
Merge pull request #5046 from akallabeth/silence_wlog
Do not compile extended debugging by default.
2018-11-26 11:10:59 +00:00
Armin Novak
96fe23193e Initialize WtsApi32_WtsApiFunctionTable NULL 2018-11-22 17:30:16 +01:00
Armin Novak
617c00c8f5 WLog_IsLevelActive is now a exported function istead of inline.
Since this function calls WLog_GetLogLevel anyway better only
export the API to allow internal checks to be modified in the
future without breaking API
2018-11-22 16:34:38 +01:00
Martin Fleisz
947aa80033
Merge pull request #5016 from akallabeth/windows_server_build_fix
Windows server build fix
2018-11-21 16:02:47 +01:00
Armin Novak
17bbe7a23f Do not compile extended authentication debugging by default. 2018-11-21 15:36:31 +01:00
Armin Novak
d8d30a0554 Fix #5037: Fix calls to ntlm_print_av_pair_list 2018-11-21 09:18:38 +01:00
Armin Novak
eb57ed3a30 Refactored ntlm_av_pairs API
Tightened checks, cleaned up code and improved redability.
2018-11-20 11:08:31 +01:00
Armin Novak
2ee663f39d Fixed CVE-2018-8789
Thanks to Eyal Itkin from Check Point Software Technologies.
2018-11-20 11:08:31 +01:00
Armin Novak
28f51efe9c Fixed update of log filters in case of level change. 2018-11-19 13:04:40 +01:00
Armin Novak
37a01a19d8 Fix #5024: Update inherited log level for all child loggers when setting a new one. 2018-11-19 12:19:12 +01:00
Armin Novak
a2cd934184 Fixed windows build warnings. 2018-11-15 09:01:53 +01:00
Ilya Shipitsin
77323d6f1d remove not needed check
PVS analyzer: A part of conditional expression is always true: DomainMatch.
2018-11-15 01:54:39 +05:00
Ilya Shipitsin
be8f70998a remove not needed check
PVS analyzer: A part of conditional expression is always true: bWaitAll.
2018-11-15 01:51:44 +05:00
Bernhard Miklautz
a9bcc07d23 fix [winpr/sspi]: export symbols on all systems 2018-11-14 12:19:36 +01:00
Martin Fleisz
097ac0ee13
Merge pull request #4997 from akallabeth/use_bio_free_all
Replaced BIO_free with BIO_free_all
2018-11-12 13:55:36 +01:00
Martin Fleisz
6d6a2959c2
Merge pull request #4968 from akallabeth/timezone_updates
Simplified timezone update handling:
2018-11-09 12:07:43 +01:00
Martin Fleisz
a7f0da2440
Merge pull request #4961 from akallabeth/align_malloc_fix
Fixed #2039: Check for overflow in calculations.
2018-11-09 11:58:04 +01:00
Armin Novak
71036fe0b2 Fixed #2039: Check for overflow in calculations. 2018-11-09 10:50:53 +01:00
Armin Novak
5f4843191b Replaced BIO_free with BIO_free_all
There is no point in using BIO_free with a custom recursion
to free up stacked BIOs if there is already BIO_free_all.
Using it consistently avoids memory leaks due to stacked BIOs
not being recursively freed.
2018-11-08 12:09:49 +01:00
Armin Novak
6a2d49e0ed Simplified timezone update handling:
* Fix #4965: Adjusted the timezone update script to initialize
  structs properly.
* Updated the scripts to generate the files directly
* Added a small HOWTO
* Split zone information to separate files to allow automatic
  update without further manual editing.

Create a timezone.c file that does conform to C rules.
2018-11-07 14:46:24 +01:00
Bernhard Miklautz
472f7ea936 fix [winpr/util]: memory leak in TestCmdLine 2018-11-05 12:29:06 +01:00
Bernhard Miklautz
29d3fea3d7
Merge pull request #4974 from Devolutions/android_timezone_fix
Remove unsupported call to fseek when file is opened with popen
2018-10-31 11:26:19 +00:00
Jonathan Lafontaine
610a882f1d remove unsupported call to fseek when file is opened with popen 2018-10-30 16:47:06 -04:00
Martin Fleisz
7b0f4f5dc4
Merge pull request #4907 from akallabeth/transport_write_leak_fix
Transport write leak fix
2018-10-29 14:54:55 +01:00
Armin Novak
fffd352f83 Fixed warnings in Stream test. 2018-10-25 15:52:12 +02:00
Armin Novak
b7f272cd16 Fixed casts in Data_Read macros. 2018-10-25 15:52:12 +02:00
Armin Novak
97e68deea5 Fixed initialisation in DEFINE_EVENT_ENTRY define 2018-10-24 16:50:05 +02:00
Armin Novak
987ca5ec6a Fixed another bunch of warnings. 2018-10-24 14:36:12 +02:00
Armin Novak
86f08981ef Fixed warnings of uninitialized struct values. 2018-10-24 13:25:18 +02:00
Armin Novak
46d6aa4e2b Fixed cast warnings for thread wrapper 2018-10-24 13:24:45 +02:00
akallabeth
16d37b1a17
Merge pull request #4932 from hardening/stream_static
winpr: add some functions to use wStream in a static way
2018-10-22 21:16:36 +02:00
Norbert Federa
0572572eb9 fix issue with fnObjectFree and related casts
- remove unnecessary/dangerous OBJECT_xxx function-style casts
- fix -Wstrict-prototypes issue with OBJECT_NEW_FN definition
2018-10-19 11:30:01 +02:00
Armin Novak
554e18780b USe const compare function pointer arguments 2018-10-18 09:06:55 +02:00
David Fort
13e2a8834d winpr: add some functions to use wStream in a static way
It's sometime useful to create a stream aliasing a buffer on the stack, and
it's nice if we don't need some extra malloc for this.

Example use:
   BYTE buffer[20];
   wStream s;

   Stream_StaticInit(&s, buffer, sizeof(buffer));
   Stream_Write_UINT16(&s, 0xff01);
   Stream_Free(&s, FALSE);
2018-10-17 19:07:48 +02:00
Armin Novak
3416d1bdee Reset stream length to capacity in StreamPool_Take 2018-10-17 14:54:53 +02:00
Armin Novak
f91590ecbf Fixed bugs detected during scanbuild run 2018-10-17 13:19:33 +02:00
Marc-André Moreau
ce234411c9
Merge pull request #4914 from Devolutions/winpr-dll-export
Add WINPR_DLL definition to control WinPR symbol exporting
2018-10-16 09:09:05 -04:00
Martin Fleisz
168bab905d
Merge pull request #4916 from Devolutions/ios-path-fix
Fix iOS path detection functions
2018-10-05 09:50:27 +02:00
Sébastien Duquette
2497fcf941 Use fnObjectEquals in ArrayList_Remove. 2018-10-04 16:57:29 -04:00
Richard Markiewicz
ee7b5460b5 freerdp - fix iOS directory paths 2018-10-04 16:54:40 -04:00
Marc-André Moreau
1b42e512ee winpr: add WINPR_DLL definition 2018-10-04 15:09:49 -04:00
Armin Novak
a0f42280c3 Check if a boolean or flag argument has additional data.
Treat it as an error.
2018-09-28 12:59:20 +02:00
Armin Novak
bfeac80ed3 Fixed macro _stream_read_n16_le and _stream_read_n16_be
Cast to appropriate type to avoid integer truncation warnings.
2018-09-14 10:08:38 +02:00
Armin Novak
fad20be6e6 Fixed missing includes. 2018-08-27 14:34:42 +02:00
Armin Novak
00a5d06fc1 Fixed coverity memory leak. 2018-08-27 14:34:42 +02:00
Armin Novak
62c1696d4c Removed use of unchecked sprintf 2018-08-27 14:34:42 +02:00
Armin Novak
114abad767 Removed use of strcpy. 2018-08-27 14:34:09 +02:00
Armin Novak
d7d5567891 Fixed missing const. 2018-08-24 13:40:36 +02:00
Armin Novak
c159b2e9c8 Fixed missing check before calling memcpy 2018-08-24 13:40:36 +02:00
Martin Fleisz
8248dcb3bb
Merge pull request #4816 from akallabeth/drive_cmd_fix
Fix #4680: Return proper directory name.
2018-08-24 09:45:26 +02:00
Martin Fleisz
0afba58405
Merge pull request #4814 from akallabeth/linked_list_add_object
Linked list add object for user defined functions
2018-08-24 08:37:41 +02:00
Armin Novak
ab18f8f222 Fix #4680: Return proper directory name. 2018-08-23 10:04:26 +02:00
Ondrej Holy
95a043e0eb winpr/winsock: Fix leak found by covscan
0 is valid return value from socket().

leaked_handle: Handle variable "fd" going out of scope leaks the handle.
2018-08-23 09:11:24 +02:00
Ondrej Holy
0a11a06dc9 winpr/winsock: Format code by astyle
Run ./scripts/format_code.sh before the following changes.
2018-08-23 09:11:24 +02:00
Ondrej Holy
10b9c516f6 winpr/utils/wlog: Fix leak found by covscan
leaked_storage: Variable "result" going out of scope leaks the storage it points to.
leaked_storage: Variable "bt" going out of scope leaks the storage it points to.
2018-08-23 09:11:24 +02:00
Ondrej Holy
d3c2ceb0f6 winpr/utils/wlog: Format code by astyle
Run ./scripts/format_code.sh before the following changes.
2018-08-23 09:11:24 +02:00
Ondrej Holy
4813a70897 winpr/utils/ntlm: Prevent releasing function argument
The patch changes API of functions instead of fixing unused and broken code.

freed_arg: "free" frees parameter "NtHash".
2018-08-23 09:11:24 +02:00
Ondrej Holy
1c1d00aac0 winpr/utils/ntlm: Format code by astyle
Run ./scripts/format_code.sh before the following changes.
2018-08-22 14:34:02 +02:00
Ondrej Holy
35bccd5262 winpr/sspi/ntlm: Fix leak found by covscan
leaked_storage: Variable "sam" going out of scope leaks the storage it points to.
leaked_storage: Variable "s" going out of scope leaks the storage it points to.
leaked_storage: Variable "snt" going out of scope leaks the storage it points to.
2018-08-22 14:34:02 +02:00
Ondrej Holy
724bc7acd2 winpr/io/device: Fix leak found by covscan
leaked_storage: Variable "lpPipePath" going out of scope leaks the storage it points to.
2018-08-22 14:34:02 +02:00
Ondrej Holy
df9d0fab80 winpr/io/device: Format code by astyle
Run ./scripts/format_code.sh before the following changes.
2018-08-22 14:34:02 +02:00
Ondrej Holy
acbd6e6322 winpr/file: Fix leak found by covscan
overwrite_var: Overwriting handle "h" in "h = (HANDLE)0xffffffffffffffff" leaks the handle.
2018-08-22 14:34:02 +02:00
Armin Novak
b77dc13b5f Implemented linked list compare and value copy functions. 2018-08-22 12:39:11 +02:00
Armin Novak
8b8e85271c Fixed #4793: Return correct file handle for existing directory 2018-08-13 13:17:56 +02:00
Armin Novak
0352dc3d6c Fixed invalid format string. 2018-08-01 12:56:18 +02:00
Armin Novak
ed89328349 Fixed missing argument checks. 2018-07-30 10:46:20 +02:00
Armin Novak
3d8dec7fbf Removed debug log messages. 2018-07-11 16:37:29 +02:00
Armin Novak
dbfa896d5a Fixed errno reset. 2018-07-11 16:27:14 +02:00
Armin Novak
2b91095eb3 Fixed pattern detection if path is already a directory. 2018-07-11 10:58:37 +02:00
Armin Novak
30843ef4d8 Code cleanups and more logging. 2018-07-11 10:53:26 +02:00
Pascal J. Bourguignon
17a3782d1a FIX: moved declarations above the statements for strict C 90 compliance. 2018-06-07 13:29:44 +02:00
Pascal J. Bourguignon
15f2bafeab Cleaned up const char** -> char** for argv, since we definitely do modify the argv!
(we overwrite the password and pin arguments).
This implies changes in the argument parsing tests that now must pass a mutable argv
(copied from the statically declared test argvs).
Some other const inconsistency have been dealt with too.
2018-06-06 16:43:09 +02:00
Robert Corrigan
992554a01f Update time zone data to April 2018 2018-05-15 15:53:36 -04:00
Armin Novak
5a5b5eb6dd Fixed loadepng memory leak. 2018-05-15 14:30:35 +02:00
Martin Fleisz
f653686958
Merge pull request #4637 from akallabeth/win_ninja_support
VS2017 support: set pdb output directory for Ninja generator.
2018-05-15 13:47:28 +02:00
Armin Novak
e8b9116507 Fixed invalid function argument for ntlm_compute_message_integrity_check 2018-05-11 11:00:46 +02:00
Armin Novak
e71a39f214 Fixed compiler warnings (unused) 2018-05-11 11:00:01 +02:00
Armin Novak
6e958e7edb Fix #4628: CommandLineFindNextArgumentA must check the current argument
When determining if there is a next argument first check the current one
for abort criteria.
2018-05-06 10:49:05 +02:00
Armin Novak
5b961e9c75 Fixed /pth: Consistently treat the hash offset to password length. 2018-05-03 17:51:11 +02:00
akallabeth
dd577377dd
Merge pull request #4617 from kevans91/spurious
Upstream the rest of our local FreeBSD patching
2018-05-03 11:55:03 +02:00
akallabeth
d130d9cb21
Merge pull request #4613 from kevans91/file64
Enable 64-bit file support on FreeBSD as well
2018-05-03 11:31:54 +02:00
akallabeth
ba37f04e1b
Merge pull request #4616 from kevans91/timerfd-nonblock
Pass TFD_NONBLOCK to timerfd_create to avoid later fcntl
2018-05-03 10:56:04 +02:00
akallabeth
613e0be208
Merge pull request #4614 from kevans91/cmakemod
Abstract away CMake module installation setting, install differently on FreeBSD
2018-05-03 09:49:31 +02:00
Kyle Evans
8073a7850e Pull in the libepoll-shim includes for libwinpr's synch/test
This allows FreeBSD to successfully build with BUILD_TESTING enabled. Currently,
only 3/184 tests fail:

	 13 - TestLibraryLoadLibrary (Failed)
	 14 - TestLibraryGetProcAddress (Failed)
	 15 - TestLibraryGetModuleFileName (Failed)

These failures are probably due to a lack of GetModuleFileNameA implementation
on FreeBSD.
2018-05-02 23:19:44 -05:00
Kyle Evans
2fb992a962 Upstream the rest of our local FreeBSD patching
FreeBSD/DragonflyBSD are also UNIX platforms, as far as trio is concerned, and
we don't need to be setting the CMAKE_INSTALL_RPATH on FreeBSD.
2018-05-02 22:09:42 -05:00
Kyle Evans
f1a7c3cc6a Pass TFD_NONBLOCK to timerfd_create to avoid later fcntl 2018-05-02 21:03:49 -05:00
Kyle Evans
5463b23591 Enable 64-bit file support on FreeBSD as well 2018-05-02 10:38:44 -05:00
Kyle Evans
a7c0632bf2 Use SetFreeRDPCMakeInstallDir where CMake modules are installed 2018-05-02 10:36:52 -05:00
Armin Novak
60bf33f79d Determine posix timer availability by function availability
To avoid having to whitelist every os starting to implement posix
timer API just detect if the functions are available.
2018-05-02 11:17:32 +02:00
David Fort
a03c0d88d5
Merge pull request #4606 from kevans91/libressl-fixes
Pull in the LibreSSL compatibility patches from FreeBSD
2018-05-02 10:39:22 +02:00
Martin Fleisz
c0804699f1
Merge pull request #4609 from akallabeth/clipboard_return_check
Added proper return value checks for clipboard data.
2018-05-02 10:10:55 +02:00
Armin Novak
a1c3c1ad64 Added proper return value checks for clipboard data. 2018-05-02 09:21:42 +02:00
Kyle Evans
45d8e2dfb2 Pull in libepoll-shim for the bits that require timerfd/epoll
libepoll-shim is our implementation of this API on top of kevent. It supplies
the same headers and a library, but we don't install it in any of the default
include search paths when it comes in through ports on an as-needed basis.

This set of changes is restricted to FREEBSD-compatible OS, which includes
DragonflyBSD and FreeBSD.
2018-05-01 23:42:25 -05:00
Kyle Evans
f8c391876f Pull in the LibreSSL compatibility patches from FreeBSD 2018-05-01 08:43:36 -05:00
Martin Fleisz
b228deb998
Merge pull request #4543 from oshogbo/master
Fix variable passsed to HashCallback with MIC.
2018-04-18 14:50:31 +02:00
Mariusz Zaborski
509afe252d Remove MessageIntegrityCheck from context. 2018-04-17 15:03:27 +02:00
Mariusz Zaborski
fe37fede50 Fix variable passsed to HashCallback with MIC.
The value in the context is not set yet and we need one from
authentication message.
2018-04-06 21:18:20 +02:00
Mariusz Zaborski
00374382d9 There is no reason to restrict nSize to 2 the hostname can be empty on
UNIX-like machines.
2018-04-06 21:07:51 +02:00
MartinHaimberger
a9ecd6a6cc
Merge pull request #4535 from akallabeth/warning_fixes
Warning fixes
2018-04-05 10:20:43 +02:00