Commit graph

200 commits

Author SHA1 Message Date
Victor Perevertkin
74ec94e12c [CMAKE] Some options are only supported by GCC, don't use them for clang
These are (so far):
-Wno-format-overflow
-Wno-nonnull-compare
-Wno-old-style-declaration
-Wno-unused-but-set-variable
2021-04-09 03:58:19 +03:00
Mark Jansen
5028c3adec
[UMPNPMGR] Fix remaining length calculation 2021-04-03 01:43:48 +02:00
Victor Perevertkin
16173c0798
[UMPNPMGR] Fix GCC build
Addendum to 420c4a7abf
2021-03-19 09:14:05 +03:00
Victor Perevertkin
420c4a7abf
[UMPNPMGR] Install drivers for all devices available on boot
Don't wait for their events to appear, just retrieve the list and
install drivers. This fixes the installation of manually reported device
nodes

CORE-17212 CORE-17398
2021-03-19 08:59:42 +03:00
Victor Perevertkin
abbc5ba45a
[UMPNPMGR][USETUP] Use PlugPlayControlStartDevice in usetup and umpnpmgr
Instead of PlugPlayControlResetDevice, PlugPlayControlStartDevice should
be used for a newly installed device.
For usetup, add a device status check before starting attempt, so we're
not touching devices which are already started.

CORE-17463 CORE-17490
2021-03-16 03:17:58 +03:00
Victor Perevertkin
029accdcf7
[NDK] Change the data structure for PlugPlayControlResetDevice control class
PlugPlayControlResetDevice shares the input structure with several other
control classes.
Source: ProcessHacker sources e9c8121f41/ntpnpapi.h
2021-03-16 03:17:42 +03:00
Victor Perevertkin
fc2b105e5d
[CMAKE] Use remove_target_compile_option when disabling manually enabled warnings 2021-03-03 06:04:25 +03:00
Eric Kohl
95188553ba [WKSSVC] Get version info and authentication package on startup 2021-02-27 19:07:47 +01:00
Eric Kohl
87a4624e20 [WKSSVC][NETAPI32] Implement NetrWkstaGetInfo and get rid of the old NetWkstaGetInfo implementation 2021-02-13 23:19:29 +01:00
Victor Perevertkin
ff13301eb2
[UMPNPMGR] Set the data type in all cases of PNP_GetDeviceRegProp
CORE-14187
2020-12-06 19:48:38 +03:00
Hervé Poussineau
b483be4af2 [UMPNPMGR] Remove invalid prototype of inline function
This fixes eede1b9b7a.
2020-12-01 18:51:42 +01:00
Jérôme Gardou
ab825334dd Apply suggestions from code review
Beautification and clarity

Co-authored-by: Victor Perevertkin <victor@perevertkin.ru>
Co-authored-by: Hermès BÉLUSCA - MAÏTO <hermes.belusca-maito@reactos.org>
2020-10-20 21:44:54 +02:00
Jérôme Gardou
c004b53d77 Apply suggestions from code review
Style fixes

Co-authored-by: Hermès BÉLUSCA - MAÏTO <hermes.belusca-maito@reactos.org>
Co-authored-by: Victor Perevertkin <victor@perevertkin.ru>
2020-10-20 21:44:54 +02:00
Jérôme Gardou
00ed72d7e8 [CMAKE] Get rid of add_compile_flags
Use add_compile_options and the like instead
2020-10-20 21:44:54 +02:00
Jérôme Gardou
7e116f0ef3 [CMAKE] Get rid of replace_compile_flags
Introduce a finer-grained remove_target_compile_option instead
2020-10-20 21:44:54 +02:00
Hermès Bélusca-Maïto
ffc96d26ec
[UMPNPMGR][USETUP] Fix the way device-install events are queued and dequeued. Fixes CORE-16103.
Dedicated to the hard work of Joachim Henze! xD

This reverts part of commit 043a98dd (see also commit b2aeafca).

