implement dupctx for aes_WRAP methods
[openssl.git] / README.md
index 98a07f7f701cec2db3ad85cea7fac69be4d9ca2f..cc7acd8154a60629338a3eb36154a016f5992ef4 100644 (file)
--- a/README.md
+++ b/README.md
@@ -1,13 +1,11 @@
-[![openssl logo][]][www.openssl.org]
-
-[![travis badge][]][travis jobs]
-[![appveyor badge][]][appveyor jobs]
-
-
-
 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
@@ -17,8 +15,7 @@ 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][].
-
+The official Home Page of the OpenSSL Project is [www.openssl.org].
 
 Table of Contents
 =================
@@ -38,7 +35,7 @@ Overview
 The OpenSSL toolkit includes:
 
 - **libssl**
-  an implementation of all TLS protocol versions up to TLSv1.3 ([RFC 8446][]).
+  an implementation of all TLS protocol versions up to TLSv1.3 ([RFC 8446]).
 
 - **libcrypto**
   a full-strength general purpose cryptographic library. It constitutes the
@@ -47,13 +44,13 @@ The OpenSSL toolkit includes:
 - **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...
+  - 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
 ========
@@ -66,11 +63,10 @@ Source code tarballs of the official releases can be downloaded from
 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
+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
 ---------------------------
 
@@ -79,29 +75,28 @@ 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][],
+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
+    git clone git://git.openssl.org/openssl.git
 
 or from the GitHub mirror using
 
-        git clone https://github.com/openssl/openssl.git
+    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
+    git clone https://github.com/yourname/openssl.git
 
-This is necessary, because all development of OpenSSL nowadays is done via
+This is necessary because all development of OpenSSL nowadays is done via
 GitHub pull requests. For more details, see [Contributing](#contributing).
 
-
 Build and Install
 =================
 
@@ -110,17 +105,16 @@ detailed instructions about building and installing OpenSSL. For some
 platforms, the installation instructions are amended by a platform specific
 document.
 
- * [NOTES.ANDROID](NOTES.ANDROID)
- * [NOTES.DJGPP](NOTES.DJGPP)
- * [NOTES.PERL](NOTES.PERL)
- * [NOTES.UNIX](NOTES.UNIX)
- * [NOTES.VALGRIND](NOTES.VALGRIND)
- * [NOTES.VMS](NOTES.VMS)
- * [NOTES.WIN](NOTES.WIN)
+ * [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, as well as
-known issues are available on the OpenSSL
-[wiki](https://wiki.openssl.org/index.php/OpenSSL_3.0).
+Specific notes on upgrading to OpenSSL 3.0 from previous versions can be found
+in the [migration_guide(7ossl)] manual page.
 
 Documentation
 =============
@@ -132,13 +126,14 @@ 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.
+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
 =======
@@ -147,13 +142,13 @@ 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](LICENSE) file for more details.
+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.
+your requirement. See the [SUPPORT](SUPPORT.md) file for more details.
 
 Contributing
 ============
@@ -161,86 +156,69 @@ Contributing
 If you are interested and willing to contribute to the OpenSSL project,
 please take a look at the [CONTRIBUTING](CONTRIBUTING.md) file.
 
-Since 2016, development takes place in public on the GitHub open source
-platform. The OpenSSL Project Pages at [openssl.github.io][] are a
-valuable source of information if you want to get familiar with our
-development process on GitHub.
-
-
 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
+potentially subject to such restrictions, you should seek legal advice before
 attempting to develop or distribute cryptographic code.
 
-
 Copyright
 =========
 
-Copyright (c) 1998-2020 The OpenSSL Project
+Copyright (c) 1998-2023 The OpenSSL Project
 
 Copyright (c) 1995-1998 Eric A. Young, Tim J. Hudson
 
 All rights reserved.
 
-
 <!-- Links  -->
 
 [www.openssl.org]:
-    https://www.openssl.org
+    <https://www.openssl.org>
     "OpenSSL Homepage"
 
 [git.openssl.org]:
-    https://git.openssl.org
+    <https://git.openssl.org>
     "OpenSSL Git Repository"
 
 [git.openssl.org]:
-    https://git.openssl.org
+    <https://git.openssl.org>
     "OpenSSL Git Repository"
 
 [github.com/openssl/openssl]:
-    https://github.com/openssl/openssl
+    <https://github.com/openssl/openssl>
     "OpenSSL GitHub Mirror"
 
-[openssl.github.io]:
-    https://mspncp.github.io
-    "OpenSSL Project Pages"
-
 [wiki.openssl.org]:
-    https://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
-
+     <https://tools.ietf.org/html/rfc8446>
 
 <!-- Logos and Badges -->
-<!--
-  Note: The security token for the appveyor badge (the random number in
-  the URL below) was obtained for the mspncp/openssl project.
-  It needs to be replaced by the correct token by some core member
-  (@levitte, @mattcaswell?). It can be obtained for project members at
-  https://ci.appveyor.com/project/openssl/openssl/settings/badges.
--->
 
 [openssl logo]:
     doc/images/openssl.svg
     "OpenSSL Logo"
 
-[travis badge]:
-    https://travis-ci.org/openssl/openssl.svg?branch=master
-    "Travis Build Status"
+[github actions ci badge]:
+    <https://github.com/openssl/openssl/workflows/GitHub%20CI/badge.svg>
+    "GitHub Actions CI Status"
 
-[travis jobs]:
-    https://travis-ci.org/openssl/openssl
-    "Travis Jobs"
+[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/ikn2l4u1xsume63u/branch/master?svg=true
+    <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
+    <https://ci.appveyor.com/project/openssl/openssl/branch/master>
     "AppVeyor Jobs"