Git Product home page Git Product logo

envoy's Introduction

Envoy Logo

Cloud-native high-performance edge/middle/service proxy

Envoy is hosted by the Cloud Native Computing Foundation (CNCF). If you are a company that wants to help shape the evolution of technologies that are container-packaged, dynamically-scheduled and microservices-oriented, consider joining the CNCF. For details about who's involved and how Envoy plays a role, read the CNCF announcement.

CII Best Practices OpenSSF Scorecard CLOMonitor Azure Pipelines Fuzzing Status Jenkins

Documentation

Related

Contact

  • envoy-announce: Low frequency mailing list where we will email announcements only.
  • envoy-security-announce: Low frequency mailing list where we will email security related announcements only.
  • envoy-users: General user discussion.
  • envoy-dev: Envoy developer discussion (APIs, feature design, etc.).
  • envoy-maintainers: Use this list to reach all core Envoy maintainers.
  • Twitter: Follow along on Twitter!
  • Slack: Slack, to get invited go here.
    • NOTE: Response to user questions is best effort on Slack. For a "guaranteed" response please email envoy-users@ per the guidance in the following linked thread.

Please see this email thread for information on email list usage.

Contributing

Contributing to Envoy is fun and modern C++ is a lot less scary than you might think if you don't have prior experience. To get started:

Community Meeting

The Envoy team meets twice per month on Tuesday at 9am PT. The public Google calendar is here: https://goo.gl/PkDijT

  • Meeting minutes are here
  • Recorded videos are posted here

Security

Security Audit

There has been several third party engagements focused on Envoy security:

  • In 2018 Cure53 performed a security audit, full report.
  • In 2021 Ada Logics performed an audit on our fuzzing infrastructure with recommendations for improvements, full report.

Reporting security vulnerabilities

If you've found a vulnerability or a potential vulnerability in Envoy please let us know at envoy-security. We'll send a confirmation email to acknowledge your report, and we'll send an additional email when we've identified the issue positively or negatively.

For further details please see our complete security release process.

envoy's People

Contributors

abeyad avatar adisuissa avatar alyssawilk avatar asraa avatar augustyniak avatar danzh2010 avatar dependabot[bot] avatar dio avatar ggreenway avatar goaway avatar htuch avatar jmarantz avatar jpsim avatar junr03 avatar kbaichoo avatar keith avatar kyessenov avatar lambdai avatar lizan avatar mattklein123 avatar phlax avatar piotrsikora avatar ramaraochavali avatar rebello95 avatar rgs1 avatar ryantheoptimist avatar snowp avatar wbpcode avatar yanavlasov avatar zuercher avatar

Stargazers

 avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar

envoy's Issues

Build bug

When I use build method like we used before in inner-source repo, it report error:

ERROR: /home/.cache/bazel/_bazel_user/1e0bb3bee2d09d2e4ad3523530d3b40c/external/envoy/contrib/transport_sockets/tls/cert_validator/extension/source/BUILD:11:19: Compiling contrib/transport_sockets/tls/cert_validator/extension/source/extension_validator.cc failed: (Exit 1): clang-12 failed: error executing command (from target @envoy//contrib/transport_sockets/tls/cert_validator/extension/source:config) /usr/lib/llvm/bin/clang-12 -U_FORTIFY_SOURCE -fstack-protector -Wall -Wthread-safety -Wself-assign -Wno-free-nonheap-object -fcolor-diagnostics -fno-omit-frame-pointer -g0 -O2 '-D_FORTIFY_SOURCE=1' ... (remaining 162 arguments skipped)

Use --sandbox_debug to see verbose messages from the sandbox
In file included from external/envoy/contrib/transport_sockets/tls/cert_validator/extension/source/extension_validator.cc:1:
external/envoy/contrib/transport_sockets/tls/cert_validator/extension/source/extension_validator.h:43:90: error: only virtual member functions can be marked 'override'
                        const Network::TransportSocketOptions* transport_socket_options) override;
                                                                                         ^~~~~~~~
external/envoy/contrib/transport_sockets/tls/cert_validator/extension/source/extension_validator.h:50:10: error: virtual function 'daysUntilFirstCertExpires' has a different return type ('size_t' (aka 'unsigned long')) than the function it overrides (which has return type 'absl::optional<uint32_t>' (aka 'optional<unsigned int>'))
  size_t daysUntilFirstCertExpires() const override;
  ~~~~~~ ^
external/envoy/source/extensions/transport_sockets/tls/cert_validator/cert_validator.h:77:36: note: overridden virtual function is here
  virtual absl::optional<uint32_t> daysUntilFirstCertExpires() const PURE;
          ~~~~~~~~~~~~~~~~~~~~~~~~ ^
