Commit Graph

2793 Commits

Author SHA1 Message Date
akallabeth
d2cf953f24 [winpr,input] properly define keyboard types
* use an enum to define the different WINPR_KEYBOARD_TYPE*
* use the enum as argument for the functions instead of DWORD
2023-05-12 09:52:01 +02:00
David Fort
46171045ed [winpr,input] fix GetKeycodeFromVirtualKeyCode(code, KEYCODE_TYPE_XKB)
As KEYCODE_TYPE_XKB is 3, in the previous code we were doing some "and masking"
and so when calling GetKeycodeFromVirtualKeyCode(code, KEYCODE_TYPE_XKB), the
function was always interpreting the virtual key code with the apple layout.
This patch fixes that and also mutualize the search in the code array.
2023-05-12 09:52:01 +02:00
akallabeth
564da71f11 [winpr,crypto] add digest sign functions 2023-05-10 09:59:10 +02:00
Martin Fleisz
3cb55a87e3 winpr: Add support for AVX2/AVX512F feature detection 2023-05-02 12:06:47 +02:00
Armin Novak
f8ac8f1773 [winpr,schannel] add compile option WITH_DEBUG_SCHANNEL 2023-04-28 08:33:06 +02:00
Armin Novak
55a8695cfe [winpr,crypto] add openssl 3 support
update hashing functions for openssl 3
2023-04-28 08:33:06 +02:00
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