Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
630 commits
Select commit Hold shift + click to select a range
dcd7f4c
ext_authz: removed unnecessary assert from onSuccess gRPC client (#6505)
Apr 11, 2019
6f01652
test: relax some test expectations about exception strings (#6558)
eziskind Apr 11, 2019
d68eb4c
tools/examples: remove v1_to_bootstrap and v1 example configs (#6556)
derekargueta Apr 11, 2019
eb9dd5c
remove empty file (#6562)
derekargueta Apr 11, 2019
e612fc9
upstream: add connection pool circuit breaker stats (#6516)
klarose Apr 11, 2019
2135e1a
docs: update websocket.rst (#6546)
jamessynge Apr 11, 2019
a9b49bf
test: Add EXPECT_THAT_THROWS_MESSAGE, allowing arbitrary string match…
jamessynge Apr 12, 2019
db7f124
dubbo_proxy: Refactor the DubboProxy filter (#6410)
gengleilei Apr 12, 2019
000d278
Implement QuicStreamBufferAllocator (#6550)
danzh2010 Apr 12, 2019
cdaeb13
http: mitigate delayed close timeout race with connection write buffe…
AndresGuedez Apr 12, 2019
0693184
Add support for redis 5 zpopmin and zpopmax (#6563)
maximebedard Apr 12, 2019
d324731
thrift_proxy: fix crash when remote closes the connection (#6549)
rgs1 Apr 12, 2019
8a5a32b
Implement http2 macros (#6567)
danzh2010 Apr 12, 2019
a5a1a99
test: Ensure only one thread advances time, and enable simulated-time…
jmarantz Apr 13, 2019
1e61a3f
test/fuzz: frame replay style testing and fuzzing for HTTP/2 headers.…
htuch Apr 14, 2019
ae70dbe
redis: fix asking output for ask redirection support (#6543)
msukalski Apr 14, 2019
02ed57d
docs: correct a package of AggregatedDiscoveryService (#6572)
yskopets Apr 15, 2019
b82dc5d
cluster manager: destroy warming clusters during shutdown() (#6577)
mattklein123 Apr 15, 2019
c1e29e5
Don't use simulated time yet -- still flaky. (#6579)
jmarantz Apr 15, 2019
a368b4c
Upgrading docker-compose version for front proxy example (#6574)
Apr 15, 2019
a801993
Use StopAllIterationAndWatermark in ext_auth filter (#6565)
soya3129 Apr 15, 2019
d0f992c
add response code details to stream info (#6530)
eziskind Apr 15, 2019
6054b73
http1: enable reads when final pipeline response received (#6578)
mattklein123 Apr 15, 2019
77748b2
event: add stats for loop duration and poll delay (#6517)
Apr 15, 2019
e031911
network: expose unix socket peer credentials on connection (#6460)
snowp Apr 15, 2019
61e4fea
tools: allow hooks/format to be run from owning directory (#6585)
mattklein123 Apr 16, 2019
21fd119
refactor router filter to store upstream requests in a list. (#6540)
mpuncel Apr 16, 2019
7163451
redis: prefixed routing (#6413)
maximebedard Apr 16, 2019
3a596a4
Remove HeaderString::c_str() and migrate callers to getStringView() (…
dnoe Apr 16, 2019
7dad4a1
upstream: partition hosts in a single pass (#6440)
snowp Apr 16, 2019
f235f56
lua: align the allocated memory (#6599)
lizan Apr 16, 2019
53781eb
Remove HeaderString::find and migrate callers to getStringView().fin…
dnoe Apr 16, 2019
4304b18
support hooks: ignore submodules for single file format check (#6607)
mattklein123 Apr 17, 2019
a87a09d
build: initialize const vector explicitly (#6604)
lizan Apr 17, 2019
5ea1a0c
Add tag extractor for RDS route config name (#6618)
eziskind Apr 17, 2019
bad70bf
event: fix DispatcherImplTest::InitializeStats flake (#6619)
Apr 17, 2019
504e15f
add HTTP integration tests exercising timeouts (#6621)
mpuncel Apr 17, 2019
e6a3ce1
Implementing Endpoint lease for ClusterLoadAssigment (#6477)
vishalpowar Apr 17, 2019
3a8128a
security: blameless postmortem template. (#6553)
htuch Apr 17, 2019
c2e8e3f
tools: check spelling in pre-push hook (#6631)
mattklein123 Apr 18, 2019
788e66d
build: update jinja to 2.10.1. (#6623)
htuch Apr 18, 2019
0e109cb
ext_authz: option for clearing route cache of authorized requests (#6…
Apr 18, 2019
5cb2229
api: create OpenRCA service proto file (#6497)
voidzcy Apr 18, 2019
5ea103e
router: support customizable retry back-off intervals (#6568)
zuercher Apr 18, 2019
a039b9d
quiche: Implement SpdyUnsafeArena using SpdySimpleArena (#6612)
danzh2010 Apr 18, 2019
4050392
examples: standardize docker-compose version and yaml extension (#6613)
Apr 18, 2019
109d23a
event: update libevent dependency to fix race condition (#6637)
Apr 18, 2019
3b8e176
fault filter: reset token bucket on data start (#6627)
mattklein123 Apr 18, 2019
dc3467a
Batch implementation with timer (#6452)
FAYiEKcbD0XFqF2QK2E4viAHg8rMm2VbjYKdjTg Apr 18, 2019
43e06d2
Revert dispatcher stats (#6649)
mattklein123 Apr 19, 2019
aedb8ca
build: add ppc build badge to README (#6629)
cmluciano Apr 19, 2019
8789695
access log: add response code details to the access log formatter (#6…
eziskind Apr 19, 2019
4e01b0b
http timeout integration test: wait for 15s for upstream reset (#6646)
mpuncel Apr 19, 2019
7a8f4b0
docs: update docs to recommend /retest repokitteh command (#6655)
snowp Apr 19, 2019
3abb7d0
config: fix delta xDS's use of (un)subscribe fields, more explicit pr…
fredlas Apr 19, 2019
8ceb9c7
docs: add aspell to mac dependencies to fix check format script (#6661)
dschaller Apr 20, 2019
fdb4f1a
Implement some TODOs in quic_endian_impl.h (#6644)
wu-bin Apr 20, 2019
2ae3322
update bazel readme for clang-format-8 on mac (#6660)
dschaller Apr 20, 2019
92963f9
router: defer per try timeout until downstream request is done (#6643)
snowp Apr 20, 2019
03ae1ef
router: support offseting downstream provided grpc timeout (#6628)
snowp Apr 20, 2019
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
b78a36c
WASM Null sandbox.
jplevyak 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
c147b19
Merge branch 'wasm' into wasm-null-sandbox
jplevyak 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
14768d5
build: remove unused cmake rule (#5890)
lizan Feb 9, 2019
724328c
Add support for partially extending WASM stats/metrics. (#62)
jplevyak May 9, 2019
8341d88
Minimally sufficient subset of https://github.com/envoyproxy/envoy/pu…
May 9, 2019
0d3ba74
Patch gRPC tests. (#69)
jplevyak May 10, 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
b7455cc
test: remove accidentally checked memory.wast file. (#68)
PiotrSikora May 10, 2019
3735783
build: update WAVM to latest. (#64)
PiotrSikora May 10, 2019
bde25c1
build: update ninja to version 1.8.2. (#65)
PiotrSikora 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
c19e6d5
Make test null plugin a dependency of test.
jplevyak May 14, 2019
eb83d19
Address comments.
jplevyak May 14, 2019
696dc21
Address comments.
jplevyak May 14, 2019
368ba75
Address comments.
jplevyak May 15, 2019
622dbb0
Merge remote-tracking branch 'upstream/wasm' into wasm-null-sandbox
jplevyak May 15, 2019
04cc379
Merge pull request #67 from duderino/jblatt_build_fixes
May 15, 2019
0f0d43f
Address comments.
jplevyak May 15, 2019
dba11f3
wasm: add v8 runtime. (#66)
PiotrSikora May 16, 2019
6f71c51
Merge remote-tracking branch 'upstream/wasm' into wasm-null-sandbox
jplevyak May 16, 2019
f7e216d
Working, now to cleanup.
jplevyak May 16, 2019
4d5d895
Address commments.
jplevyak May 16, 2019
99674fb
Address comments.
jplevyak May 16, 2019
e9f5345
Address comments.
jplevyak May 16, 2019
aa24aa5
Address comments.
jplevyak May 16, 2019
ef0cde6
Merge branch 'istio-proxy-1.2' into master.
PiotrSikora May 17, 2019
e8e943c
Add wrappers for uint32_t versions of intrinsic functions.
jplevyak May 17, 2019
d0b6bf9
Fixup string_view aliases..
jplevyak May 17, 2019
73a2d3c
Fix compilation on GCC.
jplevyak May 17, 2019
168c205
Address comments.
jplevyak May 17, 2019
4a97c51
Address comments.
jplevyak May 17, 2019
8bf84af
Address comments.
jplevyak May 17, 2019
8918cf9
Address comments.
jplevyak May 17, 2019
5761d06
Merge remote-tracking branch 'upstream/wasm' into wasm-null-sandbox
jplevyak May 17, 2019
3596b52
Fix gcc issue with string_view and teting::StrEq.
jplevyak May 18, 2019
4ca5174
Address comments.
jplevyak May 18, 2019
94a0d83
Run buldifier
jplevyak May 18, 2019
296ed88
Address comment.
jplevyak May 18, 2019
a16857a
Address comments.
jplevyak May 18, 2019
6d5f066
Address comments.
jplevyak May 18, 2019
75ba838
Fix asm bug.
jplevyak May 18, 2019
e89ed13
Address comments.
jplevyak May 18, 2019
d363e6d
Comments.
jplevyak May 18, 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()
1 change: 1 addition & 0 deletions .bazelignore
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
examples/grpc-bridge/script
14 changes: 9 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,15 @@ 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

# 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
6 changes: 5 additions & 1 deletion CODEOWNERS
Original file line number Diff line number Diff line change
Expand Up @@ -2,8 +2,10 @@
# By default, @envoyproxy/maintainers own everything.
#* @envoyproxy/maintainers

# csrf extension
/*/extensions/filters/http/csrf @dschaller @mattklein123
# 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 +24,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