summaryrefslogtreecommitdiff
path: root/usr/src/lib
diff options
context:
space:
mode:
authorTheo Schlossnagle <jesus@omniti.com>2012-04-24 22:00:12 -0400
committerTheo Schlossnagle <jesus@omniti.com>2012-04-24 22:00:12 -0400
commit70f9559bd0c02885d84a425eaafc8c280df10efb (patch)
tree8e941ecc2999c6850276e61ac528dabfa5ff920f /usr/src/lib
parentd0bf2cb9f5d040c9eb24954ea34580b402377300 (diff)
downloadillumos-joyent-70f9559bd0c02885d84a425eaafc8c280df10efb.tar.gz
1665 Illumos wont build against openssl 1.0.0
Reviewed by: Robert Mustacchi <rm@joyent.com> Reviewed by: Keith Wesolowski <keith.wesolowski@joyent.com> Reviewed by: Joshua M. Clulow <josh@sysmgr.org> Approved by: Albert Lee <trisk@nexenta.com>
Diffstat (limited to 'usr/src/lib')
-rw-r--r--usr/src/lib/krb5/plugins/preauth/pkinit/pkinit_crypto_openssl.c13
-rw-r--r--usr/src/lib/libkmf/plugins/kmf_openssl/common/openssl_spi.c18
-rw-r--r--usr/src/lib/libpkg/common/p12lib.c12
3 files changed, 39 insertions, 4 deletions
diff --git a/usr/src/lib/krb5/plugins/preauth/pkinit/pkinit_crypto_openssl.c b/usr/src/lib/krb5/plugins/preauth/pkinit/pkinit_crypto_openssl.c
index 8a98a333f3..fa903130e9 100644
--- a/usr/src/lib/krb5/plugins/preauth/pkinit/pkinit_crypto_openssl.c
+++ b/usr/src/lib/krb5/plugins/preauth/pkinit/pkinit_crypto_openssl.c
@@ -30,6 +30,7 @@
/*
* Copyright (c) 2008, 2010, Oracle and/or its affiliates. All rights reserved.
+ * Copyright (c) 2012, OmniTI Computer Consulting, Inc. All rights reserved.
*/
#include <errno.h>
@@ -1278,7 +1279,7 @@ cms_signeddata_verify(krb5_context context,
revoked = sk_X509_CRL_new_null();
for (i = 0; i < size; i++)
sk_X509_CRL_push(revoked, sk_X509_CRL_value(idctx->revoked, i));
- size = sk_X509_num(p7->d.sign->crl);
+ size = sk_X509_CRL_num(p7->d.sign->crl);
for (i = 0; i < size; i++)
sk_X509_CRL_push(revoked, sk_X509_CRL_value(p7->d.sign->crl, i));
}
@@ -1419,7 +1420,7 @@ cms_signeddata_verify(krb5_context context,
pkiDebug("PKCS7 Verification successful\n");
else {
pkiDebug("wrong oid in eContentType\n");
- print_buffer(p7->d.sign->contents->type->data,
+ print_buffer((unsigned char *)p7->d.sign->contents->type->data,
(unsigned int)p7->d.sign->contents->type->length);
retval = KRB5KDC_ERR_PREAUTH_FAILED;
krb5_set_error_message(context, retval, "wrong oid\n");
@@ -4773,7 +4774,11 @@ decode_data(unsigned char **out_data, unsigned int *out_data_len,
if (buf == NULL)
return ENOMEM;
+#if OPENSSL_VERSION_NUMBER < 0x10000000L
len = EVP_PKEY_decrypt(buf, data, (int)data_len, pkey);
+#else
+ len = EVP_PKEY_decrypt_old(buf, data, (int)data_len, pkey);
+#endif
if (len <= 0) {
pkiDebug("unable to decrypt received data (len=%d)\n", data_len);
/* Solaris Kerberos */
@@ -5908,7 +5913,7 @@ load_cas_and_crls(krb5_context context,
continue;
}
if (flag != 0) {
- sk_X509_push(ca_crls, X509_CRL_dup(xi->crl));
+ sk_X509_CRL_push(ca_crls, X509_CRL_dup(xi->crl));
}
}
}
@@ -5938,7 +5943,7 @@ load_cas_and_crls(krb5_context context,
}
break;
case CATYPE_CRLS:
- if (sk_X509_num(ca_crls) == 0) {
+ if (sk_X509_CRL_num(ca_crls) == 0) {
pkiDebug("no crls in file, %s\n", filename);
if (id_cryptoctx->revoked == NULL)
sk_X509_CRL_free(ca_crls);
diff --git a/usr/src/lib/libkmf/plugins/kmf_openssl/common/openssl_spi.c b/usr/src/lib/libkmf/plugins/kmf_openssl/common/openssl_spi.c
index 548a047245..fc3da4b7e8 100644
--- a/usr/src/lib/libkmf/plugins/kmf_openssl/common/openssl_spi.c
+++ b/usr/src/lib/libkmf/plugins/kmf_openssl/common/openssl_spi.c
@@ -4,6 +4,9 @@
* Use is subject to license terms.
*/
/*
+ * Copyright (c) 2012, OmniTI Computer Consulting, Inc. All rights reserved.
+ */
+/*
* Written by Dr Stephen N Henson (shenson@bigfoot.com) for the OpenSSL
* project 2000.
*/
@@ -2027,7 +2030,11 @@ OpenSSL_CertGetPrintable(KMF_HANDLE_T handle, const KMF_DATA *pcert,
int j;
int ext_index, nid, len;
BIO *mem = NULL;
+#if OPENSSL_VERSION_NUMBER < 0x10000000L
STACK *emlst = NULL;
+#else
+ STACK_OF(OPENSSL_STRING) *emlst = NULL;
+#endif
X509_EXTENSION *ex;
X509_CINF *ci;
@@ -2140,8 +2147,14 @@ OpenSSL_CertGetPrintable(KMF_HANDLE_T handle, const KMF_DATA *pcert,
case KMF_CERT_EMAIL:
emlst = X509_get1_email(xcert);
+#if OPENSSL_VERSION_NUMBER < 0x10000000L
for (j = 0; j < sk_num(emlst); j++)
(void) BIO_printf(mem, "%s\n", sk_value(emlst, j));
+#else
+ for (j = 0; j < sk_OPENSSL_STRING_num(emlst); j++)
+ (void) BIO_printf(mem, "%s\n",
+ sk_OPENSSL_STRING_value(emlst, j));
+#endif
len = BIO_gets(mem, resultStr, KMF_CERT_PRINTABLE_LEN);
X509_email_free(emlst);
@@ -4265,8 +4278,13 @@ convertToRawKey(EVP_PKEY *pkey, KMF_RAW_KEY_DATA *key)
ty = sk_ASN1_TYPE_value(attr->value.set, 0);
}
if (ty != NULL) {
+#if OPENSSL_VERSION_NUMBER < 0x10000000L
key->label = uni2asc(ty->value.bmpstring->data,
ty->value.bmpstring->length);
+#else
+ key->label = OPENSSL_uni2asc(ty->value.bmpstring->data,
+ ty->value.bmpstring->length);
+#endif
}
} else {
key->label = NULL;
diff --git a/usr/src/lib/libpkg/common/p12lib.c b/usr/src/lib/libpkg/common/p12lib.c
index 3ae72a4b50..238aa57d54 100644
--- a/usr/src/lib/libpkg/common/p12lib.c
+++ b/usr/src/lib/libpkg/common/p12lib.c
@@ -58,6 +58,10 @@
* Use is subject to license terms.
*/
+/*
+ * Copyright (c) 2012, OmniTI Computer Consulting, Inc. All rights reserved.
+ */
+
#include <strings.h>
#include <stdlib.h>
@@ -1137,7 +1141,11 @@ sunw_get_pkey_fname(getdo_actions_t dowhat, EVP_PKEY *pkey, char **fname)
}
str = ty->value.bmpstring;
+#if OPENSSL_VERSION_NUMBER < 0x10000000L
*fname = uni2asc(str->data, str->length);
+#else
+ *fname = OPENSSL_uni2asc(str->data, str->length);
+#endif
if (*fname == NULL) {
SUNWerr(SUNW_F_GET_PKEY_FNAME, SUNW_R_MEMORY_FAILURE);
return (-1);
@@ -2295,7 +2303,11 @@ asc2bmpstring(const char *str, int len)
int unilen;
/* Convert the character to the bmp format. */
+#if OPENSSL_VERSION_NUMBER < 0x10000000L
if (asc2uni(str, len, &uni, &unilen) == 0) {
+#else
+ if (OPENSSL_asc2uni(str, len, &uni, &unilen) == 0) {
+#endif
SUNWerr(SUNW_F_ASC2BMPSTRING, SUNW_R_MEMORY_FAILURE);
return (NULL);
}