Re: [openssl-dev] Missing const EC_KEY *EC_KEY_dup(EC_KEY *src);

2016-07-26 Thread Richard Moore
I meant to ask, should I make tickets for this and the missing DSA_bits()?

Cheers

Rich.

On 24 July 2016 at 21:05, Richard Levitte  wrote:

> In message <
> a62628880fea43fa8505f895c22f0...@usma1ex-dag1mb1.msg.corp.akamai.com> on
> Sun, 24 Jul 2016 17:19:05 +, "Salz, Rich"  said:
>
> rsalz>
> rsalz> > Shouldn't this be  EC_KEY *EC_KEY_dup(const EC_KEY *src);
> rsalz>
> rsalz> I think the reason it is not is because the EC_KEY has an ENGINE*
> and that can't be const.
>
> The pointer to ENGINE will be const, yes, but not the ENGINE content
> itself, as if it was defined like this:
>
> ENGINE * const engine;
>
> What happens is that the ENGINE pointer is copied to the new
> structure, and the ENGINE itself will work perfectly, both in the
> source EC_KEY and the new one.
>
> So there's no actual reason not to have const there.  It does,
> however, mean that we need to add const in a few more places.  Now
> many at all, actually, it took me 5 minutes.  PR coming tomorrow.
>
> Cheers,
> Richard
>
> --
> Richard Levitte levi...@openssl.org
> OpenSSL Project http://www.openssl.org/~levitte/
> --
> openssl-dev mailing list
> To unsubscribe: https://mta.openssl.org/mailman/listinfo/openssl-dev
>
-- 
openssl-dev mailing list
To unsubscribe: https://mta.openssl.org/mailman/listinfo/openssl-dev


Re: [openssl-dev] Missing const EC_KEY *EC_KEY_dup(EC_KEY *src);

2016-07-26 Thread Salz, Rich

> I meant to ask, should I make tickets for this and the missing DSA_bits()?

Tickets.  Or ideally PR with code:)
-- 
openssl-dev mailing list
To unsubscribe: https://mta.openssl.org/mailman/listinfo/openssl-dev


Re: [openssl-dev] Missing const EC_KEY *EC_KEY_dup(EC_KEY *src);

2016-07-24 Thread Richard Levitte
In message 
 on Sun, 
24 Jul 2016 17:19:05 +, "Salz, Rich"  said:

rsalz> 
rsalz> > Shouldn't this be  EC_KEY *EC_KEY_dup(const EC_KEY *src);
rsalz> 
rsalz> I think the reason it is not is because the EC_KEY has an ENGINE* and 
that can't be const.

The pointer to ENGINE will be const, yes, but not the ENGINE content
itself, as if it was defined like this:

ENGINE * const engine;

What happens is that the ENGINE pointer is copied to the new
structure, and the ENGINE itself will work perfectly, both in the
source EC_KEY and the new one.

So there's no actual reason not to have const there.  It does,
however, mean that we need to add const in a few more places.  Now
many at all, actually, it took me 5 minutes.  PR coming tomorrow.

Cheers,
Richard

-- 
Richard Levitte levi...@openssl.org
OpenSSL Project http://www.openssl.org/~levitte/
-- 
openssl-dev mailing list
To unsubscribe: https://mta.openssl.org/mailman/listinfo/openssl-dev


Re: [openssl-dev] Missing const EC_KEY *EC_KEY_dup(EC_KEY *src);

2016-07-24 Thread Salz, Rich

> Shouldn't this be  EC_KEY *EC_KEY_dup(const EC_KEY *src);

I think the reason it is not is because the EC_KEY has an ENGINE* and that 
can't be const.

Sigh, C needs 'mutable' :)
-- 
openssl-dev mailing list
To unsubscribe: https://mta.openssl.org/mailman/listinfo/openssl-dev