reactos.git
8 years ago[FREELDR]: Add source file header to scsiport.c; move structure definitions together.
Hermès Bélusca-Maïto [Fri, 5 Feb 2016 21:12:53 +0000 (21:12 +0000)]
[FREELDR]: Add source file header to scsiport.c; move structure definitions together.

svn path=/trunk/; revision=70693

8 years ago[FREELDR]
Hermès Bélusca-Maïto [Fri, 5 Feb 2016 00:17:33 +0000 (00:17 +0000)]
[FREELDR]
Start splitting FreeLdr in the same spirit as our new UEFI boot manager/loader: split into a boot library, the boot manager code, and the NT loader.
- The boot library provides the basic support (read INI/INF files, memory management, debugging, ARC compatibility/emulation, ...).
- The boot manager code is FreeLdr proper.
- The NT loader is used for loading Windows or ReactOS. Because of that fact I rename its directory "windows" into "NTLDR" to underline the fact it can load NT-type OSes (more exactly version 5.x), to which both Windows 2k/XP/2k3 and ReactOS belong. The APIs will certainly be renamed "NtLdrXXX" instead of "WinLdrXXX".
- The general PE loader is put into the boot library since it is needed also by FreeLdr proper to be able to load SCSI drivers (on x86/64/... architectures; on ARC systems SCSI support is automatically provided).

svn path=/trunk/; revision=70692

8 years agoUsed a better check for the root item of the treeview. The listview, status bar and...
Eric Kohl [Thu, 4 Feb 2016 23:50:36 +0000 (23:50 +0000)]
Used a better check for the root item of the treeview. The listview, status bar and address bar should only get wiped when the user selects the root item of the treeview.
CORE-10803 #comment Retest please!

svn path=/trunk/; revision=70691

8 years agoRemove redundant extra terminating ';' in all of our C code.
Hermès Bélusca-Maïto [Thu, 4 Feb 2016 20:42:07 +0000 (20:42 +0000)]
Remove redundant extra terminating ';' in all of our C code.

svn path=/trunk/; revision=70690

8 years ago[CODE]: s/interupt/interrupt/
Hermès Bélusca-Maïto [Thu, 4 Feb 2016 20:27:44 +0000 (20:27 +0000)]
[CODE]: s/interupt/interrupt/

svn path=/trunk/; revision=70689

8 years ago[FREELDR]: Export RtlAssert.
Hermès Bélusca-Maïto [Wed, 3 Feb 2016 22:56:17 +0000 (22:56 +0000)]
[FREELDR]: Export RtlAssert.

svn path=/trunk/; revision=70688

