diff options
author | Slávek Banko <[email protected]> | 2021-08-26 14:29:14 +0200 |
---|---|---|
committer | Slávek Banko <[email protected]> | 2021-08-26 15:42:32 +0200 |
commit | 4d49d83565a99e1c41e3a7e8e0c2732afcd83b16 (patch) | |
tree | 03aeae3eceae2ca6bfc27fe84c932ef20f04bab5 /src/ksshaskpass.cpp | |
parent | 031ded8cf8bce48796f34575958d60495b3de42b (diff) | |
download | tdesshaskpass-4d49d83565a99e1c41e3a7e8e0c2732afcd83b16.tar.gz tdesshaskpass-4d49d83565a99e1c41e3a7e8e0c2732afcd83b16.zip |
Rebrand K => TDE.
Signed-off-by: Slávek Banko <[email protected]>
Diffstat (limited to 'src/ksshaskpass.cpp')
-rw-r--r-- | src/ksshaskpass.cpp | 139 |
1 files changed, 0 insertions, 139 deletions
diff --git a/src/ksshaskpass.cpp b/src/ksshaskpass.cpp deleted file mode 100644 index 036b3dc..0000000 --- a/src/ksshaskpass.cpp +++ /dev/null @@ -1,139 +0,0 @@ -/* - * Copyright (C) 2006 Hans van Leeuwen <[email protected]> - * Copyright (C) 2008 Armin Berres <[email protected]> - * - * This program is free software; you can redistribute it and/or - * modify it under the terms of the GNU General Public - * License as published by the Free Software Foundation; either - * version 2 of the License, or (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU - * General Public License for more details. - * - * You should have received a copy of the GNU General Public - * License along with this program; if not, write to the Free - * Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA. - */ - - -#include <iostream> -#include <tdewallet.h> -#include <kpassdlg.h> -#include <tdeaboutdata.h> -#include <tdeapplication.h> -#include <tdecmdlineargs.h> -#include <tdelocale.h> - -static TDECmdLineOptions options[] = -{ - { "+[dialog]", I18N_NOOP( "Dialog message. Leave undefined for default message" ), 0 }, - TDECmdLineLastOption -}; - -int main(int argc, char **argv) -{ - - TDEAboutData about ( - "Ksshaskpass", // appName - I18N_NOOP("Ksshaskpass"), // programName - "0.4.1", // version - I18N_NOOP("TDE version of ssh-askpass"), // shortDescription - TDEAboutData::License_GPL, // licenseType - "(c) 2006 Hans van Leeuwen\n(c) 2008 Armin Berres", // copyrightStatement statement - I18N_NOOP("Ksshaskpass allows you to interactively prompt users for a passphrase for ssh-add"), // text - "http://www.kde-apps.org/content/edit.php?content=50971", // homePageAddress - "[email protected]" // bugsEmailAddress - ); - about.addAuthor("Armin Berres", 0, "[email protected]"); - about.addAuthor("Hans van Leeuwen", 0, "[email protected]"); - - TDECmdLineArgs::init(argc, argv, &about); - TDECmdLineArgs::addCmdLineOptions( options ); - TDECmdLineArgs *args = TDECmdLineArgs::parsedArgs(); - - TDEApplication app; - - - // Disable Session Management and DCOP. We don't need it. - app.disableSessionManagement(); - app.disableAutoDcopRegistration(); - - - // Declare variables - TQString walletFolder = about.appName(); - TQString dialog = I18N_NOOP("Please enter password"); // Default dialog text - TQString keyFile; - TQString password; - - - // Parse commandline arguments - if ( args->count() > 0 ) { - dialog = args->arg(0); - keyFile = dialog.section(" ", -2).remove(":"); - } - args->clear(); - - - // Open TDEWallet to see if a password was previously stored. - TDEWallet::Wallet *wallet = TDEWallet::Wallet::openWallet( TDEWallet::Wallet::NetworkWallet(), 0 ); - - if ( wallet && wallet->hasFolder(walletFolder) ) { - wallet->setFolder(walletFolder); - - TQString retrievedPass; - - wallet->readPassword(keyFile, retrievedPass); - - if (!retrievedPass.isNull()) - { - password = retrievedPass; - } - } - - - // Password could not be retrieved from wallet. Open password dialog - if (password.isNull()) - { - // create the password dialog, but only show "Enable Keep" button, if the wallet is opened - KPasswordDialog *kpd = new KPasswordDialog(KPasswordDialog::Password, wallet, 0); - kpd->setPrompt(dialog); - kpd->setCaption(i18n("Ksshaskpass")); - kpd->setAllowEmptyPasswords(false); - // We don't want to dump core when the password dialog is shown, because it could contain the entered password. - kpd->disableCoreDumps(); - - if ( kpd->exec() == KDialog::Accepted ) { - password = kpd->password(); - } - - // If "Enable Keep" is enabled, open/create a folder in TDEWallet and store the password. - if (!password.isNull() && wallet && kpd->keep()) - { - if ( !wallet->hasFolder( walletFolder ) ) { - wallet->createFolder(walletFolder); - } - wallet->setFolder(walletFolder); - wallet->writePassword(keyFile, password); - } - - delete kpd; - } - - // Close the wallet if it is opened. - if (wallet) { - TDEWallet::Wallet::closeWallet( TDEWallet::Wallet::NetworkWallet(), false ); - } - - // Finally return the password if one has been entered - if(!password.isNull()) - { - std::cout << password.local8Bit(); - return 0; - } - else - { - return 1; - } -} |