From 1ea45c8da468d0c51d9e2b2486afa03793eaafac Mon Sep 17 00:00:00 2001 From: Christian Hohnstaedt Date: Mon, 6 Jan 2020 21:14:06 +0100 Subject: [PATCH] Constify fload() fromPEM_BIO() fromPEMbyteArray() Use "BIO_from_QByteArray()" instead of "BIO_new_mem_buf()" Replace qSort() by std::sort() Replace QString::null by QString() --- lib/func.h | 4 ++-- lib/load_obj.cpp | 4 ++-- lib/load_obj.h | 4 ++-- lib/pki_base.cpp | 8 ++++---- lib/pki_base.h | 6 +++--- lib/pki_crl.cpp | 4 ++-- lib/pki_crl.h | 4 ++-- lib/pki_evp.cpp | 8 ++++---- lib/pki_evp.h | 4 ++-- lib/pki_multi.cpp | 7 ++++--- lib/pki_multi.h | 6 +++--- lib/pki_pkcs12.cpp | 4 ++-- lib/pki_pkcs12.h | 4 ++-- lib/pki_pkcs7.cpp | 4 ++-- lib/pki_pkcs7.h | 4 ++-- lib/pki_temp.cpp | 4 ++-- lib/pki_temp.h | 4 ++-- lib/pki_x509.cpp | 6 +++--- lib/pki_x509.h | 4 ++-- lib/pki_x509req.cpp | 4 ++-- lib/pki_x509req.h | 4 ++-- lib/x509name.cpp | 4 ++-- widgets/NewX509_ext.cpp | 2 +- widgets/RevocationList.cpp | 2 +- 24 files changed, 55 insertions(+), 54 deletions(-) diff --git a/lib/func.h b/lib/func.h index 8a831c23..42bb0c59 100644 --- a/lib/func.h +++ b/lib/func.h @@ -76,9 +76,9 @@ static inline QString htmlEscape(const QString &html) #endif } -static inline BIO *BIO_from_QByteArray(QByteArray &ba) +static inline BIO *BIO_from_QByteArray(const QByteArray &ba) { - return BIO_new_mem_buf(ba.data(), ba.length()); + return BIO_new_mem_buf((void*)ba.constData(), ba.length()); } QString appendXcaComment(QString current, QString msg); diff --git a/lib/load_obj.cpp b/lib/load_obj.cpp index cada187b..64da5a82 100644 --- a/lib/load_obj.cpp +++ b/lib/load_obj.cpp @@ -21,7 +21,7 @@ load_base::load_base() caption = ""; } -pki_base *load_base::loadItem(QString s) +pki_base *load_base::loadItem(const QString &s) { pki_base *pki = newItem(); if (!pki) @@ -110,7 +110,7 @@ load_pkcs12::load_pkcs12() caption = QObject::tr("Import PKCS#12 Private Certificate"); } -pki_base * load_pkcs12::loadItem(QString s) +pki_base * load_pkcs12::loadItem(const QString &s) { pki_base *p12 = new pki_pkcs12(s); return p12; diff --git a/lib/load_obj.h b/lib/load_obj.h index 796e78b2..99719f8d 100644 --- a/lib/load_obj.h +++ b/lib/load_obj.h @@ -20,7 +20,7 @@ class load_base QString caption; load_base(); virtual ~load_base(); - virtual pki_base *loadItem(QString s); + virtual pki_base *loadItem(const QString &s); virtual pki_base *newItem(); }; @@ -56,7 +56,7 @@ class load_pkcs12: public load_base { public: load_pkcs12(); - pki_base *loadItem(QString s); + pki_base *loadItem(const QString &s); }; class load_temp: public load_base diff --git a/lib/pki_base.cpp b/lib/pki_base.cpp index 4eb19c8a..53bf11bf 100644 --- a/lib/pki_base.cpp +++ b/lib/pki_base.cpp @@ -47,8 +47,8 @@ void pki_base::autoIntName(const QString &file) void pki_base::deleteFromToken() { } void pki_base::deleteFromToken(slotid) { } void pki_base::writeDefault(const QString&) const { } -void pki_base::fromPEM_BIO(BIO *, QString) { } -void pki_base::fload(const QString) { } +void pki_base::fromPEM_BIO(BIO *, const QString &) { } +void pki_base::fload(const QString &) { } int pki_base::renameOnToken(slotid, QString) { return 0; @@ -127,9 +127,9 @@ void pki_base::my_error(const QString &error) const } -void pki_base::fromPEMbyteArray(QByteArray &ba, QString name) +void pki_base::fromPEMbyteArray(const QByteArray &ba, const QString &name) { - BIO *bio = BIO_new_mem_buf(ba.data(), ba.length()); + BIO *bio = BIO_from_QByteArray(ba); fromPEM_BIO(bio, name); BIO_free(bio); autoIntName(name); diff --git a/lib/pki_base.h b/lib/pki_base.h index 1eaccbf9..06ba6241 100644 --- a/lib/pki_base.h +++ b/lib/pki_base.h @@ -135,9 +135,9 @@ class pki_base : public QObject /* Import / Export management */ virtual BIO *pem(BIO *, int format=0); - virtual void fromPEM_BIO(BIO *, QString); - virtual void fromPEMbyteArray(QByteArray &, QString); - virtual void fload(const QString); + virtual void fromPEM_BIO(BIO *, const QString &); + virtual void fromPEMbyteArray(const QByteArray &, const QString &); + virtual void fload(const QString &); virtual void writeDefault(const QString&) const; /* Old database management methods */ diff --git a/lib/pki_crl.cpp b/lib/pki_crl.cpp index a009b179..13776131 100644 --- a/lib/pki_crl.cpp +++ b/lib/pki_crl.cpp @@ -40,7 +40,7 @@ void pki_crl::setIssuer(pki_x509 *iss) issuerSqlId = iss ? iss->getSqlItemId() : QVariant(); } -void pki_crl::fromPEM_BIO(BIO *bio, QString name) +void pki_crl::fromPEM_BIO(BIO *bio, const QString &name) { X509_CRL *_crl; _crl = PEM_read_bio_X509_CRL(bio, NULL, NULL, NULL); @@ -131,7 +131,7 @@ QSqlError pki_crl::deleteSqlData() return q.lastError(); } -void pki_crl::fload(const QString fname) +void pki_crl::fload(const QString &fname) { X509_CRL *_crl; XFile file(fname); diff --git a/lib/pki_crl.h b/lib/pki_crl.h index fd86348c..dc4bf91a 100644 --- a/lib/pki_crl.h +++ b/lib/pki_crl.h @@ -31,8 +31,8 @@ class pki_crl: public pki_x509name public: pki_crl(const QString name = ""); ~pki_crl(); - void fromPEM_BIO(BIO *bio, QString name); - void fload(const QString fname); + void fromPEM_BIO(BIO *bio, const QString &name); + void fload(const QString &fname); QString getSigAlg() const; void writeDefault(const QString &dirname) const; static QPixmap *icon; diff --git a/lib/pki_evp.cpp b/lib/pki_evp.cpp index 7d46c2fd..f833b994 100644 --- a/lib/pki_evp.cpp +++ b/lib/pki_evp.cpp @@ -241,9 +241,9 @@ void pki_evp::openssl_pw_error(QString fname) } } -void pki_evp::fromPEMbyteArray(QByteArray &ba, QString name) +void pki_evp::fromPEMbyteArray(const QByteArray &ba, const QString &name) { - BIO *bio = BIO_new_mem_buf(ba.data(), ba.length()); + BIO *bio = BIO_from_QByteArray(ba); EVP_PKEY *pkey; pass_info p(XCA_TITLE, tr("Please enter the password to decrypt the private key.") + @@ -253,7 +253,7 @@ void pki_evp::fromPEMbyteArray(QByteArray &ba, QString name) if (!pkey) { pki_ign_openssl_error(); BIO_free(bio); - bio = BIO_new_mem_buf(ba.data(), ba.length()); + bio = BIO_from_QByteArray(ba); pkey = PEM_read_bio_PUBKEY(bio, NULL, PwDialog::pwCallback, &p); } BIO_free(bio); @@ -317,7 +317,7 @@ void pki_evp::set_EVP_PKEY(EVP_PKEY *pkey, QString name) pki_openssl_error(); } -void pki_evp::fload(const QString fname) +void pki_evp::fload(const QString &fname) { pass_info p(XCA_TITLE, tr("Please enter the password to decrypt the private key from file:\n%1"). arg(compressFilename(fname))); diff --git a/lib/pki_evp.h b/lib/pki_evp.h index d3cdb75c..97ffa71b 100644 --- a/lib/pki_evp.h +++ b/lib/pki_evp.h @@ -61,8 +61,8 @@ class pki_evp: public pki_key EVP_PKEY *priv2pub(EVP_PKEY* key); static QString removeTypeFromIntName(QString n); - void fromPEMbyteArray(QByteArray &ba, QString name); - void fload(const QString fname); + void fromPEMbyteArray(const QByteArray &ba, const QString &name); + void fload(const QString &fname); void writeDefault(const QString &dirname) const; void fromData(const unsigned char *p, db_header_t *head); void writeKey(XFile &file, const EVP_CIPHER *enc, diff --git a/lib/pki_multi.cpp b/lib/pki_multi.cpp index 908632d2..9a23d93a 100644 --- a/lib/pki_multi.cpp +++ b/lib/pki_multi.cpp @@ -88,7 +88,7 @@ static pki_base *pkiByPEM(QString text, int *skip) return NULL; } -void pki_multi::fload(const QString fname) +void pki_multi::fload(const QString &fname) { XFile file(fname); QByteArray ba; @@ -98,10 +98,11 @@ void pki_multi::fload(const QString fname) fromPEMbyteArray(ba, fname); }; -void pki_multi::fromPEMbyteArray(QByteArray &ba, QString name) +void pki_multi::fromPEMbyteArray(const QByteArray &_ba, const QString &name) { pki_base *item = NULL; int startpos; + QByteArray ba = _ba; for (;;) { try { item = pkiByPEM(QString::fromLatin1(ba), &startpos); @@ -124,7 +125,7 @@ void pki_multi::fromPEMbyteArray(QByteArray &ba, QString name) throw errorEx(tr("No known PEM encoded items found")); } -void pki_multi::probeAnything(const QString fname) +void pki_multi::probeAnything(const QString &fname) { pki_base *item = NULL; load_base *lb; diff --git a/lib/pki_multi.h b/lib/pki_multi.h index 4bdd2fb7..d4473f4c 100644 --- a/lib/pki_multi.h +++ b/lib/pki_multi.h @@ -23,9 +23,9 @@ class pki_multi: public pki_base public: pki_multi(const QString name = ""); ~pki_multi(); - void fromPEMbyteArray(QByteArray &ba, QString name); - void fload(const QString fname); - void probeAnything(const QString fname); + void fromPEMbyteArray(const QByteArray &, const QString &); + void fload(const QString &fname); + void probeAnything(const QString &fname); pki_base *pull(); int count() const { diff --git a/lib/pki_pkcs12.cpp b/lib/pki_pkcs12.cpp index 70ccdb17..35e77878 100644 --- a/lib/pki_pkcs12.cpp +++ b/lib/pki_pkcs12.cpp @@ -16,7 +16,7 @@ #include "openssl_compat.h" -pki_pkcs12::pki_pkcs12(const QString d, pki_x509 *acert, pki_evp *akey) +pki_pkcs12::pki_pkcs12(const QString &d, pki_x509 *acert, pki_evp *akey) :pki_base(d) { key = new pki_evp(akey); @@ -25,7 +25,7 @@ pki_pkcs12::pki_pkcs12(const QString d, pki_x509 *acert, pki_evp *akey) pki_openssl_error(); } -pki_pkcs12::pki_pkcs12(const QString fname) +pki_pkcs12::pki_pkcs12(const QString &fname) :pki_base(fname) { Passwd pass; diff --git a/lib/pki_pkcs12.h b/lib/pki_pkcs12.h index f50f5239..98bd066e 100644 --- a/lib/pki_pkcs12.h +++ b/lib/pki_pkcs12.h @@ -30,8 +30,8 @@ class pki_pkcs12: public pki_base STACK_OF(X509) *certstack; public: - pki_pkcs12(const QString d, pki_x509 *acert, pki_evp *akey); - pki_pkcs12(const QString fname); + pki_pkcs12(const QString &d, pki_x509 *acert, pki_evp *akey); + pki_pkcs12(const QString &fname); ~pki_pkcs12(); void addCaCert(pki_x509 *acert); diff --git a/lib/pki_pkcs7.cpp b/lib/pki_pkcs7.cpp index 2e6999c9..8ee70f63 100644 --- a/lib/pki_pkcs7.cpp +++ b/lib/pki_pkcs7.cpp @@ -133,7 +133,7 @@ int pki_pkcs7::numCert() } -void pki_pkcs7::fromPEM_BIO(BIO *bio, QString name) +void pki_pkcs7::fromPEM_BIO(BIO *bio, const QString &name) { PKCS7 *_p7 = PEM_read_bio_PKCS7(bio, NULL, NULL, NULL); openssl_error(name); @@ -143,7 +143,7 @@ void pki_pkcs7::fromPEM_BIO(BIO *bio, QString name) autoIntName(name); } -void pki_pkcs7::fload(const QString fname) +void pki_pkcs7::fload(const QString &fname) { PKCS7 *_p7; XFile file(fname); diff --git a/lib/pki_pkcs7.h b/lib/pki_pkcs7.h index c86564d0..b259e581 100644 --- a/lib/pki_pkcs7.h +++ b/lib/pki_pkcs7.h @@ -27,8 +27,8 @@ class pki_pkcs7: public pki_base void signCert(pki_x509 *crt, pki_x509 *contCert); void encryptFile(pki_x509 *crt, QString filename); void writeP7(XFile &file, bool PEM) const; - void fromPEM_BIO(BIO *bio, QString name); - void fload(const QString fname); + void fromPEM_BIO(BIO *bio, const QString &name); + void fload(const QString &fname); pki_x509 *getCert(int x); void addCert(pki_x509 *crt); int numCert(); // number of certs; diff --git a/lib/pki_temp.cpp b/lib/pki_temp.cpp index 5a816a2f..0e8797e7 100644 --- a/lib/pki_temp.cpp +++ b/lib/pki_temp.cpp @@ -431,7 +431,7 @@ void pki_temp::try_fload(XFile &file, const char *mode) pki_openssl_error(); } -void pki_temp::fload(QString fname) +void pki_temp::fload(const QString &fname) { try { XFile file(fname); @@ -450,7 +450,7 @@ void pki_temp::fload(QString fname) } } -void pki_temp::fromPEM_BIO(BIO *bio, QString name) +void pki_temp::fromPEM_BIO(BIO *bio, const QString &name) { QByteArray ba; QString msg; diff --git a/lib/pki_temp.h b/lib/pki_temp.h index ded83950..80ac4e67 100644 --- a/lib/pki_temp.h +++ b/lib/pki_temp.h @@ -61,7 +61,7 @@ class pki_temp: public pki_x509name } pki_temp(const pki_temp *pk); pki_temp(const QString d = QString()); - void fload(const QString fname); + void fload(const QString &fname); void writeDefault(const QString &dirname) const ; ~pki_temp(); void fromData(const unsigned char *p, int size, int version); @@ -89,7 +89,7 @@ class pki_temp: public pki_x509name } BIO *pem(BIO *b, int format); QByteArray toExportData() const; - void fromPEM_BIO(BIO *, QString); + void fromPEM_BIO(BIO *, const QString &); void fromExportData(QByteArray data); extList fromCert(pki_x509super *cert_or_req); QSqlError insertSqlData(); diff --git a/lib/pki_x509.cpp b/lib/pki_x509.cpp index 972aa5f8..9b4c7fa8 100644 --- a/lib/pki_x509.cpp +++ b/lib/pki_x509.cpp @@ -194,16 +194,16 @@ pki_x509 *pki_x509::findIssuer() return NULL; } -void pki_x509::fromPEM_BIO(BIO *bio, QString) +void pki_x509::fromPEM_BIO(BIO *bio, const QString &fname) { X509 *_cert; _cert = PEM_read_bio_X509(bio, NULL, NULL, NULL); - pki_openssl_error(); + openssl_error(fname); X509_free(cert); cert = _cert; } -void pki_x509::fload(const QString fname) +void pki_x509::fload(const QString &fname) { X509 *_cert; XFile file(fname); diff --git a/lib/pki_x509.h b/lib/pki_x509.h index 2aab1415..327c1b7b 100644 --- a/lib/pki_x509.h +++ b/lib/pki_x509.h @@ -61,10 +61,10 @@ class pki_x509 : public pki_x509super { issuerSqlId = s ? s->getSqlItemId() : QVariant(); } - void fload(const QString fname); + void fload(const QString &fname); void load_token(pkcs11 &p11, CK_OBJECT_HANDLE object); void store_token(bool alwaysSelect); - void fromPEM_BIO(BIO *bio, QString name); + void fromPEM_BIO(BIO *bio, const QString &name); void writeDefault(const QString &dirname) const; a1int hashInfo(const EVP_MD *md) const; void setSerial(const a1int &serial); diff --git a/lib/pki_x509req.cpp b/lib/pki_x509req.cpp index 887e7c03..5b8ae7e6 100644 --- a/lib/pki_x509req.cpp +++ b/lib/pki_x509req.cpp @@ -152,7 +152,7 @@ QString pki_x509req::getMsg(msg_type msg) const return pki_base::getMsg(msg); } -void pki_x509req::fromPEM_BIO(BIO *bio, QString name) +void pki_x509req::fromPEM_BIO(BIO *bio, const QString &name) { X509_REQ *req; req = PEM_read_bio_X509_REQ(bio, NULL, NULL, NULL); @@ -161,7 +161,7 @@ void pki_x509req::fromPEM_BIO(BIO *bio, QString name) request = req; } -void pki_x509req::fload(const QString fname) +void pki_x509req::fload(const QString &fname) { X509_REQ *_req; XFile file(fname); diff --git a/lib/pki_x509req.h b/lib/pki_x509req.h index d5efd945..aeacb3f3 100644 --- a/lib/pki_x509req.h +++ b/lib/pki_x509req.h @@ -34,8 +34,8 @@ class pki_x509req : public pki_x509super extList getV3ext() const; static QPixmap *icon[3]; pki_x509req(QString name = ""); - void fromPEM_BIO(BIO *bio, QString name); - void fload(const QString fname); + void fromPEM_BIO(BIO *bio, const QString &name); + void fload(const QString &fname); void writeDefault(const QString &dirname) const; ~pki_x509req(); void fromData(const unsigned char *p, db_header_t *head); diff --git a/lib/x509name.cpp b/lib/x509name.cpp index 1ede382d..7e7748ce 100644 --- a/lib/x509name.cpp +++ b/lib/x509name.cpp @@ -80,7 +80,7 @@ QString x509name::getEntryByNid(int nid) const { int i = X509_NAME_get_index_by_NID(xn, nid, -1); if (i < 0) - return QString::null; + return QString(); return getEntry(i); } @@ -131,7 +131,7 @@ QString x509name::popEntryByNid(int nid) { int i = X509_NAME_get_index_by_NID(xn, nid, -1); if (i < 0) - return QString::null; + return QString(); QString n = getEntry(i); X509_NAME_delete_entry(xn, i); return n; diff --git a/widgets/NewX509_ext.cpp b/widgets/NewX509_ext.cpp index f9b6c761..93c8fede 100644 --- a/widgets/NewX509_ext.cpp +++ b/widgets/NewX509_ext.cpp @@ -207,7 +207,7 @@ extList NewX509::getAdvanced() return elist; QByteArray cs = conf_str.toLatin1(); - bio = BIO_new_mem_buf(cs.data(), cs.length()); + bio = BIO_from_QByteArray(cs); if (!bio) return elist; conf = NCONF_new(NULL); diff --git a/widgets/RevocationList.cpp b/widgets/RevocationList.cpp index 8e12f704..47c56f37 100644 --- a/widgets/RevocationList.cpp +++ b/widgets/RevocationList.cpp @@ -195,7 +195,7 @@ Revocation::Revocation(QWidget *w, QModelIndexList indexes) : QDialog(w) (idx.internalPointer()); serials << cert->getSerial(); } - qSort(serials.begin(), serials.end()); + std::sort(serials.begin(), serials.end()); foreach(a1int a, serials) sl << a; serial->setToolTip(sl.join("\n"));