Commit Graph
100 Commits
Author SHA1 Message Date
Eric Kohl c1a9403d49 Enable old access check code until the bug that keeps the device installer from working has been fixed.
svn path=/trunk/; revision=46811
2010-04-10 11:44:57 +00:00
Eric Kohl 2af6abad95 [NTOSKRNL]
Ignore inherit only ACEs in a DACL.

svn path=/trunk/; revision=46714
2010-04-04 12:34:53 +00:00
Eric Kohl 2b4f3854dd [NTOSKRNL]
- Check access rights according to the DACL. Granted rights are removed from the remaining rights variable.
- Return success only if there are no more remaining rights. Return failure otherwise.
- Remove outdated code.

svn path=/trunk/; revision=46703
2010-04-03 21:21:52 +00:00
Eric Kohl d384dbd46a [NTOSKRNL]
- Implement the calculation of access rights for the MAXIMUM_ALLOWED case.

svn path=/trunk/; revision=46695
2010-04-03 10:52:17 +00:00
Eric Kohl 74e30b9093 [NTOSKRNL]
- Add the check for ACESSS_SYSTEM_SECURITY.
- Keep the desired access rights that have not been granted yet in the variable RemainingAccess.
- Handle the MAXIMUM_ALLOWED case if the DACL is empty.

svn path=/trunk/; revision=46689
2010-04-02 17:46:24 +00:00
Eric Kohl 249d39c17a [NTOSKRNL]
- Check the SeTakeOwnership privilege only if WRITE_OWNER access is desired.
- Move the check for token ownership from SepAccessCheck because this check grants access rights rather than checking them.

svn path=/trunk/; revision=46683
2010-04-02 15:13:24 +00:00
Eric Kohl baeb295134 [NTORKRNL]
SepAccessCheck: Deny access if the DACL is is empty (but not NULL).

svn path=/trunk/; revision=46629
2010-03-31 21:02:38 +00:00
Eric Kohl abf91accdb [NTOSKRNL]
- Move subject context locking to SeAccessCheck because NtAccessCheck already locks it.
- Do not use the captured security descriptor in NtAccessCheck yet, because SeCaptureSecurityDescriptor seems to create broken SDs.

svn path=/trunk/; revision=46626
2010-03-31 19:53:19 +00:00
Eric Kohl d69c4c5248 [NTOSKRNL]
- Capture the security descriptor before passing it to SepAccessCheck.
- Move the security descriptor check and the impersonation level check from SepAccessCheck to SeAccessCheck.

svn path=/trunk/; revision=46605
2010-03-30 20:16:26 +00:00
Eric Kohl e3949430d7 [NTOSKRNL]
- Move kernel-mode check around, so we won't run it twice when calling NtAccessCheck.
- Fix a wrong check for security descriptors with a NULL-DACL.

svn path=/trunk/; revision=46602
2010-03-30 17:01:23 +00:00
Eric Kohl 2ce28dacb7 [NTOSKRNL]
NtAccessCheck: Check for a valid security descriptor.

svn path=/trunk/; revision=46491
2010-03-27 16:54:02 +00:00
Eric Kohl d9e2cd3c53 [NTOSKRNL]
Fail if you query a primary token for its impersonation level.

svn path=/trunk/; revision=46370
2010-03-23 21:53:19 +00:00
Eric Kohl 0a82f829ed [NTOSKRNL]
NtAccessCheck:
- Fix returned status if the token is not an impersonation token.
- Add a check for the token impersonation level.

svn path=/trunk/; revision=46347
2010-03-23 00:16:14 +00:00
Eric Kohl 1b3286b8e0 [NTOSKRNL]
NtAccessCheck
- Probe parameters.
- Fail if generic access rights have not been mapped.

svn path=/trunk/; revision=46297
2010-03-21 14:10:50 +00:00
Eric Kohl 05bc282aa8 - Add german translation.
- Install class installer DLL.
- Register class installer.
- Register class icon. The Device Manager does not recognize it yet.

svn path=/trunk/; revision=46280
2010-03-19 21:19:35 +00:00
Eric Kohl 7f270c0bd9 [BATT]
Add battery class installer dll.

