GV

GeezerVison

The World Wide Web, restored to 800 pixels of glory.

Home|About|Gaming cabinet|Archives|How it works|Starter sites

On this site

  • Sign in
  • ActionsCI/CD and automation
  • CodespacesCloud development environments
  • All Features
  • Documentation
  • Training
  • Certifications
  • Build with Copilot
  • Customize Copilot
  • Integrations
  • Trending repos
  • GitHub Sponsors
  • Developer articles
  • Enterprises

This view

  • Original page
  • New address

GeezerVison is showing github.com — deps: switch openssl to quictls/openssl · nodejs/node@b6285dd

File tree

Expand file treeCollapse file tree
Open diff view settings
Filter options
  • deps/openssl
    • .gitignore
    • openssl
      • CHANGES
      • Configurations
        • 90-team.norelease.conf
      • Configure
      • INSTALL
      • README-OpenSSL.md
      • README.md
      • crypto
        • cversion.c
        • err
          • openssl.txt
        • kdf
          • hkdf.c
      • doc/man3
        • SSL_CIPHER_get_name.pod
        • SSL_CTX_set_quic_method.pod
      • include/openssl
        • crypto.h
        • evp.h
        • opensslv.h
        • ossl_typ.h
        • ssl.h
        • sslerr.h
        • tls1.h
      • ssl
        • build.info
        • s3_msg.c
        • ssl_ciph.c
        • ssl_err.c
        • ssl_lib.c
        • ssl_local.h
        • ssl_quic.c
        • statem
          • extensions.c
          • extensions_clnt.c
          • extensions_srvr.c
          • statem.c
          • statem_clnt.c
          • statem_lib.c
          • statem_local.h
          • statem_quic.c
          • statem_srvr.c
        • tls13_enc.c
      • test
        • evp_extra_test.c
        • rsa_test.c
        • sslapitest.c
        • ssltestlib.c
        • tls13secretstest.c
      • util
        • libssl.num
        • mkdef.pl
        • mktar.sh
        • private.num

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.
Dismiss banner
Expand file treeCollapse file tree
Open diff view settings
Collapse file

‎deps/openssl/.gitignore‎

Copy file name to clipboard
+1Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1 @@
1+
openssl/fuzz/corpora
Collapse file

‎deps/openssl/openssl/CHANGES‎

Copy file name to clipboardExpand all lines: deps/openssl/openssl/CHANGES
+3Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -215,6 +215,9 @@
215215

216216
Changes between 1.1.1c and 1.1.1d [10 Sep 2019]
217217

218+
*) Implement BoringSSL's QUIC API
219+
[Todd Short]
220+
218221
*) Fixed a fork protection issue. OpenSSL 1.1.1 introduced a rewritten random
219222
number generator (RNG). This was intended to include protection in the
220223
event of a fork() system call in order to ensure that the parent and child
Collapse file

‎deps/openssl/openssl/Configurations/90-team.norelease.conf‎

