reactos.git
4 years ago[MPR]
Pierre Schweitzer [Tue, 19 Jan 2016 18:39:18 +0000 (18:39 +0000)]
[MPR]
Import Wine commits:
39ec97ea9dcba270bbea31a7eaa7b842bf1beb1f, Implement WNetAddConnectionA(), WNetAddConnection2A(), WNetAddConnection3A().
092c60e98cec9956127145f7c8a5db88082ce7d2, Implement WNetAddConnectionW(), WNetAddConnection2W(), WNetAddConnection3W().

CORE-10032
ROSAPPS-303

svn path=/trunk/; revision=70619

4 years ago[BOOTMGR]: Support for launching a recovery sequence.
Alex Ionescu [Tue, 19 Jan 2016 18:21:54 +0000 (18:21 +0000)]
[BOOTMGR]: Support for launching a recovery sequence.
[BOOTMGR]: Stub support for boot errors.
[BOOTMGR]: Stubplement support for device creation for boot applications (only for fully specified devices)
[BOOTMGR]: Implement support for execution transfer, including recovery mode/sequence.
[BOOTMGR]: Implement support for launching a boot entry.
[BOOTLIB]: Support for EFI Firmware device enumeration, driver attachment, and comparison.
[BOOTLIB]: Support for appending BOOLEAN or INTEGER BCD options.
Next step is the PE loader.

svn path=/trunk/; revision=70618

4 years ago[TRANSLATIONS] Turkish translation update by Erdem Ersoy. CORE-10805
Amine Khaldi [Mon, 18 Jan 2016 19:20:44 +0000 (19:20 +0000)]
[TRANSLATIONS] Turkish translation update by Erdem Ersoy. CORE-10805

svn path=/trunk/; revision=70616

4 years ago[BOOTMGR]: Implement support for getting the default boot entry, the current boot...
Alex Ionescu [Mon, 18 Jan 2016 18:16:49 +0000 (18:16 +0000)]
[BOOTMGR]: Implement support for getting the default boot entry, the current boot menu policy, and finish implementation of getting the selected boot entry.
[BOOTMGR]: Stubplement support for catching keystrokes right before boot (such as F8, F10). No key input is actually read.
Boot Manager now attempts to load the winload entry as part of BmpLaunchBootEntry.

svn path=/trunk/; revision=70615

4 years ago[HIVEBCD]: Fix wrong element type for application device element.
Alex Ionescu [Mon, 18 Jan 2016 16:54:44 +0000 (16:54 +0000)]
[HIVEBCD]: Fix wrong element type for application device element.
[BOOTMGR]: Implement boot sequence population. We correctly detect our winload.efi entry in the BCD hive.
[BOOTMGR]: Document more application entry flags.
[BOOTLIB]: Document and implement BCD object description parsing. Based off BCD Reference Guide / Geoff Chappel's website.
[BOOTLIB]: Add support for appending a boot option to an entry.

svn path=/trunk/; revision=70614

4 years ago[BOOTMGFW]: Implement BmEnumerateBootEntries.
Alex Ionescu [Mon, 18 Jan 2016 05:26:10 +0000 (05:26 +0000)]
[BOOTMGFW]: Implement BmEnumerateBootEntries.
[BOOTLIB]: Implement BlGetOptionGuid. All BCD option APIs should now be implemented.
[BOOTLIB]: Fix memory corruption + out-of-bounds bugs in BlAppendBootOptions, which made the BCD options remain empty.

svn path=/trunk/; revision=70611

4 years ago[HIVEBCD]: Implement an entire wholeseome BCD boot hive, including multiple levels...
Alex Ionescu [Mon, 18 Jan 2016 04:18:12 +0000 (04:18 +0000)]
[HIVEBCD]: Implement an entire wholeseome BCD boot hive, including multiple levels of inheritance (globalsettings, dbgsettings, emssettings, bootloadersettings), plus entries for {memdiag}, {bootmgr} and {winload}.
[BOOTLIB]: Fix a bug in BCD parsing which was causing massive heap corruption. Became evident with the increased complexity of the new BCD hive.

svn path=/trunk/; revision=70610

4 years ago[CMLIB/NTOSKRNL]: Move key deletion functions to cmlib, so that UEFI boot library...
Alex Ionescu [Sun, 17 Jan 2016 21:48:00 +0000 (21:48 +0000)]
[CMLIB/NTOSKRNL]: Move key deletion functions to cmlib, so that UEFI boot library can use them.
[BOOTLIB]: Implement BCD element deletion (bootreg: implement key deletion)
[BOOTMGR]: Implement BL_FATAL_ERROR_BCD_ENTRIES fatal error.
[BOOTMGR]: Stubplement support for memory list data parsing (when memtest.efi will run), and stubplement support for boot persistent data blobs.
[BOOTMGR]: Stubplement boot sequence support, create stub for boot entry population.
[BOOTMGR]: Stubplement boot entry selection, create stub for boot entry enumeration.
Mostly factoring-level changes to get us closer to the needed code paths.

svn path=/trunk/; revision=70609

4 years ago[USERINIT]
Eric Kohl [Sun, 17 Jan 2016 19:37:18 +0000 (19:37 +0000)]
[USERINIT]
Add missing newline for MSVC.

svn path=/trunk/; revision=70608

4 years ago[USERINIT]
Eric Kohl [Sun, 17 Jan 2016 19:20:47 +0000 (19:20 +0000)]
[USERINIT]
Add two dialogs that are shown when the LiveCD is booted. The first dialog is used to select the language and keyboard layout. The second dialog is used to either start the shell or the GUI installer. Language and keyboard layout selection are still work in progress.

svn path=/trunk/; revision=70607

4 years ago[FLOPPY]
Sylvain Petreolle [Sun, 17 Jan 2016 16:59:55 +0000 (16:59 +0000)]
[FLOPPY]
Check for controller configuration status.
CORE-10761 #comment Please retest.

svn path=/trunk/; revision=70606

