Commit graph

560 commits

Author SHA1 Message Date
Alex Ionescu e856535365 [SMSS2]: Implement (not yet used) Session Management APIs.
svn path=/trunk/; revision=55501
2012-02-08 22:05:53 +00:00
Alex Ionescu dfb761830d [SMSS2]: Implement executing the initial command as well as doing the SM-to-SM initial connection.
[SMSS2]: Implement the main LPC loop and handle all the supported APIs (all stubs for now). Also handle new connection requests and implement SmpHandleConnectionRequest.
[SMSS2]: Implement subsystem helper functions.
[SMSS2]: Use SmApiPort2 instead of Sm2ApiPort.
[SMSS2]: Rename the SMSRV_APIs not to conflict with the function names, nor with the client functions in smlib.

svn path=/trunk/; revision=55478
2012-02-07 07:13:42 +00:00
Amine Khaldi 3bc403f6e7 [SMSS2]
* Fix build.

svn path=/trunk/; revision=55471
2012-02-06 20:53:47 +00:00
Alex Ionescu 56152bb4a9 [SMSS2]: I hate you, rbuild.
svn path=/trunk/; revision=55468
2012-02-06 19:37:19 +00:00
Alex Ionescu 524f08e959 [SMSS2]: Implement SmpTranslateSystemPartitionInformation which sets a few last registry keys as part of the initialization process.
[SMSS2]: Implement SmpLoadSubsystemsForMuSession which correctly creates a session, loads win32k.sys inside of it, and then detaches from the session. Winlogon.exe is set as the initial command (but not launched), and CSRSS is fake-started.
[CSRSRV]: No longer start win32k.sys, that's not your job.
[SMSS2]: Kill most debug prints that aren't errors.

svn path=/trunk/; revision=55467
2012-02-06 18:57:18 +00:00
Alex Ionescu 560ff3fed9 [SMSS2/SMSS]: Put SMSS back in charge of the pagefile as yet another attempt to fix KVM.
[NTOSKRNL]: Stub-plement SystemSessionDetachInformation.

svn path=/trunk/; revision=55465
2012-02-06 18:14:36 +00:00
Alex Ionescu 5fb988c04d [NTOSKRNL]: Stubplement SystemSessionCreateInformation (it allocates a real Session ID and sets the right EPROCESS flags). Nobody uses this yet (future SMSS2 will).
[SMSS2]: More attempts at fixing KVM.

svn path=/trunk/; revision=55464
2012-02-06 17:41:49 +00:00
Alex Ionescu 1fbcc2809f [SMSS2]: Add some debugging to figure out what's happening on KVM.
svn path=/trunk/; revision=55463
2012-02-06 17:03:59 +00:00
Alex Ionescu ed64af75b6 [SMSS]: Nuke the environment code and instead inherit SMSS2's, which does all the right things. #if 0 all the non-used code, and nuke support for the "debug" subsystem as well as the custom "SmQuery" APIs.
[SMSS2]: Use SMSS2's environment when creating SMSS.

svn path=/trunk/; revision=55455
2012-02-06 09:29:33 +00:00
Alex Ionescu 12f8a6d6a6 [SMSS2]: Implement SmpProcessFileRenames and actually create the paging file now. All initialization work is now done by SMSS2.
[SMSS]: Neuter away most of the code and only keep SMSS around for managing the API port.
Next step is to make the SMSS2 API port go into use.

svn path=/trunk/; revision=55453
2012-02-06 09:06:38 +00:00
Olaf Siejka a0f9dfe66d [TRANSLATION]
- Bulgarian translation update of several modules (bug no. 6840), by CCTANEB, minor fixes by me;
- Polish translation update of sysdm by me;



svn path=/trunk/; revision=55424
2012-02-05 12:21:11 +00:00
Alex Ionescu b1e15cc96d [SMSS2]: Implement the rest of the code to create page files. All that's missing is the actual call to NtCreatePagingFile.
svn path=/trunk/; revision=55400
2012-02-03 23:11:28 +00:00
Thomas Faber 173b42e7cb [SMSS2]
- Properly handle an empty list in SmpSaveRegistryValue
- Compare the value string for equality, as the comment says, not inequality
- This fixes a crash, although another solution may perhaps be better

