Commit Graph

415 Commits

Author SHA1 Message Date
Hope Casey-Allen 59564ebd96 Fix warnings to unblock gcc8 support 2019-08-20 16:02:53 -07:00
Yihua Zhang ae863630d5 Add spiffe client-side credential reload 2019-08-12 14:12:13 -07:00
Alexander Polcyn 609107586a Add a way for tests with LeakDetector to free the control plane creds map 2019-07-22 20:40:34 -07:00
Alexander Polcyn 6898c23a5d Add experimental control plane creds C-core API 2019-07-22 16:03:02 -07:00
Julien Boeuf 109edca971 Adding C++ API and implementation for STS credentials:
- marked as experimental.
- also changed the name of a field in the options struct.
2019-07-09 22:28:44 -07:00
Soheil Hassas Yeganeh 39e982a263
Merge pull request #19488 from soheilhy/string-view2
Introduce string_view and use it for gpr_split_host_port
2019-07-01 13:53:16 -04:00
Yang Gao a0e76c0300
Merge pull request #19484 from yang-g/oauth
Update oauth2 token endpoints
2019-06-28 09:50:04 -07:00
Soheil Hassas Yeganeh ea63c00d38 Revert "Fix build failure in credential_test.cc"
This reverts commit dc858eea25.
2019-06-27 20:56:15 -04:00
Soheil Hassas Yeganeh dc858eea25 Fix build failure in credential_test.cc 2019-06-27 14:19:15 -04:00
yang-g 7a4b6b7e30 Update oauth2 token endpoints 2019-06-26 15:02:19 -07:00
Julien Boeuf 189c2c8c30 Adding support for STS Token Exchange Creds in core:
- IETF specification is available here:
https://tools.ietf.org/html/draft-ietf-oauth-token-exchange-16
2019-06-26 12:48:05 -07:00
Esun Kim 90fbdc92f5 Roll-forward "Config migration"
This reverts commit 236ae12bb1.
2019-05-20 15:47:24 -07:00
Alexander Polcyn 236ae12bb1 Revert "Config migration"
This reverts commit 87905ae5ea.
2019-05-14 14:36:33 -07:00
Esun Kim 87905ae5ea Config migration 2019-05-09 12:29:38 -07:00
Yihua Zhang 57caf78407 fix ALPN issues. 2019-04-01 08:48:35 -07:00
Soheil Hassas Yeganeh 18b19105f2 Implement TCP_INQ for gRPC in Linux
TCP_INQ is a socket option we added to Linux to report pending bytes
on the socket as a control message.

Using TCP_INQ we can accurately decide whether to continue read or not.
Add an urgent parameter, when we do not want to wait for EPOLLIN.

This commit improves the latency of 1 RPC unary (minimal benchmark)
significantly:

  Before:
    l_50: 61.3584984733
    l_90: 94.8328711277
    l_99: 126.211351174
    l_999: 158.722406029

  After:
    l_50: 51.3546011488 (-16%)
    l_90: 72.3420731581 (-23%)
    l_99: 103.280218974 (-18%)
    l_999: 130.905689996 (-17%)
