This commit
1. Implements the security policies that does not require JNI. This
includes a security policy that always allow connection and a security
policy that allows connection when remote UID is the same us local UID.
2. Add security policy as an argument in our interfaces. Old interfaces
are temporarily preserved so compilation will not suddenly break when we
import the code to internal repo.
3. Pumping the security policy from the public interfaces to the code
that handles SETUP_TRANSPORT transaction.
4. Abort the transport setup when the security policy is not satisfied.
Since meaningful tests will require to be run in real Android
environment, we will implement it later. For now, this change is
manually tested with example APKs.
For security policies that need to invoke Java to check authorization,
we will implement them in later.
A reusable test suite for EventEngine implementations.
To exercise a custom EventEngine, simply link against :event_engine_test_suite
and provide a testing main function that sets a custom EventEngine factory:
```
#include "path/to/my_custom_event_engine.h"
#include "src/core/event_engine/test_suite/event_engine_test.h"
int main(int argc, char** argv) {
::testing::InitGoogleTest(&argc, argv);
SetEventEngineFactory(
[]() { return absl::make_unique<MyCustomEventEngine>(); });
auto result = RUN_ALL_TESTS();
return result;
}
```
It used to be that we could run the hpack deserializer into an arbitrary
sink - that's about to change and the hpack deserializer will buffer
directly into a map. That being the case, it's really hard to compare
performance of the current and the new system. With this PR, I'm
updating the relevant scenario to be more similar to the eventual
scenario that we plan, so that as the new work finishes up, we can get a
clearer idea of what changes we're really making.
* try insecure creds in proxy case
* revert server-side changes
* fix local transport security to pass along unused bytes
* fix security handshaker to check the result of TSI get_unused_bytes()
* fix local TSI impl get_unused_bytes() to check its params
* clang-format
Co-authored-by: yihuaz <yihuaz@google.com>
* Make repo globally buildable
* Add initial distrib test script
* Add test script
* Support multiple versions
* Split out a separate latest version test
* Integrate with kokoro
* make tools/bazel version overridable
* added simplified test_single_bazel_version.sh
* cleanup .bazelignore
* only test 3.x and 4.x
* always test all the bazel versions
* revert unnecessary changes
* revert unnecessary changes
* fix shellcheck error
Co-authored-by: Richard Belleville <rbellevi@google.com>
* Expand Table, BitSet API's
Add a population count to BitSet, use it to add a count() method to
Table to get the number of fields set.
Add a ForEach to Table so that it can be iterated
* Automated change: Fix sanity tests
* fix
* Automated change: Fix sanity tests
Co-authored-by: ctiller <ctiller@users.noreply.github.com>
* Make generated code compile with -Wunused-parameters
-Wunused-parameters is turned on by -Werror -Wextra. gRPC code
generation creates header files with unused parameters. So let's modify
the generator to not generate code which will make -Wunused-parameters
unhappy.
* Fix unsigned vs signed comparisons and 32 bit string formats
Fix unsigned vs signed comparison warnings.
For 64 bit numbers printed in gRPC, the string formats assume that you
are running on a 64 bit machine. Use inttypes.h to make it portable.
Also, use size_t format strings for the same reason.
* Fix unaligned memory access
cost_entry_ptr has no alignment guarentees that ubsan can find. So it
fails the test with an alignment problem. Use memcopy to read the data
from the pointer to fix this.
* Fix undefined behavior with memcpy and memcmp
Passing in a 0 length piece of data and a null pointer is undefined
behavior. If the length is 0, don't pass it in. This fixes ubsan
failures.
* Clang-format
* Automated change: Fix sanity tests
* Make a suite of wakeup schedulers for tests
* add missing file
* Automated change: Fix sanity tests
Co-authored-by: ctiller <ctiller@users.noreply.github.com>