On Sat, Jan 15, 2022 at 12:28:29PM +0100, Theo Buehler wrote: > On Sat, Jan 15, 2022 at 12:01:58PM +0100, Antoine Jacoutot wrote: > > On Fri, Jan 14, 2022 at 12:58:46PM -0700, Alexander Bluhm wrote: > > > CVSROOT: /cvs > > > Module name: ports > > > Changes by: [email protected] 2022/01/14 12:58:46 > > > > > > Modified files: > > > security/p5-Net-SSLeay: Makefile distinfo > > > security/p5-Net-SSLeay/patches: patch-SSLeay_xs > > > Removed files: > > > security/p5-Net-SSLeay/patches: > > > patch-t_local_43_misc_functions_t > > > > > > Log message: > > > update p5-Net-SSLeay to 1.92 > > > > Does not build for me. > > The update lost the build fixes I made for 1.90. This passes regress. > Should I bump REVISION or not?
Sorry for that. The old patch did not apply as part of it was already upstream. So I added back what was needed to build on my laptop. But I did not have the latest libcrypto. OK bluhm@ > Index: patches/patch-SSLeay_xs > =================================================================== > RCS file: /cvs/ports/security/p5-Net-SSLeay/patches/patch-SSLeay_xs,v > retrieving revision 1.6 > diff -u -p -r1.6 patch-SSLeay_xs > --- patches/patch-SSLeay_xs 14 Jan 2022 19:58:46 -0000 1.6 > +++ patches/patch-SSLeay_xs 15 Jan 2022 11:25:30 -0000 > @@ -1,11 +1,48 @@ > $OpenBSD: patch-SSLeay_xs,v 1.6 2022/01/14 19:58:46 bluhm Exp $ > > +Fix build with opaque RSA and OCSP structures in LibreSSL 3.5 > + > +and > + > https://github.com/radiator-software/p5-net-ssleay/pull/360 > > Index: SSLeay.xs > --- SSLeay.xs.orig > +++ SSLeay.xs > -@@ -7197,7 +7197,7 @@ ASN1_OBJECT * > +@@ -6283,17 +6283,24 @@ > RSA_generate_key(bits,e,perl_cb=&PL_sv_undef,perl_data > + void > + RSA_get_key_parameters(rsa) > + RSA * rsa > ++PREINIT: > ++ BIGNUM *n, *e, *d; > ++ BIGNUM *p, *q; > ++ BIGNUM *dmp1, *dmq1, *iqmp; > + PPCODE: > + { > ++ RSA_get0_key(rsa, (const BIGNUM **)&n, (const BIGNUM **)&e, (const > BIGNUM **)&d); > ++ RSA_get0_factors(rsa, (const BIGNUM **)&p, (const BIGNUM **)&q); > ++ RSA_get0_crt_params(rsa, (const BIGNUM **)&dmp1, (const BIGNUM > **)&dmq1, (const BIGNUM **)&iqmp); > + /* Caution: returned list consists of SV pointers to BIGNUMs, which > would need to be blessed as Crypt::OpenSSL::Bignum for further use */ > +- XPUSHs(bn2sv(rsa->n)); > +- XPUSHs(bn2sv(rsa->e)); > +- XPUSHs(bn2sv(rsa->d)); > +- XPUSHs(bn2sv(rsa->p)); > +- XPUSHs(bn2sv(rsa->q)); > +- XPUSHs(bn2sv(rsa->dmp1)); > +- XPUSHs(bn2sv(rsa->dmq1)); > +- XPUSHs(bn2sv(rsa->iqmp)); > ++ XPUSHs(bn2sv(n)); > ++ XPUSHs(bn2sv(e)); > ++ XPUSHs(bn2sv(d)); > ++ XPUSHs(bn2sv(p)); > ++ XPUSHs(bn2sv(q)); > ++ XPUSHs(bn2sv(dmp1)); > ++ XPUSHs(bn2sv(dmq1)); > ++ XPUSHs(bn2sv(iqmp)); > + } > + > + #endif > +@@ -7197,7 +7204,7 @@ ASN1_OBJECT * > P_X509_get_signature_alg(x) > X509 * x > CODE: > @@ -14,3 +51,30 @@ Index: SSLeay.xs > RETVAL = (X509_get0_tbs_sigalg(x)->algorithm); > #else > RETVAL = (x->cert_info->signature->algorithm); > +@@ -7663,7 +7670,7 @@ OCSP_response_results(rsp,...) > + > + if (sir) > + { > +-#if OPENSSL_VERSION_NUMBER >= 0x10100000L > ++#if (OPENSSL_VERSION_NUMBER >= 0x10100000L && > !defined(LIBRESSL_VERSION_NUMBER)) || (LIBRESSL_VERSION_NUMBER >= 0x3050000fL) > + status = OCSP_single_get0_status(sir, &revocationReason, > &revocationTime, &thisupdate, &nextupdate); > + #else > + status = sir->certStatus->type; > +@@ -7690,7 +7697,7 @@ OCSP_response_results(rsp,...) > + if (!idsv) { > + /* getall: create new SV with OCSP_CERTID */ > + unsigned char *pi,*pc; > +-#if OPENSSL_VERSION_NUMBER >= 0x10100003L && > !defined(LIBRESSL_VERSION_NUMBER) > ++#if (OPENSSL_VERSION_NUMBER >= 0x10100000L && > !defined(LIBRESSL_VERSION_NUMBER)) || (LIBRESSL_VERSION_NUMBER >= 0x3050000fL) > + int len = i2d_OCSP_CERTID((OCSP_CERTID > *)OCSP_SINGLERESP_get0_id(sir),NULL); > + #else > + int len = i2d_OCSP_CERTID(sir->certId,NULL); > +@@ -7699,7 +7706,7 @@ OCSP_response_results(rsp,...) > + Newx(pc,len,unsigned char); > + if (!pc) croak("out of memory"); > + pi = pc; > +-#if OPENSSL_VERSION_NUMBER >= 0x10100003L && > !defined(LIBRESSL_VERSION_NUMBER) > ++#if (OPENSSL_VERSION_NUMBER >= 0x10100000L && > !defined(LIBRESSL_VERSION_NUMBER)) || (LIBRESSL_VERSION_NUMBER >= 0x3050000fL) > + i2d_OCSP_CERTID((OCSP_CERTID > *)OCSP_SINGLERESP_get0_id(sir),&pi); > + #else > + i2d_OCSP_CERTID(sir->certId,&pi);
