(picked the template, some fields are still missing) |
m (→Benefit to Fedora: typo fix: cpryto -> crypto) |
||
(10 intermediate revisions by 2 users not shown) | |||
Line 2: | Line 2: | ||
== Summary == | == Summary == | ||
libcurl in Fedora currently uses the NSS (Network Security Services) library for TLS and cryptography. After implementing this change, libcurl will use OpenSSL | libcurl in Fedora currently uses the NSS (Network Security Services) library for TLS and cryptography. After implementing this change, libcurl will use OpenSSL instead of NSS. | ||
== Owner == | == Owner == | ||
* Name: [[User:kdudka| Kamil Dudka]] | |||
* Email: kdudka@redhat.com | |||
* Release notes owner: N/A | |||
* FESCo shepherd: N/A | |||
* Name: [[User: | * Product: Fedora | ||
* Responsible WG: kdudka | |||
* Email: | |||
* Release notes owner: | |||
* FESCo shepherd: | |||
* Product: | |||
* Responsible WG: | |||
== Current status == | == Current status == | ||
* Targeted release: | * Targeted release: Fedora 27 | ||
* Last updated: <!-- this is an automatic macro — you don't need to change this line --> {{REVISIONYEAR}}-{{REVISIONMONTH}}-{{REVISIONDAY2}} | * Last updated: <!-- this is an automatic macro — you don't need to change this line --> {{REVISIONYEAR}}-{{REVISIONMONTH}}-{{REVISIONDAY2}} | ||
<!-- After the change proposal is accepted by FESCo, tracking bug is created in Bugzilla and linked to this page | <!-- After the change proposal is accepted by FESCo, tracking bug is created in Bugzilla and linked to this page | ||
Line 32: | Line 24: | ||
CLOSED as NEXTRELEASE -> change is completed and verified and will be delivered in next release under development | CLOSED as NEXTRELEASE -> change is completed and verified and will be delivered in next release under development | ||
--> | --> | ||
* Tracker bug: | * Tracker bug: [https://bugzilla.redhat.com/show_bug.cgi?id=1445153 #1445153] | ||
== Detailed Description == | == Detailed Description == | ||
In order to make even smaller Fedora base images, it was proposed to switch | |||
libcurl back to OpenSSL. The Fedora Crypto Consolidation project, which | |||
motivated the switch of libcurl from OpenSSL to NSS ten years ago, is now | |||
deprecated and libcurl is the only package that pulls NSS as its dependency | |||
into the Fedora base image. Hence, by switching libcurl back to OpenSSL, we | |||
could create Fedora base image that contains fewer crypto libraries inside. | |||
== Benefit to Fedora == | == Benefit to Fedora == | ||
Smaller base image, fewer crypto libraries inside. | |||
== Scope == | == Scope == | ||
* Proposal owners: | * Proposal owners: kdudka (will push the following patch: https://src.fedoraproject.org/cgit/rpms/curl.git/commit/?id=7c3b67bb and rebuild curl) | ||
* Other developers: psabata, ignatenko, sgallagh (will help to resolve possible breakages caused by the patch) | |||
* Release engineering: No action from release engineering is needed for this change (libcurl ABI is kept). | |||
* Other developers: | * Policies and guidelines: unaffected | ||
* Trademark approval: not needed | |||
* Release engineering: | |||
* Policies and guidelines: | |||
* Trademark approval: | |||
== Upgrade/compatibility impact == | == Upgrade/compatibility impact == | ||
* Firefox certificate database can no longer be used by (lib)curl-based applications. | |||
* Existing certificate databases need to be dumped to files to be used by (lib)curl. | |||
== How To Test == | == How To Test == | ||
All direct and indirect dependencies of libcurl (including 3rd party SW) should be tested. No special HW is needed, assuming that OpenSSL itself is tested. | |||
== User Experience == | == User Experience == | ||
See Upgrade/compatibility impact above. | |||
== Dependencies == | == Dependencies == | ||
dnf, librepo, systemd, git, etc. | |||
== Contingency Plan == | == Contingency Plan == | ||
* Contingency mechanism: switch libcurl back to NSS | |||
* Contingency mechanism: | * Contingency deadline: Fedora 27 Alpha freeze | ||
* Blocks release? No. | |||
* Contingency deadline: | * Blocks product? No. | ||
* Blocks release? | |||
* Blocks product? | |||
== Documentation == | == Documentation == | ||
Downstream only change. Upstream supports both the libraries. | |||
== Release Notes == | == Release Notes == | ||
libcurl will use OpenSSL for TLS and crypto (instead of NSS). TLS certificates and keys stored in NSS database need to be exported to files for libcurl to be able to load them. | |||
<!-- The Fedora Release Notes inform end-users about what is new in the release. Examples of past release notes are here: http://docs.fedoraproject.org/release-notes/ --> | <!-- The Fedora Release Notes inform end-users about what is new in the release. Examples of past release notes are here: http://docs.fedoraproject.org/release-notes/ --> | ||
<!-- The release notes also help users know how to deal with platform changes such as ABIs/APIs, configuration or data file formats, or upgrade concerns. If there are any such changes involved in this change, indicate them here. A link to upstream documentation will often satisfy this need. This information forms the basis of the release notes edited by the documentation team and shipped with the release. | <!-- The release notes also help users know how to deal with platform changes such as ABIs/APIs, configuration or data file formats, or upgrade concerns. If there are any such changes involved in this change, indicate them here. A link to upstream documentation will often satisfy this need. This information forms the basis of the release notes edited by the documentation team and shipped with the release. | ||
Line 122: | Line 77: | ||
--> | --> | ||
[[Category: | [[Category:ChangeAcceptedF27]] | ||
[[Category:SystemWideChange]] | |||
Latest revision as of 12:21, 4 November 2017
Switch libcurl back to OpenSSL
Summary
libcurl in Fedora currently uses the NSS (Network Security Services) library for TLS and cryptography. After implementing this change, libcurl will use OpenSSL instead of NSS.
Owner
- Name: Kamil Dudka
- Email: kdudka@redhat.com
- Release notes owner: N/A
- FESCo shepherd: N/A
- Product: Fedora
- Responsible WG: kdudka
Current status
- Targeted release: Fedora 27
- Last updated: 2017-11-04
- Tracker bug: #1445153
Detailed Description
In order to make even smaller Fedora base images, it was proposed to switch libcurl back to OpenSSL. The Fedora Crypto Consolidation project, which motivated the switch of libcurl from OpenSSL to NSS ten years ago, is now deprecated and libcurl is the only package that pulls NSS as its dependency into the Fedora base image. Hence, by switching libcurl back to OpenSSL, we could create Fedora base image that contains fewer crypto libraries inside.
Benefit to Fedora
Smaller base image, fewer crypto libraries inside.
Scope
- Proposal owners: kdudka (will push the following patch: https://src.fedoraproject.org/cgit/rpms/curl.git/commit/?id=7c3b67bb and rebuild curl)
- Other developers: psabata, ignatenko, sgallagh (will help to resolve possible breakages caused by the patch)
- Release engineering: No action from release engineering is needed for this change (libcurl ABI is kept).
- Policies and guidelines: unaffected
- Trademark approval: not needed
Upgrade/compatibility impact
- Firefox certificate database can no longer be used by (lib)curl-based applications.
- Existing certificate databases need to be dumped to files to be used by (lib)curl.
How To Test
All direct and indirect dependencies of libcurl (including 3rd party SW) should be tested. No special HW is needed, assuming that OpenSSL itself is tested.
User Experience
See Upgrade/compatibility impact above.
Dependencies
dnf, librepo, systemd, git, etc.
Contingency Plan
- Contingency mechanism: switch libcurl back to NSS
- Contingency deadline: Fedora 27 Alpha freeze
- Blocks release? No.
- Blocks product? No.
Documentation
Downstream only change. Upstream supports both the libraries.
Release Notes
libcurl will use OpenSSL for TLS and crypto (instead of NSS). TLS certificates and keys stored in NSS database need to be exported to files for libcurl to be able to load them.