first part: const or not const that is the question; refs #6
This commit is contained in:
		| @@ -17,6 +17,17 @@ | |||||||
| #include <openssl/err.h> | #include <openssl/err.h> | ||||||
| #include <vector> | #include <vector> | ||||||
|  |  | ||||||
|  | #include <openssl/opensslv.h> | ||||||
|  | #ifndef OPENSSL_VERSION_NUMBER | ||||||
|  | #  error OpenSSL Version Number not Found | ||||||
|  | #elif OPENSSL_VERSION_NUMBER < 0x01000000L | ||||||
|  | #  define OPENSSL_0 | ||||||
|  | #  define V0_CONST const | ||||||
|  | #else | ||||||
|  | #  define OPENSSL_1 | ||||||
|  | #  define V0_CONST /* no const in openssl 1.0.0 */ | ||||||
|  | #endif | ||||||
|  |  | ||||||
| #include <openssl/x509v3.h> // BASIC_CONSTRAINTS | #include <openssl/x509v3.h> // BASIC_CONSTRAINTS | ||||||
| #include <openssl/bn.h> | #include <openssl/bn.h> | ||||||
| #include <cryptaux.hxx> | #include <cryptaux.hxx> | ||||||
| @@ -724,7 +735,7 @@ namespace openssl { | |||||||
|       //! Initialize from DER encoded cerificate. |       //! Initialize from DER encoded cerificate. | ||||||
|       X509(const std::string& der): _x509(0) { |       X509(const std::string& der): _x509(0) { | ||||||
|         OPENSSL_LOG("log"); |         OPENSSL_LOG("log"); | ||||||
|         unsigned char* c((unsigned char*)der.begin().operator->()); |         V0_CONST unsigned char* c((unsigned char*)der.begin().operator->()); | ||||||
|         if (!(_x509=d2i_X509(0, &c, der.size())) || |         if (!(_x509=d2i_X509(0, &c, der.size())) || | ||||||
|             (const char*)c!=der.begin().operator->()+der.size()) |             (const char*)c!=der.begin().operator->()+der.size()) | ||||||
|           throw x509_decoding_failed(der); |           throw x509_decoding_failed(der); | ||||||
| @@ -734,7 +745,7 @@ namespace openssl { | |||||||
|         unsigned char* d(0); |         unsigned char* d(0); | ||||||
|         int len(i2d_X509(o._x509, &d)); |         int len(i2d_X509(o._x509, &d)); | ||||||
|         if (!len) throw x509_copy_failed(); |         if (!len) throw x509_copy_failed(); | ||||||
|         unsigned char* d2(d); |         V0_CONST unsigned char* d2(d); | ||||||
|         _x509 = d2i_X509(0, &d2, len); |         _x509 = d2i_X509(0, &d2, len); | ||||||
|         OPENSSL_free(d); |         OPENSSL_free(d); | ||||||
|         if (!_x509) throw x509_copy_failed(); |         if (!_x509) throw x509_copy_failed(); | ||||||
| @@ -755,7 +766,7 @@ namespace openssl { | |||||||
|         unsigned char* d(0); |         unsigned char* d(0); | ||||||
|         int len(i2d_X509(o._x509, &d)); |         int len(i2d_X509(o._x509, &d)); | ||||||
|         if (!len) throw x509_copy_failed(); |         if (!len) throw x509_copy_failed(); | ||||||
|         unsigned char* d2(d); |         V0_CONST unsigned char* d2(d); | ||||||
|         _x509 = d2i_X509(0, &d2, len); |         _x509 = d2i_X509(0, &d2, len); | ||||||
|         OPENSSL_free(d); |         OPENSSL_free(d); | ||||||
|         if (!_x509) throw x509_copy_failed(); |         if (!_x509) throw x509_copy_failed(); | ||||||
|   | |||||||
		Reference in New Issue
	
	Block a user