Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Import Envoy Mobile repo #24233

Merged
merged 1,786 commits into from
Nov 29, 2022
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
1786 commits
Select commit Hold shift + click to select a range
e6560d6
bazel: retry repository downloads (#2338)
jpsim Jun 3, 2022
574725c
tests: Adds an RTDS integration test for Envoy Mobile (#2328)
abeyad Jun 3, 2022
2e60c49
Bump Lyft Support Rotation (#2340)
envoy-bot Jun 6, 2022
97b5b03
Update Envoy (#2339)
envoy-bot Jun 6, 2022
ec3b0cc
android: attempting to respect Android's cleartext policies (#2318)
alyssawilk Jun 6, 2022
7540812
iOS: add SwiftPM example (#2333)
jpsim Jun 6, 2022
d56d70b
builder: making compressor configurable (#2321)
alyssawilk Jun 7, 2022
bcb74a5
ios: add support for registering a platform KV store (#2334)
goaway Jun 8, 2022
ef4646d
android: create persistent SharedPreferences-based KV store (#2319)
goaway Jun 8, 2022
08d4f0a
api: adding brotli knobs (#2342)
alyssawilk Jun 8, 2022
f6af45b
iOS: add a way to disable network monitoring (#2345)
jpsim Jun 8, 2022
d85b465
bazel: update rules_apple (#2346)
jpsim Jun 8, 2022
8ee780e
docs: update the list of clusters (#2344)
Augustyniak Jun 9, 2022
4f7093c
ci: update Android setup (#2354)
jpsim Jun 9, 2022
53df15a
iOS: stop embedding bitcode in releases (#2347)
jpsim Jun 9, 2022
7a2ee8d
iOS: add configurable gzip and brotli decompression options (#2349)
goaway Jun 9, 2022
77bf637
cleanup: remove unused function and resolve warning (#2350)
goaway Jun 9, 2022
e49fb58
cleanup: consistently use nullptr in cc contexts (#2351)
goaway Jun 9, 2022
236e81c
cleanup: convert some more uses of NULL to nullptr (#2359)
goaway Jun 9, 2022
d4a777d
cleanup: fix warning in JNI layer (#2361)
goaway Jun 10, 2022
bf24271
ci: pin external GitHub Action (#2363)
goaway Jun 10, 2022
13566a4
Bump Lyft Support Rotation (#2365)
envoy-bot Jun 13, 2022
ab87daf
Update Envoy (#2364)
envoy-bot Jun 13, 2022
91acfa9
config: hopefully fixing C++ config default for apple (#2355)
alyssawilk Jun 13, 2022
275713a
iOS: fix xcframework upload in release workflow (#2366)
jpsim Jun 14, 2022
41d51cb
test: got the client_integration_test moved over to the builder. (#2362)
alyssawilk Jun 15, 2022
1c36aed
stats: disable global stats in config (#2367)
jpsim Jun 15, 2022
bddbc34
config: add additional comment to `disallow_global_stats` (#2371)
jpsim Jun 15, 2022
c7d77f0
test cleanup (#2372)
alyssawilk Jun 15, 2022
6f295c9
bazel: use `device_and_simulator` rule (#2369)
jpsim Jun 15, 2022
c4a6200
Bump Envoy sha to f49d4f2 (#2380)
Augustyniak Jun 21, 2022
8bbce19
android: add experimental option to force all connections to use IPv6…
goaway Jun 21, 2022
229e408
release notes: update for #2379 (#2382)
goaway Jun 21, 2022
e0d5bd1
Make CI jobs depend on Envoy build CI job (#2381)
Augustyniak Jun 23, 2022
26f3839
config: fixing apple dns v2 (#2378)
alyssawilk Jun 23, 2022
7d6d456
Update Envoy to 665b4d5 (#2373)
envoy-bot Jun 24, 2022
f54e9b8
Bump Lyft Support Rotation (#2386)
envoy-bot Jun 27, 2022
726e6cb
bazel: bump rules_apple and rules_swift to latest releases (#2384)
jpsim Jun 27, 2022
5faab5a
Update Envoy (#2385)
envoy-bot Jun 27, 2022
ede7556
ci: change submodule_update PR branch name to use a timestamp strateg…
jpsim Jun 28, 2022
a8ad229
swift: fix docstrings and docstring linter (#2389)
jpsim Jun 28, 2022
03de551
Update Envoy to e792008a66f (#2391)
abeyad Jun 28, 2022
59185e7
api: make iOS Headers and HeadersBuilder case-insensitive (#2383)
Augustyniak Jun 28, 2022
8fde553
iOS: add `forceIPv6(...)` builder option (#2396)
jpsim Jun 28, 2022
2f9dcaf
test: Adds an integration test for SDS (#2395)
abeyad Jun 29, 2022
5dafb14
test: fixing up build targets to use the extension registry (#2397)
alyssawilk Jun 30, 2022
5d7940c
connectivity_manager: rename/refactor from Network::Configurator (#2401)
goaway Jul 1, 2022
1d07dd1
Update Envoy (#2403)
envoy-bot Jul 5, 2022
3acec13
Bump Lyft Support Rotation (#2404)
envoy-bot Jul 5, 2022
73f3799
Upgrade rules_foreign_cc (#2402)
Yannic Jul 5, 2022
ede96a9
ci: update codespell to v2.1.0 (#2406)
Augustyniak Jul 5, 2022
7ec18aa
bazel: update rules_xcodeproj to 0.5.0 (#2405)
jpsim Jul 5, 2022
1c74ccf
api: make Headers and HeadersBuilder case-insensitive (#2400)
Augustyniak Jul 6, 2022
d7eef57
docs: update version_history (#2408)
Augustyniak Jul 6, 2022
ba77d06
ci: enable Kotlin doc strings linting (#2407)
Augustyniak Jul 6, 2022
f75ee93
engine: return new handles from `EngineHandle::initEngine` (#2129)
jpsim Jul 6, 2022
ec0bab5
api: make RequestTrailersBuilder and ResponseHeadersBuilder construct…
Augustyniak Jul 7, 2022
5b6b8be
engine: remove outdated comment about `registerFactories()` (#2412)
jpsim Jul 8, 2022
2a559de
Update Envoy (#2413)
envoy-bot Jul 11, 2022
978158a
iOS: fix retain cycles in `EnvoyNetworkMonitor` (#2415)
jpsim Jul 13, 2022
dd2cf80
Bump Lyft Support Rotation (#2414)
envoy-bot Jul 13, 2022
9ec083b
Remove rules_cc uses
keith Jul 13, 2022
f8dc769
Update Envoy (#2417)
envoy-bot Jul 14, 2022
5a6cb30
docs: use sphinx githubpages extension (#2418)
Augustyniak Jul 14, 2022
7e8e90e
dns: allow using the `getaddrinfo`-based system DNS resolver (#2419)
jpsim Jul 14, 2022
fc28a0a
Squelch two JNI build warnings (#2426)
RyanTheOptimist Jul 15, 2022
31697b6
Fix isCleartextTrafficPermitted (#2420)
RyanTheOptimist Jul 18, 2022
3487242
Remove Tulsi configuration & docs (#2421)
jpsim Jul 18, 2022
aae3adb
Revert "docs: use sphinx githubpages extension (#2418)" (#2425)
Augustyniak Jul 18, 2022
ba6dde8
tools: add arm64 debug run configuration (#2424)
Augustyniak Jul 18, 2022
e43df3c
Update Envoy (#2427)
envoy-bot Jul 18, 2022
6bf4e73
tools: fix source mapping (#2429)
Augustyniak Jul 18, 2022
1b401dd
xcode: update to 13.4 (#2409)
jpsim Jul 19, 2022
43b2358
Bump Lyft Support Rotation (#2428)
envoy-bot Jul 19, 2022
9478951
bazel: update rules_kotlin to v1.7.0-RC-2 (#2434)
jpsim Jul 19, 2022
5ba6818
bazel: update rules-proto-grpc to 4.1.1 (#2437)
jpsim Jul 21, 2022
76e482b
Bump Lyft Support Rotation (#2439)
envoy-bot Jul 25, 2022
d761a40
Update Envoy (#2435)
envoy-bot Jul 25, 2022
5c5acda
ios: fix missing registration for KV store (#2440)
goaway Jul 25, 2022
881f262
Bump Lyft Support Rotation (#2447)
envoy-bot Aug 1, 2022
44dc08d
ci: fix Android environment (#2448)
jpsim Aug 1, 2022
c69294e
tests: use raw string literals in cc integration tests (#2445)
goaway Aug 2, 2022
4733884
Update Envoy (#2449)
envoy-bot Aug 2, 2022
ef22893
docs: update website URL to envoymobile.io (#2442)
jpsim Aug 2, 2022
812107f
jni: release data to avoid memory leak (#2453)
Augustyniak Aug 2, 2022
a7c84ee
Factor out RequestScenario and Response from test/java/integration (#…
RyanTheOptimist Aug 3, 2022
6ec20d1
iOS: add `KeyValueStore` protocol conformance to `UserDefaults` (#2452)
jpsim Aug 3, 2022
d96b192
cc: add support for registering a platform KV store (#2430)
goaway Aug 3, 2022
2d57a02
bazel: reorganize dbg configs (#2457)
Augustyniak Aug 5, 2022
b8f1d2d
test: use TestRequestHeaderMapImpl for building custom headers (#2455)
caschoener Aug 8, 2022
7db9ab3
example apps: disable interface binding (#2456)
Augustyniak Aug 9, 2022
28736d6
Bump Lyft Support Rotation (#2459)
envoy-bot Aug 9, 2022
ea612fd
Description: Added --no-deps for pip install in docs/build.sh (#2461)
anfelbar Aug 10, 2022
8cecd15
Update Envoy (#2458)
envoy-bot Aug 11, 2022
62e8889
Update Envoy (#2463)
envoy-bot Aug 11, 2022
ea1b48a
Update Envoy (#2466)
envoy-bot Aug 15, 2022
7a2671e
[CI] Remove a lyft maintainer (#2471)
Augustyniak Aug 17, 2022
861e5b0
Bump Lyft Support Rotation (#2474)
envoy-bot Aug 17, 2022
2f9cbf4
tests: make envoy_mobile_android_test macro work with kt files (#2436)
Augustyniak Aug 17, 2022
da64158
ci: fix `/retest` command (#2478)
jpsim Aug 18, 2022
bd81df9
ci: install bash in docker image for retest action (#2479)
jpsim Aug 18, 2022
dccd8c9
bazel: update rules_xcodeproj to 0.7.0 release (#2475)
jpsim Aug 18, 2022
b10b3ce
ci: also rerun cancelled & timed out jobs on `/retest` (#2480)
jpsim Aug 18, 2022
8a1bf4b
bazel: define custom Xcode schemes (#2476)
jpsim Aug 18, 2022
1eb0423
Add a binary build target for Cronvoy. (#2468)
RenjieTang Aug 18, 2022
860734c
proguard: update rules to account for AndroidNetworkLibrary (#2482)
Augustyniak Aug 19, 2022
e1d03b9
jni: introduce custom find_class method (#2483)
Augustyniak Aug 19, 2022
3c84a4c
Switch to using new-style Bazel platform constraints. (#2484)
benjaminp Aug 19, 2022
4d36ca3
ci: update GitHub Actions Linux runners to run on `ubuntu-latest` (#2…
jpsim Aug 22, 2022
46e60ce
Bump Lyft Support Rotation (#2490)
envoy-bot Aug 22, 2022
1eee1bb
Update Envoy (#2489)
envoy-bot Aug 22, 2022
1b2f32d
jni: release strings after they are no longer needed (#2485)
Augustyniak Aug 23, 2022
0eb81f2
ci: use 'jpsim/retest' GitHub Action for `/retest` command (#2491)
jpsim Aug 23, 2022
80a845f
Add a filter for applying Android socket tags (#2423)
RyanTheOptimist Aug 23, 2022
139b6a1
Correct version string for CronetUrlRequestContext (#2469)
RenjieTang Aug 23, 2022
67f3b16
docs: update find_class documentation (#2495)
Augustyniak Aug 24, 2022
885402b
Remove unnecessary google_re2 messages from config.cc (#2496)
RyanTheOptimist Aug 25, 2022
5db2fdf
[Cronvoy] Plumb through enableQuic API call (#2472)
RenjieTang Aug 25, 2022
05b339a
testing: make find_class method work in tests (#2503)
Augustyniak Aug 30, 2022
353515d
android: add an empty implementation of isCleartextTrafficPermitted (…
Augustyniak Aug 31, 2022
715fe65
Cronvoy: Update CronetTestRule with Cronet changes (#2504)
colibie Sep 1, 2022
1ea35e4
android: enable forceIPv6 by default (#2510)
Augustyniak Sep 1, 2022
15b9c50
[Cronvoy] Remove hardcoded test url (#2470)
colibie Sep 1, 2022
3b46503
test: fix Kotlin EngineBuilderTest warnings (#2507)
goaway Sep 1, 2022
cf13e9b
Update Envoy (#2499)
envoy-bot Sep 1, 2022
1d1514a
android: default to use the system DNS resolver (#2511)
jpsim Sep 1, 2022
7073e1d
test: fix Kotlin FlatBuffersTest warnings (#2508)
goaway Sep 1, 2022
30b7641
cleanup: fix typo in kotlin test (#2513)
goaway Sep 2, 2022
bf924e7
Release v0.5.0 (#2512)
Augustyniak Sep 2, 2022
3ab35a7
fix release date (#2519)
Augustyniak Sep 2, 2022
023b3b5
Update rules_apple & rules_swift (#2517)
jpsim Sep 2, 2022
d94c20d
Update Envoy (#2521)
envoy-bot Sep 6, 2022
31527b1
Bump Lyft Support Rotation (#2522)
envoy-bot Sep 6, 2022
fcb03b1
Update Envoy (#2523)
envoy-bot Sep 6, 2022
68e7728
android: fix admin interface (#2520)
Augustyniak Sep 6, 2022
1238112
ci: fix Sonatype deploys (#2526)
jpsim Sep 6, 2022
a473fc0
ci: fix Sonatype deploys (#2527)
jpsim Sep 6, 2022
e48b6dd
Update swift_flatbuffers to 2.0.8 (#2518)
jpsim Sep 7, 2022
b07c897
android: make it easy to run all example apps (#2539)
Augustyniak Sep 9, 2022
8602bd8
Bump Lyft Support Rotation (#2541)
envoy-bot Sep 12, 2022
b90983e
ci: fix test apps (#2542)
Augustyniak Sep 12, 2022
5008390
changing kotlin baseline to test HTTP (#2529)
alyssawilk Sep 13, 2022
f112ffc
config: update stats regex (#2548)
Augustyniak Sep 13, 2022
e1e1826
android: fix cleartext implementation checks (#2528)
alyssawilk Sep 14, 2022
b85443e
Update Envoy (#2540)
envoy-bot Sep 15, 2022
13e2697
key_value: Use known registered name to create global PlatformInterfa…
abeyad Sep 16, 2022
5fec52e
ci: allow for android tests as part of linux kotlin CI job (#2553)
Augustyniak Sep 16, 2022
276c480
docs: update an old 404 link to a new one (#2552)
Konboi Sep 16, 2022
19e10bc
Update Envoy (#2557)
envoy-bot Sep 19, 2022
6ee28cf
proxy: add android proxy monitor (#2416)
Augustyniak Sep 20, 2022
2048b4e
docs: update version history (#2549)
Augustyniak Sep 20, 2022
6f10c16
android: fix JNI call to AndroidNetworkLibrary (#2554)
danzh2010 Sep 20, 2022
d792bdc
prefer using onEngineRunning over setLogger in test (#2559)
snowp Sep 20, 2022
2118d16
android: bump versions of test dependencies (#2564)
Augustyniak Sep 21, 2022
aba82a9
proxy monitor async version (#2550)
alyssawilk Sep 21, 2022
9af492a
swift: moving baseline to use http (#2567)
alyssawilk Sep 22, 2022
87ee62d
Bump Lyft Support Rotation (#2570)
envoy-bot Sep 26, 2022
701d1b4
android: bump versions of android test dependencies (#2565)
Augustyniak Sep 27, 2022
ee1e618
bazel: update rules_apple and rules_swift (#2571)
jpsim Sep 27, 2022
389d1a7
support configuring multiple stat sinks (#2563)
snowp Sep 27, 2022
8038543
bazel: update rules_xcodeproj to 0.8.0 (#2572)
jpsim Sep 27, 2022
78a4fc1
bump Envoy, fix build (#2573)
alyssawilk Sep 27, 2022
8b538e6
build: Upgrade Abseil library to July 2022 release (#2580)
abeyad Sep 29, 2022
d69ec0a
android proxy: add support for PAC proxies (#2591)
Augustyniak Oct 4, 2022
91191e4
api: remove h2 raw feature (#2590)
Augustyniak Oct 4, 2022
260f163
Update Envoy (#2588)
envoy-bot Oct 5, 2022
3fd0bb1
Bump Lyft Support Rotation (#2589)
envoy-bot Oct 5, 2022
3881252
ci: Standardize formatting of Bazel command (#2587)
WillEngFlow Oct 5, 2022
7f8e585
Update link to Slack invite (#2597)
filip-doordash Oct 6, 2022
6827be3
proxy: wrap QUIC socket with h_11 proxy wrapper (#2593)
Augustyniak Oct 6, 2022
16574a8
Bump Lyft Support Rotation (#2599)
envoy-bot Oct 10, 2022
c6bbe36
Update rules_xcodeproj to 0.9.0 (#2595)
jpsim Oct 11, 2022
1fd3407
build: remove FlatBuffers integration (#2594)
jpsim Oct 11, 2022
a9f9494
Add a setPerTryIdleTimeoutSeconds method to EngineBuilder. (#2601)
RyanTheOptimist Oct 11, 2022
ec04858
Update Envoy (#2598)
envoy-bot Oct 11, 2022
c1ed88e
xcode: update to 14.0 (#2585)
jpsim Oct 11, 2022
3d8aec6
proxy: disable skipping DNS lookup by default and add a knob to contr…
Augustyniak Oct 11, 2022
09a8096
core: enable more detailed virtual cluster stats (#2607)
Augustyniak Oct 14, 2022
04ac2e2
Bump Lyft Support Rotation (#2610)
envoy-bot Oct 17, 2022
86bbcc9
cert validation: use Android cert validation APIs (#2525)
danzh2010 Oct 18, 2022
202814c
Add various methods to C++ EngineBuilder to bring it to parity with t…
RyanTheOptimist Oct 18, 2022
42a6387
Update Envoy (#2609)
envoy-bot Oct 18, 2022
d899812
Cronvoy: update config (#2608)
RenjieTang Oct 19, 2022
96cb26b
Update rules_swift (#2611)
jpsim Oct 19, 2022
a77aa2b
Slight cleanup of C++ EngineBuilder (#2620)
RyanTheOptimist Oct 20, 2022
ff53e68
Cronvoy: Map EM Errors to Cronet API Errors (#1594) (#2568)
colibie Oct 20, 2022
22ce24d
adding protocol to final stream intel (#2613)
alyssawilk Oct 20, 2022
db2714c
ci: Conditionally run on remote execution (#2596)
WillEngFlow Oct 20, 2022
b2b9702
owners: add abeyad (#2623)
jpsim Oct 20, 2022
4c3393c
Add support for String Accessors to the C++ engine builder (#2619)
RyanTheOptimist Oct 20, 2022
9eb88cd
android: fix engine builder crash on Android 6/7 (#2624)
jpsim Oct 20, 2022
38c1c73
dns: stop using cares DNS resolver (#2618)
Augustyniak Oct 21, 2022
86c08b5
Register getaddrinfo in extension_registry (#2627)
caschoener Oct 24, 2022
9499bdd
Add support for Platform and Native filters to C++ EngineBuilder (#2626)
RyanTheOptimist Oct 25, 2022
2523984
Update Envoy (#2630)
envoy-bot Oct 25, 2022
eb80064
Allow Cronvoy to build with proguard. (#2635)
RenjieTang Oct 26, 2022
c294d57
Add a comment to addPlatformFilter (#2634)
RyanTheOptimist Oct 26, 2022
10b3a83
ci: migrate from set-output to GITHUB_OUTPUT (#2625)
jpsim Oct 27, 2022
2bcc013
Disable flaky TestConfig.StringAccessors (#2642)
RyanTheOptimist Oct 31, 2022
25c4fd7
python: Pin requirement hashes (#2643)
phlax Oct 31, 2022
f0f7a7d
Use safe_malloc instead of new when creating new_envoy_map_entry (#2632)
RyanTheOptimist Oct 31, 2022
518db03
repo: Switch `pip_install` -> `pip_parse` (#2647)
phlax Nov 1, 2022
5c5cb59
repo: Shellcheck cleanups (#2646)
phlax Nov 1, 2022
22aec6a
python: Apply Envoy python-yapf formatting (#2648)
phlax Nov 1, 2022
71f7091
ci: increasing timeouts (#2653)
alyssawilk Nov 2, 2022
5319e6a
ci: remove Snow from Lyft EM rotation (#2650)
Augustyniak Nov 2, 2022
8f3fad7
fix one issue blocking bumping Envoy (#2649)
alyssawilk Nov 2, 2022
a7cdcf4
Bump Lyft Support Rotation (#2654)
envoy-bot Nov 2, 2022
c7475c3
build: revert boring patch (#2651)
alyssawilk Nov 2, 2022
752ba01
Cronvoy: Map EM Errors to Cronet API Errors II (#1594) (#2633)
colibie Nov 2, 2022
b6359e0
remove the use of deprecated flag (#2658)
Augustyniak Nov 3, 2022
0ba8266
Implement an iOS platform certificate verifier. (#2638)
RyanTheOptimist Nov 6, 2022
ca8b83a
bump Envoy dep (#2659)
alyssawilk Nov 7, 2022
eb3d5eb
set enablePlatformCertificateValidation to false on iOS by default (#…
RyanTheOptimist Nov 7, 2022
52657b1
build: remove alwayslink
alyssawilk Nov 8, 2022
c945a1e
Bump Lyft Support Rotation (#2661)
envoy-bot Nov 8, 2022
0e6c0d7
Remove note about DWARF patch being required (#2645)
RyanTheOptimist Nov 8, 2022
9ac379b
bazel: update rules_jvm_external to 4.5 (#2665)
jpsim Nov 8, 2022
96c8345
Update Envoy (#2660)
envoy-bot Nov 8, 2022
17bcac0
ci: hopefully fixing bes timeout failures (#2666)
alyssawilk Nov 9, 2022
7bb0cc3
Bump Lyft Support Rotation (#2672)
envoy-bot Nov 14, 2022
9de33ed
Add Typed_config for PlatformBridgeCertValidator (#2670)
RenjieTang Nov 14, 2022
cc7d4c2
iOS: remove `forceIPv6` builder function (#2628)
jpsim Nov 14, 2022
6245dbf
build: Add MOBILE_PACKAGE_VISIBILITY to the build config (#2673)
abeyad Nov 15, 2022
bf327c0
Update Envoy (#2669)
envoy-bot Nov 15, 2022
2668d8c
cleanup: Remove unused variable (#2675)
abeyad Nov 15, 2022
b208c56
xcode: update to 14.1 (#2674)
jpsim Nov 15, 2022
20a8f8d
Use std::string instead of const std::string& in C++ APIs where the s…
RyanTheOptimist Nov 16, 2022
be6c704
test: Set initial_fetch_timeout on the xDS integration tests (#2679)
abeyad Nov 16, 2022
aebd3ca
website: add Google Analytics to envoymobile.io (#2681)
jpsim Nov 16, 2022
1041fbb
code cleanup for repo merge (#2676)
alyssawilk Nov 17, 2022
c248d10
repo bump (#2683)
alyssawilk Nov 18, 2022
c473ddf
Do not strip AndroidCertVerifyResult methods with proguard (#2682)
RyanTheOptimist Nov 18, 2022
daa3944
cleanup for repo merge (#2684)
alyssawilk Nov 21, 2022
e799ca6
test: Remove obsolete comments (#2695)
abeyad Nov 22, 2022
cce7c13
test: Wait for RTDS updates to be applied in the integration test (#2…
abeyad Nov 22, 2022
beafb2c
Honor the `-l` log level command line setting for C++ integration tes…
abeyad Nov 22, 2022
53e3086
Move values in HeadersBuilder::set (#2694)
RyanTheOptimist Nov 22, 2022
6e349c6
build: bump envoy dependency (#2690)
alyssawilk Nov 22, 2022
79a98ae
tooling: Fix format check (#2698)
phlax Nov 22, 2022
dab4c03
Fix a possible use-after-free with platform cert verification (#2692)
RyanTheOptimist Nov 22, 2022
faae22b
bridge: fix up proto registration (#2702)
alyssawilk Nov 23, 2022
278d471
Rename release_validator to validation_cleanup (#2701)
RyanTheOptimist Nov 23, 2022
3990bcc
Various small cleanups to PlatformBridgeCertValidator (#2700)
RyanTheOptimist Nov 23, 2022
834fdca
Bump Lyft Support Rotation (#2706)
envoy-bot Nov 28, 2022
56d4b7a
build: removing admin (#2693)
alyssawilk Nov 28, 2022
b351340
Update Envoy (#2705)
envoy-bot Nov 28, 2022
0c4b98a
Fix typo in starting_envoy.rst. Backport of https://github.com/envoyp…
RyanTheOptimist Nov 28, 2022
ad2a8d4
Re-apply changes applied to previous import
jpsim Nov 28, 2022
7189899
Merge branch 'main' into envoy-mobile-repo-merge
alyssawilk Nov 29, 2022
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
7 changes: 7 additions & 0 deletions mobile/.bazelproject
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
# Uncomment the examples you'd like to use!
import examples/kotlin/hello_world/.bazelproject
import examples/java/hello_world/.bazelproject
import test/kotlin/apps/baseline/.bazelproject
import test/kotlin/apps/experimental/.bazelproject

android_sdk_platform: android-31
2 changes: 1 addition & 1 deletion mobile/.bazelrc
Original file line number Diff line number Diff line change
Expand Up @@ -101,7 +101,7 @@ build:tsan-dev --test_env="TSAN_OPTIONS=report_atomic_races=0"
build:release-common --define=no_debug_info=1

# Compile releases optimizing for size (eg -Os, etc).
build:release-common --config=sizeopt
build:release-common --config=sizeopt --define=admin_functionality=disabled

# Set default symbols visibility to hidden to reduce .dynstr and the symbol table size
build:release-common --copt=-fvisibility=hidden
Expand Down
55 changes: 0 additions & 55 deletions mobile/dist/envoy-pom.xml

This file was deleted.

Binary file removed mobile/dist/envoy.aar
Binary file not shown.
1 change: 1 addition & 0 deletions mobile/docs/root/intro/version_history.rst
Original file line number Diff line number Diff line change
Expand Up @@ -10,6 +10,7 @@ Breaking changes:
- build: building on macOS now requires Xcode 14.1. (:issue:`#2664 <2664>`)
- iOS: remove experimental option to force all connections to use IPv6.
- kotlin: always use ``getaddrinfo`` DNS resolver. Remove ``addDNSFallbackNameservers``, ``enableDNSFilterUnroutableFamilies``, and ``enableDNSUseSystemResolver`` methods from the Kotlin engine builder. (:issue:`#2618 <2618>`)
- Envoy Mobile's release builds compile without admin support by default. (``--define=admin_functionality=disabled``) (:issue`#2693 <2693>`)

Bugfixes:

Expand Down
189 changes: 189 additions & 0 deletions mobile/experimental/swift/QUICStreamTest.swift
Original file line number Diff line number Diff line change
@@ -0,0 +1,189 @@
import Envoy
import EnvoyEngine
import Foundation
import XCTest

final class QUICStreamTests: XCTestCase {
func testQUICStream() throws {
// swiftlint:disable:next line_length
let hcmType = "type.googleapis.com/envoy.extensions.filters.network.http_connection_manager.v3.HttpConnectionManager"
// swiftlint:disable:next line_length
let quicDownstreamType = "type.googleapis.com/envoy.extensions.transport_sockets.quic.v3.QuicDownstreamTransport"
// swiftlint:disable:next line_length
let quicUpstreamType = "type.googleapis.com/envoy.extensions.transport_sockets.quic.v3.QuicUpstreamTransport"
let config =
"""
static_resources:
listeners:
- name: h3_remote_listener
address:
socket_address: { protocol: UDP, address: 127.0.0.1, port_value: 10101 }
reuse_port: true
udp_listener_config:
quic_options: {}
downstream_socket_config:
prefer_gro: true
filter_chains:
transport_socket:
name: envoy.transport_sockets.quic
typed_config:
"@type": \(quicDownstreamType)
downstream_tls_context:
common_tls_context:
alpn_protocols: h3
tls_certificates:
certificate_chain:
inline_string: |
-----BEGIN CERTIFICATE-----
MIIEbDCCA1SgAwIBAgIUJuVBh0FKfFgIcO++ljWm7D47eYUwDQYJKoZIhvcNAQEL
BQAwdjELMAkGA1UEBhMCVVMxEzARBgNVBAgMCkNhbGlmb3JuaWExFjAUBgNVBAcM
DVNhbiBGcmFuY2lzY28xDTALBgNVBAoMBEx5ZnQxGTAXBgNVBAsMEEx5ZnQgRW5n
aW5lZXJpbmcxEDAOBgNVBAMMB1Rlc3QgQ0EwHhcNMjAwODA1MTkxNjAxWhcNMjIw
ODA1MTkxNjAxWjCBpjELMAkGA1UEBhMCVVMxEzARBgNVBAgMCkNhbGlmb3JuaWEx
FjAUBgNVBAcMDVNhbiBGcmFuY2lzY28xDTALBgNVBAoMBEx5ZnQxGTAXBgNVBAsM
EEx5ZnQgRW5naW5lZXJpbmcxGjAYBgNVBAMMEVRlc3QgQmFja2VuZCBUZWFtMSQw
IgYJKoZIhvcNAQkBFhViYWNrZW5kLXRlYW1AbHlmdC5jb20wggEiMA0GCSqGSIb3
DQEBAQUAA4IBDwAwggEKAoIBAQC9JgaI7hxjPM0tsUna/QmivBdKbCrLnLW9Teak
RH/Ebg68ovyvrRIlybDT6XhKi+iVpzVY9kqxhGHgrFDgGLBakVMiYJ5EjIgHfoo4
UUAHwIYbunJluYCgANzpprBsvTC/yFYDVMqUrjvwHsoYYVm36io994k9+t813b70
o0l7/PraBsKkz8NcY2V2mrd/yHn/0HAhv3hl6iiJme9yURuDYQrae2ACSrQtsbel
KwdZ/Re71Z1awz0OQmAjMa2HuCop+Q/1QLnqBekT5+DH1qKUzJ3Jkq6NRkERXOpi
87j04rtCBteCogrO67qnuBZ2lH3jYEMb+lQdLkyNMLltBSdLAgMBAAGjgcAwgb0w
DAYDVR0TAQH/BAIwADALBgNVHQ8EBAMCBeAwHQYDVR0lBBYwFAYIKwYBBQUHAwIG
CCsGAQUFBwMBMEEGA1UdEQQ6MDiGHnNwaWZmZTovL2x5ZnQuY29tL2JhY2tlbmQt
dGVhbYIIbHlmdC5jb22CDHd3dy5seWZ0LmNvbTAdBgNVHQ4EFgQU2XcTZbc0xKZf
gNVKSvAbMZJCBoYwHwYDVR0jBBgwFoAUlkvaLFO0vpXGk3Pip6SfLg1yGIcwDQYJ
KoZIhvcNAQELBQADggEBAFW05aca3hSiEz/g593GAV3XP4lI5kYUjGjbPSy/HmLr
rdv/u3bGfacywAPo7yld+arMzd35tIYEqnhoq0+/OxPeyhwZXVVUatg5Oknut5Zv
2+8l+mVW+8oFCXRqr2gwc8Xt4ByYN+HaNUYfoucnjDplOPukkfSuRhbxqnkhA14v
Lri2EbISX14sXf2VQ9I0dkm1hXUxiO0LlA1Z7tvJac9zPSoa6Oljke4D1iH2jzwF
Yn7S/gGvVQgkTmWrs3S3TGyBDi4GTDhCF1R+ESvXz8z4UW1MrCSdYUXbRtsT7sbE
CjlFYuUyxCi1oe3IHCeXVDo/bmzwGQPDuF3WaDNSYWU=
-----END CERTIFICATE-----
private_key:
inline_string: |
-----BEGIN RSA PRIVATE KEY-----
MIIEpAIBAAKCAQEAvSYGiO4cYzzNLbFJ2v0JorwXSmwqy5y1vU3mpER/xG4OvKL8
r60SJcmw0+l4Sovolac1WPZKsYRh4KxQ4BiwWpFTImCeRIyIB36KOFFAB8CGG7py
ZbmAoADc6aawbL0wv8hWA1TKlK478B7KGGFZt+oqPfeJPfrfNd2+9KNJe/z62gbC
pM/DXGNldpq3f8h5/9BwIb94ZeooiZnvclEbg2EK2ntgAkq0LbG3pSsHWf0Xu9Wd
WsM9DkJgIzGth7gqKfkP9UC56gXpE+fgx9ailMydyZKujUZBEVzqYvO49OK7QgbX
gqIKzuu6p7gWdpR942BDG/pUHS5MjTC5bQUnSwIDAQABAoIBADEMwlcSAFSPuNln
hzJ9udj0k8md4T8p5Usw/2WLyeJDdBjg30wjQniAJBXgDmyueWMNmFz4iYgdP1CG
/vYOEPV7iCZ7Da/TDZd77hYKo+MevuhD4lSU1VEoyCDjNA8OxKyHJB77BwmlYS+0
nE3UOPLji47EOVfUTbvnRBSmn3DCSHkQiRIUP1xMivoiZgKJn+D+FxSMwwiq2pQR
5tdo7nh2A8RxlYUbaD6i4poUB26HVm8vthXahNEkLpXQOz8MWRzs6xOdDHRzi9kT
ItRLa4A/3LIATqviQ2EpwcALHXcULcNUMTHORC1EHPvheWR5nLuRllYzN4ReoeHC
3+A5KEkCgYEA52rlh/22/rLckCWugjyJic17vkg46feSOGhjuP2LelrIxNlg491y
o28n8lQPSVnEp3/sT7Y3quVvdboq4DC9LTzq52f6/mCYh9UQRpljuSmFqC2MPG46
Zl5KLEVLzhjC8aTWkhVINSpz9vauXderOpFYlPW32lnRTjJWE276kj8CgYEA0T2t
ULnn7TBvRSpmeWzEBA5FFo2QYkYvwrcVe0pfUltV6pf05xUmMXYFjpezSTEmPhh6
+dZdhwxDk+6j8Oo61rTWucDsIqMj5ZT1hPNph8yQtb5LRlRbLGVrirU9Tp7xTgMq
3uRA2Eka1d98dDBsEbMIVFSZ2MX3iezSGRL6j/UCgYEAxZQ82HjEDn2DVwb1EXjC
LQdliTZ8cTXQf5yQ19aRiSuNkpPN536ga+1xe7JNQuEDx8auafg3Ww98tFT4WmUC
f2ctX9klMJ4kXISK2twHioVq+gW5X7b04YXLajTX3eTCPDHyiNLmzY2raMWAZdrG
9MA3kyafjCt3Sn4rg3gTM10CgYEAtJ8WRpJEd8aQttcUIItYZdvfnclUMtE9l0su
GwCnalN3xguol/X0w0uLHn0rgeoQhhfhyFtY3yQiDcg58tRvODphBXZZIMlNSnic
vEjW9ygKXyjGmA5nqdpezB0JsB2aVep8Dm5g35Ozu52xNCc8ksbGUO265Jp3xbMN
5iEw9CUCgYBmfoPnJwzA5S1zMIqESUdVH6p3UwHU/+XTY6JHAnEVsE+BuLe3ioi7
6dU4rFd845MCkunBlASLV8MmMbod9xU0vTVHPtmANaUCPxwUIxXQket09t19Dzg7
A23sE+5myXtcfz6YrPhbLkijV4Nd7fmecodwDckvpBaWTMrv52/Www==
-----END RSA PRIVATE KEY-----
filters:
- name: envoy.filters.network.http_connection_manager
typed_config:
"@type": \(hcmType)
codec_type: HTTP3
stat_prefix: remote_hcm
route_config:
name: remote_route
virtual_hosts:
- name: remote_service
domains: ["*"]
routes:
- match: { prefix: "/" }
direct_response: { status: 200 }
http3_protocol_options:
http_filters:
- name: envoy.router
typed_config:
"@type": type.googleapis.com/envoy.extensions.filters.http.router.v3.Router
- name: base_api_listener
address:
socket_address: { protocol: TCP, address: 0.0.0.0, port_value: 10000 }
api_listener:
api_listener:
"@type": \(hcmType)
stat_prefix: api_hcm
route_config:
name: api_router
virtual_hosts:
- name: api
domains: ["*"]
routes:
- match: { prefix: "/" }
route: { host_rewrite_literal: lyft.com, cluster: h3_remote }
http_filters:
- name: envoy.router
typed_config:
"@type": type.googleapis.com/envoy.extensions.filters.http.router.v3.Router
clusters:
- name: h3_remote
connect_timeout: 10s
type: STATIC
dns_lookup_family: V4_ONLY
lb_policy: ROUND_ROBIN
load_assignment:
cluster_name: h3_remote
endpoints:
- lb_endpoints:
- endpoint:
address:
socket_address: { address: 127.0.0.1, port_value: 10101 }
typed_extension_protocol_options:
envoy.extensions.upstreams.http.v3.HttpProtocolOptions:
"@type": type.googleapis.com/envoy.extensions.upstreams.http.v3.HttpProtocolOptions
explicit_http_config:
http3_protocol_options: {}
common_http_protocol_options:
idle_timeout: 1s
transport_socket:
name: envoy.transport_sockets.quic
typed_config:
"@type": \(quicUpstreamType)
upstream_tls_context:
sni: lyft.com
"""
let expectation = self.expectation(description: "Complete response received.")

let client = EngineBuilder(yaml: config)
.addLogLevel(.trace)
.build()
.streamClient()

let requestHeaders = RequestHeadersBuilder(method: .get, scheme: "https",
authority: "lyft.com", path: "/test")
.build()

client
.newStreamPrototype()
.setOnResponseHeaders { responseHeaders, endStream, _ in
XCTAssertEqual(200, responseHeaders.httpStatus)
if endStream {
expectation.fulfill()
}
}
.setOnResponseData { _, endStream, _ in
if endStream {
expectation.fulfill()
}
}
.setOnError { _, _ in
XCTFail("Unexpected error")
}
.start()
.sendHeaders(requestHeaders, endStream: true)

XCTAssertEqual(XCTWaiter.wait(for: [expectation], timeout: 1), .completed)
}
}
6 changes: 2 additions & 4 deletions mobile/library/cc/engine_builder.cc
Original file line number Diff line number Diff line change
Expand Up @@ -70,8 +70,7 @@ EngineBuilder& EngineBuilder::addDnsQueryTimeoutSeconds(int dns_query_timeout_se
return *this;
}

EngineBuilder&
EngineBuilder::addDnsPreresolveHostnames(std::string dns_preresolve_hostnames) {
EngineBuilder& EngineBuilder::addDnsPreresolveHostnames(std::string dns_preresolve_hostnames) {
this->dns_preresolve_hostnames_ = std::move(dns_preresolve_hostnames);
return *this;
}
Expand Down Expand Up @@ -207,8 +206,7 @@ EngineBuilder& EngineBuilder::addStringAccessor(std::string name,
return *this;
}

EngineBuilder& EngineBuilder::addNativeFilter(std::string name,
std::string typed_config) {
EngineBuilder& EngineBuilder::addNativeFilter(std::string name, std::string typed_config) {
native_filter_chain_.emplace_back(std::move(name), std::move(typed_config));
return *this;
}
Expand Down
8 changes: 3 additions & 5 deletions mobile/library/cc/headers_builder.cc
Original file line number Diff line number Diff line change
Expand Up @@ -11,12 +11,11 @@ HeadersBuilder& HeadersBuilder::add(std::string name, std::string value) {
return *this;
}

HeadersBuilder& HeadersBuilder::set(std::string name,
std::vector<std::string> values) {
HeadersBuilder& HeadersBuilder::set(std::string name, std::vector<std::string> values) {
if (this->isRestrictedHeader(name)) {
return *this;
}
this->headers_[std::move(name)] = values;
this->headers_[std::move(name)] = std::move(values);
return *this;
}

Expand All @@ -30,8 +29,7 @@ HeadersBuilder& HeadersBuilder::remove(const std::string& name) {

HeadersBuilder::HeadersBuilder() {}

HeadersBuilder& HeadersBuilder::internalSet(std::string name,
std::vector<std::string> values) {
HeadersBuilder& HeadersBuilder::internalSet(std::string name, std::vector<std::string> values) {
this->headers_[std::move(name)] = std::move(values);
return *this;
}
Expand Down
6 changes: 2 additions & 4 deletions mobile/library/cc/request_headers_builder.cc
Original file line number Diff line number Diff line change
Expand Up @@ -3,10 +3,8 @@
namespace Envoy {
namespace Platform {

RequestHeadersBuilder::RequestHeadersBuilder(RequestMethod request_method,
std::string scheme,
std::string authority,
std::string path) {
RequestHeadersBuilder::RequestHeadersBuilder(RequestMethod request_method, std::string scheme,
std::string authority, std::string path) {
this->internalSet(":method", {requestMethodToString(request_method)});
this->internalSet(":scheme", {std::move(scheme)});
this->internalSet(":authority", {std::move(authority)});
Expand Down
4 changes: 2 additions & 2 deletions mobile/library/cc/request_headers_builder.h
Original file line number Diff line number Diff line change
Expand Up @@ -16,8 +16,8 @@ struct RetryPolicy;

class RequestHeadersBuilder : public HeadersBuilder {
public:
RequestHeadersBuilder(RequestMethod request_method, std::string scheme,
std::string authority, std::string path);
RequestHeadersBuilder(RequestMethod request_method, std::string scheme, std::string authority,
std::string path);

RequestHeadersBuilder& addRetryPolicy(const RetryPolicy& retry_policy);
RequestHeadersBuilder& addUpstreamHttpProtocol(UpstreamHttpProtocol upstream_http_protocol);
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -25,9 +25,9 @@ typedef envoy_cert_validation_result (*envoy_validate_cert_f)(const envoy_data*
const char* host_name);

/**
* Function signature for calling into platform APIs to clean up after validation completion.
* Function signature for calling into platform APIs to clean up after validation is complete.
*/
typedef void (*envoy_release_validator_f)();
typedef void (*envoy_validation_cleanup_f)();

#ifdef __cplusplus
} // function pointers
Expand All @@ -38,5 +38,5 @@ typedef void (*envoy_release_validator_f)();
*/
typedef struct {
envoy_validate_cert_f validate_cert;
envoy_release_validator_f release_validator;
envoy_validation_cleanup_f validation_cleanup;
} envoy_cert_validator;
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,7 @@

#include "source/extensions/transport_sockets/tls/cert_validator/factory.h"

#include "library/common/extensions/cert_validator/platform_bridge/platform_bridge.pb.h"
#include "library/common/extensions/cert_validator/platform_bridge/platform_bridge_cert_validator.h"
#include "library/common/extensions/cert_validator/platform_bridge/platform_bridge.pb.h"

Expand All @@ -10,7 +11,9 @@ namespace Extensions {
namespace TransportSockets {
namespace Tls {


class PlatformBridgeCertValidatorFactory : public CertValidatorFactory, public Config::TypedFactory {

public:
CertValidatorPtr createCertValidator(const Envoy::Ssl::CertificateValidationContextConfig* config,
SslStats& stats, TimeSource& time_source) override;
Expand All @@ -19,6 +22,7 @@ class PlatformBridgeCertValidatorFactory : public CertValidatorFactory, public C
return "envoy_mobile.cert_validator.platform_bridge_cert_validator";
}
ProtobufTypes::MessagePtr createEmptyConfigProto() override {

return std::make_unique<envoy_mobile::extensions::cert_validator::platform_bridge::PlatformBridgeCertValidator>();
}
std::string category() const override { return "envoy.tls.cert_validator"; }
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -2,4 +2,5 @@ syntax = "proto3";

package envoy_mobile.extensions.cert_validator.platform_bridge;

message PlatformBridgeCertValidator {}
message PlatformBridgeCertValidator {
}
Loading