Commit graph

80579 commits

Author SHA1 Message Date
Arjav Garg a602bc3550
[NTUSER] Fix UserSendKeyboardInput() KEYEVENTF_SCANCODE use case (CORE-17144) 2021-09-25 09:56:12 -04:00
Hermès Bélusca-Maïto 74513a75ab
[NTOS:OB] Minor refactoring.
- NtQuerySymbolicLinkObject(): Use an intermediate variable for the object header.
- Simplify code in ObpLookupEntryDirectory() by calling ObpReleaseLookupContextObject() instead.
- Use TAG_OBJECT_TYPE instead of hardcoded tag values.
2021-09-25 01:09:01 +02:00
Hermès Bélusca-Maïto 4c63ed5a7a
[NTOS:OB] Clarify and fix the usage of the Obp*DirectoryLock*() and ObpReleaseLookupContextObject() functions.
- Disentangle the usage of ObpAcquireDirectoryLockExclusive() when it's
  used only for accessing a directory structure, or as part of a lookup
  operation.

  The Obp*DirectoryLock*() -- both shared and exclusive -- functions
  are only for locking an OB directory, for reading or writing its
  structure members.

  When performing lookup operations (insertions/deletions of entries
  within a directory), use a ObpAcquireLookupContextLock() function that
  exclusively locks the directory and saves extra lock state, that can
  be used by ObpReleaseLookupContextObject() for cleanup.

- Add documentation for these functions.
2021-09-25 00:47:43 +02:00
George Bișoc 19cdb521d2
[NTOS:OB] Acquire the lock before setting directory's session ID 2021-09-24 19:49:40 +02:00
George Bișoc 0b4763f1b1
[NTOS:SE] Do not set SE_DACL_PRESENT flag that early
The function might assign the flag yet it could possibly fail on creating a DACL and insert an "access allowed" right to the access entry within the DACL. In this case, make sure we actually succeeded on all the tasks and THEN assign the flag that the DACL is truly present.

