]> git.ipfire.org Git - thirdparty/openvpn.git/commitdiff
Workaround bug in OpenSSL 0.9.6b ASN1_STRING_to_UTF8, which
authorjames <james@e7ae566f-a301-0410-adde-c780ea21d3b5>
Sun, 10 Aug 2008 22:37:18 +0000 (22:37 +0000)
committerjames <james@e7ae566f-a301-0410-adde-c780ea21d3b5>
Sun, 10 Aug 2008 22:37:18 +0000 (22:37 +0000)
the new implementation of extract_x509_field_ssl depends on.

git-svn-id: http://svn.openvpn.net/projects/openvpn/branches/BETA21/openvpn@3220 e7ae566f-a301-0410-adde-c780ea21d3b5

crypto.h
ssl.c

index 185f9d2ba3259e4a9b14077f86f85268b1bca0d4..5ac1208782ecfe66295acc0205f5c801abd49d2e 100644 (file)
--- a/crypto.h
+++ b/crypto.h
@@ -69,9 +69,6 @@
 
 #if SSLEAY_VERSION_NUMBER < 0x00907000L
 
-/* Workaround: OpenSSL 0.9.6 breaks extract_x509_field_ssl function */
-#define USE_OLD_EXTRACT_X509_FIELD
-
 /* Workaround: EVP_CIPHER_mode is defined wrong in OpenSSL 0.9.6 but is fixed in 0.9.7 */
 #undef EVP_CIPHER_mode
 #define EVP_CIPHER_mode(e)                (((e)->flags) & EVP_CIPH_MODE)
diff --git a/ssl.c b/ssl.c
index 9318b8a1986dcd6f1de2c4ef2ff153141b67b38e..cd1692b05ed1b5973c74979e87672a4559f4c158 100644 (file)
--- a/ssl.c
+++ b/ssl.c
@@ -358,8 +358,8 @@ extract_x509_field_ssl (X509_NAME *x509, const char *field_name, char *out, int
   int tmp = -1;
   X509_NAME_ENTRY *x509ne = 0;
   ASN1_STRING *asn1 = 0;
-  unsigned char *buf = 0;
-  int nid = OBJ_txt2nid(field_name);
+  unsigned char *buf = (unsigned char *)1; /* bug in OpenSSL 0.9.6b ASN1_STRING_to_UTF8 requires this workaround */
+  int nid = OBJ_txt2nid((char *)field_name);
 
   ASSERT (size > 0);
   *out = '\0';