8 years ago[FREELDR]
Hermès Bélusca-Maïto [Wed, 3 Feb 2016 22:18:05 +0000 (22:18 +0000)]
[FREELDR]
- The PE code can be built as an executable, it works as expected and nothing changes (the size of the generated code doesn't change).
- Export the Scsi functions also on x86 MSVC builds. Because of that, increase the number of expected PE sections in the FreeLdr image check function. Note that x64 MSVC build do not have the Scsi code ready yet, hence it doesn't export the corresponding functions.
- The spec2def command should have the name of the generated PE file.
- Remove one hardcoded value.

During my investigations I noticed that using a section alignment of 0x400 for freeldr MSVC builds (instead of the default 0x1000) made the MSVC builds *bigger*. Furthermore, using the default alignment of 0x1000 makes the freeldr MSVC builds unbootable. I don't understand why. Maybe a freeldr guru knows that?

svn path=/trunk/; revision=70687

8 years ago[BOOTMGR]
Hermès Bélusca-Maïto [Wed, 3 Feb 2016 19:12:34 +0000 (19:12 +0000)]
[BOOTMGR]
- Make BmMain stdcall as it's an entry point, the same way as ROSLOAD's OslMain.
[ROSLOAD]
- Fix a comment.
- Fix compilation on x64 and on GCC by specifying the entrypoint stack, exactly as what we do for KiSystemStartup in the kernel.

svn path=/trunk/; revision=70686

8 years ago[User32]
James Tabor [Wed, 3 Feb 2016 16:39:28 +0000 (16:39 +0000)]
[User32]
- Patch by Manuel : Explorer not draw (16 bits) icons. See CORE-10789.

svn path=/trunk/; revision=70685

8 years ago[FREELDR]: Move the (private) HAL Pci bus initialization calls to where they are...
Hermès Bélusca-Maïto [Wed, 3 Feb 2016 16:30:39 +0000 (16:30 +0000)]
[FREELDR]: Move the (private) HAL Pci bus initialization calls to where they are needed: for SCSI initialization (see r46017).

svn path=/trunk/; revision=70684

8 years ago[FREELDR]
Hermès Bélusca-Maïto [Wed, 3 Feb 2016 15:20:37 +0000 (15:20 +0000)]
[FREELDR]
- Move the NTOS loader files that were scattered in many places into their own directory (now all that stuff is inside freeldr/windows).
- Split arch/arm/winldr.c into the real winldr code (going into freeldr/windows) and entry point code (going into arch/arm/entry.c).

svn path=/trunk/; revision=70683

8 years ago[FREELDR]
Hermès Bélusca-Maïto [Wed, 3 Feb 2016 14:07:18 +0000 (14:07 +0000)]
[FREELDR]
- Move some code where it should better belong to.
- Add few source code file headers.
- Add missing partition IDs.

svn path=/trunk/; revision=70682

8 years ago[i8042PRT]: Forgot this one, addendum to r70680.
Hermès Bélusca-Maïto [Wed, 3 Feb 2016 00:40:37 +0000 (00:40 +0000)]
[i8042PRT]: Forgot this one, addendum to r70680.

svn path=/trunk/; revision=70681

8 years ago[FREELDR][STREAM][NTOS]
Hermès Bélusca-Maïto [Wed, 3 Feb 2016 00:37:23 +0000 (00:37 +0000)]
[FREELDR][STREAM][NTOS]
Replace old bugzilla report IDs to their JIRA counterparts.

[LIBUSB]
The third parameter of IoRegisterDeviceInterface is a pointer (optional). Use NULL instead of 0.

svn path=/trunk/; revision=70680

8 years ago[FREELDR]: Remove deprecated code.
Hermès Bélusca-Maïto [Wed, 3 Feb 2016 00:04:05 +0000 (00:04 +0000)]
[FREELDR]: Remove deprecated code.

svn path=/trunk/; revision=70679

8 years ago[NTOS:INBV]
Hermès Bélusca-Maïto [Tue, 2 Feb 2016 23:28:45 +0000 (23:28 +0000)]
[NTOS:INBV]
- Initialize global variables to known default values.
- When Inbv initializes the display, reset the video mode *ONLY* if we do not have a custom boot logo (because otherwise we want to see our custom boot logo!). This also fixes the video mode used by ReactOS when booting it using Windows ntldr!

svn path=/trunk/; revision=70678

8 years agoMSVC: Properly define debug functions for release builds.
Sylvain Petreolle [Tue, 2 Feb 2016 20:51:50 +0000 (20:51 +0000)]
MSVC: Properly define debug functions for release builds.

svn path=/trunk/; revision=70677

8 years ago[USETUP]: Enlarge some string buffers that hold localized printf-formatted strings.
Hermès Bélusca-Maïto [Tue, 2 Feb 2016 02:23:56 +0000 (02:23 +0000)]
[USETUP]: Enlarge some string buffers that hold localized printf-formatted strings.

svn path=/trunk/; revision=70676

8 years ago[USETUP]
Hermès Bélusca-Maïto [Tue, 2 Feb 2016 01:55:05 +0000 (01:55 +0000)]
[USETUP]
- Use defines instead of hardcoded values for partition type IDs.
- Add some support for installing ReactOS on EXT2 partitions.
- Add few code that will be needed when we support NTFS installation.
- Refactor InstallFatBootcodeToPartition and its auxiliary functions. CORE-4870

svn path=/trunk/; revision=70675

8 years ago[CMLIB]: Demote the DPRINT1 saying that we leak the security block descriptor to...
Hermès Bélusca-Maïto [Mon, 1 Feb 2016 23:10:38 +0000 (23:10 +0000)]
[CMLIB]: Demote the DPRINT1 saying that we leak the security block descriptor to a DPRINT. People (Alex & me) working on cmlib already know this. "Fixes" timeout problems of the testbots due to spamming this dprint.

svn path=/trunk/; revision=70674

8 years ago[BOOTDATA]
Pierre Schweitzer [Mon, 1 Feb 2016 22:18:47 +0000 (22:18 +0000)]
[BOOTDATA]
Drop last references to rosvboxmgmt!

CORE-10032
ROSAPPS-303

svn path=/trunk/; revision=70673

8 years ago[ROSVBOXMGMT]
Pierre Schweitzer [Mon, 1 Feb 2016 22:17:43 +0000 (22:17 +0000)]
[ROSVBOXMGMT]
Drop rosvboxmgmt hack.
Thanks, you served us well. But r70670 killed you. Too bad!

CORE-10032
ROSAPPS-303

svn path=/trunk/; revision=70672

8 years ago[SHELL32]
Pierre Schweitzer [Mon, 1 Feb 2016 22:07:55 +0000 (22:07 +0000)]
[SHELL32]
Time to (re)act!
Step 2/2: continue Giannis' UNC hack in Shell32:
- Implement the ILCreateFromNetworkPlaceW() helper, which is just Giannis' code to allow creating a hacky PIDL for enumeration.
- Implement the CNetFolderEnum class, which allows enumerating network places. So far, it's pretty basic (no tree structure) but, it does its job. It would be to improve
- Implement the CNetFolder::EnumObjects() function.

This commit, in itself, more or less obsoletes hackssign application. Indeed, now, you just need to go to your network places, to be able to browse your network shares (like VMware or VBox shares) provided you installed the VMware/VBox additions in your VM.
However, hackssign will remains in rosapps for now: we don't have any other way to assign a drive letter to a network place so far, and VMware doesn't provide such feature.
Furthermore, this is a big hack. And until we have a correct implementation, we can keep another hack along ;-).

