Skip to content

Commit

Permalink
Code cleanup
Browse files Browse the repository at this point in the history
  • Loading branch information
droidmonkey committed Jan 26, 2025
1 parent b402bf9 commit a287dee
Show file tree
Hide file tree
Showing 8 changed files with 29 additions and 26 deletions.
8 changes: 8 additions & 0 deletions share/translations/keepassxc_en.ts
Original file line number Diff line number Diff line change
Expand Up @@ -6262,6 +6262,14 @@ Expect some bugs and minor issues, this version is meant for testing purposes.</
<source>E&amp;xpire Entry…</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Clear SSH Agent</source>
<translation type="unfinished"></translation>
</message>
<message>
<source>Clear all identities in ssh-agent</source>
<translation type="unfinished"></translation>
</message>
</context>
<context>
<name>ManageDatabase</name>
Expand Down
10 changes: 0 additions & 10 deletions src/gui/DatabaseWidget.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -865,16 +865,6 @@ void DatabaseWidget::removeFromAgent()
m_messageWidget->showMessage(settings.errorString(), MessageWidget::Error);
}
}

void DatabaseWidget::clearSSHAgent()
{
SSHAgent* agent = SSHAgent::instance();
if (!agent->clearAllAgentIdentities()) {
showMessage(agent->errorString(), MessageWidget::Error);
} else {
showMessage(agent->errorString(), MessageWidget::Positive);
}
}
#endif

void DatabaseWidget::performAutoType(const QString& sequence)
Expand Down
1 change: 0 additions & 1 deletion src/gui/DatabaseWidget.h
Original file line number Diff line number Diff line change
Expand Up @@ -205,7 +205,6 @@ public slots:
#ifdef WITH_XC_SSHAGENT
void addToAgent();
void removeFromAgent();
void clearSSHAgent();
#endif
void performAutoType(const QString& sequence = {});
void performAutoTypeUsername();
Expand Down
21 changes: 15 additions & 6 deletions src/gui/MainWindow.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -211,7 +211,10 @@ MainWindow::MainWindow()
#ifdef WITH_XC_SSHAGENT
connect(sshAgent(), SIGNAL(error(QString)), this, SLOT(showErrorMessage(QString)));
connect(sshAgent(), SIGNAL(enabledChanged(bool)), this, SLOT(agentEnabled(bool)));
connect(m_ui->actionClearSSHAgent, SIGNAL(triggered()), SLOT(clearSSHAgent()));
m_ui->settingsWidget->addSettingsPage(new AgentSettingsPage());
#else
agentEnabled(false);
#endif

#if defined(WITH_XC_KEESHARE)
Expand Down Expand Up @@ -414,7 +417,7 @@ MainWindow::MainWindow()

m_ui->actionSettings->setIcon(icons()->icon("configure"));
m_ui->actionPasswordGenerator->setIcon(icons()->icon("password-generator"));
m_ui->actionFlushSSHAgent->setIcon(icons()->icon("utilities-terminal"));
m_ui->actionClearSSHAgent->setIcon(icons()->icon("utilities-terminal"));

m_ui->actionAbout->setIcon(icons()->icon("help-about"));
m_ui->actionDonate->setIcon(icons()->icon("donate"));
Expand Down Expand Up @@ -528,7 +531,6 @@ MainWindow::MainWindow()
#ifdef WITH_XC_SSHAGENT
m_actionMultiplexer.connect(m_ui->actionEntryAddToAgent, SIGNAL(triggered()), SLOT(addToAgent()));
m_actionMultiplexer.connect(m_ui->actionEntryRemoveFromAgent, SIGNAL(triggered()), SLOT(removeFromAgent()));
m_actionMultiplexer.connect(m_ui->actionClearSSHAgent, SIGNAL(triggered()), SLOT(clearSSHAgent()));
#endif

