3 Commits
Author SHA1 Message Date
David Benjamin 33d1049b1f Switch the license to Apache 2.0, matching OpenSSL upstream
We use the standard Apache 2.0 file header, described in "APPENDIX: How
to apply the Apache License to your work."

This was primarily automated by running:

  git ls-tree -r --name-only HEAD | xargs go run ./util/relicense.go

See go/boringssl-relicensing-triage for the results of triaging the
output of the tool.

As part of this, switch from taking fiat-crypto under MIT license to
Apache 2.0. (It is licensed under MIT OR Apache-2.0 OR BSD-1-Clause.)

The copyright_summary tool can also be used to confirm we didn't
accidentally drop any copyright lines:

  # Run before the CL
  git grep -l Copyright | xargs go run ./util/copyright_summary.go  -out /tmp/old.json
  # Run after the CL
  git grep -l Copyright | xargs go run ./util/copyright_summary.go  -compare /tmp/old.json

Bug: 364634028
Change-Id: I17c50e761e9d077a1f92e25969e50ed35e320c59
Reviewed-on: https://boringssl-review.googlesource.com/c/boringssl/+/75852
Reviewed-by: Bob Beck <bbe@google.com>
Commit-Queue: David Benjamin <davidben@google.com>
Reviewed-by: Adam Langley <agl@google.com>
2025-02-03 15:05:16 -08:00
David Benjamin 4854ec106f Apply OpenSSL's "copyright consolidation" changes
This applies the OpenSSL "copyright consolidation" process from the
following upstream changes:

* https://github.com/openssl/openssl/commit/e0a651945cb5a70a2abd9902c0fd3e9759d35867
* https://github.com/openssl/openssl/commit/3fb2cf1ad19feaf6f7c571b49bd9e320eb4daf31
* https://github.com/openssl/openssl/commit/ac3d0e13777a0f0533792ed8fdd7de485675a3a2
* https://github.com/openssl/openssl/commit/c2f312f5c2379e1dcb6b3678bda27f7544508ee6
* https://github.com/openssl/openssl/commit/596d6b7e1ca5aa24700098e262cb1625f256343f
* https://github.com/openssl/openssl/commit/e18cf66aaf44b4d476625b2416386b051007d495
* https://github.com/openssl/openssl/commit/846e33c729311169d9c988ceba29484b3783f244
* https://github.com/openssl/openssl/commit/440e5d805f449d662520313b33fd90aeee86980b
* https://github.com/openssl/openssl/commit/21dcbebc6e35419f1842f39a125374ea1ba45693
* https://github.com/openssl/openssl/commit/6286757141a8c6e14d647ec733634ae0c83d9887
* https://github.com/openssl/openssl/commit/4f22f40507fea3f272637eb8e00cadf1f34b10d9
* https://github.com/openssl/openssl/commit/d2e9e320186f0917cc940f46bdf1a7e4120da9b0
* https://github.com/openssl/openssl/commit/2039c421b0e5b75ffcf6a88e39cc09089b4303dc
* https://github.com/openssl/openssl/commit/b1322259d93cf6b6286f9febcd468b6a9f577d91
* https://github.com/openssl/openssl/commit/aa6bb1352b1026b20a23b49da4efdcf171926eb0
* https://github.com/openssl/openssl/commit/b6cff313cbb1d0381b329fe4f6a8f009cdb270e4
* https://github.com/openssl/openssl/commit/9e20068958b8c1772067299dda7df0b8a82283b4
* https://github.com/openssl/openssl/commit/6aa36e8e5a062e31543e7796f0351ff9628832ce
* https://github.com/openssl/openssl/commit/44c8a5e2b9af8909844cc002c53049311634b314

This was mostly automated, but partially manual. The automated portion
can be reproduced by checking OpenSSL to commit
44c8a5e2b9af8909844cc002c53049311634b314, and running the following:

  git grep -l -E 'Copyright remains Eric Young|Copyright.*The OpenSSL Project\.|Written by.*for the OpenSSL Project' crypto/ decrepit/ include/ ssl/ | grep -v objects.go > files.txt
  cat files.txt | xargs -n1 perl -i ./util/copyright.pl

From there, some years were fixed up manually according to
go/openssl-copyright-consolidation-comparison (internal-only).

Three files required additional manual fixing:

- crypto/ecdh_extra/ecdh_extra.cc
- crypto/fipsmodule/ecdh/ecdh.cc.inc
- include/openssl/ecdh.h

These files have an OpenSSL header, but *after* a different header, so
the script does not correctly detect the now redundant OpenSSL header.
They were manually modified to remove it. This matches what seems to
have been done to crypto/ec/ecdh_ossl.c in OpenSSL's
4f22f40507fea3f272637eb8e00cadf1f34b10d9.

Bug: 364634028
Change-Id: I79a559a409ebe2476f2cb8a48a488ac5dd77c90a
Reviewed-on: https://boringssl-review.googlesource.com/c/boringssl/+/74710
Commit-Queue: David Benjamin <davidben@google.com>
Reviewed-by: Adam Langley <agl@google.com>
2025-01-03 13:56:35 -08:00
Adam Langley 5813c2c10c crypto: switch to C++
This change switches nearly all of BoringSSL to use C++. The public
functions still use the C ABI, and so code written in C can still use
BoringSSL. Also the use of the C++ standard library is minimal and no
run-time requirement for it is intended.

Change-Id: I902d2f51a3c8d6bd0dc4aabe1b192a15d7b788e8
Reviewed-on: https://boringssl-review.googlesource.com/c/boringssl/+/72747
Commit-Queue: Adam Langley <agl@google.com>
Reviewed-by: Bob Beck <bbe@google.com>
2024-11-26 21:10:44 +00:00