svn path=/trunk/; revision=46277
2010-03-19 20:55:09 +00:00
Eric Kohl 174145f20c [ADVAPI32]
- Create a service status handle when a service starts and destroy it after it has been stopped.

svn path=/trunk/; revision=46233
2010-03-16 23:10:03 +00:00
Eric Kohl ee46cddad7 [EVENTLOG]
- Set the current service status from the service control handler.
- Fix type declarations.
- ElfrOpenELA/ElfrRegisterEventSourceA: Do not call the Unicode functions because in this case it is easier to do things yourself.
- Implement ElfrGetLogInformation partially.
- Bind client to the EventLog Pipe.
- Use RtlInitAnsiString and RtlInitUnicodeString instead of building strings manually.
- GetEventLogInformation: Check for valid dwInfoLevel.

svn path=/trunk/; revision=46199
2010-03-14 12:26:49 +00:00
Eric Kohl 02f2e242ff SEH-Protect the call to RSetServiceStatus in SetServiceStatus. This keeps services from crashing when the connection to the service manager fails.
svn path=/trunk/; revision=46002
2010-03-08 20:42:48 +00:00
Eric Kohl 398f34f8cb [SERVICES]
- Copy service status only once after a control packet has been sent to a service.
- Send a reply packet to the service manager after a control packet has been sent to a service.

svn path=/trunk/; revision=45716
2010-02-28 00:50:47 +00:00
Eric Kohl 38e5930305 [SERVICES]
- Copy service status only once after a control packet has been sent to a service.
- Send a reply packet to the service manager after a control packet has been sent to a service.

svn path=/trunk/; revision=45715
2010-02-28 00:27:28 +00:00
Eric Kohl 420940d94d Report service status to the service manager.
svn path=/trunk/; revision=45714
2010-02-28 00:14:15 +00:00
Eric Kohl 9e6714ef3b [SERVICES]
- Generate unique service status handles. Services could set the status information of another service because the status handles were not guaranteed to be unique for all services.
- Lock and unlock the service database when getting or setting service status information.

svn path=/trunk/; revision=45711
2010-02-27 21:47:59 +00:00
Eric Kohl d816c7617c Report service status to the service manager.
Patch is partially based on code by Dmitry Gorbachev.

svn path=/trunk/; revision=45706
2010-02-27 17:15:49 +00:00
Eric Kohl b37ba9e7e6 Split the initial status code for drivers and services.
You can easily test services by uncommenting '#define USE_SERVICE_STATUS_PENDING'.

svn path=/trunk/; revision=45663
2010-02-22 23:17:03 +00:00
Eric Kohl a634cc3aa5 Revert remaining parts of patches 45626 and 45633.
svn path=/trunk/; revision=45658
2010-02-22 19:26:54 +00:00
Eric Kohl 1f5ef200f3 Reenable critical debug messages.
svn path=/trunk/; revision=45656
2010-02-22 18:56:51 +00:00
Eric Kohl 2445098aef Partially revert patches 45626 and 45633.
Several services do not report their status to the service manager properly. Therefore we must not use any code that relies on service status information as part of the setup and boot processes as long as these issues have not been fixed. The service manager still needs to provide fake information about the service status.

svn path=/trunk/; revision=45640
2010-02-20 23:10:53 +00:00
Eric Kohl 697374c8e1 [SERVICES]
Disable a number of debug messages in the service manager.

svn path=/trunk/; revision=45637
2010-02-20 20:52:14 +00:00
Eric Kohl c6d4485959 [ADVAPI32]
Silence a lot of non-critical service manager error messages (ERR->TRACE).

svn path=/trunk/; revision=45636
2010-02-20 16:33:28 +00:00
Eric Kohl ad0ec3b76b [SERVICES] When autostart services are up, signal an event.
[SYSSETUP] Wait until all autostart services are up. Bug #4194.

Patches by Dmitry Gorbachev.
See issue #4142 for more details.

svn path=/trunk/; revision=45633
2010-02-20 13:04:56 +00:00
Eric Kohl 8ab0f28658 Make EventLog and Spooler services report their status to the SCM.
svn path=/trunk/; revision=45632
2010-02-20 12:59:53 +00:00
Eric Kohl 69a020df26 [SERVICES] Set default status to SERVICE_START_PENDING when starting a service.
[SYSSETUP] Wait until PlugPlay service is up. Bug #4142.
[UMPNPMGR] Update the service control manager's status information.

