forked from openssl/openssl
-
Notifications
You must be signed in to change notification settings - Fork 53
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Openssl 3.0.15+quic #171
Merged
tmshort
merged 67 commits into
quictls:openssl-3.0.15+quic
from
tmshort:openssl-3.0.15+quic
Sep 12, 2024
Merged
Openssl 3.0.15+quic #171
Changes from all commits
Commits
Show all changes
67 commits
Select commit
Hold shift + click to select a range
2af27c0
QUIC: Add support for BoringSSL QUIC APIs
xl32 7d2f15b
QUIC: New method to get QUIC secret length
tmshort ac5c184
QUIC: Make temp secret names less confusing
tmshort ef0b5b4
QUIC: Move QUIC transport params to encrypted extensions
tmshort 22dc5ae
QUIC: Use proper secrets for handshake
tmshort e72b5a3
QUIC: Handle partial handshake messages
tmshort 78660a2
QUIC: Fix duplicate word in docs
tmshort fa402ff
QUIC: Fix quic_transport constructors/parsers
tmshort 13c25c1
QUIC: Reset init state in SSL_process_quic_post_handshake()
tmshort a79c239
QUIC: Don't process an incomplete message
tmshort d7cc415
QUIC: Quick fix: s2c to c2s for early secret
tmshort a934412
QUIC: Add client early traffic secret storage
tmshort c30bad0
QUIC: Add OPENSSL_NO_QUIC wrapper
tmshort a2c1436
QUIC: Correctly disable middlebox compat
tmshort b59eded
QUIC: Move QUIC code out of tls13_change_cipher_state()
tmshort 13d3b7d
QUIC: Tweeks to quic_change_cipher_state()
tmshort 47e3daa
QUIC: Add support for more secrets
tmshort 6664ef8
QUIC: Fix resumption secret
tmshort ffd63d9
QUIC: Handle EndOfEarlyData and MaxEarlyData
tmshort dbdba85
QUIC: Fall-through for 0RTT
tmshort f7b2e9a
QUIC: Some cleanup for the main QUIC changes
kaduk c3ff5bb
QUIC: Prevent KeyUpdate for QUIC
kaduk e977ac3
QUIC: Test KeyUpdate rejection
kaduk 3e992ce
QUIC: Buffer all provided quic data
kaduk 997505a
QUIC: Enforce consistent encryption level for handshake messages
kaduk 5e14e95
QUIC: add v1 quic_transport_parameters
tmshort fe7c167
QUIC: return success when no post-handshake data
tmshort 68c0536
QUIC: __owur makes no sense for void return values
kaduk de9f388
QUIC: remove SSL_R_BAD_DATA_LENGTH (unused)
tmshort 0cbcf7f
QUIC: Update shared library version
xl32 6ca4798
QUIC: Swap around README files
tmshort 63011ea
QUIC: Fix 3.0.0 GitHub CI
tmshort 9de82cf
QUIC: SSLerr() -> ERR_raise(ERR_LIB_SSL)
tmshort ab26f97
QUIC: Add compile/run-time checking for QUIC
tmshort 468e54b
QUIC: Add early data support (#11)
tatsuhiro-t 40c82b1
QUIC: Make SSL_provide_quic_data accept 0 length data (#13)
tatsuhiro-t 07803ed
QUIC: Process multiple post-handshake messages in a single call (#16)
tatsuhiro-t 5d9edd6
QUIC: Tighten up some language in SSL_CTX_set_quic_method.pod (#18)
kaduk 5b29aaa
QUIC: Fix typo in README.md (#19)
NanXiao 92319a4
QUIC: Fix CI (#20)
tmshort 7d97945
QUIC: Break up header/body processing
tmshort bf5bf43
QUIC: Fix make doc-nits
tmshort de05c52
QUIC: Fix make md-nits
tmshort 263c2e2
QUIC: Check for FIPS checksum changes
tmshort 546959f
QUIC: Don't muck with FIPS checksums
tmshort 6ac2b94
QUIC: README.md fixups
tmshort 3234ba5
QUIC: Update RFC references
tmshort f691d38
QUIC: revert white-space change
tmshort eca4f12
QUIC: update copyrights
tmshort c649270
QUIC: update SSL_provide_quic_data() documentation
kaduk 0bd0404
QUIC: expound on what DoS attacks QUIC avoids
kaduk 5b73481
QUIC: remove SSL_get_current_cipher() reference
kaduk 413b8be
QUIC: use SSL_IS_QUIC() in more places
kaduk 971bbdb
QUIC: Error when non-empty session_id in CH (fixes #29)
tmshort 265d25e
QUIC: Update SSL_clear() to clear quic data
tmshort 4a134d7
QUIC: Better SSL_clear()
tmshort 6d93aff
QUIC: Update README
tmshort 9c84073
QUIC: Update README.md for 3.0.7
tmshort 9fb9376
QUIC: Fix extension test
tmshort 745ca1d
QUIC: Update README.md for 3.0.8
tmshort 189ee35
QUIC: Update README.md for OpenSSL 3.0.9
wbl 62d3750
QUIC: Update README.md for 3.0.10
tmshort a3b565e
QUIC: Fix md-nits
tmshort 0936b26
QUIC: Cleanup quic tests
tmshort 0952804
QUIC: Update MD files for 3.0.13
tmshort e37f050
QUIC: Fix md-nits
xl32 910d4b7
Update md files for 3.0.15
tmshort File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,224 @@ | ||
Welcome to the OpenSSL Project | ||
============================== | ||
|
||
[![openssl logo]][www.openssl.org] | ||
|
||
[![github actions ci badge]][github actions ci] | ||
[![appveyor badge]][appveyor jobs] | ||
|
||
OpenSSL is a robust, commercial-grade, full-featured Open Source Toolkit | ||
for the Transport Layer Security (TLS) protocol formerly known as the | ||
Secure Sockets Layer (SSL) protocol. The protocol implementation is based | ||
on a full-strength general purpose cryptographic library, which can also | ||
be used stand-alone. | ||
|
||
OpenSSL is descended from the SSLeay library developed by Eric A. Young | ||
and Tim J. Hudson. | ||
|
||
The official Home Page of the OpenSSL Project is [www.openssl.org]. | ||
|
||
Table of Contents | ||
================= | ||
|
||
- [Overview](#overview) | ||
- [Download](#download) | ||
- [Build and Install](#build-and-install) | ||
- [Documentation](#documentation) | ||
- [License](#license) | ||
- [Support](#support) | ||
- [Contributing](#contributing) | ||
- [Legalities](#legalities) | ||
|
||
Overview | ||
======== | ||
|
||
The OpenSSL toolkit includes: | ||
|
||
- **libssl** | ||
an implementation of all TLS protocol versions up to TLSv1.3 ([RFC 8446]). | ||
|
||
- **libcrypto** | ||
a full-strength general purpose cryptographic library. It constitutes the | ||
basis of the TLS implementation, but can also be used independently. | ||
|
||
- **openssl** | ||
the OpenSSL command line tool, a swiss army knife for cryptographic tasks, | ||
testing and analyzing. It can be used for | ||
- creation of key parameters | ||
- creation of X.509 certificates, CSRs and CRLs | ||
- calculation of message digests | ||
- encryption and decryption | ||
- SSL/TLS client and server tests | ||
- handling of S/MIME signed or encrypted mail | ||
- and more... | ||
|
||
Download | ||
======== | ||
|
||
For Production Use | ||
------------------ | ||
|
||
Source code tarballs of the official releases can be downloaded from | ||
[www.openssl.org/source](https://www.openssl.org/source). | ||
The OpenSSL project does not distribute the toolkit in binary form. | ||
|
||
However, for a large variety of operating systems precompiled versions | ||
of the OpenSSL toolkit are available. In particular on Linux and other | ||
Unix operating systems it is normally recommended to link against the | ||
precompiled shared libraries provided by the distributor or vendor. | ||
|
||
For Testing and Development | ||
--------------------------- | ||
|
||
Although testing and development could in theory also be done using | ||
the source tarballs, having a local copy of the git repository with | ||
the entire project history gives you much more insight into the | ||
code base. | ||
|
||
The official OpenSSL Git Repository is located at [git.openssl.org]. | ||
There is a GitHub mirror of the repository at [github.com/openssl/openssl], | ||
which is updated automatically from the former on every commit. | ||
|
||
A local copy of the Git Repository can be obtained by cloning it from | ||
the original OpenSSL repository using | ||
|
||
git clone git://git.openssl.org/openssl.git | ||
|
||
or from the GitHub mirror using | ||
|
||
git clone https://github.com/openssl/openssl.git | ||
|
||
If you intend to contribute to OpenSSL, either to fix bugs or contribute | ||
new features, you need to fork the OpenSSL repository openssl/openssl on | ||
GitHub and clone your public fork instead. | ||
|
||
git clone https://github.com/yourname/openssl.git | ||
|
||
This is necessary, because all development of OpenSSL nowadays is done via | ||
GitHub pull requests. For more details, see [Contributing](#contributing). | ||
|
||
Build and Install | ||
================= | ||
|
||
After obtaining the Source, have a look at the [INSTALL](INSTALL.md) file for | ||
detailed instructions about building and installing OpenSSL. For some | ||
platforms, the installation instructions are amended by a platform specific | ||
document. | ||
|
||
* [Notes for UNIX-like platforms](NOTES-UNIX.md) | ||
* [Notes for Android platforms](NOTES-ANDROID.md) | ||
* [Notes for Windows platforms](NOTES-WINDOWS.md) | ||
* [Notes for the DOS platform with DJGPP](NOTES-DJGPP.md) | ||
* [Notes for the OpenVMS platform](NOTES-VMS.md) | ||
* [Notes on Perl](NOTES-PERL.md) | ||
* [Notes on Valgrind](NOTES-VALGRIND.md) | ||
|
||
Specific notes on upgrading to OpenSSL 3.0 from previous versions can be found | ||
in the [migration_guide(7ossl)] manual page. | ||
|
||
Documentation | ||
============= | ||
|
||
Manual Pages | ||
------------ | ||
|
||
The manual pages for the master branch and all current stable releases are | ||
available online. | ||
|
||
- [OpenSSL master](https://www.openssl.org/docs/manmaster) | ||
- [OpenSSL 3.0](https://www.openssl.org/docs/man3.0) | ||
- [OpenSSL 1.1.1](https://www.openssl.org/docs/man1.1.1) | ||
|
||
Wiki | ||
---- | ||
|
||
There is a Wiki at [wiki.openssl.org] which is currently not very active. | ||
It contains a lot of useful information, not all of which is up to date. | ||
|
||
License | ||
======= | ||
|
||
OpenSSL is licensed under the Apache License 2.0, which means that | ||
you are free to get and use it for commercial and non-commercial | ||
purposes as long as you fulfill its conditions. | ||
|
||
See the [LICENSE.txt](LICENSE.txt) file for more details. | ||
|
||
Support | ||
======= | ||
|
||
There are various ways to get in touch. The correct channel depends on | ||
your requirement. see the [SUPPORT](SUPPORT.md) file for more details. | ||
|
||
Contributing | ||
============ | ||
|
||
If you are interested and willing to contribute to the OpenSSL project, | ||
please take a look at the [CONTRIBUTING](CONTRIBUTING.md) file. | ||
|
||
Legalities | ||
========== | ||
|
||
A number of nations restrict the use or export of cryptography. If you are | ||
potentially subject to such restrictions you should seek legal advice before | ||
attempting to develop or distribute cryptographic code. | ||
|
||
Copyright | ||
========= | ||
|
||
Copyright (c) 1998-2024 The OpenSSL Project | ||
|
||
Copyright (c) 1995-1998 Eric A. Young, Tim J. Hudson | ||
|
||
All rights reserved. | ||
|
||
<!-- Links --> | ||
|
||
[www.openssl.org]: | ||
<https://www.openssl.org> | ||
"OpenSSL Homepage" | ||
|
||
[git.openssl.org]: | ||
<https://git.openssl.org> | ||
"OpenSSL Git Repository" | ||
|
||
[git.openssl.org]: | ||
<https://git.openssl.org> | ||
"OpenSSL Git Repository" | ||
|
||
[github.com/openssl/openssl]: | ||
<https://github.com/openssl/openssl> | ||
"OpenSSL GitHub Mirror" | ||
|
||
[wiki.openssl.org]: | ||
<https://wiki.openssl.org> | ||
"OpenSSL Wiki" | ||
|
||
[migration_guide(7ossl)]: | ||
<https://www.openssl.org/docs/man3.0/man7/migration_guide.html> | ||
"OpenSSL Migration Guide" | ||
|
||
[RFC 8446]: | ||
<https://tools.ietf.org/html/rfc8446> | ||
|
||
<!-- Logos and Badges --> | ||
|
||
[openssl logo]: | ||
doc/images/openssl.svg | ||
"OpenSSL Logo" | ||
|
||
[github actions ci badge]: | ||
<https://github.com/openssl/openssl/workflows/GitHub%20CI/badge.svg> | ||
"GitHub Actions CI Status" | ||
|
||
[github actions ci]: | ||
<https://github.com/openssl/openssl/actions?query=workflow%3A%22GitHub+CI%22> | ||
"GitHub Actions CI" | ||
|
||
[appveyor badge]: | ||
<https://ci.appveyor.com/api/projects/status/8e10o7xfrg73v98f/branch/master?svg=true> | ||
"AppVeyor Build Status" | ||
|
||
[appveyor jobs]: | ||
<https://ci.appveyor.com/project/openssl/openssl/branch/master> | ||
"AppVeyor Jobs" |
Oops, something went wrong.
Oops, something went wrong.
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
It's not clear this test is doing much for us anymore, and isn't redundant with above
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
It is pointless for us.