| Summary: | As a developer, I want a global variable exist for choosing the default SSL/TLS provider. | ||
|---|---|---|---|
| Product: | [Build System, Metadata & Runtime] OE-Core | Reporter: | Ming Liu <liu.ming50> |
| Component: | core | Assignee: | Jussi Kukkonen <jku> |
| Status: | RESOLVED WONTFIX | QA Contact: | |
| Severity: | enhancement | ||
| Priority: | Medium | CC: | jku, meta.mr.watcher, meta.watcher, ross.burton |
| Version: | 2.3 | ||
| Target Milestone: | 2.4 | ||
| Hardware: | x86 | ||
| OS: | Multiple | ||
| Whiteboard: | |||
| OS type for building Yocto: | --- | Type of Regression: | --- |
| Verified: | Documentation change: | Don't know | |
|
Description
Ming Liu
2016-03-29 11:02:16 UTC
The idea has enough merit for trying it, I'd say. This patch started a related discussion in February: http://lists.openembedded.org/pipermail/openembedded-core/2016-February/117193.html Some points to consider: * Some uses of e.g. openssl are not for TLS/SSL but other crypto features * Some projects do not support multiple TLS implementations and "manually patching them" to do so sounds like massive amount of work and a very bad idea from a security point of view. The best we can do might be just a distro-wide suggestion: "if recipes can use $CRYPTO_X, they should do so". In some cases that would mean you only get the crypto implementation you want, in others you might still end up with multiple ones -- this is still something you'd have to catch in your license review -- but at least you wouldn't need to modify loads of individual PACKAGECONFIGs to achieve this. As a sidenote, avoiding openssl because of license reasons may lead you to use a _very_ old version of nettle as gnutls dependency (if you also happen to avoid LGPLv3). Considering the phase of 2.2, it seems fair to admit this won't happen in this release. Trying again for 2.3. Some observations: - OpenSSL is moving away from the custom license with adverting clause, and towards the Apache license. - gnutls and openssl are not API-compatible. - Many upstreams only support one or the other, complicated by OpenSSL 1.1 having a different API to OpenSSL 1.0. I think that it's best to continue accepting patches to add PACKAGECONFIG options for recipes that support multiple crypto providers, but the ideal of having a global "crypto provider" variable just isn't possible. |