Contrary to what I assumed in commit 043a98dd (and was also assumed in
the older commit b2aeafca), we cannot use the singled-linked lists to
queue and dequeue the PnP device-install events, because:

- the events must be treated from the oldest to the newest ones, for
  consistency, otherwise this creates problems, as shown by e.g. CORE-16103;

- the system singled-linked lists only offer access to the top of the
  list (like a stack) instead of to both the top and the bottom of the
  list, as would be required for a queue. Using the SLISTs would mean
  that only the newest-received events would be treated first, while the
  oldest (which were the first received) events would be treated last,
  and this is wrong.

Therefore one must use e.g. the standard doubly-linked list. Also, using
locked operations (insertion & removal) on the list of device-install
events is necessary, because these operations are done concurrently by
two different threads: PnpEventThread() and DeviceInstallThread().
Since the interlocked linked list functions are not available in user-mode,
we need to use instead locking access through e.g. a mutex.
2020-10-01 01:52:09 +02:00
Serge Gautherie
98bbe8358c
[REACTOS] Fix GetTokenInformation() usage (#2997)
The first call to GetTokenInformation is used to determine the size of a TokenInformation buffer.
It should fail and return ERROR_INSUFFICIENT_BUFFER
2020-07-21 15:39:11 +03:00
Serge Gautherie
b509658280
[CMAKE] Remove obsolete 'CMAKE_CXX_COMPILER_VERSION' checks (#2981)
Following upgrade to RosBE 2.2.0 support and GCC 8.4.
2020-07-18 15:37:29 +02:00
Serge Gautherie
353b544047 [AUDIOSRV] logmsg(): Disable its file part
Mininal workaround for
CORE-16814
2020-07-11 01:22:56 +02:00
Mark Jansen
6859348aea
[SVCHOST] Fix PSID initialization
CORE-17151
2020-07-04 19:39:06 +02:00
Oleg Dubinskiy
dcc5dd2a69
[SDK][SVCHOST] Move all global svchost declarations to public header.
Also update the includes.
It will allow to use those declarations globally where they are required (e. g. for SvchostPushServiceGlobals functions in some services).
No functional changes.
2020-06-27 14:54:22 +02:00
Joachim Henze
1b8b339aae [DNSRSLVR] Define NDEBUG in cache.c
To avoid leaking private data into logs by default.
Some testers may consider their DNS-suffix private data.
And DnsIntCacheAddEntry() logs that via Record->pName.
2020-06-14 20:03:33 +02:00
Amine Khaldi
139a3d6661
[CMAKE] Implement PCH builds with target_precompile_headers. CORE-16905 2020-06-06 21:58:41 +03:00
Serge Gautherie
1e861d9759
[NFSD] readdir_copy_shortname(): Add needed brackets to '*name_size_out' (#2856)
CORE-17078
2020-06-06 18:21:05 +02:00
Eric Kohl
505b9f8052 [SCHEDSVC] Implement the job start time calculation for given days of month 2020-05-31 22:33:49 +02:00
Eric Kohl
d70c64bde0 [SCHEDSVC] Fix the job start time calculation for given days of week. 2020-05-31 15:49:22 +02:00
Serge Gautherie
11345aedd8
[FORMATTING] [CMAKE] Remove space in 'if (' (#2847) 2020-05-26 20:24:02 +02:00
Eric Kohl
1b90e54242 [BROWSER] Add the browser service 2020-05-21 22:49:33 +02:00
Eric Kohl
80b139d726 [UMPNPMGR] Start work on PNP_GetNextResDes() 2020-05-21 21:51:06 +02:00
Eric Kohl
38494d0997 [UMPNPMGR] Improve some debug messages 2020-05-20 19:56:30 +02:00
Katayama Hirofumi MZ
fe9838f578
[SERVICES][DCOMLAUNCH] Don't hardcode C: drive (#2779)
CORE-13235
2020-05-17 17:45:56 +09:00
Eric Kohl
4246b64dcb [UMPNPMGR] Implement PNP_GetFirstLogConf and PNP_GetNextLogConf (WIP)
- PNP_GetFirstLogConf only works for resources lists.
- PNP_GetNextLogConf does not return a valid tag yet.
2020-05-10 20:46:41 +02:00
Thomas Faber
5a5ba1ad10
[SHSVCS] Don't call UnregisterWait from within the wait callback.
Doing this causes deadlocks, the process runs out of worker threads and
the system runs out of memory by allocating too many I/O completion ports
when using ntdll.dll from Windows.
2020-04-22 12:37:26 +02:00
Victor Perevertkin
7e069ccdb2
[CMAKE] Replace custom functions to built-in ones
add_target_compile_definitions -> target_compile_definitions
add_target_compile_flags -> target_compile_options
add_target_include_directories -> target_include_directories
2020-04-16 15:59:38 +03:00
Hermès Bélusca-Maïto
622c7ed609
[W32TIME][BOOTDATA] Export SvchostEntry_W32Time() as an alias to W32TmServiceMain, and use the former as the service entry point specified in the registry, for Windows compatibility. 2020-04-09 23:22:40 +02:00
Serge Gautherie
2712762538
[UMPNPMGR] rpcserver.c: Fix debug message copypastas (#2426)
Addendum to db02f87d.
2020-03-09 16:00:53 +01:00
Eric Kohl
b39c55e5d2 [UMPNPMGR] Implement PNP_DisableDevInst() 2020-03-08 10:36:02 +01:00
Eric Kohl
db02f87d7b [UMPNPMGR] Fix indentation and improve debug messages 2020-03-08 10:30:25 +01:00
Eric Kohl
c11491b750 [UMPNPMGR] Improve PNP_DeviceInstanceAction
- Rename parameters according to [MS_PNPR] (no longer available for download).
- Remove unsupported PNP_DEVINST_MOVE and PNP_DEVINST_DISABLE actions.
- Implement most of the PNP_DEVINST_SETUP action.
2020-02-23 10:44:43 +01:00
Eric Kohl
774a4252b9 [UMPNPMGR] Improve some DPRINTS and PNP_CreateKey
PNP_CreateKey creates the 'Device Parameters' key for a given device in the enum key
2020-02-16 22:08:34 +01:00
Eric Kohl
00a47324f2 [UMPNPMGR] Replace magic values and improve DPRINTS in exported function 2020-02-16 16:29:44 +01:00
Eric Kohl
f9160f7637 [UMPNPMGR] Implement PNP_RegisterDriver() 2020-02-16 11:13:10 +01:00
Eric Kohl
4f23b0c3df [W32TIME] Rename ServiceMain to W32TmServiceMain 2020-02-15 15:08:19 +01:00
Katayama Hirofumi MZ
214a9cb660
[NFSD][TELNETD][LIBTIRPC][MAN] Don't hardcode C:\ReactOS (#2334)
CORE-14747
2020-02-13 18:03:35 +01:00
Bișoc George
37349d7a0f
[TIMEDATE] Do not display a message box when NTP sync fails (#2305)
This PR merely checks if the string is empty and displaying (only) a debug information to the debugger, at disposal of displaying a message box. I might implement such dynamic resource string to the CPL later in a next PR.
CORE-16654
2020-02-06 03:54:33 +09:00
Eric Kohl
17f932d78e [DNSRSLVR] R_ResolverFlushCache should only flush cached records which were not read from the hosts file 2020-01-06 00:46:37 +01:00
Eric Kohl
6c7878f35e [DNSAPI][DNSRSLVR] Implement DnsGetCacheDataTable() 2019-12-22 11:21:04 +01:00
Eric Kohl
6499cf9e1a [DNSRSLVR] Set proper flags for the hosts file entries 2019-12-21 22:12:55 +01:00
Eric Kohl
7908e2e41f [NETAPI32][WKSSVC] Implement NetGetJoinInformation using the workstation service 2019-12-15 19:53:23 +01:00
Eric Kohl
989ee70d9d [WKSSVC] Implement parts of NetrJoinDomain2 to join a work group
NOTE: We can not connect to a work group yet!
2019-12-08 19:19:27 +01:00
Eric Kohl
c35ebdfeb6 [DNSRSLVR] Add support for IP6 hosts file entries 2019-12-01 17:18:47 +01:00
Eric Kohl
630f34a0d0 [DNSAPI][DNSRSLVR] Parse the hosts file when the resolver is initializing
- Move the hosts file handling from dnsapi.dll to the resolver service. Now, the hosts file is no longer parsed on each query.
- Add support for DNS_QUERY_WIRE_ONLY and DNS_QUERY_NO_WIRE_QUERY flags to R_ResolverQuery.
- GetCurrentTimeInSeconds() should return DWORD instead of DNS_STATUS.
2019-11-23 17:13:51 +01:00
Eric Kohl
e92ad7f309 [IDL][DNSRSLVR] Use the stdcall calling convention for remote functions 2019-11-10 17:16:17 +01:00
Eric Kohl
305035be7d [DNSRSLVR][DNSAPI] Enable the DNS resolver cache
- Fix the IDL file to return DNS records properly
- Reroute the DNS query call path: DNSQuery->R_ResolverQuery->Query_Main

DNS records get cached and 'ipconfig /flushdns' works as expected.

CORE-12159
2019-11-10 15:28:42 +01:00
Eric Kohl
2a2dd8f726 [UMPNPMGR] Add checks for the root device instance ID 2019-11-09 21:14:52 +01:00
Eric Kohl
8bf3f3feb9 [UMPNPMGR] Validate device instance IDs before use 2019-11-09 18:48:10 +01:00
Eric Kohl
a743e33bd8 [UMPNPMGR] Implement PNP_RequestEjectPC() 2019-11-09 12:32:34 +01:00
Eric Kohl
d49d7b3282 [DNSRSLVR] Add the DNS Resolver Cache Service
Patch written by Peter Hater and Christoph von Wittich.

Slightly modified by me in order to
- fix bit-rot
- fix header include issues
- disable integration with dnsapi because of confusing use of DnsQweryEx().

Integration with dnsapi will follow in a future commit.

CORE-12159
2019-10-27 13:48:04 +01:00
Serge Gautherie
e133817811 [CMAKE] Use modules instead of shared libraries
Follow-up to 23373acbb9.
2 missed cases: apisets, lunar.msstyles.
4 new cases: w32time, netplwiz, msxml3r, mizu.msstyles.
2019-10-27 09:51:28 +01:00
Eric Kohl
13bb5e2317 [umpnpmgr][ndk] Implement PNP_RequestDeviceEject() and update unknown type in PLUGPLAY_CONTROL_QUERY_REMOVE_DATA 2019-10-15 22:40:06 +02:00
Eric Kohl
3d9a702d2b [UMPNPMGR] Implement PNP_QueryRemove() 2019-10-13 15:49:13 +02:00
Oleg Dubinskiy
5f7575909f [AUDIOSRV][BOOTDATA][INCLUDE][MMSYS] Rename RosAudioSrv to AudioSrv (#1826)
Rename RosAudioSrv to AudioSrv in audio service itself and in all system components which are related to this, same as it done in Win2k3.
It allows MS DxDiag to detect the system audio service correctly, so it becomes possible to run DirectSound test properly with MS dsound.dll, although it works with some minor errors and only in older VirtualBox versions, ~ up to 5.1.38 (and in other emulators as well).

CORE-16307
2019-08-16 19:11:04 +02:00
Mark Jansen
fcb9378e01
[W32TIME] The interval is specified in seconds, but we need milliseconds 2019-08-16 16:29:20 +02:00
Timo Kreuzer
ad89837c0e [3RDPARTY] Suppress MSVC printf format warnings in 3rd-party code 2019-08-15 15:24:12 +02:00
Timo Kreuzer
7611cc2b12 [REACTOS] Fix SIZE_T related warnings 2019-08-15 14:20:00 +02:00
Eric Kohl
71408b531c [RPCSS] Prevent the RPCSS service from getting stopped
CORE-13500
2019-08-04 19:59:30 +02:00
Eric Kohl
6b15e72206 [W32TIME] Use an event to stop the service
CORE-16180
2019-07-28 22:38:04 +02:00
Hermès Bélusca-Maïto
b6135732d4
[DLLs] Fix .spec files regarding OLE-specific exports.
- Do not use hardcoded ordinals, add missing '-private'.
  Except for MSXML3, OLE32 and RSAENH, see commit bff824b2 for more details.

- SHSVCS: The 6 first exports are nonamed with ordinals. Replace exported
  commented stubs by actual exported stubs instead.

Co-Authored-By: Timo Kreuzer <timo.kreuzer@reactos.org>
2019-07-28 16:26:22 +02:00
Eric Kohl
353e05a4f3 [AUDIOSVC] Fix the coding style. No code changes! 2019-07-27 18:20:04 +02:00
Bișoc George
eede1b9b7a
[UMPNPMGR] Implement registry functions for SuppressUI and SuppressNewHWUI handling. (#1683)
CORE-15897

Co-authored-by: Hermès Bélusca-Maïto <hermes.belusca-maito@reactos.org>
2019-07-21 19:02:53 +02:00
Eric Kohl
e0c97c9eca [SRVSVC][WKSSVC] Set the stop pending status before stopping the services and stop the RPC listener on shutdown as well. 2019-07-21 18:56:59 +02:00
Eric Kohl
1f082ecc68 [WMISERV][WUAUSERV] Stop the service if the stop event creation fails. 2019-07-21 18:56:57 +02:00
Benjamin Aerni
5b9543c31a
[W32TIME] Use a reasonable fallback of 9 hours. (#1724)
CORE-16181

This allows preventing spamming the time servers if the registry entry
becomes corrupted or missing. Also, disallow a setting of less than
2 minutes for the same reasons, and instead use the fallback of 9 hours.
2019-07-21 17:47:13 +02:00
Eric Kohl
eab73ad1a4 [SRVSVC] Make the server service stoppable. 2019-07-20 22:48:17 +02:00
Eric Kohl
4073a8c58d [WKSSVC] Make the workstation service stoppable. 2019-07-20 22:43:39 +02:00
Eric Kohl
8a631c8455 [WUAUSERV] Make the wuauserv service startable and stoppable. 2019-07-20 19:30:27 +02:00
Eric Kohl
eb532bc641 [WMISVC] Accept stop and shutdown commands when the service is running. 2019-07-20 15:51:39 +02:00
Hermès Bélusca-Maïto
e095695a64
[UMPNPMGR] Fix build. 2019-07-14 22:17:50 +02:00
Eric Kohl
47e90b5ea4 [UMPNPMGR] PNP_GetDeviceStatus: Move the code that retrieves the status of a device into a separate function so that we can use in other functions. 2019-07-14 21:50:06 +02:00
Eric Kohl
ece54dcd2f [SETUPAPI][UMPNPMGR] The 3rd parameter of PNP_RegisterNotification() seems to be the service name 2019-07-07 13:41:00 +02:00
Doug Lyons
e4898e6e0b
[W32TIME] Implement w32time service. CORE-13001 2019-07-07 12:55:13 +02:00
Thomas Faber
d19b792511
[W32TIME] Implement a rudimentary version of W32TimeSyncNow. CORE-13001 2019-07-07 12:45:03 +02:00
Eric Kohl
8f5fe0fa4f [UMPNPMGR] PNP_RegisterNotification: Add notification filter parameter checks 2019-06-29 18:16:13 +02:00
Eric Kohl
7eb6e42626 [UMPNPMGR][SETUPAPI] PNP_RegisterNotification() has got 9 parameters. 2019-06-29 13:38:42 +02:00
Eric Kohl
a9c4c07955 [SETUPAPI][UMPNPMGR] PNP_UnregisterNotification: Add 2 unknown parameters 2019-06-23 21:45:54 +02:00
Eric Kohl
ca0406131c [SETUPAPI][UMPNPMGR] Improve CMP_RegisterNotification/PNP_RegisterNotification
Pass the notification filter to PNP_RegisterNotification as a byte-pointer to the filter and the size of the filter.
2019-06-23 19:31:34 +02:00
Eric Kohl
6866c0aede [NTOSKRNL][USETUP][UMPNPMGR] Pass user response data to NtPlugPlayControl(PlugPlayControlUserResponse).
- Windows requires 16 bytes of response data.
- Add the PLUGPLAY_CONTROL_USER_RESPONSE_DATA type.
- Usetup and Umpnpmgr must fail if NtPlugPlayControl(PlugPlayControlUserResponse) does not return STATUS_SUCCESS.
2019-06-12 13:48:27 +02:00
Eric Kohl
acc821e1ea [UMPNPMGR] PNP_SetHwProf is not implemented in Windows XP and returns CR_CALL_NOT_IMPLEMENTED. 2019-06-11 16:32:44 +02:00
Eric Kohl
5e3c8ce0c6 [UMPNPMGR] Implement PNP_GetClassInstance(). 2019-06-06 18:16:31 +02:00
Eric Kohl
fe3ae24369 [UMPNPMGR] Split the monolithic monster: service, rpc and installer. 2019-05-30 11:48:29 +02:00
Eric Kohl
e71a94da20 [UMPNPMGR] PNP_QueryArbitratorFreeData and PNP_QueryArbitratorFreeSize don't do anything useful today. 2019-05-30 01:02:09 +02:00
Eric Kohl
78600cf223 [NETLOGON] Add the netlogon service. 2019-05-29 13:37:20 +02:00
Timo Kreuzer
9dc6c14eca [TFTPD] Disable format-overflow warnings 2019-05-27 13:22:40 +02:00
Hervé Poussineau
15a828c86d [DHCPCSVC] Eliminate unused code and associated parameters
This is mostly the same as OpenBSD commit b4e4f16f2ae0ddf1e786bb12c99b8c51170a1a33
2019-04-07 18:32:28 +02:00
Jérôme Gardou
23373acbb9 [CMAKE] Use modules instead of shared libraries
There is no need to compile our DLLs as shared libraries since we are
managing symbols exports and imports through spec files.

On my system, this reduces the configure-time by a factor of two.
2019-04-06 17:43:38 +02:00
Pierre Schweitzer
e5b0087c8e
[DCOMLAUNCH][WMISVC] Stop busy waiting shutdown 2019-03-03 23:14:37 +01:00
Pierre Schweitzer
2ab289a34a
[DCOMLAUNCH] Add a DcomLaunch service stub
This stub is responsible for providing the UUID seed to the kernel.
For now, it generates a purely random seed - MAC address support
is to be added.
Because it's purely random seed and local the machine (not tied
to the MAC address) it's made so that ExUuidCreate keeps returning
RPC_NT_UUID_LOCAL_ONLY. It won't fix failing test for now.

Nota: this service shouldn't exist as it. It should be implemented
though rpcss DLL for both rpcss service (network service) and
dcomlaunch service (local system service).
Because rpcss is EXE based and wine-synced for now, I prefered
stubbing a new service. This will have to be changed at some point.
2019-03-03 14:25:19 +01:00
Pierre Schweitzer
6295cc506e
[OOPS] That was not meant to be pushed/commited 2019-02-10 20:52:55 +01:00
Pierre Schweitzer
d2c71d761e
[CRYPTEX] Add French translation 2019-02-10 20:43:14 +01:00
Eric Kohl
66e4dbc7ed [UMPNPMGR] PNP_GetDeviceList: Implement the enumeration of service device instances. 2018-12-31 21:38:26 +01:00