svn path=/trunk/; revision=55391
2012-02-03 11:21:15 +00:00
Timo Kreuzer 4895b9388e [SMSS2]
Fix MSVC build

svn path=/trunk/; revision=55384
2012-02-02 20:50:22 +00:00
Alex Ionescu 5ebd3e62cf [SMSS2]: Implement helper functions for reading and writing to the BSD (What lets Windows know if this was a good boot/shutdown or a bad one, and to display the recovery settings or not (FreeLDR should do this...)). Implement the functions needed to launch native applications, and add support for launching autochk and any other bootexecute applications. Set the correct SessionID with the kernel by calling ProcessSessionInformation. Pending File Rename Operations are the last big thing left, plus actual pagefile creation.
[SMSS2]: Fix a bug in SmpParseCommandLine.

svn path=/trunk/; revision=55346
2012-01-31 02:38:42 +00:00
Alex Ionescu b12e5cfc77 [SMSS2]: Implement SmpCreateDynamicEnvironmentVariables such that all the SMSS-generated variables are created. Compared to SMSS it has some bug fixes and also handles the safe-mode options key. Next step is to handle boot/setup/execute keys and get autochk running from SMSS2.
[SMSS]: No longer initialize the registry, let SMSS2 do that now.

svn path=/trunk/; revision=55343
2012-01-31 01:19:14 +00:00
Alex Ionescu 0f85c44176 [SMSS2]: Create and define the volume descriptor structure, and go ahead and build some volume descriptors!
svn path=/trunk/; revision=55340
2012-01-30 22:50:37 +00:00
Alex Ionescu 51dbd93981 [SMSS2]: Implement all the processing required for being able to create emergency, system, and manual-sized page files, on both fixed drives any "any" drives. Missing the code to build volume descriptors and to actually ask the kernel to create the file (right now, just prints what should be done and sizes).
svn path=/trunk/; revision=55335
2012-01-30 21:28:48 +00:00
Alex Ionescu 973a9360b2 [SMSS2]: Implement command line and token parsing. Implement pagefile descriptor structure, format, flags, and parsing. They are now created as they should. Use SmpHeap instead of RtlGetProcessHeap() to keep code cleaner. Use SmpSystemRoot instead of NtSystemRoot now that it's being defined. "Environment" in registry should be parsed twice to handle nested expansions.
svn path=/trunk/; revision=55333
2012-01-30 19:29:30 +00:00
Alex Ionescu 9f51b3ff35 [SMSS2]: Implement KnownDLL and DOSDevice initialization now that the kernel bugs are gone. Compared to SMSS, SMSS2 is smarter and uses a Ldr callback to manually add any imported DLLs of KnownDLLs to the KnownDLL list, which helps with long-term app launch performance. Next up will be environment and page file.
svn path=/trunk/; revision=55324
2012-01-30 10:22:21 +00:00
Alex Ionescu b42b421bea [SMSS]: Co-exist with SMSS2 by using OBJ_OPENIF when creating object directories and sections, in case SMSS2 has already done so (which now it probably will).
[SMSS2]: Implement all the required registry configuration parsing functions. KnownDLLs, DosDevices, PageFiles, Subsystems, ExcludedKnownDLLs, PendingFileRenameOperations, ObjectDirectories, Environment keys are all processed and put into lists. Other than creating the object directories and setting the environment variables, though, no other work happens -- but we do DPRINT1 what should happen.

