Commit graph

72359 commits

Author SHA1 Message Date
Serge Gautherie 3766d836c7 [DBGHELP] Fix 3 MSVC warnings about MiniDumpWriteDump() (#643)
- Fixes MSVC errors: "...\dll\win32\dbghelp\minidump.c(857) : error C4028: formal parameter 5 different from declaration", for parameters 5, 6 and 7.
- Fix spec file too.
CORE-7538
2018-06-28 17:44:49 +02:00
Hermès Bélusca-Maïto 4d494caf61
[NTOS:SE] Overhaul the token management code.
- Overhaul SepCreateToken() and SepDuplicateToken() so that they
  implement the "variable information area" of the token, where
  immutable lists of user & groups and privileges reside, and the
  "dynamic information area" (allocated separately in paged pool),
  where mutable data such as the token's default DACL is stored.
  Perform the necessary adaptations in SepDeleteToken() and in
  NtSetInformationToken().

- Actually dereference the token's logon session, when needed, in the
  'TokenSessionReference' case in NtSetInformationToken().

- Overhaul SepFindPrimaryGroupAndDefaultOwner() so that it returns
  the indices of candidate primary group and default owner within the
  token's user & groups array. This allows for fixing the 'TokenOwner'
  and 'TokenPrimaryGroup' cases of NtSetInformationToken(), since the
  owner or primary group being set *MUST* already exist in the token's
  user & groups array (as a by-product, memory corruptions that existed
  before due to the broken way of setting these properties disappear too).

- Lock tokens every time operations are performed on them (NOTE: we
  still use a global token lock!).

- Touch the ModifiedId LUID member of tokens everytime a write operation
  (property change, etc...) is made on them.

- Fix some group attributes in the SYSTEM process token, SepCreateSystemProcessToken().

- Make the SeCreateTokenPrivilege mandatory when calling NtCreateToken().

- Update the token pool tags.

- Explicitly use the Ex*ResourceLite() versions of the locking functions
  in the token locking macros.
2018-06-27 23:40:18 +02:00
Hermès Bélusca-Maïto a3376cd50d
[NDK] Update NtCreateToken() prototype annotations. 2018-06-27 23:40:17 +02:00
Hermès Bélusca-Maïto a9eda8f492
[LSASRV] Enable SE_CREATE_TOKEN_PRIVILEGE in LSASS since one of our purposes is to create access tokens -- NtCreateToken() requires this privilege. 2018-06-27 23:40:16 +02:00
Hermès Bélusca-Maïto c901c3d37f
[LSASRV] Move the LSA_RPC_SERVER_ACTIVE event creation to a better place, in LsarStartRpcServer(). 2018-06-27 23:40:16 +02:00
Hermès Bélusca-Maïto 0208a4d196
[LSASRV] Add the SE_GROUP_OWNER attributes to the token owner. 2018-06-27 23:40:16 +02:00
Hermès Bélusca-Maïto 9594022ce1
[NTOS:SE] Add a documentation note about SeTokenIsWriteRestricted() and SeTokenIsAdmin(), and update the one for NtDuplicateToken().
[XDK] Move TOKEN_HAS_ADMIN_GROUP where appropriate.
2018-06-27 23:40:15 +02:00
Hermès Bélusca-Maïto f61694cfbb
[NTOS:SE] Minor style changes.
- Use TRUE/FALSE instead of 1/0 for booleans.
- Use NULL instead of 0 for null pointers.
- Print 0x prefix for hex values in DPRINTs.
- Use new annotations for SepCreateToken() and SepDuplicateToken().
2018-06-27 23:40:15 +02:00
Hermès Bélusca-Maïto 986bf4c407
[NTOS:SE] In SepCreateClientSecurity(), fix the impersonation level value passed to the SeCopyClientToken() call.
Caught while debugging, in the case the ImpersonationLevel value was
uninitialized, due to the fact it was left untouched on purpose by
PsReferenceEffectiveToken().
2018-06-27 23:40:14 +02:00
Hermès Bélusca-Maïto 0ef734dba4
[FORMATTING] No code change; typo fix. 2018-06-27 23:40:14 +02:00
Hermès Bélusca-Maïto 5b2dda9134
[NTOS:SE] Finish SepCreateImpersonationTokenDacl() implementation.
- Re-enable a commented-out block;
- Return the allocated Dacl.
- Use the correct pool tag when freeing the allocated Dacl.
2018-06-27 23:40:14 +02:00
Hermès Bélusca-Maïto 813879f02f
[NTOS:PS] Adjust the PsReferenceEffectiveToken() prototype in the header; add a comment about the fact that the ImpersonationLevel parameter can be left untouched on purpose in one special case. 2018-06-27 23:40:13 +02:00
Hermès Bélusca-Maïto 3cdb717a7b
[PSDK] ntsecpkg.h: fix minor typos (make some structure names MS-PSDK-compatible), and add LSA_TOKEN_INFORMATION_V2. 2018-06-27 23:40:13 +02:00
Hermès Bélusca-Maïto cf56db2eb3
[SAMSRV] In SamrGetAliasMembership(), perform STATUS_OBJECT_NAME_NOT_FOUND status fixup in the assignment loop as done in the allocation loop.
This avoids this function returning failure while everything actually succeeded.
2018-06-27 23:40:13 +02:00
Hermès Bélusca-Maïto 62384951c8
[LSASRV] If TokenInfo1->Privileges is NULL, which can be expected, pass a valid pointer to a valid but empty privilege structure to NtCreateToken(), as it always want a non-NULL pointer. 2018-06-27 23:40:12 +02:00
Hermès Bélusca-Maïto d4b4da5385
[ADVAPI32] Additions for CreateProcessAsUserA/W().
- Use a common helper function used by both the ANSI and UNICODE functions
  so that the large code block that deals with setting the new process token
  becomes automatically common to both these functions, while the ANSI vs.
  UNICODE conversions are handled directly via the CreateProcessA/W() calls.

- Duplicate the token and acquire the process primary token assignment
  privilege before calling NtSetInformationProcess().
2018-06-27 23:40:07 +02:00
Katayama Hirofumi MZ 3189ec9428 [SHELL32] Add missing desktop.ini files (#640)
Add the "desktop.ini" files to the special folders to realize their custom icons.
CORE-10045
2018-06-27 23:11:31 +02:00
Bișoc George 089ff1511d [TRANSLATION][AT] Implement the Italian resource file (#641) 2018-06-27 23:09:56 +02:00
Katayama Hirofumi MZ c74bd5d662 [SHELL32] Enable custom CD/DVD icons (#639)
Properly show the custom icon specified in "autorun.inf" file in CDs/DVDs.
CORE-14766
2018-06-27 23:06:54 +02:00
David Knapp 893a3c9d03 [AUTOCHK] Improve autochk messages 2018-06-26 09:16:34 +02:00
Bișoc George 23881cfcf3 [NEWDEV] Fix a truncated text 2018-06-25 13:55:19 +02:00
Russell Johnson 6a683dc6d8 [SHELL32] Fixed TRASH_CanTrashFile() sending the wrong path string to GetVolumeInformationW() (#635)
Function TRASH_CanTrashFile() would always fail because GetVolumeInformationW() requires only the base root path. The path (stored in buffer wszRootPathName) was not being stripped correctly.

CORE-12340
2018-06-24 20:29:57 +02:00
Katayama Hirofumi MZ 1b1e1baa6e [SHELL32] Implement Folder Options File Types 'Change' button (#629)
CORE-12906
2018-06-24 20:04:25 +02:00
Katayama Hirofumi MZ 6e6c46a832 [BROWSEUI] Re-enable the "Folder Options" menu item (#630)
It was originally disabled in r71192 (8b77c254).
CORE-11141
2018-06-24 20:02:36 +02:00
Katayama Hirofumi MZ 1829f5fed7 [SHELL32] Fix desktop.ini folder icon again (retrial of #595) (#632)
#595 failed at non-Desktop folder. We should use ILGetDisplayNameExW instead of SHGetPathFromLDList to get path from psf and pidl.
CORE-9196
2018-06-24 19:59:03 +02:00
Bișoc George d5440316fa [TRANSLATION][WHOAMI] Add Italian resource (#626)
Note: Supersedes PR #627
2018-06-24 19:49:47 +02:00
Katayama Hirofumi MZ cc8b2717ae [SHELL32] Implement OpenAs_RunDLLA/W (#628)
CORE-14751
2018-06-24 19:46:06 +02:00
Abdulganiev Rafael 824a52aa99 [TRANSLATION][SHELL32] Update Russian translation (#633) 2018-06-24 19:42:34 +02:00
David Quintana 23d0ec4c4a
Add a document on the rules we should follow while managing/reviewing PRs,
and link to it from CONTRIBUTING.md and CODE_OF_CONDUCT.md
2018-06-24 17:00:00 +02:00
Timo Kreuzer 994eb598b3 [CMAKE] Add support for VS 15.7.1 / CL 19.14.x 2018-06-24 11:42:43 +02:00
Katayama Hirofumi MZ a33908b60f [SHELL32] Improve French Folder Options 2018-06-23 10:51:48 +02:00
Getequ b9415740a1 [REGEDIT] Fix importing very big *.reg files (HEX values commonly) (#618)
This bug was found when I tried to import *.reg with huge HEX value (about 500 and much more lines of hex text).
2018-06-22 20:15:12 +02:00
Katayama Hirofumi MZ 6f82659da6 [SHLWAPI][APITESTS] Add test for PathUnExpandEnvStringsForUser (#602)
ROSTESTS-308
2018-06-22 16:44:58 +02:00
Katayama Hirofumi MZ cb69443362 [SHELL32] Implement the 'General' tab of the "Folder Options" dialog (#604)
CORE-14678
2018-06-22 16:40:06 +02:00
Hermès Bélusca-Maïto 12de9654b0
[EXPLORER] Simplify the current-shell-is-explorer check when trying to start the auto-start programs, by using the existing code. 2018-06-22 16:34:16 +02:00
Katayama Hirofumi MZ 0a8cd95cad [USERINIT][EXPLORER] Fix auto startup of Start Menu (#594)
- Remove code for Start-Menu auto-startup items from userinit and put it where it belongs: in explorer.

CORE-10839
2018-06-22 16:02:25 +02:00
Katayama Hirofumi MZ f8926dccbd [SHELL32] Fix desktop.ini folder icon (#595)
The folder icon location specified in desktop.ini of a folder should accept its relative path.
CORE-9196
2018-06-22 15:37:03 +02:00
Katayama Hirofumi MZ c84f398306 [EXPLORER] 'Run' (Win+R) should set the proper current directory (#593) 2018-06-21 18:18:57 +02:00
Arnav Bhatt c771a6d339 [WELCOME] Add Hindi translation (#620) 2018-06-21 14:07:03 +02:00
Serge Gautherie 4f1a29e1b1 [LOG2LINES] translate_line(): Let 'offset' be an 'unsigned int', instead of a 'size_t' (#624)
Avoids half-uninitialized value on, i.e., Linux 64-bit (with ReactOS 32-bit).
CORE-14737
2018-06-21 14:05:35 +02:00
Andrea Crescentini d303b70b7a [TRANSLATION] Improving italian translation (#623)
- Improved Italian translation for USETUP, WELCOME, REACTOS, EXPLORER.
- Completed translation in SYSSETUP.
- Correct some characters encoding and text alignment in USETUP.
2018-06-21 14:03:35 +02:00
Serge Gautherie 15c29d0798 [NETAPI32_APITEST] Fix a NULL dereference of pInfo
With DPH enabled,
{{
Unhandled exception
ExceptionCode:    c0000005
Faulting Address:        0
...
modules/rostests/apitests/netapi32/DsRoleGetPrimaryDomainInformation.c:23 (func_DsRoleGetPrimaryDomainInformation)
...
}}
2018-06-17 12:16:08 +02:00
Bișoc George b8036ea176 [USETUP] Some changes to address the recent review 2018-06-16 22:28:53 +02:00
Bișoc George 682ac75ecd [USETUP] Italian translation update 2018-06-16 22:28:53 +02:00
Thomas Faber e4f067068c
Set minimum required version to 3.2.1 and set appropriate policies.
#556
2018-06-14 22:34:09 +02:00
Katayama Hirofumi MZ 12713b7709
[APITESTS] Add ShellStateTest 2018-06-14 20:07:52 +02:00
Katayama Hirofumi MZ d5f5161804
[SHELL32][APITESTS] Add tests of OpenAs_RunDLL 2018-06-14 19:59:11 +02:00
Serge Gautherie e5904542d6 [DELAYIMP] Fix/Merge definitions of __pfnDliNotifyHook2 and __pfnDliFailureHook2 2018-06-13 23:28:15 +02:00
Serge Gautherie 9415f94c3a [DELAYIMP] Fix 2 Clang-Cl warnings about __pfnDliNotifyHook2Default and __pfnDliFailureHook2Default
"warning: 'extern' variable has an initializer [-Wextern-initializer]"

CORE-14306
2018-06-13 23:28:15 +02:00
Denis Malikov 7916d0ae3e [SHELL32] Copy-paste files/folders into current place.
Files are copied with trying to find new path by adding (%d) suffix before asking for overwrite existing item

CORE-13788
2018-06-13 20:13:44 +02:00