mirror of
https://github.com/keepassxreboot/keepassxc.git
synced 2024-10-01 01:26:01 -04:00
OpenSSHKey: when writing to agent, ensure comment string is at least one byte
This unbreaks adding keys to gpg-agent. Signed-off-by: Steven Noonan <steven@uplinklabs.net>
This commit is contained in:
parent
d156457405
commit
dc1aead2a2
@ -420,12 +420,16 @@ void EditEntryWidget::browsePrivateKey()
|
||||
|
||||
bool EditEntryWidget::getOpenSSHKey(OpenSSHKey& key, bool decrypt)
|
||||
{
|
||||
QString fileName;
|
||||
QByteArray privateKeyData;
|
||||
|
||||
if (m_sshAgentUi->attachmentRadioButton->isChecked()) {
|
||||
privateKeyData = m_advancedUi->attachmentsWidget->getAttachment(m_sshAgentUi->attachmentComboBox->currentText());
|
||||
fileName = m_sshAgentUi->attachmentComboBox->currentText();
|
||||
privateKeyData = m_advancedUi->attachmentsWidget->getAttachment(fileName);
|
||||
} else {
|
||||
QFile localFile(m_sshAgentUi->externalFileEdit->text());
|
||||
QFileInfo localFileInfo(localFile);
|
||||
fileName = localFileInfo.fileName();
|
||||
|
||||
if (localFile.fileName().isEmpty()) {
|
||||
return false;
|
||||
@ -464,6 +468,10 @@ bool EditEntryWidget::getOpenSSHKey(OpenSSHKey& key, bool decrypt)
|
||||
key.setComment(m_entry->username());
|
||||
}
|
||||
|
||||
if (key.comment().isEmpty()) {
|
||||
key.setComment(fileName);
|
||||
}
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
|
@ -268,10 +268,15 @@ void SSHAgent::databaseModeChanged(DatabaseWidget::Mode mode)
|
||||
}
|
||||
|
||||
QByteArray keyData;
|
||||
QString fileName;
|
||||
if (settings.selectedType() == "attachment") {
|
||||
keyData = e->attachments()->value(settings.attachmentName());
|
||||
fileName = settings.attachmentName();
|
||||
keyData = e->attachments()->value(fileName);
|
||||
} else if (!settings.fileName().isEmpty()) {
|
||||
QFile file(settings.fileName());
|
||||
QFileInfo fileInfo(file);
|
||||
|
||||
fileName = fileInfo.fileName();
|
||||
|
||||
if (file.size() > 1024 * 1024) {
|
||||
continue;
|
||||
@ -302,6 +307,10 @@ void SSHAgent::databaseModeChanged(DatabaseWidget::Mode mode)
|
||||
key.setComment(e->username());
|
||||
}
|
||||
|
||||
if (key.comment().isEmpty()) {
|
||||
key.setComment(fileName);
|
||||
}
|
||||
|
||||
if (settings.removeAtDatabaseClose()) {
|
||||
removeIdentityAtLock(key, uuid);
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user