Commit Graph

747 Commits

Author SHA1 Message Date
yang-g 86b23adc7f Other comments 2019-02-15 16:26:31 -08:00
yang-g bc946d6c6d merge with head and resolve conflicts 2019-02-12 15:00:32 -08:00
Arjun Roy 195a30bb8b Grpc: Change grpc_handshake and grpc_handshake_mgr to use CPP implementations.
grpc_handshake is renamed to GrpcHandshake, using C++ class definitions
instead of C-style vtable classes. Update callers to use new interfaces.
We use RefCountedPtr to simplify reference tracking.
2019-02-11 11:35:08 -08:00
Chris Wilcox df6cf7c741 Add period at end of metadata.google.internal to prevent unnecessary DNS lookups. 2019-01-24 09:37:32 -08:00
yang-g cf806915fc Merge branch 'master' into shutdown 2018-12-21 13:36:30 -08:00
Mark D. Roth b96196f655
Merge pull request #17547 from markdroth/alignment_cleanup
Remove now-unnecessary workarounds for alignment issues.
2018-12-20 10:07:59 -08:00
yang-g 3c8d24ba2c merge with head and resolve conflict 2018-12-19 10:13:41 -08:00
Mark D. Roth 09a173b4b6 Remove now-unnecessary workarounds for alignment issues. 2018-12-18 15:09:48 -08:00
yang-g 038a71d826 Merge remote-tracking branch 'upstream/master' into gpr_test_util_to_grpc_test_util 2018-12-17 08:52:20 -08:00
Soheil Hassas Yeganeh 9decf48632 Move security credentials, connectors, and auth context to C++
This is to use `grpc_core::RefCount` to improve performnace.
This commit also replaces explicit C vtables, with C++ vtable
with its own compile time assertions and performance benefits.
It also makes use of `RefCountedPtr` wherever possible.
2018-12-13 10:38:12 -05:00
yang-g 67742ef63f Fix BUILD files. Manually edit bzl files 2018-12-06 14:37:52 -08:00
yang-g 991963efcc Merge branch 'master' into shutdown 2018-12-05 14:53:06 -08:00
Yihua Zhang 750e80ea1c bring back original network test for metadata server detection 2018-12-05 10:27:01 -08:00
yang-g e75fc243da change tests to use the new class instead of grpc_test_init 2018-11-30 08:57:38 -08:00
yang-g cdd698810b Move grpc_shutdown internals to a detached thread 2018-11-27 14:26:08 -08:00
yang-g a35f55fd70 move helper function into namespace 2018-10-26 14:28:52 -07:00
yang-g 83d74bf6fc Remove the internal cache for google_default_credentials 2018-10-26 14:04:36 -07:00
yihuaz e976f69972
Merge pull request #16963 from yihuazhang/security_connector_refactor_new
security connector refactor
2018-10-24 13:14:28 -07:00
Yihua Zhang 81bc942cd8 security connector refactor 2018-10-22 09:37:48 -07:00
Yihua Zhang bed575c8b1 Do not pass interested_parties during handshake 2018-10-12 16:05:51 -07:00
Yihua Zhang 70a6c790b9 Add changes in #16782 2018-10-05 10:17:09 -07:00
jiangtaoli2016 e361d0f691 Turn loading system root certificate as default 2018-09-04 15:23:20 -07:00
Chris Lamb fba18d8551 Fix a number of spelling errors. 2018-08-22 16:52:46 +01:00
tdbhacks bcd747d42d Added system roots feature to load roots from OS trust store
Added a flag-guarded feature that allows gRPC to load TLS/SSL
roots from the OS trust store. This is the Linux-specific
implementation of such feature.
2018-08-09 11:01:31 -07:00
Dan Rosart 477a1aec5a Don't segfault when product name from BIOS is empty
Somehow some Dell servers we're trying to run a gRPC client on have an empty product name in the BIOS. When gRPC tries to creadte default credentials, it checks whether it's running on GCE by strcmp()ing the contents of /sys/class/dmi/id/product_name to some magic strings. When it reads that file, it gets only a newline; in trim() it skips over the newline in both directions, and since end < start it returns nullptr. This causes a segfault in the strcmp() call. Since a machine without a product name clearly isn't GCE, change it to return false instead.
2018-07-03 13:13:37 -07:00
Dan Rosart f54fc5b53a Include port_platform in gcp_environment tests.
Both the Windows and Linux tests use platform-specific macros to
determine whether they should execute, but they weren't including the
file where those macros were defined, so they were always running the
else case of that check, which meant they weren't testing anything.
2018-06-27 16:57:11 -07:00
adelez 5bdd9a8cb9
Revert "Revert "Add suppressions to sanitizers for bazel builds"" 2018-06-15 16:31:21 -07:00
Nicolas Noble 43557fee0b
Revert "Add suppressions to sanitizers for bazel builds" 2018-06-14 10:49:11 -07:00
Adele Zhou 4cd659505c Add data param to grpc_cc_library 2018-06-13 15:36:28 -07:00
Yihua Zhang e145c52286 use a new gcp env check mechansim 2018-05-18 10:03:05 -07:00
Yihua Zhang cc93663910 Add ALTS fuzzer 2018-05-08 10:15:03 -07:00
Yihua Zhang 392dad7134 incorporate alts to google default creds 2018-05-03 20:12:20 -07:00
jiangtaoli2016 310d87d509 fix namespace of security_connector test functions 2018-04-27 08:49:02 -07:00
David Cowden 116fd29a36
gRPC core: strip zone-id from IPv6 hosts before TLS verification
When initiating a connection to an IPv6 peer using an address that is
not globally scoped, there may be ambiguity regarding which zone the
destination address applies to when multiple links of the same scope
are present. The scoped address architecture and zone-id syntax are
described in rfc4007 and rfc 6874, respectively:

  * https://tools.ietf.org/html/rfc4007#section-6
  * https://tools.ietf.org/html/rfc6874

This patch allows host name verification performed during TLS session
establishment, and on a per-call basis, to work correctly when the peer
presents a certificate with a non-global IPv6 address listed as one of
its alternate names. Whether arbitrary certificate authorities choose
issue certificates of this nature, or not, is outside the scope of gRPC.

The zone-id is separated from the address using a percent (%) character.
It is considered a system implementation detail and guidance suggests it
be stripped from any paths or addresses egressing a host because it is
irrelevant and meaningless otherwise. It would not make sense for a
server to present a certificate containing non-global IPv6 addresses
with zone-ids present nor would it work unless two hosts happened to
be using the same zone-id.

ssl_host_matches_name is prefixed with grpc_ because it has been
promoted to the global namespace for testing.

