Commit Graph

87 Commits

Author SHA1 Message Date
dependabot[bot] 0243b54e5b
Bump github.com/eggsampler/acme/v3 from 3.2.1 to 3.3.0 (#6060)
Bumps github.com/eggsampler/acme/v3 from 3.2.1 to 3.3.0.
- Release notes: https://github.com/eggsampler/acme/releases
- Diff: https://github.com/eggsampler/acme/compare/v3.2.1...v3.3.0

Also updates github.com/miekg/dns from v1.1.45 to v1.1.48.
This does not affect any files we depend on.
2022-04-25 15:09:25 -07:00
dependabot[bot] f1c7b038b1
Bump github.com/miekg/dns from 1.1.45 to 1.1.48 (#6059)
Bumps [github.com/miekg/dns](https://github.com/miekg/dns) from 1.1.45 to 1.1.48.
- [Release notes](https://github.com/miekg/dns/releases)
- [Changelog](https://github.com/miekg/dns/blob/master/Makefile.release)
- [Commits](https://github.com/miekg/dns/compare/v1.1.45...v1.1.48)

---
updated-dependencies:
- dependency-name: github.com/miekg/dns
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-04-21 16:37:12 -07:00
dependabot[bot] 4afb2f191f
Bump gopkg.in/square/go-jose.v2 from 2.4.1 to 2.6.0 (#6046)
Bumps [gopkg.in/square/go-jose.v2](https://github.com/square/go-jose) from 2.4.1 to 2.6.0.
- [Release notes](https://github.com/square/go-jose/releases)
- [Commits](https://github.com/square/go-jose/compare/v2.4.1...v2.6.0)

---
updated-dependencies:
- dependency-name: gopkg.in/square/go-jose.v2
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-04-21 16:07:36 -07:00
dependabot[bot] 7aa8304c2f
Bump google.golang.org/protobuf from 1.27.1 to 1.28.0 (#6040)
Bumps [google.golang.org/protobuf](https://github.com/protocolbuffers/protobuf-go) from 1.27.1 to 1.28.0.
- [Release notes](https://github.com/protocolbuffers/protobuf-go/releases)
- [Changelog](https://github.com/protocolbuffers/protobuf-go/blob/master/release.bash)
- [Commits](https://github.com/protocolbuffers/protobuf-go/compare/v1.27.1...v1.28.0)

---
updated-dependencies:
- dependency-name: google.golang.org/protobuf
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-04-08 15:51:14 -07:00
dependabot[bot] aed1127ce3
Bump github.com/go-redis/redis/v8 from 8.11.4 to 8.11.5 (#6041)
Bumps [github.com/go-redis/redis/v8](https://github.com/go-redis/redis) from 8.11.4 to 8.11.5.
- [Release notes](https://github.com/go-redis/redis/releases)
- [Changelog](https://github.com/go-redis/redis/blob/master/CHANGELOG.md)
- [Commits](https://github.com/go-redis/redis/compare/v8.11.4...v8.11.5)

---
updated-dependencies:
- dependency-name: github.com/go-redis/redis/v8
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-04-06 14:31:42 -07:00
dependabot[bot] f1e56cf6ef
Bump github.com/miekg/pkcs11 from 1.0.3 to 1.1.1 (#6027)
Bumps [github.com/miekg/pkcs11](https://github.com/miekg/pkcs11) from 1.0.3 to 1.1.1.
- [Release notes](https://github.com/miekg/pkcs11/releases)
- [Changelog](https://github.com/miekg/pkcs11/blob/master/Makefile.release)
- [Commits](https://github.com/miekg/pkcs11/compare/v1.0.3...v1.1.1)

---
updated-dependencies:
- dependency-name: github.com/miekg/pkcs11
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-03-30 17:17:15 -07:00
Aaron Gable 39a9360e6c
Update Public Suffix List (#6023)
Update the PSL from 7594db4f858a (Oct 2021) to 9a40b608a236
(March 2022). This adds approximately 165 new entries and removes
approximately 28 old entries.

Fixes #6022
2022-03-30 11:57:19 -07:00
dependabot[bot] 7bb573ca94
Bump github.com/prometheus/client_golang from 1.7.1 to 1.12.1 (#5974)
Diff: https://github.com/prometheus/client_golang/compare/v1.7.1...v1.12.1

Changes:
* 1.12.1 / 2022-01-29
  - [BUGFIX] Make the Go 1.17 collector concurrency-safe
  - Use simpler locking in the Go 1.17 collector
  - [BUGFIX] Reduce granularity of histogram buckets for Go 1.17 collector
  - [ENHANCEMENT] API client: make HTTP reads more efficient
* 1.12.0 / 2022-01-19
  - [CHANGE] example/random: Move flags and metrics into main()
  - [FEATURE] API client: Support wal replay status api
  - [FEATURE] Use the runtime/metrics package for the Go collector for 1.17+
  - [ENHANCEMENT] API client: Update /api/v1/status/tsdb to include headStats
  - [ENHANCEMENT] promhttp: Check validity of method and code label values
* 1.11.0 / 2021-06-07
  - [CHANGE] Add new collectors package.
  - [CHANGE] prometheus.NewExpvarCollector is deprecated, use collectors.NewExpvarCollector instead.
  - [CHANGE] prometheus.NewGoCollector is deprecated, use collectors.NewGoCollector instead.
  - [CHANGE] prometheus.NewBuildInfoCollector is deprecated, use collectors.NewBuildInfoCollector instead.
  - [FEATURE] Add new collector for database/sql#DBStats.
  - [FEATURE] API client: Add exemplars API support.
  - [ENHANCEMENT] API client: Add newer fields to Rules API.
  - [ENHANCEMENT] API client: Add missing fields to Targets API.
* 1.10.0 / 2021-03-18
  - [CHANGE] Minimum required Go version is now 1.13.
  - [CHANGE] API client: Add matchers to LabelNames and LabesValues.
  - [FEATURE] API client: Add buildinfo call.
  - [BUGFIX] Fix build on riscv64.
* 1.9.0 / 2020-12-17
  - [FEATURE] NewPidFileFn helper to create process collectors for processes whose PID is read from a file.
  - [BUGFIX] promhttp: Prevent endless loop in InstrumentHandler... middlewares with invalid metric or label names.
* 1.8.0 / 2020-10-15
  - [CHANGE] API client: Use time.Time rather than string for timestamps in RuntimeinfoResult.
  - [FEATURE] Export MetricVec to facilitate implementation of vectors of custom Metric types.
  - [FEATURE] API client: Support /status/tsdb endpoint.
  - [ENHANCEMENT] API client: Enable GET fallback on status code 501.
  - [ENHANCEMENT] Remove Metric references after reslicing to free up more memory.

Additional transitive dependency updates:
* https://github.com/prometheus/common/compare/v0.10.0...v0.32.1
* https://github.com/prometheus/procfs/compare/v0.1.3...v0.7.3
* https://github.com/golang/appengine/compare/v1.6.5...v1.6.6
* cb27e3aa20...8632dd7979
* 0f9fa26af8...5a964db013
2022-03-30 09:49:40 -07:00
Aaron Gable 32973392de
Revert "Bump google.golang.org/grpc from 1.36.1 to 1.44.0" (#5981)
Reverts letsencrypt/boulder#5963

Turns out the tests are still flaky -- using the `grpc.WaitForReady(true)`
connection option results in sometimes seeing 9 entries added to the
purger queue, and sometimes 10 entries. Reverting because flakiness
on main should not be tolerated.
2022-03-08 10:32:30 -08:00
dependabot[bot] 2ec03b377b
Bump google.golang.org/grpc from 1.36.1 to 1.44.0 (#5963)
Bumps [google.golang.org/grpc](https://github.com/grpc/grpc-go) from 1.36.1 to 1.44.0.
- [Release notes](https://github.com/grpc/grpc-go/releases)
- [Commits](https://github.com/grpc/grpc-go/compare/v1.36.1...v1.44.0)

Also update akamai-purger integration test to avoid experimental API.

The `conn.GetState()` API is marked experimental and may change behavior
at any time. It appears to have changed between v1.36.1 and v1.44.0,
and so the akamai-purger integration tests which rely on it break.

Rather than writing our own loop which polls `conn.GetState()`, just
use the stable `WaitForReady(true)` connection option, and apply it to
all connections by setting it as a default option in the dial options.
2022-03-07 17:00:20 -08:00
dependabot[bot] 8014fa1fb0
Bump github.com/letsencrypt/challtestsrv from 1.2.0 to 1.2.1 (#5964)
Bumps [github.com/letsencrypt/challtestsrv](https://github.com/letsencrypt/challtestsrv) from 1.2.0 to 1.2.1.
- [Release notes](https://github.com/letsencrypt/challtestsrv/releases)
- [Commits](https://github.com/letsencrypt/challtestsrv/compare/v1.2.0...v1.2.1)

---
updated-dependencies:
- dependency-name: github.com/letsencrypt/challtestsrv
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>

Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2022-03-02 09:47:28 -08:00
Aaron Gable e15bb89347
Update miekg/dns from v1.1.30 to v1.1.45 (#5972)
Changelog: https://github.com/miekg/dns/compare/v1.1.30...v1.1.45

Brings in several small changes, but more importantly brings Boulder
up to (and past) the version used by pebble/challtestsrv.
2022-03-02 09:03:13 -08:00
dependabot[bot] 4a75ca4227
Bump github.com/eggsampler/acme/v3 from 3.0.0 to 3.2.1 (#5959)
Update github.com/eggsampler/acme/v3 from 3.0.0 to 3.2.1.
- Release notes: https://github.com/eggsampler/acme/releases
- Commits: https://github.com/eggsampler/acme/compare/v3.0.0...v3.2.1
2022-02-22 16:02:30 -08:00
Aaron Gable ef9f0cdab5
Update go.mod go directive to 1.17 (#5950)
The `go` directive inside go.mod determines certain behaviors of
the go command. Since we're using go 1.17 everywhere, we should
update our module's go directive to reflect that, and update its contents
to match the new behavior.

Particularly, updating to 1.17 here means that all indirect dependencies
are listed directly inside go.mod (in a separate block, to keep things clean),
and the go.sum and go.mod files are deleted from vendored dependencies
so that the go tool can correctly find the root of the module even when run
from a vendored dependency's subdirectory.
2022-02-18 12:25:53 -08:00
Jacob Hoffman-Andrews 1c573d592b
Add account cache to WFE (#5855)
Followup from #5839.

I chose groupcache/lru as our LRU cache implementation because it's part
of the golang org, written by one of the Go authors, and very simple
and easy to read.

This adds an `AccountGetter` interface that is implemented by both the
AccountCache and the SA. If the WFE config includes an AccountCache field,
it will wrap the SA in an AccountCache with the configured max size and
expiration time.

We set an expiration time on account cache entries because we want a
bounded amount of time that they may be stale by. This will be used in
conjunction with a delay on account-updating pathways to ensure we don't
allow authentication with a deactivated account or changed key.

The account cache stores corepb.Registration objects because protobufs
have an established way to do a deep copy. Deep copies are important so
the cache can maintain its own internal state and ensure nothing external
is modifying it.

As part of this process I changed construction of the WFE. Previously,
"SA" and "RA" were public fields that were mutated after construction. Now
they are parameters to the constructor, along with the new "accountGetter"
parameter.

The cache includes stats for requests categorized by hits and misses.
2021-12-15 11:10:23 -08:00
Jacob Hoffman-Andrews 7fab32a000
Add rocsp-tool to manually store OCSP responses in Redis (#5758)
This is a sort of proof of concept of the Redis interaction, which will
evolve into a tool for inspection and manual repair of missing entries,
if we find ourselves needing to do that.

The important bits here are rocsp/rocsp.go and
cmd/rocsp-tool/main.go. Also, the newly-vendored Redis client.
2021-11-02 11:04:03 -07:00
alexzorin 9d07942c9d
Upgrade dependency weppos/publicsuffix-go (#5769)
37 additions and 22 removals
2021-11-02 00:21:32 -06:00
Jacob Hoffman-Andrews e249267fe5
Update protobuf and golang.org/x/net (#5767) 2021-11-01 15:28:01 -07:00
Aaron Gable 011e453df6
Update zlint to check for reserved IDNs (#5743)
Update zlint from v3.2.0 to just past v3.3.0, pulling in both an update
to the zlint interface and a number of new and improved checks. In
particular, pull in `lint_dnsname_contains_prohibited_reserved_label`,
which checks that DNSNames do not begin with any two characters followed
by two dashes, unless those two leading characters are "xn".

Also, update our few custom lints to match the new zlint v3.3.0
interface.

Fixes #5720
2021-10-22 12:37:09 -07:00
Samantha e276347170
Upgrade dependency weppos/publicsuffix-go (#5660) 2021-09-17 14:22:03 -06:00
Samantha c672f14edd
Revert "Temporarily upgrade go-sql-driver/mysql for cherry pick (#5539)" (#5540)
This reverts commit 4dc2df6a1f.
2021-07-15 13:07:18 -07:00
Samantha 4dc2df6a1f
Temporarily upgrade go-sql-driver/mysql for cherry pick (#5539)
This commit will be reverted once it's been cherry picked to branch
`release-2021-07-12-sql`
- Upgrade `go-sql-driver/mysql` from `v1.5.0` to `v1.6.0`
2021-07-15 11:37:38 -07:00
Aaron Gable 5586909446
Update public suffix list (#5508) 2021-07-09 09:58:29 -07:00
Aaron Gable ff8c3c40f0
Update zlint to v3.2.0 (#5442)
Update zlint from v3.1.0 to v3.2.0:
https://github.com/zmap/zlint/compare/v3.1.0...v3.2.0
This update contains no breaking changes, and has no effect
on our issuance.

This transitively updates the zcrypto and publicsuffix-go libraries
as well:
9cf5beac...ea3fdbd5
d67cf1da...f2f762ef

Fixes #5430
2021-06-08 13:02:09 -07:00
Aaron Gable 6629b49376
Fix grpc test proto generation (#5452)
The //grpc/test_proto/generate.go file was not generating the protos
in its own directory, it was regenerating the VA protos. Therefore the
generated files were out of date, and were relying on an old version
of the go proto library, which we can now remove from our direct deps.

Part of #5443
Part of #5453
2021-06-02 16:19:25 -07:00
Aaron Gable 229377aabc
Simplify gRPC interceptors (#5435)
Use the built-in grpc-go client and server interceptor chaining
utilities, instead of the ones provided by go-grpc-middleware.
Simplify our interceptors to call their handlers/invokers directly,
instead of delegating to the metrics interceptor, and add the
metrics interceptor to the chains instead.
2021-05-26 10:19:11 -07:00
Aaron Gable 38a1a1beb0
Update goque and simplify go.mod (#5441)
Update goque to its latest commit, which is an actual go module:
4044bc29...d6185101
Unfortunately, it still requires a commit hash (rather than just
a version number) due to issue https://github.com/beeker1121/goque/issues/21.

This removes the need for multiple indirect dependencies to be included
in our go.mod file. It also transitively updates goleveldb:
https://github.com/syndtr/goleveldb/compare/714f901b...v1.0.0
2021-05-26 10:15:37 -07:00
Aaron Gable 9abb39d4d6
Honeycomb integration proof-of-concept (#5408)
Add Honeycomb tracing to all Boulder components which act as
HTTP servers, gRPC servers, or gRPC clients. Add many values
which we currently emit to logs to the trace spans. Add a way to
configure the Honeycomb integration to our config files, and by
default configure all of our tests to "mute" (send nothing).

Followup changes will refine the configuration, attempt to reduce
the new dependency load, and introduce better sampling.

Part of https://github.com/letsencrypt/dev-misc-tickets/issues/218
2021-05-24 16:13:08 -07:00
Jacob Hoffman-Andrews b8f2edafb5
Roll back go-sql-driver to 1.5.0. (#5428)
This caused performance problems in production. We haven't yet bisected
to figure out exactly what commits in 1.6.0 cause the problem.
2021-05-21 16:19:54 -07:00
Jacob Hoffman-Andrews 1bc10f6f42
Update go-sql-driver and yaml.v2. (#5411)
go-sql-driver: v1.5.0 --> v1.6.0
yaml.v2: v2.2.4 --> v2.4.0

These updates are required by other upcoming changes,
so landing them separately first.
2021-05-17 08:17:55 -07:00
Jacob Hoffman-Andrews 7194624191
Update grpc and protobuf to latest. (#5369)
protoc now generates grpc code in a separate file from protobuf code.
Also, grpc servers are now required to embed an "unimplemented"
interface from the generated .pb.go file, which provides forward
compatibility.

Update the generate.go files since the invocation for protoc has changed
with the split into .pb.org and _grpc.pb.go.

Fixes #5368
2021-04-01 17:18:15 -07:00
Aaron Gable 8e3c5325c6
Update zlint to v3.1.0 (#5373)
Update the pinned version of zlint from v2.2.1 to v3.1.0.
Also update the relevant path from v2 to v3 in both go.mod
and in individual imports. Update the vendored files to match.

No changes from v2.2.1 to v3.1.0 appear to affect the lints
we directly care about (e.g. those that we explicitly ignore).

Fixes #5206
2021-03-31 11:42:01 -07:00
Aaron Gable 54b697d51b
Remove CFSSL helpers and dependency (#5349)
Replace the few instances where we were relying on CFSSL utilities: for
OIDs and "helper" methods (parsing private keys and parsing SCT lists)
with our own code. Then delete all vendored CFSSL code.

Based on #5347
Fixes #5115
2021-03-18 17:28:00 -07:00
Aaron Gable 34d2de4f7e
Remove additional mocking infrastructure (#5332)
Remove mock-vendor, which ensured that mockgen was
available, because we no longer use mockgen. As a result,
remove mockgen from our docker build script. Finally, make
the mock package an indirect dependency since we are no
longer using it directly.
2021-03-11 15:28:51 -08:00
Andrew Gabbitas a1df5bd35b
Update weppos/publicsuffix-go (#5304)
Update weppos/publicsuffix-go dependency with:
- 4 commits
- Add 19 suffixes
- Remove 0 suffixes

5fd7361...d67cf1d

Fix: #5293
2021-02-24 13:23:25 -07:00
alexzorin dbf7144ef6
deps: update publicsuffix-go (#5250)
This brings in 1 new commit, adding 15 suffixes and removing 3.

cb9948bdd7..5fd7361351
2021-01-25 11:40:34 -08:00
Andrew Gabbitas aab9f38718
Update publicsuffix-go (#5213) (#5221)
This brings in 16 commits, adds 184 new public
suffixes and removes 22.

2c0d957a74...cb9948bdd7

Fixes #5213
2021-01-06 17:23:58 -08:00
Samantha ffbc54f343
Updating golang.org/x/crypto/ due to CVE-2020-29652 (#5207) 2020-12-21 14:02:22 -08:00
Jacob Hoffman-Andrews 88c7b10625
Update to zlint 2.2.1 (#5128)
Successfully ran tests:

```
$ go test github.com/zmap/zlint/v2/...
$ go test golang.org/x/text/...
```
2020-10-16 14:41:34 -07:00
Aaron Gable 91898e51a0
Update zlint to include changes from SC31 (#5064)
This brings in the following changes to zlint:
https://github.com/zmap/zlint/compare/v2.1.0...9ab0643

Importantly, this prevents the cert lifetime lint from triggering on
CA certs, and removes the OCSP url requirement lint entirely.
2020-08-31 11:53:23 -07:00
milgradesec 20b08365be
Update github.com/letsencrypt/challtestsrv to v1.2.0 (#5000)
This pull request updates github.com/letsencrypt/challtestsrv dependency
2020-08-13 10:32:47 -07:00
milgradesec 09c060f3de
Update prometheus/client libs (#4993)
This pull requests updates prometheus/client_golang and
prometheus/client_model dependencies. Also updates
golang/protobuf as indirect.
2020-07-29 12:38:06 -07:00
milgradesec 11d5ed4443
Update github.com/miekg/dns from v1.1.8 to v1.1.30 (#4984)
Includes 16 months of updates and security fixes.
2020-07-28 10:18:18 -07:00
Aaron Gable ffe71f967e
Update publicsuffix-go (#4975)
This brings in 14 commits, adds approximately 45
new public suffixes, and removes about 15:
983d101bec...2c0d957a74
2020-07-22 10:15:34 -07:00
Aaron Gable e600b9e79f
Upgrade golang.org/x/text dependency to v0.3.3 (#4891)
This version contains
go.googlesource.com/text/+/23ae387dee1f90d29a23c0e87ee0b46038fbed0e
which fixes CVE-2020-14040. All tests pass at tag v0.3.3 in the upstream repo.

Fixes #4877.
2020-06-24 11:39:45 -07:00
Jacob Hoffman-Andrews 06ffb57221
Update go-gorp and run go mod tidy. (#4860)
gorp now uses go modules.

```
$ cd ~/go/src/github.com/go-gorp/gorp/
$ git checkout v3.0.1
$ go test ./...
ok      github.com/go-gorp/gorp/v3      0.002s
```
2020-06-10 16:18:37 -07:00
Jacob Hoffman-Andrews b1d6da7504
Upgrade mysql driver to 1.5.0. (#4859)
Test output:

```
$ cd go/src/github.com/go-sql-driver/mysql/
$ git checkout v1.5.0
...
$ go test ./...
ok      github.com/go-sql-driver/mysql  0.253s
```
2020-06-10 11:20:51 -07:00
Jacob Hoffman-Andrews 8f7a6eb8d2
Upgrade to zlint 2.1. (#4854) 2020-06-09 14:03:40 -07:00
Roland Bracewell Shoemaker 1b5387360d
deps: update github.com/weppos/publicsuffix-go (#4822)
Updates publicsuffix-go to master (983d101) since it doesn't regularly
tag releases. This also pulls in a related update to x/net. All tests
pass.

Fixes #4818
2020-05-27 13:58:12 -07:00
Jacob Hoffman-Andrews b1347fb3b3
Upgrade to latest protoc and protoc-gen-go (#4794)
There are some changes to the code generated in the latest version, so
this modifies every .pb.go file.

Also, the way protoc-gen-go decides where to put files has changed, so
each generate.go gets the --go_opt=paths=source_relative flag to
tell protoc to continue placing output next to the input.

Remove staticcheck from build.sh; we get it via golangci-lint now.

Pass --no-document to gem install fpm; this is recommended in the fpm docs.
2020-04-23 18:54:44 -07:00