Pierre Schweitzer [Sat, 13 Oct 2018 17:15:48 +0000 (19:15 +0200)]
[KMTESTS:CC] Add more tests for CcPinMappedData()
Pierre Schweitzer [Sat, 13 Oct 2018 17:13:07 +0000 (19:13 +0200)]
[KMTESTS:CC] Add more tests for CcPinMappedData()
Pierre Schweitzer [Sat, 13 Oct 2018 16:53:08 +0000 (18:53 +0200)]
[KMTESTS:CC] Add more tests for CcPinMappedData()
Pierre Schweitzer [Sat, 13 Oct 2018 12:23:38 +0000 (14:23 +0200)]
[KMTESTS:CC] Add a test showing our CcPinMappedData() implementation is broken
Mark Jansen [Wed, 5 Sep 2018 21:20:46 +0000 (23:20 +0200)]
[SDK] Implement __wine_spec_unimplemented_stub with ntdll functions
Mark Jansen [Wed, 5 Sep 2018 21:20:28 +0000 (23:20 +0200)]
[DBGHELP] Exclude stubs from pch
Mark Jansen [Wed, 5 Sep 2018 19:59:16 +0000 (21:59 +0200)]
[SDK] Add version option to our spec2def cmake command
Mark Jansen [Wed, 5 Sep 2018 19:51:59 +0000 (21:51 +0200)]
[SDK] Add the WITH_RELAY option to msvc's spec2def command. (GCC already had it)
Mark Jansen [Wed, 5 Sep 2018 19:49:02 +0000 (21:49 +0200)]
[SPEC2DEF] Fix support for different OS versions.
Mark Jansen [Wed, 5 Sep 2018 19:46:37 +0000 (21:46 +0200)]
[KERNEL32] Fix some stubs for 0x600+
Serge Gautherie [Wed, 10 Oct 2018 23:29:39 +0000 (01:29 +0200)]
[NTOS:KD] A few trivial code improvements
Serge Gautherie [Wed, 10 Oct 2018 23:22:05 +0000 (01:22 +0200)]
[NTOS:KD] Remove an unreachable "break;"
On behalf of Kudratov Olimjon.
CORE-8545
Pierre Schweitzer [Fri, 12 Oct 2018 06:20:32 +0000 (08:20 +0200)]
[NTOSKRNL] Don't keep the spin lock hold too long when we lost the BCB race
This will avoid a deadlock on unpin.
Pierre Schweitzer [Thu, 11 Oct 2018 21:15:01 +0000 (23:15 +0200)]
[NTOSKRNL] Rewrite BCB handling to be more robust
We now handle race conditions when creating BCB to avoid
having duplicated BCB per shared maps.
Also, we already specify whether the memory will be pinned
when creating the BCB, to avoid potential duplications or
BCB misuse.
Pierre Schweitzer [Wed, 10 Oct 2018 06:42:38 +0000 (08:42 +0200)]
[APPWIZ] Update French translation
Eric Kohl [Tue, 9 Oct 2018 21:19:48 +0000 (23:19 +0200)]
[NETCFGX] NetworkPropertySheetProvider: Fix property selection because the property list box is sorted.
CORE-15095
Pierre Schweitzer [Tue, 9 Oct 2018 06:40:41 +0000 (08:40 +0200)]
[BOOTDATA] Update optional modules according to
287d35b
This fixes optional modules being installed in places
that make no sense.
This also fixes auto installation of Gecko. Thus, this
fixes unattended setup of ReactOS for testbots.
CORE-15160
Hermès Bélusca-Maïto [Mon, 8 Oct 2018 23:23:52 +0000 (01:23 +0200)]
[MKHIVE] Fixes for the previous fixes.
- Fix parsing of the options.
- Only uppercase the file name part and NOT the full path!
And do it in a way GCC-Linux correctly understands, aka.:
*ptr = toupper(*ptr); ++ptr;
but NOT!:
*ptr++ = toupper(*ptr);
(that last one worked on GCC-Win and MSVC).
[CMAKE] Let's keep SETUPREG.HIV and BCD hive file names in uppercase
(use the '-u' switch) while keeping the other ones in lowercase.
Should definitively fix GCCLin builder!
Hermès Bélusca-Maïto [Mon, 8 Oct 2018 22:25:01 +0000 (00:25 +0200)]
[MKHIVE] Remove support for '/' options, this does not behave well under Linux.
Hermès Bélusca-Maïto [Mon, 8 Oct 2018 22:09:27 +0000 (00:09 +0200)]
[MKHIVE] Minor additional functionality.
- Add support for '/' switch characters.
- Add '-?' switch.
TEMPORARY:
- Add a '-u' switch to generate hive file names in uppercase (by default
we keep these in lowercase). Should help in fixing GCCLin builder.
[CMAKE] Fix expected file name case. Should help in fixing GCCLin builder.
Hermès Bélusca-Maïto [Sat, 3 Jun 2017 16:41:00 +0000 (16:41 +0000)]
[MKHIVE] Improve dprint output (delimiting where strings start & end: is useful for empty strings).
svn path=/branches/setup_improvements/; revision=74768
Hermès Bélusca-Maïto [Fri, 2 Jun 2017 00:34:10 +0000 (00:34 +0000)]
[MKHIVE][CMAKE] Make mkhive a bit more flexible, so that it can generate only specific hives on-demand (and not all of them always at once).
This commit is needed for building a single bootcd registry hive. It will also enable 1-st stage setup to have a proper registry present as done on Windows.
CORE-13347
[CMAKE]
Note that the mkhive commands should really depend on the generated UTF16 INF files since the latter are those that are actually used as input for mkhive.
Otherwise, the mkhive calls & the UTF16 INF file conversion is not serialized and we can generate "corrupted" hives due to the fact that mkhive is using
INF files that are in the process of being (and therefore, only partially) generated.
svn path=/branches/setup_improvements/; revision=74741
svn path=/branches/setup_improvements/; revision=74749
Hermès Bélusca-Maïto [Sun, 7 Jan 2018 00:46:31 +0000 (01:46 +0100)]
[BOOTDATA][CMAKE] Enumerate the four first installation directories in 'canonical' order, to keep compatibility with Windows' txtsetup.sif/layout.inf.
Hermès Bélusca-Maïto [Sun, 20 May 2018 18:35:56 +0000 (20:35 +0200)]
[SYSSETUP] Delete the created fonts when needed.
Hermès Bélusca-Maïto [Thu, 10 Aug 2017 18:59:26 +0000 (18:59 +0000)]
[SYSSETUP] Use ARRAYSIZE / _countof instead of sizeof ratios.
svn path=/branches/setup_improvements/; revision=75523
Hermès Bélusca-Maïto [Thu, 10 Aug 2017 18:56:15 +0000 (18:56 +0000)]
[SYSSETUP] Code formatting.
svn path=/branches/setup_improvements/; revision=75522
Hermès Bélusca-Maïto [Thu, 13 Jul 2017 19:10:27 +0000 (19:10 +0000)]
[USERINIT] Enhancements for starting ReactOS GUI installer or Explorer shell.
- Transform TryToStartShell() into a StartProcess() function whose aim
is just to start processes, since there is no extra initialization needed
for starting a shell process.
- Modify StartInstaller() to call StartProcess() for starting the ReactOS GUI
installer found on the installation media, from a path automatically expanded
depending on the ambient CPU architecture.
svn path=/branches/setup_improvements/; revision=75331
Hermès Bélusca-Maïto [Mon, 8 Oct 2018 18:54:59 +0000 (20:54 +0200)]
[WELCOME] Minor usage improvements.
- Don't hardcode the installer file name in ExpandInstallerPath() but
provide it from a parameter. Return TRUE/FALSE if the installer file
is/is not found.
- Expand any environment string present in the items command line.
- Enable/disable the menu buttons depending on whether or not an
associated command is present.
- Enable mirroring from resources.
Hermès Bélusca-Maïto [Sun, 20 May 2018 19:59:40 +0000 (21:59 +0200)]
[WELCOME] Reduce Welcome's SUBSYSTEM requirements to WinNT 4 for x86 builds only, so that we can still show something in old NT OSes.
Hermès Bélusca-Maïto [Thu, 13 Jul 2017 18:41:32 +0000 (18:41 +0000)]
[WELCOME] Automatically expands the path to the ReactOS installer executable found on the installation media, depending on the ambient CPU architecture.
svn path=/branches/setup_improvements/; revision=75330
Eric Kohl [Mon, 8 Oct 2018 16:55:39 +0000 (18:55 +0200)]
[NETCFGX] NetPropPageProvider: Add Base and Step parameter options.
Stanislav Motylkov [Mon, 8 Oct 2018 13:06:48 +0000 (16:06 +0300)]
[SYSTEMINFO] Improve uptime source
Baruch Rutman [Fri, 28 Sep 2018 15:13:08 +0000 (18:13 +0300)]
[ROSTESTS] Add a test program. (#890)
Add a test program that shows how the *PSMTextOut() functions draw
the strings by a side by side comparison between LpkPSMTextOut() and
UserLpkPSMTextOut().
Baruch Rutman [Fri, 28 Sep 2018 15:10:10 +0000 (18:10 +0300)]
[LPK] Small fix and a related comment. (#890)
[LPK][USER32] Fix reading layout checks.
- Both functions don't care about DT_RTLREADING flag.
- Added a different method to check reading order.
[USER32] Remove gcc-build breaker semicolon.
Baruch Rutman [Fri, 28 Sep 2018 15:02:38 +0000 (18:02 +0300)]
[USER32] Implement UserLpkPSMTextOut(). (#890)
This function is a condensed version of LpkPSMTextOut() (from lpk.dll),
but not bug-for-bug equivalent.
The main difference is that the underscore is drawn without taking into
account any kind of script processing.
Baruch Rutman [Thu, 27 Sep 2018 22:00:31 +0000 (01:00 +0300)]
[LPK] Implement LpkPSMTextOut(). (#890)
- The function is almost fully implemented, but some return values change wildly.
The results are mostly compatible to the Windows results.
- Remove #ifdef (this is primary ReactOS code).
Stanislav Motylkov [Mon, 8 Oct 2018 12:53:11 +0000 (15:53 +0300)]
[APPWIZ] Update russian translation (#917)
Katayama Hirofumi MZ [Mon, 8 Oct 2018 12:38:38 +0000 (21:38 +0900)]
[FONT][WIN32SS] Use GOT_PENALTY macro to specify the penalty (#910)
Define and use GOT_PENALTY macro to specify the font penalty info.
CORE-5519
Bișoc George [Mon, 8 Oct 2018 12:36:40 +0000 (14:36 +0200)]
[APPWIZ] Display a message box in case of failure (#913)
When the downloading process of Gecko fails, display a warning message box.
Stanislav Motylkov [Sun, 30 Sep 2018 12:42:08 +0000 (15:42 +0300)]
[SYSDM] Fix IDC_ROSVERSION in Romanian translation
Stanislav Motylkov [Sat, 29 Sep 2018 19:42:58 +0000 (22:42 +0300)]
[SYSDM] Add system uptime information
Stanislav Motylkov [Sat, 29 Sep 2018 16:49:52 +0000 (19:49 +0300)]
[SYSDM] Make MHz and GHz strings translatable
Hermès Bélusca-Maïto [Sun, 7 Oct 2018 22:42:02 +0000 (00:42 +0200)]
[SHELL32] Finally fix the icon location path (un)expansion for shell links, and explain why I originally used SHExpandEnvironmentStringsW().
CORE-14009 CORE-14982
Eric Kohl [Sun, 7 Oct 2018 20:53:30 +0000 (22:53 +0200)]
[SHELL32] Fix a potential buffer overrun.
Patch by Kudratov Olimjon.
CORE-8545
Eric Kohl [Sun, 7 Oct 2018 20:44:54 +0000 (22:44 +0200)]
[CRT] Fix two obvious typos in _mbbtype().
Patch by Kudratov Olimjon.
CORE-8545
Luo Yufan [Sun, 7 Oct 2018 18:44:00 +0000 (02:44 +0800)]
[TRANSLATION] Update Simplified Chinese translation. (#912)
Hermès Bélusca-Maïto [Sun, 7 Oct 2018 18:30:00 +0000 (20:30 +0200)]
[USER32] Fix the ICO_ExtractIconExW() helper with respect to what is found with the user32_apitest:PrivateExtractIcons test.
CORE-15150
Hermès Bélusca-Maïto [Sun, 7 Oct 2018 18:27:49 +0000 (20:27 +0200)]
[USER32_APITEST] Add a test for PrivateExtractIcons(A/W) that shows that this API can accept unexpanded file paths.
CORE-15150
Hermès Bélusca-Maïto [Sun, 7 Oct 2018 18:28:43 +0000 (20:28 +0200)]
[SHELL32_APITEST] Fix the code with respect to what the comments say. No change in test results happen.
Stanislav Motylkov [Sat, 6 Oct 2018 20:46:30 +0000 (23:46 +0300)]
[NETCFGX] Update russian translation
Stanislav Motylkov [Sat, 6 Oct 2018 20:45:49 +0000 (23:45 +0300)]
[MSPORTS] Update russian translation
Stanislav Motylkov [Sat, 6 Oct 2018 20:44:36 +0000 (23:44 +0300)]
[DEVMGR] Update russian translation
Eric Kohl [Sat, 6 Oct 2018 21:57:17 +0000 (23:57 +0200)]
[NETCFGX] NetPropPageProvider: Store the parameters in the registry
Eric Kohl [Sat, 6 Oct 2018 12:32:50 +0000 (14:32 +0200)]
[NETCFGX] NetPropPageProvider: Improve the handling of optional parameters
- Add a pointer to the current parameter.
- Change the 'present' and 'not present' radio buttons to auto radio buttons.
- Display present and non-present optional parameters properly.
Pierre Schweitzer [Sat, 6 Oct 2018 10:08:25 +0000 (12:08 +0200)]
[KMTESTS:CC] A pin BCB has a node type code
Eric Kohl [Sat, 6 Oct 2018 09:11:07 +0000 (11:11 +0200)]
[MSPORTS] When the LPT port number gets changed, update the PortName and FriendlyName values in the registry.
Pierre Schweitzer [Fri, 5 Oct 2018 19:25:28 +0000 (21:25 +0200)]
[KMTESTS:CC] Fix a typo
Pierre Schweitzer [Fri, 5 Oct 2018 19:17:38 +0000 (21:17 +0200)]
[NTOSKRNL] Implement support for PIN_IF_BCB flag
Pierre Schweitzer [Fri, 5 Oct 2018 19:14:13 +0000 (21:14 +0200)]
[NTOSKRNL] When pinning data, try to find an already pinned BCB
If found, attempt to lock it and return it.
This fixes a lot of CcPinRead tests (and seems to speed up a bit ReactOS)
Pierre Schweitzer [Fri, 5 Oct 2018 19:01:02 +0000 (21:01 +0200)]
[NTOSKRNL] When mapping data, try to find if there's already a BCB
If so, return such BCB instead of creating a new one. This will
allow (at some point) to be more consistent in case of concurrent
mapping.
This fixes a few CcMapData tests.
Pierre Schweitzer [Fri, 5 Oct 2018 17:43:10 +0000 (19:43 +0200)]
[NTOSKRNL] Move the PinCount out of the VACB to the BCB
Given current ReactOS implementation, a VACB can be pinned
several times, with different BCB. In next commits, a single
BCB will be able to be pinned several times. That would
lead to severe inconsistencies in counting and thus corruption.
Eric Kohl [Fri, 5 Oct 2018 13:09:27 +0000 (15:09 +0200)]
[DEVMGR] Hackfix CORE-5643
Eric Kohl [Fri, 5 Oct 2018 09:40:55 +0000 (11:40 +0200)]
[SERVICES] Ignore the case when we compare account names
Pierre Schweitzer [Fri, 5 Oct 2018 08:49:11 +0000 (10:49 +0200)]
[NTOSKRNL] On open, verify and validate the hint device object if any
Pierre Schweitzer [Fri, 5 Oct 2018 08:45:21 +0000 (10:45 +0200)]
[NTOSKRNL] Implement IopCheckTopDeviceHint()
Pierre Schweitzer [Fri, 5 Oct 2018 08:39:50 +0000 (10:39 +0200)]
[NTOSKRNL] In IoGetRelatedDeviceObject(), validate hint is on the stack before returning it
Pierre Schweitzer [Fri, 5 Oct 2018 08:36:52 +0000 (10:36 +0200)]
[NTOSKRNL] Implement IopVerifyDeviceObjectOnStack()
Eric Kohl [Fri, 5 Oct 2018 07:41:50 +0000 (09:41 +0200)]
[SERVICES] Revert
f6d81f22 because it breaks the advapi32 LockServiceDatabase test.
Eric Kohl [Fri, 5 Oct 2018 06:41:23 +0000 (08:41 +0200)]
[SERVICES] Fix timeout when a service is stopped
RSetServiceStatus: Send the stop command for the dispatcher thread from a separate thread.
Fixes CORE-15064
Pierre Schweitzer [Thu, 4 Oct 2018 20:24:52 +0000 (22:24 +0200)]
[NTOSKRNL] A bit of cleanup in Io*FilterContext()
Pierre Schweitzer [Thu, 4 Oct 2018 17:30:11 +0000 (19:30 +0200)]
[NTOSKRNL] Implement IoChangeFileObjectFilterContext()
Pierre Schweitzer [Thu, 4 Oct 2018 17:19:24 +0000 (19:19 +0200)]
[NTOSKRNL] Implement IoGetFileObjectFilterContext()
Serge Gautherie [Sun, 16 Sep 2018 15:13:51 +0000 (17:13 +0200)]
[KMTESTS:TCPIP] Add an "Associate address IRP completed" trace
Serge Gautherie [Sun, 16 Sep 2018 15:38:38 +0000 (17:38 +0200)]
[KMTESTS:TCPIP] ReturnAddress: Expect NT5 result, not NT6+ one
ROSTESTS-268
Pierre Schweitzer [Thu, 4 Oct 2018 09:13:15 +0000 (11:13 +0200)]
[DEVMGR] Update French translation
Pierre Schweitzer [Thu, 4 Oct 2018 08:42:13 +0000 (10:42 +0200)]
[NTOSKRNL] Quickly check for alignment in NtRead/WriteFile
This quick check based on bits and operation is for 2^ based
sector sizes (most of the cases) and will perform faster than
the modulo operation which is still used in fallback in case
the sector size wouldn't be a power of 2.
Pierre Schweitzer [Thu, 4 Oct 2018 08:27:35 +0000 (10:27 +0200)]
[NTOSKRNL] Use captured variable to check parameters in NtRead/WriteFile
Eric Kohl [Thu, 4 Oct 2018 08:20:12 +0000 (10:20 +0200)]
[MSPORTS] Check and show which parallel port is in use.
Pierre Schweitzer [Thu, 4 Oct 2018 05:56:23 +0000 (07:56 +0200)]
[NTOSKRNL] On read/write, also check buffer respects device alignment requirements
Pierre Schweitzer [Thu, 4 Oct 2018 05:53:12 +0000 (07:53 +0200)]
[NTOSKRNL] When checking for byte offset alignment, tolerate some magic values
Eric Kohl [Wed, 3 Oct 2018 23:16:17 +0000 (01:16 +0200)]
[NTOSKRNL] NtReadFile/NtWriteFile: If a file has been opened for non-cached access, Length and ByteOffset must be sector size aligned.
This fixed two ntdll apitests.
Pierre Schweitzer [Wed, 3 Oct 2018 20:55:23 +0000 (22:55 +0200)]
[NTOSKRNL] In IopQueryNameInternal(), enclose output copy in a SEH statement
Pierre Schweitzer [Wed, 3 Oct 2018 19:28:11 +0000 (21:28 +0200)]
[NTOSKRNL] Call IoCreateFileSpecifyDeviceObjectHint with the hint if it was specified
Mark Jansen [Wed, 3 Oct 2018 17:34:14 +0000 (19:34 +0200)]
[LDR] Include dllname in snap failure DPRINT.
CORE-15135
Pierre Schweitzer [Wed, 3 Oct 2018 15:08:42 +0000 (17:08 +0200)]
[NTOSKRNL] In IoQueryFileDosDeviceName(), in case of an error, return appropriate status
Pierre Schweitzer [Wed, 3 Oct 2018 11:56:18 +0000 (13:56 +0200)]
[NTOSKRNL] Implement DOS name query in IopQueryNameInternal()
Pierre Schweitzer [Wed, 3 Oct 2018 11:52:05 +0000 (13:52 +0200)]
[NTOSKRNL] Allow FileNameInformation not to be implemented in storage stack
Pierre Schweitzer [Wed, 3 Oct 2018 11:50:16 +0000 (13:50 +0200)]
[NTOSKRNL] In IopQueryNameInternal() don't copy name if it's not valid
Pierre Schweitzer [Wed, 3 Oct 2018 09:56:21 +0000 (11:56 +0200)]
[NTOSKRNL] Implement IoQueryFileDosDeviceName()
Pierre Schweitzer [Wed, 3 Oct 2018 09:45:08 +0000 (11:45 +0200)]
[NTOSKRNL] Stub support for querying DOS name when parsing FO name
Pierre Schweitzer [Wed, 3 Oct 2018 08:21:39 +0000 (10:21 +0200)]
[NTOSKRNL] Use faster internal helper to query name
This only applies if we're called from kernel mode
with a synchronous file.
Pierre Schweitzer [Wed, 3 Oct 2018 08:15:30 +0000 (10:15 +0200)]
[NTOSKRNL] Rename IopQueryNameFile to IopQueryNameInternal
Mark Jansen [Mon, 1 Oct 2018 22:50:34 +0000 (00:50 +0200)]
[FONT][WIN32SS] Include the style name in the registry key.
Thanks to Doug Lyons for pinpointing the issue.
CORE-14044
Bișoc George [Tue, 2 Oct 2018 15:44:00 +0000 (17:44 +0200)]
[NEWDEV] Fix a truncated text on device driver name
Katayama Hirofumi MZ [Tue, 2 Oct 2018 19:53:04 +0000 (04:53 +0900)]
[FONTS] Fix underline/underscore position of Tahoma (#892)
Because of FontForge's bug, the underline position value of Tahoma and Tahoma Bold was wrongly set (#789, #809). This commit fixes those values.
CORE-15079
Eric Kohl [Tue, 2 Oct 2018 15:57:32 +0000 (17:57 +0200)]
[NETCFGX] Network property page: Add support for enum type options, the 'Optional' setting and the 'TextLimit' and 'Uppercase' settings for edit type options.
Pierre Schweitzer [Tue, 2 Oct 2018 11:34:59 +0000 (13:34 +0200)]
[USETUP] Add missing line jump
Thomas Faber [Tue, 2 Oct 2018 07:55:07 +0000 (09:55 +0200)]
[NTOS:IO] Implement IopAcquireFileObjectLock and use it to fix IopLockFileObject
Eric Kohl [Mon, 1 Oct 2018 19:15:24 +0000 (21:15 +0200)]
[NETCFGX] Network property page: Implement reading of configured settings. Editing and writing is not implemented yet.
Pierre Schweitzer [Mon, 1 Oct 2018 11:47:06 +0000 (13:47 +0200)]
[NTOSKRNL] Respect PFN cache attribute when required
This fixes noisy DPRINT1 being printed while reading
or writing files with NFS.