diff --git a/dist/changes-5.15.2 b/dist/changes-5.15.2 new file mode 100644 index 00000000..0f594ef4 --- /dev/null +++ b/dist/changes-5.15.2 @@ -0,0 +1,38 @@ +Qt 5.15.2 is a bug-fix release. It maintains both forward and backward +compatibility (source and binary) with Qt 5.15.1. + +For more details, refer to the online documentation included in this +distribution. The documentation is also available online: + + https://doc.qt.io/qt-5.15/index.html + +The Qt version 5.15 series is binary compatible with the 5.14.x series. +Applications compiled for 5.14 will continue to run with 5.15. + +Some of the changes listed in this file include issue tracking numbers +corresponding to tasks in the Qt Bug Tracker: + + https://bugreports.qt.io/ + +Each of these identifiers can be entered in the bug tracker to obtain more +information about a particular change. + +**************************************************************************** +* Important Behavior Changes * +**************************************************************************** + +**************************************************************************** +* Library * +**************************************************************************** + +Open62541 Plugin +------- + +- Fix loading of PEM encoded certificates and private keys +- Fix config test for system-open62541 + +QML API +------- + + - Monitoring for value nodes is now reestablished on reconnect + diff --git a/src/opcua/x509/openssl_symbols.cpp b/src/opcua/x509/openssl_symbols.cpp index b3207a4e..5fab6180 100644 --- a/src/opcua/x509/openssl_symbols.cpp +++ b/src/opcua/x509/openssl_symbols.cpp @@ -273,7 +273,7 @@ DEFINEFUNC3(int, BIO_read, BIO *a, a, void *b, b, int c, c, return -1, return) DEFINEFUNC3(int, BIO_write, BIO *a, a, const void *b, b, int c, c, return -1, return) DEFINEFUNC(int, BN_num_bits, const BIGNUM *a, a, return 0, return) DEFINEFUNC2(BN_ULONG, BN_mod_word, const BIGNUM *a, a, BN_ULONG w, w, return static_cast(-1), return) -DEFINEFUNC2(int, BN_set_word, const BIGNUM *a, a, BN_ULONG w, w, return 0, return) +DEFINEFUNC2(int, BN_set_word, BIGNUM *a, a, BN_ULONG w, w, return 0, return) DEFINEFUNC(BIGNUM *, BN_new, void, DUMMYARG, return nullptr, return) DEFINEFUNC(void, BN_clear, BIGNUM *bignum, bignum, return, return) DEFINEFUNC(void, BN_free, BIGNUM *bignum, bignum, return, return) @@ -339,7 +339,7 @@ DEFINEFUNC4(DH *, PEM_read_bio_DHparams, BIO *a, a, DH **b, b, pem_password_cb * DEFINEFUNC7(int, PEM_write_bio_DSAPrivateKey, BIO *a, a, DSA *b, b, const EVP_CIPHER *c, c, unsigned char *d, d, int e, e, pem_password_cb *f, f, void *g, g, return 0, return) DEFINEFUNC7(int, PEM_write_bio_RSAPrivateKey, BIO *a, a, RSA *b, b, const EVP_CIPHER *c, c, unsigned char *d, d, int e, e, pem_password_cb *f, f, void *g, g, return 0, return) DEFINEFUNC7(int, PEM_write_bio_PrivateKey, BIO *a, a, EVP_PKEY *b, b, const EVP_CIPHER *c, c, unsigned char *d, d, int e, e, pem_password_cb *f, f, void *g, g, return 0, return) -DEFINEFUNC7(int, PEM_write_bio_PKCS8PrivateKey, BIO *a, a, EVP_PKEY *b, b, const EVP_CIPHER *c, c, unsigned char *d, d, int e, e, pem_password_cb *f, f, void *g, g, return 0, return) +DEFINEFUNC7(int, PEM_write_bio_PKCS8PrivateKey, BIO *a, a, EVP_PKEY *b, b, const EVP_CIPHER *c, c, char *d, d, int e, e, pem_password_cb *f, f, void *g, g, return 0, return) #ifndef OPENSSL_NO_EC DEFINEFUNC7(int, PEM_write_bio_ECPrivateKey, BIO *a, a, EC_KEY *b, b, const EVP_CIPHER *c, c, unsigned char *d, d, int e, e, pem_password_cb *f, f, void *g, g, return 0, return) #endif diff --git a/src/opcua/x509/openssl_symbols_p.h b/src/opcua/x509/openssl_symbols_p.h index 0241c51b..b43bb890 100644 --- a/src/opcua/x509/openssl_symbols_p.h +++ b/src/opcua/x509/openssl_symbols_p.h @@ -279,7 +279,7 @@ int q_BN_is_word(BIGNUM *a, BN_ULONG w); #endif // !opensslv11 BN_ULONG q_BN_mod_word(const BIGNUM *a, BN_ULONG w); -int q_BN_set_word(const BIGNUM *a, BN_ULONG w); +int q_BN_set_word(BIGNUM *a, BN_ULONG w); BIGNUM *q_BN_new(); void q_BN_clear(BIGNUM *a); void q_BN_free(BIGNUM *a); @@ -385,7 +385,7 @@ int q_PEM_write_bio_RSAPrivateKey(BIO *a, RSA *b, const EVP_CIPHER *c, unsigned int e, pem_password_cb *f, void *g); int q_PEM_write_bio_PrivateKey(BIO *a, EVP_PKEY *b, const EVP_CIPHER *c, unsigned char *d, int e, pem_password_cb *f, void *g); -int q_PEM_write_bio_PKCS8PrivateKey(BIO *a, EVP_PKEY *b, const EVP_CIPHER *c, unsigned char *d, +int q_PEM_write_bio_PKCS8PrivateKey(BIO *a, EVP_PKEY *b, const EVP_CIPHER *c, char *d, int e, pem_password_cb *f, void *g); #ifndef OPENSSL_NO_EC int q_PEM_write_bio_ECPrivateKey(BIO *a, EC_KEY *b, const EVP_CIPHER *c, unsigned char *d, diff --git a/src/opcua/x509/qopcuakeypair_openssl.cpp b/src/opcua/x509/qopcuakeypair_openssl.cpp index 66a7b7e0..5a7b6bd6 100644 --- a/src/opcua/x509/qopcuakeypair_openssl.cpp +++ b/src/opcua/x509/qopcuakeypair_openssl.cpp @@ -240,7 +240,7 @@ QByteArray QOpcUaKeyPairPrivate::privateKeyToByteArray(QOpcUaKeyPair::Cipher cip } if (0 == q_PEM_write_bio_PKCS8PrivateKey(bio, m_keyData, enc, - enc ? (unsigned char*)password.toUtf8().constData() : NULL, + enc ? (char*)password.toUtf8().constData() : NULL, enc ? password.length() : 0, NULL /* callback */, NULL /* userdata */)) { qCWarning(lcSsl) << "Failed to write private key:" << getOpenSslError();