4 years ago[CMLIB]
Hermès Bélusca-Maïto [Sun, 17 Jan 2016 02:12:37 +0000 (02:12 +0000)]
[CMLIB]
- Now that both FreeLdr and MKHIVE use the regular (aka. the "NT-style public") CMLIB functions, get rid of the "old-style public" cmlib functions, with the exception of CmCreateRootNode and CmPrepareHive which remain for now due to a slight different implementation difference between NT and ours. Remove the cmtools.c file containing those old functions.
- Remove the now-deprecated VALUE_LIST_CELL structure (which was an old version of CELL_DATA:KeyList).
- When freeing hive bins (in HvpFreeHiveBins), use the storage number count stored in the hive instead of a constant value.
- Flat hives have only one storage type (they are read-only and reside only in memory).
CORE-10802
CORE-10793

svn path=/trunk/; revision=70605

4 years ago[FREELDR]
Hermès Bélusca-Maïto [Sun, 17 Jan 2016 01:42:11 +0000 (01:42 +0000)]
[FREELDR]
Make FreeLdr fully using the CMLIB library. CORE-10802 #resolve
CORE-10793

svn path=/trunk/; revision=70604

4 years ago[MKHIVE]
Hermès Bélusca-Maïto [Sun, 17 Jan 2016 01:29:43 +0000 (01:29 +0000)]
[MKHIVE]
- Fix two warnings in GCC Linux build (in KeBugCheckEx and in a call to the helper function RepGetValueData).
- Remove two unused RTL ANSI functions.
- Fix USHORT vs. ULONG type misuage.
- Fix SIZE_T vs. ULONG usage.

svn path=/trunk/; revision=70603

4 years ago[MKHIVE]
Hermès Bélusca-Maïto [Sun, 17 Jan 2016 00:50:03 +0000 (00:50 +0000)]
[MKHIVE]
- Make mkhive tool correctly initialize the Max(Value)[Name|Data]Length members of HHIVE structure. CORE-10794 #resolve
- Add default security hive descriptors to our mkhive-built registry hives. CORE-10795 #resolve
- Make MKHIVE fully using the CMLIB library. CORE-10802
CORE-10793

svn path=/trunk/; revision=70602

4 years ago[CMLIB]
Hermès Bélusca-Maïto [Sat, 16 Jan 2016 23:54:45 +0000 (23:54 +0000)]
[CMLIB]
- One less hardcoded number.
- Minor code formatting.

[NTOS]
- Minor code formatting (cmvalche.c).
- The key-node timestamp can usually be retrieved without using another temporary value.
- The security descriptor copy allocated for the hive can be freed after it was assigned to it.

[MKHIVE]
- Minor formatting of the source headers.
- Update the list of registry value types; add another error code (to be used later on).
- Remove now unused "ntoskrnl.h" header.

CORE-10793

svn path=/trunk/; revision=70601

4 years ago[MMC]
Eric Kohl [Sat, 16 Jan 2016 15:17:12 +0000 (15:17 +0000)]
[MMC]
- Prepare the 'file open', 'file save' and 'file save as' actions.
- Store the file name in the console struncture.

svn path=/trunk/; revision=70600

4 years ago[BOOTDATA]
Hermès Bélusca-Maïto [Sat, 16 Jan 2016 00:30:01 +0000 (00:30 +0000)]
[BOOTDATA]
- Add "aif" and "aiff" to the supported MCI Extensions.
- Remove an extra erroneous "rmi" entry that was wrongly marked as being of type "MPEGVideo".

svn path=/trunk/; revision=70597

4 years ago[MOUNTMGR]
Pierre Schweitzer [Fri, 15 Jan 2016 21:12:57 +0000 (21:12 +0000)]
[MOUNTMGR]
Warn when stubling upon Winism.

svn path=/trunk/; revision=70596

4 years ago[FREELDR]
Hermès Bélusca-Maïto [Thu, 14 Jan 2016 20:00:18 +0000 (20:00 +0000)]
[FREELDR]
- Since the registry handling rewrite of Timo in r61595 all the freeldr-specific registry structures got deprecated. Remove them, as well as few other prototypes of non-existing functions.
- Use the CMLIB registry flags instead of some (already-removed) flags --> fix build.

svn path=/trunk/; revision=70594

4 years ago[CMLIB]
Hermès Bélusca-Maïto [Thu, 14 Jan 2016 18:03:35 +0000 (18:03 +0000)]
[CMLIB]
- Do not define _NTOSKRNL_ at compilation time, keep only the _NTSYSTEM_ define (and NASSERT).
- Remove deprecated unused private flags.
- Modify CmCreateRootNode to make it look more similar to the CmpCreateRootNode function of ntoskrnl/config/cmsysini.c, to ease future code adaptation in cmlib & mkhive and then deprecate CmCreateRootNode in favour of CmpCreateRootNode.

svn path=/trunk/; revision=70593

4 years ago[VFATLIB]: Comments (and DPRINT) fixes only.
Hermès Bélusca-Maïto [Wed, 13 Jan 2016 14:12:04 +0000 (14:12 +0000)]
[VFATLIB]: Comments (and DPRINT) fixes only.

svn path=/trunk/; revision=70583

4 years ago[CMLIB]
Hermès Bélusca-Maïto [Wed, 13 Jan 2016 01:40:58 +0000 (01:40 +0000)]
[CMLIB]
- Fix HBLOCK_SIZE vs. HSECTOR_SIZE mix-ups in HvpGetHiveHeader.
- Add a function to create cluster-aligned hive base blocks (HBASE_BLOCK) based on the existing code of HvpGetHiveHeader, and use it everytime we need to allocate HBASE_BLOCKs.
- Keep the actual base block size in the BaseBlockAlloc member, and use this value for the "quota" parameter when we free the blocks.
- Introduce & use a function to initialize the hive file name array (mainly used for debugging purposes).
- "HvpInitializeMemoryInplaceHive" should read "HvpInitializeFlatHive" instead since this function is used to initialize a flat hive. Memory-in-place hives are a different thing.
- Fix some memory leaks in the error paths of HvLoadHive.
- Initialize some additional hive members in HvInitialize(Hive).