Copy file name to clipboard
+114Lines changed: 114 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,114 @@
1+
## -*- mode: perl; -*-
2+
## Build configuration targets for openssl-team members
3+
4+
my %targets = (
5+
"purify" => {
6+
inherit_from => [ 'BASE_unix' ],
7+
cc => "purify gcc",
8+
CFLAGS => "-g -Wall",
9+
thread_scheme => "(unknown)",
10+
ex_libs => add(" ","-lsocket -lnsl"),
11+
},
12+
"debug" => {
13+
inherit_from => [ 'BASE_unix' ],
14+
cc => "gcc",
15+
cflags => "-DBN_DEBUG -DREF_DEBUG -DCONF_DEBUG -DBN_CTX_DEBUG -DOPENSSL_NO_ASM -ggdb -g2 -Wformat -Wshadow -Wmissing-prototypes -Wmissing-declarations -Werror",
16+
thread_scheme => "(unknown)",
17+
},
18+
"debug-erbridge" => {
19+
inherit_from => [ 'BASE_unix', "x86_64_asm" ],
20+
cc => "gcc",
21+
cflags => combine(join(' ', @gcc_devteam_warn),
22+
"-DBN_DEBUG -DCONF_DEBUG -m64 -DL_ENDIAN -DTERMIO -g",
23+
threads("-D_REENTRANT")),
24+
ex_libs => add(" ","-ldl"),
25+
bn_ops => "SIXTY_FOUR_BIT_LONG",
26+
thread_scheme => "pthreads",
27+
perlasm_scheme => "elf",
28+
dso_scheme => "dlfcn",
29+
shared_target => "linux-shared",
30+
shared_cflag => "-fPIC",
31+
shared_ldflag => "-m64",
32+
shared_extension => ".so.\$(SHLIB_VERSION_NUMBER)",
33+
multilib => "64",
34+
},
35+
"debug-linux-pentium" => {
36+
inherit_from => [ 'BASE_unix', "x86_elf_asm" ],
37+
cc => "gcc",
38+
cflags => combine("-DBN_DEBUG -DREF_DEBUG -DCONF_DEBUG -DBN_CTX_DEBUG -DL_ENDIAN -g -mcpu=pentium -Wall",
39+
threads("-D_REENTRANT")),
40+
ex_libs => add(" ","-ldl"),
41+
bn_ops => "BN_LLONG",
42+
thread_scheme => "pthreads",
43+
dso_scheme => "dlfcn",
44+
},
45+
"debug-linux-ppro" => {
46+
inherit_from => [ 'BASE_unix', "x86_elf_asm" ],
47+
cc => "gcc",
48+
cflags => combine("-DBN_DEBUG -DREF_DEBUG -DCONF_DEBUG -DBN_CTX_DEBUG -DL_ENDIAN -g -mcpu=pentiumpro -Wall",
49+
threads("-D_REENTRANT")),
50+
ex_libs => add(" ","-ldl"),
51+
bn_ops => "BN_LLONG",
52+
thread_scheme => "pthreads",
53+
dso_scheme => "dlfcn",
54+
},
55+
"debug-linux-ia32-aes" => {
56+
inherit_from => [ 'BASE_unix' ],
57+
cc => "gcc",
58+
cflags => combine("-DL_ENDIAN -O3 -fomit-frame-pointer -Wall",
59+
threads("-D_REENTRANT")),
60+
ex_libs => add(" ","-ldl"),
61+
bn_ops => "BN_LLONG",
62+
cpuid_asm_src => "x86cpuid.s",
63+
bn_asm_src => "bn-586.s co-586.s x86-mont.s",
64+
des_asm_src => "des-586.s crypt586.s",
65+
aes_asm_src => "aes_x86core.s aes_cbc.s aesni-x86.s",
66+
bf_asm_src => "bf-586.s",
67+
md5_asm_src => "md5-586.s",
68+
sha1_asm_src => "sha1-586.s sha256-586.s sha512-586.s",
69+
cast_asm_src => "cast-586.s",
70+
rc4_asm_src => "rc4-586.s",
71+
rmd160_asm_src => "rmd-586.s",
72+
rc5_asm_src => "rc5-586.s",
73+
wp_asm_src => "wp_block.s wp-mmx.s",
74+
modes_asm_src => "ghash-x86.s",
75+
padlock_asm_src => "e_padlock-x86.s",
76+
thread_scheme => "pthreads",
77+
perlasm_scheme => "elf",
78+
dso_scheme => "dlfcn",
79+
shared_target => "linux-shared",
80+
shared_cflag => "-fPIC",
81+
shared_extension => ".so.\$(SHLIB_VERSION_NUMBER)",
82+
},
83+
"debug-test-64-clang" => {
84+
inherit_from => [ 'BASE_unix', "x86_64_asm" ],
85+
cc => "clang",
86+
cflags => combine(join(' ', @gcc_devteam_warn),
87+
"-Wno-error=overlength-strings -Wno-error=extended-offsetof -Wno-error=language-extension-token -Wno-error=unused-const-variable -Wstrict-overflow -Qunused-arguments -DBN_DEBUG -DCONF_DEBUG -DDEBUG_UNUSED -g3 -O3 -pipe",
88+
threads("${BSDthreads}")),
89+
bn_ops => "SIXTY_FOUR_BIT_LONG",
90+
thread_scheme => "pthreads",
91+
perlasm_scheme => "elf",
92+
dso_scheme => "dlfcn",
93+
shared_target => "bsd-gcc-shared",
94+
shared_cflag => "-fPIC",
95+
shared_extension => ".so.\$(SHLIB_VERSION_NUMBER)",
96+
},
97+
"darwin64-debug-test-64-clang" => {
98+
inherit_from => [ 'BASE_unix', "x86_64_asm" ],
99+
cc => "clang",
100+
cflags => combine("-arch x86_64 -DL_ENDIAN",
101+
join(' ', @gcc_devteam_warn),
102+
"-Wno-error=overlength-strings -Wno-error=extended-offsetof -Wno-error=language-extension-token -Wno-error=unused-const-variable -Wstrict-overflow -Qunused-arguments -DBN_DEBUG -DCONF_DEBUG -DDEBUG_UNUSED -g3 -O3 -pipe",
103+
threads("${BSDthreads}")),
104+
sys_id => "MACOSX",
105+
bn_ops => "SIXTY_FOUR_BIT_LONG",
106+
thread_scheme => "pthreads",
107+
perlasm_scheme => "macosx",
108+
dso_scheme => "dlfcn",
109+
shared_target => "darwin-shared",
110+
shared_cflag => "-fPIC -fno-common",
111+
shared_ldflag => "-arch x86_64 -dynamiclib",
112+
shared_extension => ".\$(SHLIB_VERSION_NUMBER).dylib",
113+
},
114+
);
Collapse file

