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.