2828#include < QtCore/QTextStream>
2929#include < QtNetwork/QSslCertificate>
3030
31+ static QTextStream &operator <<(QTextStream &s, bool result)
32+ {
33+ return s << (result ? " true" : " false" );
34+ }
35+
3136void Diagnostics::generalInfo (QTextStream &s)
3237{
3338 s << " <b>" << tr (" Arguments:" ) << " </b> " << Application::arguments ().join (' ' ) << " <br />"
@@ -45,18 +50,21 @@ void Diagnostics::generalInfo(QTextStream &s)
4550 << " <br />TSA_URL: " << Application::confValue (Application::TSAUrl).toString ()
4651 << " <br />SIVA_URL: " << Application::confValue (Application::SiVaUrl).toString ()
4752 << " <br /><b>CDOC2:</b>"
48- << " <br />" << Settings::CDOC2_DEFAULT.KEY << " : " << ( Settings::CDOC2_DEFAULT ? tr ( " true " ) : tr ( " false " ))
49- << " <br />" << Settings::CDOC2_USE_KEYSERVER.KEY << " : " << ( Settings::CDOC2_USE_KEYSERVER ? tr ( " true " ) : tr ( " false " ))
53+ << " <br />" << Settings::CDOC2_DEFAULT.KEY << " : " << Settings::CDOC2_DEFAULT
54+ << " <br />" << Settings::CDOC2_USE_KEYSERVER.KEY << " : " << Settings::CDOC2_USE_KEYSERVER
5055 << " <br />" << Settings::CDOC2_DEFAULT_KEYSERVER.KEY << " : " << Settings::CDOC2_DEFAULT_KEYSERVER
56+ << " <br /><b>Settings:</b>"
57+ << " <br />Proxy config: " << Settings::PROXY_CONFIG
58+ << " <br />Proxy auth: " << !QString (Settings::PROXY_USER).isEmpty ()
5159 << " <br /><br /><b>" << tr (" TSL signing certs" ) << " :</b>" ;
5260 for (const QSslCertificate &cert: Application::confValue (Application::TSLCerts).value <QList<QSslCertificate>>())
53- s << " <br />" << cert.subjectInfo (" CN" ).value (0 );
54- s << " <br /><br /><b>" << tr (" TSL cache" ) << " :</b>" ;
61+ s << " <br />" << cert.subjectInfo (" CN" ).value (0 ) << " (Exp: " << cert.expiryDate ().toString (QStringLiteral (" dd.MM.yyyy hh:mm:ss)" ));
5562 QString cache = Application::confValue (Application::TSLCache).toString ();
63+ s << " <br /><br /><b>" << tr (" TSL cache" ) << " </b> (" << cache << " ):" ;
5664 const QStringList tsllist = QDir (cache).entryList ({QStringLiteral (" *.xml" )});
5765 for (const QString &file: tsllist)
5866 {
59- if (uint ver = Application::readTSLVersion (cache + " / " + file); ver > 0 )
67+ if (uint ver = Application::readTSLVersion (cache + ' / ' + file); ver > 0 )
6068 s << " <br />" << file << " (" << ver << " )" ;
6169 }
6270 s << " <br /><br />" ;
@@ -77,10 +85,10 @@ void Diagnostics::generalInfo(QTextStream &s)
7785 s << " <b>" << tr (" Smart Card service status: " ) << " </b>" << " "
7886 << (QPCSC::instance ().serviceRunning () ? tr (" Running" ) : tr (" Not running" ));
7987
80- s << " <br /><b>" << tr (" Smart Card readers" ) << " :</b><br /> " ;
88+ s << " <br /><b>" << tr (" Smart Card readers" ) << " :</b>" ;
8189 for ( const QString &readername: QPCSC::instance ().readers () )
8290 {
83- s << readername;
91+ s << " <br /> " << readername;
8492 QPCSCReader reader ( readername, &QPCSC::instance () );
8593 if ( !reader.isPresent () )
8694 {
@@ -109,17 +117,11 @@ void Diagnostics::generalInfo(QTextStream &s)
109117 if ( !reader.isPresent () )
110118 continue ;
111119
112- reader.reconnect ( QPCSCReader::UnpowerCard );
113- QString cold = reader.atr ();
114- reader.reconnect ( QPCSCReader::ResetCard );
115- QString warm = reader.atr ();
116-
117- s << " ATR cold - " << cold << " <br />"
118- << " ATR warm - " << warm << " <br />" ;
120+ s << " ATR - " << reader.atr () << " <br />" ;
119121
120122 reader.beginTransaction ();
121123 constexpr auto APDU = &QByteArray::fromHex;
122- auto printAID = [&](const QLatin1String & label, const QByteArray &apdu)
124+ auto printAID = [&](QLatin1String label, const QByteArray &apdu)
123125 {
124126 QPCSCReader::Result r = reader.transfer (apdu);
125127 s << label << " : " << Qt::hex << r.SW ;
@@ -135,7 +137,6 @@ void Diagnostics::generalInfo(QTextStream &s)
135137 if (printAID (QLatin1String (" AID_THALES" ), APDU (" 00A4040C 0C A000000063504B43532D3135" )) &&
136138 reader.transfer (APDU (" 00A4080C 04 DFDD 5006" )))
137139 s << " ID - " << reader.transfer (APDU (" 00B00000 00" )).data << " <br />" ;
138- reader.endTransaction ();
139140 }
140141
141142#ifdef Q_OS_WIN
0 commit comments