On 12/19/20 12:04 PM, Konrad Weihmann wrote:
> 
> 
> On 19.12.20 18:58, Richard Purdie wrote:
>> On Sat, 2020-12-19 at 18:53 +0100, Konrad Weihmann wrote:
>>> On 19.12.20 18:36, Richard Purdie wrote:
>>>>    PACKAGECONFIG[cryptodev-linux] = 
>>>> "enable-devcryptoeng,disable-devcryptoeng,cryptodev-linux,,cryptodev-module"
>>>> +PACKAGECONFIG[no-tls1] = "no-tls1"
>>>> +PACKAGECONFIG[no-tls1_1] = "no-tls1_1"
>>>>    
>>>>    B = "${WORKDIR}/build"
>>>>    do_configure[cleandirs] = "${B}"
>>>> @@ -52,6 +54,10 @@ EXTRA_OECONF_class-nativesdk = 
>>>> "--with-rand-seed=os,devrandom"
>>>>    CFLAGS_append_class-native = " -DOPENSSLDIR=/not/builtin 
>>>> -DENGINESDIR=/not/builtin"
>>>>    CFLAGS_append_class-nativesdk = " -DOPENSSLDIR=/not/builtin 
>>>> -DENGINESDIR=/not/builtin"
>>>>    
>>>> +# Disable deprecated crypto algorithms
>>>> +# Retained for compatibilty - des (curl), dh (python-ssl), dsa (rpm)
>>>> +DEPRECATED_CRYPTO_FLAGS = " no-ssl no-idea no-psk no-rc2 no-rc4 no-rc5 
>>>> no-md2 no-md4 no-srp no-camellia no-bf no-mdc2 no-scrypt no-seed 
>>>> no-siphash no-sm2 no-sm3 no-sm4 no-whirlpool"
>>>> +
>>>   From my perspective this breaks backward compatibility, so I would
>>> rather have them all that as optional PACKAGECONFIG fields (which also
>>> does make it easier for ppl, still relying on one of those algorithms,
>>> for whatever reason, to re-enable them) - with the current approach all
>>> one could do is to override it with a bbappend - and tbh letting ppl
>>> have bbappends for this recipe, doesn't sound like the best idea in the
>>> long run to "enforce" any kind of "security" or "hardening"
>>
>> Having it as a variable does mean you could customise the variable and
>> doesn't mean it has to be done with a bbappend, it can be set from a
>> distro config too.
>>
>> I'm not sure turning each one into a packageconfig is going to be more
>> helpful compared to this in practise...
> 
> I'm not sure I follow, as this is a "hard" assign - if it would (in 
> theory) a ??= assignment, yes then it would be fine. Still that leaves 
> us with a not commonly known variable, while PACKAGECONFIG is more 
> widely accepted in 3rd party layers/distros from my experience.

In the past I had done something similar w/ PACKAGECONFIG, and then had a
comment in the recipe that indicated that certain items were not recommended
with a link to the OpenSSL documentation where it explained that.

It might also be a reasonable idea (security wise, maybe not OE wise) to display
a bb.warn if one of the 'unsafe' crypto algorithms is enabled.

As for someone mentioning that it's unclear if we should be maintaining a list,
in the past there was a list in the OpenSSL documentation.  I would certainly
rely on that list as what should and should not be enabled by default (with
exceptions as appropriate.)

--Mark

>>
>> Cheers,
>>
>> Richard
>>
>>
>>
>> 
>>
-=-=-=-=-=-=-=-=-=-=-=-
Links: You receive all messages sent to this group.
View/Reply Online (#146031): 
https://lists.openembedded.org/g/openembedded-core/message/146031
Mute This Topic: https://lists.openembedded.org/mt/79087117/21656
Group Owner: [email protected]
Unsubscribe: https://lists.openembedded.org/g/openembedded-core/unsub 
[[email protected]]
-=-=-=-=-=-=-=-=-=-=-=-

Reply via email to