--- kdm/backend/session.c
+++ kdm/backend/session.c
@@ -136,7 +136,9 @@
td->hstent->npass = 0;
newdmrc = td->hstent->nargs;
td->hstent->nargs = 0;
+ ReStr( &curtype, "classic" );
cursource = (td->hstent->rLogin == 1) ? PWSRC_RELOGIN : PWSRC_MANUAL;
+ return 1;
} else if (*td->autoUser && tdiff > 0) {
unsigned int lmask;
Window dummy1, dummy2;
@@ -146,14 +148,13 @@
&lmask );
if (lmask & ShiftMask)
return 0;
- StrDup( &curuser, td->autoUser );
- StrDup( &curpass, td->autoPass );
+ ReStr( &curuser, td->autoUser );
+ ReStr( &curpass, td->autoPass );
+ ReStr( &curtype, "classic" );
cursource = PWSRC_AUTOLOGIN;
- } else {
- cursource = PWSRC_MANUAL;
- return 0;
+ return 1;
}
- return 1;
+ return 0;
}
@@ -365,6 +366,7 @@
if (curtype) free( curtype );
curtype = GRecvStr();
Debug( " type %\"s\n", curtype );
+ cursource = PWSRC_MANUAL;
if (Verify( conv_interact, rootok )) {
Debug( " -> return success\n" );
GSendInt( V_OK );
@@ -548,7 +550,7 @@
}
if (AutoLogon()) {
- if (!StrDup( &curtype, "classic" ) || !Verify( conv_auto, FALSE ))
+ if (!Verify( conv_auto, FALSE ))
goto gcont;
if (greeter)
GSendInt( V_OK );