Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
690 commits
Select commit Hold shift + click to select a range
32e4d28
thread: remove ThreadFactorySingleton (#6658)
AndresGuedez Apr 20, 2019
60241e3
fix version history order (#6671)
ramaraochavali Apr 22, 2019
a3fe3c6
docs: move xds protocol to rst (#6670)
ramaraochavali Apr 22, 2019
629bbfb
stats: add/test heterogenous set of StatNameStorage objects. (#6504)
jmarantz Apr 22, 2019
37b4d2d
proto: move extension-specific linking validation into extensions (#6…
goaway Apr 23, 2019
85ae43a
Changed TestHooks to ListenerHooks (#6642)
curiouserrandy Apr 23, 2019
0e89879
spell check: skip unsupported extensions when called with a file (#6648)
mattklein123 Apr 23, 2019
478e734
Improve build rules for (test only) library quic_port_utils. (#6672)
wu-bin Apr 23, 2019
a5a3331
security: postmortem for CVE-2019-990[01] (#6597)
htuch Apr 23, 2019
481a127
event: reintroduce dispatcher stats (#6659)
Apr 23, 2019
eaaa918
http filter: add CSRF filter (#6470)
dschaller Apr 23, 2019
216bdc6
docs: improving watermark docs/comments (#6683)
alyssawilk Apr 23, 2019
bc6780c
Explicitly convert absl::string_view to std::string. (#6687)
AndresGuedez Apr 23, 2019
1687ac9
docs: fix link in pull request template (#6679)
dschaller Apr 23, 2019
2c31247
version_history.rst: jwt_authn change missed 1.10.0 (#6684)
larrywest Apr 23, 2019
77d267e
ext_authz: added ability to detect partial request body data (#6583)
brectanus-sigsci Apr 24, 2019
3573b07
docs: add extension policy (#6678)
dschaller Apr 24, 2019
65092ea
build: bump rules_foreign_cc to e3f4b5e0 and switch to lld for .bazel…
htuch Apr 24, 2019
3f09359
add csrf extension to codeowners (#6702)
dschaller Apr 24, 2019
b08cf35
Include a full log of stats memory changes, and employ exact comparis…
jmarantz Apr 24, 2019
7ddd765
fuzz: buffer fuzzer for new implementation. (#6698)
htuch Apr 24, 2019
0111d66
event: fix race condition in DispatcherImpl (#6701)
Apr 24, 2019
8cca5c2
build: dynamic link tests in ASAN (#6704)
lizan Apr 25, 2019
ac32db3
Replace std::map with absl::flat_hash_map in FilterStateImpl (#6705)
Apr 25, 2019
71552f0
Replace base10 users of StringUtil::atoull with absl::SimpleAtoi (#6697)
dnoe Apr 25, 2019
c7f54a0
Move a bunch of quic testonly platform libraries to //test. (#6693)
wu-bin Apr 25, 2019
df5de28
Remove StringUtil::atoll, convert caller to absl::SimpleAtoi (#6707)
dnoe Apr 25, 2019
06d1e40
Use Swiss table with heterogenous lookup for CaseUnorderedSet (#6710)
dnoe Apr 26, 2019
c1ca527
upstream: do not stabilize host when failed by EDS (#6714)
mattklein123 Apr 26, 2019
0d5bfe2
orca: add qps to load reports. (#6677)
htuch Apr 26, 2019
304ec56
stats: Use SymbolTable API for creating and representing stat names. …
jmarantz Apr 26, 2019
ca28063
quiche:remove setThreadFactory() from QuicThreadImpl (#6700)
danzh2010 Apr 26, 2019
5fd871d
quiche: Update tarball to commit 43a1c0f10f2855c3cd142f500e8d19ac6d6f…
wu-bin Apr 26, 2019
ef688ed
Increase timeout of the coverage test run to 3000 seconds as it is no…
yanavlasov Apr 26, 2019
3c367db
quiche: add epoll_server for testing (#6650)
danzh2010 Apr 26, 2019
4b0ba22
tap: use move semantics for submitTrace (#6709)
yuval-k Apr 26, 2019
2778c3c
router: scoped rds (2a): scoped routing configuration protos (#6675)
AndresGuedez Apr 26, 2019
b8325ac
build: patch protobuf for UBSAN issue. (#6721)
htuch Apr 26, 2019
aec55a7
quiche: Implement http2_reconstruct_object_impl.h. (#6717)
wu-bin Apr 29, 2019
cdddf54
api: Add total_issued_requests to Upstream Locality and Endpoint Stat…
Apr 29, 2019
56f2f0d
[test] convert listener test stubs to v2 API (#6735)
derekargueta Apr 29, 2019
74563b2
quiche: Implement spdy_test_helpers_impl. (#6741)
wu-bin Apr 30, 2019
8890b06
coverage: run without deprecated option (#6752)
lizan Apr 30, 2019
ff1636c
http: tracking 100s from upstream in stats (#6746)
alyssawilk Apr 30, 2019
65d06db
quiche: implement QuicSystemEventLoopImpl (#6723)
danzh2010 Apr 30, 2019
e866717
http: rc details for main Envoy workflow (#6560)
alyssawilk Apr 30, 2019
f0aedf0
quiche: implement QuicEpollClock (#6745)
danzh2010 Apr 30, 2019
68d8c9e
Support gRPC-JSON translate without the google.api.http option. (#6731)
Apr 30, 2019
bc9eec7
test: reducing H2 test permutations, increasing coverage time (#6753)
alyssawilk May 1, 2019
4769552
Add test of parsing weighted_cluster route configuration to improve t…
yanavlasov May 1, 2019
f129e5e
Add test for the SocketOptionFactory::buildLiteralOptions() method. (…
yanavlasov May 1, 2019
b748ab4
Revert "api: Add total_issued_requests to Upstream Locality and Endpo…
lizan May 1, 2019
e1adad7
tls: update BoringSSL to 8cb07520 (3729). (#6762)
PiotrSikora May 1, 2019
44d89c3
quiche: Add (http2|quic|spdy)_flags_impl to QUICHE platform implement…
mpwarres May 1, 2019
b6c23c5
server: change hot restart parent<-->child protocol, remove stats sha…
fredlas May 1, 2019
5867e33
security: clarify security release window from fix patch availability…
htuch May 1, 2019
41eefff
upstream: handle health check fail after removal (#6765)
mattklein123 May 1, 2019
16dd476
Set up CI with Azure Pipelines (#6728)
lizan May 1, 2019
f35eea7
build/alts: fixes needed for .bzl and to bump gRPC to 1.20. (#6773)
htuch May 2, 2019
ad49f81
stats: Cleanup rejects on throw (#6777)
jmarantz May 2, 2019
9518aa7
fuzz: cleanup h1_capture_corpus. (#6779)
htuch May 2, 2019
8c39944
properly handle 'proxy-connection: close' header (#6749)
securityinsanity May 2, 2019
a5afe42
[tools] fix clang-8 reference (#6792)
derekargueta May 2, 2019
1f1b794
use HTTPS for debian artifacts when building Ubuntu container (#6791)
derekargueta May 2, 2019
281fa1a
Modify log level to debug (#6778)
sumukhs May 2, 2019
3e1aa6d
http: fixing a bug in the router filter when logging response headers…
alyssawilk May 3, 2019
5e039a6
Add support to report Locality proximity information as part of Load …
vishalpowar May 3, 2019
1c756a2
security: clarify embargo policy includes binary images. (#6771)
htuch May 3, 2019
8c2177b
security: clarify private distributor list member criteria. (#6713)
htuch May 3, 2019
16e85b1
attribute_context: do not include unused base.proto. (#6796)
ipuustin May 3, 2019
b6ea65d
Remove redundant std::move() calls (#6795)
ipuustin May 3, 2019
1bbf271
docs: update the extensions page (#6788)
mattklein123 May 3, 2019
98bce8c
check_format: parameterize namespace and header ordering checks. (#6801)
htuch May 3, 2019
8c8b068
minor maglev doc fix (#6807)
ramaraochavali May 4, 2019
61a7cb8
config: split out DeltaSubscriptionState (#6729)
fredlas May 5, 2019
ac1757f
Add redis cluster (#6446)
HenryYYang May 6, 2019
24b3b75
health check: handle host deletion during failure callback (#6813)
mattklein123 May 6, 2019
e46e172
add Azure Pipelines badge to README (#6816)
vtbassmatt May 6, 2019
ecf1085
Kafka codec (#4950)
adamkotwasinski May 6, 2019
3967b60
ci: removing broken opsgenie integration (#6822)
alyssawilk May 6, 2019
2d5be1a
http: sending rc details for gRPC filters (#6770)
alyssawilk May 6, 2019
438dd90
http: fixing a stats/logs bug for overly large responses (#6789)
alyssawilk May 6, 2019
e4d3981
build: use static config_impl_test to generate corpus (#6725)
lizan May 6, 2019
eb699ab
runtime: support bootstrap runtime configuration. (#6759)
htuch May 6, 2019
e3ca81f
Disallow specifying custom resolver name for STRICT and LOGICAL dns (…
sumukhs May 6, 2019
90aa112
Use envoy_proto_library macro for hot_restart.proto (#6828)
fcfort May 6, 2019
645bbed
test: document new matchers (#6829)
fredlas May 6, 2019
402b51a
Kafka codec: avoid memcpy-ing data in serializers when the bytes to c…
adamkotwasinski May 6, 2019
32c7051
stats: Add a new class StatNamePool to abstract some StatName memory …
jmarantz May 7, 2019
5fef151
docs: Revert api/envoy/service/auth/v2 CheckResponse.status change (#…
LukeShu May 7, 2019
8b1f6ea
Deps: Update non-bazel/repository_locations.bzl dependencies (#6833)
moderation May 7, 2019
cf87b5b
security: public disclosure of private distributor list. (#6832)
htuch May 7, 2019
3786f96
stats: Add iterate methods for tags. (#6764)
jmarantz May 7, 2019
81f2562
quiche: add quic_pcc_sender_impl.h (#6786)
wu-bin May 7, 2019
1e9e4a9
config: add well-known tag for worker ids (#6836)
May 7, 2019
977907d
Reclaim one byte from HeaderString. (#6826)
dnoe May 7, 2019
4aec400
Convert Span::setTag and Span::setOperation to string_view (#6817)
dnoe May 7, 2019
246b007
build: switch to clang to build release (#6841)
lizan May 7, 2019
c848204
http: adding more rc details (#6837)
alyssawilk May 7, 2019
af6e1b6
[tools] update schema validator to use MessageUtil (#6834)
derekargueta May 7, 2019
68f081b
config: Split detemplatized classes into cc and h (#6819)
fredlas May 7, 2019
f039760
remove obsolete HeapStatData comment about RawStatData (#6849)
fredlas May 7, 2019
fac5945
Update config.yml (#6844)
appplemac May 8, 2019
a79164f
http conn man: send 'connection: close' header when draining. (#6848)
kmyerson May 8, 2019
d236641
test: enabling deprecated-and-fatal features in the fuzz tests (#6840)
alyssawilk May 8, 2019
07f6599
build: remove bazel-prebuilt (#6854)
lizan May 8, 2019
619dcbe
ci: Remove envoy_select_quiche. (#6856)
wu-bin May 8, 2019
cd04942
security: add Aspen Mesh to private distributor list. (#6860)
htuch May 8, 2019
7d6826d
[tools] change schema validator to use --config-path instead of --jso…
derekargueta May 8, 2019
f0b508f
Kafka codec: refactor (nullable)string/bytes deserializers so they ut…
adamkotwasinski May 8, 2019
57721ad
[http] add upstreamSocketOptions and hook them into http connection p…
klarose May 8, 2019
eaa8c69
http: still more rc details (#6843)
alyssawilk May 8, 2019
683b875
VersionInfo: allow non-linkstamp rules to link in definitions (#6803)
junr03 May 8, 2019
7f66ca0
force the use of the en_US dictionary (#6863)
klarose May 8, 2019
f0f22f0
http: minor perf fix, not copying strings (#6861)
alyssawilk May 8, 2019
3c76057
Revert "Reclaim one byte from HeaderString. (#6826)" (#6864)
htuch May 9, 2019
065b201
Disable libevent tests (#6865)
keith May 9, 2019
744b904
test/main: refactor process-wide setup/shutdown. (#6858)
htuch May 9, 2019
9d367e0
Dependencies: Update bazel/repository_locations.bzl dependencies & v…
moderation May 9, 2019
ae3106b
test: delta xDS tests (#6838)
fredlas May 9, 2019
c9ff6bd
protobuf: add missing default case to enum (#6870)
fcfort May 9, 2019
4caf27c
config: add mssing imports to delta_subscription_state (#6869)
fcfort May 9, 2019
1081c02
string == string! (#6868)
alyssawilk May 9, 2019
a65e228
config: scoped rds (2b): support delta APIs in ConfigProvider framewo…
AndresGuedez May 9, 2019
bc4f1d7
delete things that snuck back in (#6873)
fredlas May 9, 2019
72129db
network filters: add `injectDataToFilterChain(data, end_stream)` meth…
yskopets May 9, 2019
6ffa8c1
stats: prevent unused counters from leaking across hot restart (#6850)
fredlas May 9, 2019
4c80194
upstream: allow excluding hosts from lb calculations until initial he…
May 9, 2019
d18b461
grpc: utilities for inter-converting grpc::ByteBuffer and Buffer::Ins…
jplevyak May 10, 2019
146f6cc
ci: add minimum Linux build for Azure Pipelines (#6881)
lizan May 10, 2019
d0770a4
Addendum to https://github.com/envoyproxy/envoy/pull/6778 (#6882)
oschaaf May 10, 2019
ce6dffa
common: use unscoped build target in generate_version_linkstamp (#6877)
fcfort May 10, 2019
bdb1786
stats: use tag iterator rather than constructing the tag-array and se…
jmarantz May 10, 2019
c833df9
fix explicit constructor in copy-initialization (#6884)
securityinsanity May 10, 2019
27b3e48
Rollforward of api: Add total_issued_requests to Upstream Locality an…
May 10, 2019
6178aea
upstream: move static and strict_dns clusters to dedicated files (#6886)
mattklein123 May 10, 2019
31485b5
Kafka codec: precompute request size before serialization, so we do n…
adamkotwasinski May 10, 2019
6434460
os syscalls lib: break apart syscalls used for hot restart (#6880)
junr03 May 10, 2019
11c9502
ci: switch macOS CI to azure pipelines (#6889)
lizan May 10, 2019
5a92867
upstream: Null-deref on TCP health checker if setsockopt fails (#6793)
andrewjjenkins May 10, 2019
1d22e8f
envoy_build_system: remove unnecessary return statement (#6898)
fcfort May 11, 2019
3ca9dcb
source and test: fix comparisons of different signedness. (#6890)
ipuustin May 13, 2019
b5c62d5
upstream: ensure hosts are updated when overprovisioning factor is se…
May 13, 2019
eaa2cb5
router: use new config_impl_test_lib instead of synthetic build targe…
fcfort May 13, 2019
19b3a29
Configurable jitter for initial healthcheck (#6892)
FAYiEKcbD0XFqF2QK2E4viAHg8rMm2VbjYKdjTg May 13, 2019
1c97fe3
perf: more string cleanup removing unnecessary copies (#6922)
alyssawilk May 13, 2019
1345d53
Base implementation of VHDS (#6438)
May 13, 2019
a87c61e
listener: detect filter chains with overlapping matching rules. (#6906)
PiotrSikora May 13, 2019
228a963
config: re-add logger.h. (#6916)
PiotrSikora May 13, 2019
1d104e5
connection: don't pass read data to filters when in delayed close. (#…
htuch May 14, 2019
e5a3e3c
sendall (#6931)
alyssawilk May 14, 2019
cc0f6db
types: fixing some type problems when compiling against other target…
junr03 May 14, 2019
003e2f4
Reclaim one byte from HeaderString (#6923)
dnoe May 14, 2019
c054a0f
Add upstream bazel CI configuration (#6938)
keith May 14, 2019
d7886be
string: more string cleanup (#6937)
alyssawilk May 14, 2019
4b0b654
envoy_build_system: remove unused build macro (#6941)
fcfort May 14, 2019
6dd4b6f
health check: fix additional regression from #6765 (#6942)
mattklein123 May 15, 2019
2932ab4
test: fixing a deadlock in simtime (#6956)
alyssawilk May 15, 2019
8ff23eb
Fix conflicting hot restart select on macOS (#6945)
keith May 15, 2019
b443927
DeltaSubscriptionState now fails on duplicate names (#6955)
fredlas May 15, 2019
24c7a1c
Make close condition more readable (#6954)
May 15, 2019
154cdcb
add type_url to DeltaDiscoveryResponse (#6957)
fredlas May 15, 2019
5e6fd4f
admin: Add /ready endpoint (#6682)
jackkleeman May 15, 2019
f37612f
http: fixing more absl::optional bugs in route cache (#6958)
alyssawilk May 16, 2019
bb4aebc
Add missing conditions for Linux/PPC (#6952)
akonradi May 16, 2019
cbd8d57
access log: Add support for downstream TLS session ID (#6888)
mikegrass May 16, 2019
dd16cb9
envoy_build_system: use private bazel macros where possible (#6926)
fcfort May 16, 2019
04f0cc9
test: adding some debug logs to diagnose hang (#6875)
alyssawilk May 16, 2019
2576f83
Remove native from BUILD files (#6964)
vladmos May 16, 2019
7bf5314
Dependency: remove golang/protobuf, update rules_go (#6946)
moderation May 16, 2019
7db3c99
Change findTag to take a const& metric (#6971)
eziskind May 16, 2019
4c80e73
api: expose root Stats::Scope via Api::Api (#6712)
ahedberg May 16, 2019
285d04c
ssl: reuse same slice for SSL_read (#6662)
lizan May 16, 2019
829b905
Add source/common/common/macros.h for the FALLTHRU macro. (#6979)
yanavlasov May 17, 2019
034b23e
api: Fix link to xDS proto overview in api docs (#6966)
mpitt May 17, 2019
1525f25
Update rules_go to 0.18.5 (#6983)
hlopko May 17, 2019
fa0b52a
Fix for an intermittently failing integration test (#6978)
May 17, 2019
94da964
Dependency: update subpar and benchmark (#7000)
moderation May 19, 2019
ca396a5
fix to build kafka extension under python3 (#6998)
May 19, 2019
3143ae4
Disable ranlib for cmake build dependencies (#6991)
keith May 19, 2019
ae7bfc7
[tools] add DiscoveryResponse to schema_validator (#6997)
derekargueta May 19, 2019
cd910bc
security: add VMware to the security members list (#7014)
venilnoronha May 20, 2019
e17f1d0
envoy_build_system: refactor main bzl file into separate smaller file…
fcfort May 20, 2019
0733e0e
test: parameterize SotW/delta in integration tests (#6967)
fredlas May 20, 2019
7f7bb49
gzip: Handle encode trailers for gzip http filter (#6910)
dio May 20, 2019
a8e9100
ext_authz: Make sure initiateCall only called once (#6949)
dio May 20, 2019
c8007cb
build spdy_core_alt_svc_wire_format (#7010)
danzh2010 May 20, 2019
75d9b99
Add support to unregister from lifecycle notifications (#6984)
eziskind May 21, 2019
e4d2bf4
Max heap fix (#7016)
asraa May 21, 2019
4bb3fbf
health check: fix more fallout from inline deletion change (#6988)
May 21, 2019
f683e0a
stats: Create stats for http codes with the symbol table. (#6733)
jmarantz May 21, 2019
cc98ec6
/runtime_modify: add support for query params in body (#6977)
May 21, 2019
813dc94
fix syntax of gcov exclusion zone. (#7023)
jmarantz May 21, 2019
244f1d4
example: add csrf sandbox (#6805)
dschaller May 21, 2019
ac0270c
dispatcher: faster runOnAllThreads (#7011)
lambdai May 22, 2019
8a5a83c
doc: update obsolete ref to api/XDS_PROTOCOL.md (#7002)
lambdai May 22, 2019
6cfeef7
test: adding an integration test framework for file-based LDS (#6933)
alyssawilk May 22, 2019
917e072
build: Add option for size-optimized binary (#6960)
May 22, 2019
831d0cb
router: scoped rds (2c): implement scoped rds API (#6932)
AndresGuedez May 22, 2019
c75dab4
[test] convert lds api test config stubs to v2 (#7021)
derekargueta May 22, 2019
f78295b
stats: rework stat sink flushing to centralize counter latching (#6996)
mattklein123 May 22, 2019
cab4ce6
Enable proto schema for router_check_tool (#6992)
jyotima May 22, 2019
457a732
coverage: fix some misc coverage (#7033)
mattklein123 May 22, 2019
82dec45
exe: drop unused deps on zlib compressor code (#7022)
May 22, 2019
e294040
proto: Add PATCH method to RequestMethod enum (#6737)
glebmish May 22, 2019
bc054bf
snapshot (#7036)
fredlas May 22, 2019
89689fc
Fix common typo: grcp -> grpc (#7040)
vjpai May 22, 2019
a8ac482
docs: fix csrf filter source origin note (#7041)
dschaller May 22, 2019
1736106
stats: improve test-coverage for a few stats-related functions. (#7038)
jmarantz May 22, 2019
9dcc856
build: bump libevent to 3b1864b. (#7012)
htuch May 23, 2019
94d6c26
stats: remove const-cast for symbol-table in edcs_filter_test.cc (#7045)
jmarantz May 23, 2019
b0c3683
ext_authz: configurable HTTP status code for network errors. (#6669)
May 23, 2019
46012ce
router: add a route name field in route.Route list (#6776)
drao9 May 23, 2019
77d8e59
tech debt: eliminate absl::make_unique (#7034)
lambdai May 23, 2019
efc8c93
upstream: fix HostUtility::healthFlagsToString (#7051)
mattklein123 May 23, 2019
2893aa0
tests: fix tsan test flake (#7052)
May 23, 2019
e5b2e52
migrate from v2alpha to v2 (#7044)
yangminzhu May 23, 2019
cfff658
mysql_filter: add handling for partial messages (#6885)
venilnoronha May 23, 2019
accc6cd
Fix typo in comment for rds.RouteConfiguration.validate_clusters (#7056)
mikegrass May 23, 2019
eecbb3e
gzip: add test for various compression strategy and level (#7055)
dio May 23, 2019
73c46c9
config: Implement both versions of onConfigUpdate() everywhere (#6879)
fredlas May 23, 2019
3fb0528
server: add ProcessContext (#7018)
ahedberg May 23, 2019
853be68
test: Add coverage for IsolatedStoreImpl::find* (#7043)
ahedberg May 23, 2019
b111739
coverage: more misc coverage (#7042)
mattklein123 May 23, 2019
5ec5680
security: branch policy and availability clarifications. (#6940)
htuch May 23, 2019
d3e35b6
quiche: implement SimpleLinkedHashMap platform APIs (#6782)
danzh2010 May 23, 2019
668725e
add assert in immutable config provider constructor to make sure… (#6…
stevenzzzz May 23, 2019
7bfad91
mocks: Add MockClusterTypedMetadata and expose from MockClusterInfo. …
jeffpiazza-google May 24, 2019
b2fd5e2
Fix docs (#7067)
dio May 24, 2019
4d4748e
router filter: implement hedge_on_per_try_timeout. (#6228)
mpuncel May 24, 2019
316c33b
redis: auth support (#6674)
msukalski May 24, 2019
0b60092
fuzz: add bound and nonempty constraint on actions in HeaderMapImpl f…
asraa May 26, 2019
3dfb9e6
docs: add missing word (#7078)
tbarrella May 26, 2019
8e2a1f4
[test] convert bootstrap test configs to v2 (#7065)
derekargueta May 26, 2019
b0c7a4b
docs: fix error link of ListenerFilter (#7001)
May 28, 2019
e353807
tracing: Add trace sampling configuration to the route, to override t…
objectiser May 28, 2019
ddd6a33
Use TCLAP for router_check_tool (#7062)
jyotima May 28, 2019
2f498c9
Make the new buffer impl's reserve/commit semantics match libevent (#…
brian-pane May 28, 2019
47a39f2
stats: Capture all StatNames needed in the hystrix filter at construc…
jmarantz May 28, 2019
ec38ecb
build: fix Google benchmark 1.5 reference. (#7090)
htuch May 28, 2019
c1ba62c
config: split SubscriptionFactory into .cc and .h (#7069)
fredlas May 28, 2019
47d3a52
quiche: implement QuicClock interface (#7028)
danzh2010 May 28, 2019
26cfd52
fix flake in ads_integration_test (#7091)
fredlas May 29, 2019
d51e91b
fuzz: add header string filter in utility_fuzz_test and cleanup dead…
asraa May 29, 2019
89d2b1b
Add RAII helper class to add/remove an element from an std::list (#7037)
eziskind May 29, 2019
e25bb86
ci: add make_unique rule to check_format (#7054)
lambdai May 29, 2019
712a72a
filters: http original src filter (#6790)
klarose May 29, 2019
9f1177d
cleanup: followup cleanup for #7037 (#7097)
eziskind May 29, 2019
c0797dc
remove use of std::tuple in gzip_filter_test to avoid compilation err…
stevenzzzz May 29, 2019
2964026
Delay connections reuse until we check for a close.
jplevyak May 29, 2019
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
14 changes: 14 additions & 0 deletions .azure-pipelines/linux.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
resources:
containers:
- container: envoy-build
image: envoyproxy/envoy-build:07f65995ece0b8a21bb2888d07a8c1d060e7daaa

jobs:
- job: BuildEnvoy
timeoutInMinutes: 360
pool:
vmImage: 'Ubuntu 16.04'
container: envoy-build
steps:
- script: bazel build //source/exe:envoy-static

24 changes: 24 additions & 0 deletions .azure-pipelines/macos.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,24 @@
# Azure Pipelines
trigger:
- master

jobs:
- job: macOS
timeoutInMinutes: 360
pool:
vmImage: 'macos-latest'

steps:
- script: ./ci/mac_ci_setup.sh
displayName: 'Install dependencies'

- script: ./ci/mac_ci_steps.sh
displayName: 'Run Mac CI'
env:
BAZEL_REMOTE_CACHE: https://storage.googleapis.com/envoy-circleci-bazel-cache/

- task: PublishTestResults@2
inputs:
testResultsFiles: '**/bazel-testlogs/**/test.xml'
testRunTitle: 'macOS'
condition: always()
8 changes: 8 additions & 0 deletions .bazelci/presubmit.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
---
tasks:
ubuntu_1804:
platform: ubuntu1804
build_targets:
- "//source/..."
test_targets:
- "//test/..."
2 changes: 2 additions & 0 deletions .bazelignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
api
examples/grpc-bridge/script
17 changes: 12 additions & 5 deletions .bazelrc
Original file line number Diff line number Diff line change
Expand Up @@ -6,26 +6,28 @@
# leave room for compiler/linker.
startup --host_jvm_args=-Xmx512m
build --workspace_status_command=bazel/get_workspace_status
build --experimental_remap_main_repo

# Basic ASAN/UBSAN that works for gcc
build:asan --define ENVOY_CONFIG_ASAN=1
build:asan --copt -fsanitize=address,undefined
build:asan --linkopt -fsanitize=address,undefined
build:asan --copt -fno-sanitize=vptr
build:asan --linkopt -fno-sanitize=vptr
build:asan --linkopt -fuse-ld=lld
build:asan --linkopt -ldl
build:asan --define tcmalloc=disabled
build:asan --build_tag_filters=-no_asan
build:asan --test_tag_filters=-no_asan
build:asan --define signal_trace=disabled
build:asan --copt -DADDRESS_SANITIZER=1
build:asan --copt -D__SANITIZE_ADDRESS__
build:asan --test_env=ASAN_OPTIONS=handle_abort=1:allow_addr2line=true:check_initialization_order=true:strict_init_order=true
build:asan --test_env=ASAN_OPTIONS=handle_abort=1:allow_addr2line=true:check_initialization_order=true:strict_init_order=true:detect_odr_violation=1
build:asan --test_env=UBSAN_OPTIONS=halt_on_error=true:print_stacktrace=1
build:asan --test_env=ASAN_SYMBOLIZER_PATH

# Clang ASAN/UBSAN
build:clang-asan --config=asan
build:clang-asan --linkopt -fuse-ld=lld

# macOS ASAN/UBSAN
build:macos-asan --config=asan
Expand All @@ -37,8 +39,10 @@ build:macos-asan --copt -D_FORTIFY_SOURCE=0
build:clang-tsan --define ENVOY_CONFIG_TSAN=1
build:clang-tsan --copt -fsanitize=thread
build:clang-tsan --linkopt -fsanitize=thread
build:clang-tsan --define tcmalloc=disabled
build:clang-tsan --linkopt -fuse-ld=lld
build:clang-tsan --define tcmalloc=disabled
# Needed due to https://github.com/libevent/libevent/issues/777
build:clang-tsan --copt -DEVENT__DISABLE_DEBUG_MODE

# Clang MSAN - broken today since we need to rebuild lib[std]c++ and external deps with MSAN
# support (see https://github.com/envoyproxy/envoy/issues/443).
Expand All @@ -47,15 +51,18 @@ build:clang-msan --copt -fsanitize=memory
build:clang-msan --linkopt -fsanitize=memory
build:clang-msan --define tcmalloc=disabled
build:clang-msan --copt -fsanitize-memory-track-origins=2
build:clang-msan --linkopt -fuse-ld=lld

# Clang with libc++
# TODO(cmluciano) fix and re-enable _LIBCPP_VERSION testing for TCMALLOC in Envoy::Stats::TestUtil::hasDeterministicMallocStats
# and update stats_integration_test with appropriate m_per_cluster value
build:libc++ --action_env=CC
build:libc++ --action_env=CXX
build:libc++ --action_env=CXXFLAGS=-stdlib=libc++
build:libc++ --action_env=PATH
build:libc++ --define force_libcpp=enabled
build:libc++ --linkopt -fuse-ld=lld

# Optimize build for binary size reduction.
build:sizeopt -c opt --copt -Os

# Test options
test --test_env=HEAPCHECK=normal --test_env=PPROF_PATH
39 changes: 25 additions & 14 deletions .circleci/config.yml
Original file line number Diff line number Diff line change
Expand Up @@ -4,26 +4,42 @@ executors:
ubuntu-build:
description: "A regular build executor based on ubuntu image"
docker:
- image: envoyproxy/envoy-build:698009170e362f9ca0594f2b1927fbbee199bf98
- image: envoyproxy/envoy-build:cfc514546bc0284536893cca5fa43d7128edcd35
resource_class: xlarge
working_directory: /source

jobs:
release:
executor: ubuntu-build
environment:
BAZEL_REMOTE_CACHE: https://storage.googleapis.com/envoy-circleci-bazel-cache/
steps:
- run: rm -rf /home/circleci/project/.git # CircleCI git caching is likely broken
- checkout
- run:
command:
ci/do_circle_ci.sh bazel.release
no_output_timeout: 60m
- setup_remote_docker
- run: ci/docker_push.sh
- run: ci/docker_tag.sh
- persist_to_workspace:
root: .
paths:
- build_release
- build_release_stripped
- store_artifacts:
path: /build/envoy/generated
destination: /
docker:
docker:
- image: docker
steps:
- run: rm -rf /home/circleci/project/.git # CircleCI git caching is likely broken
- checkout
- attach_workspace:
at: .
- setup_remote_docker
- run: ci/docker_build.sh
- run: ci/docker_push.sh
- run: ci/docker_tag.sh
asan:
executor: ubuntu-build
steps:
Expand Down Expand Up @@ -159,15 +175,6 @@ jobs:
- run: docs/publish.sh
- store_artifacts:
path: generated/docs
mac:
macos:
xcode: "9.3.0"
steps:
- run: sudo ntpdate -vu time.apple.com
- run: rm -rf /home/circleci/project/.git # CircleCI git caching is likely broken
- checkout
- run: ci/mac_ci_setup.sh
- run: ci/mac_ci_steps.sh

workflows:
version: 2
Expand All @@ -177,6 +184,11 @@ workflows:
filters:
tags:
only: /^v.*/
- docker:
requires: [release]
filters:
tags:
only: /^v.*/
- asan
- tsan
- compile_time_options
Expand All @@ -191,4 +203,3 @@ workflows:
filters:
tags:
only: /^v.*/
- mac
4 changes: 2 additions & 2 deletions .clang-tidy
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
Checks: 'clang-diagnostic-*,clang-analyzer-*,abseil-*,bugprone-*,modernize-*,performance-*,readability-redundant-*,readability-braces-around-statements'
Checks: 'clang-diagnostic-*,clang-analyzer-*,abseil-*,bugprone-*,modernize-*,performance-*,readability-redundant-*,readability-braces-around-statements,readability-container-size-empty'

#TODO(lizan): grow this list, fix possible warnings and make more checks as error
WarningsAsErrors: 'bugprone-assert-side-effect,modernize-make-shared,modernize-make-unique,readability-redundant-smartptr-get,readability-braces-around-statements,readability-redundant-string-cstr,bugprone-use-after-move'
WarningsAsErrors: 'bugprone-assert-side-effect,modernize-make-shared,modernize-make-unique,readability-redundant-smartptr-get,readability-braces-around-statements,readability-redundant-string-cstr,bugprone-use-after-move,readability-container-size-empty'

CheckOptions:
- key: bugprone-assert-side-effect.AssertMacros
Expand Down
8 changes: 6 additions & 2 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -2,18 +2,22 @@
BROWSE
/build
/build_*
*.bzlc
.cache
.classpath
.clwb/
/ci/bazel-*
/ci/prebuilt/thirdparty
/ci/prebuilt/thirdparty_build
compile_commands.json
cscope.*
.deps
/docs/landing_source/.bundle
/generated
.idea/
.project
*.pyc
**/pyformat
SOURCE_VERSION
.settings/
*.sw*
tags
TAGS
Expand Down
10 changes: 9 additions & 1 deletion CODEOWNERS
Original file line number Diff line number Diff line change
Expand Up @@ -2,8 +2,14 @@
# By default, @envoyproxy/maintainers own everything.
#* @envoyproxy/maintainers

# csrf extension
/*/extensions/filters/http/csrf @dschaller @mattklein123
# original_src http filter extension
/*/extensions/filters/http/original_src @snowp @klarose
# original_src listener filter extension
/*/extensions/filters/listener/original_src @snowp @klarose
# dubbo_proxy extension
/*/extensions/filters/network/dubbo_proxy @zyfjeff @lizan
/*/extensions/filters/network/dubbo_proxy @zyfjeff @lizan
# thrift_proxy extension
/*/extensions/filters/network/thrift_proxy @zuercher @brian-pane
# jwt_authn http filter extension
Expand All @@ -22,3 +28,5 @@
/*/extensions/filters/network/mysql_proxy @rshriram @venilnoronha @mattklein123
# quic extension
/*/extensions/quic_listeners/ @alyssawilk @danzh2010 @mattklein123 @mpwarres @wu-bin
# zookeeper_proxy extension
/*/extensions/filters/network/zookeeper_proxy @rgs1 @snowp
95 changes: 86 additions & 9 deletions CONTRIBUTING.md
Original file line number Diff line number Diff line change
Expand Up @@ -33,16 +33,29 @@ maximize the chances of your PR being merged.
deprecations between 1.3.0 and 1.4.0 will be deleted soon AFTER 1.5.0 is tagged and released
(at the beginning of the 1.6.0 release cycle). This results in a three to six month window for
migrating from deprecated code paths to new code paths.
* Unless the community and Envoy maintainer team agrees on an exception, during the
first release cycle after a feature has been deprecated, use of that feature
will cause a logged warning, and incrementing the
[runtime](https://www.envoyproxy.io/docs/envoy/latest/configuration/runtime#config-runtime)
runtime.deprecated_feature_use stat.
During the second release cycle, use of the deprecated configuration will
cause a configuration load failure, unless the feature in question is
explicitly overridden in
[runtime](https://www.envoyproxy.io/docs/envoy/latest/configuration/runtime#config-runtime)
config. Finally during the third release cycle the code and configuration will be removed
entirely.
* This policy means that organizations deploying master should have some time to get ready for
breaking changes, but we make no guarantees about the length of time.
* The breaking change policy also applies to source level extensions (e.g., filters). Code that
conforms to the public interface documentation should continue to compile and work within the
deprecation window. Within this window, a warning of deprecation should be carefully logged (some
features might need rate limiting for logging this). We make no guarantees about code or deployments
that rely on undocumented behavior.
* All deprecations/breaking changes will be clearly listed in [DEPRECATED.md](DEPRECATED.md).
* All deprecations/breaking changes will be announced to the
[envoy-announce](https://groups.google.com/forum/#!forum/envoy-announce) email list.
* All deprecations/breaking changes will be clearly listed in the [deprecated log](docs/root/intro/deprecated.rst).
* High risk deprecations//breaking changes may be announced to the
[envoy-announce](https://groups.google.com/forum/#!forum/envoy-announce) email list but by default
it is expected the multi-phase warn-by-default/fail-by-default is sufficient to warn users to move
away from deprecated features.
* Protobuf configuration in an alpha namespace, e.g. `v2alpha`, do not have any
restrictions on breaking changes. They may be freely modified, together with
their respective features.
Expand Down Expand Up @@ -119,13 +132,69 @@ maximize the chances of your PR being merged.
changes for 7 days. Obviously PRs that are closed due to lack of activity can be reopened later.
Closing stale PRs helps us to keep on top of all of the work currently in flight.
* If a commit deprecates a feature, the commit message must mention what has been deprecated.
Additionally, [DEPRECATED.md](DEPRECATED.md) must be updated as part of the commit.
Additionally, the [deprecated log](docs/root/intro/deprecated.rst) must be updated with relevant
RST links for fields and messages as part of the commit.
* Please consider joining the [envoy-dev](https://groups.google.com/forum/#!forum/envoy-dev)
mailing list.
* If your PR involves any changes to
[envoy-filter-example](https://github.com/envoyproxy/envoy-filter-example) (for example making a new
branch so that CI can pass) it is your responsibility to follow through with merging those
changes back to master once the CI dance is done.
* If your PR is a high risk change, the reviewer may ask that you runtime guard
it. See the section on runtime guarding below.


# Runtime guarding

Some high risk changes in Envoy are deemed worthy of runtime guarding. Instead of just replacing
old code with new code, both code paths are supported for between one Envoy release (if it is
guarded due to performance concerns) and a full deprecation cycle (if it is a high risk behavioral
change).

The canonical way to runtime guard a feature is
```
if (Runtime::runtimeFeatureEnabled("envoy.reloadable_features.my_feature_name")) {
[new code path]
} else {
[old_code_path]
}
```
Runtime guarded features named with the "envoy.reloadable_features." prefix must be safe to flip
true or false on running Envoy instances. In some situations it may make more sense to
latch the value in a member variable on class creation, for example:

```
bool use_new_code_path_ =
Runtime::runtimeFeatureEnabled("envoy.reloadable_features.my_feature_name")
```

This should only be done if the lifetime of the object in question is relatively short compared to
the lifetime of most Envoy instances, i.e. latching state on creation of the
Http::ConnectionManagerImpl or all Network::ConnectionImpl classes, to ensure that the new behavior
will be exercised as the runtime value is flipped, and that the old behavior will trail off over
time.

Runtime guarded features may either set true (running the new code by default) in the initial PR,
after a testing interval, or during the next release cycle, at the PR author's and reviewing
maintainer's discretion. Generally all runtime guarded features will be set true when a
release is cut, and the old code path will be deprecated at that time. Runtime features
are set true by default by inclusion in
[source/common/runtime/runtime_features.h](https://github.com/envoyproxy/envoy/blob/master/source/common/runtime/runtime_features.h)

There are four suggested options for testing new runtime features:

1. Create a per-test Runtime::LoaderSingleton as done in [DeprecatedFieldsTest.IndividualFieldDisallowedWithRuntimeOverride](https://github.com/envoyproxy/envoy/blob/master/test/common/protobuf/utility_test.cc)
2. Create a [parameterized test](https://github.com/google/googletest/blob/master/googletest/docs/advanced.md#how-to-write-value-parameterized-tests)
where the set up of the test sets the new runtime value explicitly to
GetParam() as outlined in (1).
3. Set up integration tests with custom runtime defaults as documented in the
[integration test README](https://github.com/envoyproxy/envoy/blob/master/test/integration/README.md)
4. Run a given unit test with the new runtime value explicitly set true as done
for [runtime_flag_override_test](https://github.com/envoyproxy/envoy/blob/master/test/common/runtime/BUILD)

Runtime code is held to the same standard as regular Envoy code, so both the old
path and the new should have 100% coverage both with the feature defaulting true
and false.

# PR review policy for maintainers

Expand Down Expand Up @@ -169,7 +238,7 @@ The sign-off is a simple line at the end of the explanation for the
patch, which certifies that you wrote it or otherwise have the right to
pass it on as an open-source patch. The rules are pretty simple: if you
can certify the below (from
[developercertificate.org](http://developercertificate.org/)):
[developercertificate.org](https://developercertificate.org/)):

```
Developer Certificate of Origin
Expand Down Expand Up @@ -228,7 +297,7 @@ git config --add alias.c "commit -s"
## Fixing DCO

If your PR fails the DCO check, it's necessary to fix the entire commit history in the PR. Best
practice is to [squash](http://gitready.com/advanced/2009/02/10/squashing-commits-with-rebase.html)
practice is to [squash](https://gitready.com/advanced/2009/02/10/squashing-commits-with-rebase.html)
the commit history to a single commit, append the DCO sign-off as described above, and [force
push](https://git-scm.com/docs/git-push#git-push---force). For example, if you have 2 commits in
your history:
Expand All @@ -244,9 +313,17 @@ should only be done to correct a DCO mistake.

## Triggering CI re-run without making changes

Sometimes CI test runs fail due to obvious resource problems or other issues
which are not related to your PR. It may be desirable to re-trigger CI without
making any code changes. Consider adding an alias into your `.gitconfig` file:
To rerun failed tasks in CI, add a comment with the the line

```
/retest
```

in it. This should rebuild only the failed tasks.

Sometimes tasks will be stuck in CI and won't be marked as failed, which means
the above command won't work. Should this happen, pushing an empty commit should
re-run all the CI tasks. Consider adding an alias into your `.gitconfig` file:

```
[alias]
Expand Down
Loading