Commit graph

72869 commits

Author SHA1 Message Date
Pierre Schweitzer
ad0c93b001
[KMTESTS:CC] Add a test that shows that our CC implementation duplicates BCB
It should instead reuse BCBs when mapping something already mapped.
2018-08-31 23:01:06 +02:00
Pierre Schweitzer
f0eb39084e
[NTOSKRNL] Fix a typo 2018-08-31 19:48:32 +02:00
Pierre Schweitzer
e806d16b06
[NTOSKRNL] Warn about unimplemented feature in CcMapData() (in all callers)
Currently, our CcMapData() behavior (same goes for CcPinRead()) is broken
and is the total opposite of what Windows kernel does. By default, the later
will let you map a view in memory without even attempting to bring its
data in memory. On first access, there will be a fault and memory will
be read from the hardware and brought to memory. If you want to force read
on mapping/pinning, you have to set the MAP_NO_READ (or PIN_NO_READ) flag
where kernel will fault on your behalf (hence the need for MAP_WAIT/PIN_WAIT).

On ReactOS, by default, on mapping (and thus pinning), we will force a view
read so that data is in memory. The way our cache memory is managed at the
moment seems not to allow to fault on invalid access and if we don't force
read, the memory content will just be zeroed.
So trying to match Windows behavior, by default, now CcMapData() will enforce
the MAP_NO_READ flag and warn once about this behavior change.
2018-08-31 19:48:32 +02:00
Serge Gautherie
3f65f3a51d [KMTESTS] Re-enable kmtest_.exe installation (#389)
ExPools and other tests don't break Windows Server 2003 anymore.

Revert r73535, so KmTests run on "Test WHS" bot.

CORE-12657
2018-08-31 08:46:48 +02:00
Hermès Bélusca-Maïto
1383fb0514
[MODULES] Order the cmake inclusions alphabetically as we're used to everywhere else. 2018-08-30 22:54:49 +02:00
Hermès Bélusca-Maïto
cb979bb293
[REACTOS] Introduce a "DEBUGFORMAT" environment variable that allows to select different debug trace formats.
CORE-12671

- The default format is used when no format name is specified: this is
  the one we use so far in ReactOS:

    <debug_class>:(<file>:<line>) <message>

  with "debug_class" being "trace", "warn", "err".

- The "wine" format is the one used by Wine. It can be used when trying
  to diff-compare traces for a module with the corresponding one
  obtained from a Wine run. It can also be useful because the logging of
  Wine-synced code assumes that the function names are automatically
  added by the helper macros "FIXME()", "TRACE()", "WARN()" or "ERR()",
  and not manually inside the logging string given to these macros:
  for example:

    FIXME("(%params) message\n", params);

  displays:

    fixme:<module>:SomeFunc(params) message

- The "extended" (or "ext") format is very noisy and tries to output a
  lot of information; it is a hybrid of the previous two formats:

    <debug_class>:(<file>:<line>):<channel>:SomeFunc <message>

Support for displaying the current process ID is added in
addition to the already existing support for thread ID.
2018-08-30 22:42:50 +02:00
Katayama Hirofumi MZ
c8749d379b [WIN32SS][FONT] Fix GetTextFace function and related (#829)
Google Chrome with -no-sandbox parameter in ReactOS wouldn't display the web page because first-chance exception raised.
CORE-14926

- Remove FullName, Style, and FaceName members from TEXTOBJ structure.
- Add TextFace member into TEXTOBJ structure.
- Add MatchFontName() and MatchFontNames() helper functions.
- Fix GetTextFace() and related.
2018-08-30 14:34:03 +02:00
Katayama Hirofumi MZ
56583f3069 [FONT][SETUP] Add 'Tms Rmn' and 'Times' font substitutes (#830)
Add "Tms Rmn" and "Times" font substitutes (same as "Times New Roman"). Windows has these substitutes, hence we also need those to remain compatible.
2018-08-30 13:07:22 +02:00
David Quintana
823552d778 [CMAKE] Update baseaddress files to match latest changes. 2018-08-30 03:45:40 +02:00
Katayama Hirofumi MZ
33fc7bf316 [STORAHCI] Fix MSVC "uninitialized local variable" error (C4700) (#828)
See also PR #821.
2018-08-30 00:50:06 +02:00
Katayama Hirofumi MZ
6c3b7644ef [SDK] Duplicate English messages as Polish Messages (#826) 2018-08-30 00:46:02 +02:00
David Quintana
ae11022712 [MC] Fix VS2017 build. 2018-08-30 00:27:55 +02:00
Eric Kohl
4bbbc40820 [NET] Initialize a new users primary group ID in order to fix logon failures 2018-08-29 22:03:53 +02:00
Eric Kohl
60420c7218 [NET] Fix indentation 2018-08-29 18:56:24 +02:00
Pierre Schweitzer
6d7ec8c7ec
[CDFS] Revert 9d0596a
The appropriate fix was the previous one, where the macro
for checking legal chars have been fixed.

Thanks to MS for their review :-).

CORE-14067
2018-08-29 08:34:30 +02:00
Pierre Schweitzer
a2f9762020
[SDK] Fix the implementation of the FsRtlIsAnsiCharacter* macros.
These macros should be implemented using the FsRtlTestAnsiCharacter() macro
that performs extended tests, especially for buffer overruns.
This fixes FsRtlIsAnsiCharacterWild(), FsRtlIsAnsiCharacterLegalFat(),
FsRtlIsAnsiCharacterLegalHpfs(), FsRtlIsAnsiCharacterLegalNtfs().

CORE-14067
2018-08-29 08:34:30 +02:00
Joachim Henze
e217e926e1 [SHELL32] Fix typo in comment 2018-08-28 14:24:49 +02:00
Katayama Hirofumi MZ
b0a1cb52be [TCPSVCS] Remove hardcoded C drive letter (#800)
CORE-13228, CORE-13235

For USETUP, add a comment about why the code uses it when adding a boot-sector boot entry to NTLDR. CORE-13226
2018-08-28 12:45:03 +02:00
Pierre Schweitzer
9d0596afe1
[CDFS] Properly check for legal names in CdIsLegalName()
Up to now, it was working by chance. Indeed, due to the invalid
ASCII check performed before calling FsRtlIsAnsiCharacterLegalHpfs(), the
macro is improperly called and overruns the FsRtlLegalAnsiCharacterArray
buffer. Fortunately, up to now, right after that buffer in kernel binary
there are strings which are more or less consistent with the flags that
are expected by the macro, causing a decent behavior of
FsRtlIsAnsiCharacterLegalHpfs() even for extended ASCII characters
(whereas FsRtlIsAnsiCharacterLegalHpfs() is only designed for ASCII
characters). But this is a totally out of control and wrong behavior.
A single change in the way the kernel was built could have caused the
CDFS driver not to work as previously.

I have made the choice to allow any extended ASCII character as done
for the unicode characters. This is a good compromise to avoid drastic
regressions for users having extended ASCII characters in their CD
file names.

This imports proposed upstream commit 1b6b625641dffb49951e60398e1a9c672318ea71
See pull request https://github.com/Microsoft/Windows-driver-samples/pull/278

CORE-14067
2018-08-28 07:50:58 +02:00
Hermès Bélusca-Maïto
cdb9f03236
[USETUP] Progress-bar: minor improvements.
- Simplify the usage of the PUPDATE_PROGRESS callback.

- Add the possibility of specifying an initial non-zero StepCount when
  creating the progress-bar (using the -Ex version), so that it can be
  initially drawn with the expected initial count.
  Of course ProgressSetStepCount() can continue to be used.
2018-08-27 23:55:58 +02:00
Mark Jansen
191dceb034
[LDR] Load kernel32 in LdrpInitializeProcess.
This allows kernel32 to register itself for manifest probing when loading dlls
CORE-9219
2018-08-27 20:05:00 +02:00
Mark Jansen
66e40be8eb
[NTDLL_APITEST] Various small fixes
- Add a missing file
- Add convenience targets for MSVC_IDE
- Remove whitespace at the end of the lines
2018-08-27 20:05:00 +02:00
Mark Jansen
ffae49deaf
[COMCTL32] Unregister some classes that were registered.
This should help fix some crashes.
2018-08-27 19:49:57 +02:00
LuRenJia
85bbd69cae [MAGNIFY] Fix the magnification ratio bug for CORE-14946 (#823)
This bug was caused by leaving the magnify window unrefreshed when updating the "Magnification Level" ComboBox.
CORE-14946
2018-08-27 14:36:28 +02:00
Katayama Hirofumi MZ
39dc3cdaf6 [SHELL32] Adjust the IDC_PICKICON_LIST control's height in the IDD_PICK_ICON dialog resource. (#824)
CORE-14974
2018-08-27 12:21:51 +02:00
Mark Jansen
19e9a44118
[SHELL32] Check the result from PathUnExpandEnvStringsW 2018-08-27 11:58:29 +02:00
Mark Jansen
608cb60e44
[SHELL32] Remove some mostly dead code from CShellLink 2018-08-27 11:58:24 +02:00
Katayama Hirofumi MZ
0a8ade5dd4
[SDK][CRT] Fix _ismbblead undefined error on MSVC 2018-08-27 11:09:28 +02:00
Hermès Bélusca-Maïto
d056eb05f2
[TIMEOUT] Fix a typo. 2018-08-27 00:28:10 +02:00
Hermès Bélusca-Maïto
6241a16f41
[USETUP] Implement a basic console 'input queue' and implement PeekConsoleInput() and CONSOLE_ConInKeyPeek() around it. 2018-08-27 00:28:08 +02:00
Eric Kohl
fc2b4bc7ea [LSASRV] LsapLogonUser creates an impersonation token for a network logon 2018-08-27 00:19:10 +02:00
Eric Kohl
a7b52d6a44 [SAMSRV] Simplify the initialization of the account expiration time 2018-08-27 00:12:44 +02:00
Eric Kohl
2fafcff3ef [SAMLIB] Add stubs for SamTestPrivateFunctionsDomain and SamTestPrivateFunctionsUser 2018-08-27 00:11:21 +02:00
Pierre Schweitzer
b8e4af606a
[NTOSKRNL] Properly reset pinning state on pinning failure 2018-08-26 22:56:25 +02:00
Pierre Schweitzer
54f89baad4
[NTOSKRNL] When acquiring BCB shared, starve exclusive waiters 2018-08-26 22:47:48 +02:00
Pierre Schweitzer
c1dd4c142f
[NTOSKRNL] Handle the PIN_WAIT flag in CcPinMappedData() 2018-08-26 22:05:11 +02:00
Pierre Schweitzer
469e15c7ae
[NTOSKRNL] Stubplement CcPinMappedData() and simplify CcPinRead()
It's based on the code that was in CcPinRead() implementation. This
made no sense to have CcPinMappedData() doing nothing while implementing
everything in CcPinRead(). Indeed, drivers (starting with MS drivers)
can map data first and pin it afterwards with CcPinMappedData(). It was
leading to incorrect behavior with our previous noop implementation.
2018-08-26 22:05:11 +02:00
Eric Kohl
a9f2677782 [SAMSRV] Simplify the initialization of the account expiration date for new user accounts 2018-08-26 21:26:31 +02:00
Eric Kohl
dcc188e974 [NETAPI32] Add code to handle special values of the last logon time, last logoff time and account expiration time 2018-08-26 21:07:05 +02:00
Hermès Bélusca-Maïto
e9ba3a8ebc
[USETUP] Progress-bar: Add support for displaying a custom progress text. 2018-08-26 20:41:57 +02:00
Hermès Bélusca-Maïto
3a33de0fb1
[USETUP] Progress-bar: Code formatting, add annotations, don't use floats. 2018-08-26 20:41:56 +02:00
Hermès Bélusca-Maïto
914769a14a
[USETUP] DrawProgressBar(): Draw the progress bar borders first, then draw its contents. 2018-08-26 20:41:49 +02:00
Eric Kohl
8f63c209bc [NET] Set the proper account expiration time (TIMEQ_FOREVER) when a new user account is created 2018-08-26 20:27:20 +02:00
Katayama Hirofumi MZ
6eb6aa2895 [SHELL32] Fix CShellLink::GetIconLocation (#810)
Fixes a regression from PR #784.
CORE-14961, CORE-14009
2018-08-26 15:37:15 +02:00
Denis Malikov
0cf5efc14c [NTOS:KE] Fix stub for KeAcquireInStackQueuedSpinLockForDpc (#814)
Error was found when building as 0x600+.
CORE-12596
2018-08-26 15:19:26 +02:00
Eric Kohl
bf76e1bf20 [NET] Add a date parser for the expires option of the net user command 2018-08-26 00:13:14 +02:00
Eric Kohl
06e7233134 [NTOSKRNL] IopGetDeviceProperty: Initialize power data struct and convert flags from device capabilities to power data 2018-08-25 19:49:29 +02:00
Pierre Schweitzer
3f9f5f7080
[KMTESTS:FSRTL] Add tests for the FsRtlIsAnsiCharacter* macro
This covers: FsRtlIsAnsiCharacterWild, FsRtlIsAnsiCharacterLegalFat, FsRtlIsAnsiCharacterLegalHpfs,
FsRtlIsAnsiCharacterLegalNtfs, FsRtlIsAnsiCharacterLegalNtfsStream
2018-08-25 14:26:50 +02:00
Pierre Schweitzer
5c10b02957
[NTOSKRNL] Add the OLE flag where appropriate in FsRtlLegalAnsiCharacterArray
This brings in the ability to check NTFS streams names (OLE | NTFS).
This fixes failing tests from previous commit.
2018-08-25 14:26:49 +02:00
Pierre Schweitzer
fcbcdf7073
[KMTESTS:FSRTL] Add tests for FsRtlLegalAnsiCharacterArray
These are failing in ReactOS due to the lack of the OLE flag support.
2018-08-25 14:26:49 +02:00