Feel free to decently enjoy your network shares in ReactOS :-).

CORE-10032
ROSAPPS-303

svn path=/trunk/; revision=70671

8 years ago[MPR]
Pierre Schweitzer [Mon, 1 Feb 2016 21:59:47 +0000 (21:59 +0000)]
[MPR]
Time to (re)act!
Step 1/2:
- Implement WNetUseConnectionA() as a simple forwarder to WNetUseConnectionW().
This function should make it somehow, somewhen to Wine. Feel free to help the process by lighting cierges.
- Halplement WNetUseConnectionW() to match a really specific case: it can handle requests from VBoxTray and pass them properly to VBox NP.
In its current state, this function isn't to be shared with Wine.
Other calls (specifically without local path, nor network provider) aren't handled and will lead to an error.

But, in itself, this commit obsoletes rosvboxmgmt by making ReactOS able to autostart (on VBoxTray demand :-)) the VBox shared folders.
Furthermore, if you ask for a drive letter to be assigned to your shared folder, it will happen!

Now, in order to use VBox shared folders, just configure VBox to assign them a drive letter, install ReactOS, install VBox Guest Additions... Profit!

CORE-10032
ROSAPPS-303

svn path=/trunk/; revision=70670

8 years ago[OPENGL]
Sylvain Petreolle [Sun, 31 Jan 2016 19:14:24 +0000 (19:14 +0000)]
[OPENGL]
Free the variable arguments in vsnprintf implementation.
Patch by Victor Martinez.
CORE-10629

svn path=/trunk/; revision=70669

