akallabeth
516668d02b
[fclose] ensure no invalid pointers are passed.
...
fclose has undefined behaviour for NULL pointers, so check for these.
2023-04-28 07:39:35 +02:00
akallabeth
09aa4e63a9
[winpr,utils] fix COMMAND_LINE_VALUE_PRESENT
...
the flag was set unconditionally, only set it if there actually is a
value present
2023-04-28 07:39:35 +02:00
fifthdegree
6abd9165e6
Only accept hostname for kdc-url
...
For compatibility with windows
2023-04-27 16:31:30 +02:00
fifthdegree
9368317a9f
Plug some leaks in krb5glue_mit.c
2023-04-27 16:31:30 +02:00
fifthdegree
b1c4cb493f
Set KDC URL in a way compatible with Windows
2023-04-27 16:31:30 +02:00
fifthdegree
201b743f20
Set pkinit_kdc_hostname when known
...
Since Windows doesn't use id-pkinit-san in its certificates, it is
necessary to manually configure which hosts are valid KDCs. In the case
where a kdcUrl (or hostname) is provided to us, we can do that
configuration ourselves.
2023-04-27 16:31:30 +02:00
akallabeth
c0dc193a39
[winpr,input] use enum for keyboard types
...
* move type definition to WinPR as used there too.
* supported keyboard types are defined in
[MS-RDPBCGR] 2.2.1.3.2 Client Core Data (TS_UD_CS_CORE)]
use a enum instead of magic numbers to make code more readable.
2023-04-21 12:31:51 +02:00
akallabeth
1318b813d6
[winpr,input] fix apple keyboard mapping
...
GetVirtualKeyCodeFromKeycode and GetVirtualKeyCodeFromKeycode used
an invalid index offset. this commit corrects that, but is API breaking.
2023-04-21 12:31:51 +02:00
Pascal Nowack
bb967d1533
winpr/input: Add actual evdev keyboard handling
...
WinPR provides APIs to convert between keycodes between virtual
keycodes.
These keycodes can currently be evdev keycodes or Apple keycodes.
The evdev handling, however, handles XKB keycodes and not evdev ones.
The main difference between these is that XKB keycodes are shifted by
the value 8, compared to evdev keycodes.
In order to fix this situation, rename the evdev keycodes to XKB ones,
and introduce additionally a new keycode evdev, including its handling
for this keycode type.
2023-04-21 12:31:51 +02:00
Marc-André Moreau
32264b90cc
add WITH_UNICODE_BUILTIN option to use built-in UTF conversion functions
2023-04-18 16:51:08 -04:00
Armin Novak
4408521421
[winpr,sspi] match SEC_WINNT_AUTH_IDENTITY integer
...
windows defines them with ULONG which does not match UINT32, so keep
these types proper
2023-04-11 11:37:09 +02:00
Armin Novak
13c025e04c
[winpr,sspi] remove sspi_SetAuthIdentityWithUnicodePassword
...
the function is useless as we always use the SetAuthIdentityW API now
2023-04-11 11:37:09 +02:00
Rubycat
207d886a90
Unique kerberos ccaches for parallel connections.
...
The "MEMORY" ccache is shared in a process.
If a client uses it to make parallel connections,
the same ccache may be used for several clients with distinct
credentials.
To prevent such sharing we create a unique, dedicated ccache when
necessary with krb5_cc_new_unique.
We should destroy the ccaches we created, to avoid leaks.
The struct KRB_CREDENTIALS is extended to express the ccache ownership.
2023-04-07 11:21:12 +02:00
Rubycat
cec88e53bd
don't log an error when running GetCurrentThread from non winpr thread
...
Since 7c4a774e4e
this can legitimately happen in WaitForMultipleObjectsEx and is not
actually an error.
2023-04-07 11:03:56 +02:00
akallabeth
efcacda24c
[winpr,sspi] do not abort on empty password
...
sspi_SetAuthIdentityA might be called with empty passwords, do not abort
under these conditions.
2023-04-06 12:11:46 +02:00
Armin Novak
947bc7fe04
[winpr] added Win32ErrorCode2Tag
2023-04-05 10:02:27 +02:00
akallabeth
37aaa7802a
[winpr,crt] added winpr_aligned_calloc
2023-03-28 11:34:52 +02:00
akallabeth
e8fbac14cc
[winpr,shell] log when a known path is NULL
...
* Add GetKnownPathIdString to get a string representation of the known
path ID requested
* Added a log message if a requested path is NULL
2023-03-24 08:42:40 +01:00
akallabeth
2f17622f65
[cmake] link PUBLIC for static builds
2023-03-16 10:58:01 +01:00
akallabeth
69b4898b73
[winpr,clipboard] fix wrong return check
2023-03-15 08:22:23 +01:00
akallabeth
41cb69b135
[winpr,stream] fix Stream_Read_UTF16_String
...
Fix wrong arguments for stream length check
2023-03-09 11:17:37 +01:00
Armin Novak
3d8cb485f4
[warnings] Fixed strict-prototypes warnings
2023-03-06 10:04:59 +01:00
Armin Novak
9a7432d23c
[winpr,stream] log Stream_Read_UTF16_String failures
2023-03-06 08:35:24 +01:00
Armin Novak
e129ab749b
fixed parsing of FILEDESCRIPTORW in WinPR
2023-03-05 17:55:28 +01:00
Armin Novak
9fb4465722
[winpr,clipboard] fix text/uri-list parsing
...
abort if an empty string remains
2023-03-05 17:55:28 +01:00
David Fort
7c4a774e4e
winpr: fix WaitForMultipleObjectsEx(alertable) call from non winpr threads
...
When WaitForMultipleObjectsEx is called with the alertable flag set from a non
WinPR thread, we shall not try to treat APC, as for sure there is no APC scheduled,
as previous call that would have scheduled such APC would have failed.
2023-03-05 17:10:37 +01:00
Armin Novak
a726fa613a
[winpr] improve digest failure logging
2023-03-05 17:03:18 +01:00
Armin Novak
6d0a9b075b
[winpr,cynch] WINPR_ASSERT critical section functions
2023-03-01 13:45:13 +01:00
akallabeth
61175a96ea
[winpr,clipboard] fixed mate-copied-files
...
wrong lineending and size fixed
2023-02-28 09:47:54 +01:00
Armin Novak
e1307b90db
[winpr,clipboard] fix length of uri list
...
we overallocate the size, so ensure the result size only contains the
data actually used.
2023-02-28 09:47:54 +01:00
akallabeth
c9e61ff0c5
[cmake] simplify krb5 detection
2023-02-27 11:18:02 +01:00
Armin Novak
acc415442a
[winpr] add macros for library options
...
* compile definitions
* linker options
* cflags
2023-02-27 11:18:02 +01:00
Armin Novak
f4acc88c58
[winpr,clipboard] add getter for clipboard id string
2023-02-23 20:28:15 +01:00
Armin Novak
d8d4d044ff
[clipboard] cleanup definitions
...
* remove definitions for clipboard formats that are dynamically registered
* fix length of converted clipboard string
2023-02-23 20:28:15 +01:00
Armin Novak
9cb28f47ef
xxx
2023-02-21 16:42:54 +01:00
Armin Novak
1522b5aa91
xx
2023-02-21 16:42:54 +01:00
Armin Novak
3d3e577190
[winpr,clipboard] fix file list conversion
2023-02-21 16:42:54 +01:00
Armin Novak
53afedf9de
[winpr,clipboard] close file after read
2023-02-21 16:42:54 +01:00
Armin Novak
10404121c4
[winpr,clipboard] fix error message format string
2023-02-21 16:42:54 +01:00
Armin Novak
62028f1488
[winpr,file] map EMFILE
2023-02-21 16:42:54 +01:00
akallabeth
2f05166fb1
[winpr,crypto] improve logging
2023-02-03 11:09:59 +01:00
akallabeth
f2b4fa9acc
[winpr,sspi] fix const correctness of function argument
...
sspi_SetAuthIdentityWithUnicodePassword arguments should be const to
avoid compiler warnings if the variable is also const
2023-02-01 09:51:54 +01:00
akallabeth
ee07a13130
[cleanup] fix compiler warnings
2023-01-26 09:30:17 +01:00
Armin Novak
1dc2225bd2
[winpr,wlog] include function name in log message
...
default to print the function the log message was called from
2023-01-25 16:26:39 +01:00
Armin Novak
641022b795
[logging] remove __FUNCTION__ from actual message
...
prefer the log formatter to provide that information.
2023-01-25 16:26:39 +01:00
akallabeth
de40b43037
[winpr,stream] modify logging stream length checks
...
* Split length argument to nmemb and size for all Stream_CheckAndLogRequiredLength* functions
* Add new macros to allow setting nmemb and size arguments
2023-01-25 14:27:32 +01:00
akallabeth
74530a7931
[format strings] ensure __LINE__ is of type size_t
...
__LINE__ is not particularily well defined (most fall back to int).
We want to ensure that all the uses in a format string match the format
specifier, so do an explicit cast
2023-01-25 14:27:32 +01:00
akallabeth
8ed37e68d2
[stream] use logging capacity checks
2023-01-25 14:27:32 +01:00
akallabeth
b6648288e4
[winpr,stream] add functions to check and log capacity
...
Add functions (and macros) to provide a method to check the remaining
capacity of a stream and log failures
* Stream_CheckAndLogRequiredCapacityWLog
* Stream_CheckAndLogRequiredCapacityWLogEx
* Stream_CheckAndLogRequiredCapacityWLogExVa
2023-01-25 14:27:32 +01:00
Armin Novak
f62c658e17
[winpr] Make Stream_SafeSeek log a failure
2023-01-24 10:16:55 +01:00
Armin Novak
2d16ab5255
[winpr,sam] fix inalid NULL arguments
2023-01-11 21:37:16 +01:00
Armin Novak
39210d1efd
[winpr,sam] allow empty domain in SamLookupUserW
2023-01-11 21:37:16 +01:00
akallabeth
92d3e3c64a
[winpr] use WINPR_ prefix for conditional includes
2023-01-10 17:38:00 +01:00
akallabeth
2479ebd816
Fixed compiler warnings
2023-01-10 17:38:00 +01:00
Armin Novak
7a95c7343d
[winpr,wlog] fixed noisy wlog filter
2022-12-22 15:09:03 +01:00
akallabeth
784becd946
[winpr,image] add winpr_bitmap_write_ex
...
Added a helper function writing a bitmap from an image that has a stride
that is not width * <bytes per pixel>
2022-12-16 11:03:13 +01:00
Armin Novak
51e49b4329
[winpr,asn] Fixed a compiler warning
...
WinPrAsn1DecReadEnumerated expects an argument of type
WinPrAsn1_ENUMERATED* so ensure the variable referenced is of said type.
2022-12-15 14:57:29 +01:00
David Fort
e915b294d5
winpr: add functions to test for read / write availability in pollset
2022-12-13 15:54:33 +01:00
fifthdegree
497ada661f
Change the logic flow on error to a better style
...
Use do-while and break instead of checking return value before every
line
2022-12-13 14:26:45 +01:00
fifthdegree
e4b82cf0ef
[kerberos] Assert expected pointer arguments
2022-12-13 14:26:45 +01:00
fifthdegree
3ffc32176d
Support heimdal kerberos implementation
...
Add support for heimdal kerberos in addition to mit kerberos
2022-12-13 14:26:45 +01:00
fifthdegree
6c8e4d668d
Don't free empty structures
2022-12-13 14:26:45 +01:00
fifthdegree
1e6c5fc782
Allow setting kdc hostname
...
Use user-provided kdc hostname when given
2022-12-13 14:26:45 +01:00
akallabeth
37ab25e19d
Fixed all Wdocumentation warnings
2022-12-12 14:24:55 +01:00
akallabeth
d4808dd3e1
Fixed various compiler warnings
2022-12-09 15:58:26 +01:00
akallabeth
7ab917dca8
Fixed Wsign-compare warnings
2022-12-09 15:58:26 +01:00
Armin Novak
bd7e2263ad
fixed const and type cast warnings
2022-12-09 15:58:26 +01:00
akallabeth
0186a9b303
Fixed some warnings
2022-12-09 15:58:26 +01:00
akallabeth
99ad9db4e6
[winpr,path] Fixed WCHAR and char mixup
2022-12-09 15:58:26 +01:00
akallabeth
e86f49d7d7
[winpr,utils] eliminate integer conversion warning
2022-12-09 15:58:26 +01:00
akallabeth
873a11aa10
[winpr,path] Eliminate unreachable code
2022-12-09 15:58:26 +01:00
akallabeth
7f221a653d
Fixed Wpedantic warnings
2022-12-09 15:58:26 +01:00
akallabeth
7894cf545c
Fixed Wmissing-varialbe-declarations warnings
2022-12-09 15:58:26 +01:00
akallabeth
a3686f0f1f
Fixed Wmissing-prototypes warnings
2022-12-09 15:58:26 +01:00
akallabeth
3ddf99ad64
Fixed Wformat warnings
2022-12-09 15:58:26 +01:00
akallabeth
7e31b877fc
[winpr, tests] Fixed ASN unit test const warning
2022-12-09 15:58:26 +01:00
akallabeth
389817cb57
[winpr,crypto] fixed const correctness of md4/5
2022-12-09 15:58:26 +01:00
akallabeth
aaae70ff05
Fixed missing const casts
2022-12-09 15:58:26 +01:00
akallabeth
bf0ce5bf3a
[winpr,sspi] Fixed const correctness of API
...
sspi_GetAuthIdentityVersion and sspi_GetAuthIdentityFlags do not
modify, make arguments const
Same is true for sspi_GetAuthIdentityUserDomainW,
sspi_GetAuthIdentityUserDomainA, sspi_GetAuthIdentityPasswordA and
sspi_GetAuthIdentityPasswordW
2022-12-09 15:58:26 +01:00
Armin Novak
f2016c77c5
[winpr] renamed WITH_GSS_NO_NTLM_FALLBACK
2022-12-09 12:36:12 +01:00
fifthdegree
ad87144ce5
Rename WITH_GSSAPI to WITH_KRB5
...
Change cmake variables to not be gssapi specific
2022-12-09 12:36:12 +01:00
akallabeth
c7bd8c3df9
[winpr,sspi] fix kerberos resource cleanup
...
kerberos cache and keytab were not properly cleaned up for cases where
the credentials were not available in kerberos
2022-12-09 11:08:11 +01:00
akallabeth
6613155275
[winpr,utils] pretty print stacktrace
...
do not add an additional newline in the messages.
2022-12-09 10:28:40 +01:00
Armin Novak
074f28073a
[winpr,sspi] enable negotiate by default
2022-12-08 11:07:00 +01:00
akallabeth
9ca34bc876
[winpr,sspi] fix memory leak in kerberos_InitializeSecurityContextA
2022-12-02 15:08:09 +01:00
akallabeth
b0aef46caf
[winpr,krb] fixed kerbeos context handling
2022-12-02 15:08:09 +01:00
Armin Novak
e1eacad74c
[scard] fixed memory leak
...
card_id_and_name_* return allocated values, free after use
2022-12-02 15:08:09 +01:00
Armin Novak
58bc1ee4c9
[smartcard] fix multi string conversion
2022-12-02 15:08:09 +01:00
David Fort
bc8afa0ad5
ncrypt_pkcs11: fix buffer allocation for key name
2022-12-02 15:08:09 +01:00
Armin Novak
0091f72761
[winpr,smartcard] fix PCSC_SCardListReaders
2022-12-02 15:08:09 +01:00
Armin Novak
bbf893a5d8
[winpr,crt] fix unicode conversion functions
...
There are subtle differences between MultiByteToWideChar,
WideCharToMultibyte and the ICU equivalents
2022-11-29 15:42:10 +01:00
akallabeth
6014efc19b
[winpr,smartcart] simplified casts
2022-11-28 10:42:36 +01:00
akallabeth
66dad5deae
fixed review issues
...
* Overallocation in unicode functions
* Removed useless statements
* Fixed loop indices
2022-11-28 10:42:36 +01:00
akallabeth
7bf8b46726
[smartcard] Use multistring convertion functions
2022-11-28 10:42:36 +01:00
Armin Novak
2784d54d6f
Deprecate MultiByteToWideChar and WideCharToMultiByte
2022-11-28 10:42:36 +01:00
Armin Novak
6f2d7f94cf
Deprecate ConvertFromUnicode and ConvertToUnicode
2022-11-28 10:42:36 +01:00
akallabeth
5799fb2018
Replace ConvertFromUnicode and ConvertToUnicode
...
* Use new ConvertUtf8ToWChar, ConvertUtf8NToWChar,
ConvertUtf8ToWCharAlloc and ConvertUtf8NToWCharAlloc
* Use new ConvertWCharToUtf8, ConvertWCharNToUtf8,
ConvertWCharToUtf8Alloc and ConvertWCharNToUtf8Alloc
* Use new Stream UTF16 to/from UTF8 read/write functions
* Use new settings UTF16 to/from UTF8 read/write functions
2022-11-28 10:42:36 +01:00
Armin Novak
2aefa9418d
[winpr,stream] Added functions to read/write utf-8
...
* Stream_Write_UTF16_String_From_UTF8 writes a UTF-8 string to a
stream in UTF-16 encoding
* Stream_Read_UTF16_String_To_UTF8 reads a UTF-16 encoded string
from the stream and returns it in UTF-8 encoding
2022-11-28 10:42:36 +01:00
Armin Novak
0fb8c9e87e
[winpr,crt] Added ConvertMszWCharNToUtf8*
2022-11-28 10:42:36 +01:00
akallabeth
4f7114a140
[winpr,crt] Added ConvertMszUtf8NToWChar*
...
A conversion function that can handle multistrings (e.g. each element is
'\0' delimited, termination is '\0\0')
2022-11-28 10:42:36 +01:00