{"push_id":1372180179,"size":7,"distinct_size":2,"ref":"refs/heads/acct-deact-int","head":"3c91525cd517c6d1d270e681de197898d55eff81","before":"5db9cb71402bd23ce26567a16bed82604e54b434","commits":[{"sha":"a26d08f817b38dec230ffa4bf0ea246855e5a0a1","author":{"name":"Roland Bracewell Shoemaker","email":"fc7707a71fb275485f881499a576a8d106687c27@bracewel.net"},"message":"Kill OCSP-Responder if integration-test.py fails (#2291)\n\nFixes #2192.","distinct":false,"url":"https://api.github.com/repos/letsencrypt/boulder/commits/a26d08f817b38dec230ffa4bf0ea246855e5a0a1"},{"sha":"ce679bad41dc291bd8989ba7ce285d9c9c1c707b","author":{"name":"Roland Bracewell Shoemaker","email":"fc7707a71fb275485f881499a576a8d106687c27@bracewel.net"},"message":"Implement key rollover (#2231)\n\nFixes #503.\r\n\r\nFunctionality is gated by the feature flag `AllowKeyRollover`. Since this functionality is only specified in ACME draft-03 and we mostly implement the draft-02 style this takes some liberties in the implementation, which are described in the updated divergences doc. The `key-change` resource is used to side-step draft-03 `url` requirement.","distinct":false,"url":"https://api.github.com/repos/letsencrypt/boulder/commits/ce679bad41dc291bd8989ba7ce285d9c9c1c707b"},{"sha":"39c7ce7b69b53086983457d07d4d350830aed5ca","author":{"name":"Daniel McCarney","email":"4b94a04674ad2c69d990e94ab196ac3f8e9e03d4@binaryparadox.net"},"message":"Properly abort `NewAuthorization` when SA RPC fails. (#2286)\n\nThe RA performs an RPC to the SA's `GetValidAuthorizations` function when attempting to find existing valid authorizations to reuse. Prior to this commit, ff the RPC fails (e.g. due to a timeout) the calling code\r\nlogs the failure as a warning but fails to return the error and cease processing. This results in a nil panic when we later try to index `auths`\r\n\r\nThis commit inserts the missing `return` to ensure we don't process further, thereby resolving #2274.\r\n\r\nA test for this fix is provided with `TestReuseAuthorizationFaultySA`. Without f52f340 applied this test recreates the panic observed in #2274 and produces:\r\n\r\n```\r\ngo test -p 1 -v -race --test.run TestReuseAuthorizationFaultySA github.com/letsencrypt/boulder/ra\r\n=== RUN   TestReuseAuthorizationFaultySA\r\n--- FAIL: TestReuseAuthorizationFaultySA (0.04s)\r\npanic: runtime error: invalid memory address or nil pointer dereference [recovered]\r\n\tpanic: runtime error: invalid memory address or nil pointer dereference\r\n[signal 0xb code=0x1 addr=0x20 pc=0x4be2b8]\r\n\r\n```\r\n\r\nWith f52f340 it passes. Yay!","distinct":false,"url":"https://api.github.com/repos/letsencrypt/boulder/commits/39c7ce7b69b53086983457d07d4d350830aed5ca"},{"sha":"eb67ad4f8882275d6a4d1d11146863196becfce3","author":{"name":"Daniel McCarney","email":"4b94a04674ad2c69d990e94ab196ac3f8e9e03d4@binaryparadox.net"},"message":"Allow `validateEmail` to timeout w/o error. (#2288)\n\n\r\nThis PR reworks the validateEmail() function from the RA to allow timeouts during DNS validation of MX/A/AAAA records for an email to be non-fatal and match our intention to verify emails best-effort.\r\n\r\nNotes:\r\n\r\nbdns/problem.go - DNSError.Timeout() was changed to also include context cancellation and timeout as DNS timeouts. This matches what DNSError.Error() was doing to set the error message and supports external callers to Timeout not duplicating the work.\r\n\r\nbdns/mocks.go - the LookupMX mock was changed to support always.error and always.timeout in a manner similar to the LookupHost mock. Otherwise the TestValidateEmail unit test for the RA would fail when the MX lookup completed before the Host lookup because the error wouldn't be correct (empty DNS records vs a timeout or network error).\r\n\r\ntest/config/ra.json, test/config-next/ra.json - the dnsTries and dnsTimeout values were updated such that dnsTries * dnsTimeout was <= the WFE->RA RPC timeout (currently 15s in the test configs). This allows the dns lookups to all timeout without the overall RPC timing out.\r\n\r\nResolves #2260.","distinct":false,"url":"https://api.github.com/repos/letsencrypt/boulder/commits/eb67ad4f8882275d6a4d1d11146863196becfce3"},{"sha":"6e00a3d87e1144dae57646826b34081858c5cd93","author":{"name":"Roland Shoemaker","email":"92f744913106d95591cacf71cd5e536dc4275f93@gmail.com"},"message":"Merge branch 'master' into acct-deact-int","distinct":true,"url":"https://api.github.com/repos/letsencrypt/boulder/commits/6e00a3d87e1144dae57646826b34081858c5cd93"},{"sha":"c12ef9d8fb935bf5ac16a0d0abdb3061a0425d8a","author":{"name":"Roland Bracewell Shoemaker","email":"fc7707a71fb275485f881499a576a8d106687c27@bracewel.net"},"message":"Add authorization deactivation integration test (#2290)\n\nFixes #2232.","distinct":false,"url":"https://api.github.com/repos/letsencrypt/boulder/commits/c12ef9d8fb935bf5ac16a0d0abdb3061a0425d8a"},{"sha":"3c91525cd517c6d1d270e681de197898d55eff81","author":{"name":"Roland Shoemaker","email":"92f744913106d95591cacf71cd5e536dc4275f93@gmail.com"},"message":"Merge branch 'master' into acct-deact-int","distinct":true,"url":"https://api.github.com/repos/letsencrypt/boulder/commits/3c91525cd517c6d1d270e681de197898d55eff81"}]}
{"actor":{"display_login":"rolandshoemaker"}}