Commit Graph

2609 Commits

Author SHA1 Message Date
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