Resolves #14371
2018-04-26 12:25:38 -07:00
Yihua Zhang fe2fa0c1c8 Add C++ experimental API extensions for ALTS C stack 2018-04-16 15:11:32 -07:00
jiangtaoli2016 144f5559da cache default SSL root cert store 2018-03-23 11:28:48 -07:00
Yihua Zhang 04fb58efbd Add ALTS code to grpc/core 2018-03-08 06:49:24 -08:00
Sree Kuchibhotla ae277dd000
Revert "Add ALTS C stack to gRPC core" 2018-03-07 14:35:36 -08:00
Yihua Zhang eaf6486677 Add ALTS code to grpc/core 2018-03-06 21:40:45 -08:00
adelez 5d0480a88c
Merge pull request #14469 from adelez/foundry_integration
Add more bazel tests
2018-02-22 13:39:39 -08:00
Mark D. Roth 9b32d9c4f3
Merge pull request #14437 from yihuazhang/security_connector_replacement
Security connector replacement
2018-02-21 07:59:04 -08:00
Adele Zhou 1c805ec901 Add more bazel tests 2018-02-20 17:46:39 -08:00
Yihua Zhang 75f0a9fbd2 place security_connector in its own subdirectory 2018-02-20 10:09:47 -08:00
Adele Zhou a2013f86a0 Fix the fuzzer corpus path. 2018-02-16 22:16:38 -08:00
Noah Eisen 4d20a66685 Run clang fmt 2018-02-09 09:34:04 -08:00
Noah Eisen be82e64b3d Autofix c casts to c++ casts 2018-02-09 09:16:55 -08:00
Vijay Pai 18b9133f31 Merge branch 'master' into gpr_review 2018-02-08 12:18:09 -08:00
Vijay Pai d4d0a30c6f Privatize useful.h and avl.h 2018-02-02 09:16:44 -08:00
Vijay Pai 8a99fdb57e Move cmdline and subprocess from public gpr to test/core/util 2018-01-25 20:11:38 -08:00
Mark D. Roth dbdf495f61 Split lib/support into lib/gpr and lib/gpr++. 2018-01-18 11:21:12 -08:00
Jan Tattermusch 148700a8ea windows needs fflush after fprintf 2018-01-12 09:59:12 +01:00
Yash Tibrewal 8cf1470a51
Revert "Revert "All instances of exec_ctx being passed around in src/core removed"" 2017-12-06 09:47:54 -08:00
Yash Tibrewal ad4d2dde00
Revert "All instances of exec_ctx being passed around in src/core removed" 2017-12-06 09:05:05 -08:00
Yash Tibrewal 73bb67d054 Merge master into execctx 2017-12-05 17:49:11 -08:00
Dan Born 53d5503fac Pass a pollset_set to some client handshakers. 2017-12-04 18:01:47 -08:00
Yash Tibrewal c354269ba7 Remove _ prefixed variable names 2017-11-29 19:07:44 -08:00
Yash Tibrewal 81fc8c9c33 Fix tests to call grpc_init and grpc_shutdown before using exec_ctx 2017-11-28 13:23:36 -08:00
Yash Tibrewal a13a8c0f3e A few src/core fixes due to missing exec_ctx_finish 2017-11-21 19:38:09 -08:00
Yash Tibrewal 177039b2f8 Merge master 2017-11-16 19:31:28 -08:00
Yash Tibrewal 6c26b16fe0 Move ExecCtx to grpc_core namespace. Make exec_ctx a private static in ExecCtx and some minor changes 2017-11-14 18:11:22 -08:00
Yash Tibrewal 75122c2357 Address some PR comments 2017-11-14 01:36:28 -08:00
Craig Tiller be98d24841 clang-format after nullptr changes 2017-11-10 15:26:57 -08:00
Craig Tiller 4ac2b8e585 Enable clang-tidy as a sanity check, fix up all known failures 2017-11-10 14:14:17 -08:00
Yash Tibrewal 4e9265c828 Merge with master 2017-11-09 17:46:29 -08:00
Yash Tibrewal 40422d5fa6 Merge master 2017-11-06 14:43:31 -08:00
Craig Tiller 9ab26feb68 Merge github.com:grpc/grpc into 50 2017-11-06 09:45:55 -08:00
Julien Boeuf a274f341d5 Removing port 443 for the service name (used as audience) when the url is https. 2017-11-03 18:43:29 -07:00
Craig Tiller baa14a975e Update clang-format to 5.0 2017-11-03 09:09:36 -07:00
Yash Tibrewal 11a518995e LLVMfuzzer extern C 2017-10-31 15:15:41 -07:00
Yash Tibrewal 77532036b6 BUILD changes. test languauge to C++ 2017-10-31 11:11:18 -07:00
Yash Tibrewal 4d71636fcc some BUILD changes and designated initializers 2017-10-30 18:29:27 -07:00
Yash Tibrewal e586324627 BUILD files changes for bazel 2017-10-30 17:52:07 -07:00
Yash Tibrewal 39aed1ae8b Remove unnecessary extern Cs 2017-10-25 17:04:35 -07:00
Yash Tibrewal af922468dd ssl_credentials_tests C++ized 2017-10-25 16:29:49 -07:00
Yash Tibrewal 3318979a5f Merge branch 'master' into testc++ize 2017-10-25 16:26:03 -07:00
Yash Tibrewal 34a57d0346 rename all test core files to cc and a lot of C++ style conversions 2017-10-25 16:23:01 -07:00
Justin Burke 9b9a44e4dd Expose conversion of grpc to tsi cert pairs 2017-10-23 15:08:45 -07:00
Yash Tibrewal 0ee7574732 Removing instances of exec_ctx being passed around in functions in
src/core. exec_ctx is now a thread_local pointer of type ExecCtx instead of
grpc_exec_ctx which is initialized whenever ExecCtx is instantiated. ExecCtx
also keeps track of the previous exec_ctx so that nesting of exec_ctx is
allowed. This means that there is only one exec_ctx being used at any
time. Also, grpc_exec_ctx_finish is called in the destructor of the
object, and the previous exec_ctx is restored to avoid breaking current
functionality. The code still explicitly calls grpc_exec_ctx_finish
because removing all such instances causes the code to break.
2017-10-18 17:12:19 -07:00
Craig Tiller 1e868f0f95 Merge github.com:grpc/grpc into flowctl+millis 2017-09-29 11:18:26 -07:00
Mark D. Roth b4c01f9e29 Merge remote-tracking branch 'upstream/master' into plugin_credentials_api_fix 2017-09-25 12:36:30 -07:00
Craig Tiller 6a34067d16 Merge github.com:grpc/grpc into grpc_millis 2017-09-19 12:44:15 -07:00
Craig Tiller bbe282f600 Merge github.com:grpc/grpc into grpc_millis 2017-09-11 12:11:40 -07:00
Craig Tiller 4aac9a664a Merge github.com:grpc/grpc into pollset_kick_stats 2017-09-11 12:09:03 -07:00
Craig Tiller 55863ff527 Merge github.com:grpc/grpc into write_completion 2017-09-08 14:39:15 -07:00
Craig Tiller fabb513fe4 Merge 2017-09-08 11:45:11 -07:00
Craig Tiller 4f5acf73c9 Merge github.com:grpc/grpc into pollset_kick_stats 2017-09-08 11:38:41 -07:00
Mark D. Roth 0aee498525 Merge remote-tracking branch 'upstream/master' into plugin_credentials_api_fix 2017-09-08 08:01:29 -07:00
jiangtaoli2016 c88e1dee43 fix secure_endpoint_test 2017-09-07 09:54:28 -07:00
jiangtaoli2016 627691fd26 Fake zero-copy frame protector 2017-09-06 12:45:43 -07:00
Mark D. Roth 2caf021772 Change plugin credentials API to support both sync and async modes. 2017-09-01 15:04:13 -07:00
Craig Tiller ee090ec975 Merge github.com:grpc/grpc into wc 2017-09-01 10:30:11 -07:00
Craig Tiller 0ff222a23b Add pollset_kick stats 2017-09-01 09:41:43 -07:00
Craig Tiller 8fd40d5ed9 Merge github.com:grpc/grpc into wc 2017-08-31 10:54:11 -07:00
Jan Tattermusch 090cd46a6c Revert "Fake zero copy protector" 2017-08-31 15:42:17 +02:00
jiangtaoli2016 5899055cec Implement fake TSI zero-copy frame protector 2017-08-30 15:46:45 -07:00
Nicolas "Pixel" Noble 2bc5e3ac40 Moving visibility and package creation to the build system. 2017-08-30 19:18:37 +02:00
Craig Tiller d9b82bdecb Merge github.com:grpc/grpc into grpc_millis 2017-08-29 12:16:56 -07:00
Yuchen Zeng 309c9de041 Update credentials_test 2017-08-09 16:12:57 -07:00
Mark D. Roth e0778b2c18 Add cancellation to asynchronous security APIs. 2017-07-21 15:42:00 -07:00
Craig Tiller 764cdbaaf0 Merge github.com:grpc/grpc into write_completion 2017-07-17 16:32:50 -07:00
Craig Tiller 19b9af0cb8 Fix tools compilation 2017-07-17 16:26:24 -07:00
Craig Tiller c0df1c0f9a Compiling again 2017-07-17 16:12:33 -07:00
Craig Tiller fa5c6215be Merge github.com:grpc/grpc into grpc_millis 2017-07-17 14:10:44 -07:00
Julien Boeuf da8eca56e2 Better handling of token lifetime.
- In C++, we need a constant for the max lifetime.
- In C, make sure that we crop the lifetime in the credentials object
itself and not just later during the creation of the token. This will
allow the refresh to occur based on the actual token lifetime as opposed
to the one from the user (which may be cropped).
2017-07-13 21:58:01 -07:00
Craig Tiller 00f78ba0e2 Merge github.com:grpc/grpc into write_completion 2017-07-13 13:53:45 -07:00
Nicolas Noble 9877189e45 Merge pull request #11310 from nicolasnoble/import
Import mutations.
2017-07-13 13:39:58 -07:00
Mark D. Roth ca0b8084bd Merge pull request #11409 from annasapek/asynch-tsi-fake-handshaker
Update tsi_fake_handshaker to implement the asynchronous TSI
2017-07-12 07:18:26 -07:00
Craig Tiller a6ca571bd5 Merge github.com:grpc/grpc into write_completion 2017-07-11 14:51:57 -07:00
Anna Sapek 4318df0571 Update tsi_fake_handshaker to implement the asynchronous TSI 2017-07-11 14:05:11 -07:00
Nicolas "Pixel" Noble 5d80dc4985 Merge branch 'master' of https://github.com/grpc/grpc into import 2017-06-26 22:01:11 +02:00
ncteisen 274bbbe6a0 Add rich closure debug mode 2017-06-08 15:29:29 -07:00
Jan Tattermusch 4d5c3102a1 fix remaining license notices 2017-06-08 11:22:41 +02:00
Jan Tattermusch 7897ae9308 auto-fix most of licenses 2017-06-08 11:22:41 +02:00
Nicolas "Pixel" Noble af6c83f9e1 Adding dummy layering check option. 2017-05-19 01:53:56 +02:00
Craig Tiller dc3998e710 Converting code 2017-05-12 09:55:30 -07:00
Nicolas "Pixel" Noble eb36b8ac77 Merge branch 'master' of https://github.com/grpc/grpc into import 2017-05-11 23:24:37 +02:00
Craig Tiller de1682b1ac Merge github.com:grpc/grpc into write_completion 2017-05-11 13:39:22 -07:00
Craig Tiller bf15d98a56 Merge github.com:grpc/grpc into write_completion 2017-05-10 13:39:02 -07:00
Craig Tiller a7785ba22e Merge github.com:grpc/grpc into uberpoll 2017-05-10 13:36:20 -07:00
Craig Tiller 339e421b29 Change endpoint interface to declare poller coveredness 2017-05-10 12:52:45 -07:00
Craig Tiller 4d16f4dd1d Add some casts for C++ compatibility 2017-05-10 08:21:08 -07:00
Craig Tiller def5aa89d1 Merge github.com:grpc/grpc into epex4 2017-04-21 08:02:06 -07:00
Makarand Dharmapurikar 466c286604 removed default visibility 2017-04-18 13:55:10 -07:00
Makarand Dharmapurikar 6a8e2c2408 reduced visibility of test util 2017-04-18 13:09:52 -07:00
Makarand Dharmapurikar 5b8032c8b4 BUILD file for interop client and server 2017-04-18 12:07:10 -07:00
Nicolas "Pixel" Noble 15cd5ce2ed Rewriting core tests BUILD files to use the build system. 2017-04-18 19:53:10 +02:00
Craig Tiller f840110de2 Fixup tests 2017-04-17 09:47:28 -07:00
Nicolas "Pixel" Noble 7c26eed838 Buildifier and wrapping test/cpp/* rules with our build system. 2017-04-13 02:03:22 +02:00
David Garcia Quintas a03d204dd7 Update credentials test after #9328 2017-04-11 16:09:31 -07:00
Craig Tiller fc8d671ec8 Fix posix leakage 2017-04-06 11:39:21 -07:00
Craig Tiller 2a7ce4f282 Merge github.com:grpc/grpc into dynamic_tcp_sizing 2017-04-04 08:01:32 -07:00
Craig Tiller 2b57060712 Merge branch 'atomic-timers' into dynamic_tcp_sizing 2017-03-31 07:27:52 -07:00
Craig Tiller 0d32f2f030 Fix build files 2017-03-30 10:50:29 -07:00
Craig Tiller 29b527fa30 Reinstate one check, fix fall out 2017-03-30 10:27:20 -07:00
Craig Tiller b29f1fe3a2 Update include paths 2017-03-28 15:49:23 -07:00
Craig Tiller 547cb4b283 Make chunk sizes configurable, push channel args down a little deeper 2017-03-28 09:50:33 -07:00
Noah Eisen 3d194ad7a3 Merge branch 'master' of https://github.com/grpc/grpc into error-slice-optimization 2017-03-22 14:40:28 -07:00
matt-kwong 5992c19f49 Merge pull request #9896 from matt-kwong/ssl-fuzz2
Embed mock SSL data into ssl_server_fuzzer.c and add fuzzer options
2017-03-15 11:55:28 -07:00
ncteisen 4b36a3d9ea Change error_create API to slice 2017-03-13 20:19:47 -07:00
Matt Kwong d9b257a154 Add fuzzer options for oss-fuzz 2017-02-27 13:51:28 -08:00
Matt Kwong c5b3b25f8d Change ssl_server_fuzzer.c to use ssl_test_data.h instead of loading mock SSL data from file 2017-02-27 13:51:11 -08:00
Craig Tiller 266f66a67c Merge github.com:grpc/grpc into zalloc 2017-02-23 09:50:27 -08:00
Yuchen Zeng 47de64c700 zalloc grpc_pollset 2017-02-22 19:04:38 -08:00
Craig Tiller 554144699a Add test/core/security/BUILD 2017-02-17 12:56:23 -08:00
Craig Tiller 9e5ac1bf11 Fix broken shutdown, and cascading exec_ctx usage bugs 2017-02-14 22:25:50 -08:00
Craig Tiller cda759d658 Add an error to fd_shutdown (and recursively)
Allows diagnosing WHY a file descriptor was shutdown prematurely.
2017-01-27 11:37:37 -08:00
Craig Tiller 7c70b6c144 Revert "Revert "Metadata handling rewrite""
This reverts commit 5e01e2ac97.
2017-01-23 07:48:42 -08:00
Craig Tiller 5e01e2ac97 Revert "Metadata handling rewrite" 2017-01-20 18:11:52 -08:00
Craig Tiller 17f6904bad Merge branch 'slice_with_exec_ctx_and_new_closures' into metadata_filter_and_new_closures 2017-01-04 10:17:31 -08:00
Craig Tiller 0b09341461 Merge branch 'cleanup_closures' into slice_with_exec_ctx_and_new_closures 2017-01-03 09:49:07 -08:00
Craig Tiller 36d374681a Merge github.com:grpc/grpc into slice_with_exec_ctx 2017-01-03 09:23:09 -08:00
Craig Tiller d4654560dc clang-format code 2017-01-03 08:45:56 -08:00
Craig Tiller 91031dacb1 Changes to exec_ctx/closure/combiner/workqueue interfaces
- make closures know where they should be executed (eg, on a workqueue,
  or a combiner, or on an exec_ctx)
- this allows removal of a large number of trampoline functions that
  were appearing whenever we used combiners, and should allow for a much
  easier interface to combiner locks
2016-12-28 15:44:25 -08:00
Julien Boeuf 964d7bb482 Fixing JWT verifier.
- Initializes grpc correctly in the JWT utils.
- Make the email mapping work with the new service accounts produced by
  Google IAM.
- Adding check for email issuers where the issuer has to be the subject as well.
- Implementing portable version of memrchr.
2016-12-21 22:04:36 -08:00
Craig Tiller 1b0d2f008b Merge branch 'slice_with_exec_ctx' into metadata_filter 2016-12-12 07:19:55 -08:00
Craig Tiller b995e8bcda Merge github.com:grpc/grpc into slice_with_exec_ctx 2016-12-12 06:36:43 -08:00
Craig Tiller b4aa70ea94 Offer grpc_slice_to_c_string to simplify some code 2016-12-09 09:40:11 -08:00
Craig Tiller 385dd9a462 Merge branch 'slice_interning' into metadata_filter 2016-12-06 20:27:38 -08:00
Craig Tiller 397bff36b9 Merge github.com:grpc/grpc into slice_with_exec_ctx 2016-12-06 15:05:59 -08:00
Mark D. Roth 5335cd62b6 Fix test. 2016-12-06 07:50:03 -08:00
Mark D. Roth a561785052 clang-format 2016-12-01 08:48:22 -08:00
Craig Tiller 3b05e1da91 Move from cmp --> eq, and provide a good implementation for interning 2016-11-21 13:46:31 -08:00
Craig Tiller b28c7e8710 Merge github.com:grpc/grpc into slice_with_exec_ctx 2016-11-18 10:29:04 -08:00
Craig Tiller 7d4116fa44 All core tests compile without grpc_mdstr 2016-11-17 12:16:05 -08:00
Craig Tiller 9fa2ec6de2 Merge branch 'slice_with_exec_ctx' of github.com:ctiller/grpc into slice_with_exec_ctx 2016-11-16 15:25:16 -08:00
Craig Tiller c586666cbd Merge github.com:grpc/grpc into slice_with_exec_ctx 2016-11-16 15:25:00 -08:00
Mark D. Roth 963be37270 Changed security handshakers to use generic handshaker API. 2016-11-16 14:17:06 -08:00
Craig Tiller 3cf79228ff Review feedback 2016-11-14 08:02:45 -08:00
Craig Tiller 10cd356662 Finish moving to new APIs 2016-11-09 15:20:59 -08:00
yang-g fefb3caae4 shutdown is not needed with the changes to mock_ep 2016-11-08 16:46:02 -08:00
yang-g 55d2598ea5 grpc_slice 2016-11-08 13:47:37 -08:00
yang-g aa0a5a2a6b Merge remote-tracking branch 'upstream/master' into ssl_fuzzer 2016-11-08 13:42:43 -08:00
yang-g b24fb69366 clang-format 2016-11-07 13:13:40 -08:00
yang-g aad8f7bb34 Add corpus, the seed examples seem to be merged out 2016-11-04 15:46:39 -07:00
yang-g 31e2128571 Add a fuzzer for ssl server side 2016-11-04 15:10:03 -07:00
Craig Tiller a59c16c184 Progress towards making grpc_slice_unref_internal take an exec_ctx 2016-10-31 07:25:01 -07:00
Craig Tiller c650fb3810 clang-format code 2016-10-28 09:05:50 -07:00
Craig Tiller a9b09dd832 Add missing include 2016-10-28 09:05:27 -07:00
Craig Tiller 28b72428a8 clang-format 2016-10-26 21:15:29 -07:00
Craig Tiller 618e67d655 s/GPR_SLICE/GRPC_SLICE/g 2016-10-26 21:08:10 -07:00
Craig Tiller 6e080a3651 Merge branch 'buffer_pools_for_realsies' into grpc_slice 2016-10-26 21:00:53 -07:00
Craig Tiller 3d357d901c Merge github.com:grpc/grpc into buffer_pools_for_realsies 2016-10-26 20:52:03 -07:00
Craig Tiller e4222b4cbd Add incldues, fix function names 2016-10-26 17:15:30 -07:00
Craig Tiller 0f310807ff Update includes, s/gpr_dump_slice/grpc_dump_slice/g 2016-10-26 16:25:56 -07:00
Craig Tiller b37d53ebc0 Bulk update #includes 2016-10-26 16:16:35 -07:00
Craig Tiller d41a4a720f s/gpr_slice/grpc_slice, and move around tests, impls 2016-10-26 16:16:06 -07:00
Craig Tiller 20afa3d7c9 BufferPool --> ResourceQuota 2016-10-17 14:52:14 -07:00
murgatroid99 c0aa97d158 Merge branch 'master' into uv_core_transport 2016-10-12 16:41:38 -07:00
Craig Tiller fb324c4d39 Merge branch 'direct-calls' into buffer_pools_for_realsies 2016-10-12 13:18:56 -07:00
Craig Tiller 08d297e375 Make all tests build again 2016-09-28 10:35:53 -07:00
Craig Tiller 30ff60ec36 Tests compile 2016-09-23 14:54:27 -07:00
Julien Boeuf e26ab6c561 Adding a method in channel creds to remove any attached call creds.
This will be useful when talking to non-trusted load balancer (balancers
which are not able to impersonate real backends) as these balancers
should not receive bearer tokens.
2016-09-22 15:13:07 -07:00
murgatroid99 165e5066e4 Only use unsetenv where available 2016-08-10 10:05:14 -07:00
murgatroid99 7c205906d5 Removed GPR_POSIX_FILE, and changed the files that used it 2016-08-09 10:07:42 -07:00
Jan Tattermusch a5cae9bd64 Merge pull request #6798 from jboeuf/fix_3803
Fix #3803
2016-06-24 16:14:02 -07:00
Craig Tiller c97065da86 Merge github.com:grpc/grpc into error 2016-06-07 13:00:14 -07:00
David Garcia Quintas 69ff63d158 clang-format 2016-06-06 16:39:47 -07:00
David Garcia Quintas c4d5112719 moar renamings 2016-06-06 14:56:02 -07:00
Julien Boeuf bfc7ed6628 Merge branch 'master' into fix_3803 2016-06-04 18:03:42 -07:00
Craig Tiller 573acec7d4 Fix flipped condition 2016-06-02 08:41:18 -07:00
David Garcia Quintas 2a50dfefdc s/grpc_pops/grpc_polling_entity 2016-05-31 15:10:58 -07:00
David Garcia Quintas 8bec6f6a55 Merge branch 'master' of github.com:grpc/grpc into lb_pollset_propagation 2016-05-31 13:59:37 -07:00
Craig Tiller 332f1b35d5 Rename functions 2016-05-24 13:21:21 -07:00
Julien Boeuf 2e3c9ad6dd Starting the work to fix #3803.
- We still need a way to bubble up this error.
2016-05-18 22:18:09 -07:00
Craig Tiller 8517886c6a Move load_file into iomgr 2016-05-18 16:09:16 -07:00
David Garcia Quintas 582f4350ed Added missing pops_create to oauth2_utils 2016-05-18 14:49:18 -07:00
Craig Tiller b30d3d727a Address some memory leaks 2016-05-18 12:12:21 -07:00
Craig Tiller ba4a862b2c Fix compile errors 2016-05-18 08:43:12 -07:00
Craig Tiller 4727b9be84 Cleanup error handling for google_default_credentials 2016-05-17 17:19:19 -07:00
Craig Tiller 65279fe4e3 Fix jwt_verifier_test 2016-05-12 16:01:58 -07:00
Julien Boeuf 19cd009ec1 clang-format 2016-05-10 15:27:48 -07:00
Craig Tiller 1aee5362f4 Progress converting to new error system 2016-05-07 11:26:50 -07:00
Craig Tiller 4f1d0f337b Error reporting progress 2016-05-06 17:12:37 -07:00
Craig Tiller f707d62db6 Convert tests to new error scheme 2016-05-06 14:26:12 -07:00
Craig Tiller ddad978996 API fuzzer compiles with new error handling 2016-05-05 17:11:31 -07:00
David Garcia Quintas 604490973b allocate grpc_pops on the stack 2016-05-04 20:20:04 -07:00
Julien Boeuf 8ca294e417 Refactoring the core security code.
As opposed to a flat directory, we now have the following structure:

- security
  -context
  - credentials
    - composite
    - fake
    - google_default
    - iam
    - jwt
    - oauth2
    - plugin
    - ssl
  - transport
  - util

We have not refactored the test code yet but this PR is already large
enough...
2016-05-04 15:51:28 -07:00
David Garcia Quintas f72eb97b36 Introduced grpc_pops (pollset or pollset_set) 2016-05-03 18:28:09 -07:00
David Garcia Quintas 4afce7e66f Changes across the board from pollset to pollset_set 2016-04-18 17:39:48 -07:00
Craig Tiller 4c43ed325c Merge github.com:grpc/grpc into cleaner-posix2 2016-03-31 13:12:41 -07:00
Craig Tiller 6169d5f7b0 Update copyrights 2016-03-31 07:46:18 -07:00
Craig Tiller 8a03448a8c Merge github.com:grpc/grpc into cleaner-posix2 2016-03-28 16:09:04 -07:00
Craig Tiller b7f3f6eec4 Fix copyright 2016-03-25 17:13:09 -07:00
Craig Tiller 9533d042d4 Fix includes 2016-03-25 17:11:06 -07:00
Craig Tiller f40df23eeb Auto-changes 2016-03-25 13:38:14 -07:00
Matthew Iselin 1824f0519f Add HTTP request parsing.
This extends the existing http parser to support requests as well as responses.

httpcli continues to exist and work as it has previously, though in the new
directory src/core/http (to reflect the fact the directory now contains code
relevant to parsing requests, which httpcli would not generally involve itself
in).
2016-03-23 13:22:32 +11:00
Craig Tiller 59743d6971 Merge github.com:grpc/grpc into cleaner-posix2 2016-03-21 08:56:25 -07:00
Deepak Lukose e61cbe3fd3 For client cert based authentication, add client cert as an AuthProperty 2016-03-16 13:07:17 -07:00
Craig Tiller 2bf99e47ad Fix jwt test 2016-02-26 08:25:56 -08:00
Craig Tiller 69b093b360 Revert "Revert "Add an implementation firewall against pollset_set"" 2016-02-25 19:04:07 -08:00
Vijay Pai e9ef536451 Revert "Add an implementation firewall against pollset_set" 2016-02-25 18:10:24 -08:00
Craig Tiller 85371a2bb0 Change pollset mutex ownership 2016-02-25 13:55:13 -08:00
Craig Tiller 2167987565 Merge github.com:grpc/grpc into hide-the-pollset 2016-02-25 12:57:56 -08:00
Craig Tiller 19fa540100 Fix copyrights 2016-02-23 08:19:39 -08:00
Craig Tiller 521423c8cf Regenerate files, fix bugs 2016-02-22 22:22:22 -08:00
Craig Tiller 732a875fe8 Add a sanity test for name aliasing 2016-02-22 15:59:19 -08:00
Craig Tiller c605c62b30 Update copyrights 2016-02-19 16:24:26 -08:00
Craig Tiller a8be91b315 Provide an interface firewall between pollset and its implementations
Starting to allow for >1 implementation of pollset within a binary.

Do so without requiring an extra allocation for completion queues (which
we could not tolerate).
2016-02-19 16:22:44 -08:00
Craig Tiller 3633ce48a9 Fix tools 2016-02-18 08:08:53 -08:00
Craig Tiller d0a8ae1266 Move worker into pollset 2016-02-18 08:01:19 -08:00
Craig Tiller a2a7aa9374 Move parenthesis to compile 2016-02-01 09:39:13 -08:00
Craig Tiller 3c4bbc056d Merge branch 'no_extern_allowed' of github.com:nicolasnoble/grpc into patchy 2016-02-01 09:38:14 -08:00
Craig Tiller 26af07924e Merge pull request #4934 from jboeuf/ssl_credentials_override_default_roots
Ssl credentials override default roots
2016-02-01 07:36:14 -08:00
Nicolas "Pixel" Noble 1d43bc3ed3 Fixing copyrights. 2016-02-01 00:51:35 +01:00
Nicolas "Pixel" Noble da71518169 Replacing grpc_max_auth_token_lifetime by an accessor. 2016-01-31 07:47:42 +01:00
Julien Boeuf 2757fa8b39 fixing test and clang-format. 2016-01-29 22:13:24 -08:00
Julien Boeuf aaebf7ae74 Changing the API to use a callback mechanism.
This is the agreed-upon solution.
2016-01-28 17:04:42 -08:00
Julien Boeuf 564b915503 Fixing copyright. 2016-01-28 15:46:50 -08:00
Craig Tiller a93a25f7bc Update copyrights 2016-01-28 13:55:49 -08:00
Craig Tiller 6c39686dfa Preparatory changes for work shedding
- cleanup: change grpc_iomgr_cb_func to take a bool instead of int
  success
- cleanup: follow through with iomgr callback scheduling functions
- prepare: add a workqueue to offload to to grpc_exec_ctx_enqueue*
  functions
2016-01-28 13:53:40 -08:00
Julien Boeuf a50da4757a Addressing comments.
The new API is now actually useful...
2016-01-27 16:23:41 -08:00
Julien Boeuf 373debd5c0 Adding a function to override the ssl default roots path.
Fixes the first part of #4834.
2016-01-27 15:41:12 -08:00
murgatroid99 3466c4b55d Updated copyrights 2016-01-12 10:26:04 -08:00
Craig Tiller 6a56221f28 Merge github.com:grpc/grpc into ints 2016-01-04 16:08:47 -08:00
Craig Tiller 897e4fe2ad Update copyrights 2015-12-22 15:03:40 -08:00
Craig Tiller 7536af02cf Eliminate gpr_ int types - and insist on C99 variants instead 2015-12-22 13:49:30 -08:00
Julien Boeuf ee9d78b960 Unit testing the peer from auth context functionality. 2015-12-18 09:50:34 -08:00
Julien Boeuf 1d9ac6612d Removing the peer from the SSL security connector.
- Missing unit tests.
2015-12-17 21:35:47 -08:00
Craig Tiller 620e965c1b clang-format after last weeks test-fest 2015-12-14 12:02:50 -08:00
Julien Boeuf 97e5147bd1 One more test for default google creds. 2015-12-10 15:06:45 -08:00
Julien Boeuf 331e3782af Testing cached google default creds. 2015-12-10 14:44:35 -08:00
Craig Tiller 88408c3b73 Fix Windows build
To do pollset work we need grpc to be initialized
2015-12-10 08:12:26 -08:00
Julien Boeuf 2408a1cd6a Testing GCE detection in google default credentials. 2015-12-09 22:34:57 -08:00
Craig Tiller 82e40dac84 Fix memory leak 2015-12-07 18:24:57 -08:00
Craig Tiller f9c8ce98cf Add test for grpc_get_well_known_google_credentials_file_path 2015-12-07 08:21:57 -08:00
Nicolas "Pixel" Noble f9c58f3bf7 Merge branch 'release-0_12'
Conflicts:
	src/core/security/credentials.c
	test/core/security/credentials_test.c
2015-12-01 22:40:44 +01:00
Julien Boeuf 3c957e60a3 Fixing implementations. 2015-11-18 21:33:58 -08:00
Craig Tiller b113649517 clang-format 2015-11-18 11:30:17 -08:00
Julien Boeuf b73cbc2709 Addressing comments.
The composite channel credentials creation does not change the passed-in
channel creds anymore.
2015-10-20 21:52:54 -07:00
Julien Boeuf 26bf71ce37 Fixing mem leak and compilation error in tsan. 2015-10-10 00:21:05 -07:00
Julien Boeuf 4e02e84062 Got the core test passing. 2015-10-09 22:49:42 -07:00
Craig Tiller 5c1ad056d2 Fix Windows compilation 2015-09-23 10:30:20 -07:00
Craig Tiller b8b1a462e5 Finish cleanup 2015-09-22 12:50:03 -07:00
Craig Tiller a82950e683 clang-format all core files 2015-09-22 12:33:20 -07:00
Craig Tiller 8af4c33718 Final patches for rename 2015-09-22 12:32:31 -07:00
Craig Tiller e7db29f8c7 Move argument passing to start of list 2015-09-22 10:55:42 -07:00
Craig Tiller f5768a6765 Rename init 2015-09-22 10:54:34 -07:00
Craig Tiller 098047b53a Rename run 2015-09-22 10:53:14 -07:00
Craig Tiller 9f7dc3a4e5 Move argument passing to start of list 2015-09-22 10:47:08 -07:00
Craig Tiller 1be70ccdb8 Move arguments to the start of lists 2015-09-22 10:45:28 -07:00
Craig Tiller 45724b35e4 indent pass to get logical source lines on one physical line 2015-09-22 10:42:19 -07:00
Craig Tiller d9ccbbf6b9 Rename call_list to closure_list 2015-09-22 09:30:00 -07:00
Craig Tiller 10ee2747a9 Merge github.com:grpc/grpc into we-are-one 2015-09-22 09:25:57 -07:00
Craig Tiller d9fdaf204c Fix tests 2015-09-22 08:31:23 -07:00
Craig Tiller ba496454b2 Fixes 2015-09-21 17:15:19 -07:00
Craig Tiller dfff1b8126 Call list progress 2015-09-21 14:39:57 -07:00
Craig Tiller d1bec03fa1 Call list progress 2015-09-18 17:29:00 -07:00
Craig Tiller 3cd6a5158d Getting stuff working 2015-09-16 16:15:47 -07:00
Craig Tiller 7d57ba138f Tests compile 2015-09-16 10:02:09 -07:00
Julien Boeuf fd2f7331fa Merge branch 'master' of github.com:grpc/grpc into core_creds_plugin 2015-09-15 15:20:26 -07:00
Julien Boeuf 4ffbf0d22c Adding tests for credentials plugin. 2015-09-14 23:08:51 -07:00
Craig Tiller 32ca48ce0b Core compiles with -Wsign-conversion 2015-09-10 11:47:15 -07:00
Craig Tiller 2b7b235549 Merge pull request #3255 from ctiller/we-should-build
Fix compilation
2015-09-04 07:40:31 -07:00
Craig Tiller 88589743f8 Fix compilation 2015-09-04 07:38:34 -07:00
Nicolas "Pixel" Noble a4d4b60fd8 Secure endpoint test should call grpc_init. 2015-09-04 00:38:52 +02:00
Craig Tiller 245bd8875b Merge github.com:grpc/grpc into second-coming 2015-08-31 15:59:13 -07:00
Craig Tiller b029859e58 Revert "Revert "Refactor Endpoint API"" 2015-08-27 07:38:01 -07:00
Craig Tiller 99d7b661be Revert "Refactor Endpoint API" 2015-08-27 07:36:12 -07:00
Julien Boeuf 510a920c75 Credentials cleanup:
- Removing service_accounts credentials. These credentials just have
  drawbacks compared to service_account_jwt_access credentials, notably
  in terms for security.
- Renaming Google specific credentials with a Google prefix for C and
  C++. This should be done as well for wrapped languages.
2015-08-25 21:51:07 -07:00
Julien Boeuf c17fecd224 Fixing tests. 2015-08-25 19:41:20 -07:00
Craig Tiller 11c3c68f9d Merge github.com:grpc/grpc into endpoints 2015-08-24 14:32:54 -07:00
Craig Tiller 592e7f2dd0 Refactor Endpoint API
- Allow reads to complete immediately
- Unify read/write signatures
- Simplify memory management to allow future optimization work
2015-08-21 10:45:48 -07:00
Craig Tiller 128f4a9cfe Merge github.com:grpc/grpc into y12kdm3 2015-08-18 12:51:05 -07:00
Craig Tiller d6c98df792 clang-format all source 2015-08-18 09:33:44 -07:00
Craig Tiller d067c263b2 Merge github.com:grpc/grpc into y12kdm3
Conflicts:
	src/core/security/google_default_credentials.c
	test/core/security/verify_jwt.c
2015-08-12 12:00:36 -07:00
Julien Boeuf c7176a80ab Fixing clock type. 2015-08-11 17:39:00 -07:00
Nicolas Noble c7989b6c9f Merge pull request #2788 from ctiller/kinetic-lopsided-poetry
Testing port server
2015-08-07 10:51:08 -07:00
Craig Tiller 038d26acd8 Update tools 2015-08-06 08:57:54 -07:00
Craig Tiller 4c06b820e0 Add a test of non-blocking API behavior
... also fix things that were broken :)
2015-08-06 08:41:31 -07:00
Julien Boeuf d3368e4192 Merge branch 'master' of github.com:grpc/grpc into server_creds_auth_md_processor 2015-08-05 21:29:42 -07:00
Craig Tiller 0700d8b118 Merge github.com:grpc/grpc into kinetic-lopsided-poetry 2015-08-05 15:28:41 -07:00
Craig Tiller f53d9c8d0d Testing port server
run_tests.py will start a server (if it's not running, or if the running
port server mismatches the 'current' one) that serves ports to use for
tests. The server is left running after run_tests.py finishes, so that
in environments such as Mac and Windows where tests run unshielded from
each other, we don't start jumping on already used ports.
2015-08-04 14:19:43 -07:00
Craig Tiller be043d9ce7 Merge branch 'auth_md_processor' of github.com:jboeuf/grpc into complain-with-both-passion-and-meaning 2015-07-31 08:51:11 -07:00
Craig Tiller 06aeac6470 Merge github.com:grpc/grpc into plucking-hell 2015-07-30 07:54:12 -07:00
Craig Tiller 5ddbb9d405 Allow specific pollers to be woken
Currently, if two threads call grpc_completion_queue_pluck on the same
completion queue for different tags, there is a 50% chance that we
deliver the completion wakeup to the wrong poller - forcing the correct
poller to wait until its polling times out before it can return an event
up to the application.

This change tweaks our polling interfaces so that we can indeed wake a
specific poller.

Nothing has been performance tuned yet. It's definitely sub-optimal in a
number of places. Wakeup file-descriptors should be recycled. We should
have a path that avoids calling poll() followed by epoll(). We can
probably live without it right at the second though.

This code will fail on Windows at least (I'll do that port when I'm in the office and have a Windows
machine).
2015-07-29 15:58:11 -07:00
yang-g c5eccd45f4 Fix clock type mismatch 2015-07-28 00:23:50 -07:00
Julien Boeuf fe4c3f4f14 Renaming jwt_credentials to service_account_jwt_access_credentials. 2015-07-22 16:20:13 -07:00
yang-g 5e7e55b957 Merge with head and resolve conflict 2015-07-17 22:15:12 -07:00
Julien Boeuf ea456fc2bf Server auth metadata processor.
- Right now it is a global function: would be better to have this per
  (secure) port.
- Changed the interface of the auth_context slightly to make it more
  friendly.
- Positive tests pass. Still need some work on error case (have a
  negative case as well).
- Fixing cpp auth context tests so that they use the shiny new C API.
2015-07-16 22:42:02 -07:00
yang-g 76fcaeeeb5 resolve comments 2015-07-13 23:46:06 -07:00
yang-g be5f059219 Add oauth2_auth_token test case in interop test 2015-07-13 11:11:50 -07:00
Craig Tiller 143e7bf0cf Introduce a clock type field onto gpr_timespec.
Use it to validate that arithmetic on time types makes even some vague
kind of sense.
2015-07-13 08:41:49 -07:00
Julien Boeuf 0b1b1a5999 Merge branch 'master' of github.com:grpc/grpc into flexible_default_creds 2015-07-10 08:35:04 -07:00
yang-g 3315a845ef Merge remote-tracking branch 'upstream/master' into security_context2 2015-07-09 12:32:48 -07:00
Julien Boeuf a6b9a891a0 Merge branch 'master' of github.com:grpc/grpc into oauth2_access_token 2015-07-08 20:40:13 -07:00
Julien Boeuf ea94e46b0d Merge branch 'master' of github.com:grpc/grpc into jwt_verifier 2015-07-08 16:24:31 -07:00
Julien Boeuf b037bb6488 Adding tests and fixing mem leak in default creds. 2015-07-08 14:58:14 -07:00
yang-g ab575d46f7 merge head and resolve conflict 2015-07-07 23:33:40 -07:00
Julien Boeuf 607359467f Merge branch 'master' of https://github.com/grpc/grpc into slice_to_cstring 2015-07-08 01:04:46 +02:00
yang-g 8068f86974 Add a unit test 2015-07-06 15:05:48 -07:00
Nicolas Noble 6ab0de15ea Merge pull request #2216 from jboeuf/unpadded_base64
Base64 decode improvements
2015-07-01 09:26:21 -07:00
Julien Boeuf 272814feea Merge branch 'master' of https://github.com/grpc/grpc into slice_to_cstring 2015-07-01 18:22:32 +02:00
Julien Boeuf 2805be1aa5 Adding support for raw access token credentials. 2015-07-01 02:47:18 -07:00
Craig Tiller 991edad25c SSL refcounting fixes
Handle the case where we recreate an auth context.

Add (opt-in) debugging for refcounts on auth contexts.
2015-06-30 11:40:41 -07:00
Julien Boeuf feca1bf06c Adding JWT verifier.
Still missing:
- Caching of the already checked JWTs (although it could be done at an
  upper layer).
- Caching of the jwks_uri to avoid 2 roundtrips for each verification.
2015-06-30 11:36:03 +02:00
Julien Boeuf c141772c61 Fixing this one as well. 2015-06-29 20:30:21 +02:00
Julien Boeuf 3e55b9fe62 Base64 decode improvements.
- Allow ablity to specify the length for decoding.
- Allow for non-padded encodings to be decoded properly.
2015-06-25 18:11:44 +02:00
Julien Boeuf 5b1fdc5c3d Merge branch 'master' of https://github.com/grpc/grpc into ssl_auth_context_fix 2015-06-22 16:47:01 +02:00
Craig Tiller 7552f0f958 Ensure tests are built during run_tests runs
The issue remains that we don't test our tools, but at least we test
that they compile.
2015-06-19 17:46:20 -07:00
Julien Boeuf a701ade70a Fixing ssl auth context. 2015-06-18 15:23:40 +02:00
Craig Tiller 9a57633233 clang-format affected files 2015-06-17 10:21:49 -07:00
Craig Tiller 2c42ef3eb3 Merge github.com:grpc/grpc into we-dont-need-no-backup 2015-06-05 07:09:56 -07:00
Masood Malekghassemi 701af6031f Expose gpr_asprintf and gpr_strdup 2015-06-03 15:24:24 -07:00
Craig Tiller 14556ecf8c Merge branch 'count-the-things' into we-dont-need-no-backup
Conflicts:
	Makefile
	src/core/iomgr/pollset_posix.c
	src/core/surface/call.c
	src/core/surface/channel.c
	src/core/surface/server.c
	src/python/src/grpc/_adapter/_low_test.py
	tools/doxygen/Doxyfile.core.internal
2015-06-01 20:31:27 -07:00
Craig Tiller 3d67c7cf45 Merge github.com:grpc/grpc into count-the-things
Conflicts:
	src/core/iomgr/fd_posix.h
	src/core/iomgr/iomgr.c
2015-06-01 20:10:13 -07:00
Craig Tiller 8e0b08a33d Merge branch 'count-the-things' into we-dont-need-no-backup 2015-06-01 17:04:17 -07:00
Nicolas "Pixel" Noble 8535263b94 Fixing tools compilation. 2015-06-02 02:01:51 +02:00
Craig Tiller fa275a97b9 Label all iomgr objects
This allows a list of them to be dumped to isolate where memory leaks
are occuring.
2015-06-01 13:55:54 -07:00
Craig Tiller 06bac34df0 Properly integrate credentials metadata delivery 2015-06-01 12:55:57 -07:00
Craig Tiller e5cacfa296 Merge branch 'you-complete-me' into we-dont-need-no-backup 2015-06-01 08:49:01 -07:00
David Garcia Quintas 7978a04d50 Removed non-ISO usage of __FUNCTION__.
Fixes #1843
2015-05-31 16:07:45 -07:00
Craig Tiller f29a6c107d Merge branch 'but-maybe-i-want-to-poll' into we-dont-need-no-backup
Conflicts:
	Makefile
	build.json
	src/core/security/credentials.c
	src/core/security/credentials.h
	src/core/surface/call.c
	test/core/end2end/tests/request_response_with_payload_and_call_creds.c
	tools/doxygen/Doxyfile.c++
	tools/doxygen/Doxyfile.core
2015-05-30 11:11:05 -07:00
Julien Boeuf 3824209a49 Merge branch 'master' of github.com:grpc/grpc into server_auth_context 2015-05-29 22:00:44 -07:00
Julien Boeuf 75c9b6f495 Removing mdctx from the credentials. 2015-05-29 13:12:12 -07:00
Julien Boeuf 83b029726b Addressing comments. 2015-05-20 22:50:34 -07:00
Julien Boeuf 84d964a8df API for auth context and server-side secure transport only impl.
Still TODO:
- a way to plug a metadata processing (somewhat elsewhere but did not
  one to overload this already large PR).
- plug-in the auth context on the client side.
- Better end to end testing.
2015-05-20 07:48:48 +02:00
Craig Tiller 9d9735f7d9 Port endpoint tests to pollsets 2015-05-13 10:46:01 -07:00
Nicolas Noble 2e3639302a Making the gRPC C tests building under Windows. 2015-05-09 08:25:26 +02:00
Julien Boeuf 7d1d9ca7fa Refactoring of core security to remove the factories.
- Renamed security_context -> security_connector.
- Credentials are now responsible for creating their own connectors.
2015-04-17 23:41:46 -07:00
Julien Boeuf 28d75d9349 Adding option to add a null terminator when loading a file.
- This will take care of a potential issue with default credentials
  where the slice pointer is casted as const char * for APIs that need a
  null terminated string.
2015-04-15 15:56:38 -07:00
Julien Boeuf 9835cf0234 Adding refresh token credentials.
- The google default credentials now work with the cloud SDK.
- Verified end to end with print_default_credentials and fetch_oauth2
  tools.
2015-03-09 16:56:44 -07:00
Julien Boeuf 3371cdf918 Fixing !strcmp in the tests. 2015-03-09 10:32:19 -07:00
Julien Boeuf 75516068fa Adding refresh token parsing
This is the first step for refresh token credentials.
2015-03-09 10:20:40 -07:00
Ronnie Sahlberg 2ad8d21158 strcmp: change all !str[n]cmp to str[n]cmp == 0
Change all !str[n]cmp to be str[n]cmp == 0 consistently across the codebase.

Issue #231

Signed-off-by: Ronnie Sahlberg <ronniesahlberg@gmail.com>
2015-03-07 08:39:22 -08:00
Craig Tiller 8ad8a41a84 Introduce slowdown factor for unit test deadlines
Dramatically lowers (eliminates maybe?) false negatives from ?SAN runs.
2015-02-25 08:36:40 -08:00
Julien Boeuf c66f2a816e Addressing iniitial feedback.
- Renaming default credentials -> google default credentials.
- Various other things in cpp:
  - Adding Cpp wrapping for JWT Tokens.
  - Renaming ComposeCredentials -> CompositeCredentials.
2015-02-23 13:00:36 -08:00
Julien Boeuf cd9b1c850d Added support for default credentials.
- Tested with new tool (print_default_creds_token) on:
  - workstation for env var and well known place.
  - GCE for compute engine default creds.
- I'd prefer the grpc_default_credentials_create() API to remain
  synchronous even though there may be an async call for gce detection
  on which we block.
2015-02-21 21:57:42 -08:00
Julien Boeuf 25380de72d Adding tool for generating JWTs on the command line. 2015-02-19 19:17:32 -08:00
Julien Boeuf f47a5cb93d Implementing JWT credentials (a.k.a JWT ID Tokens).
- Not tested end to end yet
2015-02-19 17:29:41 -08:00
Julien Boeuf 90bd7c4c4d Fixing sprintf and a few other things. 2015-02-18 18:53:18 -08:00
Craig Tiller 9be83eec1d Fix use-after-free.
Transport and channel have different lifetimes, but share a metadata
context.

Make the metadata context ref counted, and have transport take a ref.
2015-02-18 14:16:15 -08:00
Craig Tiller 190d360def Add missing new-lines at end of file 2015-02-18 09:23:38 -08:00
Craig Tiller 0605995e55 Update copyright to 2015 2015-02-18 08:34:56 -08:00
Nicolas "Pixel" Noble 213ed91850 Re-enabling errors on warning, disabling unused parameter warning, and fixing all subsequent errors. 2015-01-30 02:11:35 +01:00
Nicolas Noble 9574132019 Merge branch 'master' of github.com:google/grpc into json
Conflicts:
	Makefile
	build.json
	vsprojects/vs2013/grpc.vcxproj
	vsprojects/vs2013/grpc.vcxproj.filters
	vsprojects/vs2013/grpc_unsecure.vcxproj
	vsprojects/vs2013/grpc_unsecure.vcxproj.filters
2015-01-27 19:14:11 -08:00
Nicolas Noble 8c2be9bbff Addressing latest comments. 2015-01-28 01:11:24 +01:00
Yang Gao 3ed874c861 sync up with master 2015-01-27 11:39:14 -08:00
Nicolas Noble f66ccc44d7 Merge branch 'master' of github.com:google/grpc into json 2015-01-26 17:03:08 -08:00
Nicolas Noble e04455a7ff Addressing comments. 2015-01-26 17:02:45 -08:00
Nicolas Noble fee065c1c7 Merge branch 'master' of github.com:google/grpc into json
Conflicts:
	src/core/security/credentials.c
2015-01-26 11:41:12 -08:00
Yang Gao 5fd0d29dfe run clang-format 2015-01-26 00:19:48 -08:00
Craig Tiller 82df7446ae Remove use of sprintf 2015-01-23 15:06:44 -08:00
Craig Tiller 485d77628d Move string.h to internal code 2015-01-23 12:54:05 -08:00
Nicolas Noble 614c2bf99b Replacing cJSON with our own code instead. 2015-01-22 15:32:02 -08:00
Julien Boeuf 8fbcc4391e Changing the SSL (Server) Credentials API.
- Changed the unsigned char * + size to NULL terminated strings which
  makes sense for the PEM format. I may change TSI later (but the impact
  will hopefully be much more limited).
- Added a way to pass multiple key/cert pairs to servers which is needed
  when hosting more than one domain.
- Removed the C++ SSL credentials tests as we are going to have an
  option to not specify the roots which will then be derived from the
  environment (well-known platform dependent locations and/or
  environment variable).
- Fixed the php build which is the only one added in the run_test.py.
  This change will certainly break node, python and ruby.
2015-01-20 22:18:15 -08:00
Julien Boeuf b222b4d978 Changing size type in Transport Security (TSI) from uint32_t to size_t:
Will remove grpc impedance mismatch.
2015-01-15 22:47:49 -08:00
Craig Tiller 32946d37e0 () --> (void) 2015-01-15 11:37:30 -08:00
ctiller 58393c20bc Remove libevent.
Fixed any exposed bugs across the stack.

Add a poll() based implementation. Heavily leverages pollset infrastructure to allow small polls to be the norm. Exposes a mechanism to plug in epoll/kqueue for platforms where we have them.

Simplify iomgr callbacks to return one bit of success or failure (instead of the multi valued result that was mostly unused previously). This will ease the burden on new implementations, and the previous system provided no real value anyway.

Removed timeouts on endpoint read/write routines. This simplifies porting burden by providing a more orthogonal interface, and the functionality can always be replicated when desired by using an alarm combined with endpoint_shutdown. I'm fairly certain we ended up with this interface because it was convenient to do from libevent.

Things that need attention still:
- adding an fd to a pollset is O(n^2) - but this is probably ok given that we'll not
use this for multipolling once platform specific implementations are added.
- we rely on the backup poller too often - especially for SSL handshakes and for client
connection establishment we should have a better mechanism ([] []
- Linux needs to use epoll for multiple fds, FreeBSD variants (including
Darwin) need to use kqueue. ([] []
- Linux needs to use eventfd for poll kicking. ([]
	Change on 2015/01/07 by ctiller <ctiller@google.com>
-------------
Created by MOE: http://code.google.com/p/moe-java
MOE_MIGRATED_REVID=83461069
2015-01-09 17:27:32 -08:00
ctiller e4b409364e Add a --forever flag, to continuously run tests as things change.
Change on 2015/01/07 by ctiller <ctiller@google.com>
-------------
Created by MOE: http://code.google.com/p/moe-java
MOE_MIGRATED_REVID=83451760
2015-01-09 17:23:18 -08:00
ctiller 1a277ecd93 Remove libevent.
Fixed any exposed bugs across the stack.

Add a poll() based implementation. Heavily leverages pollset infrastructure to allow small polls to be the norm. Exposes a mechanism to plug in epoll/kqueue for platforms where we have them.

Simplify iomgr callbacks to return one bit of success or failure (instead of the multi valued result that was mostly unused previously). This will ease the burden on new implementations, and the previous system provided no real value anyway.

Removed timeouts on endpoint read/write routines. This simplifies porting burden by providing a more orthogonal interface, and the functionality can always be replicated when desired by using an alarm combined with endpoint_shutdown. I'm fairly certain we ended up with this interface because it was convenient to do from libevent.

Things that need attention still:
- adding an fd to a pollset is O(n^2) - but this is probably ok given that we'll not
use this for multipolling once platform specific implementations are added.
- we rely on the backup poller too often - especially for SSL handshakes and for client
connection establishment we should have a better mechanism ([] []
- Linux needs to use epoll for multiple fds, FreeBSD variants (including
Darwin) need to use kqueue. ([] []
- Linux needs to use eventfd for poll kicking. ([]
	Change on 2015/01/07 by ctiller <ctiller@google.com>
-------------
Created by MOE: http://code.google.com/p/moe-java
MOE_MIGRATED_REVID=83461069
2015-01-08 13:01:56 -08:00
jboeuf 1a809c0ebb Adding support for service account credentials.
- Tested end to end with a JSON key I generated for my account using the
fetch_oauth2 binary.
- The same fetch_oauth2 binary can get a token from the GCE metadata service on a VM in cloud.
	Change on 2014/12/19 by jboeuf <jboeuf@google.com>
-------------
Created by MOE: http://code.google.com/p/moe-java
MOE_MIGRATED_REVID=82548689
2014-12-29 17:03:04 -08:00
ctiller 336bf21127 Fix opensource build test.
It's a string of unit tests, so size should actually be small. Setting timeout
to long means we have 15 minutes to test everything, which should fit for now.

Also fixes a compile error.

Once this goes in, TAP should start running our tests again.
	Change on 2014/12/17 by ctiller <ctiller@google.com>
-------------
Created by MOE: http://code.google.com/p/moe-java
MOE_MIGRATED_REVID=82395309
2014-12-19 13:13:37 -08:00
ctiller 2bbb6c4311 Remove endpoint/ directories.
Fold endpoint interface into iomgr, move secure_endpoint into security/.
This will make it easier for endpoint to rely on some iomgr defined types (like
pollset).
	Change on 2014/12/17 by ctiller <ctiller@google.com>
-------------
Created by MOE: http://code.google.com/p/moe-java
MOE_MIGRATED_REVID=82338036
2014-12-17 15:49:42 -08:00
jboeuf ab4f91458b Adding JWT generation and signing code for service accounts credentials.
Change on 2014/12/16 by jboeuf <jboeuf@google.com>
-------------
Created by MOE: http://code.google.com/p/moe-java
MOE_MIGRATED_REVID=82279249
2014-12-16 17:26:10 -08:00
jboeuf befd26501a Adding base utils for JWT service account workflow. OpenSSL base64 decoding is
a disaster and does not support url_safe which we need for the JWT.
	Change on 2014/12/12 by jboeuf <jboeuf@google.com>
-------------
Created by MOE: http://code.google.com/p/moe-java
MOE_MIGRATED_REVID=82020601
2014-12-12 16:36:06 -08:00
nnoble 0c475f0ad7 Updating moe_db.txt with the latest equivalence since the ruby import changed the exported structure.
Change on 2014/12/01 by nnoble <nnoble@google.com>
-------------
new [] file for grpc testing.
	Change on 2014/12/02 by donnadionne <donnadionne@google.com>
-------------
Fix unfinished calls in thread_stress_test.

Previously we had an early return if we cancelled a stream part way through a
message. Correct this, so that half close and full close signals are propagated
up the stack correctly so that higher level state machines can see the
termination.
	Change on 2014/12/02 by ctiller <ctiller@google.com>
-------------
Remove dependency on internal C code.
	Change on 2014/12/02 by ctiller <ctiller@google.com>
-------------
Turn off the flaky bit from thread_stress_test.
	Change on 2014/12/02 by ctiller <ctiller@google.com>
-------------
Add test cases of empty request/response, request streaming, response streaming, and half duplex streaming.

Bring up the GFE/ESF for mannual test:
[] build java/com/google/net/[]/testing/integration/hexa:server_components_env
[]-bin/java/com/google/net/[]/testing/integration/hexa/server_components_env --manual --rpc_port=25000 --use_autobahn
	Change on 2014/12/02 by chenw <chenw@google.com>
-------------
Make echo/server.c and fling/server.c shutdown cleanly on SIGINT, and update
the relevant tests to exercise this mechanism.

Now "[] coverage" and the memory leak detector are able to see into the
server processes.
	Change on 2014/12/02 by pmarks <pmarks@google.com>
-------------
Allow the # of channels to be configurable in this performance test. The threads will use the channels in statically-defined round-robin order (not based on when RPCs complete on any channel). The interesting cases are #channels=1 or #channels=#threads (we previously only had the latter case)
	Change on 2014/12/02 by vpai <vpai@google.com>
-------------
Fixed a typo and reworded a comment.
	Change on 2014/12/02 by gnezdo <gnezdo@google.com>
-------------
Require the grpc_call in this ClientContext to be NULL before allowing set_call to be invoked. Otherwise, it's an indication of a leak somewhere.
	Change on 2014/12/02 by vpai <vpai@google.com>
-------------
Correctly return status other than ok and add a test for it.
	Change on 2014/12/02 by yangg <yangg@google.com>
-------------
Better C++ guards for grpc_security.h
	Change on 2014/12/02 by nnoble <nnoble@google.com>
-------------
Use nullptr instead of NULL for consistency.
	Change on 2014/12/02 by vpai <vpai@google.com>
-------------
Updates the ruby gRPC service class to require the serialization method to be
a static method

- this brings it inline with the proto3 ruby API
- it adds a monkey patch to allow existing proto (beefcake) to continue working.
	Change on 2014/12/02 by temiola <temiola@google.com>
-------------
Adding a buildable unit to the blue print file.

Added the buildable unit as its name will be usesd as tap project id.

This test will fail right away in tap until tests are actually added.
	Change on 2014/12/02 by donnadionne <donnadionne@google.com>
-------------
Move interop ESF C++ server from Java to grpc directory.

Tests passed:
[] test javatests/com/google/net/[]/testing/integration/hexa/...
[] test net/grpc/testing/interop/esf_server/...
	Change on 2014/12/02 by chenw <chenw@google.com>
-------------
Return a lame channel as opposed to NULL when secure channel creation fails.

- Looks like we're going to need something similar server-side.
- I changed the prototype of the lame client channel factory to take an
explicit void as I think this is better practice in C. Let me know if you
disagree and I will revert these changes.
	Change on 2014/12/02 by jboeuf <jboeuf@google.com>
-------------
Putting ALPN support where it belongs.
	Change on 2014/12/02 by jboeuf <jboeuf@google.com>
-------------
GOAWAY send path.

Sends a GOAWAY frame when shutting down.
This is not read and understood yet.
	Change on 2014/12/03 by ctiller <ctiller@google.com>
-------------
Adds support for secure channels and servers.

- wraps new C apis (credentials, server_credentials) and Server#add_secure_http_port
- adds tests to ensure credentials and server credentials can be created
- updates client_server_spec to run the client_server wrapper layer end-to-end tests using a secure channel
	Change on 2014/12/03 by temiola <temiola@google.com>
-------------
Fix existing issues regarding out of order events.

At the client side, using pluck as the client_metadata_read can happen anytime after invoke.

At the server side, allow halfclose_ok and rpc_end to come in reverse order.
	Change on 2014/12/03 by yangg <yangg@google.com>
-------------
Don't track coverage of tests.
	Change on 2014/12/03 by ctiller <ctiller@google.com>
-------------
Change UnaryCall to conform standard test requirement of LargeUnaryCall.
	Change on 2014/12/03 by yangg <yangg@google.com>
-------------
updating alpn version to h2-15 ensure all interop are on the same version and working.

Java and go are not ready for h2-16 yet.
	Change on 2014/12/03 by donnadionne <donnadionne@google.com>
-------------
Add config to bring echo server in [].

This is used to test production GFE as its bckend.
	Change on 2014/12/03 by chenw <chenw@google.com>
-------------
In preparation for fixing shutdown race issues, change em to take ownership of
the file descriptor. Add an API to grpc_tcp to take an already created
grpc_em_fd object, and change tcp_client to use that API.

This is needed because otherwise an em user's close() of the file descriptor
may race with libevent internals. That's not an issue yet because destroy()
frees the events inline, but that can't be done safely if there is a concurrent
poller.
	Change on 2014/12/03 by klempner <klempner@google.com>
-------------
Fixing TAP opensource build

We don't want to compile and run C++ tests in the C target.
	Change on 2014/12/03 by nnoble <nnoble@google.com>
-------------
Move and separate interop tests by languages.

Small fixes to the test runner.

Improving logging.
	Change on 2014/12/03 by donnadionne <donnadionne@google.com>
-------------
Fixing the opensource build:

-) The C/C++ split wasn't done up to the 'dep' target level
-) The alpn.c file was missing from build.json
	Change on 2014/12/03 by nnoble <nnoble@google.com>
-------------
Adding blue print files after projects exist
	Change on 2014/12/03 by donnadionne <donnadionne@google.com>
-------------
Refactor StreamContext using the new completion_queue_pluck API.

The dedicated the poller thread has been removed.
This CL keeps the current behavior to make it short. There is one following to
make it usable for both client and server.

The tags for pluck is based on the address of this StreamContext object for potential debug use.

The Read/Write and Wait cannot be called concurrently now and this might need to be fixed.
	Change on 2014/12/03 by yangg <yangg@google.com>
-------------
Binary encoding utilities.

Support base64 encoding, HPACK static huffman encoding, and doing both at once.
	Change on 2014/12/03 by ctiller <ctiller@google.com>
-------------
Enforce Makefile regeneration in presubmits.
	Change on 2014/12/03 by ctiller <ctiller@google.com>
-------------
Make CloseSend() send a real zero-length control message to indicate EOS.
	Change on 2014/12/03 by zhaoq <zhaoq@google.com>
-------------
Prefer to create dualstack sockets for TCP clients and servers, with automatic
fallback for environments where IPV6_V6ONLY can't be turned off.
	Change on 2014/12/03 by pmarks <pmarks@google.com>
-------------
Add opensource path to build targets.

Ensure that MOE is going to run.
	Change on 2014/12/03 by ctiller <ctiller@google.com>
-------------
Add PingPong test case. Delete FullDuplex test case. The latter is not specified for client in

https://docs.google.com/document/d/1dwrPpIu5EqiKVsquZfoOqTj7vP8fa1i49gornJo50Qw/edit#
	Change on 2014/12/03 by chenw <chenw@google.com>
-------------
Make generate_projects.sh check out the generated targets.
	Change on 2014/12/03 by ctiller <ctiller@google.com>
-------------
rspec cleanup

- stops declaring specs within the GRPC module
- splits Bidi streaming specs into a separate test suite

adding tests in the GRPC module was a mistake, it pollutes the module and can
affect other tests that run later by the test runner

the bidi tests are currently flaky, having them run in their own test suite
allows having two separate continuous builds (once ruby gRPC is on GitHub),
one that includes bidi where we tolerate flakiness, and another that does not,
where there should be no flakiness at all
	Change on 2014/12/03 by temiola <temiola@google.com>
-------------
Adding support for composite and IAM credentials.

- For now, we don't do any checks on credentials compatibility in the
composite credentials. Maybe we'll add that later.
- Refactored the end to end security tests so that we always use the public API
(except for the fake security context which is not exposed).
	Change on 2014/12/03 by jboeuf <jboeuf@google.com>
-------------
Make GPR library buildable in Visual Studio 2013.
	Change on 2014/12/04 by jtattermusch <jtattermusch@google.com>
-------------
Adds codegen for ruby

This is being added now that ruby's proto and grpc apis are defined and stable
	Change on 2014/12/04 by temiola <temiola@google.com>
-------------
Prevent NewStream() from sending negative or 0 timeout.
	Change on 2014/12/04 by zhaoq <zhaoq@google.com>
-------------
Add a grpc_sockaddr_to_string() function, and use it when logging bind
failures.  Also improve const-correctness in some earlier code.

I'm not certain whether inet_ntop() will need any platform-specific
implementations, but for now the compiler offers no complaints.

Demo:
$ []-bin/net/grpc/c/echo_server 1.2.3.4:80
... tcp_server.c:139] bind addr=[::ffff:1.2.3.4]:80: Permission denied
	Change on 2014/12/04 by pmarks <pmarks@google.com>
-------------
Refactoring - moves c wrapped classes to a submodule Google::RPC::Core

- this allows for an explicit rule when reading through gRPC ruby code for telling
when an object is pure ruby or wrapped C
	Change on 2014/12/04 by temiola <temiola@google.com>
-------------
Fixes the bidi_call

[]
	Change on 2014/12/04 by temiola <temiola@google.com>
-------------
Fixing dev build when activating surface traces.
	Change on 2014/12/04 by nnoble <nnoble@google.com>
-------------
Updates the tests to reflect that fact that some Credentials compose works.
	Change on 2014/12/04 by temiola <temiola@google.com>
-------------
Making the generate_project_test actually do something.
	Change on 2014/12/04 by nnoble <nnoble@google.com>
-------------
Rename "esf_server" to "[]4_server". Delete "test_sever" from Java directory.
	Change on 2014/12/04 by chenw <chenw@google.com>
-------------
Added PHP client interop tests. Tested large_unary against the C++ server.
	Change on 2014/12/04 by mlumish <mlumish@google.com>
-------------
Refactor grpc_create_dualstack_socket() by pulling the setsockopt into its own
function.  This separates the magic test flag from the real fallback logic.
	Change on 2014/12/04 by pmarks <pmarks@google.com>
-------------
Fixes the type of the constant used for test cert hostname
	Change on 2014/12/04 by temiola <temiola@google.com>
-------------
Disabling these tests as they're causing flakiness.
	Change on 2014/12/04 by ctiller <ctiller@google.com>
-------------
Change intptr --> uintptr.

Handles the case where a void* turns into a negative number, which then gets
hashed into a negative bucket and segfaults.
	Change on 2014/12/04 by ctiller <ctiller@google.com>
-------------
Add a test fixture to force parsers to handle one byte at a time.

This should expand coverage and hopefully prevent errors at some point (it
seems to pass out of the box for now though).
	Change on 2014/12/04 by ctiller <ctiller@google.com>
-------------
The code generator isn't +x.
	Change on 2014/12/04 by ctiller <ctiller@google.com>
-------------
Updates math_client and math_server to allow construction using crednetials

By:
- Extending rpc_server constructor so that it takes a credentials keyword param
- Extending client_stub constructor so that it takes a credentials keyword param
	Change on 2014/12/04 by temiola <temiola@google.com>
-------------
Format output a little more nicely.

Print each line of output separately - previously logging.info was truncating this at some maximum length, and logs were getting lost.
	Change on 2014/12/04 by ctiller <ctiller@google.com>
-------------
Up timeout for this test.

Under TSAN, if we process one byte at a time, this timeout can be reached - and I think this is the cause of the following flake:
[]
	Change on 2014/12/05 by ctiller <ctiller@google.com>
-------------
Adding more error logging for ssl.
	Change on 2014/12/05 by jboeuf <jboeuf@google.com>
-------------
Read path for goaway.

Still need to add hooks to deprecate a channel on the client side when goaway
is received.
	Change on 2014/12/05 by ctiller <ctiller@google.com>
-------------
Separate accept() into server_accept() and server_end_of_initial_metadata().

This allows servers to initiate reads before finishing writing metadata.
	Change on 2014/12/05 by ctiller <ctiller@google.com>
-------------
Fix for breakage 11512317 - adding missing test files.
	Change on 2014/12/05 by nnoble <nnoble@google.com>
-------------
grpc c++ server side streaming support.

This is based on [] There is a lot of room to clean up the internal implementation which may require refactoring of CompletionQueue. The current cl serves as a working implementation with the missing interfaces.

The sample generated files are included and will be removed before submitting.
	Change on 2014/12/05 by yangg <yangg@google.com>
-------------
Changed to the latest timeout format again (search "grpc-timeout" in [] for the spec).
	Change on 2014/12/05 by zhaoq <zhaoq@google.com>
-------------
Fixing opensource build.
	Change on 2014/12/05 by nnoble <nnoble@google.com>
-------------
Making absolutely sure we can do the moe export by adding a sh_test for it.
	Change on 2014/12/05 by nnoble <nnoble@google.com>
-------------
Change :scheme psuedo-header from "grpc" to "http" or "https".
	Change on 2014/12/05 by zhaoq <zhaoq@google.com>
-------------
Add server credential wrapping for c++ server. It only wraps ssl and []2 for now.

The ServerCredentials class and the factory class are in a similar fashion as
client side wrapping. The difference is the factory method returns shared_ptr
instead of unique_ptr as the server builder needs to keep a reference to it for
actually creating the server later.

The integration will happen in a following cl.
	Change on 2014/12/05 by yangg <yangg@google.com>
-------------
Fixed bugs in new_grpc_docker_builder.sh
	Change on 2014/12/05 by mlumish <mlumish@google.com>
-------------
In secure endpoint, hold a refcount for the life of a write callback if the
write does not complete immediately.
	Change on 2014/12/05 by klempner <klempner@google.com>
-------------
Add migration support to MOE and have TAP verify it doesn't break.

Migration support allows mirroring commits from [] into the git repo, instead of just a dump of the current source.
	Change on 2014/12/05 by ejona <ejona@google.com>
-------------
Change initial window size to 65535 according http2 draft 15.
	Change on 2014/12/05 by zhaoq <zhaoq@google.com>
-------------
Re-enable the flaky cases in dualstack_socket_test, with additional logging to
help track down the problem if it surfaces again.

This also seems like a good opportunity to make grpc_socket_utils a separate
library, as it's not really specific to TCP.

Example output:
logspam: [], 26570) resolved 2 addrs in 37ms:
logspam:   [0] [::1]:26570
logspam:   [1] 127.0.0.1:26570
	Change on 2014/12/05 by pmarks <pmarks@google.com>
-------------
Opensource build fixes.

-) A function that has a return type should actually return something.
-) Don't pass unsigned chars to strlen and strncmp.
	Change on 2014/12/05 by nnoble <nnoble@google.com>
-------------
Created by MOE: http://code.google.com/p/moe-java
MOE_MIGRATED_REVID=81458281
2014-12-05 16:00:44 -08:00
Nicolas Noble b7ebd3b8c6 Initial import. 2014-11-26 16:33:03 -08:00