Skip to content

Commit 62f084e

Browse files
authored
PIN activation (#1357)
IB-8609, IB-8639 Signed-off-by: Raul Metsma <[email protected]>
1 parent a7bb85d commit 62f084e

29 files changed

+699
-526
lines changed

.github/workflows/build.yml

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@ jobs:
1515
LIBS_PATH: ${{ github.workspace }}/cache
1616
steps:
1717
- name: Checkout
18-
uses: actions/checkout@v4
18+
uses: actions/checkout@v5
1919
with:
2020
submodules: recursive
2121
- name: Download artifact
@@ -69,7 +69,7 @@ jobs:
6969
container: ubuntu:${{ matrix.container }}
7070
strategy:
7171
matrix:
72-
container: ['22.04', '24.04', '25.04']
72+
container: ['22.04', '24.04', '25.04', '25.10']
7373
arch: ['amd64', 'arm64']
7474
env:
7575
DEBIAN_FRONTEND: noninteractive
@@ -87,7 +87,7 @@ jobs:
8787
- name: Install dependencies
8888
run: apt update -qq && apt install --no-install-recommends -y git lsb-release build-essential devscripts debhelper pkg-config lintian ${UBUNTU_DEPS}
8989
- name: Checkout
90-
uses: actions/checkout@v4
90+
uses: actions/checkout@v5
9191
with:
9292
submodules: recursive
9393
- name: Setup changelog
@@ -112,7 +112,7 @@ jobs:
112112
container: fedora:${{ matrix.container }}
113113
strategy:
114114
matrix:
115-
container: [41, 42]
115+
container: [41, 42, 43]
116116
steps:
117117
- name: Download artifact
118118
uses: dawidd6/action-download-artifact@v11
@@ -125,7 +125,7 @@ jobs:
125125
- name: Install Deps
126126
run: dnf install -y ./libdigidocpp-pkg/*.rpm git gcc-c++ cmake rpm-build gettext openssl-devel openldap-devel pcsc-lite-devel qt6-qtsvg-devel qt6-qttools-devel flatbuffers-devel flatbuffers-compiler zlib-devel
127127
- name: Checkout
128-
uses: actions/checkout@v4
128+
uses: actions/checkout@v5
129129
with:
130130
submodules: recursive
131131
- name: Build
@@ -147,7 +147,7 @@ jobs:
147147
VER_SUFFIX: .VS${{ matrix.vcver }}
148148
steps:
149149
- name: Checkout
150-
uses: actions/checkout@v4
150+
uses: actions/checkout@v5
151151
with:
152152
submodules: recursive
153153
- name: Download artifact
@@ -211,7 +211,7 @@ jobs:
211211
PROJECTNAME: open-eid/DigiDoc4-Client
212212
steps:
213213
- name: Checkout
214-
uses: actions/checkout@v4
214+
uses: actions/checkout@v5
215215
with:
216216
submodules: recursive
217217
- name: Download artifact
@@ -253,7 +253,7 @@ jobs:
253253
security-events: write
254254
steps:
255255
- name: Checkout
256-
uses: actions/checkout@v4
256+
uses: actions/checkout@v5
257257
with:
258258
submodules: recursive
259259
- name: Download artifact

client/MainWindow.cpp

Lines changed: 6 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -66,8 +66,6 @@ MainWindow::MainWindow( QWidget *parent )
6666
ui->signIntroButton->setFocus();
6767
ui->noReaderInfoText->setProperty("currenttext", ui->noReaderInfoText->text());
6868

69-
connect(ui->warnings, &WarningList::warningClicked, this, &MainWindow::warningClicked);
70-
7169
ui->version->setText(QStringLiteral("%1%2").arg(tr("Ver. "), Application::applicationVersion()));
7270
connect(ui->version, &QPushButton::clicked, this, [this] {showSettings(SettingsDialog::DiagnosticsSettings);});
7371

@@ -97,12 +95,12 @@ MainWindow::MainWindow( QWidget *parent )
9795
connect(qApp->signer(), &QSigner::signDataChanged, this, [this](const TokenData &token) {
9896
updateSelectorData(token);
9997
updateMyEID(token);
100-
ui->signContainerPage->cardChanged(token.cert());
98+
ui->signContainerPage->cardChanged(token.cert(), token.data(QStringLiteral("blocked")).toBool());
10199
});
102100
connect(qApp->signer(), &QSigner::authDataChanged, this, [this](const TokenData &token) {
103101
updateSelectorData(token);
104102
updateMyEID(token);
105-
ui->cryptoContainerPage->cardChanged(token.cert());
103+
ui->cryptoContainerPage->cardChanged(token.cert(), token.data(QStringLiteral("blocked")).toBool());
106104
});
107105
QPCSC::instance().start();
108106

@@ -116,28 +114,26 @@ MainWindow::MainWindow( QWidget *parent )
116114
connect(ui->signContainerPage, &ContainerPage::fileRemoved, this, &MainWindow::removeSignatureFile);
117115
connect(ui->signContainerPage, &ContainerPage::removed, this, &MainWindow::removeSignature);
118116
connect(ui->signContainerPage, &ContainerPage::warning, this, [this](WarningText warningText) {
119-
ui->warnings->showWarning(warningText);
117+
ui->warnings->showWarning(std::move(warningText));
120118
ui->signature->warningIcon(true);
121119
});
122120

123121
connect(ui->cryptoContainerPage, &ContainerPage::action, this, &MainWindow::onCryptoAction);
124122
connect(ui->cryptoContainerPage, &ContainerPage::addFiles, this, [this](const QStringList &files) { openFiles(files, true); } );
125123
connect(ui->cryptoContainerPage, &ContainerPage::fileRemoved, this, &MainWindow::removeCryptoFile);
126124
connect(ui->cryptoContainerPage, &ContainerPage::warning, this, [this](WarningText warningText) {
127-
ui->warnings->showWarning(warningText);
125+
ui->warnings->showWarning(std::move(warningText));
128126
ui->crypto->warningIcon(true);
129127
});
130128

131-
connect(ui->accordion, &Accordion::changePin1Clicked, this, &MainWindow::changePin1Clicked);
132-
connect(ui->accordion, &Accordion::changePin2Clicked, this, &MainWindow::changePin2Clicked);
133-
connect(ui->accordion, &Accordion::changePukClicked, this, &MainWindow::changePukClicked);
129+
connect(ui->accordion, &Accordion::changePinClicked, this, &MainWindow::changePinClicked);
134130
connect(ui->cardInfo, &CardWidget::selected, ui->selector, &QToolButton::toggle);
135131

136132
updateSelectorData(qApp->signer()->tokensign());
137133
updateMyEID(qApp->signer()->tokensign());
138-
updateMyEid(qApp->signer()->smartcard()->data());
139134
ui->signContainerPage->cardChanged(qApp->signer()->tokensign().cert());
140135
ui->cryptoContainerPage->cardChanged(qApp->signer()->tokenauth().cert());
136+
updateMyEid(qApp->signer()->smartcard()->data());
141137
}
142138

143139
MainWindow::~MainWindow()
@@ -904,14 +900,6 @@ bool MainWindow::validateFiles(const QString &container, const QStringList &file
904900
return false;
905901
}
906902

907-
void MainWindow::warningClicked(const QString &link)
908-
{
909-
if(link == QLatin1String("#unblock-PIN1"))
910-
changePin1Clicked(false, true);
911-
else if(link == QLatin1String("#unblock-PIN2"))
912-
changePin2Clicked(false, true);
913-
}
914-
915903
bool MainWindow::wrap(const QString& wrappedFile, bool enclose)
916904
{
917905
QString filename = FileDialog::createNewFileName(wrappedFile, true, this);

client/MainWindow.h

Lines changed: 2 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -59,9 +59,7 @@ class MainWindow final : public QWidget
5959

6060
private:
6161
void adjustDrops();
62-
void changePin1Clicked( bool isForgotPin, bool isBlockedPin );
63-
void changePin2Clicked( bool isForgotPin, bool isBlockedPin );
64-
void changePukClicked();
62+
void changePinClicked(QSmartCardData::PinType type, QSmartCard::PinAction action);
6563
void convertToBDoc();
6664
void convertToCDoc();
6765
ria::qdigidoc4::ContainerState currentState();
@@ -75,8 +73,6 @@ class MainWindow final : public QWidget
7573
void onSignAction(int action, const QString &info1, const QString &info2);
7674
void openContainer(bool signature);
7775
void pageSelected(int page, bool checked = true);
78-
void pinUnblock(QSmartCardData::PinType type, bool isForgotPin);
79-
void pinPukChange( QSmartCardData::PinType type );
8076
void resetCryptoDoc(std::unique_ptr<CryptoDoc> &&doc = {});
8177
void resetDigiDoc(DigiDoc *doc = nullptr, bool warnOnChange = true);
8278
void removeCryptoFile(int index);
@@ -87,15 +83,12 @@ class MainWindow final : public QWidget
8783
QString selectFile( const QString &title, const QString &filename, bool fixedExt );
8884
template <typename F>
8985
void sign(F &&sign);
90-
void updateCardWarnings(const QSmartCardData &data);
91-
bool validateCardError(QSmartCardData::PinType type, QSmartCardData::PinType src, QSmartCard::ErrorType err);
9286
bool validateFiles(const QString &container, const QStringList &files);
93-
void showPinBlockedWarning(const QSmartCardData& t);
87+
void showPinBlockedWarning(const QSmartCardData &data);
9488
void updateSelector();
9589
void updateSelectorData(TokenData data);
9690
void updateMyEID(const TokenData &t);
9791
void updateMyEid(const QSmartCardData &data);
98-
void warningClicked(const QString &link);
9992
bool wrap(const QString& wrappedFile, bool enclose);
10093
bool wrapContainer(bool signing);
10194
void containerSummary();

0 commit comments

Comments
 (0)