Craig Tiller
87a973f01d
Add structurally aware fuzzing support ( #27405 )
...
* Add a dependency on libprotobuf-mutator
* Changes for structured fuzzing
* fuzznificent
* add a config that will build fuzzers
* bazel run --config=fuzzer_asan //path/to:fuzzer fuzzes!
* fixes
* Automated change: Fix sanity tests
* Automated change: Fix sanity tests
* fixes
* fix
* sanitizer fix
* fix directory
* regen stuff
* compile error
* remove fuzzers from cmake build
* Automated change: Fix sanity tests
* review feedback
* remove unnecessary load
* review feedback
* review feedback
Co-authored-by: ctiller <ctiller@users.noreply.github.com>
3 years ago
Ta-Wei Tu
b7f27209cf
Server fuzzer for binder transport ( #27122 )
...
* [binder] Add server fuzzer
* Add a crash reproducer related to #27321
* Address coments & fix bugs
* Rebase & Deal with merge conflicts
3 years ago
Craig Tiller
66ae0d5c08
Separate slices from mdelems for static data ( #27372 )
...
* separate slice into internal and refcount, with refcount being the minimal base
* python3-ize
* Separate slices from mdelems for static data
Allows us to separate a small build target with just some slice basics
from the rest, which will help simplify the build system longer term.
Additionally exposed an opportunity to eliminate an init function.
Should also help in a month or so when it's time to jettison interned
metadata and slices entirely.
* fix compilation
* Automated change: Fix sanity tests
* fixes
* fixfixfix
Co-authored-by: ctiller <ctiller@users.noreply.github.com>
3 years ago
Craig Tiller
ffb2c5e599
Metadata: replace usage of grpc_metadata_batch_link_{head,tail} with Link{Head,Tail} method ( #27419 )
...
* Metadata: replace usage of grpc_metadata_batch_link_{head,tail} with Link{Head,Tail} method
* Automated change: Fix sanity tests
Co-authored-by: ctiller <ctiller@users.noreply.github.com>
3 years ago
Esun Kim
47586fb36e
Revert "Revert "Added absl::Status support to error_utils ( #27358 )" ( #27418 )" ( #27429 )
...
This reverts commit 933676c56c
.
3 years ago
Craig Tiller
933676c56c
Revert "Added absl::Status support to error_utils ( #27358 )" ( #27418 )
...
This reverts commit 9b3f75d322
.
3 years ago
Craig Tiller
b669a3c521
Revert "Revert "a useful change ( #27381 )" ( #27411 )" ( #27412 )
...
This reverts commit 5db17f7350
.
3 years ago
Esun Kim
9b3f75d322
Added absl::Status support to error_utils ( #27358 )
3 years ago
Craig Tiller
9872da79a1
Eliminate grpc_metadata_batch_{init,destroy,move} ( #27349 )
...
* Eliminate grpc_metadata_batch_{init,destroy,move}
* fixes
* fixes
* fixes
* fixes
* portability fixes
* fixes
* fix
* fix
* fix
* be explicit about being explicit
3 years ago
donnadionne
1caff522e4
Adding a log to make logging in WaitForAllBackends and WaitForBackend ( #27365 )
...
consistent.
This helps to uncover a case where the first test in the shard seems to
encounter longer delays than the rest of the tests.
3 years ago
Craig Tiller
5db17f7350
Revert "a useful change ( #27381 )" ( #27411 )
...
This reverts commit 11eb70bbed
.
3 years ago
Craig Tiller
11eb70bbed
a useful change ( #27381 )
...
* a useful change
* Automated change: Fix sanity tests
* fix
* fix
* QsortCompare it is!
* Automated change: Fix sanity tests
* add missing header
* clang-tidy fixes, tweak clamp to only use <
Co-authored-by: ctiller <ctiller@users.noreply.github.com>
3 years ago
Craig Tiller
179cdfcadb
Update fuzzer infrastructure for developers a little ( #27403 )
...
* add a config that will build fuzzers
* bazel run --config=fuzzer_asan //path/to:fuzzer fuzzes!
3 years ago
Craig Tiller
4d7ad5271a
Handle cancellation inside polling an activity ( #27369 )
...
* allow cancellation during run
* add a test
* review feedback
3 years ago
Ta-Wei Tu
f7998db700
Migrate binder transport end-to-end tests to use the existing testing service ( #27179 )
...
* Use TestServiceImpl in binder end-to-end tests
* Fix TSAN warnings
3 years ago
Craig Tiller
fb73292270
Promises: Fix composition problems of loops of seq ( #27337 )
...
* Promises: Fix composition problems of loops of seq
* Automated change: Fix sanity tests
Co-authored-by: ctiller <ctiller@users.noreply.github.com>
3 years ago
Ming-Chuan
8c425189f3
Add uid to OnTransactCb argument ( #27328 )
...
* Add uid to OnTransactCb argument
This will allow callback functions to check if current RPC call conforms
to the security policy.
3 years ago
Craig Tiller
c6a20601dc
Activities: Don't execute inline ( #27341 )
...
* Activities: Don't execute inline
* fix test
3 years ago
Alisha Nanda
0a502d8f2e
Fix race between Read and ServerContext::IsCancelled in Sync API ( #27056 )
...
* Fix OOM issues in qps tests
* Add more verbose logging.
* Fix clang error
* Fix race between IsCancelled and Read
* Fix build errors from using bool in C code
3 years ago
Ta-Wei Tu
b45568212f
[binder] Client fuzzer ( #27052 )
...
* Add client fuzzer
* Limit readable parcel size to 1MB
3 years ago
Esun Kim
91e0660638
Replace grpc_error* with grpc_error_handle ( #27311 )
...
* Replace grpc_error* with grpc_error_handle
* fix python build
3 years ago
Craig Tiller
fd233193ec
Encapsulate metadata aggregates ( #27262 )
...
* Encapsulate metadata aggregates
* Automated change: Fix sanity tests
* add const
* Automated change: Fix sanity tests
* add a comment about an awful api
Co-authored-by: ctiller <ctiller@users.noreply.github.com>
3 years ago
Ta-Wei Tu
8d5b93eacc
[binder] Clean up parcel interfaces ( #27322 )
...
Some changes:
* OnTransactCb now takes a non-const ReadableParcel* so that testing
codes no longer have to rely on mutable.
* Remove GetReadableParcel() interface from binder since we only sent
one-way transaction and the output (readable) parcel is never used.
* Remove GetDataPosition() / SetDataPosition() interfaces since they are
both unused.
* Some changes that should've been made to #27257 but was somehow
missing...
3 years ago
Denny C. Dai
e5c2a820ab
[objc] Debug logging for CFNetwork test flake ( #27338 )
3 years ago
donnadionne
10f218030d
xDS retry policy should be considered present even if there are no supported policies in retry_on ( #27315 )
...
* Ensure that per route retry policy (even when there are no supported
retry_on statuses) still takes precedence over virtual host level retry
policy.
Added a test to guard this case.
* Taking care of code review comments and removing unnecessary block
3 years ago
Craig Tiller
ac9e52181b
Activities: Add force wakeup API ( #27336 )
...
* Activities: Add force wakeup API
* Automated change: Fix sanity tests
Co-authored-by: ctiller <ctiller@users.noreply.github.com>
3 years ago
Craig Tiller
29948df4ba
Activities: allow empty wakers ( #27335 )
3 years ago
Lidi Zheng
15184d30ad
Fix injected abort error not recorded after injected delay ( #27215 )
...
* Fix injected abort error not recorded after injected delay
* Add the abort after delay test case
* Make Kokoro's clang_format happy
3 years ago
Ta-Wei Tu
d24f89d79d
[binder] Fix Android guard in binder server ( #27326 )
...
Android-related binder classes are only available if
GPR_SUPPORT_BINDER_TRANSPORT is defined. Thus, BinderServerCredentials
should only work if GPR_SUPPORT_BINDER_TRANSPORT (instead of
GPR_ANDROID) is defined as well.
3 years ago
Ming-Chuan
776b452e48
Fix ReadableParcelAndroid::ReadString interface ( #27260 )
...
* Fix ReadableParcelAndroid::ReadString interface
Also uses implementation from android/binder_parcel_utils.h to read
ByteArray and string from Parcel
Test example app on device, works correctly
3 years ago
Ta-Wei Tu
71ceae7369
[binder] Use AParcel_getDataSize() in flow-control ( #27257 )
3 years ago
Ta-Wei Tu
52e5b64c5b
[binder] Handle outbound flow control ( #27243 )
3 years ago
Ta-Wei Tu
554bbb6ca5
[binder] Fix WireReaderImpl bugs & races ( #27303 )
...
There was a bug found by the fuzzer where we might access wire_writer_ before
finishing SETUP_TRANSPORT (and thus constructing wire_writer_). This PR
fixes such issue by making sure that we won't proceed with any requests
until the connection is fully established.
Since binder transactions may be coming from multiple different threads,
this PRs guard some of the WireReaderImpl's member with a mutex to make
sure there's no races between threads.
3 years ago
Mark D. Roth
3763be8796
add APIs for creating errors from C++ strings ( #27310 )
...
* add API for creating errors from C++ strings
* add missing include
3 years ago
Ta-Wei Tu
fa2d21716b
[binder] Fix server-side recv_trailing_metadata ( #27184 )
...
According to the [transport explainer](https://grpc.github.io/grpc/core/md_doc_core_transport_explainer.html ), the server-side `recv_trailing_metadata` should not be completed before sending trailing metadata to the client.
3 years ago
Yash Tibrewal
72171a3326
De-experimentalize XdsCredentials and XdsServerCredentials API ( #26544 )
...
* De-experimentalize XdsCredentials and XdsServerCredentials API
* Use GRPC_DEPRECATED
3 years ago
Yash Tibrewal
362aff3458
xDS: Remove environmental variable guard for security ( #27290 )
3 years ago
Yash Tibrewal
7fd731f704
De-experimentalize XdsServerBuilder ( #27296 )
3 years ago
Yash Tibrewal
1a009cf4e5
xDS Security: Use new way to fetch certificate provider plugin instance config ( #27264 )
...
* xDS Security: Use new way to fetch certificate provider plugin instance
config
* Reviewer comments
* Additional fields to NACK
* Move NACKing tests for tls_certificates and tls_certificate_sds_securet_configs to client-side
3 years ago
Yash Tibrewal
f26c107651
xDS server serving status: Use a struct to allow more fields to be added in the future ( #27242 )
3 years ago
Ta-Wei Tu
27eae53d83
[binder] Use combiner & refs to prevent data race ( #27182 )
3 years ago
Craig Tiller
ce95fd2586
For-each loop for promises ( #27241 )
...
* For-each loop for promises
* Automated change: Fix sanity tests
* Fix older compilers
* Automated change: Fix sanity tests
* review feedback
* clang-tidy fixes
* clangfmt
Co-authored-by: ctiller <ctiller@users.noreply.github.com>
3 years ago
Craig Tiller
8ee36d26bf
Move handshakers to core configuration system ( #27195 )
...
* Move handshakers to core configuration
* Automated change: Fix sanity tests
* fix memory ordering
* Update http_connect_handshaker.h
* slightly simpler code
* clangfmt
* review feedback
* review feedback
Co-authored-by: ctiller <ctiller@users.noreply.github.com>
3 years ago
Mark D. Roth
f3497eb790
implement improved xDS NACK semantics ( #27276 )
...
* refactor xDS response parsing
* fix build
* implement improved xDS NACK semantics
* fix clang-tidy
* fix test
3 years ago
Craig Tiller
ea389c00c2
Adjust include order per style guide ( #27175 )
...
Introduce clang-format configuration to sort includes closer to our rules.
3 years ago
Mark D. Roth
e468b00c56
refactor xDS response parsing ( #27272 )
...
* refactor xDS response parsing
* fix build
3 years ago
Ta-Wei Tu
dff9e84e35
[binder] Handle inbound flow control ( #27228 )
3 years ago
Ta-Wei Tu
3a5e844b38
[binder] Implicitly initialize the binder pool ( #27261 )
3 years ago
Craig Tiller
dc701787e2
Convert HPACK encoder to C++ ( #27226 )
...
* Rebuild HPACK encoder table as C++
* move comment
* incguards
* build
* Automated change: Fix sanity tests
* c++ initialization ftw
* Automated change: Fix sanity tests
* Add missing header
* Add missing header
* Begin converting HPACK encoder to c++
* First pass conversion to c++
* fixes
* Automated change: Fix sanity tests
Co-authored-by: ctiller <ctiller@users.noreply.github.com>
3 years ago
Ta-Wei Tu
3df113f6d6
Add binder server ( #27036 )
...
Add `grpc::BinderServerCredentials()` and other related functionalities for the server to listen to binder transactions through a phony "binder port".
The APIs are temporarily placed in internal headers until the corresponding gRFC is merged.
3 years ago