Patches by Dmitry Gorbachev.

svn path=/trunk/; revision=45626
2010-02-19 20:03:11 +00:00
Eric Kohl 1d99f1321b [DEVMGR]
Display some more device properties.

svn path=/trunk/; revision=45613
2010-02-18 20:18:24 +00:00
Eric Kohl bfa7d233cd [DEVMGR]
Display Matching Device ID.

svn path=/trunk/; revision=45578
2010-02-11 20:23:48 +00:00
Eric Kohl 350a658937 Add device location information override PS/2 keyboards.
Please translate the location override string.

svn path=/trunk/; revision=45560
2010-02-10 19:35:13 +00:00
Eric Kohl 5095fd3746 Implement device location information override support and add the location override value for PS/2 mice. PS/2 keyboards be added next.
Please translate the location override string.

svn path=/trunk/; revision=45541
2010-02-09 22:54:02 +00:00
Eric Kohl 3b550eb81b Fix LSAPR_POLICY_INFORMATION and associated types.
svn path=/trunk/; revision=45489
2010-02-07 17:01:57 +00:00
Eric Kohl e2214c16ef Implement LsaEnumerateAccountRights.
svn path=/trunk/; revision=45484
2010-02-07 13:51:25 +00:00
Eric Kohl 534f9adf45 Simplify the policy handle creation and destruction. This fixes two winetest failures.
svn path=/trunk/; revision=45473
2010-02-06 23:06:57 +00:00
Eric Kohl b5f68e4981 Convert offset to pointers when enumeration functions return ERROR_SUCCESS or ERROR_MORE_DATA because there is something to convert in both cases.
svn path=/trunk/; revision=45459
2010-02-06 14:10:18 +00:00
Eric Kohl 5e9564ed2d - Implement GetEventLogInformation.
- OpenBackupEventLogA, OpenEventLogA, RegisterEventSourceA and ReportEventA: Call the ANSI RPC-Server Function directly instead of converting arguments to Unicode and calling the matching Unicode Function.
- OpenEventLogW: Fix argument checks.

svn path=/trunk/; revision=45401
2010-02-03 20:46:21 +00:00
Eric Kohl 5499d3c924 Reset a services thread and process ids when the service has been stopped. Fixes one more test.
svn path=/trunk/; revision=45374
2010-02-01 19:45:50 +00:00
Eric Kohl a6d399d000 GetServiceDisplayNameA/W and GetServiceKeyNameA/W must return an empty String if the given Buffer is too small. This fixes 6 tests.
svn path=/trunk/; revision=45366
2010-01-31 22:22:50 +00:00
Eric Kohl 661d200caa [FORMATTING]
- Fix indentation. No code changes.

svn path=/trunk/; revision=45364
2010-01-31 21:00:45 +00:00
Eric Kohl d7117cdb17 - Implement RCreateServiceA.
- Make CreateServiceA call RCreateServiceA instead of CreateServiceW.

svn path=/trunk/; revision=45362
2010-01-31 20:28:04 +00:00
Eric Kohl 1cca0351e1 Implement basic version of PNP_CreateKey.
svn path=/trunk/; revision=45361
2010-01-31 19:44:02 +00:00
Eric Kohl 734debd8dc Implement ElfrRegisterEventSourceA.
svn path=/trunk/; revision=45123
2010-01-17 15:16:26 +00:00
Eric Kohl a811921d8e Empty the card stacks before showing the win message box.
svn path=/trunk/; revision=45122
2010-01-17 12:51:16 +00:00
Eric Kohl b58a692add Display CSConfigFlags.
svn path=/trunk/; revision=45108
2010-01-16 17:07:41 +00:00
Eric Kohl b060fb3ebf Implement CM_Set_HW_Prof[_Ex].
svn path=/trunk/; revision=45107
2010-01-16 16:31:58 +00:00
Eric Kohl 24d37d7161 Implement PNP_HwProfFlags.
svn path=/trunk/; revision=45106
2010-01-16 16:18:00 +00:00
Eric Kohl ba16f69763 Removed outdated email addresses.
svn path=/trunk/; revision=45020
2010-01-09 22:43:16 +00:00
Eric Kohl b4f5a3e1a1 Reverted some coding-style changes as per Alekseys request.
svn path=/trunk/; revision=45019
2010-01-09 21:57:00 +00:00
Eric Kohl 1145a26d92 Fix indentation and coding style. No code changes.
svn path=/trunk/; revision=45018
2010-01-09 20:51:33 +00:00
Eric Kohl 4c9596a9ad [umpnpmgr]
Silence device arrival debug messages.

