Commit graph

71970 commits

Author SHA1 Message Date
Pierre Schweitzer 7eca874824
[NTOSKRNL] Fix FsRtlStackOverflow work item free.
Oneliner of the day... This typo just prevented the
whole feature to work properly. Because any allocated
work item would miserably fail to be freed.

This will obviously help real world FSD relying on
StackOverflow worker from FsRtl to work better!

CORE-14611
2018-05-10 10:49:17 +02:00
Pierre Schweitzer 7662858670
[AUTOCHK] Statically link to FS libs.
This will help reducing the number of handles open.

CORE-13759
2018-05-10 10:49:17 +02:00
Pierre Schweitzer 935dcd64a5
[FSLIB] Add headers for our FS libs.
CORE-13759
2018-05-10 10:49:17 +02:00
Bișoc George 96c3d8d9eb [COMCTL32] Update Romanian translation (#538) 2018-05-08 23:06:33 +02:00
Serge Gautherie f6a4ec8041 [APPSHIM_APITEST] Fix a Clang-Cl warning about n
- "warning: comparison of unsigned expression >= 0 is always true [-Wtautological-unsigned-zero-compare]"

CORE-14306
2018-05-08 21:36:26 +02:00
Alexander Shaposhnikov 33cc014cf5
Reflect latest release versions in README.md
Should have updated this a month ago, oops!
2018-05-08 10:24:26 +03:00
Serge Gautherie 627f3dc725 [DEVMGR] Fix a Clang-Cl warning about DriverInfoDetailData.SectionName
"warning: logical not is only applied to the left hand side of this comparison [-Wlogical-not-parentheses]"

CORE-14306
2018-05-07 14:00:41 +02:00
Eric Kohl 12bdbe5710 [IDL][NETAPI32][SRVSVC] Hack around another midl/rpcrt4 bug
NETAPI32: Get rid of the old WINE NetServerGetInfo and replace it by a proper call to NetrServerGetInfo.
SRVSVC: Implement parts of NetrServerGetInfo.
srvsvc.idl: Hack around a bug in midl or rpcrt4. They are not able to handle a pointer to a union of pointers to structs. A pointer to a union of structs works a advertised.
2018-05-06 16:49:24 +02:00
Thomas Faber 93edd2a185
[IPHLPAPI_APITEST] Avoid crash on ROS and failure on Windows. CORE-14411
- Make the reply buffer for IcmpSendEcho large enough to hold the reply,
  even when testing a smaller size. This avoids a buffer overflow with ROS's
  broken implementation.
- Avoid unnecessary initialization.
- Fix IcmpSendEcho return value check to succeed on Win2003.
- Don't free a string literal in the GetInterfaceName test.
2018-05-06 08:36:19 +02:00
Hermès Bélusca-Maïto 34b0f3e4f8
[BOOTDATA][SHELL32] Add some recognized file extensions (.db, .efi, .nls, .ocx, .tlb, .nt), and update some reported MIME types.
CORE-11308
2018-05-05 22:20:21 +02:00
Eric Kohl c7994ca74f [IDL] srvsvc.idl: Fix the definition of Opnum29NotUsedOnWire
Opnum29NotUsedOnWire is actually called NetrServerSetServiceBits.
See:
http://l.wzm.me/_security/internet/_internet/WinServices/ch04s07s08.html
and https://git.samba.org/?p=samba.git;a=blob;f=librpc/idl/srvsvc.idl;h=db804e58c01f3392c4ec6eb30643c36bcb8be683;hb=HEAD
2018-05-05 15:34:43 +02:00
Hermès Bélusca-Maïto 2b3fd31bc5
[CONUTILS] Use the currently active console codepage to output text to files. If you want to output UTF-8 run "chcp 65001" before.
CORE-12122
2018-05-05 01:37:30 +02:00
Serge Gautherie 444553c7f0 [DESK.CPL] Fix a Clang-Cl warning about "LogPixels"
"warning: logical not is only applied to the left hand side of this comparison [-Wlogical-not-parentheses]"

CORE-14306
2018-05-04 22:02:48 +02:00
Serge Gautherie 5ca037d5f6 [UMPNPMGR] Fix a Clang-Cl warning about "CSConfigFlags"
"warning: logical not is only applied to the left hand side of this comparison [-Wlogical-not-parentheses]"

CORE-14306
2018-05-04 22:02:24 +02:00
Robert Naumann d6cebe736a [ZIPFLDR] Add German translation 2018-05-04 21:34:09 +02:00
Robert Naumann 9f9c961b41 [DRWTSN32] Add German translation 2018-05-04 21:34:09 +02:00
Serge Gautherie b893124a20 [NTFS] Fix 2 Clang-Cl warnings about CurrentKey->IndexEntry->Flags
"warning: logical not is only applied to the left hand side of this bitwise operator [-Wlogical-not-parentheses]"

CORE-14306
2018-05-04 08:08:45 +02:00
Wexpo Lyu b8a3f0eeee [REACTOS] Update simplified chinese translation (#529)
Minor updates fixing grammar, spacing and typos.
2018-05-03 11:53:19 +02:00
Serge Gautherie 7326dc03b6 [CMAKE] USE_CLANG_CL: Add "-Wno-parentheses-equality"
Silence some "code style" warnings.

CORE-14306
2018-05-03 08:12:17 +02:00
Serge Gautherie 8c312fe7e1 [ADVAPI32] Fix 2 TRACE() format copypastas. 2018-05-03 08:10:43 +02:00
Pierre Schweitzer 65e29b4b1f
[NTOSKRNL] Optimize a bit deferred writes.
In the lazy writer run, first post items that are queued for this.
Only then, start executing deferred writes if any.
If there were any, reschedule immediately a lazy writer run, to keep
Cc warm and to make it unqueue write faster in case of high IOs situation.
To make second lazy writer run happen faster, we keep our state active to
use short delay (1s) instead of standard idle (3s).
2018-05-02 23:33:45 +02:00
Eric Kohl db60cd219c [ADVAPI32] SEH-protext the calls to service control handlers
ScControlService:
- SEH-protext the calls to service control handlers.
- Return ERROR_EXCEPTION_IN_SERVICE if a service control handler throws an exception.
- Return ERROR_SERVICE_CANNOT_ACCEPT_CTRL if no service control handler has been registered for the service.
2018-05-02 23:24:26 +02:00
Wexpo Lyu 62a90470f8 [WINLOGON] Update simplified chinese translation (#528) 2018-05-02 14:12:59 +02:00
Hermès Bélusca-Maïto 44b5f652a5
[WINLOGON] Delimit the custom system shutdown message within a read-only edit control. 2018-05-02 00:24:11 +02:00
Hermès Bélusca-Maïto f34a30fec4
[SHUTDOWN] Actually all shutdown.exe utilities from all Windows (>= XP) versions (and not just Vista+) support a comment string of up to 512, *EVEN IF* they mention in their help message that the comment can only be up to 127 characters long. I have really tested that ;-) (And what is more, shutdown's utility from Whistler support an arbitrary comment length!) So here I remove the code that imposes this limit and I just check for no more than 512 characters. I also fix an out-of-bounds check for argv. 2018-05-02 00:24:10 +02:00
Hermès Bélusca-Maïto 11f0e2c0f6
[MSGINA] Fix layout of the security dialog box; add some french translation. 2018-05-02 00:24:01 +02:00
Eric Kohl fd090c6ca1 [SERVICES] Implement RI_ScSetServiceBitsA/W
- RI_ScSetServiceBitsA: Just call RI_ScSetServiceBitsW.
- RI_ScSetServiceBitsW: Store the service bits in the service list entry.
TODO: Merge all service bits in a global variable and pass it to the server service. Maybe use netapi.I_NetServerSetServiceBits(Ex)?
2018-05-01 21:33:37 +02:00
Hermès Bélusca-Maïto 73f799629b
[TRANSLATION] Minor translation update. 2018-05-01 17:45:06 +02:00
Hermès Bélusca-Maïto bf88116252
[SHELL32] Fix the layout of the Run/Execute dialog for many languages.
French fix covers CORE-12548.
2018-05-01 17:45:03 +02:00
Hermès Bélusca-Maïto 2feea26d4c
[README] Restore the UTF-8 BOM as it otherwise does not behave well with
ReactOS' Notepad.

This reverts commit 3d012a4405.
2018-05-01 17:44:54 +02:00
Eric Kohl 027904b441 [SRVSVC][WKSSVC] Server and workstation service set their service bit when they are running 2018-05-01 16:37:48 +02:00
Eric Kohl 1362983bb7 [IDL] Fix redefinition of server types when lmserver.h is included too 2018-05-01 16:15:52 +02:00
Eric Kohl ce0856099a [SDK] Improve lmserver.h
- Add _SERVER_TRANSPORT_INFO_1, _SERVER_TRANSPORT_INFO_2, and _SERVER_TRANSPORT_INFO_3 structs.
- Fix the calling convention of SetServiceBits().
2018-05-01 16:15:51 +02:00
Pierre Schweitzer 3b6d00eab9
[DRWTSN32] Add French translation. 2018-05-01 12:19:17 +02:00
Pierre Schweitzer 54c049bd6e
[NTOKSNRL] Always flush dirty VACB.
Recent changes seem to show that it's not
required to be exclusive on VACB to be able
to flush it.

This commit goes with f2c44aa and fixes the
last issues going with copying huge files.
There are no longer BSODs (be it in Mm or Cc).
I could, with 750MB RAM extract a 2GB file from
a 53MB archive and copy a 2,5GB file from a VBox
share to the disk. Note that writes are often
deferred, so if copy works, it's not that fast for now.

Note that it also brings some beloved behavior from
Windows: copy times are totally unreliable now when
writes are deferred. Little remaining times when
actively copying, high remaining times when deferred
writes in action. And goes between both... Sorry! ;-)

https://xkcd.com/612/

CORE-9696
CORE-11175
2018-04-30 22:24:30 +02:00
David Knapp 7673837a85 [SDK] Add description to MANUALLY_INITIATED_CRASH (#509) 2018-04-30 12:55:34 +02:00
Pierre Schweitzer 74c5d8b6bd
[NTOSKRNL] Free unused VACB when required.
Same mechanism exists in Windows (even their Cc
is way different from ours...) where when Cc is
out of memory (in their case, out of VACB), we
will start scavenge old & unused VACB to free
some of the memory.

It's useful in case we're operating we big files
operations, we may run out of memory where to map
VACB for them, so start to scavenge VACB to free
some of that memory.

With this, I am able to install Qt 4.8.6 with 2,5GB of RAM,
scavenging acting when needed!

CORE-12081
CORE-14582
2018-04-30 12:10:24 +02:00
Pierre Schweitzer cc54e51495
[NTOSKRNL] Unmark dirty first, and then write.
This will avoid trying to flush twice a dirty VACB under
high IOs pressure.

CORE-14584
2018-04-30 10:36:19 +02:00
Pierre Schweitzer 2a7d16727a
[FASTFAT] Implement write IOs defering.
Before any write operation that would involve caching, ask
the cache controler whether writing would make it exceed its memory
consumption. If so, queue the write operation for later execution.

In case the write operation can wait, then, the FSD operation will be
halted until the write is allowed.

I could test it successfully by copying huge files from a FAT volume to
another. The write is halted until some portions of the file is written
to the disk.
I could also properly install Qt (SDK) on ReactOS with this and less than 1GB RAM:
- https://www.heisspiter.net/~Pierre/rostests/Qt_OS.png
- https://www.heisspiter.net/~Pierre/rostests/Qt_OS2.png

CORE-12081
CORE-14582
CORE-14313
2018-04-29 20:42:53 +02:00
Pierre Schweitzer f2c44aa483
[NTOSKRNL] Fix lazy writer for in-use VACB.
Adjusting refcount and enabling lazy-write for pinned
VACB makes it actually more efficient, often purging
data to disk, reducing memory stress for the system.

This is required for defering writes.

This commit unfortunately (?) reverts a previous revert.

CORE-12081
CORE-14582
CORE-14313
2018-04-29 20:42:53 +02:00
Hermès Bélusca-Maïto 3055afce81
[MODE] Improve the way the DOS device statuses are enumerated via the "mode" command (without parameters). 2018-04-29 19:36:13 +02:00
Hermès Bélusca-Maïto 37deb7593e
[WINLOGON] Update french translation of the system shutdown dialog. 2018-04-29 18:02:41 +02:00
Eric Kohl 153c645b2c [WINLOGON] Add german translation of the system shutdown dialog 2018-04-29 17:44:41 +02:00
Eric Kohl ec2bfa2e11 [WINLOGON] Localize the shutdown timeout 2018-04-29 17:09:37 +02:00
Hermès Bélusca-Maïto 84e78e6a15
[MODE] Use more translated strings. CORE-12178 2018-04-29 16:57:11 +02:00
Eric Kohl b6ebd50d3f [SYSSETUP] Close the device key after the property sheet page has been released. 2018-04-29 15:41:38 +02:00
Bișoc George 6c16f12de5 [CALC][CLIPBRD][SOLITAIRE][SPIDER][NOTEPAD][REGEDIT][TASKMGR] Disable help menu/button 2018-04-29 15:24:11 +02:00
Eric Kohl 1cb019bd21 [SYSSETUP] Read driver settings from and write them to the registry
- Read the driver settings from the registry.
- Write the driver settings to the registry.
- Make the read-only edit control for the input buffer length look like a non-read-only one because it is controlled by the up-down control.
2018-04-29 14:55:57 +02:00
Pierre Schweitzer 00e843b1ed
[FASTFAT] Reduce the number of local declaration. 2018-04-29 12:33:53 +02:00
Pierre Schweitzer 3dc4d408b2
[SDK] Enforce callback type for KdRosRegisterCliCallback(), KdRosDeregisterCliCallback(). 2018-04-29 12:33:14 +02:00