svn path=/trunk/; revision=70582

4 years ago[CMLIB]: Better fix for r70580.
Hermès Bélusca-Maïto [Tue, 12 Jan 2016 22:22:18 +0000 (22:22 +0000)]
[CMLIB]: Better fix for r70580.

svn path=/trunk/; revision=70581

4 years ago[CMLIB]: Fix host-tool compilation (+ add a comment).
Hermès Bélusca-Maïto [Tue, 12 Jan 2016 22:17:39 +0000 (22:17 +0000)]
[CMLIB]: Fix host-tool compilation (+ add a comment).

svn path=/trunk/; revision=70580

4 years ago[CMLIB]
Hermès Bélusca-Maïto [Tue, 12 Jan 2016 21:37:36 +0000 (21:37 +0000)]
[CMLIB]
- Fix some structure definitions to match Win2k3 symbols (define also _SECURITY_DESCRIPTOR_RELATIVE for the host-tools so that the CM_KEY_SECURITY structure is always correctly defined).
- Complete other structure definitions with respect to the NT version defined at compile time; http://msdn.mirt.net/ was used as the source of information.
- Add the definition of CM_BIG_DATA for supporting big valued keys (see also http://www.msuiche.net/2009/06/07/windows-vista-and-later-registry-secrets/ for what they are).

[NTOS]
- Move CM functions defined in the CMLIB out of the internal ntoskrnl headers.

svn path=/trunk/; revision=70579

4 years ago[ROSVBOXMGMT]
Pierre Schweitzer [Mon, 11 Jan 2016 22:41:32 +0000 (22:41 +0000)]
[ROSVBOXMGMT]
Let's add hacks to glue hacks together:
In case rosvboxmgmt is started with its current directory not being the directory where it is along with hackssign_client.exe, then autoassign fails finding the hackssign client executable and thus, fails assigning drive letter.
This is what happens when you starts rosvboxmgmt on boot with shell.
So, when using autoassign, first look for the location of rosvboxmgmt and set our current directory there.

This fixes rosvboxmgmt autoassign not working on boot.

CORE-10032
ROSAPPS-303

svn path=/trunk/; revision=70578

4 years ago[DESK.CPL]
Hermès Bélusca-Maïto [Mon, 11 Jan 2016 20:52:44 +0000 (20:52 +0000)]
[DESK.CPL]
Resolution selection improvement patch by Mark Jansen:
- Fix a bug that allowed only a subset of resolutions to be visible.
- Update the preview on the fly when dragging the resolution slider.
- Fix a bug that prevented the monitor preview from properly invalidating the preview, leaving the old preview partially visible.
Needs to be included in 0.4 branch.
CORE-10786

svn path=/trunk/; revision=70577

4 years ago[vfatlib]
Eric Kohl [Mon, 11 Jan 2016 20:44:06 +0000 (20:44 +0000)]
[vfatlib]
- Use a single wipe function (FatWipeSectors) for FAT12, FAT16 and FAT32.
- Code has been reviewed by Hermès and me. Ready for merge into 0.4.

svn path=/trunk/; revision=70576

4 years ago[NTOS:CONFIG]
Hermès Bélusca-Maïto [Mon, 11 Jan 2016 00:37:44 +0000 (00:37 +0000)]
[NTOS:CONFIG]
Remove a very old hack (that dated back from the Configuration Manager rewrite): now the hives are already correctly loaded in memory, therefore there is no need to call CmCreateRootNode after creating a hive, because the root node is subsequently initialized with calls to CmpCreateLinkNode. The comment saying that calls to CmCreateRootNode can be removed when CmpCreateLinkNode is used, is now in order. This means we correctly parse & mount the hives. The CmCreateRootNode function is now only used in the 'mkhive' tool in order to create file hives, since this tool needs to create new hives from nowhere (that's why also our bootloaders do not need this function: they only load & parse existing hive files).

The fact that this hack remained caused us hidden troubles: some hives (SAM, SOFTWARE) had "two" root keys: a first one that was unused (which was created by this hackish call), and the second one which was the one used (and was created by CmpCreateLinkNode as expected).

svn path=/trunk/; revision=70575

4 years ago[SCSIPORT]
Eric Kohl [Sun, 10 Jan 2016 22:39:25 +0000 (22:39 +0000)]
[SCSIPORT]
Fix indentation! No code changes!

svn path=/trunk/; revision=70574

4 years ago[NTOS:CONFIG]
Hermès Bélusca-Maïto [Sun, 10 Jan 2016 22:35:09 +0000 (22:35 +0000)]
[NTOS:CONFIG]
- Remove useless casts.
- Fix a REG_OPTION_* hack.

svn path=/trunk/; revision=70573

4 years ago[NDK]
Eric Kohl [Sun, 10 Jan 2016 21:26:46 +0000 (21:26 +0000)]
[NDK]
Add PLUGPLAY_CONTROL_RETRIEVE_DOCK_DATA.

svn path=/trunk/; revision=70572

4 years ago[INTL]
Eric Kohl [Sun, 10 Jan 2016 21:12:23 +0000 (21:12 +0000)]
[INTL]
- Remove the Advanced page for non-admin users.
- Disable the 'complex script' and 'east asian language' checkboxes for non-admin users.

svn path=/trunk/; revision=70571

4 years ago[PSDK]
Timo Kreuzer [Sun, 10 Jan 2016 19:46:16 +0000 (19:46 +0000)]
[PSDK]
Add missing dbghelp.h definitions

svn path=/trunk/; revision=70570

4 years ago[CREATESPEC]
Timo Kreuzer [Sun, 10 Jan 2016 18:50:36 +0000 (18:50 +0000)]
[CREATESPEC]
- Implement retrieving export names from forwarders
- Add error() function to print errors
- Refactor image/symbol loading
- Fix some bugs and add some hacks, so that it compiles in out tree
- Add to build

svn path=/trunk/; revision=70569

4 years ago[LSASRV]
Eric Kohl [Sun, 10 Jan 2016 13:01:29 +0000 (13:01 +0000)]
[LSASRV]
Add credential function stubs to the lsa dispatch table.

svn path=/trunk/; revision=70568

4 years ago[LSASRV]
Eric Kohl [Sun, 10 Jan 2016 12:44:35 +0000 (12:44 +0000)]
[LSASRV]
Add missing exports.

svn path=/trunk/; revision=70567

4 years ago[ADVAPI32]
Eric Kohl [Sun, 10 Jan 2016 10:27:46 +0000 (10:27 +0000)]
[ADVAPI32]
Implement LsaOpenPolicySce.
[LSASRV]
Update the LsarOpenPolicySce prototype.

svn path=/trunk/; revision=70566

4 years ago[CMLIB][NTOS:CONFIG]
Hermès Bélusca-Maïto [Sun, 10 Jan 2016 02:16:39 +0000 (02:16 +0000)]
[CMLIB][NTOS:CONFIG]
- The BaseBlock->Length member is really the size in bytes of the full hive, minus the header (base) block size.
- Remove the last remnents of the "hack of doom" aka. the one similar in magnitude to the US national debt, addendum to r61621 and r26712. The FileSize can be computed with BaseBlock->Length.

svn path=/trunk/; revision=70565

4 years ago[NTOS:CONFIG]
Hermès Bélusca-Maïto [Sun, 10 Jan 2016 01:28:04 +0000 (01:28 +0000)]
[NTOS:CONFIG]
- Use the standard "CmHive" naming (that is used in all the rest of the 'config' module) for the first parameter of CmpInitializeHive.
[CMLIB]
- Fix the order of the 'HiveFlags'/'FileType' parameters in HvInitialize (the function 'CmGetSystemControlValues' in ntoskrnl/config/cmcontrl.c got them right already).

svn path=/trunk/; revision=70564

4 years ago[CMLIB]: Use the HvGetCell* macros where it's possible.
Hermès Bélusca-Maïto [Sat, 9 Jan 2016 23:50:10 +0000 (23:50 +0000)]
[CMLIB]: Use the HvGetCell* macros where it's possible.

svn path=/trunk/; revision=70563

4 years ago[CMLIB]: Go from 3-space indentation to 4-space.
Hermès Bélusca-Maïto [Sat, 9 Jan 2016 23:42:45 +0000 (23:42 +0000)]
[CMLIB]: Go from 3-space indentation to 4-space.

svn path=/trunk/; revision=70562

4 years ago[CMLIB]
Hermès Bélusca-Maïto [Sat, 9 Jan 2016 23:15:05 +0000 (23:15 +0000)]
[CMLIB]
- HV_BLOCK_SIZE and HBLOCK_SIZE are the same thing; prefer the newly introduced HBLOCK_SIZE define.
- Improve the HvGetCell* macros.
- Add next to the defined hive signatures what their corresponding strings are (for documentation purpose).
- Some whitespace fixes in the headers.

svn path=/trunk/; revision=70561

4 years ago[DEVMGR]
Eric Kohl [Sat, 9 Jan 2016 22:22:17 +0000 (22:22 +0000)]
[DEVMGR]
Set the focus to the treeview when the main window recieves a WM_ACTIVATE message.
CORE-10769 #resolve #comment Fixed in r70560.

svn path=/trunk/; revision=70560

4 years ago[CREATESPEC]
Timo Kreuzer [Sat, 9 Jan 2016 19:05:14 +0000 (19:05 +0000)]
[CREATESPEC]
Small utility to auto-create spec files. Uses MS symbol server to evaluate data not available in the export table. Features:
- Parse export table for export names and forwarders
- Find function name for nameless exports
- Recognize calling convention / data exports
- Analyze function parameters

svn path=/trunk/; revision=70559

4 years ago[USETUP]: Do not append an extra NULL-terminator when updating freeldr.ini
Hermès Bélusca-Maïto [Sat, 9 Jan 2016 11:39:56 +0000 (11:39 +0000)]
[USETUP]: Do not append an extra NULL-terminator when updating freeldr.ini

svn path=/trunk/; revision=70558

4 years ago[USETUP]: Since calling RtlAllocateHeap with the HEAP_ZERO_MEMORY flag works as expec...
Hermès Bélusca-Maïto [Sat, 9 Jan 2016 11:22:20 +0000 (11:22 +0000)]
[USETUP]: Since calling RtlAllocateHeap with the HEAP_ZERO_MEMORY flag works as expected, just use it instead of manually zero-out the newly-created buffer just after.

svn path=/trunk/; revision=70557

4 years ago[BOOTMGFW]: Implement the final boot selection & launch loop.
Alex Ionescu [Sat, 9 Jan 2016 05:39:18 +0000 (05:39 +0000)]
[BOOTMGFW]: Implement the final boot selection & launch loop.
[BOOTMLIB]: Implement a few more BCD option functions.
Minus a PE loader (BmpLaunchBootEntry) and some more BCD parsing (BmpGetSelectedBootEntry) with some glue in between, the UEFI Boot Manager is nearly done. Once it is, it will be time to implement the actual loader -- Winload.efi. The good news is that we'll have all of bootlib already good to go (with all its hacks). The bad news is that Winload will turn on paging, so all those unimplemented paths and UEFI mode switches will have to be made to work.

svn path=/trunk/; revision=70556

4 years ago[DEVMGR]: Keep the computer name as it is, don't lower-case it.
Hermès Bélusca-Maïto [Fri, 8 Jan 2016 21:14:13 +0000 (21:14 +0000)]
[DEVMGR]: Keep the computer name as it is, don't lower-case it.

svn path=/trunk/; revision=70555

4 years ago[CDMAKE]: Improve an error message.
Hermès Bélusca-Maïto [Fri, 8 Jan 2016 20:27:55 +0000 (20:27 +0000)]
[CDMAKE]: Improve an error message.

svn path=/trunk/; revision=70554

4 years ago[CDMAKE]
Hermès Bélusca-Maïto [Fri, 8 Jan 2016 20:25:30 +0000 (20:25 +0000)]
[CDMAKE]
- #if _WIN32 --> #ifdef _WIN32
- Define the "max" macro only if needed.
- Fix a comment.
- Plug a memory leak ('case_name' not freed in the "!*case_name" case of the dir_hash_create_dir function).
- Return a non-zero value (the file structure pointer) from dir_hash_add_file in case we succeed in creating the file in the ISO structure, and NULL otherwise (i.e. when the filename is empty). In that latter case we fail the hard way. No-named files are completely invalid in ISO archives. Now, the following testcase (e.g. to be added into bootcd.lst):
reactos/reactos.exe/=C:/test/reactos.exe
fails as expected (before, we were able to create a directory named "reactos/reactos.exe", and inside, a no-named file with the contents of C:/test/reactos.exe).

svn path=/trunk/; revision=70553

4 years ago[CDMAKE]
Hermès Bélusca-Maïto [Fri, 8 Jan 2016 18:43:46 +0000 (18:43 +0000)]
[CDMAKE]
- Optimize splitting paths (merge chop_dirname and chop_filename functions).
- Make the code working as expected for the following testcases (you can test these by adding the following lines into e.g. bootcd.lst):
testdir1   --> create "testdir1" in the root directory.
testdir2/  --> create "testdir2" in the root directory. No no-named subdirectory is created.
testdir3// --> create "testdir3" in the root directory. No no-named subdirectory is created.
dir1//\/dir14///\//\//   --> create "dir1" in the root directory, and "dir14" inside dir1. No no-named subdirectory is created.
EFI/ReactOS/Boot/Fonts//chs_boot.ttf=C:/somepath/chs_boot.ttf --> create the directories "EFI/ReactOS/Boot/Fonts", no no-named subdirectory is created, and create in the Fonts directory the file "chs_boot.ttf".

Before those changes, empty no-named (therefore, invalid) subdirectories were created in the second, third and fourth testcases, and an obscure error was returned in the fifth testcase.

svn path=/trunk/; revision=70552

4 years ago[ACPICA]
Thomas Faber [Fri, 8 Jan 2016 16:41:39 +0000 (16:41 +0000)]
[ACPICA]
- Update to version 20160108

svn path=/trunk/; revision=70551

4 years ago[ACPICA]
Thomas Faber [Fri, 8 Jan 2016 16:37:52 +0000 (16:37 +0000)]
[ACPICA]
- Actually use the BSD/GPL licensed version as we should be, instead of the Intel license

svn path=/trunk/; revision=70550

4 years ago[BOOTMGR]: Fix missing '\r' for EfiPrintf newlines, and few misspellings.
Hermès Bélusca-Maïto [Fri, 8 Jan 2016 15:01:11 +0000 (15:01 +0000)]
[BOOTMGR]: Fix missing '\r' for EfiPrintf newlines, and few misspellings.

svn path=/trunk/; revision=70549

4 years ago[FATTEN]: Set the directory volume label in addition to the bootsector label.
Hermès Bélusca-Maïto [Fri, 8 Jan 2016 13:51:45 +0000 (13:51 +0000)]
[FATTEN]: Set the directory volume label in addition to the bootsector label.
[FATFS]: For FAT12 volumes, do not expand the FAT size.

svn path=/trunk/; revision=70548

4 years ago[FATFS]: When creating a directory (or setting the volume label), the create time...
Hermès Bélusca-Maïto [Fri, 8 Jan 2016 13:22:23 +0000 (13:22 +0000)]
[FATFS]: When creating a directory (or setting the volume label), the create time should be set correctly.

svn path=/trunk/; revision=70547

4 years ago[FATTEN:FATFS]: Minor code reshuffling to make ease for syncing with future versions...
Hermès Bélusca-Maïto [Fri, 8 Jan 2016 12:59:19 +0000 (12:59 +0000)]
[FATTEN:FATFS]: Minor code reshuffling to make ease for syncing with future versions of the FatFS library (currently 0.11a).

svn path=/trunk/; revision=70546

4 years ago[FATTEN]: FAT FS month is 1-based.
Hermès Bélusca-Maïto [Fri, 8 Jan 2016 12:14:53 +0000 (12:14 +0000)]
[FATTEN]: FAT FS month is 1-based.

svn path=/trunk/; revision=70545

4 years ago[BOOTMGFW]: Last few straggling initialization checks.
Alex Ionescu [Fri, 8 Jan 2016 06:19:14 +0000 (06:19 +0000)]
[BOOTMGFW]: Last few straggling initialization checks.
[BOOTMGFW]: Recover the boot sequence from the BCD and entire the boot selection stage. Now the fun begins.

svn path=/trunk/; revision=70544

4 years ago[BOOTMGFW]: Implement additional startup logic
Alex Ionescu [Fri, 8 Jan 2016 06:03:55 +0000 (06:03 +0000)]
[BOOTMGFW]: Implement additional startup logic
[BOOTLIB]: Implement initial SecureBoot support.
[BOOTLIB]: Implement UEFI Variable query support.

svn path=/trunk/; revision=70543

4 years agoThree tiny squirmy subtle bugs combined themselves with the bug that was just fixed...
Alex Ionescu [Fri, 8 Jan 2016 01:18:08 +0000 (01:18 +0000)]
Three tiny squirmy subtle bugs combined themselves with the bug that was just fixed to make bootmgfw believe it was being booted from a raw removable disk (floppy). Because bootmgfw now correctly enumerates boot devices and detects the DVD/CDROM media, it could no longer 'find itself', believing it was on a floppy.
[BOOTLIB]: When failing to find a block device, keep going searching for more, instead of giving up (critical, because the CDROM FAT12 image is now device path #1, not #0).
[BOOTMGR]: Correctly use the right logical operator in EfiInitpGetDeviceNode to get the deepest-level media device node. We now get the CDROM node, not the raw node.
[CDMAKE]: Don't actually create an EFI/BOOT directory on the CDROM itself, but rather in the FAT12 image. Otherwise, this can confuse UEFI implementations to boot the boot manager off the raw CDROM, instead of the FAT12 image on the CDROM.

svn path=/trunk/; revision=70542

4 years ago[BOOTLIB]: Fix a few subtle bugs which made us incorrectly believe that we were booti...
Alex Ionescu [Fri, 8 Jan 2016 00:15:00 +0000 (00:15 +0000)]
[BOOTLIB]: Fix a few subtle bugs which made us incorrectly believe that we were booting from a raw removable drive. We now correctly detect that we are booting off CDROM media. Of course, now everything else is hopelessly broken and we've regressed to die before we get anywhere. Progress.

svn path=/trunk/; revision=70540

4 years ago[BOOTLIB]: ACPI support (RSDP, XSDT/RSDT and arbitrary table lookup + mapping)
Alex Ionescu [Thu, 7 Jan 2016 23:43:15 +0000 (23:43 +0000)]
[BOOTLIB]: ACPI support (RSDP, XSDT/RSDT and arbitrary table lookup + mapping)
[BOOTLIB]: Additional text and graphics console support. Among other things, we have now gained the ability to fill a buffer with a particular color.
[BOOTLIB]: OEM Bitmap (ACPI 5!) support.
[BOOTMGR]: Continue making a few more initialization calls now that bootlib supports more functionality.

svn path=/trunk/; revision=70539

4 years ago[ACPI.H]: Fix broken definition of RSDP_SIGNATURE
Alex Ionescu [Thu, 7 Jan 2016 23:25:49 +0000 (23:25 +0000)]
[ACPI.H]: Fix broken definition of RSDP_SIGNATURE
[ACPI.H]: Add BGRT_TABLE definition.

svn path=/trunk/; revision=70538

4 years ago[ROSVBOXMGMT]
Pierre Schweitzer [Thu, 7 Jan 2016 22:44:33 +0000 (22:44 +0000)]
[ROSVBOXMGMT]
Update the registry configuration to reflect the recent changes to rosvboxmgmt.
Just uncomment the line matching the behavior you prefer.

CORE-10032
ROSAPPS-303

svn path=/trunk/; revision=70537

4 years ago[ROSVBOXMGMT]
Pierre Schweitzer [Thu, 7 Jan 2016 22:43:00 +0000 (22:43 +0000)]
[ROSVBOXMGMT]
Introduce another automagic thing. Instead of creating shortlinks once shared folders have been enumerated, just assign them a drive letter!
See it in action: https://twitter.com/HeisSpiter/status/685229912748371968

Choose the one you prefer for 0.4.0 :-)

CORE-10032
ROSAPPS-303

svn path=/trunk/; revision=70536

4 years ago[NTOS:PO]: Whitespace fixes only!
Hermès Bélusca-Maïto [Thu, 7 Jan 2016 20:00:05 +0000 (20:00 +0000)]
[NTOS:PO]: Whitespace fixes only!

svn path=/trunk/; revision=70535

4 years ago[FDC]
Pierre Schweitzer [Thu, 7 Jan 2016 19:23:55 +0000 (19:23 +0000)]
[FDC]
Fix FdcPower() stub so that it doesn't leak IRP on shutdown
Dedicated to Thomas.

CORE-10117

svn path=/trunk/; revision=70531

4 years ago[SMSS]
Hermès Bélusca-Maïto [Thu, 7 Jan 2016 19:03:35 +0000 (19:03 +0000)]
[SMSS]
- Reenable RTL_QUERY_REGISTRY_DELETE: the "PendingFileRenameOperations(2)" and "AllowProtectedRenames" registry values are deleted after being parsed: we don't retry at every reboot to remove/rename files that were already deleted/renamed.
- Remove superfluous parentheses.
- Warn a FIXME if SFC-protected file renames are allowed and we are processing file renames (the "protected file renames" stuff is unimplemented atm.)

svn path=/trunk/; revision=70530

4 years ago[SMSS]
Hermès Bélusca-Maïto [Thu, 7 Jan 2016 16:57:05 +0000 (16:57 +0000)]
[SMSS]
- Use CRT string functions to loop through multi-strings.
- Do not fail the full KnownDll setup if one dll fails to load. Instead, just properly skip the file (and related to that, fix a bug when skipping excluded known dll files).
- Page files should be created only when we are not in WinPE mode (aka. MiniNTBoot = FALSE).
- Formatting fix in smloop.c, no code change.

svn path=/trunk/; revision=70529

4 years ago[BOOTDATA]
Hermès Bélusca-Maïto [Thu, 7 Jan 2016 15:14:40 +0000 (15:14 +0000)]
[BOOTDATA]
- Add support for opening ICO, EMF, TIF and WMF files with the shell image viewer since it already implements what is needed (via gdiplus).
- Add some missing "Content Type" (MIME type) and "PerceivedType" values for the image extensions.

[SHIMGVW]
- Enable the resource strings for EMF, TIF and WMF files since we actually support them.

Should be merged for 0.4 branch.

svn path=/trunk/; revision=70528

4 years ago[SHELL32]: Nicely handle network drives in property dialog (and their icon). By Jared...
Hermès Bélusca-Maïto [Thu, 7 Jan 2016 14:04:07 +0000 (14:04 +0000)]
[SHELL32]: Nicely handle network drives in property dialog (and their icon). By Jared Smudde. To be synced for 0.4.0. CORE-10779

svn path=/trunk/; revision=70527

4 years ago[USBEHCI]: Fix a wrong DPRINT string (caught by Thomas).
Hermès Bélusca-Maïto [Thu, 7 Jan 2016 13:44:20 +0000 (13:44 +0000)]
[USBEHCI]: Fix a wrong DPRINT string (caught by Thomas).

svn path=/trunk/; revision=70526

4 years ago[BOOTDATA]: Fix encoding and broken french translation caused by r70375.
Hermès Bélusca-Maïto [Thu, 7 Jan 2016 13:31:46 +0000 (13:31 +0000)]
[BOOTDATA]: Fix encoding and broken french translation caused by r70375.

svn path=/trunk/; revision=70523

4 years ago[LDR]
Aleksey Bragin [Thu, 7 Jan 2016 12:09:03 +0000 (12:09 +0000)]
[LDR]
- Implement support for manifest prober routine in LdrpWalkImportDescriptor, in its simplest way
- Implement such routine in kernel32 (that's mostly a copy of Wine's create_module_activation_context which seems to nicely correspond to what Windows does).
- As create_module_activation_context is moved into kernel32, delete it from ntdll
- Improve debug output in RTL's Activation Context implementation to ease debugging
- Now, ReactOS indeed looks for and actually loads manifests when loading modules. Thanks to http://blog.tombowles.me.uk/2009/10/05/winsxs/ for a really good description of how activation contexts work
CORE-7313

svn path=/trunk/; revision=70522

4 years ago[BOOTLIB]: More debug print cleanups
Alex Ionescu [Thu, 7 Jan 2016 05:30:18 +0000 (05:30 +0000)]
[BOOTLIB]: More debug print cleanups
[BOOTLIB]: Fix incorrect use of flag introduced a few revisions ago. This fixes <1MB RAM descriptors.
[BOOTLIB]: Enable BmFwMemoryInitialize, since it works now.
All (known) bugs are fixed, bootmgr is back on track.

svn path=/trunk/; revision=70516

4 years ago[BOOTLIB]: Cleanup some debug prints.
Alex Ionescu [Thu, 7 Jan 2016 05:14:26 +0000 (05:14 +0000)]
[BOOTLIB]: Cleanup some debug prints.
[BOOTLIB]: Fix two big device I/O bugs (it's a miracle it worked)
[BOOTLIB]: Use defined constants and comment some more device I/O code.

svn path=/trunk/; revision=70515

4 years ago[BOOTLIB]: Add support for initializing the input console object.
Alex Ionescu [Thu, 7 Jan 2016 04:28:13 +0000 (04:28 +0000)]
[BOOTLIB]: Add support for initializing the input console object.
[BOOTLIB]: Add a bunch more graphical console support functions.
[BOOTLIB]: Cleanup some older graphics-related code.
[BOOTLIB]: Support graphics re-initialization. We now correctly fallback to text mode since font loading is not implemented.

svn path=/trunk/; revision=70514

4 years ago[BOOTVID_FONGEN]
Hermès Bélusca-Maïto [Thu, 7 Jan 2016 01:23:51 +0000 (01:23 +0000)]
[BOOTVID_FONGEN]
- Fix a comment;
- Less hardcoded values.

svn path=/trunk/; revision=70513

4 years ago[BOOTVID_FONT_GEN]
Hermès Bélusca-Maïto [Thu, 7 Jan 2016 00:29:41 +0000 (00:29 +0000)]
[BOOTVID_FONT_GEN]
Improve the bootvid font generator of Colin (see r70507) in many ways:
- Allow the user to specify the font name (optional), and optionally a font size and x- and y-offset so that (s)he doesn't have to recompile the generator each time (s)he wants to test a new font.
- The default settings (in case the user doesn't specify all or part of the font definition) are those of Windows' bootvid font (i.e. "Lucida Console", font size 10, x_offset = y_offset = 0).
- Create only once the DC and the font handle (to be used for all the generated characters) instead of each time a character is being generated. I still keep the recreation of the HBITMAP for each character (I don't know if we can also improve there by creating it once and zeroing it out before generating each character).

svn path=/trunk/; revision=70512

4 years ago[USB(E|O|U)HCI]: Handle failure cases of BuildTransferDescriptorChain. By contributor...
Hermès Bélusca-Maïto [Wed, 6 Jan 2016 23:43:38 +0000 (23:43 +0000)]
[USB(E|O|U)HCI]: Handle failure cases of BuildTransferDescriptorChain. By contributor 'vgal'. This is needed for gracefully handling failure cases hit during diagnosing CORE-8046.
CORE-10776

svn path=/trunk/; revision=70511

4 years ago[ROSVBOXMGMT]
Pierre Schweitzer [Wed, 6 Jan 2016 19:47:03 +0000 (19:47 +0000)]
[ROSVBOXMGMT]
Add a commented out way to automatically start `rosvboxmgmt auto' on start so that shortcuts for VBox shared folders are properly created.

This is to be enabled on 0.4.0.

CORE-10032
ROSAPPS-303

svn path=/trunk/; revision=70510

4 years ago[BOOTVID]: CORE-10777 #comment Sync the Plan-9 font to ARM bootvid. Addendum to r70508.
Hermès Bélusca-Maïto [Wed, 6 Jan 2016 17:39:08 +0000 (17:39 +0000)]
[BOOTVID]: CORE-10777 #comment Sync the Plan-9 font to ARM bootvid. Addendum to r70508.

svn path=/trunk/; revision=70509

4 years ago[BOOTVID] Use plan 9 8x13 font from Markus Kuhn. Patch by Roy Tam. CORE-10777
Amine Khaldi [Wed, 6 Jan 2016 15:43:24 +0000 (15:43 +0000)]
[BOOTVID] Use plan 9 8x13 font from Markus Kuhn. Patch by Roy Tam. CORE-10777

svn path=/trunk/; revision=70508

4 years ago[BOOTVID]
Colin Finck [Wed, 6 Jan 2016 09:31:53 +0000 (09:31 +0000)]
[BOOTVID]
Change the Blue Screen Font hardcoded into bootvid.dll to the Open Source "Anonymous Pro" font, which makes a nice 8x13 font.
Blue Screens now look like this: http://fs5.directupload.net/images/160106/ehv6245t.png

[BOOTVID_FONT_GENERATOR]
In case you find an even better font, you now have a nice little tool to test that font and generate the corresponding FontData array for bootvid.

svn path=/trunk/; revision=70507

4 years ago[BOOTLIB]: Add very early work around font loading.
Alex Ionescu [Wed, 6 Jan 2016 04:43:23 +0000 (04:43 +0000)]
[BOOTLIB]: Add very early work around font loading.
[BOOTLIB]: Add mostly full support for resource and locale management.
[BOOTLIB]: Stub out bootstat.dat (Boot Status Data Log) support.
[BOOTLIB]: Some refactoring.
[BOOTMGFW]: Add a message table with a few initial strings. Also add an empty bootmgr.xsl stylesheet. We'll have to see what we want/need to do here.
[BOOTMGFW]: Correctly loading HTML and message table resource data, and add a few other additional initialization calls.
Next steps are to re-visit graphics code to support re-initialization.

svn path=/trunk/; revision=70504

4 years agoI think almost 10 years of participation suffice to get into this file :)
Colin Finck [Wed, 6 Jan 2016 02:19:53 +0000 (02:19 +0000)]
I think almost 10 years of participation suffice to get into this file :)

svn path=/trunk/; revision=70501

4 years ago[ROSVBOXMGMT]
Pierre Schweitzer [Tue, 5 Jan 2016 22:56:20 +0000 (22:56 +0000)]
[ROSVBOXMGMT]
Add a new feature to the tool:
Let it auto start VBox Shared folders and to browse all the available shares in order to create shell links on desktop.
The purpose is to workaround the missing network shares discovery feature in ReactOS while keeping the VBox shared folders usage 'user-friendly'.

It has been designed specifically for the coming 0.4.0 release: just put it on autostart for the default user. If there are shares (even new ones), it will create links, if there are no shares, no guest additions, no VBox, it will just exit.

See it in action: https://twitter.com/HeisSpiter/status/684506579555741696

CORE-10032
ROSAPPS-303

svn path=/trunk/; revision=70500

4 years ago[ROSVBOXMGMT]
Pierre Schweitzer [Tue, 5 Jan 2016 21:42:54 +0000 (21:42 +0000)]
[ROSVBOXMGMT]
When displaying active shares, also display their names

svn path=/trunk/; revision=70499

4 years ago[NTOS:MM]: Don't hardcode Mm tags since we have a #define
Hermès Bélusca-Maïto [Tue, 5 Jan 2016 19:53:07 +0000 (19:53 +0000)]
[NTOS:MM]: Don't hardcode Mm tags since we have a #define

svn path=/trunk/; revision=70498

4 years ago[REACTOS]
Hermès Bélusca-Maïto [Tue, 5 Jan 2016 19:52:35 +0000 (19:52 +0000)]
[REACTOS]
Update the README files for 0.4.x releases.

svn path=/trunk/; revision=70497

4 years ago[NTOSKRNL]
Ged Murphy [Tue, 5 Jan 2016 18:58:32 +0000 (18:58 +0000)]
[NTOSKRNL]
- Use the LockQueueIoDatabaseLock spinlock to guard the device list instead of blindly raising the IRQL
- Add missing lock to IopEditDeviceList

svn path=/trunk/; revision=70496

4 years ago[FLTMGR]
Ged Murphy [Tue, 5 Jan 2016 18:43:26 +0000 (18:43 +0000)]
[FLTMGR]
- Fix a bug in FltpDetachFromFileSystemDevice so it correctly bails when we've walked the attached device list.
- FltpDispatch can come in at high IRQL. Thanks to Thomas for noticing that err.
- Add newlines to the end of DPRINTS (it's been a while...)
- The filter now loads and runs in the reactos FS stack.

svn path=/trunk/; revision=70495

4 years ago[DDK]: Add IMAGE_RESOURCE_DIRECTORY_ENTRY to NTIMAGE.H. I shudder to think how our...
Alex Ionescu [Tue, 5 Jan 2016 17:12:14 +0000 (17:12 +0000)]
[DDK]: Add IMAGE_RESOURCE_DIRECTORY_ENTRY to NTIMAGE.H. I shudder to think how our current code currently parses resource directories without this.

svn path=/trunk/; revision=70494

4 years ago[FLTMGR]
Ged Murphy [Tue, 5 Jan 2016 13:04:52 +0000 (13:04 +0000)]
[FLTMGR]
- Mark the Dispatch / FastIo functions as paged code
- Fix declarations and remove casts

svn path=/trunk/; revision=70493

4 years ago[BOOTLIB]: Separate out bcd.c into bcdopt.c, bootreg.c and bcd.c
Alex Ionescu [Tue, 5 Jan 2016 06:09:22 +0000 (06:09 +0000)]
[BOOTLIB]: Separate out bcd.c into bcdopt.c, bootreg.c and bcd.c
[BOOTLIB]: Implement routines to enumerate subkeys and to read a key value.
[BOOTLIB]: Implement routines to parse, enumerate, and convert registry data into BCD elements, and to convert BCD elements into boot library BCD options.
[BOOTLIB/BOOTMGFW]: Lots of cleanups, mainly around the fact we now use ntintsafe.h instead of the manually self-inlined code from before, and from documenting additional flag values, and from using our newfound BCD powers.
[BOOTMGFW]: Implement BmGetOptionList, BmpUpdateApplicationOptions.
[BOOTMGFW]: Prepare for post-BCD library reinitialization. We correctly read the 3 BCD options so far in the hive.

svn path=/trunk/; revision=70492

4 years ago[BOOTMGFW]: Implement the rtlcompat functions, so that Rtl string functions will...
Alex Ionescu [Tue, 5 Jan 2016 05:12:01 +0000 (05:12 +0000)]
[BOOTMGFW]: Implement the rtlcompat functions, so that Rtl string functions will actually work.
[HIVEBCD]: Start filling out a minimalistic BCD Hive layout to try out the BCD parsing/conversion code in my WC.

svn path=/trunk/; revision=70491

4 years ago[CMLIB]: Attempt fix for Linux hosts.
Alex Ionescu [Tue, 5 Jan 2016 01:55:40 +0000 (01:55 +0000)]
[CMLIB]: Attempt fix for Linux hosts.

svn path=/trunk/; revision=70490