m_actionMultiplexer.connect(m_ui->actionGroupNew, SIGNAL(triggered()), SLOT(createGroup()));
Expand Down Expand Up @@ -972,8 +974,8 @@ void MainWindow::updateMenuActionState()
m_ui->actionEntryAddToAgent->setEnabled(hasSSHKey);
m_ui->actionEntryRemoveFromAgent->setVisible(hasSSHKey);
m_ui->actionEntryRemoveFromAgent->setEnabled(hasSSHKey);
m_ui->actionFlushSSHAgent->setVisible(sshAgent()->isEnabled());
m_ui->actionFlushSSHAgent->setEnabled(sshAgent()->isEnabled());
m_ui->actionClearSSHAgent->setVisible(sshAgent()->isEnabled());
m_ui->actionClearSSHAgent->setEnabled(sshAgent()->isEnabled());
#endif

m_ui->actionGroupNew->setEnabled(groupSelected && !inRecycleBin);
Expand Down Expand Up @@ -1464,6 +1466,15 @@ void MainWindow::disableMenuAndToolbar()
m_ui->menubar->setDisabled(true);
}

void MainWindow::clearSSHAgent()
{
#ifdef WITH_XC_SSHAGENT
auto agent = SSHAgent::instance();
auto ret = agent->clearAllAgentIdentities();
displayGlobalMessage(agent->errorString(), ret ? MessageWidget::Positive : KMessageWidget::Error, false);
#endif
}

void MainWindow::saveWindowInformation()
{
if (isVisible()) {
Expand Down Expand Up @@ -2084,9 +2095,7 @@ void MainWindow::initActionCollection()
m_ui->actionGroupEmptyRecycleBin,
// Tools Menu
m_ui->actionPasswordGenerator,
#ifdef WITH_XC_SSHAGENT
m_ui->actionClearSSHAgent,
#endif
m_ui->actionSettings,
// View Menu
m_ui->actionThemeAuto,
Expand Down
1 change: 1 addition & 0 deletions src/gui/MainWindow.h
Original file line number Diff line number Diff line change
Expand Up @@ -155,6 +155,7 @@ private slots:
void focusSearchWidget();
void enableMenuAndToolbar();
void disableMenuAndToolbar();
void clearSSHAgent();

private:
static const QString BaseWindowTitle;
Expand Down
2 changes: 1 addition & 1 deletion src/gui/MainWindow.ui
Original file line number Diff line number Diff line change
Expand Up @@ -1318,7 +1318,7 @@
<string>Clear SSH Agent</string>
</property>
<property name="toolTip">
<string>Clear all identities like ssh-add -D</string>
<string>Clear all identities in ssh-agent</string>
</property>
<property name="menuRole">
<enum>QAction::TextHeuristicRole</enum>
Expand Down
8 changes: 2 additions & 6 deletions src/gui/entry/EditEntryWidget.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -825,12 +825,8 @@ void EditEntryWidget::removeKeyFromAgent()

void EditEntryWidget::clearAgent()
{
if (!sshAgent()->clearAllAgentIdentities()) {
showMessage(sshAgent()->errorString(), MessageWidget::Error);
return;
}

showMessage(sshAgent()->errorString(), MessageWidget::Positive);
auto ret = sshAgent()->clearAllAgentIdentities();
showMessage(sshAgent()->errorString(), ret ? MessageWidget::Positive : KMessageWidget::Error);
}

void EditEntryWidget::decryptPrivateKey()
Expand Down
4 changes: 2 additions & 2 deletions src/sshagent/SSHAgent.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -384,7 +384,7 @@ bool SSHAgent::clearAllAgentIdentities()
QByteArray responseData;
BinaryStream request(&requestData);

// Same request order as OpenBSD ssh-add: useful?
// SSH2 Identity Removal
request.write(SSH2_AGENTC_REMOVE_ALL_IDENTITIES);

if (!sendMessage(requestData, responseData)) {
Expand All @@ -395,7 +395,7 @@ bool SSHAgent::clearAllAgentIdentities()
request.flush();
responseData.clear();

// Same request order as OpenBSD ssh-add: useful?
// SSH1 Identity Removal
request.write(SSH_AGENTC_REMOVE_ALL_RSA_IDENTITIES);

// ignore error-code for ssh1
Expand Down

0 comments on commit a287dee

Please sign in to comment.