Commit graph

63687 commits

Author SHA1 Message Date
Hermès Bélusca-Maïto abd59d8101 [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
2015-09-28 01:36:31 +00:00
Pierre Schweitzer 1ab5b38172 [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
2015-09-27 20:54:20 +00:00
Pierre Schweitzer df8ea25b31 [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
2015-09-27 20:41:14 +00:00
Amine Khaldi 54375c9318 [SHELLEXTS] Improve the FILE header section. Brought to you by Adam Stachowicz. CORE-10114
svn path=/trunk/; revision=69387
2015-09-27 18:40:24 +00:00
Amine Khaldi 1c49aad636 [SHELLEXTS] Properly track resource file dependencies. CORE-9806
svn path=/trunk/; revision=69386
2015-09-27 18:37:23 +00:00
Amine Khaldi ae4040aeda [CPLS] Properly track resource file dependencies. CORE-9806
svn path=/trunk/; revision=69385
2015-09-27 18:30:39 +00:00
Amine Khaldi 7b16b375e5 [MMDEVAPI_WINETEST] Add missing dxsdk dependency.
svn path=/trunk/; revision=69384
2015-09-27 18:25:34 +00:00
Thomas Faber 2859b9f49c [NTOS:EX]
- Remove push lock asserts that are prone to race conditions
CORE-10267 #resolve

svn path=/trunk/; revision=69383
2015-09-27 17:40:23 +00:00
Hermès Bélusca-Maïto d52803c9e7 [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
2015-09-27 17:39:29 +00:00
Robert Naumann d7981400fd [WINMINE] Improve the mine bitmap. By Jared Smudde. CORE-10251
svn path=/trunk/; revision=69381
2015-09-27 17:35:54 +00:00
Robert Naumann 5e9d387a26 [SHELL32]Update some toolbar button bitmaps. By Jared Smudde. CORE-10232
svn path=/trunk/; revision=69380
2015-09-27 17:15:09 +00:00
Robert Naumann 82b8b67c68 [ICONS]Massive icon improvements by Jared Smudde. CORE-10023
svn path=/trunk/; revision=69379
2015-09-27 16:59:28 +00:00
Robert Naumann c405397385 [NTVDM] Update German translation
svn path=/trunk/; revision=69378
2015-09-27 16:28:27 +00:00
Hermès Bélusca-Maïto cba85f673d [KERNEL32]: Use the _ARRAYSIZE macro in the ENV_NAME_ENTRY macro, for the same reasons mentioned in r69376.
svn path=/trunk/; revision=69377
2015-09-27 16:16:26 +00:00
Hermès Bélusca-Maïto 9be71e7524 [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
2015-09-27 16:12:45 +00:00
Hermès Bélusca-Maïto fbb3c519c3 [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
2015-09-27 15:24:26 +00:00
Giannis Adamopoulos 7d4f528f60 [SHELL32]
- Fix for drive free/total space in My Computer. Patch by Barrett Karish.
CORE-10264

svn path=/trunk/; revision=69374
2015-09-27 15:09:28 +00:00
Giannis Adamopoulos e6b8a983ae [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
2015-09-27 14:27:09 +00:00
Amine Khaldi 88ec65d6d7 [DIRECTX] Improve the FILE header section. Brought to you by Adam Stachowicz. CORE-10114
svn path=/trunk/; revision=69372
2015-09-27 14:00:29 +00:00
Giannis Adamopoulos f491eeaf59 Fix gcc build
svn path=/trunk/; revision=69371
2015-09-27 11:47:08 +00:00
Giannis Adamopoulos 5e6ff64ad7 [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
2015-09-27 11:31:52 +00:00
Giannis Adamopoulos 466e9a0571 [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
2015-09-27 10:52:10 +00:00
Aleksandar Andrejevic 88e5d9fb36 Forgot to commit this file.
svn path=/trunk/; revision=69368
2015-09-26 19:23:59 +00:00
Aleksandar Andrejevic 441ccab2b4 [FAST486]
Whether a TSS is 16-bit or 32-bit depends solely on its signature.
Its size is irrelevant.


svn path=/trunk/; revision=69367
2015-09-26 19:22:50 +00:00
Hermès Bélusca-Maïto 3d49a7a6d4 [NTVDM]
Add a DPRINT to diagnose CORE-10182

svn path=/trunk/; revision=69366
2015-09-26 17:46:07 +00:00
Hermès Bélusca-Maïto 59028e471e [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
2015-09-26 17:35:31 +00:00
Amine Khaldi 728e1a6bfa [BOOT] Improve the FILE header section. Brought to you by Adam Stachowicz. CORE-10114
svn path=/trunk/; revision=69364
2015-09-26 16:31:49 +00:00
Amine Khaldi b43d84ffb5 [COMCTL32] Mark a ros-diff with its tracking ticket: CORE-4912
svn path=/trunk/; revision=69363
2015-09-26 16:30:49 +00:00
Stefan Ginsberg a73afd7919 [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
2015-09-26 10:12:53 +00:00
Hermès Bélusca-Maïto 6a0561cf4f [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
2015-09-26 03:24:55 +00:00
Aleksandar Andrejevic 6a44a622b4 [NTVDM]
DosReadFile echoes the line feed when it encounters it.
A backspace should delete the '^' sign for special characters.


svn path=/trunk/; revision=69360
2015-09-26 02:51:37 +00:00
Aleksandar Andrejevic acfe187655 [NTVDM]
Fix INT 21h/0Ah.
DosReadCharacter shouldn't echo all the time.


svn path=/trunk/; revision=69359
2015-09-26 00:05:10 +00:00
Hermès Bélusca-Maïto ac8f71fc86 [NTVDM]
- Fix a comment.
- Do not hardcode buffer size.
- LPVOID -> PVOID.

svn path=/trunk/; revision=69358
2015-09-25 22:42:08 +00:00
Aleksandar Andrejevic 357395eacc [NTVDM]
Don't echo when STDIN isn't the CON device.


svn path=/trunk/; revision=69357
2015-09-25 22:09:37 +00:00
Aleksandar Andrejevic 7f662fde76 [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
2015-09-25 22:00:57 +00:00
Stefan Ginsberg d8105a4366 [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
2015-09-25 19:28:05 +00:00
Stefan Ginsberg 0ad0cb4df8 [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
2015-09-25 18:40:56 +00:00
Pierre Schweitzer 549ecc5195 [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
2015-09-25 15:57:28 +00:00
Pierre Schweitzer 9099445189 [KERNEL32_APITEST]
Rename apitest Mailslot test to MailslotRead to avoid testman issue with mailslot winetest

svn path=/trunk/; revision=69352
2015-09-25 14:53:08 +00:00
Pierre Schweitzer 2f233ce1f9 [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
2015-09-25 14:44:38 +00:00
Ged Murphy c83ceb5eaf [ATL]
A few more gcc based fixes. Just needs the template parameter issues fixing

svn path=/trunk/; revision=69350
2015-09-24 20:59:09 +00:00
Hermès Bélusca-Maïto 1fdce1dd81 [DEVMGR_NEW]
(Resources) Add a missing comma. Fixes part of GCC build.

svn path=/trunk/; revision=69349
2015-09-24 19:11:24 +00:00
Hermès Bélusca-Maïto 85dcbc9ea2 [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
2015-09-24 18:06:02 +00:00
Giannis Adamopoulos f6bba8eac7 [SHELL32]
- Fix displaying the name of guid items.

svn path=/trunk/; revision=69347
2015-09-24 15:49:18 +00:00
Ged Murphy efe4a23c11 Revert back to the old devmgr I'll install gcc and reapply the changes tonight.
Apologies for the spam

svn path=/trunk/; revision=69346
2015-09-24 07:30:08 +00:00
Ged Murphy b8a02e823c 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
2015-09-24 07:18:29 +00:00
Ged Murphy f5c7241e9d unixification
svn path=/trunk/; revision=69344
2015-09-24 07:13:21 +00:00
Ged Murphy 6d43e0f56d Fix build (part 1 of ?)
svn path=/trunk/; revision=69343
2015-09-24 07:09:29 +00:00
Ged Murphy c3f8176204 [DEVMGR]
Delete the old devmgr and replace it with devmgr_new

svn path=/trunk/; revision=69342
2015-09-24 07:06:29 +00:00
Alex Ionescu 88cc94bcb3 [NTOSKRNL]: Now that OBJ_VALID_ATTRIBUTES doesn't include all attributes, fix the kernel parameter checks.
svn path=/trunk/; revision=69341
2015-09-24 03:32:08 +00:00