Pierre Schweitzer [Wed, 30 Sep 2015 16:29:07 +0000 (16:29 +0000)]
[CDROM]
Properly implement support for IOCTL_DISK_GET_DRIVE_GEOMETRY, IOCTL_DISK_GET_DRIVE_GEOMETRY_EX, IOCTL_CDROM_GET_DRIVE_GEOMETRY_EX, IOCTL_DISK_GET_LENGTH_INFO in CdRomDeviceControl
CORE-10287 #resolve #comment Fixed with r69418
svn path=/trunk/; revision=69418
Pierre Schweitzer [Tue, 29 Sep 2015 18:43:35 +0000 (18:43 +0000)]
[KMTESTS:IO]
[KMTESTS:OB]
Simplify kernel mode thread creation
svn path=/trunk/; revision=69417
Stefan Ginsberg [Tue, 29 Sep 2015 18:34:33 +0000 (18:34 +0000)]
Remove legacy _KeNumberProcessors hack. While we are at it fix its type (CCHAR not UCHAR) and remove it from the NDK as it is a public global provided by the DDK (where we properly define it with the "__CREATE_NTOS_DATA_IMPORT_ALIAS" fix when needed. Also, the variable KeActiveProcessors is not even exported from NTOS so move it to an internal header. Fix missed fix in UDFS as well in uncompiled file.
svn path=/trunk/; revision=69416
Pierre Schweitzer [Tue, 29 Sep 2015 18:22:38 +0000 (18:22 +0000)]
[MOUNTMGR]
Remove last hack
svn path=/trunk/; revision=69415
Pierre Schweitzer [Tue, 29 Sep 2015 17:30:54 +0000 (17:30 +0000)]
[MOUNTMGR]
Get rid of a hack, thanks to r69413
svn path=/trunk/; revision=69414
Thomas Faber [Tue, 29 Sep 2015 17:24:48 +0000 (17:24 +0000)]
[CRT]
- Add "memcmp" library that is used by kernel drivers to get memcmp/RtlEqualMemory
CORE-10285 #resolve
svn path=/trunk/; revision=69413
Pierre Schweitzer [Tue, 29 Sep 2015 16:28:59 +0000 (16:28 +0000)]
[NTOSKRNL]
Don't bugcheck on unimplemented FsRtlOplockFsctrl(), FsRtlCurrentBatchOplock(), FsRtlCheckOplock()
Properly implement FsRtlInitializeOplock() (which is no-op on Windows 2k3)
CORE-10284 #resolve #comment Resolved with r69412
svn path=/trunk/; revision=69412
Hermès Bélusca-Maïto [Mon, 28 Sep 2015 22:15:06 +0000 (22:15 +0000)]
[NTVDM]
- Add floppy image automount support from the registry, as it was done for HDDs in r69390 (it's really copy-paste & adaptation of the existing code).
- Increase HDD number support from 1 to 4 (maximum) for INT 13h.
svn path=/trunk/; revision=69411
Pierre Schweitzer [Mon, 28 Sep 2015 21:06:02 +0000 (21:06 +0000)]
[CDROM]
Finally implement support for IOCTL_DISK_GET_DRIVE_GEOMETRY_EX, IOCTL_CDROM_GET_DRIVE_GEOMETRY_EX
svn path=/trunk/; revision=69410
Pierre Schweitzer [Mon, 28 Sep 2015 20:20:46 +0000 (20:20 +0000)]
[CDROM]
- Don't support IOCTL_DISK_GET_DRIVE_GEOMETRY_EX, IOCTL_CDROM_GET_DRIVE_GEOMETRY_EX for now
- Properly implement IRP completion for IOCTL_DISK_GET_LENGTH_INFO, IOCTL_DISK_GET_DRIVE_GEOMETRY
svn path=/trunk/; revision=69409
Aleksandar Andrejevic [Mon, 28 Sep 2015 18:55:26 +0000 (18:55 +0000)]
[NTVDM]
Fix a division-by-zero problem by storing the mouse driver's Width and Height
in DWORDs, thus avoiding the integer overflow which could make them zero.
svn path=/trunk/; revision=69408
Aleksandar Andrejevic [Mon, 28 Sep 2015 18:51:48 +0000 (18:51 +0000)]
[FAST486]
- Always use the descriptor type, and never the limit, to identify
legacy vs. modern TSSes.
- Don't forget to write back the modified TSS link.
svn path=/trunk/; revision=69407
Pierre Schweitzer [Mon, 28 Sep 2015 17:55:48 +0000 (17:55 +0000)]
[CDROM]
Implement IOCTL_DISK_GET_LENGTH_INFO, IOCTL_DISK_GET_DRIVE_GEOMETRY_EX, IOCTL_DISK_GET_DRIVE_GEOMETRY, IOCTL_CDROM_GET_DRIVE_GEOMETRY_EX.
Dedicated to Peter Hater
CORE-10272
svn path=/trunk/; revision=69406
Amine Khaldi [Mon, 28 Sep 2015 17:31:37 +0000 (17:31 +0000)]
[TOOLS] Improve the FILE header section. Brought to you by Adam Stachowicz. CORE-10114
svn path=/trunk/; revision=69405
Daniel Reimer [Mon, 28 Sep 2015 16:16:37 +0000 (16:16 +0000)]
[RAPPS]
Update German translation.
svn path=/trunk/; revision=69404
Giannis Adamopoulos [Mon, 28 Sep 2015 16:04:34 +0000 (16:04 +0000)]
[SHELL32]
- Actually use the localized name for Control Panel.
svn path=/trunk/; revision=69403
Pierre Schweitzer [Mon, 28 Sep 2015 15:29:41 +0000 (15:29 +0000)]
[RAPPS]
Update French translation
svn path=/trunk/; revision=69402
Christoph von Wittich [Mon, 28 Sep 2015 14:09:09 +0000 (14:09 +0000)]
[RAPPS]
add support for SSL certificate pinning
svn path=/trunk/; revision=69401
Stefan Ginsberg [Mon, 28 Sep 2015 14:08:54 +0000 (14:08 +0000)]
[NTOS] Implement the KD Get/SetContextEx functionality (copying part of a CONTEXT via Offset + Byte Count instead of copying a whole context), and stub out KdpWriteCustomBreakpoint. Newer WinDbg uses the GetContextEx functionality regardless of whether we report it as supported or not, and didn't seem to fall back on the regular GetContext functionality when it was missing, so whatever it was using it for should work awesome now. This had no impact on the broken Registers window though. Also small fix to use the _M_XXX checks consistently.
svn path=/trunk/; revision=69400
Stefan Ginsberg [Mon, 28 Sep 2015 12:48:14 +0000 (12:48 +0000)]
[NTOS] Fix kmtest
svn path=/trunk/; revision=69399
Pierre Schweitzer [Mon, 28 Sep 2015 12:25:38 +0000 (12:25 +0000)]
[KMTESTS:OB]
Add a test dedicated to Stefan.
svn path=/trunk/; revision=69398
Amine Khaldi [Mon, 28 Sep 2015 12:09:26 +0000 (12:09 +0000)]
[MBEDTLS] Add a resource file for the dll. By Ismael Ferreras Morezuelas with minor changes by me. CORE-9065
svn path=/trunk/; revision=69397
Pierre Schweitzer [Mon, 28 Sep 2015 11:50:58 +0000 (11:50 +0000)]
[RAPPS]
Thanks to r69394, switch rapps database download to https
svn path=/trunk/; revision=69396
Amine Khaldi [Mon, 28 Sep 2015 11:23:36 +0000 (11:23 +0000)]
[GNUTLS] Get rid of what's left of the GnuTLS back-end. CORE-9065
svn path=/trunk/; revision=69395
Amine Khaldi [Mon, 28 Sep 2015 09:43:08 +0000 (09:43 +0000)]
[MBEDTLS] Use mbedtls as a lightweight schannel TLS/SSL back-end. This is an initial checkpoint and more will follow in due time. Brought to you by Peter Hater, Ismael Ferreras Morezuelas, Sebastian Lackner and Michael Müller. CORE-9065
svn path=/trunk/; revision=69394
Stefan Ginsberg [Mon, 28 Sep 2015 09:01:11 +0000 (09:01 +0000)]
[NTOS] Fix the Ob wait system calls to only catch the exceptions that are expected to be raised by the Ke wait functions (and not potentially silently catching *any* exception and corrupting everything in the process). Also fixup some code logic. SEH Mega Fixup 1/???
svn path=/trunk/; revision=69393
Pierre Schweitzer [Mon, 28 Sep 2015 08:53:31 +0000 (08:53 +0000)]
[NTDLL_APITEST]
*.S expects length in chars
svn path=/trunk/; revision=69392
Stefan Ginsberg [Mon, 28 Sep 2015 07:44:49 +0000 (07:44 +0000)]
[NTOS] Make SE routines use ExAllocateLocallyUniqueId instead of the system call variant (SeCreateAccessStateEx already did this, but with Exp*). Also, Ex(p)AllocateLocallyUniqueId can't fail so there is no need to return success all the time (and check for it...). This also just happens to move the first system call to phase 1 instead of 0.
svn path=/trunk/; revision=69391
Hermès Bélusca-Maïto [Mon, 28 Sep 2015 01:36:31 +0000 (01:36 +0000)]
[NTVDM]
Read global settings from the register (in HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\NTVDM ; note that this is a ReactOS-only configuration key, because no equivalent functionality exists on windows), and currently initialize:
- the BIOS and ROM files to be used;
- the hard disks to be mounted at startup (they cannot be unmounted at runtime, contrary to the floppies) (maximum 4 hard disks).
svn path=/trunk/; revision=69390
Pierre Schweitzer [Sun, 27 Sep 2015 20:54:20 +0000 (20:54 +0000)]
[RTL]
Major bugfixing session for RtlGenerate8dot3Name()... Up to know, AllowExtendedCharacters was totally ignored and any upcased char, as long as it was not in the forbidden list was accepted. This was bringing numerous problems (cf: apitest :-)).
So, now, the following fixes were brought:
- AllowExtendedCharacters isn't ignored any longer. If it's given, the unicode char is upcased, if it's not, as previously, the ansi char is upcased
- Be more strict in the allowed chars in name: only allow "graph" chars. This avoids generating broken names that aren't allowed in FAT
- In case no char could be added in the name, then, for the generation of the name checksum and use it as shortname
- When writing the checksum, don't use reversed order, but direct order, to match Windows behavior (as exposed with tests)
- When writing the checksum, use when possible bit operations instead of numerical operations for performances reasons (NFC)
- Rewrite RtlpGetCheckSum() with an algorithm that produces the exact same checksums than Windows 2003.
This whole commit fixes all apitests related (direct visible effect). As a bonus, it also fixes short names generation in FAT: we no longer produce broken volumes with international file names.
This also fixes less visible issues: we were producing unicode strings with null char in their middle (as exposed in tests), not sure about how all functions could handle this: likely not that good, this could have lead to various memory issues & corruptions.
CORE-10223 #resolve #comment Fixed with r69389
svn path=/trunk/; revision=69389
Pierre Schweitzer [Sun, 27 Sep 2015 20:41:14 +0000 (20:41 +0000)]
[NTDLL_APITEST]
Add more tests for RtlGenerate8dot3Name().
Not sure how many more are failing in ReactOS: they all pass in my WC (teasing :-))
CORE-10223
svn path=/trunk/; revision=69388
Amine Khaldi [Sun, 27 Sep 2015 18:40:24 +0000 (18:40 +0000)]
[SHELLEXTS] Improve the FILE header section. Brought to you by Adam Stachowicz. CORE-10114
svn path=/trunk/; revision=69387
Amine Khaldi [Sun, 27 Sep 2015 18:37:23 +0000 (18:37 +0000)]
[SHELLEXTS] Properly track resource file dependencies. CORE-9806
svn path=/trunk/; revision=69386
Amine Khaldi [Sun, 27 Sep 2015 18:30:39 +0000 (18:30 +0000)]
[CPLS] Properly track resource file dependencies. CORE-9806
svn path=/trunk/; revision=69385
Amine Khaldi [Sun, 27 Sep 2015 18:25:34 +0000 (18:25 +0000)]
[MMDEVAPI_WINETEST] Add missing dxsdk dependency.
svn path=/trunk/; revision=69384
Thomas Faber [Sun, 27 Sep 2015 17:40:23 +0000 (17:40 +0000)]
[NTOS:EX]
- Remove push lock asserts that are prone to race conditions
CORE-10267 #resolve
svn path=/trunk/; revision=69383
Hermès Bélusca-Maïto [Sun, 27 Sep 2015 17:39:29 +0000 (17:39 +0000)]
[NTVDM]: Update the read/write flag of the mounted image: fixes errors when trying to write to the read-only image. Now we correctly return a "write-protected" disk error.
svn path=/trunk/; revision=69382
Robert Naumann [Sun, 27 Sep 2015 17:35:54 +0000 (17:35 +0000)]
[WINMINE] Improve the mine bitmap. By Jared Smudde. CORE-10251
svn path=/trunk/; revision=69381
Robert Naumann [Sun, 27 Sep 2015 17:15:09 +0000 (17:15 +0000)]
[SHELL32]Update some toolbar button bitmaps. By Jared Smudde. CORE-10232
svn path=/trunk/; revision=69380
Robert Naumann [Sun, 27 Sep 2015 16:59:28 +0000 (16:59 +0000)]
[ICONS]Massive icon improvements by Jared Smudde. CORE-10023
svn path=/trunk/; revision=69379
Robert Naumann [Sun, 27 Sep 2015 16:28:27 +0000 (16:28 +0000)]
[NTVDM] Update German translation
svn path=/trunk/; revision=69378
Hermès Bélusca-Maïto [Sun, 27 Sep 2015 16:16:26 +0000 (16:16 +0000)]
[KERNEL32]: Use the _ARRAYSIZE macro in the ENV_NAME_ENTRY macro, for the same reasons mentioned in r69376.
svn path=/trunk/; revision=69377
Hermès Bélusca-Maïto [Sun, 27 Sep 2015 16:12:45 +0000 (16:12 +0000)]
[NTVDM]: Fix GCC build by using _ARRAYSIZE (which is the old-school sizeof(foo)/sizeof(foo[0]) macro) instead of ARRAYSIZE (which does the same but in a more complicated way, which involves a construct that cannot be embedded inside definitions of variables).
svn path=/trunk/; revision=69376
Hermès Bélusca-Maïto [Sun, 27 Sep 2015 15:24:26 +0000 (15:24 +0000)]
[NTVDM]
- Start implementing a user menu for mounting/unmounting floppy disks at runtime. Menu state refresh & proper localization remain to be done.
- Add a temporary "Sleep(INFINITE)" where the VdmShutdown function is susceptible to trigger again a VDM cleanup in case it was called again in parallel. For diagnosing CORE-10182, see also r69366.
svn path=/trunk/; revision=69375
Giannis Adamopoulos [Sun, 27 Sep 2015 15:09:28 +0000 (15:09 +0000)]
[SHELL32]
- Fix for drive free/total space in My Computer. Patch by Barrett Karish.
CORE-10264
svn path=/trunk/; revision=69374
Giannis Adamopoulos [Sun, 27 Sep 2015 14:27:09 +0000 (14:27 +0000)]
[SHELL32]
- Don't duplicate the code for getting the name of a drive. CDrivesFolder already does it (and it does it better). Make the drive properties call it to get the name it needs.
CORE-10258
svn path=/trunk/; revision=69373
Amine Khaldi [Sun, 27 Sep 2015 14:00:29 +0000 (14:00 +0000)]
[DIRECTX] Improve the FILE header section. Brought to you by Adam Stachowicz. CORE-10114
svn path=/trunk/; revision=69372
Giannis Adamopoulos [Sun, 27 Sep 2015 11:47:08 +0000 (11:47 +0000)]
Fix gcc build
svn path=/trunk/; revision=69371
Giannis Adamopoulos [Sun, 27 Sep 2015 11:31:52 +0000 (11:31 +0000)]
[SHELL32]
- Improve a change from r27016. Running the control panel applets in the context of explorer is not correct. We should really use ShellExecute here.
svn path=/trunk/; revision=69370
Giannis Adamopoulos [Sun, 27 Sep 2015 10:52:10 +0000 (10:52 +0000)]
[SHELL32]
- Fix SH_ParseGuidDisplayName which was completely broken when I committed it.
- Use GUIDFromStringW instead of SHCLSIDFromStringW in _ILCreateGuidFromStrW. The latter needs the string to terminate right after the guid.
svn path=/trunk/; revision=69369
Aleksandar Andrejevic [Sat, 26 Sep 2015 19:23:59 +0000 (19:23 +0000)]
Forgot to commit this file.
svn path=/trunk/; revision=69368
Aleksandar Andrejevic [Sat, 26 Sep 2015 19:22:50 +0000 (19:22 +0000)]
[FAST486]
Whether a TSS is 16-bit or 32-bit depends solely on its signature.
Its size is irrelevant.
svn path=/trunk/; revision=69367
Hermès Bélusca-Maïto [Sat, 26 Sep 2015 17:46:07 +0000 (17:46 +0000)]
[NTVDM]
Add a DPRINT to diagnose CORE-10182
svn path=/trunk/; revision=69366
Hermès Bélusca-Maïto [Sat, 26 Sep 2015 17:35:31 +0000 (17:35 +0000)]
[NTVDM]
Add basic disk support with mounting/unmounting images in NTVDM:
- basic disk controller (at the moment this is just a collection of helper functions. A real HW emulation will come later on).
- INT 13h services for the BIOS.
At the moment, the images to be mounted are hardcoded in disk.c. Please see disk.c for examples of how to use the function. This will be reworked to allow user choice without having to recompile NTVDM.
CORE-10262 #resolve
svn path=/trunk/; revision=69365
Amine Khaldi [Sat, 26 Sep 2015 16:31:49 +0000 (16:31 +0000)]
[BOOT] Improve the FILE header section. Brought to you by Adam Stachowicz. CORE-10114
svn path=/trunk/; revision=69364
Amine Khaldi [Sat, 26 Sep 2015 16:30:49 +0000 (16:30 +0000)]
[COMCTL32] Mark a ros-diff with its tracking ticket: CORE-4912
svn path=/trunk/; revision=69363
Stefan Ginsberg [Sat, 26 Sep 2015 10:12:53 +0000 (10:12 +0000)]
[KE]
Misc trap/interrupt fixes:
- Stub legacy KiGetTickCountHandler (INT 2A) to fail instead of breakpointing. We have made it so far without it, and if someone finds something that actually uses this instead of Win32's GetTickCount we can add it then. Raises the bar of making ReactOS breakpoint from 2 bytes to 4.
- Bugcheck with the right status code in case Kei386EoiHelper is called (which means you are trying to load a Windows HAL which we totally do not support right now).
- Use Ke* instead of Kf* in C code for IRQL routines.
svn path=/trunk/; revision=69362
Hermès Bélusca-Maïto [Sat, 26 Sep 2015 03:24:55 +0000 (03:24 +0000)]
[NTVDM]
- Don't hardcode magic values of characters if they have C escape codes.
- Print an extra newline on call to the Ctrl-C handler, as it is done on real DOS.
- Use a do{}while loop which loops while we don't have read a CR character.
svn path=/trunk/; revision=69361
Aleksandar Andrejevic [Sat, 26 Sep 2015 02:51:37 +0000 (02:51 +0000)]
[NTVDM]
DosReadFile echoes the line feed when it encounters it.
A backspace should delete the '^' sign for special characters.
svn path=/trunk/; revision=69360
Aleksandar Andrejevic [Sat, 26 Sep 2015 00:05:10 +0000 (00:05 +0000)]
[NTVDM]
Fix INT 21h/0Ah.
DosReadCharacter shouldn't echo all the time.
svn path=/trunk/; revision=69359
Hermès Bélusca-Maïto [Fri, 25 Sep 2015 22:42:08 +0000 (22:42 +0000)]
[NTVDM]
- Fix a comment.
- Do not hardcode buffer size.
- LPVOID -> PVOID.
svn path=/trunk/; revision=69358
Aleksandar Andrejevic [Fri, 25 Sep 2015 22:09:37 +0000 (22:09 +0000)]
[NTVDM]
Don't echo when STDIN isn't the CON device.
svn path=/trunk/; revision=69357
Aleksandar Andrejevic [Fri, 25 Sep 2015 22:00:57 +0000 (22:00 +0000)]
[NTVDM]
Fix DOS character device I/O. Implement CON line buffering.
Make sure INT 21h functions 01h, 06h, 07h, 08h, 0Ah and 3Fh work as expected
for CON input.
svn path=/trunk/; revision=69356
Stefan Ginsberg [Fri, 25 Sep 2015 19:28:05 +0000 (19:28 +0000)]
[KDBG] Let's try to have one single version of DPFLTR_DEFAULT_ID shall we -- 101 as part of DPFLTR_TYPE enum is correct, 0xFFFFFFFF as an incorrect define for the "internal" default ID is wrong.
svn path=/trunk/; revision=69355
Stefan Ginsberg [Fri, 25 Sep 2015 18:40:56 +0000 (18:40 +0000)]
[NDK] Put ZwCreateKeyedEvent in NDK where it belongs.
[EX] Remove "KeGetCurrentProcess" and just use the EPROCESS Pcb member for type correctness instead of inventing a new macro to hide the casting.
[PS] Remove stray INIT_FUNCTION (doesn't do much on a prototype).
[IO] Define _IO_DEBUG_ to 0 again after someone forgot to leave it on 4 years ago (only bloated the code since IopTraceLevel was 0 anyway).
svn path=/trunk/; revision=69354
Pierre Schweitzer [Fri, 25 Sep 2015 15:57:28 +0000 (15:57 +0000)]
[KMTESTS:IO]
Add more tests for IoCreateFile(), this time purely dealing with symlinks reparse points.
They won't run on ReactOS (obviously) as we don't have RW NTFS support.
On Windows, they show interesting results....
With Windows 2003, creating the symlink is allowed and works, but then Windows is totally unable to deal with it and keeps complaining about an unhandled reparse tag.
The only way to open it is to open the reparse point itself. Not that working symlinks... Not sure which part is not able to handle the said reparse tag. NTFS? Io?
With Windows Vista+, it just works fine. Symlink is created & functionnal.
Broken logic!
svn path=/trunk/; revision=69353
Pierre Schweitzer [Fri, 25 Sep 2015 14:53:08 +0000 (14:53 +0000)]
[KERNEL32_APITEST]
Rename apitest Mailslot test to MailslotRead to avoid testman issue with mailslot winetest
svn path=/trunk/; revision=69352
Pierre Schweitzer [Fri, 25 Sep 2015 14:44:38 +0000 (14:44 +0000)]
[KERNEL32_APITEST]
Add a test for CORE-10188 (which was fixed by Thomas in r69236).
It is based on Nikita Pechenkin's patch with a few modifications by me to avoid race condition on start (and avoid flappy test) and to match more closely our coding style
ROSTESTS-190 #resolve #comment Committed in r69351. Thanks!
svn path=/trunk/; revision=69351
Ged Murphy [Thu, 24 Sep 2015 20:59:09 +0000 (20:59 +0000)]
[ATL]
A few more gcc based fixes. Just needs the template parameter issues fixing
svn path=/trunk/; revision=69350
Hermès Bélusca-Maïto [Thu, 24 Sep 2015 19:11:24 +0000 (19:11 +0000)]
[DEVMGR_NEW]
(Resources) Add a missing comma. Fixes part of GCC build.
svn path=/trunk/; revision=69349
Hermès Bélusca-Maïto [Thu, 24 Sep 2015 18:06:02 +0000 (18:06 +0000)]
[DEVMGR_NEW]
- Use ROS-style paths for include files.
- Fixup its CMakeFiles for C++11 compilation under GCC (done the way we did for other C++ projects).
- Add a VS project for DEVMGR to make Ged happy.
[ATL]
Start C++ fixups:
- Add 'placement new' operator.
- Add some missing functions (that were not caught by MSVC compilation because we atm. accept function usage without the existence of its actual code...).
More to follow...
svn path=/trunk/; revision=69348
Giannis Adamopoulos [Thu, 24 Sep 2015 15:49:18 +0000 (15:49 +0000)]
[SHELL32]
- Fix displaying the name of guid items.
svn path=/trunk/; revision=69347
Ged Murphy [Thu, 24 Sep 2015 07:30:08 +0000 (07:30 +0000)]
Revert back to the old devmgr I'll install gcc and reapply the changes tonight.
Apologies for the spam
svn path=/trunk/; revision=69346
Ged Murphy [Thu, 24 Sep 2015 07:18:29 +0000 (07:18 +0000)]
Turn off building devmgr for now due to multiple gcc errors. I'll install gcc :o and fix things locally instead of relying on the buildbots
svn path=/trunk/; revision=69345
Ged Murphy [Thu, 24 Sep 2015 07:13:21 +0000 (07:13 +0000)]
unixification
svn path=/trunk/; revision=69344
Ged Murphy [Thu, 24 Sep 2015 07:09:29 +0000 (07:09 +0000)]
Fix build (part 1 of ?)
svn path=/trunk/; revision=69343
Ged Murphy [Thu, 24 Sep 2015 07:06:29 +0000 (07:06 +0000)]
[DEVMGR]
Delete the old devmgr and replace it with devmgr_new
svn path=/trunk/; revision=69342
Alex Ionescu [Thu, 24 Sep 2015 03:32:08 +0000 (03:32 +0000)]
[NTOSKRNL]: Now that OBJ_VALID_ATTRIBUTES doesn't include all attributes, fix the kernel parameter checks.
svn path=/trunk/; revision=69341
Alex Ionescu [Thu, 24 Sep 2015 02:40:30 +0000 (02:40 +0000)]
[NDK]: Add OB_FLAG_KERNEL_EXCLUSIVE and OBJ_KERNEL_EXCLUSIVE flags
[NTOSKRNL]: Add a helper function such that user-mode cannot pass certain kernel-only object attributes to ObOpenObjectByPointer.
[NTOSKRNL]: Make \Device\PhysicalMemory OBJ_KERNEL_EXCLUSIVE
[NTOSKRNL]: Deny access to user-mode when opening a handle to an object with OBJ_KERNEL_EXCLUSIVE
[NTOSKRNL]: Fix NtOpenProcess, NtOpenThread, NtOpenThreadTokenEx, NtOpenProcessTokenEx to use the helper function. Should fix Rtl using OBJ_KERNEL_HANDLE in user-mode.
Thanks to ThFabba for finding out these bugs, and the hbelusca for adding a missing check to NtOpenProcessTokenEx.
svn path=/trunk/; revision=69340
Hermès Bélusca-Maïto [Thu, 24 Sep 2015 00:27:59 +0000 (00:27 +0000)]
[NTVDM]
- Fix ZF and CF flags setting in function INT 2Fh, AX=1214h.
- Use CreateEventW explicitely.
- Set the VdmTaskEvent event at startup. This allows user input by default (even if we don't run our own DOS) in NTVDM. Fixes keyboard input not working when testing boot&usage of MSDOS 6.
svn path=/trunk/; revision=69339
Hermès Bélusca-Maïto [Wed, 23 Sep 2015 23:55:04 +0000 (23:55 +0000)]
Fix build.
svn path=/trunk/; revision=69338
Hermès Bélusca-Maïto [Wed, 23 Sep 2015 23:52:03 +0000 (23:52 +0000)]
[NTOS]: Implement KeDeregisterNmiCallback.
Aside question: we have a "nmidebug" driver in \drivers\base\. In it is a NMI callback "NmiDbgCallback". I was wondering what "((void(*)())&KiBugCheckData[4])();" should do, according to the surrounding code, since in some conditions this code path is actually run: http://i.imgur.com/TUsEr5p.jpg
svn path=/trunk/; revision=69337
Pierre Schweitzer [Wed, 23 Sep 2015 21:30:22 +0000 (21:30 +0000)]
[KMTESTS:IO]
- Properly free handles in driver (spotted by Thomas)
- Remove dead code in driver (spotted by Thomas)
- Send an IOCTL to stop on symlinks to allow more precise tests
svn path=/trunk/; revision=69336
Ged Murphy [Wed, 23 Sep 2015 21:24:06 +0000 (21:24 +0000)]
[DEVMGR]
List devices without names as 'Unknown Device'
svn path=/trunk/; revision=69335
Ged Murphy [Wed, 23 Sep 2015 20:30:32 +0000 (20:30 +0000)]
[DEVMGMT]
- Fix devmgmt.exe to correctly build and link against devmgr.dll
- This is a temp exe that just calls DeviceManager_ExecuteW. This will later be replaced by mmc.exe and devmgmt.msc
svn path=/trunk/; revision=69334
Ged Murphy [Wed, 23 Sep 2015 20:12:44 +0000 (20:12 +0000)]
[ATL]
Try to fix gcc build (without having a local install of gcc...)
svn path=/trunk/; revision=69333
Ged Murphy [Wed, 23 Sep 2015 20:05:31 +0000 (20:05 +0000)]
[ATL]
- Add support for CAtlString and all its supporting base classes.
- It doesn't do much more than assign wchat_t arrarys and call LoadString, but it's a full base to start adding more methods as people decide to.
svn path=/trunk/; revision=69332
Thomas Faber [Wed, 23 Sep 2015 15:53:24 +0000 (15:53 +0000)]
[NTDLL_APITEST]
- Fix a test failure on WHS-Testbot
svn path=/trunk/; revision=69331
Giannis Adamopoulos [Wed, 23 Sep 2015 15:20:56 +0000 (15:20 +0000)]
[SHELL32]
- Fix a bug in my latest commit.
svn path=/trunk/; revision=69330
Thomas Faber [Wed, 23 Sep 2015 15:14:25 +0000 (15:14 +0000)]
[NTDLL_APITEST]
- Add simple tests for NtOpenThreadToken[Ex] and NtOpenProcessToken[Ex]
svn path=/trunk/; revision=69329
Giannis Adamopoulos [Wed, 23 Sep 2015 15:02:05 +0000 (15:02 +0000)]
[SHELL32]
- Add a few helper functions: SH_ParseGuidDisplayName, SHELL32_SetNameOfGuidItem, SHELL32_GetDetailsOfGuidItem.
- SHELL32_SetNameOfGuidItem is based on a patch for CORE-5995
- Use the helpers in CControlPanelFolder, CDesktopFolder and CDrivesFolder. Implements getting the comment and renaming registry items in these folders and share some more code.
svn path=/trunk/; revision=69328
Ged Murphy [Wed, 23 Sep 2015 09:27:32 +0000 (09:27 +0000)]
[SETUPAPI]
- Buffer lengths are calculated in chars not bytes.
- Fixes use of CM_Get_Device_ID_Size / CM_Get_Device_ID
svn path=/trunk/; revision=69327
Ged Murphy [Wed, 23 Sep 2015 09:04:39 +0000 (09:04 +0000)]
[INCLUDES]
- Fix linking with c++ modules
svn path=/trunk/; revision=69326
Ged Murphy [Wed, 23 Sep 2015 08:49:48 +0000 (08:49 +0000)]
[DEVMGR]
Fix building with cmake (msvc)
It needs my local ATL changes to build, I'll add these soon
svn path=/trunk/; revision=69325
Alex Ionescu [Wed, 23 Sep 2015 05:10:58 +0000 (05:10 +0000)]
[NTOSKRNL]: Properly respect the registry's Win32PrioritySeparation value instead of ignoring it.
[NTOSKRNL]: Actually apply the foreground priority boost to threads in a foreground process.
[NTOSKRNL]: Correctly handle the case where the quantum length and fixed/variable flag are set to "default", instead of falling back into the server case.
Thanks to WINSRV doing the right thing, ReactOS console apps now receive the priority separation boost. However, my tests show that it doesn't last as long as it should on Windows (quantums too short? bug in priority decrement?). Also, since Win32k.sys doesn't tell the kernel about foreground GUI apps, they don't get the boost. Someone needs to add a NtSetInformationProcess call in whatever win32k function determines active focus.
Dedicated to ThFabba who needs to write some tests ;-)
svn path=/trunk/; revision=69324
Hermès Bélusca-Maïto [Wed, 23 Sep 2015 01:45:18 +0000 (01:45 +0000)]
[NTVDM]
- Do not hardcode the number of XMS memory blocks that can map the HMA. It should be function of the MAX_ADDRESS value of our emulator.
- Require that MAX_ADDRESS should be greater or equal than 1 MB.
svn path=/trunk/; revision=69323
Pierre Schweitzer [Tue, 22 Sep 2015 22:31:08 +0000 (22:31 +0000)]
[KMTESTS:IO]
Extend the IoCreateFile tests with two parts tests.
First part properly checks for opening/reparse handling on mount points (and ideally on symlinks, see below).
The other part checks for proper handling of the IO_STOP_ON_SYMLINK parameter.
Regarding symlink, I'm clearly not convinced that what I did is correct (hence the failure on both W2K3 & ROS). It seems to me that symlink resolution is up to the FSD and not to IO which only handles mount point traversal.
If someone (Alex?) can confirm/infirm and give more insight, that's more than welcome.
svn path=/trunk/; revision=69322
Ged Murphy [Tue, 22 Sep 2015 21:44:19 +0000 (21:44 +0000)]
[DEVMGR]
- A few cmake fixes
svn path=/trunk/; revision=69321
Ged Murphy [Tue, 22 Sep 2015 18:23:03 +0000 (18:23 +0000)]
[DEVMGR]
- Build the properties as C++
- Rearrange the folder structure
- The whole thing now builds and runs from VS (with a few hacks). CMake next
svn path=/trunk/; revision=69320
Giannis Adamopoulos [Tue, 22 Sep 2015 18:11:32 +0000 (18:11 +0000)]
[SHELL32]
- Add a helper HCR_GetClassName function to load the name of a reg folder to a STRRET
- Further simplify CAdminToolsFolder, CFontsFolder and CMyDocsFolder
svn path=/trunk/; revision=69319