Commit graph

94 commits

Author SHA1 Message Date
Hermès Bélusca-Maïto
8d78897384
[USERINIT] Enhancements for starting ReactOS GUI installer or Explorer shell.
- Transform TryToStartShell() into a StartProcess() function whose aim
  is just to start processes, since there is no extra initialization needed
  for starting a shell process.

- Modify StartInstaller() to call StartProcess() for starting the ReactOS GUI
  installer found on the installation media, from a path automatically expanded
  depending on the ambient CPU architecture.

svn path=/branches/setup_improvements/; revision=75331
2018-10-08 21:16:46 +02:00
Eric Kohl
9159190039 [SERVICES] Ignore the case when we compare account names 2018-10-05 12:04:21 +02:00
Eric Kohl
1820aa8fe6 [SERVICES] Revert f6d81f22 because it breaks the advapi32 LockServiceDatabase test. 2018-10-05 09:41:50 +02:00
Eric Kohl
f6d81f2257 [SERVICES] Fix timeout when a service is stopped
RSetServiceStatus: Send the stop command for the dispatcher thread from a separate thread.

Fixes CORE-15064
2018-10-05 08:41:23 +02:00
Eric Kohl
8f939e057c [SERVICES] Control set code clean-up
- Flush the new control set after the control set has been created.
- Make sure that we create a new control set only on the first boot after setup.
- Move the control set copy code to a separate function.
- Get rid of the global control set values.
2018-09-29 01:31:58 +02:00
Eric Kohl
04683639f0 [SERVICES] RChangeServiceConfigW / RCreateServiceW: Use SecureZeroMemory to wipe clear-text passwords after use. 2018-09-28 17:51:12 +02:00
Eric Kohl
b9aeb5bfbd [SERVICES] Fixed a missing comma 2018-09-28 17:29:31 +02:00
Eric Kohl
ea6dac3438 [SERVICES] Create a new control set on a non-setup boot. 2018-09-28 16:24:07 +02:00
Hermès Bélusca-Maïto
bf164caae8
[SERVICES] Simplify the implementation of RGetServiceDisplayNameA/W() and RGetServiceKeyNameA/W().
Also comment about the observed behaviour of the returned number of "characters"
returned by the ANSI versions of these APIs (which is tested by advapi32_winetest:service).

