summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authortb <>2018-08-24 20:17:33 +0000
committertb <>2018-08-24 20:17:33 +0000
commit5ace4c7530c972572b51f65ce6521aa5fdded0bc (patch)
treec6b54f8721555e8352418c0160ae38921c75aae1 /src
parenta9628cb893f117c74713ef7ddc64ea67e2f22ed7 (diff)
downloadopenbsd-5ace4c7530c972572b51f65ce6521aa5fdded0bc.tar.gz
openbsd-5ace4c7530c972572b51f65ce6521aa5fdded0bc.tar.bz2
openbsd-5ace4c7530c972572b51f65ce6521aa5fdded0bc.zip
After removing support for broken PKCS#8 formats (it was high time),
we can add const to PKCS8_pkey_get0(). In order for this to work, we need to sprinkle a few consts here and there. tested in a bulk by sthen ok jsing
Diffstat (limited to 'src')
-rw-r--r--src/lib/libcrypto/asn1/p8_pkey.c6
-rw-r--r--src/lib/libcrypto/dh/dh_ameth.c4
-rw-r--r--src/lib/libcrypto/dsa/dsa_ameth.c4
-rw-r--r--src/lib/libcrypto/ec/ec_ameth.c4
-rw-r--r--src/lib/libcrypto/evp/evp_pkey.c4
-rw-r--r--src/lib/libcrypto/gost/gostr341001_ameth.c6
-rw-r--r--src/lib/libcrypto/x509/x509.h13
7 files changed, 19 insertions, 22 deletions
diff --git a/src/lib/libcrypto/asn1/p8_pkey.c b/src/lib/libcrypto/asn1/p8_pkey.c
index 8f5e303e41..d2f8e6b055 100644
--- a/src/lib/libcrypto/asn1/p8_pkey.c
+++ b/src/lib/libcrypto/asn1/p8_pkey.c
@@ -1,4 +1,4 @@
1/* $OpenBSD: p8_pkey.c,v 1.18 2018/08/24 20:07:41 tb Exp $ */ 1/* $OpenBSD: p8_pkey.c,v 1.19 2018/08/24 20:17:33 tb Exp $ */
2/* Written by Dr Stephen N Henson (steve@openssl.org) for the OpenSSL 2/* Written by Dr Stephen N Henson (steve@openssl.org) for the OpenSSL
3 * project 1999. 3 * project 1999.
4 */ 4 */
@@ -154,8 +154,8 @@ PKCS8_pkey_set0(PKCS8_PRIV_KEY_INFO *priv, ASN1_OBJECT *aobj, int version,
154} 154}
155 155
156int 156int
157PKCS8_pkey_get0(ASN1_OBJECT **ppkalg, const unsigned char **pk, int *ppklen, 157PKCS8_pkey_get0(const ASN1_OBJECT **ppkalg, const unsigned char **pk,
158 X509_ALGOR **pa, PKCS8_PRIV_KEY_INFO *p8) 158 int *ppklen, const X509_ALGOR **pa, const PKCS8_PRIV_KEY_INFO *p8)
159{ 159{
160 if (ppkalg != NULL) 160 if (ppkalg != NULL)
161 *ppkalg = p8->pkeyalg->algorithm; 161 *ppkalg = p8->pkeyalg->algorithm;
diff --git a/src/lib/libcrypto/dh/dh_ameth.c b/src/lib/libcrypto/dh/dh_ameth.c
index 6fadfda2d3..6c6b8455fe 100644
--- a/src/lib/libcrypto/dh/dh_ameth.c
+++ b/src/lib/libcrypto/dh/dh_ameth.c
@@ -1,4 +1,4 @@
1/* $OpenBSD: dh_ameth.c,v 1.15 2018/05/01 19:01:27 tb Exp $ */ 1/* $OpenBSD: dh_ameth.c,v 1.16 2018/08/24 20:17:33 tb Exp $ */
2/* Written by Dr Stephen N Henson (steve@openssl.org) for the OpenSSL 2/* Written by Dr Stephen N Henson (steve@openssl.org) for the OpenSSL
3 * project 2006. 3 * project 2006.
4 */ 4 */
@@ -187,7 +187,7 @@ dh_priv_decode(EVP_PKEY *pkey, PKCS8_PRIV_KEY_INFO *p8)
187 int ptype; 187 int ptype;
188 const void *pval; 188 const void *pval;
189 const ASN1_STRING *pstr; 189 const ASN1_STRING *pstr;
190 X509_ALGOR *palg; 190 const X509_ALGOR *palg;
191 ASN1_INTEGER *privkey = NULL; 191 ASN1_INTEGER *privkey = NULL;
192 DH *dh = NULL; 192 DH *dh = NULL;
193 193
diff --git a/src/lib/libcrypto/dsa/dsa_ameth.c b/src/lib/libcrypto/dsa/dsa_ameth.c
index 2d62aaa582..6c1062d975 100644
--- a/src/lib/libcrypto/dsa/dsa_ameth.c
+++ b/src/lib/libcrypto/dsa/dsa_ameth.c
@@ -1,4 +1,4 @@
1/* $OpenBSD: dsa_ameth.c,v 1.24 2018/05/01 19:01:27 tb Exp $ */ 1/* $OpenBSD: dsa_ameth.c,v 1.25 2018/08/24 20:17:33 tb Exp $ */
2/* Written by Dr Stephen N Henson (steve@openssl.org) for the OpenSSL 2/* Written by Dr Stephen N Henson (steve@openssl.org) for the OpenSSL
3 * project 2006. 3 * project 2006.
4 */ 4 */
@@ -186,7 +186,7 @@ dsa_priv_decode(EVP_PKEY *pkey, PKCS8_PRIV_KEY_INFO *p8)
186 int ptype; 186 int ptype;
187 const void *pval; 187 const void *pval;
188 const ASN1_STRING *pstr; 188 const ASN1_STRING *pstr;
189 X509_ALGOR *palg; 189 const X509_ALGOR *palg;
190 ASN1_INTEGER *privkey = NULL; 190 ASN1_INTEGER *privkey = NULL;
191 BN_CTX *ctx = NULL; 191 BN_CTX *ctx = NULL;
192 DSA *dsa = NULL; 192 DSA *dsa = NULL;
diff --git a/src/lib/libcrypto/ec/ec_ameth.c b/src/lib/libcrypto/ec/ec_ameth.c
index 4c4542dee5..0071826dea 100644
--- a/src/lib/libcrypto/ec/ec_ameth.c
+++ b/src/lib/libcrypto/ec/ec_ameth.c
@@ -1,4 +1,4 @@
1/* $OpenBSD: ec_ameth.c,v 1.23 2018/07/15 16:27:39 tb Exp $ */ 1/* $OpenBSD: ec_ameth.c,v 1.24 2018/08/24 20:17:33 tb Exp $ */
2/* Written by Dr Stephen N Henson (steve@openssl.org) for the OpenSSL 2/* Written by Dr Stephen N Henson (steve@openssl.org) for the OpenSSL
3 * project 2006. 3 * project 2006.
4 */ 4 */
@@ -238,7 +238,7 @@ eckey_priv_decode(EVP_PKEY * pkey, PKCS8_PRIV_KEY_INFO * p8)
238 const void *pval; 238 const void *pval;
239 int ptype, pklen; 239 int ptype, pklen;
240 EC_KEY *eckey = NULL; 240 EC_KEY *eckey = NULL;
241 X509_ALGOR *palg; 241 const X509_ALGOR *palg;
242 242
243 if (!PKCS8_pkey_get0(NULL, &p, &pklen, &palg, p8)) 243 if (!PKCS8_pkey_get0(NULL, &p, &pklen, &palg, p8))
244 return 0; 244 return 0;
diff --git a/src/lib/libcrypto/evp/evp_pkey.c b/src/lib/libcrypto/evp/evp_pkey.c
index aa075d6392..68948f5fa6 100644
--- a/src/lib/libcrypto/evp/evp_pkey.c
+++ b/src/lib/libcrypto/evp/evp_pkey.c
@@ -1,4 +1,4 @@
1/* $OpenBSD: evp_pkey.c,v 1.21 2018/08/24 20:07:41 tb Exp $ */ 1/* $OpenBSD: evp_pkey.c,v 1.22 2018/08/24 20:17:33 tb Exp $ */
2/* Written by Dr Stephen N Henson (steve@openssl.org) for the OpenSSL 2/* Written by Dr Stephen N Henson (steve@openssl.org) for the OpenSSL
3 * project 1999. 3 * project 1999.
4 */ 4 */
@@ -70,7 +70,7 @@ EVP_PKEY *
70EVP_PKCS82PKEY(PKCS8_PRIV_KEY_INFO *p8) 70EVP_PKCS82PKEY(PKCS8_PRIV_KEY_INFO *p8)
71{ 71{
72 EVP_PKEY *pkey = NULL; 72 EVP_PKEY *pkey = NULL;
73 ASN1_OBJECT *algoid; 73 const ASN1_OBJECT *algoid;
74 char obj_tmp[80]; 74 char obj_tmp[80];
75 75
76 if (!PKCS8_pkey_get0(&algoid, NULL, NULL, NULL, p8)) 76 if (!PKCS8_pkey_get0(&algoid, NULL, NULL, NULL, p8))
diff --git a/src/lib/libcrypto/gost/gostr341001_ameth.c b/src/lib/libcrypto/gost/gostr341001_ameth.c
index 086e371057..9b17b2e2c7 100644
--- a/src/lib/libcrypto/gost/gostr341001_ameth.c
+++ b/src/lib/libcrypto/gost/gostr341001_ameth.c
@@ -1,4 +1,4 @@
1/* $OpenBSD: gostr341001_ameth.c,v 1.13 2018/06/10 14:39:49 jsing Exp $ */ 1/* $OpenBSD: gostr341001_ameth.c,v 1.14 2018/08/24 20:17:33 tb Exp $ */
2/* 2/*
3 * Copyright (c) 2014 Dmitry Eremin-Solenikov <dbaryshkov@gmail.com> 3 * Copyright (c) 2014 Dmitry Eremin-Solenikov <dbaryshkov@gmail.com>
4 * Copyright (c) 2005-2006 Cryptocom LTD 4 * Copyright (c) 2005-2006 Cryptocom LTD
@@ -400,8 +400,8 @@ priv_decode_gost01(EVP_PKEY *pk, PKCS8_PRIV_KEY_INFO *p8inf)
400 int priv_len = 0; 400 int priv_len = 0;
401 BIGNUM *pk_num = NULL; 401 BIGNUM *pk_num = NULL;
402 int ret = 0; 402 int ret = 0;
403 X509_ALGOR *palg = NULL; 403 const X509_ALGOR *palg = NULL;
404 ASN1_OBJECT *palg_obj = NULL; 404 const ASN1_OBJECT *palg_obj = NULL;
405 ASN1_INTEGER *priv_key = NULL; 405 ASN1_INTEGER *priv_key = NULL;
406 GOST_KEY *ec; 406 GOST_KEY *ec;
407 int ptype = V_ASN1_UNDEF; 407 int ptype = V_ASN1_UNDEF;
diff --git a/src/lib/libcrypto/x509/x509.h b/src/lib/libcrypto/x509/x509.h
index 6c1f8eb6e9..ab1f9b46b1 100644
--- a/src/lib/libcrypto/x509/x509.h
+++ b/src/lib/libcrypto/x509/x509.h
@@ -1,4 +1,4 @@
1/* $OpenBSD: x509.h,v 1.72 2018/08/24 20:07:42 tb Exp $ */ 1/* $OpenBSD: x509.h,v 1.73 2018/08/24 20:17:33 tb Exp $ */
2/* Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com) 2/* Copyright (C) 1995-1998 Eric Young (eay@cryptsoft.com)
3 * All rights reserved. 3 * All rights reserved.
4 * 4 *
@@ -1290,13 +1290,10 @@ extern const ASN1_ITEM PKCS8_PRIV_KEY_INFO_it;
1290EVP_PKEY *EVP_PKCS82PKEY(PKCS8_PRIV_KEY_INFO *p8); 1290EVP_PKEY *EVP_PKCS82PKEY(PKCS8_PRIV_KEY_INFO *p8);
1291PKCS8_PRIV_KEY_INFO *EVP_PKEY2PKCS8(EVP_PKEY *pkey); 1291PKCS8_PRIV_KEY_INFO *EVP_PKEY2PKCS8(EVP_PKEY *pkey);
1292 1292
1293int PKCS8_pkey_set0(PKCS8_PRIV_KEY_INFO *priv, ASN1_OBJECT *aobj, 1293int PKCS8_pkey_set0(PKCS8_PRIV_KEY_INFO *priv, ASN1_OBJECT *aobj, int version,
1294 int version, int ptype, void *pval, 1294 int ptype, void *pval, unsigned char *penc, int penclen);
1295 unsigned char *penc, int penclen); 1295int PKCS8_pkey_get0(const ASN1_OBJECT **ppkalg, const unsigned char **pk,
1296int PKCS8_pkey_get0(ASN1_OBJECT **ppkalg, 1296 int *ppklen, const X509_ALGOR **pa, const PKCS8_PRIV_KEY_INFO *p8);
1297 const unsigned char **pk, int *ppklen,
1298 X509_ALGOR **pa,
1299 PKCS8_PRIV_KEY_INFO *p8);
1300 1297
1301const STACK_OF(X509_ATTRIBUTE) *PKCS8_pkey_get0_attrs(const PKCS8_PRIV_KEY_INFO *p8); 1298const STACK_OF(X509_ATTRIBUTE) *PKCS8_pkey_get0_attrs(const PKCS8_PRIV_KEY_INFO *p8);
1302int PKCS8_pkey_add1_attr_by_NID(PKCS8_PRIV_KEY_INFO *p8, int nid, int type, 1299int PKCS8_pkey_add1_attr_by_NID(PKCS8_PRIV_KEY_INFO *p8, int nid, int type,