2019-03-06 22:15:53 -05:00
yang-g 456f748b2f Revert "Merge pull request #18146 from grpc/revert-17308-shutdown"
This reverts commit 9079e98dfc, reversing
changes made to 76a38bfcc2.
2019-02-25 10:11:06 -08:00
Yang Gao 4bc2ca4de6
Revert "Move grpc_shutdown internals to a detached thread" 2019-02-22 16:34:24 -08:00
yang-g 86b23adc7f Other comments 2019-02-15 16:26:31 -08:00
yang-g bc946d6c6d merge with head and resolve conflicts 2019-02-12 15:00:32 -08:00
Arjun Roy 195a30bb8b Grpc: Change grpc_handshake and grpc_handshake_mgr to use CPP implementations.
grpc_handshake is renamed to GrpcHandshake, using C++ class definitions
instead of C-style vtable classes. Update callers to use new interfaces.
We use RefCountedPtr to simplify reference tracking.
2019-02-11 11:35:08 -08:00
Chris Wilcox df6cf7c741 Add period at end of metadata.google.internal to prevent unnecessary DNS lookups. 2019-01-24 09:37:32 -08:00
yang-g cf806915fc Merge branch 'master' into shutdown 2018-12-21 13:36:30 -08:00
Mark D. Roth b96196f655
Merge pull request #17547 from markdroth/alignment_cleanup
Remove now-unnecessary workarounds for alignment issues.
2018-12-20 10:07:59 -08:00
yang-g 3c8d24ba2c merge with head and resolve conflict 2018-12-19 10:13:41 -08:00
Mark D. Roth 09a173b4b6 Remove now-unnecessary workarounds for alignment issues. 2018-12-18 15:09:48 -08:00
yang-g 038a71d826 Merge remote-tracking branch 'upstream/master' into gpr_test_util_to_grpc_test_util 2018-12-17 08:52:20 -08:00
Soheil Hassas Yeganeh 9decf48632 Move security credentials, connectors, and auth context to C++
This is to use `grpc_core::RefCount` to improve performnace.
This commit also replaces explicit C vtables, with C++ vtable
with its own compile time assertions and performance benefits.
It also makes use of `RefCountedPtr` wherever possible.
2018-12-13 10:38:12 -05:00
yang-g 67742ef63f Fix BUILD files. Manually edit bzl files 2018-12-06 14:37:52 -08:00
yang-g 991963efcc Merge branch 'master' into shutdown 2018-12-05 14:53:06 -08:00
Yihua Zhang 750e80ea1c bring back original network test for metadata server detection 2018-12-05 10:27:01 -08:00
yang-g e75fc243da change tests to use the new class instead of grpc_test_init 2018-11-30 08:57:38 -08:00
yang-g cdd698810b Move grpc_shutdown internals to a detached thread 2018-11-27 14:26:08 -08:00
yang-g a35f55fd70 move helper function into namespace 2018-10-26 14:28:52 -07:00
yang-g 83d74bf6fc Remove the internal cache for google_default_credentials 2018-10-26 14:04:36 -07:00
yihuaz e976f69972
Merge pull request #16963 from yihuazhang/security_connector_refactor_new
security connector refactor
2018-10-24 13:14:28 -07:00
Yihua Zhang 81bc942cd8 security connector refactor 2018-10-22 09:37:48 -07:00
Yihua Zhang bed575c8b1 Do not pass interested_parties during handshake 2018-10-12 16:05:51 -07:00
Yihua Zhang 70a6c790b9 Add changes in #16782 2018-10-05 10:17:09 -07:00
jiangtaoli2016 e361d0f691 Turn loading system root certificate as default 2018-09-04 15:23:20 -07:00
Chris Lamb fba18d8551 Fix a number of spelling errors. 2018-08-22 16:52:46 +01:00
tdbhacks bcd747d42d Added system roots feature to load roots from OS trust store
Added a flag-guarded feature that allows gRPC to load TLS/SSL
roots from the OS trust store. This is the Linux-specific
implementation of such feature.
2018-08-09 11:01:31 -07:00
Dan Rosart 477a1aec5a Don't segfault when product name from BIOS is empty
Somehow some Dell servers we're trying to run a gRPC client on have an empty product name in the BIOS. When gRPC tries to creadte default credentials, it checks whether it's running on GCE by strcmp()ing the contents of /sys/class/dmi/id/product_name to some magic strings. When it reads that file, it gets only a newline; in trim() it skips over the newline in both directions, and since end < start it returns nullptr. This causes a segfault in the strcmp() call. Since a machine without a product name clearly isn't GCE, change it to return false instead.
2018-07-03 13:13:37 -07:00
Dan Rosart f54fc5b53a Include port_platform in gcp_environment tests.
Both the Windows and Linux tests use platform-specific macros to
determine whether they should execute, but they weren't including the
file where those macros were defined, so they were always running the
else case of that check, which meant they weren't testing anything.
2018-06-27 16:57:11 -07:00
adelez 5bdd9a8cb9
Revert "Revert "Add suppressions to sanitizers for bazel builds"" 2018-06-15 16:31:21 -07:00
Nicolas Noble 43557fee0b
Revert "Add suppressions to sanitizers for bazel builds" 2018-06-14 10:49:11 -07:00
Adele Zhou 4cd659505c Add data param to grpc_cc_library 2018-06-13 15:36:28 -07:00
Yihua Zhang e145c52286 use a new gcp env check mechansim 2018-05-18 10:03:05 -07:00
Yihua Zhang cc93663910 Add ALTS fuzzer 2018-05-08 10:15:03 -07:00
Yihua Zhang 392dad7134 incorporate alts to google default creds 2018-05-03 20:12:20 -07:00