From ebe5fa27bf7265c0580ae3bf93ff28258ecfcb27 Mon Sep 17 00:00:00 2001 From: Timothy Pearson Date: Wed, 13 Feb 2013 22:49:39 -0600 Subject: [PATCH] Do not use GUI dialog to prompt for password when operating in CLI mode --- src/libtdeldap.cpp | 32 ++++++++++++++++++++++++-------- 1 file changed, 24 insertions(+), 8 deletions(-) diff --git a/src/libtdeldap.cpp b/src/libtdeldap.cpp index 1f35469..3220f7c 100644 --- a/src/libtdeldap.cpp +++ b/src/libtdeldap.cpp @@ -978,10 +978,18 @@ int LDAPManager::setPasswordForUser(LDAPUserInfo user, TQString *errstr) { } if (prompt.endsWith(" Password:")) { if (admincreds.password == "") { - TQCString password; - int result = KPasswordDialog::getPassword(password, prompt); - if (result == KPasswordDialog::Accepted) { - admincreds.password = password; + if (tqApp->type() != TQApplication::Tty) { + TQCString password; + int result = KPasswordDialog::getPassword(password, prompt); + if (result == KPasswordDialog::Accepted) { + admincreds.password = password; + } + } + else { + TQFile file; + file.open(IO_ReadOnly, stdin); + TQTextStream qtin(&file); + admincreds.password = qtin.readLine(); } } if (admincreds.password != "") { @@ -1633,10 +1641,18 @@ int LDAPManager::addServiceInfo(LDAPServiceInfo service, TQString *errstr) { while (prompt != "kadmin>") { if (prompt.endsWith(" Password:")) { if (admincreds.password == "") { - TQCString password; - int result = KPasswordDialog::getPassword(password, prompt); - if (result == KPasswordDialog::Accepted) { - admincreds.password = password; + if (tqApp->type() != TQApplication::Tty) { + TQCString password; + int result = KPasswordDialog::getPassword(password, prompt); + if (result == KPasswordDialog::Accepted) { + admincreds.password = password; + } + } + else { + TQFile file; + file.open(IO_ReadOnly, stdin); + TQTextStream qtin(&file); + admincreds.password = qtin.readLine(); } } if (admincreds.password != "") {