File kdm-generic-same-pam.diff of Package kdebase4-workspace
--- kdm/backend/client.c
+++ kdm/backend/client.c
@@ -478,7 +478,8 @@ verify( GConvFunc gconv, int rootok )
#ifdef USE_PAM
pnopass = False;
- if (!strcmp( curtype, "classic" )) {
+ pdata.usecur = False;
+ if (!strcmp( curtype, "classic" ) || !strcmp( curtype, "generic" )) {
if (!gconv( GCONV_USER, 0 ))
return False;
if (isNoPassAllowed( curuser )) {
@@ -491,11 +492,11 @@ verify( GConvFunc gconv, int rootok )
psrv = PAMService;
} else
psrv = PAMService;
- pdata.usecur = True;
+ if (!strcmp( curtype, "classic"))
+ pdata.usecur = True;
} else {
sprintf( psrvb, "%.31s-%.31s", PAMService, curtype );
psrv = psrvb;
- pdata.usecur = False;
}
pdata.gconv = gconv;
if (!doPAMAuth( psrv, &pdata ))