summaryrefslogtreecommitdiff
authorzecke <zecke>2004-07-10 11:46:17 (UTC)
committer zecke <zecke>2004-07-10 11:46:17 (UTC)
commitacc8a75e0d04757aa1d6f76942c04781f221a97f (patch) (side-by-side diff)
tree0fb6fb4f5cdff00b76efa3080dbc6affe0af96c5
parentc2b6d8dfff0aa3eab76b823e5be76cebb23097cf (diff)
downloadopie-acc8a75e0d04757aa1d6f76942c04781f221a97f.zip
opie-acc8a75e0d04757aa1d6f76942c04781f221a97f.tar.gz
opie-acc8a75e0d04757aa1d6f76942c04781f221a97f.tar.bz2
Unlink is not needed in this case
Diffstat (more/less context) (show whitespace changes)
-rw-r--r--core/opie-login/passworddialogimpl.cpp1
1 files changed, 0 insertions, 1 deletions
diff --git a/core/opie-login/passworddialogimpl.cpp b/core/opie-login/passworddialogimpl.cpp
index aeb7516..951c4e1 100644
--- a/core/opie-login/passworddialogimpl.cpp
+++ b/core/opie-login/passworddialogimpl.cpp
@@ -130,65 +130,64 @@ void PasswordDialogImpl::writePassword() {
* Check if both texts are the same
*/
if ( m_pass->text() != m_confirm->text() )
return error( tr("Passwords don't match"),
tr("<qt>The two passwords don't match. Please try again.</qt>") );
/*
* Now crypt the password so we can write it later
*/
char* password = ::crypt( m_pass->text().latin1(), crypt_make_salt() );
if ( !password )
return error( tr("Password not legal" ),
tr("<qt>The entered password is not a valid password."
"Please try entering a valid password.</qt>" ) );
/* rewind and rewrite the password file */
::setpwent();
FILE* file = ::fopen( "/etc/passwd.new", "w" );
struct passwd* pass;
while ( (pass = ::getpwent()) != 0l ) {
/* no shadow password support */
if ( pass->pw_uid == 0 )
pass->pw_passwd = password;
::putpwent( pass, file );
}
::fclose( file );
::endpwent();
- ::unlink("/etc/passwd");
::rename("/etc/passwd.new","/etc/passwd" );
/* should be done now */
#ifdef OPIE_LOGIN_SHADOW_PW
#error "Can't write Shadow Passwords fixme"
#endif
}
/**
* Raise an error. Delete input and set the focus after showing
* the error to the user
*/
void PasswordDialogImpl::error( const QString& caption, const QString& text ) {
m_isSet = false;
QMessageBox::critical(this,caption, text,
QMessageBox::Ok, QMessageBox::NoButton );
m_pass->setText("");
m_pass->setFocus();
m_confirm->setText("");
}
void PasswordDialogImpl::slotToggleEcho( bool b ) {
m_pass-> setEchoMode( b ? QLineEdit::Normal : QLineEdit::Password );
m_confirm->setEchoMode( b ? QLineEdit::Normal : QLineEdit::Password );
}
/////////////////////////
/// static functions
///