diff --git a/main.cpp b/main.cpp index e2d5f1c..57d6140 100644 --- a/main.cpp +++ b/main.cpp @@ -1,12 +1,10 @@ #include "main.h" - // Main sets up the Application/GUI, and tries to retrieveLogin() int main(int argc, char *argv[]) { QApplication app(argc,argv); QWidget *window = new QWidget; - domainLE = new QLineEdit; tokenUsername = new QLineEdit; tokenCode = new QLineEdit; @@ -43,7 +41,6 @@ int main(int argc, char *argv[]) { QObject::connect(&loginBtn, &QPushButton::released, tryLogin); - window->setLayout(vboxLayout); window->show(); return app.exec(); @@ -52,25 +49,25 @@ int main(int argc, char *argv[]) { // walletOpen() returns a pointer to the kwallet, or throws an error if the wallet is unable to open. KWallet::Wallet* walletOpen() { - KWallet::Wallet *wallet = KWallet::Wallet::openWallet(KWallet::Wallet::NetworkWallet(), 0, KWallet::Wallet::Synchronous); - if (wallet->hasFolder(KWallet::Wallet::FormDataFolder())) { + KWallet::Wallet *wallet = KWallet::Wallet::openWallet(KWallet::Wallet::NetworkWallet(), 0, KWallet::Wallet::Synchronous); + if (wallet->hasFolder(KWallet::Wallet::FormDataFolder())) { + if (!wallet->setFolder(KWallet::Wallet::FormDataFolder())) { + std::cout << "Wallet folder could not be set." << std::endl; + throw -1; + } + } else { + std::cout << "Wallet did not have folder, creating." << std::endl; + if(wallet->createFolder(KWallet::Wallet::FormDataFolder())) { if (!wallet->setFolder(KWallet::Wallet::FormDataFolder())) { std::cout << "Wallet folder could not be set." << std::endl; throw -1; } } else { - std::cout << "Wallet did not have folder, creating." << std::endl; - if(wallet->createFolder(KWallet::Wallet::FormDataFolder())) { - if (!wallet->setFolder(KWallet::Wallet::FormDataFolder())) { - std::cout << "Wallet folder could not be set." << std::endl; - throw -1; - } - } else { - std::cout << "Could not create folder." << std::endl; - throw -1; - } + std::cout << "Could not create folder." << std::endl; + throw -1; } - return wallet; + } + return wallet; } // retrieve login information from kwallet using walletOpen() or die @@ -80,19 +77,19 @@ void retrieveLogin() { } catch (int e) { exit(-1); } - QMap map; - if (wallet->readMap("http://rsa-vdi.nightmare.haus/#authInfo", map) == 0) { - domainLE->setText(map[QString("domain")]); - tokenUsername->setText(map[QString("tokenUsername")]); - ntUsername->setText(map[QString("ntUsername")]); - ntPassword->setText(map[QString("ntPassword")]); - authSystemLE->setText(map[QString("authSystem")]); - if (tokenUsername->text().length() > 0) { - rememberCredentials->setChecked(true); - } - } else { - std::cout << "Error loading from wallet, is it populated?" << std::endl; + QMap map; + if (wallet->readMap("http://rsa-vdi.nightmare.haus/#authInfo", map) == 0) { + domainLE->setText(map[QString("domain")]); + tokenUsername->setText(map[QString("tokenUsername")]); + ntUsername->setText(map[QString("ntUsername")]); + ntPassword->setText(map[QString("ntPassword")]); + authSystemLE->setText(map[QString("authSystem")]); + if (tokenUsername->text().length() > 0) { + rememberCredentials->setChecked(true); } + } else { + std::cout << "Error loading from wallet, is it populated?" << std::endl; + } } // save login information to kwallet using walletOpen() or die void saveLogin() { @@ -101,17 +98,16 @@ void saveLogin() { } catch (int e) { exit(-1); } - QMap map; - map[QString("domain")] = domainLE->text(); - map[QString("tokenUsername")] = tokenUsername->text(); - map[QString("ntUsername")] = ntUsername->text(); - map[QString("ntPassword")] = ntPassword->text(); - map[QString("authSystem")] = authSystemLE->text(); - - if (!wallet->writeMap("http://rsa-vdi.nightmare.haus/#authInfo", map)) { - std::cout << "Error writing to Wallet!" << std::endl; - } - + QMap map; + map[QString("domain")] = domainLE->text(); + map[QString("tokenUsername")] = tokenUsername->text(); + map[QString("ntUsername")] = ntUsername->text(); + map[QString("ntPassword")] = ntPassword->text(); + map[QString("authSystem")] = authSystemLE->text(); + + if (!wallet->writeMap("http://rsa-vdi.nightmare.haus/#authInfo", map)) { + std::cout << "Error writing to Wallet!" << std::endl; + } } @@ -132,38 +128,37 @@ void tryLogin() { std::cout << "\tRemember creds: false" << std::endl; } } - - - // -q, --nonInteractive Connect automatically if enough values are given on the command line. - QString command = "vmware-view -q"; - if (domainLE->text().length() > 0) { - // -s, --serverURL= Specify connection broker. - command += " -s \'" + domainLE->text() + "\'"; - } - if (authSystemLE->text().length() > 0) { - // -d, --domainName= Specify domain for password authentication - command += " -d \'" + authSystemLE->text() + "\'"; - } - if (tokenUsername->text().length() > 0) { - // -t, --tokenUserName= Specify user name for RSA or Radius authentication. - command += " -t \'" + tokenUsername->text() + "\'"; - } - if (tokenCode->text().length() > 0 ) { - // -c, --passcode= Specify passcode for RSA or Radius authentication. - command += " -c \'" + tokenCode->text() + "\'"; - } - if (ntUsername->text().length() > 0) { - // -u, --userName= Specify user name for password authentication. - command += " -u \'" + ntUsername->text() + "\'"; - } - if (ntPassword->text().length() > 0) { - //-p, --password= Specify password for password authentication. - command += " -p \'" + ntPassword->text() + "\'"; - } - if (debug) { - std::cout << command.toStdString() << std::endl; - } else { - system(command.toStdString().c_str()); - } + + // -q, --nonInteractive Connect automatically if enough values are given on the command line. + QString command = "vmware-view -q"; + if (domainLE->text().length() > 0) { + // -s, --serverURL= Specify connection broker. + command += " -s \'" + domainLE->text() + "\'"; + } + if (authSystemLE->text().length() > 0) { + // -d, --domainName= Specify domain for password authentication + command += " -d \'" + authSystemLE->text() + "\'"; + } + if (tokenUsername->text().length() > 0) { + // -t, --tokenUserName= Specify user name for RSA or Radius authentication. + command += " -t \'" + tokenUsername->text() + "\'"; + } + if (tokenCode->text().length() > 0 ) { + // -c, --passcode= Specify passcode for RSA or Radius authentication. + command += " -c \'" + tokenCode->text() + "\'"; + } + if (ntUsername->text().length() > 0) { + // -u, --userName= Specify user name for password authentication. + command += " -u \'" + ntUsername->text() + "\'"; + } + if (ntPassword->text().length() > 0) { + //-p, --password= Specify password for password authentication. + command += " -p \'" + ntPassword->text() + "\'"; + } + if (debug) { + std::cout << command.toStdString() << std::endl; + } else { + system(command.toStdString().c_str()); + } exit(0); -} \ No newline at end of file +}