Commit graph

2193 commits

Author SHA1 Message Date
George Bișoc
11d9c88c35
[NTOS:SE] Add token debug code
Implement initial token debug code. For now debug information that is being tracked are: process image file name, process and thread client IDs and token creation method. More specific debug code can be added later only if needed.

As for the token creation method, this follows the same principle as on Windows where the creation method is defined by a value denoting the first letter of the said method of creation. That is, 0xC is for token creation, 0xD is for token duplication and 0xF is for token filtering. The debug field names are taken from Windows PDB symbols for WinDBG debug extension support purposes. The names must not be changed!
2022-04-19 11:04:59 +02:00
Hermès Bélusca-Maïto
ea3e4bb4cb
[CMAKE:MSVC] Refine ASM16 ml.exe path selection. Addendum to commit 60733590. 2022-04-17 19:31:48 +02:00
Hermès Bélusca-Maïto
8ed7d4b341
[SDK:CMLIB][FREELDR:NTLDR] Revert commit 168fea0ee and provide a better fix. Addendum to 93d8a1b7b.
Correct fix was to fix the HCELL_INDEX <-> HKEY conversions, much like
is being done with UlongToHandle / HandleToUlong.

The on-disk/in-memory hive file structures are platform-independent:
their layout must not depend on whether code is compiled in 32 or 64
bits.
2022-04-17 16:46:47 +02:00
Stanislav Motylkov
168fea0eee
[CMLIB] Fix 64-bit build. Addendum to 93d8a1b7b.
Thanks to Hervé Poussineau for help.
2022-04-17 16:16:41 +03:00
Hermès Bélusca-Maïto
6a03fb7099
[SDK:CMLIB] Use Hive->Allocate / Hive->Free where possible. 2022-04-16 18:33:24 +02:00
Dmitry Borisov
96b40c9566 [DDK][PSDK] Add missing NDIS definitions for wake-up support
CORE-15872
2022-04-16 11:54:24 +03:00
Serge Gautherie
0c5fc49f82 [CMAKE] msvc.cmake: Enable C4090 warning as error
C4090: different 'modifier' qualifiers

