Commit Graph

287 Commits

Author SHA1 Message Date
Abirdcfly c351f37ddc
chore: remove duplicate word in comments (#5616) 2022-08-30 14:01:37 -07:00
Doug Fawley ca5cc0bcad
credentials/google: support new-style xDS cluster names (#5399) 2022-06-06 13:20:12 -07:00
赵延 c44f627fd1
cleanup: replace grpc.WithInsecure with insecure.NewCredentials (#5177) 2022-02-09 11:17:46 -08:00
Anirudh Ramachandra c7f7d3a75c
xds/bootstrap: add plugin system for credentials specified in bootstrap file (#5136) 2022-02-01 14:01:50 -08:00
Easwar Swaminathan 9353ae3bb4
credentials/google: stub out the oauth package in test (#5118) 2022-01-11 14:42:12 -08:00
Easwar Swaminathan b069440926
credentials/google: use grpctest.Tester for tests in this package (#5098) 2022-01-04 08:51:39 -08:00
Adam Babik db9fdf706d
insecure: remove experimental notice (#5069) 2021-12-22 14:28:13 -08:00
Doug Fawley c285fc70e0
cmd/protoc-gen-go-grpc: update version for release (#5070) 2021-12-20 15:40:38 -08:00
Easwar Swaminathan dd767416a6
grpc: implement WithInsecure() using the insecure package (#4718) 2021-11-09 15:42:07 -08:00
Menghan Li 03753f593c
creds/google: fix CFE cluster name check (#4893) 2021-10-25 17:42:07 -07:00
Easwar Swaminathan aaff9e7ab9
grpc: better RFC 3986 compliant target parsing (#4817) 2021-10-14 14:54:02 -07:00
Menghan Li ee479e630f
creds/google: replace NewComputeEngineCredsWithOptions with NewDefaultCredentialsWithOptions (#4830) 2021-10-05 14:49:15 -07:00
Mohan Li 127c052c70
credentials/google: introduce a new API `NewComputeEngineCredsWithOptions` (#4767) 2021-09-30 13:06:50 -07:00
Easwar Swaminathan 4c5f7fb0ee
xds: de-experimentalize xDS apis required for psm security (#4753) 2021-09-15 14:05:59 -07:00
Cesar Ghali 4e07a14b4e
credentials/ALTS: Ensure ALTS record protocol names are consistent (#4754) 2021-09-10 13:58:12 -07:00
yihuaz 0ca7dca977
oauth: Allow access to Google API regional endpoints via Google Default Credentials (#4713) 2021-09-07 09:12:01 -07:00
Doug Fawley d074cae66b
github: fold security tests into 'tests'; update testing to 1.17-1.15 (#4708) 2021-08-26 11:21:36 -07:00
Easwar Swaminathan 712e8d4f57
Remove support for Go 1.13 and older (cont) (#4706) 2021-08-25 14:51:41 -07:00
Zach Reyes b759b408e8
xds: moved shared matchers to internal/xds (#4441)
* Moved shared matchers to internal/xds
2021-05-14 17:02:10 -04:00
Easwar Swaminathan 75497df97f
meshca: remove meshca certificate provider implementation (#4385) 2021-05-04 14:38:47 -07:00
Doug Fawley 74fe6eaa41
github: testing action workflow improvements and update to test Go1.16 (#4358) 2021-04-22 14:59:51 -07:00
lzhfromustc 41676e61b1
Fix goroutine leaks (#4214) 2021-04-19 09:49:37 -07:00
Doug Fawley 87eb5b7502
credentials/google: remove unnecessary dependency on xds protos (#4339) 2021-04-13 16:19:17 -07:00
Menghan Li 950ddd3c37
xds/google_default_creds: handshake based on cluster name in address attributes (#4310) 2021-04-12 09:56:37 -07:00
Aliaksandr Mianzhynski d6abfb4598
cmd/protoc-gen-go-grpc: add protoc and protoc-gen-go-grpc versions to top comment (#4313) 2021-04-09 16:30:59 -07:00
Doug Fawley b331a48e06
alts: re-add vmOnGCP and once globals for easier testing (#4284) 2021-03-23 10:42:27 -07:00
Easwar Swaminathan 1e7119b136
xds: support all matchers for SANs (#4246) 2021-03-15 14:13:13 -07:00
Menghan Li f168a3cb3b
c2p: add google-c2p resolver (#4204) 2021-03-11 14:17:43 -08:00
Easwar Swaminathan e8930beb0e
xds: Prepare to support filter chains on the server (#4222) 2021-03-10 21:12:44 -08:00
Easwar Swaminathan 2c42474aca
pemfile: Make test happy with Go1.16 (#4164)
Go1.16 adds a new unexported field to x509.CertPool which causes our
tests to fail because cmp.Equal() isn't happy. This change introduces a
helper function which compares certprovider.KeyMaterial in a way that
makes the test happy with the new Go version.
2021-01-21 17:21:34 -08:00
Doug Fawley 938f6e2f75
cmd/protoc-gen-go-grpc: add gRPC-Go version comment and update release version (#4152) 2021-01-14 14:28:25 -08:00
Easwar Swaminathan d79063fdde
credentials/xds: Move non-user facing functionality to an internal package (#4117) 2020-12-16 15:46:56 -08:00
Easwar Swaminathan cfef8c7e03
pemfile: Update distributor only inside of the for loop (#4114) 2020-12-16 09:28:28 -08:00
Easwar Swaminathan 17e2cbe887
credentials/xds: ServerHandshake() implementation (#4089) 2020-12-14 09:00:45 -08:00
Easwar Swaminathan c7df457e12
credentials/xds: Rename test file (#4077) 2020-12-04 08:42:31 -08:00
Edmond 8f3cc6cc26
protoc-gen-go-grpc: export grpc.ServiceDesc (#4035) 2020-11-23 14:56:57 -08:00
Easwar Swaminathan 6d0f0110bf
meshca: Don't use the config proto from grpc-proto (#4056) 2020-11-23 09:44:03 -08:00
Easwar Swaminathan fa59d20167
pemfile: Implement certprovider config parsing API (#4023) 2020-11-17 15:36:28 -08:00
Timothy Gu 20636e76a9
protobuf: update protoc to latest version (#4038)
Presently, protoc 3.3.0 (released in 2017) is still being used. This
commit updates the vet.sh script as well as existing generated files to
use protoc 3.14.0 instead.

The only concrete change this brings is updated import paths of
Timestamp and Duration types. However, in practice this is a no-op,
since the types themselves are already aliased to the new import path:

- https://pkg.go.dev/github.com/golang/protobuf@v1.4.3/ptypes/duration#Duration
- https://pkg.go.dev/github.com/golang/protobuf@v1.4.3/ptypes/timestamp#Timestamp
2020-11-16 16:59:46 -08:00
yihuaz aeb04798c5
credentials: fix PerRPCCredentials w/RequireTransportSecurity and security levels (#3995) 2020-11-09 15:33:53 -08:00
Easwar Swaminathan bc01f3fa87
certprovider: API tweaks. (#3987) 2020-11-06 11:24:57 -08:00
Gaurav Gahlot d7a7a304ff
testing: Avoid using context.Background (#3949) 2020-11-05 09:25:17 -08:00
Easwar Swaminathan 4e179b8d3e
pemfile: Move file watcher plugin from advancedtls to gRPC (#3981) 2020-10-30 15:52:55 -07:00
Easwar Swaminathan fe9c99ff4c
xds: CDS balancer security integration. (#3955) 2020-10-30 15:52:14 -07:00
Easwar Swaminathan eb7fc22e45
credentials/xds: Handle no acceptedSANs correctly. (#3965) 2020-10-22 13:37:57 -07:00
Doug Fawley 4e8458e5c6
protobuf: update all generated code to google.golang.org/protobuf (#3932) 2020-10-21 16:05:44 -07:00
Easwar Swaminathan 8153ecea73
credentials/insecure: Implement insecure credentials. (#3964) 2020-10-21 15:07:37 -07:00
Doug Fawley 9519efffeb
cmd/protoc-gen-go-grpc: use grpc.ServiceRegistrar instead of *grpc.Server (#3968) 2020-10-20 13:02:25 -07:00
Easwar Swaminathan 7745e521ff
meshca: Use grpc suffix for grpc specific generated code. (#3954) 2020-10-13 13:51:00 -07:00
Gaurav Gahlot d9063e7af3
standardized experimental warnings (#3917) 2020-10-02 09:11:08 -07:00
Easwar Swaminathan 866de13d56
meshca: CertificateProvider plugin implementation. (#3871) 2020-09-29 17:40:30 -07:00
Easwar Swaminathan 6f47205d8c
credentials/xds: Implementation of client-side xDS credentials. (#3888) 2020-09-29 16:36:05 -07:00
Doug Fawley 02cd07d9bb
cmd/protoc-gen-go-grpc: revert to interface-based service registration (#3911) 2020-09-29 15:17:06 -07:00
Easwar Swaminathan 21f897eab8
xds: Add bootstrap support for certificate providers. (#3901) 2020-09-24 11:29:52 -07:00
Menghan Li 659b82911d
internal: regenerate pb.go (#3893) 2020-09-22 15:17:47 -07:00
Doug Fawley ff9dd65c90
protoc-gen-go-grpc: generate interfaces optionally; remove NewFooService (#3876) 2020-09-16 10:15:56 -07:00
Easwar Swaminathan a3e63e87bd
alts: Specify the build constraints correctly. (#3877)
From the official docs:
A build constraint is evaluated as the OR of space-separated options.
Each option evaluates as the AND of its comma-separated terms.
2020-09-15 09:53:04 -07:00
Easwar Swaminathan 0b575750a9
credentials/alts: Skip ALTS tests on darwin. (#3859)
Anyways, only linux and windows are supported platforms. Running these
tests on darwin causes a top level `make test` to fail, and one has to
scroll all the way up to realize that it is only these alts tests which
have failed, and not something that one is actively working on.
2020-09-01 17:43:01 -07:00
Anton Nep 48bf772d0c
credentials/alts: ClientAuthorizationCheck to case-fold compare of peer SA (#3792) 2020-09-01 16:23:56 -07:00
Easwar Swaminathan d25c71b543
testutils: Add a context parameter to the Receive() method. (#3835) 2020-08-27 13:55:15 -07:00
Doug Fawley d31b671000
cmd/protoc-gen-go-grpc: call interceptor even if handler is unset (#3849) 2020-08-26 16:05:36 -07:00
Doug Fawley 44d73dff99
cmd/protoc-gen-go-grpc: rework service registration (#3828) 2020-08-25 09:28:01 -07:00
Easwar Swaminathan e14f1c23f6
certprovider: API update to include certificate name. (#3797) 2020-08-21 13:59:11 -07:00
Easwar Swaminathan 9310253e11
meshca: Pull in the MeshCA service proto from istio repo. (#3814) 2020-08-13 12:27:18 -07:00
Easwar Swaminathan 0baf4c2d4c
meshca: Pull in the MeshCA config proto from grpc-proto repo. (#3807) 2020-08-13 08:58:51 -07:00
cindyxue 244f9ece7c
credentials: Migrate helper functions to /internal/credentials for future cleanup (#3780)
* credentials: migrate functions in credentials/internal to internal/credentials to be used for other modules
2020-08-10 11:52:32 -07:00
Menghan Li 8beeedb8b1
internal: clean up all usages of grpclog, and replace with component (#3719) 2020-08-06 13:19:17 -07:00
Easwar Swaminathan fd393c8989
testdata: Update testdata certs. (#3786)
* This will be used in certprovider tests where we would want more than one server and client certs.
* Also, updated existing usages of these certs to point to the new  files.
* Also copy over the required certs/key files. This avoids the example gomodule from depending on gRPC testdata package which should be able to change independently.
* Fix interop test's SAN.
2020-08-05 09:55:07 -07:00
Doug Fawley 8bec2f5d89
Re-add Go1.11 support (#3776) 2020-07-31 11:00:10 -07:00
Doug Fawley bc714cd8ae
Remove Go 1.9 / AppEngine support; assume go1.12 build tag (#3767) 2020-07-30 16:15:35 -07:00
ZhenLian dd8658f921
credentials: check and expose SPIFFE ID (#3626)
* credentials: check and expose SPIFFE ID
2020-07-15 23:10:55 -07:00
Ryan Kim 9fcde86ebe
credentials/alts: Change ALTS hsConn to a map (#3741) 2020-07-15 13:08:37 -07:00
Easwar Swaminathan e8fb6c1752
credentials/sts: PerRPCCreds Implementation (#3696) 2020-07-09 12:15:45 -07:00
Garrett Gutierrez 506b773066
Implemented component logging (#3617) 2020-06-26 12:04:47 -07:00
d-reidenbach 9a46550357
alts: Added peer attributes accessor for alts context and updated test method (#3675) 2020-06-16 21:11:41 -07:00
Easwar Swaminathan dfc058c6d9
credentials: Add certificate provider plugin APIs. (#3654)
Also add an implementation for the `Distributor` type which makes it easier to implement new `Provider` types.
2020-06-16 13:57:33 -07:00
Menghan Li b6d6ede3e0
xds: use google default creds (#3673)
- use google default creds, so the client works not only on GCE (e.g. it also reads env variable for creds).
- Change google default creds to use jwt directly if scope is not set.

- Leak check is disabled temporarily due to https://github.com/googleapis/google-cloud-go/issues/2417
2020-06-11 09:48:55 -07:00
Doug Fawley ad51f572fd
protoc-gen-go-grpc: add requirement of embedding UnimplementedServer in services (#3657) 2020-06-04 10:56:13 -07:00
yihuaz a085b3e7f6
credentials/local: fix incorrect binding of listener port (#3656) 2020-06-01 14:55:19 -07:00
Damien Neil f818fd2a02
all: regenerate .pb.go files using cmd/protoc-gen-go-grpc (#3646)
Change regenerate.sh to use cmd/protoc-gen-go-grpc and rerun it.
This splits the gRPC service definitions into separate files, but
otherwise has no changes.
2020-05-28 13:52:49 -07:00
Ryan Kim 5e50693410
credentials/alts: Fix ALTS record crypto interface comments (#3638) 2020-05-21 13:56:55 -07:00
yihuaz 9eb3e7ddf3
credentials: local creds implementation (#3517)
Local credentials should be used in either a UDS and local TCP connection. The former will be associated with the security level PrigvacyAndIntegrity while the latter is associated with NoSecurity. Local credentials should be used instead of WithInsecure for localhost connections.
2020-05-20 15:43:38 -07:00
Damien Neil 15653fec60
all: refactor .pb.go generation (#3451)
Replace various //go:generate lines and regenerate.sh scripts with a
single, top-level regenerate.sh that regenerates all .pb.go files.

Placing generation in a single script ensures that all files are
generated with similar parameters. The new regenerate.sh uses the
protoc-gen-go version defined in test/tools/go.mod and automatically
handles new .proto files as they are added.

Do some minor refactoring on .proto files: Every file now has a
go_package option (which will be required by a future version of the
code generator), and file imports are all relative to the repository
root.
2020-04-24 08:54:03 -07:00
Easwar Swaminathan 6a3c03883d
Pass address attributes from balancer to creds handshaker. (#3548) 2020-04-23 11:03:42 -07:00
Cesar Ghali f9ac13d469
credentials/alts: Properly release server InBytes buffer after the handshake is complete. (#3529) 2020-04-16 15:09:15 -07:00
Menghan Li c97e1d3b72
Revert "credentials/alts: Properly release server InBytes buffer after the handshake is complete. (#3513)" (#3528)
This reverts commit 7c3fd13027.
2020-04-14 15:09:23 -07:00
Cesar Ghali 7c3fd13027
credentials/alts: Properly release server InBytes buffer after the handshake is complete. (#3513) 2020-04-09 22:35:28 -07:00
Easwar Swaminathan 85e3a6fdd7
credentials: Update doc strings for NewClientTLSFromCert et. al. (#3508) 2020-04-08 11:05:45 -07:00
Jiangtao Li 399ae78064
alts: add trailing dot to metadata.google.internal (#3460) 2020-03-16 10:14:15 -07:00
Garrett Gutierrez a10661dd0a
credentials: deprecate ProtocolInfo.SecurityVersion (#3372)
credentials: deprecate ProtocolInfo.SecurityVersion (#3372)
2020-02-14 10:10:00 -08:00
Garrett Gutierrez 132187f04c
Modified tests to use tlogger. (#3343)
* Modified tests to use tlogger.

* Fail on errors, with error expectations.

* Added expects and MixedCapsed grpclb_config tests

* Moved tlogger to grpctest, moved leakcheck tester to grpctest.go

* Added ExpectErrorN()

* Removed redundant leak checks

* Fixed new test

* Made tlogger globals into tlogger methods

* ErrorsLeft -> EndTest

* Removed some redundant lines

* Fixed error in test and empty map in EndTest
2020-02-06 13:03:20 -08:00
Doug Fawley b88d2d7465
protobuf: update protoc-gen-go version and generated code (#3345) 2020-01-30 10:23:21 -08:00
ZhenLian 69baa3f192 credentials: close tls.Conn on failure (#3300) 2020-01-10 13:41:22 -08:00
yihuaz 4346c5926d credentials: create API for transport security level information (#3214) 2020-01-07 15:38:45 -08:00
Cesar Ghali a2a5ae5d4d
credentials/alts: Add Client Authorization Utility API (#3271)
Add client authorization util API
2019-12-20 10:01:56 -08:00
Doug Fawley 9f02faeffa
credentials: move TLS implementation to a separate file (#3243) 2019-12-11 13:11:24 -08:00
Cesar Ghali 14426e9c3a
credentials/alts: Ensure that GetBytesConsumed is in-bound (#3225) 2019-12-03 22:21:17 -08:00
Cesar Ghali 22854c88e0
credentials/alts: Simplify ALTS acquire and release APIs (#3221) 2019-12-03 15:43:33 -08:00
Easwar Swaminathan 645dd12f13
alts: Update handshaker.pb.go 2019-12-03 15:28:59 -08:00
Cesar Ghali 1e36139a79
credentials/alts: Set the handshake extra slice correctly (#3222) 2019-12-03 11:01:32 -08:00