Commit Graph

22 Commits

Author SHA1 Message Date
Jacob Hoffman-Andrews b37766c3cb Revert "Update google/certificate-transparency dependency. (#2242)"
This reverts commit 277cdf1638.
2016-10-17 15:20:08 -07:00
Jacob Hoffman-Andrews 277cdf1638 Update google/certificate-transparency dependency. (#2242)
Mostly this pulls in
https://github.com/google/certificate-transparency/pull/1275, which means we
don't log as much garbage when CT is having trouble. It also pulls in various
other updates.
2016-10-12 13:49:13 -04:00
Daniel 652d61538b Updates publicsuffix-go to +cd40c0.
This PR updates the `publicsuffix-go` dependency to upstream HEAD
(commit `3316aa3feceb68fa73009112eddd387500cd40c0`).

Per CONTRIBUTING.md I verified the project unit tests:

```
daniel@XXXXXXX:~/go/src/github.com/weppos/publicsuffix-go/publicsuffix$ git show -s
commit 3316aa3feceb68fa73009112eddd387500cd40c0
Author: Simone Carletti <weppos@weppos.net>
Date:   Wed Oct 12 10:05:18 2016 +0200

    autopull: 2016-10-12T06:00:21Z (#25)

daniel@XXXXXXX:~/go/src/github.com/weppos/publicsuffix-go/publicsuffix$ go test -v ../...
?     github.com/weppos/publicsuffix-go/cmd/gen [no test files]
?     github.com/weppos/publicsuffix-go/cmd/load  [no test files]
=== RUN   TestPublicSuffix
--- PASS: TestPublicSuffix (0.00s)
=== RUN   TestEffectiveTLDPlusOne
--- PASS: TestEffectiveTLDPlusOne (0.00s)
PASS
ok    github.com/weppos/publicsuffix-go/net/publicsuffix  0.007s
=== RUN   TestValid
--- PASS: TestValid (0.00s)
=== RUN   TestIncludePrivate
--- PASS: TestIncludePrivate (0.00s)
=== RUN   TestPsl
--- PASS: TestPsl (0.02s)
=== RUN   TestNewListFromString
--- PASS: TestNewListFromString (0.00s)
=== RUN   TestNewListFromFile
--- PASS: TestNewListFromFile (0.00s)
=== RUN   TestListAddRule
--- PASS: TestListAddRule (0.00s)
=== RUN   TestListFind
--- PASS: TestListFind (0.00s)
=== RUN   TestNewRule_Normal
--- PASS: TestNewRule_Normal (0.00s)
=== RUN   TestNewRule_Wildcard
--- PASS: TestNewRule_Wildcard (0.00s)
=== RUN   TestNewRule_Exception
--- PASS: TestNewRule_Exception (0.00s)
=== RUN   TestRuleMatch
--- PASS: TestRuleMatch (0.00s)
=== RUN   TestRuleDecompose
--- PASS: TestRuleDecompose (0.00s)
=== RUN   TestLabels
--- PASS: TestLabels (0.00s)
=== RUN   TestCookieJarList
--- PASS: TestCookieJarList (0.00s)
PASS
ok    github.com/weppos/publicsuffix-go/publicsuffix  0.026s
```
2016-10-12 13:07:03 -04:00
Roland Bracewell Shoemaker 5fabc90a16 Add IDN support (#2215)
Add feature flagged support for issuing for IDNs, fixes #597.

This patch expects that clients have performed valid IDN2008 encoding on any label that includes unicode characters. Invalid encodings (including non-compatible IDN2003 encoding) will be rejected. No script-mixing or script exclusion checks are performed as we assume that if a name is resolvable that it conforms to the registrar's policies on these matters and if it uses non-standard scripts in sub-domains etc that browsers should be the ones choosing how to display those names.

Required a full update of the golang.org/x/net tree to pull in golang.org/x/net/idna, all test suites pass.
2016-10-06 13:05:37 -04:00
Daniel McCarney d2d5326d2b Updates publicsuffix-go to +81e759 (#2209)
This commit bumps the `publicsuffix-go` dependency to revision
c1cd939ff293bbb87df3691068165868f081e759.
2016-09-26 18:11:27 -07:00
Roland Bracewell Shoemaker e187c92715 Add gRPC client side metrics (#2151)
Fixes #1880.

Updates google.golang.org/grpc and github.com/jmhodges/clock, both test suites pass. A few of the gRPC interfaces changed so this also fixes those breakages.
2016-09-09 15:17:36 -04:00
Roland Bracewell Shoemaker 91bfd05127 Revert #2088 (#2137)
* Remove oldx509 usage

* Un-vendor old crypto/x509, crypto/x509/pkix, and encoding/asn1
2016-08-23 14:01:37 -04:00
Daniel McCarney 95db733f57 Update publicsuffix-go to +2605b7 (#2123)
This commit updates the publicsuffix-go dependency to upstream HEAD (commit
088a5b7b1f746fca57b9440f8e94f9b3302605b7 (there are no tags or releases
for this project)).

Per CONTRIBUTING.md I ran the project unit tests:

```
daniel@xxxxxxxxx:~/go/src/github.com/weppos/publicsuffix-go$ git show -s
commit 088a5b7b1f746fca57b9440f8e94f9b3302605b7
Author: Simone Carletti <weppos@weppos.net>
Date:   Wed Aug 10 10:52:20 2016 +0200

    autopull: 2016-08-10T06:00:16Z (#20)

daniel@xxxxxxxxx:~/go/src/github.com/weppos/publicsuffix-go$ go test ./...
    ?     github.com/weppos/publicsuffix-go/cmd/gen [no test files]
    ?     github.com/weppos/publicsuffix-go/cmd/load  [no test files]
    ok    github.com/weppos/publicsuffix-go/net/publicsuffix  0.008s
    ok    github.com/weppos/publicsuffix-go/publicsuffix  0.029s
```
2016-08-15 10:10:20 -07:00
Jacob Hoffman-Andrews 474b76ad95 Import forked x509 for parsing of CSRs with empty integers (#2088)
Part of #2080.

This change vendors `crypto/x509`, `crypto/x509/pkix`, and `encoding/asn1` from  1d5f6a765d. That commit is a direct child of the Go 1.5.4 release tag, so it contains the same code as the current Go version we are using. In that commit I rewrote imports in those packages so they depend on each other internally rather than calling out to the standard library, which would cause type disagreements.

I changed the imports in each place where we're parsing CSRs, and imported under a different name `oldx509`, both to avoid collisions and make it clear what's going on. Places that only use `x509` to parse certificates are not changed, and will use the current standard library.

This will unblock us from moving to Go 1.6, and subsequently Go 1.7.
2016-07-28 10:38:33 -04:00
Ben Irving 159aeca64e Split up boulder-config.json (Single OCSP) + Cleanup (#2069)
This PR removes the use of the global configuration variable BOULDER_CONFIG. It also removes the global configuration struct cmd.Config. Furthermore, it removes the dependency codegangsta/cli and the last bit of code that was using it cmd/single-ocsp/main.go.

This is the final (hopefully) pull request in the work to remove the reliance on a global configuration structure. Included below is a history of all other pull requests relevant in accomplishing this:

 WFE (#1973)
 RA (#1974)
 SA (#1975)
 CA (#1978)
 VA (#1979)
 Publisher (#2008)
 OCSP Updater (#2013)
 OCSP Responder (#2017)
 Admin Revoker (#2053)
 Expiration Mailer (#2036)
 Cert Checker (#2058)
 Orphan Finder (#2059)
 Single OCSP (this PR)

Closes #1962
2016-07-22 12:39:29 -07:00
Jacob Hoffman-Andrews fb7317e092 Update pkcs11key and miekg/pkcs11 (#2052)
This pulls in two changes that fix the case where pkcs11 failed to load the module. One where the return value was nil, and one where an empty string could be passed to libtool-ltdl.

Tests pass for both packages.
2016-07-20 10:41:32 -04:00
Roland Bracewell Shoemaker 887618effc Update github.com/cloudflare/cfssl and github.com/google/certificate-transparency (#2032)
Updates `github.com/cloudflare/cfssl` and `github.com/google/certificate-transparency/go` to current master. CFSSL has re-structured some of the `signer/local` code which should be given a once-over. Otherwise everything seems mostly benign and/or doesn't affect our usage.

Vendored tests pass.
2016-07-12 13:59:50 -07:00
Jacob Hoffman-Andrews d1ff0779c9 Update golang.org/x/crypto/... to latest. (#2040)
Pulls in https://go-review.googlesource.com/#/c/24841/, which fixes
https://github.com/golang/go/issues/16321.
2016-07-12 09:28:30 -04:00
Simone Carletti 7172e49650 Replace x/net/publicsuffix with weppos/publicsuffix-go (#1969)
This PR replaces the `x/net/publicsuffix` package with `weppos/publicsuffix-go`.

The conversations that leaded to this decision are #1479 and #1374. To summarize the discussion, the main issue with `x/net/publicsuffix` is that the package compiles the list into the Go source code and doesn't provide a way to easily pull updates (e.g. by re-parsing the original PSL) unless the entire package is recompiled.

The PSL update frequency is almost daily, which makes very hard to recompile the official Golang package to stay up-to-date with all the changes. Moreover, Golang maintainers expressed some concerns about rebuilding and committing changes with a frequency that would keep the package in sync with the original PSL. See https://github.com/letsencrypt/boulder/issues/1374#issuecomment-182429297

`weppos/publicsuffix-go` contains a compiled version of the list that is updated weekly (or more frequently). Moreover, the package can read and parse a PSL from a String or a File which will effectively decouple the Boulder source code with the list itself. The main benefit is that it will be possible to update the definition by simply downloading the latest list and restarting the application (assuming the list is persisted in memory).
2016-06-30 15:03:14 -07:00
Jacob Hoffman-Andrews fd095b8881 Fix Docker test builds: latest certbot and grpc (#1991)
The `letsencrypt/boulder-tools` image was recently updated, pulling in version
0.8.0 of certbot. That version stores the output of `certonly` requests in a
different path. In test.sh, we check out a specific tagged release of certbot in
order to get its integration tests. Prior to this commit, we were using
certbot 0.8.0 with the integration tests from version 0.6.0 of certbot,
which looked for `certonly` output in the wrong place, and failed.

This commit changes test.sh to checkout the 0.8.0 branch, and also removes a
temporary shim we used to make the `certbot` command call out to the
`letsencrypt` command.

Also, since the latest version of `letsencrypt/boulder-tools` includes an updated
`protoc-gen-go`, this change also updates the support packages to match.
2016-06-29 10:54:03 -07:00
Roland Bracewell Shoemaker 7b29dba75d Add gRPC server-side interceptor (#1933)
Adds a server side unary RPC interceptor which includes basic stats. We could also use this to add a server request ID to the context.Context to identify the call through the system, but really I'd rather do that on the client side before the RPC is sent which requires the client interceptor implementation upstream. Also updates google.golang.org/grpc.

Updates #1880.
2016-06-20 11:27:32 -04:00
Roland Bracewell Shoemaker 92e0704b1b Allow gRPC clients to connect to multiple backends (#1918)
Fixes #1917 and #1755, also updates google.golang.org/grpc to b60d3e9e.
2016-06-15 16:50:56 -07:00
Roland Bracewell Shoemaker 35b6e83e81 Implement CAA quorum checking after failure (#1763)
When a CAA request to Unbound times out, fall back to checking CAA via Google Public DNS' HTTPS API, through multiple proxies so as to hit geographically distributed paths. All successful multipath responses must be identical in order to succeed, and at most one can fail.

Fixes #1618
2016-05-05 11:16:58 -07:00
Roland Bracewell Shoemaker 8ee578c3b7 Check JWK is valid before sending to SA (#1782)
Update vendored github.com/square/go-jose
Check key is valid before sending to SA
2016-05-03 14:26:52 -07:00
Jacob Hoffman-Andrews 26de87dfa2 Update grpc dep and regenerate caa-checker. (#1761)
* Update grpc dep and regenerate caa-checker.

The latest version generates a different format. This is a precursor to running
go generate in Travis.
2016-04-21 11:05:17 -07:00
Kane York b7cf618f5d context.Context as the first parameter of all RPC calls (#1741)
Change core/interfaces to put context.Context as the first parameter of all RPC calls in preparation for gRPC.
2016-04-19 11:34:36 -07:00
Jacob Hoffman-Andrews e6c17e1717 Switch to new vendor style (#1747)
* Switch to new vendor style.

* Fix metrics generate command.

* Fix miekg/dns types_generate.

* Use generated copies of files.

* Update miekg to latest.

Fixes a problem with `go generate`.

* Set GO15VENDOREXPERIMENT.

* Build in letsencrypt/boulder.

* fix travis more.

* Exclude vendor instead of godeps.

* Replace some ...

* Fix unformatted cmd

* Fix errcheck for vendorexp

* Add GO15VENDOREXPERIMENT to Makefile.

* Temp disable errcheck.

* Restore master fetch.

* Restore errcheck.

* Build with 1.6 also.

* Match statsd.*"

* Skip errcheck unles Go1.6.

* Add other ignorepkg.

* Fix errcheck.

* move errcheck

* Remove go1.6 requirement.

* Put godep-restore with errcheck.

* Remove go1.6 dep.

* Revert master fetch revert.

* Remove -r flag from godep save.

* Set GO15VENDOREXPERIMENT in Dockerfile and remove _worskpace.

* Fix Godep version.
2016-04-18 12:51:36 -07:00