Pierre Schweitzer
e12abf63c5
[NTOSKRNL] Handle symlink parsing when it's bound to a specific object
2019-08-19 10:45:50 +02:00
Pierre Schweitzer
4fd223729b
[NTOSKRNL] When looping again in ObpLookupEntryDirectory, properly init root entry
...
This fixes looking in global directory for DOS drives that are globally mounted
(such as C: drive)
CORE-16114
2019-06-30 23:07:54 +02:00
Pierre Schweitzer
f13b6e025f
[NTOSKRNL] Implement support for device maps in ObpLookupObjectName
...
This allows getting rid of the ?? hack in the kernel but this doesn't
allow enabling LUID device maps as ReactOS can no longer open a
session with them enabled. So, we must remain with device maps at
root
CORE-16114
2019-06-30 23:07:54 +02:00
Bișoc George
42ce8519b6
[FASTFAT][FLTMGR][NTOS] Do not explicitly call ObfDereferenceObject() ( #1636 )
...
"Most code should not directly call the platform-specific ObfDereferenceObject() function but use the ObDereferenceObject() macro instead."
CORE-16081
2019-06-22 16:20:58 +02:00
Pierre Schweitzer
f6eb13a969
[NTOSKRNL] Rework ObpDeleteSymbolicLinkName and ObpCreateSymbolicLinkName
...
So that they handle LUID mappings and process device maps.
Get rid of the ObpParseSymbolicLinkToIoDeviceObject helper and introduce a
new helper ObpProcessDosDeviceSymbolicLink that will do the same things
but also handle name creation/deletion as well as device map handling.
All this is based on previous code (hence the same comments :-)).
What's left to do now is to add support for device maps in ObpLookupObjectName
2019-06-11 21:21:52 +02:00
Pierre Schweitzer
33604e0147
[NTOSKRNL] Fix ObpLUIDDeviceMapsEnabled initialization
2019-06-10 21:17:21 +02:00
Pierre Schweitzer
fd4752450f
[NTOSKRNL] Add support for global DOS directory in ObpLookupEntryDirectory
...
If any exists, we'll loop over in that directory, trying to find the object
2019-06-02 21:46:35 +02:00
Pierre Schweitzer
de17b36037
[NTOSKRNL] Implement ObSetDirectoryDeviceMap
2019-06-01 21:22:30 +02:00
Pierre Schweitzer
7c618faa32
[NTOSKRNL] Implement SeGetLogonIdDeviceMap
2019-06-01 21:09:20 +02:00
Pierre Schweitzer
4bf7d54910
[NTOSKRNL] Implement ObpSetCurrentProcessDeviceMap
2019-06-01 18:58:36 +02:00
Pierre Schweitzer
57c6086806
[NTOSKRNL] Implement ObpReferenceDeviceMap()
2019-06-01 18:43:38 +02:00
Pierre Schweitzer
46b90ccb96
[NTOSKRNL] Add support for LUID mappings in ObQueryDeviceMapInformation
2019-06-01 17:40:18 +02:00
Pierre Schweitzer
1074a9aaff
[NTOSKRNL] Implement support for PROCESS_DEVICEMAP_INFORMATION_EX in NtQueryInformationProcess
2019-06-01 15:18:52 +02:00
Pierre Schweitzer
b16a07fa69
[NTOSKRNL] Implement ObIsLUIDDeviceMapsEnabled and call it in NtQueryInformationProcess
2019-06-01 14:56:28 +02:00
Pierre Schweitzer
7898b2eaa3
[NTOSKRNL] Disable LUID mapping until it's properly implemented
2019-06-01 14:40:54 +02:00
Pierre Schweitzer
848f7bb687
[NTOSKRNL] On device map freeing, make directory object temporary again
2019-06-01 13:59:13 +02:00
Pierre Schweitzer
221ed88141
[NTOSKRNL] De-duplicate code between Ob(f)DereferenceDeviceMap functions
2019-06-01 13:54:34 +02:00
Pierre Schweitzer
1b42731dca
[NTOSKRNL] Add a few ASSERTs to ObpGetDosDevicesProtection for DBG builds
2019-06-01 13:51:40 +02:00
Pierre Schweitzer
8f655f9466
[NTOSKRNL] Implement ObpFreeDosDevicesProtection to free DACL
2019-06-01 13:44:55 +02:00
Pierre Schweitzer
933dddeb07
[NTOSKRNL] Modify ObpCreateDeviceMap so that it can handle any process
...
It is now able to set the newly created device map to any
process and will default to current process if none is provided.
It also sets system device map if no process is specified.
It also deferences existing device map in the process if needed.
Finaly, it will make the directory object permanant.
2019-06-01 13:35:41 +02:00
Pierre Schweitzer
fe6c7f05e2
[NTOSKRNL] Use the security descriptor for all the symlinks
2019-05-21 19:28:17 +02:00
Pierre Schweitzer
95d303bf13
[NTOSKRNL] Simplify ObpCreateGlobalDosDevicesSD by using a SD on the stack
...
Rename it to ObpGetDosDevicesProtection to reflect the two previous changes:
its purpose is to return a DACL matching protection mode
2019-05-21 19:28:16 +02:00
Pierre Schweitzer
33f524c625
[NTOSKRNL] Use relaxed ACLs in ObpCreateGlobalDosDevicesSD when protection mode is not set
2019-05-21 19:28:16 +02:00
Pierre Schweitzer
1c4e44592c
[NTOSKRNL] Save ProtectionMode value on boot
2019-05-21 19:28:16 +02:00
Pierre Schweitzer
a33a69b3f4
[NTOSKRNL] Save ObjectSecurityMode value on boot
2019-05-18 10:37:24 +02:00
Thomas Faber
f5fc9e0cf2
[NTOS:OB] Correctly handle OBJ_PROTECT_CLOSE in ObDuplicateObject.
2019-02-02 23:02:50 +01:00
Serge Gautherie
0483a5a380
[NTOS:OB] Correctly check SeSinglePrivilegeCheck() return value ( #1323 )
...
SeSinglePrivilegeCheck() returns a BOOLEAN, not a NTSTATUS.
CORE-14271
2019-01-30 00:43:13 +01:00
Timo Kreuzer
71fefa32db
[NDK][NTOS] Add global definition of INIT_FUNCTION/INIT_SECTION ( #779 )
...
* Add an NDK header to define INIT_FUNCTION/INIT_SECTION globally
* Use _declspec(allocate(x)) and _declspec(code_seg(x)) on MSVC versions that support it
* Use INIT_FUNCTION on functions only and INIT_SECTION on data only (required by MSVC)
* Place INIT_FUNCTION before the return type (required by MSVC)
* Make sure declarations and implementations share the same modifiers (required by MSVC)
* Add a global linker option to suppress warnings about defined but unused INIT section
* Merge INIT section into .text in freeldr
2018-12-30 12:19:11 +01:00
Pierre Schweitzer
102ba75f15
[NTOSKRNL] Return security descriptor size when querying object basic info
2018-11-10 10:54:10 +01:00
Pierre Schweitzer
1fb32afefa
[NTOSKRNL] Return quota information when querying object basic info
2018-11-10 10:54:06 +01:00
Pierre Schweitzer
07e6af6aa1
[NTOSKRNL] Properly handle "big" security descriptors in ObpCaptureObjectCreateInformation()
2018-10-27 19:36:15 +02:00
Pierre Schweitzer
9c6037182c
[NTOSKRNL] Add support for unsecure object names
2018-10-27 12:01:38 +02:00
Pierre Schweitzer
0f36353551
[NTOSKRNL] Implement the ObpIsUnsecureName() helper function
2018-10-27 12:01:38 +02:00
Pierre Schweitzer
b9423f07d9
[NTOSKRNL] Add support for the ObUnsecureGlobalNames registry key
2018-10-27 12:01:38 +02:00
Timo Kreuzer
2c909db295
[NTOS:OB] Rename object types to their official names to satisfy WinDbg
...
- Rename ObDirectoryType to ObpDirectoryObjectType and remove it from NDK (this is not exported!)
- Rename ObSymbolicLinkType to ObpSymbolicLinkObjectType
- Remove duplicated ObpTypeObjectType from ob.h
2018-08-17 20:28:45 +02:00
Timo Kreuzer
ff7cc6f37e
[NTOS] Fix 64 bit issues
2018-08-04 19:19:34 +02:00
Timo Kreuzer
2dade10d54
[NTOS] Fix 64 bit warnings
2018-01-14 13:54:14 +01:00
Pierre Schweitzer
3b64f7f8fb
[NTOSKRNL] Implement (with many FIXMEs) ObReferenceFileObjectForWrite() so that it can already do the job!
...
CORE-14003
2017-11-12 22:39:40 +01:00
Colin Finck
c2c66aff7d
Git conversion: Make reactos the root directory, move rosapps, rostests, wallpapers into modules, and delete rossubsys.
2017-10-03 07:45:34 +00:00