Commit graph

72626 commits

Author SHA1 Message Date
Pierre Schweitzer 6937fa8f41
[KMTESTS:CC] Duplicate tests for CcPinRead
To be extended.
2018-09-01 12:41:01 +02:00
Pierre Schweitzer b0d1522886
[KMTESTS:CC] Add missing FsRtlEnter/ExitFileSystem() calls
Spotted by Thomas
2018-09-01 12:41:01 +02:00
Pierre Schweitzer 8f284f8a0c
[KMTESTS:CC] That wasn't meant to be committed 2018-09-01 12:41:00 +02:00
Serge Gautherie cbcfbc4322
[COMCTL32_WINETEST] treeview.c: Skip test_right_click()
until CORE-14975 is fixed upstream and WINESYNC.

CORE-14975
2018-09-01 09:22:45 +02:00
Pierre Schweitzer 5d04c691af
[KMTESTS:CC] Add a test to show we map our buffers wrong in CC
That is expected (cf. CORE-14259)
2018-08-31 23:29:59 +02:00
Pierre Schweitzer 1b9b4c48c9
[KMTESTS:CC] Remove dummy leftover 2018-08-31 23:08:25 +02:00
Pierre Schweitzer 262e5bfef1
[KMTESTS:CC] Extended previous test to show an overlap is enough 2018-08-31 23:07:46 +02:00
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