Hermès Bélusca-Maïto [Sun, 25 Feb 2018 18:40:08 +0000 (19:40 +0100)]
[ADVAPI32] Code formatting + improve two traces.
Hermès Bélusca-Maïto [Sun, 25 Feb 2018 18:02:38 +0000 (19:02 +0100)]
[ADVAPI32] ScStartService(): Just start the thread straight ahead, and return a suitable error code if thread creation failed.
Hermès Bélusca-Maïto [Sun, 25 Feb 2018 17:53:05 +0000 (18:53 +0100)]
[ADVAPI32] Take into account the service handler context when dispatching a control notification to a service. (Used e.g. by tcpsvcs.)
Hermès Bélusca-Maïto [Sun, 25 Feb 2018 15:31:00 +0000 (16:31 +0100)]
[ADVAPI32] Use RPC types where needed. Comments cleanup.
Simon Dräger [Sun, 25 Feb 2018 22:36:05 +0000 (23:36 +0100)]
[TRANSLATION] Completed German translation in stobject (#401)
Simon Dräger [Sun, 25 Feb 2018 14:21:35 +0000 (15:21 +0100)]
[TRANSLATION] Minor German grammatical improvements
Hermès Bélusca-Maïto [Sun, 25 Feb 2018 15:09:21 +0000 (16:09 +0100)]
[ADVAPI32_APITEST] Open services & SCM handles with correct access rights; improve a check order.
Alexander Shaposhnikov [Sun, 25 Feb 2018 14:14:41 +0000 (16:14 +0200)]
[CONTRIBUTING] Update .gitmessage
The template is made more clear and specific.
Added non-mandatory width hints.
Eric Kohl [Sun, 25 Feb 2018 13:08:16 +0000 (14:08 +0100)]
[SC] Support the paramchange and netbind* control codes in the control command
Eric Kohl [Sun, 25 Feb 2018 10:07:14 +0000 (11:07 +0100)]
[SC][SERVICES] Support SERVICE_CONTROL_PARAMCHANGE and SERVICE_CONTROL_NETBIND* control codes
Pierre Schweitzer [Sun, 25 Feb 2018 09:13:15 +0000 (10:13 +0100)]
[CDFS_NEW] Sync with HEAD.
CORE-14315
Thomas Faber [Sat, 24 Feb 2018 17:01:58 +0000 (18:01 +0100)]
[BOOTDATA] Do not include caroots.inf in registry.inf. CORE-12020
This splits registry.inf roughly in half, which massively reduces heap usage
in 1st stage. DPH and low-memory scenarios benefit from this.
Hermès Bélusca-Maïto [Sat, 24 Feb 2018 23:48:43 +0000 (00:48 +0100)]
[SERVICES] Use safe-string routines in some places, and do not hardcode buffer lengths.
Hermès Bélusca-Maïto [Sat, 24 Feb 2018 23:31:17 +0000 (00:31 +0100)]
[SERVICES] Send services shutdown notifications only if they accept them.
Hermès Bélusca-Maïto [Sat, 24 Feb 2018 23:06:27 +0000 (00:06 +0100)]
[SERVICES] Add french translation.
Simon Dräger [Sat, 24 Feb 2018 16:13:53 +0000 (17:13 +0100)]
[TRANSLATION] German syntax fix.
It is rather unusual to put a "then" after "If..", so removed that.
Harteex [Sat, 24 Feb 2018 22:08:55 +0000 (23:08 +0100)]
[BOOTDATA] Fix path to temp folder for the Swedish locale (#381)
Pierre Schweitzer [Sat, 24 Feb 2018 21:06:18 +0000 (22:06 +0100)]
[NTOSKRNL] Implement ThreadHideFromDebugger in NtSetInformationThread()
Mark Jansen [Sat, 10 Feb 2018 14:31:55 +0000 (15:31 +0100)]
[ACLAYERS] Add WIN8 and WIN81 VersionLie shims
Mark Jansen [Sat, 10 Feb 2018 14:31:06 +0000 (15:31 +0100)]
[APPSHIM_APITEST] Add Win8 and Win81 versionlie tests
Mark Jansen [Tue, 6 Feb 2018 18:32:51 +0000 (19:32 +0100)]
[ACPPAGE] Enable version lies until Win7 + some cleanup
Mark Jansen [Tue, 6 Feb 2018 18:32:26 +0000 (19:32 +0100)]
[APPHELP] Set debug level in case of parse failure
Eric Kohl [Sat, 24 Feb 2018 17:38:08 +0000 (18:38 +0100)]
[SERVMAN] Add an accelerator for the F5 (refresh) key
CORE-14389
Timo Kreuzer [Sat, 9 Sep 2017 12:42:53 +0000 (14:42 +0200)]
[WIN32K] Get rid of some instances of the ugly RETURN() macro
Timo Kreuzer [Mon, 19 Feb 2018 14:04:38 +0000 (15:04 +0100)]
[FORMATTING] Fix indentation, no functional changes.
Pierre Schweitzer [Sat, 24 Feb 2018 13:50:23 +0000 (14:50 +0100)]
[NTOSKRNL] Implement the support for reserve IRP in IO
The reserve IRP is an IRP which is allocated on system boot and kept during
the whole system life. Its purpose is to allow page reads in case of
low-memory situations where the system doesn't have enough memory left
to allocate an IRP to read from the page file (would be catastrophic situation).
Pierre Schweitzer [Sat, 24 Feb 2018 13:02:33 +0000 (14:02 +0100)]
[NTOSKRNL] Add the CcDataFlushes and CcDataPages counters
Pierre Schweitzer [Sat, 24 Feb 2018 12:47:15 +0000 (13:47 +0100)]
[NTOSKRNL] Add the CcPinReadWait and CcPinReadNoWait counters
Thomas Faber [Sat, 24 Feb 2018 13:15:48 +0000 (14:15 +0100)]
[SHLWAPI] Cherry-pick Wine commit
7be8beab68c (Don't attempt to un-expect ComputerName in PathUnExpandEnvStrings) by Katayama Hirofumi MZ. CORE-13816
Thomas Faber [Sat, 24 Feb 2018 13:14:35 +0000 (14:14 +0100)]
[KERNEL32_WINETEST] Cherry-pick Wine commit
85f515292aa (Close process / thread handles) by Mark Jansen.
Thomas Faber [Sat, 24 Feb 2018 11:05:12 +0000 (12:05 +0100)]
[IMAGEHLP_WINETEST] Un-mark a ROS-diff that's been committed upstream.
Pierre Schweitzer [Sat, 24 Feb 2018 12:35:17 +0000 (13:35 +0100)]
[NTOSKRNL] Return some Cc counters in SystemPerformanceInformation
Pierre Schweitzer [Sat, 24 Feb 2018 12:28:45 +0000 (13:28 +0100)]
[NTOSKRNL] Add the CcMapDataWait and CcMapDataNoWait counters
Eric Kohl [Sat, 24 Feb 2018 10:14:05 +0000 (11:14 +0100)]
[SERVICES][ADVAPI32] Fix the broken service stop sequence
services\database.c:
- Refactor ScmControlService() so that it can be used to send the dispatcher loop stop command.
- Separate the code to decrement the image run counter from the service image cleanup code.
services\rpcserver.c:
- RSetServiceStatus(): Stop the dispatcher loop when the image run counter is zero and remove the service image after that.
advapi32\service\sctrl.c:
- Do not terminate the service dispatcher loop when the last service is being stopped. Wait for an explicit dispatcher stop command (empty service name).
CORE-12413
Serge Gautherie [Fri, 23 Feb 2018 17:35:02 +0000 (18:35 +0100)]
[IPHLPAPI] Fix getNumRoutes() return value, on Mib error (#391)
Giannis Adamopoulos [Fri, 23 Feb 2018 10:27:48 +0000 (12:27 +0200)]
[SHELL32] -CMenuToolbarBase: Remove all buttons on destruction. CORE-13194
It seems that TBN_DELETINGBUTTON isn't called when the toolbar gets destroyed so the only way to avoid leaking the data is emptying it ourselves.
Mark Jansen [Thu, 22 Feb 2018 22:25:34 +0000 (23:25 +0100)]
[SHIMENG] Do not crash on a NULL ModuleName & BaseAddress.
CORE-14376
Serge Gautherie [Thu, 22 Feb 2018 15:03:42 +0000 (16:03 +0100)]
[KMTESTS:FSRTL] Fix all FsRtlLargeMcbTestsFastFat() checks
Addendum to
22037684e42e29abc99a9a280278b16305eaa2e2.
- Result: check "== FALSE" not "= TRUE".
- Report compared values, not different ones.
CORE-11819
Thomas Faber [Tue, 20 Feb 2018 12:49:54 +0000 (13:49 +0100)]
[NTOS:CC] Don't read past the end of the file in CcPerformReadAhead.
Thomas Faber [Tue, 20 Feb 2018 12:18:34 +0000 (13:18 +0100)]
[NTOS:CC] Avoid some magic numbers.
Thomas Faber [Thu, 22 Feb 2018 10:51:07 +0000 (11:51 +0100)]
[SHELL32] Fix PIDL leak in CMenuSFToolbar::FillToolbar. CORE-13194
Thomas Faber [Thu, 22 Feb 2018 10:28:55 +0000 (11:28 +0100)]
[DHCPCSVC] Fix a memory leak in bind_lease introduced in r14645 (!). CORE-14353
Pierre Schweitzer [Wed, 21 Feb 2018 21:50:23 +0000 (22:50 +0100)]
[KMTESTS:FSRTL] Add a few more tests matching MS FastFAT.
CORE-11819
Thomas Faber [Wed, 21 Feb 2018 17:40:23 +0000 (18:40 +0100)]
[IPHLPAPI] Fix memory leak in getNumRoutes. CORE-14353
Thomas Faber [Wed, 21 Feb 2018 14:16:47 +0000 (15:16 +0100)]
[KMTESTS:FSRTL] Avoid writing to string literals. ROSTESTS-298
Pierre Schweitzer [Tue, 20 Feb 2018 23:16:36 +0000 (00:16 +0100)]
[VFATLIB] Fix FAT partitions formatting in a non clean fashion.
(So the fun begins)
In spite of what VFATLIB headers pretend, there's not magic in FAT boot sector.
The 3 first bytes are just the jump instruction (to the boot code). No jump, no boot.
Also, some (many?) FAT implementations rely on the jump code to help detecting that
a FAT volume is really a FAT volume. Like MS FastFAT. Or our own FAT recognizer in FS_REC.
The story is that, up to that commit, we zeroed the 3 first bytes; leading to broken
FAT volumes.
This got hidden in most cases by the fact that during setup, when we install boot
loader, we erase parts of the boot sector, including the jump instruction, making the
volume valid again. But that wouldn't fix secondary volumes where the boot loader isn't
installed.
And, also, imagine a scenario where you want to install ReactOS on a newly formatted volume
with MS FastFAT instead of our own implementation... That would simply not work to
the fact that the driver wouldn't recognize the fresh formatted volume!
(So the non fashion begins)
Fix this by putting a not that valid jump into the boot sector when formatting our
partitions. That way, our volume is always regarding a FAT view point. But, instead of
putting values that mean (nearly) nothing. We should also put a dummy bootloader
displaying the user and error message, as done by dosfstools.
(So the hope begins)
This opens the way for trying to install ReactOS with MS FastFAT (doesn't work yet).
CORE-11819
CORE-14362
Serge Gautherie [Tue, 20 Feb 2018 18:45:55 +0000 (19:45 +0100)]
[SC] Addendum to
4728157: Add missed values to query errors and usage output. (#387)
Giannis Adamopoulos [Tue, 20 Feb 2018 14:59:00 +0000 (16:59 +0200)]
[SHELL32] CShellItem: Fix GetDisplayName and Compare
The two methods were completely broken because they passed a full pidl to the parent folder (and not desktop folder).
Compile SHGetNameFromIDList to use it in CShellItem but don't export it.
Giannis Adamopoulos [Tue, 20 Feb 2018 14:31:28 +0000 (16:31 +0200)]
[SHELL32] CShellItem: Implement BindToHandler and improve GetAttributes based on wine
Fixes lots of tests.
Giannis Adamopoulos [Tue, 20 Feb 2018 12:36:31 +0000 (14:36 +0200)]
[SHELL32] CShellItem: Fix return value of Compare method
Giannis Adamopoulos [Tue, 20 Feb 2018 11:05:59 +0000 (13:05 +0200)]
[SHELL32] CDefaultContextMenu: Implement GetCommandString
Giannis Adamopoulos [Tue, 20 Feb 2018 09:48:40 +0000 (11:48 +0200)]
[SHELL32] Fix a couple of tests
Giannis Adamopoulos [Tue, 20 Feb 2018 08:58:14 +0000 (10:58 +0200)]
[SHELL32] shellpath: sync a part of _SHGetDefaultValue with wine
on 32bit builds CSIDL_PROGRAM_FILESX86 is treated as CSIDL_PROGRAM_FILES and on wow64 builds CSIDL_PROGRAM_FILES gets treated as CSIDL_PROGRAM_FILESX86
Giannis Adamopoulos [Mon, 19 Feb 2018 01:23:15 +0000 (03:23 +0200)]
[SHELL32] Fix some test failures
Timo Kreuzer [Mon, 5 Feb 2018 01:42:14 +0000 (02:42 +0100)]
[REACTOS] Fix a number of Get/SetWindowsLong*Ptr* issues and use GWLP_* instead of GWL_* where appropriate.
Timo Kreuzer [Fri, 29 Dec 2017 09:46:19 +0000 (10:46 +0100)]
[WIN32K] Implement NtUserSetWindowLongPtr for 64 bit builds
Also fix return type of NtUserQueryWindow and type of WND::dwUserData and the value for bAnsi in SetWindowLongPtrA
Mark Jansen [Mon, 19 Feb 2018 21:23:39 +0000 (22:23 +0100)]
[RTL][XDK][KERNERL32_WINETEST] Import wine actctx changes from 3.2-
37c98396
This adds support for reading the trustInfo (requestedExecutionLevel),
and the compatibility (supportedOs) sections.
Mark Jansen [Sun, 18 Feb 2018 14:27:08 +0000 (15:27 +0100)]
[RAPPS] Various fixes
- Ask the user if they want to continue on cab certificate problems
- Fix memory leaks in failure paths
- Properly disable caching
Giannis Adamopoulos [Mon, 19 Feb 2018 00:03:35 +0000 (02:03 +0200)]
[SNDREC32] it-IT.rc: add a missing new line
Giannis Adamopoulos [Sun, 18 Feb 2018 23:59:30 +0000 (01:59 +0200)]
[SHELL32] CFSFolder: Fix some tests for GetAttributesOf
Eric Kohl [Sun, 18 Feb 2018 17:47:42 +0000 (18:47 +0100)]
[SERVICES] Update a drivers status properly
- ScmUnloadDriver: Handle failed unload properly.
- ScmGetDriverStatus: A driver is running when its driver object was found. Otherwise it has been stopped.
- ScmControlDriver: Check a drivers status before and after unloading.
CORE-14317
Mark Jansen [Sun, 18 Feb 2018 22:04:45 +0000 (23:04 +0100)]
[COMCTL32] Export GetWindowSubclass by name.
CORE-14346
Pierre Schweitzer [Sun, 18 Feb 2018 18:32:08 +0000 (19:32 +0100)]
[NTOSKRNL] Fix mismatching spinlock release in CcPerformReadAhead()
Pierre Schweitzer [Sun, 18 Feb 2018 13:50:29 +0000 (14:50 +0100)]
[KMTESTS:CC] Addendum to
3fe0e28: use ok_irql.
CORE-14349
Serge Gautherie [Sun, 18 Feb 2018 13:06:23 +0000 (14:06 +0100)]
[KMTESTS:IO] Fix a Clang-Cl warning about NameLength
"warning: variable 'NameLength' is used uninitialized whenever 'if' condition is false [-Wsometimes-uninitialized]"
CORE-14306
Thomas Faber [Sun, 18 Feb 2018 13:05:10 +0000 (14:05 +0100)]
[KMTESTS:IO] Correctly free name in IoFilesystem's TestAllInformation.
Spotted by Serge Gautherie.
Serge Gautherie [Tue, 13 Feb 2018 12:05:35 +0000 (13:05 +0100)]
[KMTESTS:NPFS] Fix 2 Clang-Cl warnings about ShareAccess
"warning: variable 'ShareAccess' is used uninitialized whenever 'if' condition is false [-Wsometimes-uninitialized]"
CORE-14306
Pierre Schweitzer [Sun, 18 Feb 2018 12:58:01 +0000 (13:58 +0100)]
[KMTESTS:CC] Add IRQL tests for CcCopyRead showing that a spinlock is held during Cc IO operations.
CORE-14349
Thomas Faber [Sun, 18 Feb 2018 11:51:16 +0000 (12:51 +0100)]
[HAL] Eliminate tail calls from HalpHardwareInterruptLevel. CORE-14076
Thomas Faber [Sun, 18 Feb 2018 11:50:54 +0000 (12:50 +0100)]
[HAL] Eliminate tail calls from HalpDispatchInterrupt[2]. CORE-14076
Thomas Faber [Sun, 18 Feb 2018 11:49:24 +0000 (12:49 +0100)]
[HAL] Eliminate tail calls from HalEndSystemInterrupt. CORE-14076
Thomas Faber [Sun, 18 Feb 2018 11:42:18 +0000 (12:42 +0100)]
[HAL] Create a macro for the HalpEndSoftwareInterrupt to allow reuse. CORE-14076
Thomas Faber [Sun, 11 Feb 2018 10:33:16 +0000 (11:33 +0100)]
[HAL] Convert HalpEndSoftwareInterrupt2 to fastcall. CORE-14076
Mark Jansen [Sun, 18 Feb 2018 11:56:33 +0000 (12:56 +0100)]
[RAPPS] Some fixes to our completely broken cert pinning attempt.
- We should not open a new connection to request a certificate.
- Update the issuer / subject for the LE certificate.
- User proper types.
- Require all fields that we check to be present.
Without checking the public key or the entire certificate it's still not secure, but we are a step closer.
Dedicated to Joachim Henze
CORE-14350
Pierre Schweitzer [Sun, 18 Feb 2018 10:30:51 +0000 (11:30 +0100)]
[NTOSKRNL] Don't make CcScheduleReadAhead() too noisy
Thomas Faber [Thu, 1 Feb 2018 10:08:14 +0000 (11:08 +0100)]
[WIN32K:NTUSER] Safely handle allocation failure in IntCloneMenu. CORE-14222
Thomas Faber [Thu, 1 Feb 2018 10:07:39 +0000 (11:07 +0100)]
[WIN32K:NTUSER] Avoid allocating an extra item in IntCloneMenuItems. CORE-14222
Thomas Faber [Thu, 1 Feb 2018 10:06:50 +0000 (11:06 +0100)]
[WIN32K:NTUSER] Handle realloc failure in IntRemoveMenuItem. CORE-14222
Thomas Faber [Thu, 1 Feb 2018 10:06:03 +0000 (11:06 +0100)]
[WIN32K:NTUSER] Handle allocation failure in PopupMenuWndProc. CORE-14222
Thomas Faber [Sun, 18 Feb 2018 10:14:13 +0000 (11:14 +0100)]
[KMTESTS] Change license to LGPL and update to SPDX headers.
Permission for this change was given by all authors
(who are now mentioned in the copyright lines).
Hermès Bélusca-Maïto [Sun, 18 Feb 2018 01:49:31 +0000 (02:49 +0100)]
[NTSTATUS] Add some status messages.
Hermès Bélusca-Maïto [Sun, 18 Feb 2018 00:41:53 +0000 (01:41 +0100)]
[BOOTDATA] Add some informative registry values (Win2k3 compat).
- In HKLM\SYSTEM\CurrentControlSet\Control\Windows, add "Directory"
and "SystemDirectory" values, giving the ReactOS installation
directories (purely informative).
- Also add the "ErrorMode" value that specifies how the hard-error
popups are displayed. This value will be used later.
- Fix event log sources ordering.
Hermès Bélusca-Maïto [Sun, 18 Feb 2018 00:16:24 +0000 (01:16 +0100)]
[BOOTDATA] Add "Application Popup" as a known source of events for the System event log.
Joachim Henze [Sat, 17 Feb 2018 22:48:16 +0000 (23:48 +0100)]
[CMAKE] Increase KERNEL_VERSION_PATCH_LEVEL to 9 CORE-14345
To make 1st stage setup properly report "0.4.9"
Hermès Bélusca-Maïto [Sat, 17 Feb 2018 20:03:58 +0000 (21:03 +0100)]
[SC] Fix MSVC build.
Giannis Adamopoulos [Sat, 17 Feb 2018 20:01:04 +0000 (22:01 +0200)]
[SHELL32] CFSDropTarget: style fixes
Giannis Adamopoulos [Sat, 17 Feb 2018 19:36:31 +0000 (21:36 +0200)]
[SHELL32] CDefView: remove a useless print
Giannis Adamopoulos [Sat, 17 Feb 2018 11:59:51 +0000 (13:59 +0200)]
[SHELL32] CFSDropTarget: Use copy depending on the source drive
Show the default action as the default menu item in the right click menu.
Giannis Adamopoulos [Fri, 16 Feb 2018 18:33:44 +0000 (20:33 +0200)]
[SHELL32] CFSDropTarget: Initial implementation of right click drag menu
Giannis Adamopoulos [Sat, 17 Feb 2018 17:29:20 +0000 (19:29 +0200)]
[SHELL32] CDefView: Implement several methods needed for drop targets
Set the view object as the site of the drop target.
Implement GetItemPosition, SelectAndPositionItems, IsDropOnSource, GetDragPoint.
Use DROPEFFECT_COPY only when the item supports it.
Giannis Adamopoulos [Sat, 17 Feb 2018 17:18:43 +0000 (19:18 +0200)]
[SHELL32] Add menu resource which is used when dragging files with right click
Eric Kohl [Sat, 17 Feb 2018 18:26:06 +0000 (19:26 +0100)]
[SC] Implement missing query/queryex options
- PrintService: Print optional display name.
- MainUsage: Print missing query options.
- Parse query options and use them to enumerate services.
Colin Finck [Sat, 17 Feb 2018 17:09:07 +0000 (18:09 +0100)]
[CMAKE] Call "git describe" with the --long parameter to always output the format we are used to.
Hermès Bélusca-Maïto [Sat, 17 Feb 2018 15:02:22 +0000 (16:02 +0100)]
[SHELL32_APITEST] Run the CUserNotification worker test function in a thread to copy with possible test timeouts. CORE-13177
Pierre Schweitzer [Sat, 17 Feb 2018 14:09:38 +0000 (15:09 +0100)]
[NTOSKRNL] Don't call OOM dumper in case we were trying to allocate more than 100 pages.
In such case, we'll consider the caller is bogus and we'll fail in silence.
Dedicated to Mark (again!)
Pierre Schweitzer [Sat, 17 Feb 2018 14:06:29 +0000 (15:06 +0100)]
[NTOSKRNL] Allow more chars in ExpTagAllowPrint().
Dedicated to Mark
Pierre Schweitzer [Sat, 17 Feb 2018 12:48:32 +0000 (13:48 +0100)]
[FASTFAT] Drop read ahead locking routines in favor of lazy writer routines.
This avoids code duplication while being consistent with MS FastFAT.
Hermès Bélusca-Maïto [Fri, 16 Feb 2018 22:30:09 +0000 (23:30 +0100)]
[SHELL32] Fix COM registration of IShellFolder, IShellLinkA/W, IQueryContinue and IUserNotification classes.
Pierre Schweitzer [Fri, 16 Feb 2018 18:36:25 +0000 (19:36 +0100)]
[EXPLORER] Update French translation
Katayama Hirofumi MZ [Fri, 16 Feb 2018 11:00:08 +0000 (20:00 +0900)]
improve SHGetFileInfo (#118)
This patch reduces failures of SHGetFileInfo function. CORE-7159
* improve WideByteToWideChar calls
* fix bugs related to file attributes and SHGFI_EXETYPE
* SHGFI_USEFILEATTRIBUTES and SHGFI_ICON fix
* s/sizeof(temppsfi)/0/