11What This Is
22============
33
4- This is a fork of [ OpenSSL] ( https://www.openssl.org ) to enable QUIC. In addition to the
5- website, the official source distribution is at https://github.com/openssl/openssl .
6- The OpenSSL ` README ` can be found at [ README-OpenSSL.md] ( README-OpenSSL.md ) .
4+ This is a fork of [ OpenSSL] ( https://www.openssl.org ) to enable QUIC. In addition
5+ to the website, the official source distribution is at
6+ < https://github.com/openssl/openssl > . The OpenSSL ` README ` can be found at
7+ [ README-OpenSSL.md] ( https://github.com/quictls/openssl/blob/OpenSSL_1_1_1m%2Bquic/README-OpenSSL.md ) .
78
8- This fork adds API that can be used by QUIC implementations for connection
9+ This fork adds APIs that can be used by QUIC implementations for connection
910handshakes. Quoting the IETF Working group
1011[ charter] ( https://datatracker.ietf.org/wg/quic/about/ ) , QUIC is a "UDP-based,
1112stream-multiplexing, encrypted transport protocol." If you don't need QUIC, you
1213should use the official OpenSSL distributions.
1314
14- This API's here are used by Microsoft's
15+ The APIs here are used by Microsoft's
1516[ MsQuic] ( https://github.com/microsoft/msquic ) and Google's
1617[ Chromium QUIC] ( https://chromium.googlesource.com/chromium/src/+/master/net/quic/ )
1718
1819We are not in competition with OpenSSL project. We informed them of
1920our plans to fork the code before we went public. We do not speak for the
2021OpenSSL project, and can only point to a
21- [ blog post] ( https://www.openssl.org/blog/blog/2020/02/17/QUIC-and-OpenSSL/ ) that
22- provides their view of QUIC support.
22+ [ blog post] ( https://www.openssl.org/blog/blog/2020/02/17/QUIC-and-OpenSSL/ ) and
23+ [ openssl-project email] ( https://github.com/quictls/openssl/discussions/54 )
24+ that provides their view of QUIC support.
2325
2426As stated in their blog post, the OpenSSL team is focused on their 3.0 release
25- which is still in alpha , and does not intend to add QUIC functionality to 1.1.x.
26- There is a community need for a QUIC capable TLS library. This fork is intended
27+ (released 2021-09-07) , and does not intend to add QUIC functionality to 1.1.x.
28+ There is a community need for a QUIC- capable TLS library. This fork is intended
2729as stopgap solution to enable higher level frameworks and runtimes to use QUIC
2830with the proven and reliable TLS functionality from OpenSSL. This fork will be
2931maintained until OpenSSL officially provides reasonable support for QUIC
@@ -40,8 +42,8 @@ What about branches?
4042--------------------
4143We don't want to conflict with OpenSSL branch names. Our current plan is to append
4244` +quic ` . Release tags are likely to be the QUIC branch with ` -releaseX ` appended.
43- For example, the OpenSSL tag ` openssl-3.0.0-alpha12 ` would have a branch named
44- ` openssl-3.0.0-alpha12 +quic ` and a release tag of ` openssl-3.0.0-alpha12 +quic-release1 `
45+ For example, the OpenSSL tag ` openssl-3.0.0 ` would have a branch named
46+ ` openssl-3.0.0+quic ` and a release tag of ` openssl-3.0.0+quic-release1 ` .
4547
4648How are you keeping current with OpenSSL?
4749-----------------------------------------
@@ -60,13 +62,14 @@ What about library names?
6062-------------------------
6163Library names will be the same, but will use a different version number. The version
6264numbers for the current OpenSSL libraries are ` 1.1 ` (for the 1.1.0 and 1.1.1 branches)
63- and ` 3 ` (for the to-be- 3.0 branch). We will be prefixing 81 (ASCII for 'Q') to
65+ and ` 3 ` (for the 3.0 branch). We will be prefixing ` 81 ` (ASCII for 'Q') to
6466the version numbers to generate a unique version number.
6567
66- ```
67- libcrypto.so.81.3 libcrypto.so.81.1.1 libcrypto.so.1.1 libcrypto.so.3
68- libssl.so.81.3 libssl.so.81.1.1 libsslo.so.1.1 libssl.so.3
69- ```
68+ - ` libcrypto.so.81.3 ` vs ` libcrypto.so.3 `
69+ - ` libcrypto.so.81.1.1 ` vs ` libcrypto.so.1.1 `
70+ - ` libssl.so.81.3 ` vs ` libssl.so.3 `
71+ - ` libssl.so.81.1.1 ` vs ` libssl.so.1.1 `
72+
7073The SONAME of these libraries are all different, guaranteeing the correct library
7174will be used.
7275
0 commit comments