From 4c60c45e934fe98c717601eab1e70d0dddf0989b Mon Sep 17 00:00:00 2001 From: miod Date: Mon, 12 May 2014 19:14:14 +0000 Subject: [PATCH] Move the `pqueue' part of libcrypto, which is a glorified sorted linked list of 64-bit data, and only used by DTLS, to libssl where it belongs. Remove pqueue_print() which is a debugging interface and serves no useful purpose, except for the regress test, which grows its own pqueue_print() routine. Bump libcrypto major and libssl minor. WARNING: do not update your tree right now, more changes are coming, which will ride the libcrypto major bump. --- lib/libcrypto/crypto/Makefile | 7 +----- lib/libcrypto/crypto/shlib_version | 4 ++-- lib/libcrypto/shlib_version | 4 ++-- lib/{libcrypto/pqueue => libssl}/pqueue.c | 21 +++------------- lib/{libcrypto/pqueue => libssl}/pqueue.h | 1 - lib/libssl/shlib_version | 2 +- .../src/{crypto/pqueue => ssl}/pqueue.c | 21 +++------------- .../src/{crypto/pqueue => ssl}/pqueue.h | 1 - lib/libssl/ssl/Makefile | 7 +++--- lib/libssl/ssl/shlib_version | 2 +- regress/lib/libcrypto/pqueue/Makefile | 8 +++---- regress/lib/libcrypto/pqueue/pq_test.c | 24 +++++++++++++++---- 12 files changed, 40 insertions(+), 62 deletions(-) rename lib/{libcrypto/pqueue => libssl}/pqueue.c (91%) rename lib/{libcrypto/pqueue => libssl}/pqueue.h (99%) rename lib/libssl/src/{crypto/pqueue => ssl}/pqueue.c (91%) rename lib/libssl/src/{crypto/pqueue => ssl}/pqueue.h (99%) diff --git a/lib/libcrypto/crypto/Makefile b/lib/libcrypto/crypto/Makefile index 5fefdb1cf0b..ce04ac9e612 100644 --- a/lib/libcrypto/crypto/Makefile +++ b/lib/libcrypto/crypto/Makefile @@ -1,4 +1,4 @@ -# $OpenBSD: Makefile,v 1.31 2014/05/04 17:12:19 miod Exp $ +# $OpenBSD: Makefile,v 1.32 2014/05/12 19:14:14 miod Exp $ LIB= crypto @@ -198,9 +198,6 @@ SRCS+= p12_utl.c p12_npas.c pk12err.c p12_p8d.c p12_p8e.c SRCS+= pk7_asn1.c pk7_lib.c pkcs7err.c pk7_doit.c pk7_smime.c pk7_attr.c SRCS+= pk7_mime.c bio_pk7.c -# pqueue/ -SRCS+= pqueue.c - # rand/ SRCS+= randfile.c rand_lib.c rand_err.c @@ -304,7 +301,6 @@ SRCS+= v3_asid.c v3_addr.c ${LCRYPTO_SRC}/perlasm \ ${LCRYPTO_SRC}/pkcs12 \ ${LCRYPTO_SRC}/pkcs7 \ - ${LCRYPTO_SRC}/pqueue \ ${LCRYPTO_SRC}/rand \ ${LCRYPTO_SRC}/rc2 \ ${LCRYPTO_SRC}/rc4 \ @@ -367,7 +363,6 @@ HDRS=\ crypto/pem/pem2.h \ crypto/pkcs12/pkcs12.h \ crypto/pkcs7/pkcs7.h \ - crypto/pqueue/pqueue.h \ crypto/rand/rand.h \ crypto/rc2/rc2.h \ crypto/rc4/rc4.h \ diff --git a/lib/libcrypto/crypto/shlib_version b/lib/libcrypto/crypto/shlib_version index 72168dfd16a..54ef0c4cc0c 100644 --- a/lib/libcrypto/crypto/shlib_version +++ b/lib/libcrypto/crypto/shlib_version @@ -1,2 +1,2 @@ -major=26 -minor=1 +major=27 +minor=0 diff --git a/lib/libcrypto/shlib_version b/lib/libcrypto/shlib_version index 72168dfd16a..54ef0c4cc0c 100644 --- a/lib/libcrypto/shlib_version +++ b/lib/libcrypto/shlib_version @@ -1,2 +1,2 @@ -major=26 -minor=1 +major=27 +minor=0 diff --git a/lib/libcrypto/pqueue/pqueue.c b/lib/libssl/pqueue.c similarity index 91% rename from lib/libcrypto/pqueue/pqueue.c rename to lib/libssl/pqueue.c index fc68ae19c3d..99c118c3b6f 100644 --- a/lib/libcrypto/pqueue/pqueue.c +++ b/lib/libssl/pqueue.c @@ -57,8 +57,7 @@ * */ -#include "cryptlib.h" -#include +#include #include "pqueue.h" typedef struct _pqueue { @@ -175,7 +174,8 @@ pqueue_find(pqueue_s *pq, unsigned char *prio64be) return NULL; for (next = pq->items; next != NULL; next = next->next) { - if (memcmp(next->priority, prio64be, 8) == 0) { + if (memcmp(next->priority, prio64be, + sizeof(next->priority)) == 0) { found = next; break; } @@ -187,21 +187,6 @@ pqueue_find(pqueue_s *pq, unsigned char *prio64be) return found; } -void -pqueue_print(pqueue_s *pq) -{ - pitem *item = pq->items; - - while (item != NULL) { - printf("item\t%02x%02x%02x%02x%02x%02x%02x%02x\n", - item->priority[0], item->priority[1], - item->priority[2], item->priority[3], - item->priority[4], item->priority[5], - item->priority[6], item->priority[7]); - item = item->next; - } -} - pitem * pqueue_iterator(pqueue_s *pq) { diff --git a/lib/libcrypto/pqueue/pqueue.h b/lib/libssl/pqueue.h similarity index 99% rename from lib/libcrypto/pqueue/pqueue.h rename to lib/libssl/pqueue.h index 729e9abaf25..6e7df8f35b7 100644 --- a/lib/libcrypto/pqueue/pqueue.h +++ b/lib/libssl/pqueue.h @@ -87,7 +87,6 @@ pitem *pqueue_find(pqueue pq, unsigned char *prio64be); pitem *pqueue_iterator(pqueue pq); pitem *pqueue_next(piterator *iter); -void pqueue_print(pqueue pq); int pqueue_size(pqueue pq); #endif /* ! HEADER_PQUEUE_H */ diff --git a/lib/libssl/shlib_version b/lib/libssl/shlib_version index 906022aa66d..aa54cbb404e 100644 --- a/lib/libssl/shlib_version +++ b/lib/libssl/shlib_version @@ -1,2 +1,2 @@ major=24 -minor=0 +minor=1 diff --git a/lib/libssl/src/crypto/pqueue/pqueue.c b/lib/libssl/src/ssl/pqueue.c similarity index 91% rename from lib/libssl/src/crypto/pqueue/pqueue.c rename to lib/libssl/src/ssl/pqueue.c index fc68ae19c3d..99c118c3b6f 100644 --- a/lib/libssl/src/crypto/pqueue/pqueue.c +++ b/lib/libssl/src/ssl/pqueue.c @@ -57,8 +57,7 @@ * */ -#include "cryptlib.h" -#include +#include #include "pqueue.h" typedef struct _pqueue { @@ -175,7 +174,8 @@ pqueue_find(pqueue_s *pq, unsigned char *prio64be) return NULL; for (next = pq->items; next != NULL; next = next->next) { - if (memcmp(next->priority, prio64be, 8) == 0) { + if (memcmp(next->priority, prio64be, + sizeof(next->priority)) == 0) { found = next; break; } @@ -187,21 +187,6 @@ pqueue_find(pqueue_s *pq, unsigned char *prio64be) return found; } -void -pqueue_print(pqueue_s *pq) -{ - pitem *item = pq->items; - - while (item != NULL) { - printf("item\t%02x%02x%02x%02x%02x%02x%02x%02x\n", - item->priority[0], item->priority[1], - item->priority[2], item->priority[3], - item->priority[4], item->priority[5], - item->priority[6], item->priority[7]); - item = item->next; - } -} - pitem * pqueue_iterator(pqueue_s *pq) { diff --git a/lib/libssl/src/crypto/pqueue/pqueue.h b/lib/libssl/src/ssl/pqueue.h similarity index 99% rename from lib/libssl/src/crypto/pqueue/pqueue.h rename to lib/libssl/src/ssl/pqueue.h index 729e9abaf25..6e7df8f35b7 100644 --- a/lib/libssl/src/crypto/pqueue/pqueue.h +++ b/lib/libssl/src/ssl/pqueue.h @@ -87,7 +87,6 @@ pitem *pqueue_find(pqueue pq, unsigned char *prio64be); pitem *pqueue_iterator(pqueue pq); pitem *pqueue_next(piterator *iter); -void pqueue_print(pqueue pq); int pqueue_size(pqueue pq); #endif /* ! HEADER_PQUEUE_H */ diff --git a/lib/libssl/ssl/Makefile b/lib/libssl/ssl/Makefile index 737121fce4b..8975572be86 100644 --- a/lib/libssl/ssl/Makefile +++ b/lib/libssl/ssl/Makefile @@ -1,4 +1,4 @@ -# $OpenBSD: Makefile,v 1.41 2014/05/05 15:03:22 tedu Exp $ +# $OpenBSD: Makefile,v 1.42 2014/05/12 19:14:14 miod Exp $ LIB= ssl @@ -19,10 +19,11 @@ SRCS=\ ssl_lib.c ssl_err2.c ssl_cert.c ssl_sess.c \ ssl_ciph.c ssl_stat.c ssl_rsa.c \ ssl_asn1.c ssl_txt.c ssl_algs.c \ - bio_ssl.c ssl_err.c t1_reneg.c + bio_ssl.c ssl_err.c t1_reneg.c \ + pqueue.c SRCS+= s3_cbc.c -HDRS= srtp.h ssl.h ssl2.h ssl3.h ssl23.h tls1.h dtls1.h kssl.h +HDRS= srtp.h ssl.h ssl2.h ssl3.h ssl23.h tls1.h dtls1.h kssl.h pqueue.h .PATH: ${LSSL_SRC} diff --git a/lib/libssl/ssl/shlib_version b/lib/libssl/ssl/shlib_version index 906022aa66d..aa54cbb404e 100644 --- a/lib/libssl/ssl/shlib_version +++ b/lib/libssl/ssl/shlib_version @@ -1,2 +1,2 @@ major=24 -minor=0 +minor=1 diff --git a/regress/lib/libcrypto/pqueue/Makefile b/regress/lib/libcrypto/pqueue/Makefile index b817169a7fa..8b2d27e0525 100644 --- a/regress/lib/libcrypto/pqueue/Makefile +++ b/regress/lib/libcrypto/pqueue/Makefile @@ -1,11 +1,9 @@ -# $OpenBSD: Makefile,v 1.2 2014/05/06 20:40:26 miod Exp $ +# $OpenBSD: Makefile,v 1.3 2014/05/12 19:14:14 miod Exp $ PROG= pq_test -CRYPTO= ${.CURDIR}/../../../../lib/libssl/src/crypto -CFLAGS+= -I${CRYPTO}/pqueue -LDADD= -lcrypto -DPADD= ${LIBCRYPTO} +LDADD= -lssl -lcrypto +DPADD= ${LIBSSL} ${LIBCRYPTO} REGRESS_TARGETS= regress-pq_test diff --git a/regress/lib/libcrypto/pqueue/pq_test.c b/regress/lib/libcrypto/pqueue/pq_test.c index 32c39cd5074..fa78c8fa4c9 100644 --- a/regress/lib/libcrypto/pqueue/pq_test.c +++ b/regress/lib/libcrypto/pqueue/pq_test.c @@ -57,13 +57,29 @@ * */ -#include "pqueue.h" +#include /* remember to change expected.txt if you change these values */ unsigned char prio1[8] = "supercal"; unsigned char prio2[8] = "ifragili"; unsigned char prio3[8] = "sticexpi"; +static void +pqueue_print(pqueue pq) +{ + pitem *iter, *item; + + iter = pqueue_iterator(pq); + for (item = pqueue_next(&iter); item != NULL; + item = pqueue_next(&iter)) { + printf("item\t%02x%02x%02x%02x%02x%02x%02x%02x\n", + item->priority[0], item->priority[1], + item->priority[2], item->priority[3], + item->priority[4], item->priority[5], + item->priority[6], item->priority[7]); + } +} + int main(void) { @@ -82,13 +98,13 @@ main(void) pqueue_insert(pq, item); item = pqueue_find(pq, prio1); - fprintf(stderr, "found %ld\n", item->priority); + fprintf(stderr, "found %p\n", item->priority); item = pqueue_find(pq, prio2); - fprintf(stderr, "found %ld\n", item->priority); + fprintf(stderr, "found %p\n", item->priority); item = pqueue_find(pq, prio3); - fprintf(stderr, "found %ld\n", item ? item->priority: 0); + fprintf(stderr, "found %p\n", item ? item->priority: 0); pqueue_print(pq); -- 2.20.1