external/envoy/contrib/transport_sockets/tls/cert_validator/extension/source/extension_validator.cc:96:35: error: no member named 'doVerifyCertChain' in 'Envoy::Extensions::TransportSockets::Tls::CertValidator'
  return default_cert_validator_->doVerifyCertChain(store_ctx, ssl_extended_info, leaf_cert,
         ~~~~~~~~~~~~~~~~~~~~~~~~~^
external/envoy/contrib/transport_sockets/tls/cert_validator/extension/source/extension_validator.cc:101:10: error: no viable conversion from returned value of type 'absl::optional<uint32_t>' (aka 'optional<unsigned int>') to function return type 'size_t' (aka 'unsigned long')
  return default_cert_validator_->daysUntilFirstCertExpires();
         ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
external/envoy/contrib/transport_sockets/tls/cert_validator/extension/source/extension_validator.cc:153:28: error: non-virtual member function marked 'override' hides virtual member function
  absl::string_view name() override { return "envoy.tls.cert_validator.extension"; }
                           ^
external/envoy/envoy/config/typed_config.h:22:23: note: hidden overloaded virtual function 'Envoy::Config::UntypedFactory::name' declared here: different return type ('std::string' (aka 'basic_string<char>') vs 'absl::string_view')
  virtual std::string name() const PURE;
                      ^
In file included from external/envoy/contrib/transport_sockets/tls/cert_validator/extension/source/extension_validator.cc:1:
In file included from external/envoy/contrib/transport_sockets/tls/cert_validator/extension/source/extension_validator.h:9:
In file included from external/envoy/envoy/ssl/context_config.h:11:
In file included from external/envoy/envoy/ssl/handshaker.h:9:
In file included from external/envoy/envoy/singleton/manager.h:9:
external/envoy/envoy/registry/registry.h:591:5: error: field type 'Envoy::Extensions::TransportSockets::Tls::ExtensionValidatorFactory' is an abstract class
  T instance_{};
    ^
external/envoy/contrib/transport_sockets/tls/cert_validator/extension/source/extension_validator.cc:156:1: note: in instantiation of template class 'Envoy::Registry::RegisterFactory<Envoy::Extensions::TransportSockets::Tls::ExtensionValidatorFactory, Envoy::Extensions::TransportSockets::Tls::CertValidatorFactory>' requested here
REGISTER_FACTORY(ExtensionValidatorFactory, CertValidatorFactory);
^
external/envoy/envoy/registry/registry.h:620:7: note: expanded from macro 'REGISTER_FACTORY'
      FACTORY##_registered
      ^
<scratch space>:26:1: note: expanded from here
ExtensionValidatorFactory_registered
^
external/envoy/envoy/config/typed_config.h:22:23: note: unimplemented pure virtual method 'name' in 'ExtensionValidatorFactory'
  virtual std::string name() const PURE;
                      ^
In file included from external/envoy/contrib/transport_sockets/tls/cert_validator/extension/source/extension_validator.cc:1:
In file included from external/envoy/contrib/transport_sockets/tls/cert_validator/extension/source/extension_validator.h:3:
In file included from /usr/lib/llvm/bin/../include/c++/v1/string:511:
In file included from /usr/lib/llvm/bin/../include/c++/v1/string_view:179:
In file included from /usr/lib/llvm/bin/../include/c++/v1/__string:57:
In file included from /usr/lib/llvm/bin/../include/c++/v1/algorithm:653:
/usr/lib/llvm/bin/../include/c++/v1/memory:2094:32: error: allocating an object of abstract class type 'Envoy::Extensions::TransportSockets::Tls::ExtensionValidator'
    return unique_ptr<_Tp>(new _Tp(_VSTD::forward<_Args>(__args)...));
                               ^
external/envoy/contrib/transport_sockets/tls/cert_validator/extension/source/extension_validator.cc:150:17: note: in instantiation of function template specialization 'std::make_unique<Envoy::Extensions::TransportSockets::Tls::ExtensionValidator, const Envoy::Ssl::CertificateValidationContextConfig *&, Envoy::Extensions::TransportSockets::Tls::SslStats &, Envoy::TimeSource &>' requested here
    return std::make_unique<ExtensionValidator>(config, stats, time_source);
                ^
external/envoy/source/extensions/transport_sockets/tls/cert_validator/cert_validator.h:48:15: note: unimplemented pure virtual method 'doSynchronousVerifyCertChain' in 'ExtensionValidator'
  virtual int doSynchronousVerifyCertChain(
              ^
7 errors generated.
Target //src/envoy:envoy failed to build
Use --verbose_failures to see the command lines of failed build steps.
INFO: Elapsed time: 2693.273s, Critical Path: 151.05s
INFO: 8782 processes: 3923 internal, 1 local, 4857 processwrapper-sandbox, 1 worker.
FAILED: Build did NOT complete successfully
make[1]: *** [Makefile.core.mk:81: build] Error 1
make: *** [Makefile:44: build_envoy] Error 2

I'm not sure what caused this error. Can anyone help to see it?

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.