Commit Graph

187 Commits

Author SHA1 Message Date
Aaron Gable 6ee675f2f0
Update public suffix list (#7484)
It's been one month since the last PSL update.

Update:
- github.com/weppos/publicsuffix-go from
v0.30.3-0.20240411085455-21202160c2ed to
v0.30.3-0.20240510084413-5f1d03393b3d
- golang.org/x/crypto from v0.22.0 to v0.23.0 (no changes)
- golang.org/x/net from v0.24.0 to v0.25.0
- golang.org/x/term from v0.19.0 to v0.20.0 (no changes)
- golang.org/x/text from v0.14.0 to v0.15.0 (no changes)
- golang.org/x/sys from v0.19.0 to v0.20.0

Fixes https://github.com/letsencrypt/boulder/issues/7483
2024-05-14 10:10:20 -04:00
Phil Porada 42b2240481
test: Update eggsampler/acme to support draft-ietf-acme-ari-03 (#7470)
`Eggsampler/acme` v3.6.0 has been
[released](https://github.com/eggsampler/acme/releases/tag/v3.6.0). I've
updated the ARI integration tests to issue replacement orders.

Fixes https://github.com/letsencrypt/boulder/issues/7463

---------

Co-authored-by: Aaron Gable <aaron@letsencrypt.org>
2024-05-08 11:01:27 -04:00
Aaron Gable 2b8dea9821
Update publicsuffix-go (#7429)
We last updated the PSL two months ago, and the latest officially-tagged
release of publicsuffic-go is just one month old, but the domain
prompting the latest request to update the PSL landed just a few days
ago, so update to the latest commit rather than the latest release.

Also incidentally updates x/crypto, x/net, x/term, and x/sys, but brings
in no meaningful updates for any of them.

Fixes https://github.com/letsencrypt/boulder/issues/7428
2024-04-15 11:37:11 -07:00
dependabot[bot] 393beac0a1
build(deps): bump golang.org/x/sync from 0.6.0 to 0.7.0 (#7426)
Bumps [golang.org/x/sync](https://github.com/golang/sync) from 0.6.0 to
0.7.0.

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-04-12 12:30:55 -04:00
Aaron Gable 7086537553
Update golang.org/x/net for security advisory (#7413)
This will fix the error govulncheck is reporting.
2024-04-04 12:50:42 -04:00
Phil Porada 5f616ccdb9
Upgrade go-jose from v2.6.1 to v.4.0.1 (#7345)
Upgrade from the old go-jose v2.6.1 to the newly minted go-jose v4.0.1. 
Cleans up old code now that `jose.ParseSigned` can take a list of
supported signature algorithms.

Fixes https://github.com/letsencrypt/boulder/issues/7390

---------

Co-authored-by: Aaron Gable <aaron@letsencrypt.org>
2024-04-02 17:49:51 -04:00
dependabot[bot] f0ade6b2cb
build(deps): bump github.com/eggsampler/acme/v3 from 3.4.0 to 3.5.0 (#7391) 2024-03-20 15:21:16 -07:00
dependabot[bot] 206c35f099
build(deps): bump google.golang.org/protobuf from 1.32.0 to 1.33.0 (#7384)
Updates google.golang.org/protobuf from 1.32.0 to 1.33.0
Also updates github.com/golang/protobuf from 1.5.3 to 1.5.4
2024-03-19 10:39:33 -07:00
dependabot[bot] c175272335
build(deps): bump go.opentelemetry.io/otel/trace from 1.21.0 to 1.24.0 (#7343)
Bumps
[go.opentelemetry.io/otel/trace](https://github.com/open-telemetry/opentelemetry-go)
from 1.21.0 to 1.24.0.

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-03-14 13:36:52 -04:00
dependabot[bot] 34b705f293
build(deps): bump github.com/aws/aws-sdk-go-v2/service/s3 from 1.48.0 to 1.50.2 (#7333)
Bumps
[github.com/aws/aws-sdk-go-v2/service/s3](https://github.com/aws/aws-sdk-go-v2)
from 1.48.0 to 1.50.2.

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-02-26 10:31:30 -05:00
Matthew McPherrin 96f1240603
Update publicsuffix-go (#7334) 2024-02-21 17:51:26 -05:00
Aaron Gable 10e894a172
Create new admin tool (#7276)
Create a new administration tool "bin/admin" as a successor to and
replacement of "admin-revoker".

This new tool supports all the same fundamental capabilities as the old
admin-revoker, including:
- Revoking by serial, by batch of serials, by incident table, and by
private key
- Blocking a key to let bad-key-revoker take care of revocation
- Clearing email addresses from all accounts that use them

Improvements over the old admin-revoker include:
- All commands run in "dry-run" mode by default, to prevent accidental
executions
- All revocation mechanisms allow setting the revocation reason,
skipping blocking the key, indicating that the certificate is malformed,
and controlling the number of parallel workers conducting revocation
- All revocation mechanisms do not parse the cert in question, leaving
that to the RA
- Autogenerated usage information for all subcommands
- A much more modular structure to simplify adding more capabilities in
the future
- Significantly simplified tests with smaller mocks

The new tool has analogues of all of admin-revokers unit tests, and all
integration tests have been updated to use the new tool instead. A
future PR will remove admin-revoker, once we're sure SRE has had time to
update all of their playbooks.

Fixes https://github.com/letsencrypt/boulder/issues/7135
Fixes https://github.com/letsencrypt/boulder/issues/7269
Fixes https://github.com/letsencrypt/boulder/issues/7268
Fixes https://github.com/letsencrypt/boulder/issues/6927
Part of https://github.com/letsencrypt/boulder/issues/6840
2024-02-07 09:35:18 -08:00
dependabot[bot] 7fa2237417
build(deps): bump github.com/miekg/dns from 1.1.55 to 1.1.58 (#7279)
Bumps [github.com/miekg/dns](https://github.com/miekg/dns) from 1.1.55
to 1.1.58.
2024-02-02 13:28:05 -05:00
Matthew McPherrin 56c10c613c
Update zlint (#7252)
Upgrade to zlint v3.6.0

Two new lints are triggered in various places:
aia_contains_internal_names is ignored in integration test
configurations, and unit tests are updated to have more realistic URLs.
The w_subject_common_name_included lint needs to be ignored where we'd
ignored n_subject_common_name_included before.

Related to https://github.com/letsencrypt/boulder/issues/7261
2024-01-16 11:50:37 -08:00
dependabot[bot] c47e95e75a
build(deps): bump github.com/aws/aws-sdk-go-v2
Update AWS SDK v2, and its dependencies and subpackages:

- ask-sdk-go-v2: v1.22.1 -> v1.24.1
- aws-sdk-go-v2/config: v1.18.25 -> v1.26.3
- aws-sdk-go-v2/config: v1.18.25 -> v1.48.0
- smithy-go: v1.16.0 -> v1.19.0
2024-01-08 13:27:17 -08:00
Matthew McPherrin e8d382aec0
Upgrade the protobuf and grpc dependencies in Boulder (#7232)
Protobuf v1.32 fixes a potential stack overflow crash. Boulder doesn't
expose grpc externally so the risk is minimal, but it seems prudent to
upgrade on a regular cadence.  IE, this is not a security fix for Boulder.
2024-01-08 11:23:23 -08:00
dependabot[bot] 21fc191273
build(deps): bump go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp from 0.44.0 to 0.46.1 (#7233)
Bumps
[go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp](https://github.com/open-telemetry/opentelemetry-go-contrib)
from 0.44.0 to 0.46.1.
2024-01-02 12:44:53 -05:00
dependabot[bot] 238518da55
build(deps): bump golang.org/x/crypto from 0.15.0 to 0.17.0 (#7223)
Changelog: https://github.com/golang/crypto/compare/v0.15.0...v0.17.0
2023-12-20 11:38:15 -08:00
dependabot[bot] 289284ad6e
build(deps): bump golang.org/x/term from 0.13.0 to 0.15.0 (#7210)
Updates golang.org/x/term and golang.org/x/sys. Changelogs:
- https://github.com/golang/term/compare/v0.13.0...v0.15.0
- https://github.com/golang/sys/compare/v0.13.0...v0.15.0
2023-12-13 16:23:01 -08:00
Aaron Gable eda6e4cb4a
Update OTel dependencies to latest (#7206)
This resolves https://github.com/advisories/GHSA-8pgv-569h-w5rw and
https://github.com/advisories/GHSA-rcjv-mgp8-qvmr, both DoS attacks via
metric cardinality explosion in the default OTel http and gRPC
middleware.
2023-12-13 09:33:39 -05:00
dependabot[bot] deccb0346d
build(deps): bump github.com/redis/go-redis/v9 from 9.2.1 to 9.3.0 (#7186)
Bumps [github.com/redis/go-redis/v9](https://github.com/redis/go-redis)
from 9.2.1 to 9.3.0.
2023-12-12 10:09:12 -05:00
dependabot[bot] 03b0258b53
build(deps): bump golang.org/x/text from 0.13.0 to 0.14.0 (#7160)
Bumps [golang.org/x/text](https://github.com/golang/text) from 0.13.0 to
0.14.0.

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-12-04 15:58:15 -05:00
dependabot[bot] de58ad1318
build(deps): bump github.com/aws/aws-sdk-go-v2/service/s3 from 1.40.0 to 1.42.0 (#7145)
Bumps
[github.com/aws/aws-sdk-go-v2/service/s3](https://github.com/aws/aws-sdk-go-v2)
from 1.40.0 to 1.42.0.
2023-11-14 16:35:02 -05:00
Matthew McPherrin 75439eab4b
Replace hpcloud/tail with nxadm/tail (#7152)
The hpcloud version appears abandoned, with numerous unfixed bugs
including ones that can cause it to miss data.  The nxadm fork is
maintained.

The updated tail also pulls in an updated fsnotify. We had it vendored
at two paths before, so this has a side benefit of simplifying us to
having just one copy.
2023-11-09 16:30:15 -08:00
Aaron Gable 617b6edea4
Update google.golang.org/grpc to v1.59.0 (#7130)
This version contains mitigations for the HTTP/2 rapid-reset DoS vector.
See https://github.com/advisories/GHSA-m425-mq94-257g for details.

Changelog: https://github.com/grpc/grpc-go/compare/v1.54.0...v1.59.0
2023-11-02 10:20:14 -04:00
dependabot[bot] 50ec4786e4
build(deps): bump github.com/redis/go-redis/v9 from 9.1.0 to 9.2.1 (#7107)
Bumps https://github.com/redis/go-redis from 9.1.0 to 9.2.1.
- Release notes: https://github.com/redis/go-redis/releases/tag/v9.2.1
- Changelog: https://github.com/redis/go-redis/compare/v9.1.0...v9.2.1
2023-10-27 09:12:54 -07:00
dependabot[bot] 1aa304063d
build(deps): bump golang.org/x/net from 0.11.0 to 0.17.0 (#7113)
Bumps [golang.org/x/net](https://github.com/golang/net) from 0.11.0 to 0.17.0.
2023-10-19 11:52:58 -04:00
dependabot[bot] ebd87d4352
build(deps): bump github.com/aws/aws-sdk-go-v2/service/s3 from 1.31.0 to 1.40.0 (#7101)
Bumps github.com/aws/aws-sdk-go-v2/service/s3 from 1.31.0 to 1.40.0.
- Release notes: https://github.com/aws/aws-sdk-go-v2/releases
- Commits: aws/aws-sdk-go-v2@service/s3/v1.31.0...service/s3/v1.40.0
2023-09-28 17:30:12 -07:00
Aaron Gable a70fc604a3
Use go1.21's stdlib slices package (#7074)
As of go1.21, there's a new standard library package which provides
basically the same (generic!) methods as the x/exp/slices package has
been. Now that we're on go1.21, let's use the more stable package.

Fixes https://github.com/letsencrypt/boulder/issues/6951
Fixes https://github.com/letsencrypt/boulder/issues/7032
2023-09-08 13:46:46 -07:00
Aaron Gable 58ec67c7a8
Remove go1.20 from CI (#7071)
We now deploy go1.21.1 in both Staging and in Prod.
2023-09-08 14:32:51 -04:00
dependabot[bot] 6d76a0f91e
build(deps): bump github.com/miekg/dns from 1.1.50 to 1.1.55 (#7067)
Bumps github.com/miekg/dns from 1.1.50 to 1.1.55.

Changelog: https://github.com/miekg/dns/compare/v1.1.50...v1.1.55
2023-09-06 20:02:00 -07:00
dependabot[bot] fa028b4394
build(deps): bump golang.org/x/term from 0.9.0 to 0.11.0 (#7046)
Bumps [golang.org/x/term](https://github.com/golang/term) from 0.9.0 to
0.11.0.

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-09-01 13:40:17 -04:00
Samantha 4ed54ff9c6
dependencies: Update go-redis from v8 to v9 (#7041)
Updated so we can access the `SetAddrs()` method added to `*redis.Ring`
in `v9` in #7042.

Part of #5545
2023-08-22 13:06:25 -04:00
dependabot[bot] 4768d2df2c
build(deps): bump github.com/aws/aws-sdk-go-v2 from 1.18.1 to 1.20.1 (#7039)
Bumps
[github.com/aws/aws-sdk-go-v2](https://github.com/aws/aws-sdk-go-v2)
from 1.18.1 to 1.20.1.

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-08-18 13:03:05 -04:00
dependabot[bot] 1962d8687c
build(deps): bump github.com/aws/smithy-go from 1.13.5 to 1.14.1 (#7033)
Bumps [github.com/aws/smithy-go](https://github.com/aws/smithy-go) from
1.13.5 to 1.14.1.

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-08-10 13:24:37 -04:00
Jacob Hoffman-Andrews 725f190c01
ca: remove orphan queue code (#7025)
The `orphanQueueDir` config field is no longer used anywhere.

Fixes #6551
2023-08-02 16:04:28 -07:00
dependabot[bot] 4da9853c9d
build(deps): bump google.golang.org/protobuf from 1.30.0 to 1.31.0 (#7012)
Bumps google.golang.org/protobuf from 1.30.0 to 1.31.0.

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-07-27 11:14:24 -04:00
dependabot[bot] 75acd40df1
build(deps): bump github.com/google/certificate-transparency-go from 1.1.4 to 1.1.6 (#6975)
Update google/certificate-transparency-go from 1.1.4 to 1.1.6
Release notes: https://github.com/google/certificate-transparency-go/releases/tag/v1.1.6
Changelog: https://github.com/google/certificate-transparency-go/compare/v1.1.4...v1.1.6

Update prometheus/client_golang from v1.14.0 to v1.15.1
Release notes: https://github.com/prometheus/client_golang/releases/tag/v1.15.1
Changelog: https://github.com/prometheus/client_golang/compare/v1.14.0...v1.15.1

Update prometheus/client_model from v0.3.0 to v0.4.0
Release notes: https://github.com/prometheus/client_model/releases/tag/v0.4.0
Changelog: https://github.com/prometheus/client_model/compare/v0.3.0...v0.4.0

Update x/sync from v0.1.0 to v0.2.0
Changelog: https://github.com/golang/sync/compare/v0.1.0...v0.2.0

Minor updates to various indirect dependencies as well.

The prometheus/client_golang update changes the type of
`prometheus.Desc.variableLabels` from `[]string` to
`prometheus.ConstrainedLabels`, which changes the string representation
of that field, necessitating a minor test expectations update in
//rocsp/metrics_test.

Fixes https://github.com/letsencrypt/boulder/issues/4548
2023-07-21 11:28:56 -07:00
Jacob Hoffman-Andrews e955494955
Revert "Update go-sql-driver/mysql to v1.7.1" (#7006)
This reverts commit 0051277c71,
which was introduced by https://github.com/letsencrypt/boulder/pull/6976
2023-07-20 12:28:20 -07:00
Jacob Hoffman-Andrews 7d66d67054
It's borpin' time! (#6982)
This change replaces [gorp] with [borp].

The changes consist of a mass renaming of the import and comments / doc
fixups, plus modifications of many call sites to provide a
context.Context everywhere, since gorp newly requires this (this was one
of the motivating factors for the borp fork).

This also refactors `github.com/letsencrypt/boulder/db.WrappedMap` and
`github.com/letsencrypt/boulder/db.Transaction` to not embed their
underlying gorp/borp objects, but to have them as plain fields. This
ensures that we can only call methods on them that are specifically
implemented in `github.com/letsencrypt/boulder/db`, so we don't miss
wrapping any. This required introducing a `NewWrappedMap` method along
with accessors `SQLDb()` and `BorpDB()` to get at the internal fields
during metrics and logging setup.

Fixes #6944
2023-07-17 14:38:29 -07:00
Aaron Gable 0051277c71
Update go-sql-driver/mysql to v1.7.1 (#6976)
This update pulls in changes that we contributed upstream, which should
smooth interactions between Boulder and ProxySQL.

Release notes:
https://github.com/go-sql-driver/mysql/releases/tag/v1.7.1
Changelog:
https://github.com/go-sql-driver/mysql/compare/v1.5.0...v1.7.1
Relevant change: https://github.com/go-sql-driver/mysql/pull/1402
2023-07-11 12:51:44 -07:00
Aaron Gable cf770dfdef
Update zlint to v3.5.0 (#6977)
This brings in infrastructure to support linting CRLs.

Release notes: https://github.com/zmap/zlint/releases/tag/v3.5.0
Changelog: https://github.com/zmap/zlint/compare/v3.4.0...v3.5.0

Part of https://github.com/letsencrypt/boulder/issues/6934
2023-07-06 14:09:44 -04:00
dependabot[bot] 08017e436e
build(deps): bump github.com/aws/aws-sdk-go-v2 from 1.18.0 to 1.18.1 (#6962)
Bumps
[github.com/aws/aws-sdk-go-v2](https://github.com/aws/aws-sdk-go-v2)
from 1.18.0 to 1.18.1.
2023-06-28 14:58:51 -04:00
Matthew McPherrin 66cfad1892
Update Public Suffix List (#6957)
Over on the community forum, there's been requests for the new .vn
domains.  weppos/publicsuffix-go hasn't had a release tagged in a little
while, so this is the result of:

    go get github.com/weppos/publicsuffix-go@latest
    go mod tidy
    go mod vendor
2023-06-26 11:19:06 -04:00
dependabot[bot] 11fe943577
update golang.org/x/crypto, net, term, and text (#6949)
Updates:
- https://github.com/golang/crypto from 0.8.0 to 0.10.0.
- https://github.com/golang/net from 0.9.0 to 0.11.0.
- https://github.com/golang/term from 0.7.0 to 0.9.0.
- https://github.com/golang/text from 0.9.0 to 0.10.0.
2023-06-21 13:26:26 -04:00
dependabot[bot] 8d3dc74645
Bump github.com/aws/aws-sdk-go-v2/config from 1.18.12 to 1.18.25 (#6881)
Bumps
[github.com/aws/aws-sdk-go-v2/config](https://github.com/aws/aws-sdk-go-v2)
from 1.18.12 to 1.18.25.

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-05-10 15:32:25 -04:00
Matthew McPherrin 5f0d2ae002
Upgrade Opentelemetry dependencies (#6855)
This upgrades otel to v1.15.0, and the /contrib/ packages to v0.41.0.
Several dependencies are upgraded as dependencies, notably grpc.

This contains a change to grpc, only mapping some grpc.Errors into span
errors if it's Unknown, DeadlineExceeded, Unimplemented, Internal,
Unavailable, or DataLoss, which should be helpful for us as we use grpc
errors semantically in Boulder, especially NotFound.
2023-05-03 15:40:11 -07:00
Matthew McPherrin 0060e695b5
Introduce OpenTelemetry Tracing (#6750)
Add a new shared config stanza which all boulder components can use to
configure their Open Telemetry tracing. This allows components to
specify where their traces should be sent, what their sampling ratio
should be, and whether or not they should respect their parent's
sampling decisions (so that web front-ends can ignore sampling info
coming from outside our infrastructure). It's likely we'll need to
evolve this configuration over time, but this is a good starting point.

Add basic Open Telemetry setup to our existing cmd.StatsAndLogging
helper, so that it gets initialized at the same time as our other
observability helpers. This sets certain default fields on all
traces/spans generated by the service. Currently these include the
service name, the service version, and information about the telemetry
SDK itself. In the future we'll likely augment this with information
about the host and process.

Finally, add instrumentation for the HTTP servers and grpc
clients/servers. This gives us a starting point of being able to monitor
Boulder, but is fairly minimal as this PR is already somewhat unwieldy:
It's really only enough to understand that everything is wired up
properly in the configuration. In subsequent work we'll enhance those
spans with more data, and add more spans for things not automatically
traced here.

Fixes https://github.com/letsencrypt/boulder/issues/6361

---------

Co-authored-by: Aaron Gable <aaron@aarongable.com>
2023-04-21 10:46:59 -07:00
Aaron Gable 3ddca2d1b8
Update eggsampler/acme and use it for ARI tests (#6811)
Update github.com/eggsampler/acme from v3.3.0 to v3.4.0.
Changelog: https://github.com/eggsampler/acme/compare/v3.3.0...v3.4.0

Update the ARI integration test to use the eggampler/acme client's new
ARI capabilities for making both GET and POST requests. This simplifies
and streamlines the test significantly, and lets us test the POST path.

Fixes #6781
2023-04-19 14:14:43 -07:00
dependabot[bot] c21ebb9f61
Bump golang.org/x/ deps to latest (#6814)
Update all golang.org/x/ deps to their latest available version:
- https://golang.org/x/crypto from 0.7.0 to 0.8.0
- https://golang.org/x/exp from v0.0.0-20230118134722-a68e582fa157 to
v0.0.0-20230321023759-10a507213a29
- https://golang.org/x/net from 0.8.0 to 0.9.0
- https://golang.org/x/text from 0.8.0 to 0.9.0
- https://golang.org/x/mod from 0.8.0 to 0.10.0
- https://golang.org/x/tools from 0.6.0 to 0.8.0

This only affects vendored files for /x/exp, /x/net/, and /x/tools/.

---------

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: Aaron Gable <aaron@letsencrypt.org>
2023-04-17 16:48:57 -04:00