svn path=/trunk/; revision=44981
2010-01-06 21:14:13 +00:00
Eric Kohl ffab3fc13c Fix PNP_DeviceInstanceAction prototype.
svn path=/trunk/; revision=44980
2010-01-06 18:58:10 +00:00
Eric Kohl ef88ea7724 [spoolsv]
- Switch to wine debug macros. Add new debug channel spoolsv.
- Update service status when the service receives a control message.

svn path=/trunk/; revision=44960
2010-01-05 20:32:02 +00:00
Eric Kohl 9fb7195e8e [umpnpmgr]
PNP_DeviceInstanceAction: Call a separate function for each action.

svn path=/trunk/; revision=44959
2010-01-05 20:26:31 +00:00
Eric Kohl 7c4d4664f7 Coding-style fixes. No code changes.
svn path=/trunk/; revision=44922
2010-01-03 22:44:10 +00:00
Eric Kohl c5577e9149 [devmgr]
- Display the 'Enumerator' property.

svn path=/trunk/; revision=44921
2010-01-03 22:41:13 +00:00
Eric Kohl 7536c9f6ec - Copy property data to the user-mode buffer.
- Return the enumerator name without trailing backslash.

svn path=/trunk/; revision=44913
2010-01-03 15:24:16 +00:00
Eric Kohl d9a4e205a7 Fix indentation. No code changes.
svn path=/trunk/; revision=44912
2010-01-03 15:20:09 +00:00
Eric Kohl e1c0b7d02b [devmgr]
Display 'Devnode Flags' property.

svn path=/trunk/; revision=44889
2010-01-02 16:59:54 +00:00
Eric Kohl e7c10484b8 Add missing device node flags.
svn path=/trunk/; revision=44883
2010-01-02 15:55:03 +00:00
Eric Kohl 9bcb086ea2 [devmgr]
- Display 'Capabilities' and 'Config Flags' flags separately.

svn path=/trunk/; revision=44858
2010-01-01 17:23:40 +00:00
Eric Kohl 13e0ad9b55 Add missing device capabilities flags.
svn path=/trunk/; revision=44857
2010-01-01 17:02:37 +00:00
Eric Kohl 45316fbf63 [devmgr]
- Add missing string resources and translate the german ones.
- Set the focus to the combobox when the details page is opened.
- Don't display an error message when a property is not set for the selected device.
- Display 'Capabilities' and 'Config Flags' as DWORD values.

Ooops! These should have been committed as well.

svn path=/trunk/; revision=44854
2010-01-01 14:44:06 +00:00
Eric Kohl 3637a51c29 [devmgr]
- Add missing string resources and translate the german ones.
- Set the focus to the combobox when the details page is opened.
- Don't display an error message when a property is not set for the selected device.
- Display 'Capabilities' and 'Config Flags' as DWORD values.

svn path=/trunk/; revision=44853
2010-01-01 14:42:49 +00:00
Eric Kohl e426bf896f [devmgr]
Implement the details page and add dialogs for the resources and power pages. Some of the code is not final yet as I don't have a clean way of retrieving the required information. Some required stuff in setupapi or umpnpmgr is still incomplete too.

I wish you a happy and successful 2010!
Eric.

svn path=/trunk/; revision=44838
2009-12-31 22:10:41 +00:00
Eric Kohl a7b546562e [services] Set the given service start name or LocalSystem for a new service.
svn path=/trunk/; revision=44816
2009-12-30 17:17:58 +00:00
Eric Kohl 5ad3e6fe72 [umpnpmgr]
Move device instance action constants into the idf file and use them instead of hardcoded values.

