summaryrefslogtreecommitdiff
path: root/src/lib/libssl/t1_lib.c
diff options
context:
space:
mode:
authorjsing <>2018-08-19 15:38:03 +0000
committerjsing <>2018-08-19 15:38:03 +0000
commit20ae7f1462fc960cd8c12d1f0c14465997d0dc2a (patch)
tree51b241a94a4954d6e015ae2a61f04f2bc963f114 /src/lib/libssl/t1_lib.c
parent4b5d8468f24e8400e8b6fe681a7db5754fd21bab (diff)
downloadopenbsd-20ae7f1462fc960cd8c12d1f0c14465997d0dc2a.tar.gz
openbsd-20ae7f1462fc960cd8c12d1f0c14465997d0dc2a.tar.bz2
openbsd-20ae7f1462fc960cd8c12d1f0c14465997d0dc2a.zip
Rename and collapse tls12_get_sigandhash_cbb().
Now that all callers of tls12_get_sigandhash() have been converted to CBB, collapse tls12_get_sigandhash() and tls12_get_sigandhash_cbb() into a single function. Rename it to tls12_gethashandsig() to be representative of the actual order of the sigalgs parameters, and perform some other clean up. ok inoguchi@ tb@
Diffstat (limited to 'src/lib/libssl/t1_lib.c')
-rw-r--r--src/lib/libssl/t1_lib.c50
1 files changed, 21 insertions, 29 deletions
diff --git a/src/lib/libssl/t1_lib.c b/src/lib/libssl/t1_lib.c
index 7f166942f7..1b2e0844fb 100644
--- a/src/lib/libssl/t1_lib.c
+++ b/src/lib/libssl/t1_lib.c
@@ -1,4 +1,4 @@
1/* $OpenBSD: t1_lib.c,v 1.142 2018/08/16 17:49:48 jsing Exp $ */ 1/* $OpenBSD: t1_lib.c,v 1.143 2018/08/19 15:38:03 jsing 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 *
@@ -1116,51 +1116,43 @@ tls12_find_id(int nid, tls12_lookup *table, size_t tlen)
1116} 1116}
1117 1117
1118int 1118int
1119tls12_get_sigandhash_cbb(CBB *cbb, const EVP_PKEY *pk, const EVP_MD *md) 1119tls12_get_hashid(const EVP_MD *md)
1120{ 1120{
1121 unsigned char p[2]; 1121 if (md == NULL)
1122 return -1;
1122 1123
1123 if (!tls12_get_sigandhash(p, pk, md)) 1124 return tls12_find_id(EVP_MD_type(md), tls12_md,
1124 return 0; 1125 sizeof(tls12_md) / sizeof(tls12_lookup));
1126}
1125 1127
1126 if (!CBB_add_u8(cbb, p[0])) 1128int
1127 return 0; 1129tls12_get_sigid(const EVP_PKEY *pk)
1128 if (!CBB_add_u8(cbb, p[1])) 1130{
1129 return 0; 1131 if (pk == NULL)
1132 return -1;
1130 1133
1131 return 1; 1134 return tls12_find_id(pk->type, tls12_sig,
1135 sizeof(tls12_sig) / sizeof(tls12_lookup));
1132} 1136}
1133 1137
1134int 1138int
1135tls12_get_sigandhash(unsigned char *p, const EVP_PKEY *pk, const EVP_MD *md) 1139tls12_get_hashandsig(CBB *cbb, const EVP_PKEY *pk, const EVP_MD *md)
1136{ 1140{
1137 int sig_id, md_id; 1141 int hash_id, sig_id;
1138 1142
1139 if (md == NULL) 1143 if ((hash_id = tls12_get_hashid(md)) == -1)
1140 return 0; 1144 return 0;
1141 1145 if ((sig_id = tls12_get_sigid(pk)) == -1)
1142 md_id = tls12_find_id(EVP_MD_type(md), tls12_md,
1143 sizeof(tls12_md) / sizeof(tls12_lookup));
1144 if (md_id == -1)
1145 return 0; 1146 return 0;
1146 1147
1147 sig_id = tls12_get_sigid(pk); 1148 if (!CBB_add_u8(cbb, hash_id))
1148 if (sig_id == -1) 1149 return 0;
1150 if (!CBB_add_u8(cbb, sig_id))
1149 return 0; 1151 return 0;
1150
1151 p[0] = (unsigned char)md_id;
1152 p[1] = (unsigned char)sig_id;
1153 1152
1154 return 1; 1153 return 1;
1155} 1154}
1156 1155
1157int
1158tls12_get_sigid(const EVP_PKEY *pk)
1159{
1160 return tls12_find_id(pk->type, tls12_sig,
1161 sizeof(tls12_sig) / sizeof(tls12_lookup));
1162}
1163
1164const EVP_MD * 1156const EVP_MD *
1165tls12_get_hash(unsigned char hash_alg) 1157tls12_get_hash(unsigned char hash_alg)
1166{ 1158{