Follow-up to 42d2d5e (0.4.14-dev-847) and 41bc57d (0.4.15-dev-2952),
which silenced affected modules.
CORE-7538
2022-04-12 02:08:45 +03:00
Mark Jansen
fd00338b59
[WINESYNC] Fail gracefully when unable to delete a file 2022-04-09 01:26:30 +02:00
Mark Jansen
62d7486ef6
[PSDK] Add more argument names 2022-04-09 01:22:11 +02:00
Katayama Hirofumi MZ
8de7439887
[IMM32] Fix & Rename: s/Imm32LockIMCEx/Imm32InternalLockIMC/ (#4436)
- Fix & Rename: s/Imm32InitContext/Imm32CreateInputContext/ (Win: IMM32!CreateInputContext).
- Fix & Rename: s/Imm32LockIMCEx/Imm32InternalLockIMC/ (Win: IMM32!InternalImmLockIMC).
- Add CtfImmTIMCreateInputContext stub.
CORE-11700
2022-04-08 22:23:30 +09:00
Justin Miller
2204695f0a
[SDK] Fix some arm64 stuff that was discovered during testing
Addendum to 6dfc13e4. CORE-17518
2022-04-07 19:50:43 +03:00
Justin Miller
3cee1f718b
[XDK] Start define of xdk ke.h for arm64
CORE-17518
2022-04-07 19:50:42 +03:00
Katayama Hirofumi MZ
4342b84c9a
[IMM32] Add ctf.c for Cicero (#4430)
Preparing of Cicero (modern input method) support.

- Add ctf.c and add some CTF functions.
- Modify the IMM table.
- Modify imm32.spec.
- Rename: s/Imm32FreeImeStates/Imm32DestroyImeModeSaver/.
- Improve Imm32DestroyInputContext.

CORE-11700
2022-04-07 22:55:33 +09:00
Hermès Bélusca-Maïto
24cb57fdea
[BOOT][SDK:RTL] Compile a reduced RTL library for FreeLdr / NT bootloader...
... as it should have always been done (and must be done for NTDLL
and NTOS kernel as well). This allows using the RTL with the correct
definitions and the reduced functionality available at boot-time.

+ Make the RTL main header compatible.

In addition, this will permit re-using existing code that already
uses the RTL (mostly string conversions).

See commits 427c90af3 (r36761) and b46e8cc18 (r36980) for some
background.
2022-04-07 03:19:09 +02:00
Hermès Bélusca-Maïto
2ac49f0824
[SDK:RTL] Minimal formatting for NLS functions + Remove inadequate assert in RtlUpcaseUnicodeToOemN(). 2022-04-07 03:19:06 +02:00
Hermès Bélusca-Maïto
7416328523
[SDK:NTOS_VISTA] Fix GCC AMD64 build. Addendum to commit 6f559e9c5. (#4426)
Instead of adding the rtl_vista library to the target, manually add
the related source files to compilation. That's not the best, but
this should definitively fix the linking problem.
2022-04-07 01:52:33 +02:00
Hermès Bélusca-Maïto
6f559e9c54
[RTL][NTOS_VISTA] Move the RTL UTF8 functions to the main RTL library, to be linked in the rtl_vista target instead.
The reason is that both RtlUTF8ToUnicodeN() and RtlUnicodeToUTF8N() are
exported in both kernel and user-mode (ntdll) in Windows 7+.

Conversion from and to UTF8 are fundamental enough that they indeed
deserve to be in a separate file.
2022-04-03 20:41:11 +02:00
Hermès Bélusca-Maïto
3d3a5aa02e
[SDK:REACTOS][SVCHOST] Add/complete all missing definitions in the SVCHOST global header. (#4295)
Following commit 24a727a23, give a lift to the SVCHOST global header
and add & complete all the missing definitions.

- Based on https://www.geoffchappell.com/studies/windows/win32/services/svchost/process/globaldata.htm
  from public debug symbols (e.g. svchost, mswsock, w32time, wscsvc...),
  adjust some of our symbols' names.

- Make the header C++-compatible.

- Even if the start/stop RPC server functions return an error code whose
  underlying storage type is a 32-bit long, they don't return an RPC
  status error code, but an NT status. Thus, use the adequate type
  instead.

- The PSVCHOST_STOP_CALLBACK is nothing but a WAITORTIMERCALLBACK function.

- Take the opportunity to fix some of these functions' SAL annotations.

- Remark: "LP" for pointers is old-fashioned Windows, avoid this in NT code.

[MSWSOCK][SECLOGON] Do the minor adjustments. Remove unnecessary function casts.
2022-04-01 04:55:31 +02:00
Joachim Henze
493bb8de46
[CMAKE] msvc.cmake: Remove redundant '/Gy' (#4424)
* [CMAKE] msvc.cmake: Remove redundant '/Gy'

Function-level-Linking '/Gy' is already enabled unconditionally
at line 26. So no need to enable it here another time.
Makes the differences between the multiple OPTIMIZE-levels more obvious.

* [CMAKE] msvc.cmake: Fix typo in comment
2022-03-31 21:18:26 +02:00
Hermès Bélusca-Maïto
d873865971
[SDK:CMLIB] Const-ify the unicode strings that are only used as input and not modified. 2022-03-27 19:38:54 +02:00
Hermès Bélusca-Maïto
8ccd435eb0
[SDK:CMLIB] HvGetCell is a macro calling the hive's GetCellRoutine callback.
In principle there should be different get-cell routines, depending
on the type of the hive (given by the OperationType parameter of
HvInitialize): for flat hives, memory-mapped hives, etc.
For now in ReactOS we only support a restricted subset of these,
therefore we are still happy with a single get-cell callback...
This may change in the future.
2022-03-27 18:37:16 +02:00
Hermès Bélusca-Maïto
a4cad7be6b
[SDK:CMLIB][MKHIVE][BOOT:ENVIRON][NTOS:CONFIG] Add missing HvGetCell casts. Replace some ASSERT(FALSE). 2022-03-27 18:37:16 +02:00
Hermès Bélusca-Maïto
e51c305f51
[SDK:RTL] Consistently use the Allocate/FreeStringMemory helpers when allocating/freeing string buffers. 2022-03-25 18:54:21 +01:00
Hermès Bélusca-Maïto
ab827f5225
[SDK:RTL] Don't copy-paste rtl.h into rtl_vista.h; just include it instead. 2022-03-25 18:54:20 +01:00
Hermès Bélusca-Maïto
fa404fb2b4
[SDK:RTL] Place source files in alphabetical order in CMakeLists.txt 2022-03-25 18:54:19 +01:00
Hermès Bélusca-Maïto
9d3c3a757a
[SDK:REACTOS][CMLIB][BOOT] Get rid of the FreeLdr-specific __FREELDR_H define, and use the standard NT _BLDR_ instead.
This standard _BLDR_ define is already defined for both FreeLdr and
boot/environ UEFI bootloader lib, so no actual behavioural changes
should occur.
2022-03-25 18:54:18 +01:00
Mark Jansen
80c56a5f6c
[WINESYNC]: msi is now in sync with wine-staging wine-7.3 2022-03-20 19:28:46 +01:00
winesync
3b5586f635
[WINESYNC] msi: Create the custom action server as an elevated process.
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=51143
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>

wine-staging patch by Zebediah Figura <z.figura12@gmail.com>
2022-03-20 19:28:45 +01:00
winesync
48d97683b3
[WINESYNC] msi: Do not sign extend after multiplying.
Signed-off-by: Mark Jansen <learn0more+wine@gmail.com>

wine-staging patch by Mark Jansen <learn0more+wine@gmail.com>
2022-03-20 19:28:45 +01:00
Mark Jansen
218a1ae241
[WINESYNC] include: Introduce winetest_push_context() and winetest_pop_context().
include: Introduce winetest_push_context() and winetest_pop_context().

Based on vkd3d's vkd3d_test_set_context(), but adding support for a stack of
context prefixes, to more easily accomodate tests with nested loops.

af39a1b0bce0622ed8df0e64f9c794380eb30c45

Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2022-03-20 19:28:43 +01:00
winesync
0a1c22503d
[WINESYNC] include: Fix size of MsiEnumClientsEx[AW]'s array argument (GCC).
Signed-off-by: Alex Henrie <alexhenrie24@gmail.com>
Signed-off-by: Hans Leidekker <hans@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 14e205ff502ec7275d2c4cf59b1446ac0a294416 by Alex Henrie <alexhenrie24@gmail.com>
2022-03-20 19:28:39 +01:00
winesync
c595505376
[WINESYNC] msi/tests: Always explicitly test REG_MULTI_SZ strings.
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Hans Leidekker <hans@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 80426fdc76597768b787a38644f1c53110b26f05 by Zebediah Figura <z.figura12@gmail.com>
2022-03-20 19:28:38 +01:00
winesync
7cface09ce
[WINESYNC] winecrt0: Add a default implementation DllRegisterServer()/DllUnregisterServer().
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 5d82baf9747b7b133cad3be77c0cc9e24cc09582 by Alexandre Julliard <julliard@winehq.org>
2022-03-20 19:28:38 +01:00
winesync
7ceaee6d19
[WINESYNC] msi: Use wide character string literals in action.c.
Signed-off-by: Hans Leidekker <hans@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 8e13b0b99c823bc22c7eef8b8dac04de283ca462 by Hans Leidekker <hans@codeweavers.com>
2022-03-20 19:28:34 +01:00
winesync
ce486a09ef
[WINESYNC] include: Add MSITRANSFORM_ERROR enum definition.
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Hans Leidekker <hans@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 57b870007dddd86c6772ce1707148ec7ad8bd8db by Piotr Caban <piotr@codeweavers.com>
2022-03-20 19:28:28 +01:00
Mark Jansen
427d8af7f1
[SDK/WINE] Add support for subtest
033196641b
2022-03-20 19:28:24 +01:00
Mark Jansen
eefbf83462
[SDK] Include stdio in wine/debug.h
Wine also has this, and they rely on it in some files
2022-03-20 19:28:22 +01:00
Mark Jansen
f1132155d9
[SDK][CRT] Add _CRT_NON_CONFORMING_SWPRINTFS support
This allows us to easier port wine changes, where swprintf with a size is used a lot
2022-03-20 19:28:22 +01:00
winesync
b3eae05b11
[WINESYNC] msi: Add MsiSourceListForceResolution{A,W} stub.
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=46881
Signed-off-by: Louis Lenders <xerox.xerox2000x@gmail.com>
Signed-off-by: Hans Leidekker <hans@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>

wine commit id 2e95d2247d8fb83d040bdfce388ed4e96172427c by Louis Lenders <xerox.xerox2000x@gmail.com>
2022-03-20 19:28:18 +01:00
Eric Kohl
b0a73746cd [UMPNPMGR][SETUPAPI] Fix notification handles in PNP_RegisterNotification and PNP_UnregisterNotification
- Notification handles must be context handles
- Register and unregister notification targets
2022-03-20 14:59:30 +01:00
Thomas Faber
be33631629
[COMSUPP] Relicense as BSD. 2022-03-15 22:54:17 -04:00
Katayama Hirofumi MZ
dd5a634611
[ATL] Add atlsync.h (#4382)
- Add atlsync.h and implement CCriticalSection, CEvent, CMutex and CSemaphore classes.
CORE-13950
2022-03-07 11:02:42 +09:00
Eric Kohl
f4982e547d [ADVAPI32][SECLOGON] Start the implementation of CreateProcessWithLogonW 2022-02-21 16:38:29 +01:00
Thomas Faber
b72efb6ca8
[CRT] Fix some inconsistent annotations in CRT headers.
This fixes about 5000 VS analysis warnings.
2022-02-17 22:01:37 -05:00
Bryan Kirk
0944f808f8
[DDK] Hack the IDmaChannel::PhysicalAddress ABI 2022-02-16 01:31:28 +03:00
Bryan Kirk
3d9ef5c7e7
[PSDK] Add GUIDs used by AC97 sample driver 2022-02-16 01:31:28 +03:00
Bryan Kirk
07baa95a01
[DDK] Fix and add portcls definitions used by AC97 driver sample 2022-02-16 01:31:27 +03:00
Hermès Bélusca-Maïto
f7e8214b55
[NTOS:INBV] Code refactoring: Move all the boot animation-specific code out of inbv.c and into the new bootanim.c file.
- inbv.c now only contains the Inbv-specific API and nothing else.

- It will make easier for people to write their own boot themes & animations,
  by just copying/adapting the bootanim.c file (and the resources).

- Add SAL annotations.

- All INBV progress bar functions (except for InbvIndicateProgress())
  should not be INIT-only functions, since they can be (not yet in ROS)
  used at later times -- namely, for feedback during hibernation.
2022-02-13 21:29:14 +01:00
Eric Kohl
3f67212812 [PSDK] Add missing flags for CreateProcessWithLogon 2022-02-13 15:41:49 +01:00
Katayama Hirofumi MZ
5d5cc57869
[NTUSER] Implement NtUserSetImeHotKey (#4350)
- Modify NtUserGetImeHotKey and NtUserSetImeHotKey prototypes.
- Define enum SETIMEHOTKEY_ACTION in <undocuser.h>.
- Define IMEHOTKEY structure in ime.c.
- Add IntGetImeHotKeyLangId, IntAddImeHotKey, IntGetImeHotKeyById, IntGetImeHotKeyByKeyAndLang, IntDeleteImeHotKey, IntFreeImeHotKeys, and IntSetImeHotKey helper functions.
- Implement NtUserGetImeHotKey and NtUserSetImeHotKey functions.
- Cleanup the IME hotkeys at process exit.
CORE-11700
2022-02-09 11:27:44 +09:00