svn path=/trunk/; revision=44813
2009-12-30 13:57:47 +00:00
Eric Kohl a22d21e20c spaces -> tabs
svn path=/trunk/; revision=44794
2009-12-28 12:02:32 +00:00
Eric Kohl b837d58c19 - Lsasrv: Create the LsaAuthenticationPort and add a basic server loop that listens to incoming requests.
- Lsalib: Combine request and reply data of the register request into a connection info struct.

My test application can now connect to the LsaAuthenticationPort.

svn path=/trunk/; revision=44793
2009-12-28 11:59:20 +00:00
Eric Kohl 2db30d58d2 [lsalib]
Fix indentation. No code changes.

svn path=/trunk/; revision=44776
2009-12-27 19:46:13 +00:00
Eric Kohl fc5a89cd69 Move the client-side LSA functions from secur32.dll to the new static library lsalib because these functions will be shared between ntoskrnl.exe, advapi32.dll and secur32.dll.
svn path=/trunk/; revision=44774
2009-12-27 19:10:30 +00:00
Eric Kohl 185c716bb3 The service thread must receive all commands.
svn path=/trunk/; revision=44760
2009-12-25 16:41:06 +00:00
Eric Kohl d1ffae9c3b RQueryServiceConfigA/W: Add missing dependency information.
svn path=/trunk/; revision=44759
2009-12-25 15:08:03 +00:00
Eric Kohl 83c4eea575 Assign the services Dhcp, EventLog, PlugPlay and RpcSs to the LocalSystem account.
svn path=/trunk/; revision=44734
2009-12-23 14:59:47 +00:00
Eric Kohl 211c79ac94 - RChangeServiceConfigA/W: Update the service group properly and fix the ANSI to Unicode string conversion.
This fixes one winetest.

svn path=/trunk/; revision=44733
2009-12-23 14:32:15 +00:00
Eric Kohl 1686070199 If the user doubleclicked a treeview item, make sure the doubleclicked item has already been selected. Otherwise the user can expand or collapse a treeview iten and a previously selected item get opened. That's not what we want.
svn path=/trunk/; revision=44716
2009-12-22 17:00:45 +00:00
Eric Kohl 18df79a3ba Fix a typo. Use lpStartServiceName instead of lpServiceName.
This fixes two winetests. 

svn path=/trunk/; revision=44714
2009-12-22 16:57:27 +00:00
Eric Kohl fa1f780dfb - Remove unused variable
- Get rid of those ugly single line if-statements.
- No code changes

svn path=/trunk/; revision=44713
2009-12-22 16:51:33 +00:00
Eric Kohl 41a958b128 - SEH-protect LsaClose, LsaDelete and LsaOpenPolicy.
- Move the code of LsaOpenPolicy into LsarOpenPolicy and make LsaOpenPolicy call LsarOpenPolicy.

svn path=/trunk/; revision=38078
2008-12-14 13:16:16 +00:00
Eric Kohl bac49255c5 - Make the service manager wait for LSA.
- Winlogon must not wait for the service mananger, otherwise we will get another deadlock.

svn path=/trunk/; revision=38065
2008-12-14 01:01:16 +00:00
Eric Kohl 8fb679dc7c Do not start LSASS as a service but as an ordinary process because:
1) LSASS and the NetLogon service are not the same.
2) The service manager must wait for LSASS to finish initialization. If LSASS is started as a service we will have a classic deadlock scenario.

svn path=/trunk/; revision=38041
2008-12-13 14:47:07 +00:00
Eric Kohl 467aff9230 - Introduce a common header file.
- Use Wine-style debug code everywhere.

svn path=/trunk/; revision=37906
2008-12-06 21:33:49 +00:00
Eric Kohl b7903f6d19 Replace call to ExtractIconExW (shell32.dll) by a call to PrivateExtractIconExw (user32.dll) and remove shell32.dll from the list of linked libraries because shell32.dll requires a valid user account upon initialization.
Please remember: Don't use high-level DLLs in low-level components (dll or exe)!!!!

