boulder/grpc
Daniel McCarney fbd87b1757 Splits CountRegistrationsByIP to exact-match and by /48. (#2782)
Prior to this PR the SA's `CountRegistrationsByIP` treated IPv6
differently than IPv4 by counting registrations within a /48 for IPv6 as
opposed to exact matches for IPv4. This PR updates
`CountRegistrationsByIP` to treat IPv4 and IPv6 the
same, always matching exactly. The existing RegistrationsPerIP rate
limit policy will be applied against this exact matching count.

A new `CountRegistrationsByIPRange` function is added to the SA that
performs the historic matching process, e.g. for IPv4 it counts exactly
the same as `CountRegistrationsByIP`, but for IPv6 it counts within
a /48.

A new `RegistrationsPerIPRange` rate limit policy is added to allow
configuring the threshold/window for the fuzzy /48 matching registration
limit. Stats for the "Exceeded" and "Pass" events for this rate limit are
separated into a separate `RegistrationsByIPRange` stats scope under
the `RateLimit` scope to allow us to track it separate from the exact 
registrations per IP rate limit.

Resolves https://github.com/letsencrypt/boulder/issues/2738
2017-05-30 15:12:20 -07:00
..
creds Don't wrap errors we return from boulder/grpc/creds.ClientHandshake (#2590) 2017-03-01 11:27:03 -08:00
test_proto Update github.com/grpc-ecosystem/go-grpc-prometheus and google.golang.org/grpc (#2637) 2017-04-03 11:13:48 -07:00
balancer.go Allow gRPC clients to connect to multiple backends (#1918) 2016-06-15 16:50:56 -07:00
balancer_test.go Allow gRPC clients to connect to multiple backends (#1918) 2016-06-15 16:50:56 -07:00
bcodes.go Clean up `berrors` (#2724) 2017-05-04 10:56:26 +01:00
bcodes_test.go Clean up `berrors` (#2724) 2017-05-04 10:56:26 +01:00
ca-wrappers.go Split out separate RPC services for issuing and for signing OCSP (#2452) 2017-01-05 15:08:39 -08:00
client.go Remove statsd version of RPC stats (#2693) 2017-04-25 10:10:35 -04:00
errors_test.go Remove statsd version of RPC stats (#2693) 2017-04-25 10:10:35 -04:00
interceptors.go Remove statsd version of RPC stats (#2693) 2017-04-25 10:10:35 -04:00
interceptors_test.go Remove statsd version of RPC stats (#2693) 2017-04-25 10:10:35 -04:00
pb-marshalling.go Prefer IPv6 addresses, fall back to IPv4. (#2715) 2017-05-08 13:00:16 -07:00
pb-marshalling_test.go Prefer IPv6 addresses, fall back to IPv4. (#2715) 2017-05-08 13:00:16 -07:00
publisher-wrappers.go Remove some last traces of AMQP. (#2687) 2017-04-20 10:43:17 -07:00
ra-wrappers.go Move error wrapping/unwrapping into the interceptors (#2556) 2017-02-13 12:56:23 -05:00
sa-wrappers.go Splits CountRegistrationsByIP to exact-match and by /48. (#2782) 2017-05-30 15:12:20 -07:00
server.go Remove statsd version of RPC stats (#2693) 2017-04-25 10:10:35 -04:00
va-wrappers.go Split grpc/wrappers.go into several files (#2392) 2016-12-06 15:45:31 -08:00