[ADVAPI32:SCM] Add a comment concerning wide characters vs. bytes mismatch.
2018-09-23 18:09:10 +02:00
Eric Kohl
76588be0d1 [ADVAPI32][SERVICES] Use the session key provided by SystemFunction028 to encrypt and decrypt the service passwords. 2018-09-19 12:30:33 +02:00
Eric Kohl
e5fcda922b [ADVAPI32][SERVICES] Pass encrypted passwords to the service manager.
- Encrypt passwords before passing them to the service manager. Right now, we are using a fixed encryption key. This will be fixed later.
- Replace the calls to ZeroMemory which are used to wipe the password buffers by calls to SecureZeroMemory.
2018-09-18 21:33:29 +02:00
Eric Kohl
5e2c4657ca [ADVAPI32][SERVICES] Add (dummy) password encryption/decryption functions to CreateServiceA/W and ChangeServiceConfigA/W in order to prepare to pass encrypted passwords to the service manager 2018-09-17 16:34:48 +02:00
Hermès Bélusca-Maïto
9d43950db7
[SERVICES] Add basic support for setting lpServiceStartName via RChangeServiceConfigW(). 2018-09-17 01:22:59 +02:00
Hermès Bélusca-Maïto
a987856e71
[SERVICES] Minor code style fixes; replace wcslen(xxx) ==/!= 0 and strcpy(string, 'empty-string') calls. 2018-09-17 01:22:55 +02:00
Katayama Hirofumi MZ
31019e8c0c [TRANSLATION] Update Romanian translation (#851)
Translation from Stefan Fulea.
CORE-15023
2018-09-14 11:04:36 +02:00
Pierre Schweitzer
a06184a9a4
[WINLOGON] Fix build
Add a specific internal header for MPR and include it in WinLogon.

CORE-15012
2018-09-14 08:15:08 +02:00
Pierre Schweitzer
cbff9a3046
[WINLOGON] On logoff, also disconnect from any remote location
This avoids keeping connections open and reopening them as soon
as the user reopens their session.
This fixes network shared being duplicated each time session
is reopened.

CORE-15012
2018-09-11 08:30:31 +02:00
Hermès Bélusca-Maïto
419e014675
[SERVICES] Only services starting under the LocalSystem account can run interactively. Otherwise ignore the interactive flag. 2018-09-09 23:24:08 +02:00
Hermès Bélusca-Maïto
cccf26da74
[SERVICES] Re-implement RChangeServiceConfigA() around RChangeServiceConfigW(), much as what is done for RCreateServiceA(). 2018-09-09 23:24:04 +02:00
Hermès Bélusca-Maïto
d6e577ced9
[SERVICES] RChangeServiceConfigW: Check valid usage of lpdwTagId when lpLoadOrderGroup is not specified. 2018-09-09 23:23:55 +02:00
Serge Gautherie
e3a1c2c81b [SERVICES] RChangeServiceConfig2A(): Zero-Initialize InfoW variable
This lets forward NULL Info.psd/Info.psd->lpDescription/Info.psfa,
instead of an uninitialized value.

CORE-14521
2018-08-21 17:36:46 +02:00
Adam Słaboń
af3d426685 [TRANSLATION] Polish translation update (#781)
In addition: fix the encoding of the comdlg32 and ntvdm polish resource files.
2018-08-20 17:00:33 +02:00
Hermès Bélusca-Maïto
fd39f92fcb
[INCLUDE][WINLOGON] Rename the STARTF_SCRNSAVER flag to STARTF_SCREENSAVER,
as documented in "Advanced Windows NT" by Jeffrey M. Richter (Microsoft Press),
and in https://is.muni.cz/el/1433/jaro2010/PB167/um/cv5/undocumented_CreateProcess.pdf .

[INCLUDE][SERVICES][WIN32K:NTUSER] Add an undocumented STARTF_INHERITDESKTOP flag
for the STARTUPINFO::dwFlags structure member, whose purpose is to tell Win32k
that the created handles to the window station and desktop to which the
process is connecting to, can be inherited by its child processes.
It is used when starting interactive services.
Observed via API monitoring on Windows 2003.
2018-08-19 22:18:40 +02:00
Timo Kreuzer
094a90ad4e [NTOS:PS] Fix an issue with PROCESS_DEVICEMAP_INFORMATION size on 64 bit builds
The PROCESS_DEVICEMAP_INFORMATION  union has 2 fields, one is a handle, the other one is a structure of 36 bytes (independent of architecture). The handle forces 64 bit alignment on 64 bit builds, making the structure 4 bytes bigger than on 32 bit builds. The site is checked in NtQueryInformationProcess (case ProcessDeviceMap). The expected size on x64 is the size of the Query structure without alignment. autocheck correctly passes the site of the Query union member, while smss passes the full size of PROCESS_DEVICEMAP_INFORMATION. Packing the structure is not an option, since it is defined in public headers without packing. Using the original headers sizeof(PROCESS_DEVICEMAP_INFORMATION) is 0x28, sizeof(PROCESS_DEVICEMAP_INFORMATION::Query) is 0x24.
2018-08-17 22:08:37 +02:00
Eric Kohl
2bbac12427 [DLLHOST] Add dllhost to make the device driver extractor for my Lenovo T400 happy 2018-08-11 22:25:30 +02:00
Serge Gautherie
7d6bda16c6
[REACTOS] Improve how some ASSERTMSG() message values are printed: enforce ending "\n".
NB: Not touching calls in "third-party" code: class and classpnp.
2018-08-08 22:03:45 +02:00
Hermès Bélusca-Maïto
10c5bfb8fe
[WINLOGON] Hack-fix for CORE-14877 ; see commit bcec1fd6. 2018-08-06 17:38:00 +02:00
Hermès Bélusca-Maïto
40000a1716
[WINLOGON][MSGINA] Fix typo. 2018-08-06 17:37:38 +02:00
Timo Kreuzer
cf77354dce [REACTOS] Fix 64 bit issues 2018-08-04 19:19:34 +02:00
Hermès Bélusca-Maïto
3b6faba11a
[AUTOCHK] Improvements: code + command-line handling.
- Add support for the following command-line arguments: /k, /p (and a little bit
  of /r), and add support for checking a particular volume.
  A description of these arguments can be found at:
  "Description of Enhanced Chkdsk, Autochk, and Chkntfs Tools in Windows 2000",
  https://web.archive.org/web/20150215210228/http://support.microsoft.com:80/kb/218461

- Slightly improve some messages.

- Get rid of legacy OpenDirectory() and simplify GetFileSystem().
2018-07-29 16:21:09 +02:00
Hermès Bélusca-Maïto
472d1d2f64
[AUTOCHK] Improve the timeout countdown prompt by displaying the actual remaining seconds before the disk check.
Make also keyboard availability optional.
2018-07-29 16:21:08 +02:00
Hermès Bélusca-Maïto
4225172506
[AUTOCHK] Minor code formatting; reduce indentation level of some blocks; use RTL_NUMBER_OF() macro; normalize file header. 2018-07-29 16:21:07 +02:00
David Knapp
7bbb6bd4b5 [AUTOCHK] Improve readability of messages 2018-07-26 07:28:42 +02:00
Eric Kohl
66981e1b07 [SERVICES] Keep a global service bits variable that combines the service bits of all running services 2018-07-23 01:48:49 +02:00
Hermès Bélusca-Maïto
02eee253b2
[WINLOGON] Allow WinSta0 access only when needed. Also, reset the WinSta0 user as soon as we have logged-off. 2018-07-22 19:03:17 +02:00
Eric Kohl
91a5ee334d [SERVICES] Add a checks for vaild info level to RChangeServiceConfig2A/W and RQueryServiceConfig2A/W
CORE-14837
2018-07-22 12:45:23 +02:00
Hermès Bélusca-Maïto
bcec1fd6c3
[WINLOGON] When starting Setup (which runs with SYSTEM credentials), explicitly specify on which window station and desktop we start it, so as to avoid the default choice of the non-interactive Service-0x0-3e7$ window station.
Also, switch to the WinSta0\Default desktop just only before starting Setup, and restore Winlogon setup when it finishes.
2018-07-17 01:59:51 +02:00
Hermès Bélusca-Maïto
fafcd50a35
[SERVICES] Minor additions.
- Remove a redundant ScmWaitForLsa() call.
- Remove the LSA_RPC_SERVER_ACTIVE macro (just use directly the string).
- Improve output of DPRINTs.
2018-06-28 23:34:08 +02:00
Hermès Bélusca-Maïto
75dc031080
[SERVICES] Remove the "Special service accounts initialization" hack, and enable per-service account logging.
This effectively removes the temporary hacks introduced in r73486 (a35a785b)
and in r73487 (0ce031f7) for the LocalService and NetworkService accounts.

Now these accounts (and their corresponding user profiles) are created
on the fly, the first time a service that needs these is started.
The code introduced in r73501 (ade0d2cd) is now re-enabled: this has
been made possible thanks to commit f42b4bbe (thanks Eric!).

Dedicated to Joachim Henze ;-)

CORE-12541, CORE-12279
2018-06-28 23:34:02 +02:00
David Knapp
893a3c9d03 [AUTOCHK] Improve autochk messages 2018-06-26 09:16:34 +02:00
Katayama Hirofumi MZ
0a8cd95cad [USERINIT][EXPLORER] Fix auto startup of Start Menu (#594)
- Remove code for Start-Menu auto-startup items from userinit and put it where it belongs: in explorer.

CORE-10839
2018-06-22 16:02:25 +02:00
Pierre Schweitzer
2149c3d0d0
[AUTOCHK] Let the timeout for disk repair to be configured 2018-06-09 00:19:09 +02:00
Pierre Schweitzer
79975ede26
[AUTOCHK] Allow users to skip disk checking if dirty
CORE-14692
2018-06-05 19:34:47 +02:00
Hermès Bélusca-Maïto
528e6339c2
[WINLOGON] Update Italian translation (#513) (by deleted user) 2018-05-31 15:41:09 +02:00
Eric Kohl
46dcab7ab1 [WINLOGON] Ignore the CTRL+SHIFT+ESC hotkey when the session is not in the logged-on state
Should fix CORE-13478
2018-05-22 18:14:42 +02:00
Eric Kohl
1f0fe38634 [WINLOGON] Prevent shell restart when the user is logged off 2018-05-22 14:36:55 +02:00
Pierre Schweitzer
3dc07c91f8
[WINLOGON] Fix build. 2018-05-21 11:33:02 +02:00
Eric Kohl
02f3cb5381 [WINLOGON] Close all dialog boxes on SAS
CORE-13593
2018-05-21 11:21:42 +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
Wexpo Lyu
62a90470f8 [WINLOGON] Update simplified chinese translation (#528) 2018-05-02 14:12:59 +02:00