‎deps/openssl/openssl/Configure‎

Copy file name to clipboardExpand all lines: deps/openssl/openssl/Configure
+3Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -401,6 +401,7 @@ my @disablables = (
401401
"poly1305",
402402
"posix-io",
403403
"psk",
404+
"quic",
404405
"rc2",
405406
"rc4",
406407
"rc5",
@@ -514,6 +515,8 @@ my @disable_cascades = (
514515
"comp" => [ "zlib" ],
515516
"ec" => [ "tls1_3", "sm2" ],
516517
"sm3" => [ "sm2" ],
518+
"tls1_3" => [ "quic" ],
519+
517520
sub { !$disabled{"unit-test"} } => [ "heartbeats" ],
518521

519522
sub { !$disabled{"msan"} } => [ "asm" ],
Collapse file

‎deps/openssl/openssl/INSTALL‎

Copy file name to clipboardExpand all lines: deps/openssl/openssl/INSTALL
+3Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -457,6 +457,9 @@
457457
no-psk
458458
Don't build support for Pre-Shared Key based ciphersuites.
459459

460+
no-quic
461+
Don't build with support for QUIC.
462+
460463
no-rdrand
461464
Don't use hardware RDRAND capabilities.
462465

Collapse file

‎deps/openssl/openssl/README-OpenSSL.md‎

Copy file name to clipboard
+93Lines changed: 93 additions & 0 deletions
  • Display the source diff
  • Display the rich diff
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,93 @@
1+
2+
OpenSSL 1.1.1j 16 Feb 2021
3+
4+
Copyright (c) 1998-2020 The OpenSSL Project
5+
Copyright (c) 1995-1998 Eric A. Young, Tim J. Hudson
6+
All rights reserved.
7+
8+
DESCRIPTION
9+
-----------
10+
11+
The OpenSSL Project is a collaborative effort to develop a robust,
12+
commercial-grade, fully featured, and Open Source toolkit implementing the
13+
Transport Layer Security (TLS) protocols (including SSLv3) as well as a
14+
full-strength general purpose cryptographic library.
15+
16+
OpenSSL is descended from the SSLeay library developed by Eric A. Young
17+
and Tim J. Hudson. The OpenSSL toolkit is licensed under a dual-license (the
18+
OpenSSL license plus the SSLeay license), which means that you are free to
19+
get and use it for commercial and non-commercial purposes as long as you
20+
fulfill the conditions of both licenses.
21+
22+
OVERVIEW
23+
--------
24+
25+
The OpenSSL toolkit includes:
26+
27+
libssl (with platform specific naming):
28+
Provides the client and server-side implementations for SSLv3 and TLS.
29+
30+
libcrypto (with platform specific naming):
31+
Provides general cryptographic and X.509 support needed by SSL/TLS but
32+
not logically part of it.
33+
34+
openssl:
35+
A command line tool that can be used for:
36+
Creation of key parameters
37+
Creation of X.509 certificates, CSRs and CRLs
38+
Calculation of message digests
39+
Encryption and decryption
40+
SSL/TLS client and server tests
41+
Handling of S/MIME signed or encrypted mail
42+
And more...
43+
44+
INSTALLATION
45+
------------
46+
47+
See the appropriate file:
48+
INSTALL Linux, Unix, Windows, OpenVMS, ...
49+
NOTES.* INSTALL addendums for different platforms
50+
51+
SUPPORT
52+
-------
53+
54+
See the OpenSSL website www.openssl.org for details on how to obtain
55+
commercial technical support. Free community support is available through the
56+
openssl-users email list (see
57+
https://www.openssl.org/community/mailinglists.html for further details).
58+
59+
If you have any problems with OpenSSL then please take the following steps
60+
first:
61+
62+
- Download the latest version from the repository
63+
to see if the problem has already been addressed
64+
- Configure with no-asm
65+
- Remove compiler optimization flags
66+
67+
If you wish to report a bug then please include the following information
68+
and create an issue on GitHub:
69+
70+
- OpenSSL version: output of 'openssl version -a'
71+
- Configuration data: output of 'perl configdata.pm --dump'
72+
- OS Name, Version, Hardware platform
73+
- Compiler Details (name, version)
74+
- Application Details (name, version)
75+
- Problem Description (steps that will reproduce the problem, if known)
76+
- Stack Traceback (if the application dumps core)
77+
78+
Just because something doesn't work the way you expect does not mean it
79+
is necessarily a bug in OpenSSL. Use the openssl-users email list for this type
80+
of query.
81+
82+
HOW TO CONTRIBUTE TO OpenSSL
83+
----------------------------
84+
85+
See CONTRIBUTING
86+
87+
LEGALITIES
88+
----------
89+
90+
A number of nations restrict the use or export of cryptography. If you
91+
are potentially subject to such restrictions you should seek competent
92+
professional legal advice before attempting to develop or distribute
93+
cryptographic code.
Collapse file

‎deps/openssl/openssl/README.md‎

Copy file name to clipboard
+102Lines changed: 102 additions & 0 deletions
  • Display the source diff
  • Display the rich diff
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,102 @@
1+
What This Is
2+
============
3+
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).
7+
8+
This fork adds API that can be used by QUIC implementations for connection
9+
handshakes. Quoting the IETF Working group
10+
[charter](https://datatracker.ietf.org/wg/quic/about/), QUIC is a "UDP-based,
11+
stream-multiplexing, encrypted transport protocol." If you don't need QUIC, you
12+
should use the official OpenSSL distributions.
13+
14+
This API's here are used by Microsoft's
15+
[MsQuic](https://github.com/microsoft/msquic) and Google's
16+
[Chromium QUIC](https://chromium.googlesource.com/chromium/src/+/master/net/quic/)
17+
18+
We are not in competition with OpenSSL project. We informed them of
19+
our plans to fork the code before we went public. We do not speak for the
20+
OpenSSL 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.
23+
24+
As 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+
as stopgap solution to enable higher level frameworks and runtimes to use QUIC
28+
with the proven and reliable TLS functionality from OpenSSL. This fork will be
29+
maintained until OpenSSL officially provides reasonable support for QUIC
30+
implementations.
31+
32+
This fork can be considered a supported version of
33+
[OpenSSL PR 8797](https://github.com/openssl/openssl/pull/8797).
34+
We will endeavor to track OpenSSL releases within a day or so, and there is an
35+
item below about how we'll follow their tagging.
36+
37+
On to the questions and answers.
38+
39+
What about branches?
40+
--------------------
41+
We don't want to conflict with OpenSSL branch names. Our current plan is to append
42+
`+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+
46+
How are you keeping current with OpenSSL?
47+
-----------------------------------------
48+
(In other words, "What about rebasing?")
49+
50+
Our plan it to always rebase on top of an upstream release tag. In particular:
51+
- The changes for QUIC will always be at the tip of the branch -- you will know what
52+
is from the original OpenSSL and what is for QUIC.
53+
- New versions are quickly created once upstream creates a new tag.
54+
- The use of git commands (such as "cherry") can be used to ensure that all changes
55+
have moved forward with minimal or no changes. You will be able to see "QUIC: Add X"
56+
on all branches and the commit itself will be nearly identical on all branches, and
57+
any changes to that can be easily identified.
58+
59+
What about library names?
60+
-------------------------
61+
Library names will be the same, but will use a different version number. The version
62+
numbers 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
64+
the version numbers to generate a unique version number.
65+
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+
```
70+
The SONAME of these libraries are all different, guaranteeing the correct library
71+
will be used.
72+
73+
...and the executable?
74+
----------------------
75+
We currently do not have any plans to change the name, mainly because we
76+
haven't made any changes there. If you see a need, please open an issue.
77+
78+
The `openssl version` command will report that it is `+quic` enabled.
79+
80+
...and FIPS?
81+
------------
82+
We are not doing anything with FIPS. This is actually good news: you should
83+
be able to load the OpenSSL 3.0 FIPS module into an application built against
84+
this fork and everything should Just Work™.
85+
86+
How can I contribute?
87+
---------------------
88+
We want any code here to be acceptable to OpenSSL. This means that all contributors
89+
must have signed the appropriate
90+
[contributor license agreements](https://www.openssl.org/policies/cla.html). We
91+
will not ask for copies of any paperwork, you just need to tell us that you've
92+
done so (and we might verify with OpenSSL). We are only interested in making it
93+
easier and better for at least the mentioned QUIC implementations to use a variant
94+
of OpenSSL. If you have a pull request that changes the TLS protocol, or adds
95+
assembly support for a new CPU, or otherwise is not specific to enabling QUIC,
96+
please contribute that to OpenSSL. This fork is intended to be a clean extension
97+
to OpenSSL, with the deltas being specific to QUIC.
98+
99+
Who are you?
100+
------------
101+
This is a collaborative effort between [Akamai](https://www.akamai.com) and
102+
[Microsoft](https://www.microsoft.com). We welcome anyone to contribute!
Collapse file

‎deps/openssl/openssl/crypto/cversion.c‎

Copy file name to clipboardExpand all lines: deps/openssl/openssl/crypto/cversion.c
+4Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -38,6 +38,10 @@ const char *OpenSSL_version(int t)
3838
return "ENGINESDIR: \"" ENGINESDIR "\"";
3939
#else
4040
return "ENGINESDIR: N/A";
41+
#endif
42+
#ifndef OPENSSL_NO_QUIC
43+
case OPENSSL_INFO_QUIC:
44+
return "QUIC";
4145
#endif
4246
}
4347
return "not available";

0 commit comments

Comments
0 (0)
You are visitor 01402520 — GeezerVison does not store the pages you look up.
Best viewed with Netscape Navigator 4.7 or Internet Explorer 6 at 800×600. No cookies required.