diff options
Diffstat (limited to 'kdepasswd/kcm/chfnprocess.cpp')
-rw-r--r-- | kdepasswd/kcm/chfnprocess.cpp | 100 |
1 files changed, 0 insertions, 100 deletions
diff --git a/kdepasswd/kcm/chfnprocess.cpp b/kdepasswd/kcm/chfnprocess.cpp deleted file mode 100644 index 56bd546da..000000000 --- a/kdepasswd/kcm/chfnprocess.cpp +++ /dev/null @@ -1,100 +0,0 @@ -/*************************************************************************** - * Copyright 2003 Braden MacDonald <[email protected]> * - * Copyright 2003 Ravikiran Rajagopal <[email protected]> * - * * - * This program is free software; you can redistribute it and/or modify * - * it under the terms of the GNU General Public License (version 2) as * - * published by the Free Software Foundation. * - * * - ***************************************************************************/ - -/** - * @file Change a user's 'finger' information, specifically their full name. - * derived from kdepasswd. - */ - -#include <unistd.h> -#include <stdlib.h> - -#include <tqcstring.h> - -#include <tdesu/process.h> -#include <kdebug.h> -#include <kdebug.h> -#include "chfnprocess.h" - - -int ChfnProcess::exec(const char *pass, const char *name) -{ - // Try to set the default locale to make the parsing of the output - // of `chfn' easier. - putenv((char*)"LC_ALL=C"); - - QCStringList args; - args += "-f"; - args += name; - int ret = PtyProcess::exec("chfn", args); - if (ret < 0) - return ChfnNotFound; - - ret = ConverseChfn(pass); - - waitForChild(); - return ret; -} - - -/* - * The actual work. - * Return values: -1 = unknown error, 0 = ok, >0 = error code. - */ -int ChfnProcess::ConverseChfn(const char *pass) -{ - int status=-1; - - TQCString line; - while(1) - { - line = readLine(); - - if ( line.isEmpty() ) - continue;// discard line - - if ( line.contains( "Password: " )/*isPrompt( line, "password" )*/ ) - { - WaitSlave(); - write(m_Fd, pass, strlen(pass)); - write(m_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; - break; - } - else if ( line.isEmpty() ) - { - status=0; - break; - } - else if ( line.contains( "Password error" ) || line.contains("Incorrect password") ) - { - status=PasswordError; - break; - } - else - { - status=MiscError; - m_Error=line; - break; - } - } - return status; -} - |