Commit graph

71110 commits

Author SHA1 Message Date
Pierre Schweitzer 45964099f3
[NTOSKRNL] Return some Cc counters in SystemPerformanceInformation 2018-02-24 13:36:26 +01:00
Pierre Schweitzer 227c4321c2
[NTOSKRNL] Add the CcMapDataWait and CcMapDataNoWait counters 2018-02-24 13:36:26 +01:00
Eric Kohl 1dfbed9c3d [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
2018-02-24 11:14:05 +01:00
Serge Gautherie b6c060ce04 [IPHLPAPI] Fix getNumRoutes() return value, on Mib error (#391) 2018-02-23 17:35:02 +00:00
Giannis Adamopoulos 5b38fed776 [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.
2018-02-23 12:27:48 +02:00
Mark Jansen 5f52a61e7d
[SHIMENG] Do not crash on a NULL ModuleName & BaseAddress.
CORE-14376
2018-02-22 23:25:57 +01:00
Serge Gautherie e8271c9a46 [KMTESTS:FSRTL] Fix all FsRtlLargeMcbTestsFastFat() checks
Addendum to 22037684e4.

- Result: check "== FALSE" not "= TRUE".
- Report compared values, not different ones.

CORE-11819
2018-02-22 22:26:34 +01:00
Thomas Faber a2f77ee3fb
[NTOS:CC] Don't read past the end of the file in CcPerformReadAhead. 2018-02-22 14:03:05 +01:00
Thomas Faber 56e2bf2f92
[NTOS:CC] Avoid some magic numbers. 2018-02-22 14:03:03 +01:00
Thomas Faber b8741e2bb3 [SHELL32] Fix PIDL leak in CMenuSFToolbar::FillToolbar. CORE-13194 2018-02-22 11:53:34 +01:00
Thomas Faber 87d3fdf99e [DHCPCSVC] Fix a memory leak in bind_lease introduced in r14645 (!). CORE-14353 2018-02-22 11:53:34 +01:00
Pierre Schweitzer 22037684e4
[KMTESTS:FSRTL] Add a few more tests matching MS FastFAT.
CORE-11819
2018-02-21 22:53:30 +01:00
Thomas Faber 182a31074f [IPHLPAPI] Fix memory leak in getNumRoutes. CORE-14353 2018-02-21 18:42:43 +01:00
Thomas Faber 4487284c17
[KMTESTS:FSRTL] Avoid writing to string literals. ROSTESTS-298 2018-02-21 15:17:58 +01:00
Pierre Schweitzer 6ff94017e4
[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
2018-02-21 00:26:13 +01:00
Serge Gautherie e1bd79e3df [SC] Addendum to 4728157: Add missed values to query errors and usage output. (#387) 2018-02-20 19:45:55 +01:00
Giannis Adamopoulos 3263303844 [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.
2018-02-20 16:59:00 +02:00
Giannis Adamopoulos 9d7313273c [SHELL32] CShellItem: Implement BindToHandler and improve GetAttributes based on wine
Fixes lots of tests.
2018-02-20 16:33:30 +02:00
Giannis Adamopoulos af97de39a2 [SHELL32] CShellItem: Fix return value of Compare method 2018-02-20 14:36:31 +02:00
Giannis Adamopoulos c361e475b4 [SHELL32] CDefaultContextMenu: Implement GetCommandString 2018-02-20 13:05:59 +02:00
Giannis Adamopoulos 7e48c20b3b [SHELL32] Fix a couple of tests 2018-02-20 11:48:40 +02:00
Giannis Adamopoulos ac950ea01d [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
2018-02-20 10:58:14 +02:00
Giannis Adamopoulos 730d81b9f7 [SHELL32] Fix some test failures 2018-02-20 10:15:23 +02:00
Timo Kreuzer d281d14fd1 [REACTOS] Fix a number of Get/SetWindowsLong*Ptr* issues and use GWLP_* instead of GWL_* where appropriate. 2018-02-19 22:36:36 +01:00
Timo Kreuzer 173971d947 [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
2018-02-19 22:36:36 +01:00
Mark Jansen ee7f479c57
[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.
2018-02-19 22:23:39 +01:00
Mark Jansen 07f3691cd8 [RAPPS] Various fixes
- Ask the user if they want to continue on cab certificate problems
- Fix memory leaks in failure paths
- Properly disable caching
2018-02-19 11:54:33 +01:00
Giannis Adamopoulos 21ae3a0862 [SNDREC32] it-IT.rc: add a missing new line 2018-02-19 02:03:35 +02:00
Giannis Adamopoulos 48d88a3617 [SHELL32] CFSFolder: Fix some tests for GetAttributesOf 2018-02-19 02:01:02 +02:00
Eric Kohl a8d256bf23 [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
2018-02-19 00:14:58 +01:00
Mark Jansen b02d78586c
[COMCTL32] Export GetWindowSubclass by name.
CORE-14346
2018-02-18 23:04:45 +01:00
Pierre Schweitzer dd392b9d6c
[NTOSKRNL] Fix mismatching spinlock release in CcPerformReadAhead() 2018-02-18 19:32:08 +01:00
Pierre Schweitzer 215e48d0bd
[KMTESTS:CC] Addendum to 3fe0e28: use ok_irql.
CORE-14349
2018-02-18 14:51:35 +01:00
Serge Gautherie 45aa179386
[KMTESTS:IO] Fix a Clang-Cl warning about NameLength
"warning: variable 'NameLength' is used uninitialized whenever 'if' condition is false [-Wsometimes-uninitialized]"

CORE-14306
2018-02-18 14:14:56 +01:00
Thomas Faber 0cc3f19b80
[KMTESTS:IO] Correctly free name in IoFilesystem's TestAllInformation.
Spotted by Serge Gautherie.
2018-02-18 14:14:54 +01:00
Serge Gautherie 9bc2a27393
[KMTESTS:NPFS] Fix 2 Clang-Cl warnings about ShareAccess
"warning: variable 'ShareAccess' is used uninitialized whenever 'if' condition is false [-Wsometimes-uninitialized]"

CORE-14306
2018-02-18 14:14:52 +01:00
Pierre Schweitzer 3fe0e280b1
[KMTESTS:CC] Add IRQL tests for CcCopyRead showing that a spinlock is held during Cc IO operations.
CORE-14349
2018-02-18 14:00:38 +01:00
Thomas Faber 888ace4397
[HAL] Eliminate tail calls from HalpHardwareInterruptLevel. CORE-14076 2018-02-18 13:06:44 +01:00
Thomas Faber b4453242f7
[HAL] Eliminate tail calls from HalpDispatchInterrupt[2]. CORE-14076 2018-02-18 13:06:42 +01:00
Thomas Faber ade345427f
[HAL] Eliminate tail calls from HalEndSystemInterrupt. CORE-14076 2018-02-18 13:06:41 +01:00
Thomas Faber 7a9474a6bb
[HAL] Create a macro for the HalpEndSoftwareInterrupt to allow reuse. CORE-14076 2018-02-18 13:06:39 +01:00
Thomas Faber 040d78354e
[HAL] Convert HalpEndSoftwareInterrupt2 to fastcall. CORE-14076 2018-02-18 13:06:37 +01:00
Mark Jansen b56193a27c
[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
2018-02-18 13:01:02 +01:00
Pierre Schweitzer e319f85e67
[NTOSKRNL] Don't make CcScheduleReadAhead() too noisy 2018-02-18 11:31:14 +01:00
Thomas Faber b030836b40
[WIN32K:NTUSER] Safely handle allocation failure in IntCloneMenu. CORE-14222 2018-02-18 11:27:35 +01:00
Thomas Faber 1969094028
[WIN32K:NTUSER] Avoid allocating an extra item in IntCloneMenuItems. CORE-14222 2018-02-18 11:27:32 +01:00
Thomas Faber de455c4d50
[WIN32K:NTUSER] Handle realloc failure in IntRemoveMenuItem. CORE-14222 2018-02-18 11:27:29 +01:00
Thomas Faber c464f4f2e3
[WIN32K:NTUSER] Handle allocation failure in PopupMenuWndProc. CORE-14222 2018-02-18 11:27:27 +01:00
Thomas Faber a9ba7a3f9e
[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).
2018-02-18 11:22:09 +01:00
Hermès Bélusca-Maïto f3c60947e7
[NTSTATUS] Add some status messages. 2018-02-18 02:49:31 +01:00