aboutsummaryrefslogtreecommitdiff
path: root/BUILD.gn
AgeCommit message (Collapse)Author
2021-07-27[Open Screen] Adds a fuzzer_tests_all target.mark a. foltz
This adds a GN target that builds all fuzzer tests. There was no such target defined, so no way to verify they build in CI. Change-Id: Icd74f3259a4284cda3f5c75ac4fe745c2cb62e0c Reviewed-on: https://chromium-review.googlesource.com/c/openscreen/+/3055798 Commit-Queue: Jordan Bayles <jophba@chromium.org> Reviewed-by: Jordan Bayles <jophba@chromium.org>
2021-07-21[Open Screen] Create a //discovery:public targetmark a. foltz
This creates a :public GN target for other Open Screen modules (or embedders) to depend on. It also: - Consolidates the DNS-SD public APIs. - Adds DEPS rules to enforce use of public headers. - Adds DEPS rules to enforce layering inside of //discovery (with some exceptions). - Adjusts deps for the //discovery targets. Bug: b/179705382 Change-Id: Ice48b8d8937d3c68351d693b348a2928f14dfb4b Reviewed-on: https://chromium-review.googlesource.com/c/openscreen/+/3032947 Commit-Queue: mark a. foltz <mfoltz@chromium.org> Reviewed-by: Ryan Keane <rwkeane@google.com>
2021-07-16[Open Screen] Replace mDNSResponder.mark a. foltz
This replaces the mDNSResponder-based publisher implementation in OSP with the the Open Screen Library's dnssd module. third_party/mDNSResponder is removed as well as all of the glue/support code. Caveats: - The OSP listener is not ported to dnssd, that will be done in a future change. - Resuming the publisher after Suspend() does not seem to be working yet. - The publisher configuration hostname is not used by dnssd. Bug: b/174207562 Change-Id: I9c7a6339a0f405550effc33ad0d5b5a79fa8e919 Reviewed-on: https://chromium-review.googlesource.com/c/openscreen/+/2535076 Commit-Queue: mark a. foltz <mfoltz@chromium.org> Reviewed-by: Ryan Keane <rwkeane@google.com>
2021-06-29hotfix: Exclude Cast Core API from Macbtolsch
gRPC doesn't currently build on Mac in chromium so this change ensures the Cast Core API files that depend on it don't get pulled in by GN. Bug: b/172295002 Change-Id: Ib4efc5fc1278be66ce0a12dcc37b9a2bdf95b218 Reviewed-on: https://chromium-review.googlesource.com/c/openscreen/+/2992828 Reviewed-by: Brandon Tolsch <btolsch@chromium.org> Commit-Queue: Brandon Tolsch <btolsch@chromium.org>
2021-06-28Add Cast Core API BUILD.gnbtolsch
This change upstreams the BUILD.gn for Cast Core gRPC API files. These will only build when included in chromium in order to avoid duplicating the rather complicated build setup required for importing gRPC as chromium does. Bug: b/172295002 Change-Id: I0585f8453207bd1ca4f0403a91808fe28cae317a Reviewed-on: https://chromium-review.googlesource.com/c/openscreen/+/2992818 Reviewed-by: Ryan Keane <rwkeane@google.com> Commit-Queue: Brandon Tolsch <btolsch@chromium.org>
2020-11-09Standalone Receiver: Integration with ApplicationAgent.Yuri Wiitala
Makes the standalone cast receiver a full Cast V2 Receiver with a launchable "Mirroring App." Replaces "CastAgent" with three modules: MirroringApplication (new): A front-end launcher and message port for a ReceiverSession (and a StreamingPlaybackController, which manages the playback UI). ApplicatonAgent (prior patch): An implementation of the Cast V2 Application Control spec, able to launch applications and route messages to/from them. CastService (new): Glues it all together, from a network server socket, through the Cast Channel infrastructure, through the ApplicationAgent and MirroringApplication, to a ReceiverSession and playback GUI. Bug: b/170134354 Change-Id: I9640a3d0c40f174d9f03bc26ee3c2f160736e290 Reviewed-on: https://chromium-review.googlesource.com/c/openscreen/+/2481853 Commit-Queue: Yuri Wiitala <miu@chromium.org> Reviewed-by: Jordan Bayles <jophba@chromium.org>
2020-09-26Disable discovery tests in ChromeJordan Bayles
Discovery unittests fail in chrome, so must be disabled. Bug: 1132604 TBR=rwkeane@chromium.org Change-Id: I8282a8f03878669dd03163ecdf91a81e486b77ca Reviewed-on: https://chromium-review.googlesource.com/c/openscreen/+/2433644 Reviewed-by: Jordan Bayles <jophba@chromium.org> Commit-Queue: Jordan Bayles <jophba@chromium.org>
2020-09-25[Hotfix] Fix Mac OSX buildJordan Bayles
Disable OSP build targets to fix the bots and local build on Mac OS X. This also includes a fix to Abseil, which is breaking local build (at least on my Mac) on master. TBR=btolsch@chromium.org Change-Id: I0f781454baac250c66356569a884b2430885c9ed Bug: 169447969 Reviewed-on: https://chromium-review.googlesource.com/c/openscreen/+/2432077 Reviewed-by: Jordan Bayles <jophba@chromium.org> Reviewed-by: Brandon Tolsch <btolsch@chromium.org>
2020-09-21[Cast Streaming] Implement CastAgent for standalone senderJordan Bayles
This patch adds a new CastAgent class for the standalone sender executable. It also updates the standalone sender to consume this CastAgent, as well as various fixes for issues exposed by testing with this class. Bug: b/162542753 Change-Id: I54ea372feea9e9f308d012f5495d1034cb61cb39 Reviewed-on: https://chromium-review.googlesource.com/c/openscreen/+/2417831 Commit-Queue: Jordan Bayles <jophba@chromium.org> Reviewed-by: Yuri Wiitala <miu@chromium.org>
2020-06-26Move test_main for test binaries to executable()Jordan Bayles
This patch takes the test:test_main dependency and moves it from the source_set to the executable, so that inside of Chrome, the tests can depend on the base test launcher. Bug: b/159746216 Change-Id: I8b2343e95152ed1005471c45f0dc5d77daa65c29 TBR=btolsch@chromium.org Reviewed-on: https://chromium-review.googlesource.com/c/openscreen/+/2261564 Reviewed-by: Jordan Bayles <jophba@chromium.org>
2020-05-21Add basic functional tests for the CastAgentJordan Bayles
This patch adds some rudimentary test coverage to ensure that the CastAgent in the standalone receiver implementation is not entirely broken. Bug: b/153079471 Change-Id: Iff26badce61fbded172ff27c490440651909b0c3 Reviewed-on: https://chromium-review.googlesource.com/c/openscreen/+/2169345 Reviewed-by: Brandon Tolsch <btolsch@chromium.org> Commit-Queue: Jordan Bayles <jophba@chromium.org>
2020-04-29Improve executable debugging optionsJordan Bayles
Currently, we use the gtest main for both unittests and e2e tests, which means that we don't have access to tracing or verbose logging for those binaries. This patch fixes it by adding a custom test main. This, along with other issues, has resulted in major inconsistencies in the options provided by each of our binaries (osp_demo, e2e_tests, openscreen_unittests, especially), even though they all link against the same platform implementation. This patch attempts to fix some of the more frustrating issues with the options these binaries present, by implementing the following list of fixes: 1. Move to actually honoring trace logging gn arg, and deletion of the features.h header since it is unnecessary. This means our trace logging readme is actually right and you can now actually disable trace logging by setting the gn arg enable_trace_logging = false. 2. Addition of a custom unit test main. If trace logging is enabled, -t will toggle it on. If the platform impl is linked (we MUST know this, as when we are embedded we have no way of setting logging, and this test main should be used both in embedded and not embedded use cases) then the log level may be set to verbose by passing -v. 3. The cast_sender, cast_receiver, and osp_demo binaries are cleaned up to match the flags added to the test main binary. Note that additional cleanup is warranted on the osp_demo to make it more in line with other binaries. Change-Id: I500a46cb118c0721c4c59bd367d3c96d1a542720 Reviewed-on: https://chromium-review.googlesource.com/c/openscreen/+/2168547 Commit-Queue: Jordan Bayles <jophba@chromium.org> Reviewed-by: Jordan Bayles <jophba@chromium.org> Reviewed-by: Ryan Keane <rwkeane@google.com>
2020-04-28Code Coverage: Build ChangesRyan Keane
Add the required changes to the build for this repo to add code coverage to CLs submitted on Gerrit. This CL includes the following changes: - Add the merge_results.py script. In chromium, these scripts are run during the build, on each sharded test machine to gather up all '.profraw' files (the raw coverage files generated by unit tests when coverage is enabled), merge them, and generate a single '.profdata' file (the processed coverage data file). Currently, the merge step is unneeded for the openscreen library, but the conversion to .profdata files is still needed. This will be run by the buildbot, after the code_coverage module has been initialized and unit tests have been run, but before the generated coverage data can be used and uploaded. If, later, code coverage data for E2E tests is added as-well, this merge step will become useful :) - Updates to the openscreen buildbot config to support code coverage in buildbot builds. Change-Id: I500f1d1ac501e8005df4e6c62cfcb25968c78e9f Reviewed-on: https://chromium-review.googlesource.com/c/openscreen/+/2168541 Commit-Queue: Ryan Keane <rwkeane@google.com> Reviewed-by: Brandon Tolsch <btolsch@chromium.org> Reviewed-by: Jordan Bayles <jophba@chromium.org>
2020-03-17Add first CastSocket E2E testbtolsch
This change adds the first E2E test for CastSocket, which includes the support code necessary for generating certificate chains at runtime and loading an alternate Cast root certificate for testing. Bug: openscreen:59 Change-Id: I3362c555e63d64700e06abdd452bdbf7eb1ac204 Reviewed-on: https://chromium-review.googlesource.com/c/openscreen/+/2099442 Commit-Queue: Brandon Tolsch <btolsch@chromium.org> Reviewed-by: Ryan Keane <rwkeane@google.com> Reviewed-by: Max Yakimakha <yakimakha@chromium.org>
2020-03-11Cast Streaming Standalone Sender (1 of 3): SimulatedCapturerYuri Wiitala
Implements the components that reads media from a file (audio or video), decodes/resamples it to the required format, and emits it at a normal playback speed. This simulates live, real-time capture. Later commits will introduce the components that encode+stream the media with a Cast Streaming Sender, and plumb it all together. Also: initial BUILD.gn, DUPS, main.cc skeleton. Change-Id: Iaf6792e7340477c8a999e3ec1484a55f92e04317 Reviewed-on: https://chromium-review.googlesource.com/c/openscreen/+/2086691 Reviewed-by: Max Yakimakha <yakimakha@chromium.org> Commit-Queue: Yuri Wiitala <miu@chromium.org>
2020-02-27Add CastPlatformClient for handling sender requestsbtolsch
This change adds a new class for handling request/response sequences initiated by a Cast sender. It will initially be used for app availability requests and is modelled after Chrome's CastMessageHandler. Bug: openscreen:60 Change-Id: Iba5ae0ee343e23a2c0214b5b17a2b59dca2cbe99 Reviewed-on: https://chromium-review.googlesource.com/c/openscreen/+/2044149 Commit-Queue: Brandon Tolsch <btolsch@chromium.org> Reviewed-by: mark a. foltz <mfoltz@chromium.org> Reviewed-by: Takumi Fujimoto <takumif@chromium.org>
2020-02-21Add URL parsing supportbtolsch
This change introduces URL parsing by copying parsing functions in from Chromium, which were themselves previously ported from Mozilla. Bug: openscreen:60 Change-Id: Ic3631365a6bf03682f314dc309be160612720313 Reviewed-on: https://chromium-review.googlesource.com/c/openscreen/+/2053046 Commit-Queue: Brandon Tolsch <btolsch@chromium.org> Reviewed-by: Ryan Keane <rwkeane@google.com> Reviewed-by: Takumi Fujimoto <takumif@chromium.org>
2020-02-12Fix linux-rel bot in Chromium autorollerJordan Bayles
The recent Discovery E2E test patch here: https://chromium-review.googlesource.com/c/openscreen/+/2031684 broke the linux-rel bot on the Chromium auto roller. This patch properly hides the new targets to fix compilation. Change-Id: Icb10c2f6f74753f52d9baa394ff540dbd45e3b22 Reviewed-on: https://chromium-review.googlesource.com/c/openscreen/+/2051308 Reviewed-by: Brandon Tolsch <btolsch@chromium.org> Reviewed-by: Ryan Keane <rwkeane@google.com> Reviewed-by: Jordan Bayles <jophba@chromium.org> Commit-Queue: Jordan Bayles <jophba@chromium.org>
2020-02-10Discovery E2E TestRyan Keane
This CL adds a basic E2E test for the discovery pipeline. It works by first spinning up publication for all services (without record announcement on publication), waits for publication to succeed, and then waits for all services it just published to be discovered Known issues: - Threading issues cause an OSP_CHECK to fail after completion of the demo. There is a fix for this issue included in CL: https://chromium-review.googlesource.com/c/openscreen/+/2024453 - Binding the v6 socket in discovery/mdns/mdns_service_impl.cc fails for unknown reasons. Investigation is still ongoing. Change-Id: If6be6e3d9f147a962521859b67c099adc99e4841 Reviewed-on: https://chromium-review.googlesource.com/c/openscreen/+/2031684 Commit-Queue: Ryan Keane <rwkeane@google.com> Reviewed-by: Brandon Tolsch <btolsch@chromium.org>
2020-01-30Discovery: Add Reporting Client + Initialization StructRyan Keane
This CL adds the following: - A virtual reporting class, to allow errors occurring in the discovery pipeline to get reported back to the caller. - An initialization configuration struct, to provide initialzation parameters to the mDNS and DNS-SD layers These 2 changes are combined into one CL because they touch all the same files, so reviewing them together / writing them together should save everyone time Future work will include: - Adding error reporting to the discovery/public dir. This work is pending completing of a parallel CL which will require redoing any work done on this goal now: https://chromium-review.googlesource.com/c/openscreen/+/2024453 - Adding support for state change callbacks in the reporting client. Change-Id: Iadb5e53b818beae82c0135ad27a11294823318d4 Reviewed-on: https://chromium-review.googlesource.com/c/openscreen/+/2028449 Commit-Queue: Ryan Keane <rwkeane@google.com> Reviewed-by: Brandon Tolsch <btolsch@chromium.org> Reviewed-by: mark a. foltz <mfoltz@chromium.org>
2020-01-14Integrate ReceiverSession into standalone receiverJordan Bayles
This patch integrates the ReceiverSession into the standalone_receiver/receiver demo. A dummy messageport implementation is included. Change-Id: I78040197730c14531c33a1a45685574762b5562a Reviewed-on: https://chromium-review.googlesource.com/c/openscreen/+/1985239 Commit-Queue: Jordan Bayles <jophba@chromium.org> Reviewed-by: mark a. foltz <mfoltz@chromium.org>
2020-01-10Use separate toolchains for cross-compilingbtolsch
This change makes cross-compiling targets use different toolchains, instead of only adding different compiler flags. This has the advantage that it's easier to have cross-toolchain dependencies like protobuf object files for the target architecture depending on the protoc compiler for the host architecture. This is also how Chromium manages toolchains. Bug: openscreen:18 Change-Id: If2547c8cfeec3142db34c2dfae2b93982d8472c5 Reviewed-on: https://chromium-review.googlesource.com/c/openscreen/+/1989878 Commit-Queue: Brandon Tolsch <btolsch@chromium.org> Reviewed-by: Yuri Wiitala <miu@chromium.org> Reviewed-by: Jordan Bayles <jophba@chromium.org>
2020-01-07Add make_crl_tests to gn_allbtolsch
This change adds the test tool target `make_crl_tests` to gn_all to ensure that it is built on the (posix) bots. Bug: openscreen:91 Change-Id: I59310e0944154d6c049c874456d96c4fba564f90 Reviewed-on: https://chromium-review.googlesource.com/c/openscreen/+/1976981 Reviewed-by: mark a. foltz <mfoltz@chromium.org> Reviewed-by: Jordan Bayles <jophba@chromium.org> Commit-Queue: Brandon Tolsch <btolsch@chromium.org>
2019-12-31Add crl tests to gn all build targetJordan Bayles
Currently, any compile failures in cast/test/make_crl_tests.cc cause local build failures, but since this executable is not picked up by the root BUILD.gn this doesn't cause a build failure on the bots. This patch resolves this lack-of-failure by adding this executable to the root BUILD.gn. See the following (abandoned) patch for proof of this patch: https: //chromium-review.googlesource.com/c/openscreen/+/1983724 Change-Id: I608caae8980a4e13d5507186c49f9beee15d6e51 Reviewed-on: https://chromium-review.googlesource.com/c/openscreen/+/1984333 Reviewed-by: Yuri Wiitala <miu@chromium.org> Commit-Queue: Jordan Bayles <jophba@chromium.org>
2019-12-26Discovery: API SkeletonRyan Keane
This CL provides the skeleton for a top-level discovery API. Currently, this API is aimed at specifically DNS-SD, but it could be generalized in future both to support non-DNS-SD discovery methods as well as to support multiple DNS-SD discovery methods (such as both OSP and CastV2). Change-Id: I5bc307f4a8176f1ef005ec96f4b220b55fcc3ac3 Reviewed-on: https://chromium-review.googlesource.com/c/openscreen/+/1959588 Commit-Queue: Ryan Keane <rwkeane@google.com> Reviewed-by: mark a. foltz <mfoltz@chromium.org>
2019-12-18Add receiver authentication stepsbtolsch
This change adds the necessary crypto + messaging steps for a Cast receiver to authenticate itself as such. It also adds an integration test that checks our sender authentication code against this receiver authentication code. Bug: openscreen:91 Change-Id: If298b8781bc95116714eb36fa68ef96ba82742a3 Reviewed-on: https://chromium-review.googlesource.com/c/openscreen/+/1954745 Commit-Queue: Brandon Tolsch <btolsch@chromium.org> Reviewed-by: mark a. foltz <mfoltz@chromium.org>
2019-12-17Discovery: CastV2 StructRyan Keane
This CL introduces a new CastV2 specific struct to hold all service- instance related information. It is intended for use with the top-level discovery API shown here: https://chromium-review.googlesource.com/c/openscreen/+/1959588 Change-Id: I47230dc785e557598c7f56754f247e873d1dd433 Reviewed-on: https://chromium-review.googlesource.com/c/openscreen/+/1961045 Commit-Queue: Ryan Keane <rwkeane@google.com> Reviewed-by: mark a. foltz <mfoltz@chromium.org>
2019-11-22Move streaming/cast/* to cast/streaming/* and cast/standalone_receiver/*Yuri Wiitala
Moves the files from streaming/cast to cast/streaming, fixes #includes and header guards, adopts the cast::streaming namespace, and patches BUILD.gn and DEPS files. Change-Id: I77d467a98823f3c55ed38f9a298967e3a42d0549 Reviewed-on: https://chromium-review.googlesource.com/c/openscreen/+/1927135 Commit-Queue: Yuri Wiitala <miu@chromium.org> Reviewed-by: Jordan Bayles <jophba@chromium.org>
2019-11-22Fix a build issue for platforms with different host and target toolchains.Fabrice de Gans-Riberi
The "tools/cddl" target is only defined for the host toolchain. As a result, the "gn_all" target was failing to build properly on systems with different host and target toolchains. Change-Id: I1d18490442b9ed3aee8f76fd3cd7f13806a557c7 Reviewed-on: https://chromium-review.googlesource.com/c/openscreen/+/1929464 Reviewed-by: mark a. foltz <mfoltz@chromium.org> Commit-Queue: Fabrice de Gans-Riberi <fdegans@chromium.org>
2019-11-08Minimize platform/api/logging.h, consolidate macros/impl elsewhere.Yuri Wiitala
Reduces the logging API that must be implemented by embedders to three simple functions: IsLoggingOn(), LogWithLevel(), and Break(). Added documentation for these functions. All logging convenience macros that OpenScreen code uses have been moved to platform/api/internal/logging_macros.h, and are being #included from platform/api/logging.h. This is to make it easier for embedder developers to identify what is being required from them. All standalone impl for logging has been consolidated into platform/impl/logging.h (declaration of init routines) and logging_posix.cc (POSIX implementation, writing to stderr or a FIFO). Bug: openscreen:77 Change-Id: Id14a380569373a443a81b7bb5139b4648643495e Reviewed-on: https://chromium-review.googlesource.com/c/openscreen/+/1900333 Reviewed-by: Yuri Wiitala <miu@chromium.org> Reviewed-by: mark a. foltz <mfoltz@chromium.org> Commit-Queue: Yuri Wiitala <miu@chromium.org>
2019-11-06Fix chrome build, add unit testing in ChromeJordan Bayles
This patch contains preparation for running Open Screen unit tests in Chrome, as well as successfully linking in the Chrome platform implementation for Open Screen's platform target. See the follow up patch here: https://chromium-review.googlesource.com/c/chromium/src/+/1880544 Change-Id: I32c1bd728a43c5dbe155bcaa11527ad275c6b871 Reviewed-on: https://chromium-review.googlesource.com/c/openscreen/+/1887717 Commit-Queue: Jordan Bayles <jophba@chromium.org> Reviewed-by: Yuri Wiitala <miu@chromium.org>
2019-11-06[Open Screen] Consolidate BUILD.gn for cast/mark a. foltz
This reduces the overall number of BUILD.gn files for more maintainability. It also adds a BUILD.gn for cast/streaming and removes unnecessary includes. Bug: openscreen:50 Change-Id: I7f5f083b81a9cee231af1080893d5cbe7a1436d0 Reviewed-on: https://chromium-review.googlesource.com/c/openscreen/+/1897010 Commit-Queue: mark a. foltz <mfoltz@chromium.org> Reviewed-by: Jordan Bayles <jophba@chromium.org>
2019-11-06[Open Screen] Move mDNS code to discovery/mdns.mark a. foltz
This also moves it from the cast::mdns namespace to the openscreen::discovery namespace. Mechanical change, no behavior changes intended. Change-Id: I4edb1de0f4abda75c7f00e55525cf96154d9ed07 Reviewed-on: https://chromium-review.googlesource.com/c/openscreen/+/1896864 Commit-Queue: mark a. foltz <mfoltz@chromium.org> Reviewed-by: Ryan Keane <rwkeane@google.com>
2019-10-21DNS-SD: Class SkeletonsRyan Keane
The class skeletons currently live in dnssd/public because they may be exposed for embedders to inject in their own implementation. These APIs may continue to evolve over time, but adding the public interfaces now will allow future CLs to go in parallel NOTES: - The factory methods for the public classes will come at a later point. - The dns_sd_temp.cc file is only here because ninja won't compile unreferenced header files. It will be removed in future. - Based on Max's suggestion, the public API may later change to expose a single class instead of querier + publisher. This can be addressed in future once the layout of each implementation is clearer. Change-Id: I81e521fbcb731943e39066ea69842564ae7a5699 Reviewed-on: https://chromium-review.googlesource.com/c/openscreen/+/1860922 Commit-Queue: Ryan Keane <rwkeane@google.com> Reviewed-by: mark a. foltz <mfoltz@chromium.org> Reviewed-by: Max Yakimakha <yakimakha@chromium.org>
2019-10-01Add CastSocket and implementationbtolsch
This change adds a CastSocket interface to handle sending and receiving CastMessage structures along with an implementation that uses the platform TlsConnection for transport. Bug: openscreen:59 Change-Id: I92dc29b45efb2b1657a2ff6d962f1ed670311370 Reviewed-on: https://chromium-review.googlesource.com/c/openscreen/+/1825511 Commit-Queue: Brandon Tolsch <btolsch@chromium.org> Reviewed-by: Ryan Keane <rwkeane@google.com>
2019-09-19[openscreen] Finish BUILD.gn cleanupmark a. foltz
- Remove top level demo target - Add missing unittest target Bug: openscreen:50 Change-Id: I150a46328364bad03aba2ae72a10da673afa287d Reviewed-on: https://chromium-review.googlesource.com/c/openscreen/+/1813877 Reviewed-by: Jordan Bayles <jophba@chromium.org> Commit-Queue: mark a. foltz <mfoltz@chromium.org>
2019-09-19[Open Screen] Some BUILD.gn cleanups.mark a. foltz
- Ensure all source_set and executable targets are part of gn_all - Give various demo executables unique names - Consistent naming for unittests This will mean we only need to build gn_all and openscreen_unittests in our build recipe. Change-Id: Ie0095f900471bfcea02c3f2c708424f463772414 Reviewed-on: https://chromium-review.googlesource.com/c/openscreen/+/1809004 Reviewed-by: Max Yakimakha <yakimakha@chromium.org> Commit-Queue: mark a. foltz <mfoltz@chromium.org>
2019-09-10Add cast channel authentication utilitiesbtolsch
This change imports cast_auth_util.cc from Chromium's sender component (//components/cast_channel). Bug: openscreen:59 Change-Id: I4eb3a66ae1e50dbe0435176a15d13b2c62d452f3 Reviewed-on: https://chromium-review.googlesource.com/c/openscreen/+/1772435 Commit-Queue: Brandon Tolsch <btolsch@chromium.org> Reviewed-by: Ryan Keane <rwkeane@google.com> Reviewed-by: Max Yakimakha <yakimakha@chromium.org>
2019-08-23Add revocation list support to cast certificate checkingbtolsch
This change adds cast_crl.cc and supporting files to the cast_certificate component port. It allows for parsing a revocation list from a protobuf and using that information as part of verifying a Cast device's certificate chain. Bug: openscreen:58 Change-Id: Ia21b52b9951998a57671dd4748da10c3b4be34a6 Reviewed-on: https://chromium-review.googlesource.com/c/openscreen/+/1759270 Reviewed-by: Ryan Keane <rwkeane@google.com> Reviewed-by: Max Yakimakha <yakimakha@chromium.org> Commit-Queue: Brandon Tolsch <btolsch@chromium.org>
2019-08-05Add cast device certificate verificationbtolsch
This change migrates some of Chromium's //components/cast_certificate code. Specifically, this change starts the migration by doing basic certificate chain validation checks. It does not include the revocation list, as well as a few other final steps for complete verification support according to RFC 5280. Change-Id: I3853d4ce831a77a4b71b4f63974d1a156948152f Reviewed-on: https://chromium-review.googlesource.com/c/openscreen/+/1721328 Commit-Queue: Brandon Tolsch <btolsch@chromium.org> Reviewed-by: Peter Thatcher <pthatcher@google.com> Reviewed-by: Max Yakimakha <yakimakha@chromium.org>
2019-07-17Add protobuf supportbtolsch
This change adds protobuf as a new third_party dependency in preparation for importing cast channel code. Change-Id: I93ce6f67f495d92133308edb052506792071487f Reviewed-on: https://chromium-review.googlesource.com/c/openscreen/+/1702841 Commit-Queue: Brandon Tolsch <btolsch@chromium.org> Reviewed-by: Jordan Bayles <jophba@chromium.org> Reviewed-by: Ryan Keane <rwkeane@google.com>
2019-07-10Delete osp_base and move files to new homesJordan Bayles
This patch is the second and major patch in the process of removing the osp_base folder from Open Screen. Based on the design plan here: https://docs.google.com/document/d/1LGV8tXdDeIH38MYlNF2XJNG49pec-64nWkS0jjnJNk4/edit#heading=h.ny8tc2v4ek9m This patch moves most of the files in osp_base to new homes in platform, excepting files that have been moved to the new util/ folder. Change-Id: I6e5f1d13cf20806bcc41185a842eb0b293606306 Reviewed-on: https://chromium-review.googlesource.com/c/openscreen/+/1695736 Reviewed-by: Jordan Bayles <jophba@chromium.org> Reviewed-by: mark a. foltz <mfoltz@chromium.org> Commit-Queue: Jordan Bayles <jophba@chromium.org>
2019-06-05Add mdns_parsing to libcast mDNSMax Yakimakha
This code has some test coverage so I'm open to changing/rewriting parts of it as long as the interface stays mostly the same. Change-Id: I97832daaca9a9dab993d0952ffa0e18e5f4d12c7 Reviewed-on: https://chromium-review.googlesource.com/c/openscreen/+/1600373 Reviewed-by: mark a. foltz <mfoltz@chromium.org> Commit-Queue: Max Yakimakha <yakimakha@chromium.org>
2019-05-08Fix compilation in ChromiumJordan Bayles
Currently, due to some minor bugs in the includes of the streaming cast BUILD.gn, and the platform/chromium code, building in Chromium doesn't work. We have some additional patches to land before it will be functional completely, but this unblocks some development. Change-Id: I98bc9e8d9785d20efc8ed88eb19c4bf09dfe3ef4 Reviewed-on: https://chromium-review.googlesource.com/c/openscreen/+/1593946 Reviewed-by: mark a. foltz <mfoltz@chromium.org> Commit-Queue: Jordan Bayles <jophba@chromium.org>
2019-05-07Add MDNS constants to libcastMax Yakimakha
Change-Id: I3993a5d965584ebd35edbe2044a6e5590faac271 Reviewed-on: https://chromium-review.googlesource.com/c/openscreen/+/1595448 Reviewed-by: Peter Thatcher <pthatcher@google.com> Reviewed-by: Ryan Keane <rwkeane@google.com> Commit-Queue: Max Yakimakha <yakimakha@google.com>
2019-05-02[Open Screen Protocol] Move OSP code to osp/mark a. foltz
Also converts some relative target references to absolute references. Still TODO: - Add/update osp/ DEPS - Move demo build rule - Move cddl codegen to osp/tools - Move third_party code around Change-Id: Ifb385f9d45ef7fe6e9c56036d95f75abef6c95ea Reviewed-on: https://chromium-review.googlesource.com/c/openscreen/+/1592041 Commit-Queue: mark a. foltz <mfoltz@chromium.org> Reviewed-by: Max Yakimakha <yakimakha@google.com>
2019-05-02Rename base to osp_baseJordan Bayles
Currently, our base/ folder causes issues when built with Chromium, since files in Chromium need access to files from both Chromium base and Open Screen base. This patch fixes that issue by renaming Open Screen's base implementation to osp_base Change-Id: If9d246fb32b9765bd4f1d98d880fbec4bf3689ad Reviewed-on: https://chromium-review.googlesource.com/c/openscreen/+/1592358 Commit-Queue: Jordan Bayles <jophba@chromium.org> Reviewed-by: Yuri Wiitala <miu@chromium.org> Reviewed-by: Brandon Tolsch <btolsch@chromium.org>
2019-04-29Remove hello samplebtolsch
Now that the demo is more complete and documented, we don't need the hello sample anymore. This change removes it. Change-Id: I0437fc0a08146a478fb97c490bfcf506366d229e Reviewed-on: https://chromium-review.googlesource.com/c/openscreen/+/1588990 Commit-Queue: mark a. foltz <mfoltz@chromium.org> Reviewed-by: Max Yakimakha <yakimakha@google.com> Reviewed-by: mark a. foltz <mfoltz@chromium.org>
2019-04-29Remove unittests renamebtolsch
Previously, unittests was renamed to openscreen_unittests for compatibility with Chromium targets. Now that the same rename has landed in our bot recipe, we don't need to maintain a rename back to `unittests`. Change-Id: I31347dd4733a95323822df054fdba9c452d0ed20 Reviewed-on: https://chromium-review.googlesource.com/c/openscreen/+/1588323 Commit-Queue: mark a. foltz <mfoltz@chromium.org> Reviewed-by: mark a. foltz <mfoltz@chromium.org>
2019-04-26Fix chromium compile erosionbtolsch
This change makes a few more incremental changes to keep Chromium compilation compatibility so we can try to land the compilation upstream. Bug: 951615 Change-Id: I69fc9f074268657c4fbef46c57775d9b985cc8e6 Reviewed-on: https://chromium-review.googlesource.com/c/openscreen/+/1580361 Reviewed-by: Ryan Keane <rwkeane@google.com> Reviewed-by: mark a. foltz <mfoltz@chromium.org> Commit-Queue: Brandon Tolsch <btolsch@chromium.org>