Commit Graph

4124 Commits

Author SHA1 Message Date
Esun Kim c20f10310c
Added GRPC_MUST_USE_RESULT_WHEN_USE_STRICT_WARNING to grpc::Status (#29363)
* Added GRPC_MUST_USE_RESULT_WHEN_USE_STRICT_WARNING to grpc::Status

* Added Comment
2022-05-05 12:07:07 -07:00
AJ Heller 786cb14140
Rename LookupTaskHandle internal variable (#29535)
All handle types are now the same internally, which makes generic code a
bit easier to write.
2022-05-03 10:29:20 -07:00
ZhenLian 2badafbc4d
Expose NoOpCertificateVerifier to C++ (#29322)
* expose NoOpCertificateVerifier to C+
2022-04-27 13:46:01 -07:00
ZhenLian bba7568646
Update Documentation for AuthMetadataProcessor (#28985)
* update documentation for auth metadata processor
2022-04-27 13:42:16 -07:00
AJ Heller 21c6f8d757
Reland: Add DNS Server address override to the EventEngine API (#29493)
This reverts commit fb4b6c7776.
2022-04-26 11:02:59 -07:00
AJ Heller fb4b6c7776
Revert "Add DNS Server address override to the EventEngine API (#29485)" (#29492)
This reverts commit c462bb8d48.
2022-04-25 14:21:58 -07:00
AJ Heller c462bb8d48
Add DNS Server address override to the EventEngine API (#29485)
* Add DNS Server address override to the EventEngine API

* instead, override authority in GetDNSResolver; other fixes

* feedback

* constrain dns_server format to "IP:port"
2022-04-22 15:11:15 -07:00
chrisse74 5968cb62c8
Fix deprecated inheritance of std::iterator (#28212) 2022-04-22 13:25:04 -07:00
Vignesh Babu 6f3d7ccdb1
Modifying slice buffer add to merge two contiguous slices sharing the same refcount object (#29466)
* Modifying slice buffer add to merge two contiguous slices sharing the same refcount object

* sanity checks

* updating test

* fixing grpc_slice_buffer_add API misuse in proto utils

* fix sanity checks

* minor fix
2022-04-22 11:54:41 -07:00
Mark D. Roth 60c56f7d01
Second attempt: implement ORCA RPC service for OOB backend metric reporting (#29352)
* Revert "Revert "ORCA: implement ORCA RPC service for OOB backend metric reporting (#29215)" (#29351)"

This reverts commit 71b355624f.

* move ORCA service to its own BUILD rule
2022-04-08 11:12:18 -07:00
Mark D. Roth 71b355624f
Revert "ORCA: implement ORCA RPC service for OOB backend metric reporting (#29215)" (#29351)
This reverts commit 6d6380de58.
2022-04-07 16:15:49 -07:00
Mark D. Roth 6d6380de58
ORCA: implement ORCA RPC service for OOB backend metric reporting (#29215)
* ORCA: implement ORCA RPC service for OOB backend metric reporting

* fix unused parameter error

* gen_upb_api

* add missing build deps

* increase test timing fudge factor

* add missing copyright header

* buildifier

* don't register as a generic service

* report interval defaults to min interval

* don't regenerate the response proto unless something changed

* use INTERNAL for proto parsing failure

* use absl::Duration in public API
2022-04-07 07:58:58 -07:00
Craig Tiller 1dff2dc660
We must always post a recv initial metadata (#29145)
* We must always post a recv initial metadata

* remove spurious change
2022-03-17 17:28:14 -07:00
Yash Tibrewal a1620ce2bd
HTTP2: Don't throttle pings from the server (#29053)
* HTTP2: Don't throttle pings from the server

* Reviewer comments
2022-03-09 17:12:03 -08:00
Craig Tiller fe913387da
Remove idempotent/cacheable requests (#28922)
* Remove idempotent/cacheable requests

* more cleanup

* bump core version

* fix

* fix

* fix

* review feedback

* fixes

* fix

* remove more

* objc

* fix

* fix

* fix

* scrub

* Modify XdsRbacTests

Co-authored-by: Yash Tibrewal <yashkt@google.com>
2022-03-04 14:42:59 -08:00
Mark D. Roth 6d61efe27c
retry: update comment to indicate transparent retries are implemented (#29003) 2022-03-02 14:59:18 -08:00
Craig Tiller 33ec154cee
Revert "Enable GRPC_ERROR_IS_ABSEIL_STATUS (#28898)" (#28939)
This reverts commit f00e842609.
2022-02-21 20:42:02 -08:00
AJ Heller 85189b24bb
Reintroduce: Avoid fully qualifying namespaces (and add check) (#28917)
Based on a handful of https://abseil.io/tips, it's generally advised to
only fully-qualify namespaces when in a `using` statement, or when it's
otherwise required for compilation. In all other cases, the general
recommendation is to not fully-qualify.

This change fixes most `grpc.*` namespace uses. There are potential
challenges in trying to make blanket changes to non-gRPC namespace uses,
such as `::testing`, since there is also a `grpc::testing` namespace.
2022-02-18 16:18:54 -08:00
Esun Kim f00e842609
Enable GRPC_ERROR_IS_ABSEIL_STATUS (#28898)
* Python support

* Fix Ruby errors

* Eanble GRPC_ERROR_IS_ABSEIL_STATUS

* Remove use_abseil_status=true build
2022-02-18 08:48:36 -08:00
AJ Heller e72a5fe5dd
Revert "Avoid fully qualifying namespaces (and add check) (#28901)" (#28916)
This reverts commit fc7314c701.
2022-02-17 17:56:19 -08:00
AJ Heller fc7314c701
Avoid fully qualifying namespaces (and add check) (#28901)
Based on a handful of https://abseil.io/tips, it's generally advised to
only fully-qualify namespaces when in a `using` statement, or when it's
otherwise required for compilation. In all other cases, the general
recommendation is to not fully-qualify.

This change fixes most `grpc.*` namespace uses. There are potential
challenges in trying to make blanket changes to non-gRPC namespace uses,
such as `::testing`, since there is also a `grpc::testing` namespace.
2022-02-17 16:23:25 -08:00
Ashitha Santhosh 1fee3d72be
remove SDK term from gRPC authz (#28843) 2022-02-14 11:44:15 -08:00
Ming-Chuan 1c8073828c
Always define GPR_SUPPORT_BINDER_TRANSPORT on Android (#28822)
We previously have this restriction because some code does not compile
with older NDK version. Now the binder transport implementation loads
the library and resolves symbols at runtime so we don't need the
compile time restriction anymore (and in some case it is overly
restrictive)

Later we might consider remove the GPR_SUPPORT_BINDER_TRANSPORT symbol
and simply use GPR_ANDROID, once we become sure that binder transport
will always be available on Android at compile time.
2022-02-14 15:43:30 +08:00
yihuaz b458db9246
Eliminate gRPC insecure build (#25586)
* force submit

* fix test error

* remove is_client from local tsi and its callsites

* fix too_many_pings_test

* add missing dep
2022-02-10 11:17:18 -08:00
Esun Kim 342cb4457c
Added a temporary trap to prevent Abseil-Status breakages. (#28766)
* Added a new trap to prevent build errors with use_abseil_status enabled

* Fix build errors.
2022-02-03 14:47:04 -08:00
Nikolai Semenov 7b8fb43b33
WriteOptions::clear_write_through method (#26774)
* Add WriteOptions::clear_write_through method

* Rearrange WriteOptions methods in a logical manner
2022-01-31 18:36:46 -08:00
Tamir Duberstein 5c474b0c84
Relocate shared EventEngine APIs (#28721)
Partially collapse `event_engine_factory.cc` into `event_engine.cc`. Add a
new function `DefaultEventEngineFactory` which is used to set a default
event engine factory at link time, separate from the factory that can be
set at run time. Implemenet this function in
`default_event_engine_factory.cc`.

This allows alternative default event engine factories to be implemented
without requiring the duplication of the implementations of
`SetDefaultEventEngineFactory`, `CreateEventEngine`, and
`GetDefaultEventEngine`.
2022-01-28 10:00:54 -08:00
AJ Heller 5dfeec7a7e
Update docs for ServerAsyncResponseWriter::Finish object lifetimes (#28290)
Fixes #28239
2022-01-26 20:43:44 -08:00
krestofur 1cdcd88fb1
Add experimental API for CRL checking support to gRPC C++ TlsCredentials (#28407) 2022-01-26 20:23:48 -08:00
Craig Tiller 74a2cb6e2b
Revert "Revert "Reland slice changes (#28601)" (#28615)" (#28624)
* Revert "Revert "Reland slice changes (#28601)" (#28615)"

This reverts commit 939bbfc336.

* Change random seed back to nanoseconds
2022-01-20 12:47:33 -08:00
Mark D. Roth 881da3e941
core: improve documentation for GRPC_ARG_DNS_ENABLE_SRV_QUERIES (#28634) 2022-01-20 09:26:19 -08:00
Craig Tiller 939bbfc336
Revert "Reland slice changes (#28601)" (#28615)
This reverts commit b33e0d40af.
2022-01-19 09:40:19 -08:00
Vignesh Babu aeea02fab8
TLS Session Keys export for GRPC C++ (#26812)
* Adding TLS Key export logic to core and c++ wrappers

* Adding and end2end cpp tls key export test and updating broken test due to interface changes

* regenerate projects

* updating tls key export core logic with addition of APIs to grpc_security.h

* undoing changes to tls_security_connector_test

* regenerate projects

* changing the logging format enum name as per GRFC comments

* regenerate projects

* removing some commented code

* updating changes as per review comments

* adding GRPCAPI annotations to functions defined in grpc_security.h

* regenerate projects

* fixed some code styling issues

* removing grpc_security.h include from tls_credentials_options.h

* updating files as per review comments

* minor fixes

* moving some code around

* removing key log format from tls session key log config and converting it to a simple string

* regenerate projects

* fixing mistakes in recent merge with master

* regenerate projects

* regenerate projects

* fixing some distrib and snity errors

* fixing formatting errors

* fixing more sanity checks and raising supported openssl versions to 1.1.1

* updating min supported openssl version to 1.1.1

* updating min supported openssl version in tls_key_export_test

* updating test to fix incorrect vector initialization

* updating as per latest comments

* fixing sanity checks

* addressing review comments

* fixing sanity checks

* fixed c++ comment style

* Automated change: Fix sanity tests

* fixing review comments

Co-authored-by: Vignesh2208 <Vignesh2208@users.noreply.github.com>
2022-01-18 14:44:55 -08:00
Craig Tiller b33e0d40af
Reland slice changes (#28601)
* Revert "Revert "Eliminate slice interning (#28363)" (#28598)"

This reverts commit 03bf699600.

* fix?
2022-01-18 09:29:49 -08:00
Jan Tattermusch 03bf699600
Revert "Eliminate slice interning (#28363)" (#28598)
This reverts commit 6703186b7a.
2022-01-18 15:44:18 +01:00
Ming-Chuan 93733de253
Add SameSignatureSecurityPolicy for binder transport (#27816)
Tested signing example server and example client APKs with different
debug key, worked as intended.
2022-01-18 15:01:01 +08:00
Craig Tiller 6703186b7a
Eliminate slice interning (#28363)
Eliminate slice interning, and structures in slices to support it.
Reduces grpc_slice_refcount from 40 bytes (+ a required 8 bytes elsewhere) to 16 bytes.
Removes a pointer dereference for every slice ref/unref.

Co-authored-by: ctiller <ctiller@users.noreply.github.com>
2022-01-17 20:25:45 -08:00
Ming-Chuan 97b87da470
Revert "Revert "[BinderTransport] Allow finding Java class using custom class finder (#28348)" (#28496)" (#28508)
* Revert "Revert "[BinderTransport] Allow finding Java class using custom class finder (#28348)" (#28496)"

This reverts commit ecf6a7fa95.

* Add missing include directives
2022-01-11 01:21:45 +08:00
Alisha Nanda ecf6a7fa95
Revert "[BinderTransport] Allow finding Java class using custom class finder (#28348)" (#28496)
This reverts commit 75ede8df91.
2022-01-07 09:56:42 -08:00
Ming-Chuan 75ede8df91
[BinderTransport] Allow finding Java class using custom class finder (#28348)
In some some situation it is not feasible to invoke
`InitializeBinderChannelJavaClass` in non-native threads.
And the intended way to find Java class is through class loader cached
at program initialization.

This commit adds a new API that accepts a class finder from user and
uses the function to find and cache binder transport Java util class.
2022-01-07 16:48:17 +08:00
krestofur 7759632a2d
Add CRL checking to gRPC Core (#28418) 2022-01-05 14:28:19 -08:00
Vignesh Babu 24778bf8ea
Revert "Enable CRL checking in gRPC core (#26287)" (#28416)
This reverts commit 7d8c9ae890.
2021-12-23 13:20:31 -08:00
krestofur 7d8c9ae890
Enable CRL checking in gRPC core (#26287)
* enable crl checking in gRPC C core
2021-12-22 13:24:20 -08:00
Craig Tiller 264c321d83
Move compression related metadata to the new system (#28223)
* Eliminate most of grpc_message metadata handling

* Eliminate most of host metadata handling

* Remove more callouts without fixing code

* fiiixes

* typo

* Automated change: Fix sanity tests

* try-shrink

* Automated change: Fix sanity tests

* size tweaks

* less tricks

* deunique

* commonize

* commonize

* Automated change: Fix sanity tests

* size tuning, fixes

* Automated change: Fix sanity tests

* fix

* size tuning, fixes

* remove constexpr

* fix

* reuse code

* fix

* tweak code

* more tweaks

* tell no lies

* fixes

* fixes

* Automated change: Fix sanity tests

* fix

* fix

* fix

* fix

* fix?

* fix binder

* fix

* fix

* fixes

* Automated change: Fix sanity tests

* fix

* initial refactoring

* optimize status encoding

* Automated change: Fix sanity tests

* Automated change: Fix sanity tests

* content-type

* Automated change: Fix sanity tests

* clang-format

* fix

* Move colon prefixed metadata

* Automated change: Fix sanity tests

* Automated change: Fix sanity tests

* try to fix windows failure

* try and scale sizes better

* ambiguity fix?

* wip metadatavalueasslice

* Fix status code for resource exhaustion

* Revert "Revert "Move a bunch of slice typed metadata to new system (#28107)" (#28208)"

This reverts commit 7717587063.

* fix test

* Automated change: Fix sanity tests

* Automated change: Fix sanity tests

* slice helper

* x

* noinline

* try and scale sizes better

* Automated change: Fix sanity tests

* fixes

* fix

* fix

* fixes

* fix build

* fix overflow

* progress

* Automated change: Fix sanity tests

* fix

* initial work

* progress

* fix

* fix

* Automated change: Fix sanity tests

* progress

* fix

* fix

* fix

* Automated change: Fix sanity tests

* fix

* compressor for path/authority

* Automated change: Fix sanity tests

* Automated change: Fix sanity tests

* legalize

* legalize

* status-enc

* fmt

* fix

* fix

* fix

* fix

* fix/opt

* fix

* fix

* fix

* fix

* Automated change: Fix sanity tests

* fix

* comment

* fmt

* remove arg

* Automated change: Fix sanity tests

* remove name

* Automated change: Fix sanity tests

* add specialized encoders for compression metadata

* review feedback

* fix

* missoing files

* Small improvement in memory usage and performance

* Automated change: Fix sanity tests

* Automated change: Fix sanity tests

* Fix caching

* Automated change: Fix sanity tests

* fix crash in alts

* default everything

* Automated change: Fix sanity tests

* review feedback

* fixes

* fixes

* fixes

* Automated change: Fix sanity tests

* speedup

* fix

* fix

* fixes

* fixes

* fixes

* Automated change: Fix sanity tests

* fix

* remove debug code

Co-authored-by: ctiller <ctiller@users.noreply.github.com>
2021-12-15 15:47:56 -08:00
Yash Tibrewal 3689072979
xDS: Add graceful shutdown for old connections on listener resource update (#28154)
* xDS: Add graceful shutdown for old connections on listener resource update

* Add TODOs for review

* Reviewer comments

* Reviewer comments

* Fix merge

* Fix comment

* s/GRPC_ARG_DRAIN_GRACE_TIME_MS/GRPC_ARG_SERVER_CONFIG_CHANGE_DRAIN_GRACE_TIME_MS
2021-12-02 15:42:47 -08:00
Yash Tibrewal 50a207ee9c
Promote ClientContext::set_wait_foor_ready to be non-experimental (#28247) 2021-12-01 18:57:41 -08:00
Ashitha Santhosh 1290364374
Plumb subject field and add to authz flow. (#27615)
* Plumb subject field and add to authz flow.

* formatting

* Test on empty principal

* resolving comments

* resolving comment

* update subject check in test
2021-11-29 17:04:44 -08:00
Ming-Chuan 355a324cae
Remove extra ';' after member function definition (#28038)
Some user of gRPC library have [-Werror,-Wextra-semi] set and this extra
';' makes the code uncompilable
2021-11-15 09:45:45 -08:00
Craig Tiller a629c9a03e
Reland resource quota work (#28017)
* Check if memory owner available prior to polling it

The transport may drop the memory owner during its destruction sequence

* tcp_fix

* Revert "Revert "New resource quota integration (#27643)" (#28014)"

This reverts commit 0ea2c37263.

* clang-format

* fix-path

* fix
2021-11-15 08:23:51 -08:00
Craig Tiller 0ea2c37263
Revert "New resource quota integration (#27643)" (#28014)
This reverts commit 39f0877d25.
2021-11-11 14:26:19 -08:00