Hello,
-----Message d'origine----- De la part de Alex Ionescu
I'm really excited by all the recent WinLogon work! Congratulations to Hervé for working on this.
Thanks Alex.
Some questions:
Will the GINA be 100% compatible with NT WinLogon? I hope so. Also, there is a fully FOSS GINA project out there, I'm sure it can be useful. MSDN also has a lot of information, and I can help with some Winlogon internals, by email only please, I'm not and won't be on IRC for a while.
The goal is to be fully compatible with Windows 2000 WinLogon at the first time, and then add Remote Desktop functionality. I've currently managed to load Windows XP msgina.dll, but it doesn't work yet. For information, I mostly use these links: http://www.microsoft.com/technet/prodtechnol/windows2000serv/maintain/securi ty/msgina.mspx http://msdn.microsoft.com/msdnmag/issues/05/05/SecurityBriefs/ http://msdn.microsoft.com/msdnmag/issues/05/06/SecurityBriefs/ http://msdn.microsoft.com/library/default.asp?url=/library/en-us/secauthn/se curity/authentication_functions.asp http://www.pgina.org/
Are we also going to support GUI-on-demand? That was largely the big problem with Winlogon, and both Thomas and I (And others) think GUI On Demand is a big hack that currently screws up more stuff then it helps... If yes, then how's winlogon going to work? As a text-mode login problem as well? Hopefully that won't hack GINA compatibility.
I kept GUI-on-demand, but I moved the functionnality from Winlogon to Gina. ReactOS Gina contains 2 User Interfaces: one in graphic mode (in gui.c) and the other in text mode (tui.c). By default, the graphical one is used. To use the text one, you have to add /CMDCONS parameter to your freeldr.ini. I know that Windows uses this parameter for Recovery Console, but we can change its name later. By the way, if I remember right, Windows asks for a username/password in text mode when using this switch. (May it be located in Windows Gina by chance?) For information, the second thing changed by /CMDCONS is the runned the shell. The shell program is read in HKLM\SOFTWARE\ReactOS\Windows NT\Winlogon\ConsoleShell key instead of HKLM\SOFTWARE\ReactOS\Windows NT\Winlogon\Shell, and defaults to cmd.exe instead of explorer.exe
Since this was supposed to be an SoC program, I propose that we setup a personal fund (and advertise) on the website for Hervé to get paid. I'll also try talking to Google (since our SoC GINA guy failed) to see if they'd be willing to set up an exchange. Unless Hervé disagrees, of course.
I never disagree to beeing paid, even very little ;) By the way, at the moment, I'm only working on winlogon/msgina, which means the User Interface but not the authentification framework which is behind (lsass/advapi32)
Now, let's move to the bad part of this email.
I've still some problems which I'm not sure to be able to solve myself. 1) SwitchDestkop seems to be not working. To test, remove the hack I've added in winlogon/wlx.c:CreateWindowStationAndDesktops and you will never see the shell. 2) The current shutdown procedure is not correct. I directly call NtShutdownSystem in Winlogon instead of notifying SMSS. See http://www.reactos.org/wiki/index.php/ShutdownProcess for more details about the shutdown process. 3) And the last one, specially for Filip ;) When trying to enter a user name which is not Administrator, I get a BSOD in So, I'm asking here for help, if anyone can take a look at this.
Thanks,
Hervé
PS 1: Be sure that no new hardware wizard will appear at next boot, and try to add /CMDCONS to freeldr.ini. You will boot in text mode. PS 2: Try to press SHIFT during boot to prevent autologon and you will be able to see some Gina dialogs. Logoff is also supposed to work.