Could you give your opinion on my patches and commit them if they're fine?

On 17-02-15 15:46:23, Piotr Kubaj wrote:
> Thanks for the feedback. Could you keep me in CC? I'm not subscribed to the 
> list.
> 
> > I don't understand much, your e-mail talks about openssl and you're changing
> > a line afecting boringssl. You need to provide a bit of description about
> > what your patch does and tries to solve, that we'll use as the commit 
> > message.
> 
> Those lines affect BoringSSL and any OpenSSL-like library with 
> OPENSSL_VERSION_NUMBER >= 0x1010000fL. LibreSSL has OPENSSL_VERSION_NUMBER >= 
> 0x1010000fL but version 2.5.1 actually has SSL_CTX_set_ecdh_auto(), so it 
> needs to be excluded from the check.
> 
> > Here this 128 looks a bit magic and will very likely break sooner or
> > later, so if this is an internal value used by libressl, it's better
> > to mention it next to it.
> 
> > Same here.
> 
> It's taken from 
> https://git.openssl.org/?p=openssl.git;a=blob;f=include/openssl/ssl.h;h=f2b6198972736676c39de3799d0901f9ccd467ae;hb=refs/heads/master
> Haproxy uses macros defined in OpenSSL, but not defined in LibreSSL (although 
> the functions itself work). This patch defines those values.
>        
> > Be careful not to introduce useless space changes in your patch like this.
>        
> Corrected in the new patch (attached).
> 
> -- 
>  _______________________________________ 
> / What scoundrel stole the cork from my \
> | lunch?                                |
> |                                       |
> \ -- J. D. Farley                       /
>  --------------------------------------- 
>         \   ^__^
>          \  (oo)\_______
>             (__)\       )\/\
>                 ||----w |
>                 ||     ||

> --- src/ssl_sock.c.orig       2017-02-08 18:08:38 UTC
> +++ src/ssl_sock.c
> @@ -829,10 +829,13 @@ static int ssl_sock_load_ocsp(SSL_CTX *c
>               ocsp = NULL;
>  
>  #ifndef SSL_CTX_get_tlsext_status_cb
> -# define SSL_CTX_get_tlsext_status_cb(ctx, cb) \
> -     *cb = (void (*) (void))ctx->tlsext_status_cb;
> +#ifndef SSL_CTRL_GET_TLSEXT_STATUS_REQ_CB
> +#define SSL_CTRL_GET_TLSEXT_STATUS_REQ_CB 128
>  #endif
> -     SSL_CTX_get_tlsext_status_cb(ctx, &callback);
> +#define SSL_CTX_get_tlsext_status_cb(ctx, cb) \
> +        *cb = SSL_CTX_ctrl(ctx,SSL_CTRL_GET_TLSEXT_STATUS_REQ_CB,0, (void 
> (**)(void))cb)
> +#endif
> +        SSL_CTX_get_tlsext_status_cb(ctx, &callback);
>  
>       if (!callback) {
>               struct ocsp_cbk_arg *cb_arg = calloc(1, sizeof(*cb_arg));
> @@ -858,10 +861,13 @@ static int ssl_sock_load_ocsp(SSL_CTX *c
>               int key_type;
>               EVP_PKEY *pkey;
>  
> -#ifdef SSL_CTX_get_tlsext_status_arg
> -             SSL_CTX_ctrl(ctx, SSL_CTRL_GET_TLSEXT_STATUS_REQ_CB_ARG, 0, 
> &cb_arg);
> +#if defined(SSL_CTX_get_tlsext_status_arg) || (LIBRESSL_VERSION_NUMBER >= 
> 0x2050100fL)
> +#ifndef SSL_CTRL_GET_TLSEXT_STATUS_REQ_CB_ARG
> +#define SSL_CTRL_GET_TLSEXT_STATUS_REQ_CB_ARG 129
> +#endif
> +             SSL_CTX_ctrl(ctx, SSL_CTRL_GET_TLSEXT_STATUS_REQ_CB_ARG, 0, 
> &cb_arg);
>  #else
>               cb_arg = ctx->tlsext_status_arg;
>  #endif




-- 
 _______________________________________ 
/ The plot was designed in a light vein \
| that somehow became varicose.         |
|                                       |
\ -- David Lardner                      /
 --------------------------------------- 
        \   ^__^
         \  (oo)\_______
            (__)\       )\/\
                ||----w |
                ||     ||

Attachment: signature.asc
Description: PGP signature

Reply via email to