svn path=/trunk/; revision=55319
2012-01-30 08:02:17 +00:00
Alex Ionescu ddeb8354e4 [SMSS2]: Initialize a bunch more internal stuff, and start parsing the registry for settings. Right now just ProtectionMode and AllowProtectedRenames are parsed. Stub functions needed for the rest of initialization. Create the \Sessions directory. Hack to work under setup. Loop BootExecute and PageFile entries. Create SMSS environment. Detect MiniNT mode (PE/LiveCD). Delete SAFEBOOT_OPTION if found.
svn path=/trunk/; revision=55317
2012-01-30 05:32:34 +00:00
Alex Ionescu bbaf1702fe [SMSS2]: Create the VolumesSafeForWriteAccess and Sm2ApiPort. Create all the required security descriptors. Create the two API threads. Initialize a bunch of other stuff needed for later. Initialize tag heap and enable hard errors. Api loop waits on the LPC port but nothing should be going through there for now.
svn path=/trunk/; revision=55314
2012-01-30 03:44:27 +00:00
Alex Ionescu df41abd401 [SMSS2]: Oh, right, rbuild.
svn path=/trunk/; revision=55312
2012-01-30 02:49:16 +00:00
Alex Ionescu 88cd0f3813 [SMSS2]: Flesh out the _main function in the new SMSS, including the SEH filter and SmpTerminate support. Instead of launching Winlogon (The "initial command", we launch the ReactOS SMSS for now -- and kill the system if it is ever terminated, as we should). We use the right priority, set the right critical flags, use the correct debug parameters, and acquire/release the correct privileges. Only thing not supported is launching ntsd if the "Debug Initial Command" global flag is set. I promise to implement that once someone implements ntsd ;-)
svn path=/trunk/; revision=55311
2012-01-30 02:10:39 +00:00
Amine Khaldi d870b715ea [SMSS2]
* Fix build.