8 years agocmlib: Fix debug string becoming too big for testbot (doesn't fix successful-but...
Sylvain Petreolle [Sun, 31 Jan 2016 17:42:05 +0000 (17:42 +0000)]
cmlib: Fix debug string becoming too big for testbot (doesn't fix successful-but-canceled ntdll:NtDeleteKey)
Alex, do we have an actual free-security-descriptor function ?

svn path=/trunk/; revision=70668

8 years ago[TASKMGR]
Sylvain Petreolle [Sat, 30 Jan 2016 17:18:08 +0000 (17:18 +0000)]
[TASKMGR]
Remove hacks for idle time.

svn path=/trunk/; revision=70663

8 years ago[TASKMGR]
Sylvain Petreolle [Sat, 30 Jan 2016 17:01:04 +0000 (17:01 +0000)]
[TASKMGR]
protect some variables with the critical section
Patch by Mark Jansen.
CORE-10787

svn path=/trunk/; revision=70662

8 years ago[BOOTDATA]: Normally, in the hybridcd, the livecd stuff should go into its own subdir...
Hermès Bélusca-Maïto [Fri, 29 Jan 2016 01:18:53 +0000 (01:18 +0000)]
[BOOTDATA]: Normally, in the hybridcd, the livecd stuff should go into its own subdirectory.

svn path=/trunk/; revision=70655

8 years ago[VERSION]: Improve versioning based on r70641.
Hermès Bélusca-Maïto [Fri, 29 Jan 2016 00:07:08 +0000 (00:07 +0000)]
[VERSION]: Improve versioning based on r70641.

svn path=/trunk/; revision=70651

8 years ago[LDR]
Aleksey Bragin [Wed, 27 Jan 2016 15:02:28 +0000 (15:02 +0000)]
[LDR]
- Fix a typo in kernel32's manifest prober routine
- Don't RtlGetActiveActivationContext if it's already existing
- Improve actctx and ldr debug prints
- This fixes numerous LDR bugs, such as the famous bug with MSVCR90 CORE-7313, .NET installation issues CORE-7489 and, hopefully, many other. Thank you very much for putting your trust in me!

svn path=/trunk/; revision=70646

8 years ago[MPR]
Pierre Schweitzer [Tue, 26 Jan 2016 18:09:47 +0000 (18:09 +0000)]
[MPR]
Import Wine commit:
80eb2fa08eb21ba9504438493fa66097ed03faf5, Add support for REG_EXPAND_SZ for providers path.

This fixes VMware network provider (vmhgfs.dll) not being able to be loaded in ReactOS.

CORE-10032

svn path=/trunk/; revision=70645

8 years ago[REACTOS]
Daniel Reimer [Tue, 26 Jan 2016 01:45:29 +0000 (01:45 +0000)]
[REACTOS]
Finish German translation, fix some coordinates and sync these fixes to all other languages. Fix a typo.

svn path=/trunk/; revision=70644

8 years ago[REACTOS]
Eric Kohl [Mon, 25 Jan 2016 22:39:26 +0000 (22:39 +0000)]
[REACTOS]
- Remove the code that hides the system menu and the cancel button. Users should be able to cancel the installation process.
- Add code to reboot ReactOS after completing or cancelling the wizard. It is disabled for now.
- Remove the groupbox on the device page.
- Resize / realign the controls on the drive page.
- Replace the listbox on the drive page by a list view.

svn path=/trunk/; revision=70643

8 years ago[VERSION] Improve the way we define ReactOS version, to allow us to mark it as SVN...
Amine Khaldi [Mon, 25 Jan 2016 18:37:20 +0000 (18:37 +0000)]
[VERSION] Improve the way we define ReactOS version, to allow us to mark it as SVN or as a release, and for the latter, allow us to mark it as a candidate or as the final one.

svn path=/trunk/; revision=70641

8 years ago[I8042PRT] Apply a workaround for Dell Latitude D630. By Thomas Faber. CORE-10797
Amine Khaldi [Mon, 25 Jan 2016 18:08:06 +0000 (18:08 +0000)]
[I8042PRT] Apply a workaround for Dell Latitude D630. By Thomas Faber. CORE-10797

svn path=/trunk/; revision=70639

8 years ago[REACTOS]
Eric Kohl [Sat, 23 Jan 2016 23:20:32 +0000 (23:20 +0000)]
[REACTOS]
- Fix height of the inner wizard pages.
- Do not show the header for the finish page.
- Remove the language selection page and the ReactOS logo because they have been moved to userinit.
- Start removing groupbox controls from the wizard pages. They just occupy a lot of space.
- Resize / realign the install type page and add some descriptive text to all languages.
- Allocate setup data from the heap and pass the setup data pointer to each wizard page.
- Move the drive wizard page (DriveDlgProc) to a separate file.
- Move the common declarations to a new header file.

svn path=/trunk/; revision=70638

8 years ago[NTOSKRNL]
Aleksey Bragin [Fri, 22 Jan 2016 09:23:21 +0000 (09:23 +0000)]
[NTOSKRNL]
- Fix a typo.

svn path=/trunk/; revision=70637

8 years ago[BOOTLIB]: Fuck you binutils.
Alex Ionescu [Thu, 21 Jan 2016 17:08:33 +0000 (17:08 +0000)]
[BOOTLIB]: Fuck you binutils.

svn path=/trunk/; revision=70636

8 years ago[RTL] Revert some accidental formatting changes in r70634. NFC.
Amine Khaldi [Thu, 21 Jan 2016 16:52:31 +0000 (16:52 +0000)]
[RTL] Revert some accidental formatting changes in r70634. NFC.

svn path=/trunk/; revision=70635

8 years ago[RTL/NDK]: For some strange reason, we were missing LdrRelocateImage. Also we had...
Alex Ionescu [Thu, 21 Jan 2016 16:16:12 +0000 (16:16 +0000)]
[RTL/NDK]: For some strange reason, we were missing LdrRelocateImage. Also we had the right type for LdrRelocateImageWithBias, but not the former. Fix that.
[BOOTLIB]: Finish the rest of the image loader. However, relocations appear to fail.

svn path=/trunk/; revision=70634

8 years ago[BOOTLIB]: Cleanup, less magic.
Alex Ionescu [Thu, 21 Jan 2016 15:47:14 +0000 (15:47 +0000)]
[BOOTLIB]: Cleanup, less magic.

svn path=/trunk/; revision=70633

8 years ago[BOOTLIB]: Implement checksum calculation for PE header sum.
Alex Ionescu [Thu, 21 Jan 2016 05:16:40 +0000 (05:16 +0000)]
[BOOTLIB]: Implement checksum calculation for PE header sum.
[BOOTLIB]: Implement most of ImgpLoadPEImage. The checksum of the mapped image file matches the checksum in the flat PE file, meaning our load loop works as designed.
Next step are relocations and we'll be done.

svn path=/trunk/; revision=70632

8 years ago[DDK]: SVN isn't GIT alex. It's not smart enough to commit the entire tree, only...
Alex Ionescu [Wed, 20 Jan 2016 17:01:53 +0000 (17:01 +0000)]
[DDK]: SVN isn't GIT alex. It's not smart enough to commit the entire tree, only the place where you right-clicked.

svn path=/trunk/; revision=70631

8 years ago[ROSLOAD]: SUBSYSTEM_WINDOWS_BOOT_APPLICATION is 16, not 14.
Alex Ionescu [Wed, 20 Jan 2016 17:00:51 +0000 (17:00 +0000)]
[ROSLOAD]: SUBSYSTEM_WINDOWS_BOOT_APPLICATION is 16, not 14.

svn path=/trunk/; revision=70630

8 years ago[BOOTLIB]: Begin PE loader. Works so far. Next up is loading the sections, zeroing...
Alex Ionescu [Wed, 20 Jan 2016 17:00:18 +0000 (17:00 +0000)]
[BOOTLIB]: Begin PE loader. Works so far. Next up is loading the sections, zeroing out the .bss, and computing checksum.

svn path=/trunk/; revision=70629

8 years ago[USETUP] Add missing Italian STRING_EXTENDED_PARTITION string. CORE-10809
Amine Khaldi [Wed, 20 Jan 2016 15:20:59 +0000 (15:20 +0000)]
[USETUP] Add missing Italian STRING_EXTENDED_PARTITION string. CORE-10809

svn path=/trunk/; revision=70627

8 years ago[ROSLOAD]: Create directory and build rules. rosload.efi is now dropped in system32...
Alex Ionescu [Wed, 20 Jan 2016 06:59:12 +0000 (06:59 +0000)]
[ROSLOAD]: Create directory and build rules. rosload.efi is now dropped in system32\boot just like on the Windows Setup DVD. BlImgLoadBootApplication is able to find it.
[BOOTMGR/BOOTLIB]: Fix factorings that were incorrect but not noticed when bootmgr was the only bootlib user. Now with rosload in the picture, they became obvious.
[EFISYS]: BCD should not be on the EFISYS.BIN, only on the boot volume, just like a Windows DVD.

svn path=/trunk/; revision=70626

8 years ago[HIVEBCD/BOOTMGR]: Prep work
Alex Ionescu [Wed, 20 Jan 2016 03:53:59 +0000 (03:53 +0000)]
[HIVEBCD/BOOTMGR]: Prep work

svn path=/trunk/; revision=70625

8 years ago[BOOTLIB]: Cleanups and small fixes.
Alex Ionescu [Wed, 20 Jan 2016 03:43:56 +0000 (03:43 +0000)]
[BOOTLIB]: Cleanups and small fixes.

svn path=/trunk/; revision=70624

8 years ago[BOOTMGR]: Cleanup, less magic, one bug fix.
Alex Ionescu [Wed, 20 Jan 2016 02:58:39 +0000 (02:58 +0000)]
[BOOTMGR]: Cleanup, less magic, one bug fix.

svn path=/trunk/; revision=70623

8 years ago[BOOTLIB]: Fix build
Alex Ionescu [Wed, 20 Jan 2016 01:29:59 +0000 (01:29 +0000)]
[BOOTLIB]: Fix build

svn path=/trunk/; revision=70622

8 years ago[BOOTLIB]: Rough sketches of BlImgLoadBootApplication, BlImgStartBootApplication...
Alex Ionescu [Wed, 20 Jan 2016 01:28:50 +0000 (01:28 +0000)]
[BOOTLIB]: Rough sketches of BlImgLoadBootApplication, BlImgStartBootApplication, BlImgUnLoadBootApplication.

svn path=/trunk/; revision=70621

8 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

8 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

8 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

8 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

8 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

8 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

8 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

8 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

8 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

8 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

8 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

8 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

8 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

8 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

8 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

8 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

8 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

8 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

8 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

8 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

8 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

8 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

8 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

8 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

8 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

8 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

8 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

8 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

8 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

8 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

8 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

8 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

8 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

8 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

8 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

8 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

8 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

8 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

8 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

8 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

8 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

8 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

8 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

8 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

8 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

8 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

8 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