diff -up kdebase-4.5.1/apps/kdepasswd/kcm/chfnprocess.cpp.orig kdebase-4.5.1/apps/kdepasswd/kcm/chfnprocess.cpp --- kdebase-4.5.1/apps/kdepasswd/kcm/chfnprocess.cpp.orig 2010-09-29 18:28:02.000000000 +0200 +++ kdebase-4.5.1/apps/kdepasswd/kcm/chfnprocess.cpp 2010-09-30 14:39:38.000000000 +0200 @@ -63,19 +63,16 @@ int ChfnProcess::ConverseChfn(const char break; } - if ( line.contains( "Password: " )/*isPrompt( line, "password" )*/ ) + if ( line.contains( "Changing finger info" ) ) + { + // do nothing + } + else if ( line.contains( "Password: " )/*isPrompt( line, "password" )*/ ) { WaitSlave(); write(fd(), pass, strlen(pass)); write(fd(), "\n", 1); } - - line = readLine(); // Let's see what the outcome was - - if ( line.contains( "Changing finger info" ) ) - { - // do nothing - } else if ( line.contains( "information changed" ) ) { status=0; @@ -86,7 +83,7 @@ int ChfnProcess::ConverseChfn(const char status=0; break; } - else if ( line.contains( "Password error" ) || line.contains("Incorrect password") ) + else if ( line.contains( "Password error" ) || line.contains("Incorrect password") || line.contains("Authentication failure") ) { status=PasswordError; break;