svn path=/trunk/; revision=55124
2012-01-23 17:02:51 +00:00
Alex Ionescu cbc1c975e0 [SMSS]: Add a new SMSS2 with the goal of having a Windows-compatible LPC API that will work with the new CSRSS that's already in the tree. So far, it launches the old SMSS and quits.
svn path=/trunk/; revision=55123
2012-01-23 16:49:52 +00:00
Dmitry Gorbachev 3d2e890820 [Translation]
Romanian changes by Fulea Stefan (bug #6782).

svn path=/trunk/; revision=54727
2011-12-21 15:09:46 +00:00
Dmitry Gorbachev 24c26cc161 [TRANSLATION]
Add Romanian translation for BrowseUI, update many older translations.
Patch by Stefan Fulea. Bug #6765.

svn path=/trunk/; revision=54645
2011-12-14 00:53:58 +00:00
Dmitry Gorbachev b49067f626 [TRANSLATION]
Sync translated files with English files.

svn path=/trunk/; revision=54644
2011-12-13 13:37:08 +00:00
Olaf Siejka a0fce830ee [TRANSLATION]
- Romanian translation update (bug no. 6704) by Stefan Fulea;
- Lithuanian UTF-8 translation fixes (bug no. 6716) by Edijs Kolesnikovics;
- sysdm translation update by myself;



svn path=/trunk/; revision=54583
2011-12-04 14:53:17 +00:00
Dmitry Gorbachev cd19187c5d [DiskPart]
Remove unused file. Lee Schroeder, bug #6699.

svn path=/trunk/; revision=54520
2011-11-28 07:35:58 +00:00
Olaf Siejka e00f86150c [TRANSLATION]
- Romanian translation update (bug no. 6677) by Stefan Fulea;


svn path=/trunk/; revision=54497
2011-11-24 23:45:38 +00:00
Thomas Faber d87dae2daa [SERVICES]
- Do not use an unsigned type for a value that can become negative in ScmAssignNewTag (CID 14665)

svn path=/trunk/; revision=54482
2011-11-23 18:15:26 +00:00
Thomas Faber 494f949f52 [SERVICES]
- Fix dwServiceType and dwServiceState checks in REnumServicesStatusW (see r54373)
- Fix a memory leak in RQueryServiceConfig2A

svn path=/trunk/; revision=54481
2011-11-23 17:13:53 +00:00
Dmitry Gorbachev e4382eb7d6 [SMSS]
Limit the size of swapfile (to 2GiB). Bug #4760.

svn path=/trunk/; revision=54411
2011-11-17 20:22:16 +00:00
Olaf Siejka d6414908c2 [TRANSLATION]
- Romanian translation update (bug no. 6654) by Stefan Fulea;
- Simplified Chineese translation of base/shell and system (bug no. 6655) by Song Fuchang;
- Slovak translation fixes (bug no. 6658) by Mario Kacmar;

svn path=/trunk/; revision=54399
2011-11-16 20:16:21 +00:00
Cameron Gutman dbafcc923d [SERVICES]
- Always return ERROR_SUCCESS when ScmWaitForServiceConnect completes successfully instead of sometimes returning ERROR_PIPE_CONNECTED because the callers of this helper just look for ERROR_SUCCESS to indicate a successful call

svn path=/trunk/; revision=54381
2011-11-15 02:55:44 +00:00
Kamil Hornicek 432b05a591 [TRANSLATION]
Fix Czech resources that got broken by the UTF8 conversion.

svn path=/trunk/; revision=54374
2011-11-13 16:27:03 +00:00
Eric Kohl 77d6d4815b [SERVICES]
REnumServicesStatusExW: Fix dwServiceType and dwServiceState checks.

svn path=/trunk/; revision=54373
2011-11-13 12:13:16 +00:00
Eric Kohl e4eecc98b8 [SERVICES]
RControlService: Initialize the callers service status information. 

svn path=/trunk/; revision=54370
2011-11-13 00:13:00 +00:00
Eric Kohl 2c472c9d01 [SERVICES]
RControlService returns ERROR_SERVICE_NOT_ACTIVE if the service has not been started.

svn path=/trunk/; revision=54369
2011-11-12 21:16:20 +00:00
Olaf Siejka 1898591063 [TRANSLATION]
- base/setup,shell and system conversion patch, by UTF-8 conversion patch by Elton Chung, see bug 6333;
- Romanian translation fixes and UTF-8 conversion by Stefan Fulea, see bug 6603;

svn path=/trunk/; revision=54364
2011-11-12 16:38:00 +00:00
Thomas Faber 3f5b04a9d5 [SERVICES]
- Allow changing the image path with ChangeServiceConfig. Fixes timeout that shouldn't actually be a timeout in advapi32:service test.
See issue #6646 for more details.

svn path=/trunk/; revision=54348
2011-11-10 22:56:22 +00:00
Thomas Faber 33158a22a5 [SERVICES]
- Move utility functions to the top

svn path=/trunk/; revision=54345
2011-11-10 22:21:11 +00:00
Thomas Faber 8d6a6c95e5 [SERVICES]
- Do not use local memory functions (and possibly free the result using HeapFree!)
- Do not use double percent signs with _wcsnicmp
- DPRINT and style fixes

svn path=/trunk/; revision=54344
2011-11-10 21:29:34 +00:00
Eric Kohl 725bbcb3aa [SERVICES]
Improve the parameter checks in RCreateServiceW.

svn path=/trunk/; revision=54342
2011-11-09 23:18:37 +00:00
Thomas Faber 0b595ead09 [SERVICES]
- Use FIELD_OFFSET for variable-length structure sizes
- Handle an invalid parameter condition in RCreateServiceW. Fixes an advapi32:service test
- Do not dereference a NULL-pointer on out-of-memory

svn path=/trunk/; revision=54315
2011-11-06 14:23:39 +00:00
Thomas Faber ac825c5ef6 [ADVAPI32][SERVICES]
- Remove unnecessary casts, fix some const-ness, fix a DPRINT, some spacing

svn path=/trunk/; revision=54314
2011-11-06 13:33:29 +00:00
Eric Kohl 813bcdc401 [DISKPART]
- Add a simple usage function (/? option).
- Simplify the interpreter loop a little bit.

svn path=/trunk/; revision=54241
2011-10-23 12:04:48 +00:00