svn path=/trunk/; revision=37891
2008-12-06 11:13:50 +00:00
Eric Kohl 7366e052b4 Sync to wine-1.1.4:
- Rob Shearman <[email protected]> Tue, 26 Aug 2008
widl: Raise RPC_X_SS_IN_NULL_CONTEXT exception for NULL in-only context handles instead of RPC_X_NULL_REF_PTR.

Based on a patch by Michael Martin.

- Alexandre Julliard <[email protected]> Sat, 30 Aug 2008
widl: Replace write_name() by get_name() to make the code more readable.

- Dan Hipschman <[email protected]> Tue, 2 Sep 2008
widl: Output NULL for inherited methods in the vtbl.

svn path=/trunk/; revision=37862
2008-12-04 21:22:42 +00:00
Eric Kohl 599818849a Sync to wine-1.1.3:
- Dan Hipschman <[email protected]> Thu, 7 Aug 2008
widl: Honor typedef pointer attributes.

svn path=/trunk/; revision=37860
2008-12-04 20:20:08 +00:00
Eric Kohl f12d11b4f7 Sync to wine-1.1.1 (Patch 10 of 10):
- Alexandre Julliard <[email protected]> Mon, 7 Jul 2008
Add noinput directive to all lex files to avoid a compiler warning.

svn path=/trunk/; revision=37859
2008-12-04 19:52:55 +00:00
Eric Kohl 663337847e Sync to wine-1.1.1 (Patch 9 of 10):
- Alexandre Julliard <[email protected]> Mon, 7 Jul 2008
widl: Fix a couple of uninitialized variable compiler warnings.

svn path=/trunk/; revision=37858
2008-12-04 19:37:53 +00:00
Eric Kohl 4a6ded56dd Sync to wine-1.1.1 (Patch 8 of 10):
- Rob Shearman <[email protected]> Fri, 4 Jul 2008
widl: Remove some unnecessary calls to duptype.

svn path=/trunk/; revision=37814
2008-12-02 21:08:02 +00:00
Eric Kohl 9fcfc6eb1e Sync to wine-1.1.1 (Patch 7 of 10):
- Rob Shearman <[email protected]> Fri, 4 Jul 2008
widl: Rename find_type_helper, find_type and find_type2 to find_type, find_type_error and find_type_error2 respectively.

svn path=/trunk/; revision=37813
2008-12-02 20:45:09 +00:00
Eric Kohl 371bfcc3b2 Revert 37801 because it still breaks the release build.
svn path=/trunk/; revision=37802
2008-12-01 20:38:24 +00:00
Eric Kohl 4b639a0b94 Sync to wine-1.1.1 (Patch 4 of 10):
ATTENTION: You MUST run "clean" before building ReactOS, otherwise WIDL will crash when it is run.

- Dan Hipschman <[email protected]> Tue, 1 Jul 2008
widl: Implement type redefinition checks.

This allows widl to catch type redefinitions and report an error, like MIDL.
However, this does a better job than MIDL since it also reports the location of the originial definition, like GCC.

CREDITS: Thanks to Christoph and Martin von Wittich for updating the Release-Buildslave. This patch should now build on both Buildslaves.

svn path=/trunk/; revision=37801
2008-12-01 20:33:43 +00:00
Eric Kohl 991af663db - Start the RPC-Server from a separate thread so the initial call to the DLL doesn't get blocked.
- Ensure the server accepts more than a single call from clients.

svn path=/trunk/; revision=37599
2008-11-23 22:39:43 +00:00
Eric Kohl 4abc5d743f Fix formatting. No code changes!
svn path=/trunk/; revision=37598
2008-11-23 22:36:15 +00:00
Eric Kohl 8811ad12d4 - Replace the check-marks in the protocol menu by radio-bullets because the user can only select one of three protocols.
- Mark a protocol in the menu only if it was read correctly. Otherwise the security protocol gets selected although the user is not able to see this protocol.
- Minor clean-up of the resource id mess.

svn path=/trunk/; revision=37586
2008-11-23 13:34:15 +00:00
Eric Kohl 29fc9d57c7 Make the event viewer unicode-enabled and build the unicode version.
svn path=/trunk/; revision=37568
2008-11-22 21:14:51 +00:00