Also, make sure that the Current buffer size variable gets its new size so that we avoid overidding the memory of the DACL if the security descriptor wants both a DACL and SACL and so that happens that the DACL memory gets overwritten by the SACL.
2021-09-24 19:39:30 +02:00
George Bișoc f341b9080b
[NTOS:SE] Set the SACL to the World security descriptor
Implement the portion chunk of code that is responsible for setting the system access control list (SACL) to the World security descriptor, based from SeWorldSid (World security identifier).
2021-09-24 19:13:16 +02:00
Katayama Hirofumi MZ ca3fa7197d
[IMM32] Use Imm32IsImmMode and Imm32IsCiceroMode macros (#3971)
- Define Imm32IsImmMode, Imm32IsCiceroMode and Imm32Is16BitMode macros in "precomp.h".
- Improve Imm32InquireIme and Imm32CleanupContext functions.
- Add IME_SYSINFO_WINLOGON and IME_SYSINFO_WOW16 macros (from DDK) in psdk/imm.h.
- Modify CtfImeInquireExW and CtfImeSelectEx prototype.
CORE-11700
2021-09-24 22:06:29 +09:00
Victor Perevertkin e372f2b19b
[REACTOS] Remove PowerPC Open Firmware-related code
Was forgotten during the overall PowerPC support removal.
Addendum to 6ef6fabfc5
2021-09-24 04:13:08 +03:00
Serge Gautherie 6e894bc1c7
[IPHLPAPI] GetAdaptersInfo(): Update Wine registry key name (#3556) 2021-09-24 03:49:05 +03:00
Serge Gautherie acbe74497f
[PSDK] wincodec.idl: Add GUIDs which exist on WDK 7.1 (#3628) 2021-09-24 03:24:05 +03:00
George Bișoc 32db51fcff
[NTDLL_APITEST] Implement NtAdjustGroupsToken API tests 2021-09-23 17:38:42 +02:00
George Bișoc 8e6fc7a5f5
[NTOS:SE] Implement token groups adjusting 2021-09-23 17:38:31 +02:00
Katayama Hirofumi MZ 7b622283ee
[IMM32_APITEST] himc: Use ok rather than ok_int (#3970)
Use ok macro rather than ok_int macro. CORE-11700
2021-09-22 19:07:07 +09:00
Mark Jansen 4acf1007df
[FONTEXT] Restore folder icon 2021-09-21 21:42:32 +02:00
Mark Jansen 9276b3f1bf
[SHELL32] CFSFolder: Add fallback for failing shell extension
CORE-17673
2021-09-21 21:42:25 +02:00
Mark Jansen ad83af36dd
[RAPPS] Move the CConfigParser to a new file 2021-09-21 19:00:21 +02:00
George Bișoc 982ee872dd
[NTOS:SE] Privileges adjusting private routine must be paged
SepAdjustPrivileges is a private helper call that must be paged, alongside with its syscall -- NtAdjustPrivilegesToken.
2021-09-21 17:40:53 +02:00
Katayama Hirofumi MZ d6a0299eec
[IMM32_APITEST] Add himc testcase (#3965)
Add himc testcase. CORE-11700
2021-09-21 12:26:43 +09:00
Katayama Hirofumi MZ e0da6437a1
[IMM32] Define ImeDpi_IsUnicode macro and use it (#3964)
- Define ImeDpi_IsUnicode macro in precomp.h.
- Use it.
CORE-11700
2021-09-21 12:20:10 +09:00
Joachim Henze 222acf5a3e [NTUSER] Scrollbar.c, Avoid potential out-of-bounds-accesses in co_IntSetScrollInfo() CORE-17777
This is an addendum to
0.4.15-dev-3174-g dda9c3979e CORE-17769 and
0.4.15-dev-3147-g 3bf7e3ac13 CORE-17754 CORE-17755

We have not seen this happening in real-life yet, but some code-fragments within co_IntSetScrollInfo()
e.g. line 628 if (nBar == SB_CTL) do clearly indicate that nBar can be 2 (SB_CTL).
Some lines below we definitely must not access those 4 static arrays out of bounds then via nBar as access index!

Ftr with a bit of grepping I also found some calls like NtUserSetScrollInfo(Wnd, SB_CTL, &Info, FALSE);
e.g: in win32ss/user/user32/controls/scrollbar.c so I am pretty sure nBar == 2 can happen in practice within co_IntSetScrollInfo().

I question whether any of those reads/writes to those static arrays (or the comparisons) would make any sense on index 2,
so we should aim to eliminate them altogether in the future.
2021-09-20 03:05:05 +02:00
Joachim Henze dda9c3979e [NTUSER] Scrollbar.c, improve co_IntSetScrollInfo() CORE-17769
Fixes CORE-17769 'Rapps Listview manual resize may erroneously not draw the triangles sometimes'
This could happen for both: themed and unthemed.

CORE-17769 was a regression introduced by 0.4.14-dev-1134-g 00adb1a3f9

We don't really like the added state in form of the static variables,
but the patch works good from a pure testing-perspective.

Many Thanks to the patches author: Doug Lyons
2021-09-19 22:35:37 +02:00
Thomas Faber 40ee59d609
[LIBXML2] Update to version 2.9.12. CORE-17766 2021-09-18 21:42:26 -04:00
Hermès Bélusca-Maïto 271556e6f8
[WIN32SS] Disable by default the dumping function. Addendum to 69f90508. 2021-09-19 00:46:56 +02:00
Hermès Bélusca-Maïto 69f905081c
[WIN32SS:NTUSER] Move the keyboard layout debugging code to a separate dump function.
And fix its obvious bugs, e.g. not checking for possible NULL pointers
for the optional keyboard layout sub-tables...
2021-09-19 00:18:04 +02:00
Hermès Bélusca-Maïto e34a799f0c
[BOOTDATA] Fix "DllName" casing. 2021-09-19 00:17:05 +02:00
Hermès Bélusca-Maïto 5f8a10f32b
[BROWSEUI] CAutoComplete::OnAutoCompStart(): Wait on the thread only when there is a handle.
Avoids spamming
(ntoskrnl\ob\obwait.c:441) Failed to reference the handle with status 0xc0000008

CAutoComplete::FinishCompletion(): Remove two useless 'if (m_pThread || !m_hThread)'
tests: No need to check these after each code instruction...
2021-09-19 00:17:05 +02:00
Hermès Bélusca-Maïto ffc4febb0c
[BROWSEUI] Fix early error handling, to be taken only when ParseNow() is run (and fixes "Use of uninitialized variable hr" RTC error).
Addendum to commit d8e47d61.
2021-09-19 00:17:04 +02:00
Hermès Bélusca-Maïto 6072ee9766
[BROWSEUI] Minor formatting. 2021-09-19 00:17:03 +02:00
Katayama Hirofumi MZ 5b522667a6
[IMM32] Define Imm32HeapFree macro and use it (#3962)
- Define Imm32HeapFree macro in precomp.h and use it.
- Omit some NULL checks (for HeapFree).
CORE-11700
2021-09-19 01:52:05 +09:00
Katayama Hirofumi MZ df6fff78bb
[IMM32] Rewrite ImmAssociateContextEx (#3961)
- Rewrite ImmAssociateContextEx function.
- Modify NtUserAssociateInputContext prototype.
CORE-11700
2021-09-16 19:29:49 +09:00
Katayama Hirofumi MZ afb6c8a129
[IMM32] Rewrite ImmEscapeA/W (#3959)
- Rewrite ImmEscapeA and ImmEscapeW functions.
- Delete useless legacy code.
CORE-11700
2021-09-16 19:27:43 +09:00
Victor Perevertkin f17c2c0db9
[GITHUB] Use 64bit LLVM for both 32bit and 64bit clang-cl builds 2021-09-14 17:58:23 +03:00
Victor Perevertkin 62d1a2c884
[CMAKE] Fixes for clang-cl build
- User lib.exe instead of llvm-lib due to incompatibility
- Avoid wrapping resource compiler with cmcldeps
- Fix several conditional flags
2021-09-14 17:58:23 +03:00
Victor Perevertkin d74eb54b06
[WIN32SS:GDI] Add a sanity assert 2021-09-14 17:58:23 +03:00
Victor Perevertkin 655ddfa8e2
[KERNEL32] FindFirstFileExW: fix syscall buffer alignment
NtQueryDirectoryFile required the FileInformation buffer to be
ULONG-aligned. Declare the aligned buffer explicitly.
2021-09-14 17:58:22 +03:00
Victor Perevertkin 4e389a992d
[CMAKE] Fix invalid usage of list()
list() functions expects numerical indices for modification operations
and silently converts everything else to a number (old behaviour).

CMake 3.21 now checks this and throws a warning
2021-09-14 17:58:22 +03:00
Victor Perevertkin 8e1fa03456
[CMAKE] Replace custom scripts in compilerflags with standard ones
- add_target_link_flags changed to target_link_options
- add_target_property changed to set_property(... APPEND ...)
2021-09-14 17:56:22 +03:00
Katayama Hirofumi MZ 233c74e25a [IMM32] Undefine IMS_... constants
CORE-11700
2021-09-14 09:47:51 +09:00
Katayama Hirofumi MZ 791fbde496 [SDK][INCLUDE] Remove period (.) from comment 'Non SDK DCE types.' in undocuser.h 2021-09-13 13:56:30 +09:00
Katayama Hirofumi MZ dc9c5826be
[IMM32] Rewrite ImmConfigureIMEA/W (#3956)
- Rewrite ImmConfigureIMEA and ImmConfigureIMEW functions.
- Add IMS_... macros for WM_IME_SYSTEM message, into <undocuser.h>.
- Delete useless strdupAtoW and strdupWtoA inline functions.
CORE-11700
2021-09-13 12:47:15 +09:00
Hermès Bélusca-Maïto 158a479a4e
[TRANSLATION] Replace '\r\n' by '\n' from displayed strings, when possible. 2021-09-13 03:52:23 +02:00
Hermès Bélusca-Maïto 9393fc320e
[FORMATTING] Remove trailing whitespace. Addendum to 34593d93.
Excluded: 3rd-party code (incl. wine) and most of the win32ss.
2021-09-13 03:52:22 +02:00
Hermès Bélusca-Maïto bbabe2489e
[FORMATTING][TRANSLATION] Remove trailing whitespace. Addendum to 34593d93.
Excluded: 3rd-party code (incl. wine).
2021-09-13 03:52:21 +02:00
Hermès Bélusca-Maïto 290e5c9933
[TRANSLATION] Fix instances of strings with trailing whitespace before newlines. 2021-09-13 03:52:20 +02:00
Hermès Bélusca-Maïto 9b1edceae1
[REACTOS] Fix some instances of DPRINTs with trailing whitespace before newlines. 2021-09-13 03:52:19 +02:00
Hermès Bélusca-Maïto d6c8fe7c37
[REGEDIT] Fix "tr-TR.rc:68: unrecognized escape sequence" error. 2021-09-13 03:52:18 +02:00
Eric Kohl d389a5d10c [KBDHID] Fix returned Status for IOCTL_KEYBOARD_QUERY_*
Addendum to 6249d5ede31ee6ba81f8b0cde94f5c8f875fd9a.
2021-09-12 23:36:18 +02:00
Doug Lyons 3bf7e3ac13
[NTUSER] Improve Themed Scrollbars by Minimizing Updates (#3953)
This fixes regressions CORE-17754 and CORE-17755 which regressed by
0.4.15-dev-3086-g 236649c626
2021-09-12 22:54:46 +02:00
Hermès Bélusca-Maïto 6e9ff14e26
[NTOS:KD64,KE] IRQL is automatically adjusted during calls to KdEnterDebugger() and KdExitDebugger(). (#3942)
Addendum to 608032bd and 835c3023.

The IRQL is actually raised by KeFreezeExecution() and lowered by
KeThawExecution(), always to HIGH_IRQL on MP systems, or if necessary
on UP. These functions are called respectively by KdEnterDebugger()
and KdExitDebugger().
2021-09-12 18:20:32 +02:00
Hermès Bélusca-Maïto 05590079cc
[NTOS:KD64] First unlock the KD port then lower the IRQL, instead of doing the reverse. (#3942)
This properly reverses the operation of first raising the IRQL before
locking the KD port.
2021-09-12 18:19:59 +02:00