Blob Blame History Raw
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;