summaryrefslogtreecommitdiffstats
path: root/blimp/net/engine_authentication_handler.cc
Commit message (Collapse)AuthorAgeFilesLines
* Add detailed logging support for BlimpMessage and subtypes.kmarshall2016-03-011-0/+3
| | | | | | | | | | | | | | | | | Add detailed logging support for BlimpMessage and subtypes. * Create FieldExtractor interface for classes which can extract loggable content from BlimpMessages. * Implement FieldExtractors for most BlimpMessage types. * Add BlimpMessageLogger class to manage FieldExtractors and serialize log messages. * Add unit tests to verify log output of most BlimpMessage types. R=dtrainor@chromium.org,haibinlu@chromium.org BUG= Review URL: https://codereview.chromium.org/1741943002 Cr-Commit-Position: refs/heads/master@{#378573}
* Revert of Fix crashing bug in EngineAuthenticationHandler on token mismatch. ↵wez2016-02-191-20/+11
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | (patchset #1 id:1 of https://codereview.chromium.org/1712083002/ ) Reason for revert: This CL works-around an underlying bug in BlimpMessagePump, by implementing non-standard ProcessMessage() behaviour based on implicit knowledge of the calling BlimpMessagePump's lifetime. The underlying fix has been landed, so the workaround can now be removed. Original issue's description: > Fix crashing bug in EngineAuthenticationHandler on token mismatch. > > * Modify logic to only invoke the read callback on authentication > success. Previously, the callback was invoked even if the connection > was terminated due to auth failure. This lead to a segfault because > the callback was referencing the message pump that belonged to the > now-destroyed connection. > * Restructure auth logic for clarity - success case at the end of the > function, with error cases returning early. > > R=haibinlu@chromium.org > BUG= > > Committed: https://crrev.com/aec59869aca3417b913e4f57321ca730dcdcb20d > Cr-Commit-Position: refs/heads/master@{#376499} R=haibinlu@chromium.org,kmarshall@chromium.org BUG=588195 Review URL: https://codereview.chromium.org/1712343003 Cr-Commit-Position: refs/heads/master@{#376557}
* Fix crashing bug in EngineAuthenticationHandler on token mismatch.kmarshall2016-02-191-11/+20
| | | | | | | | | | | | | | | | | * Modify logic to only invoke the read callback on authentication success. Previously, the callback was invoked even if the connection was terminated due to auth failure. This lead to a segfault because the callback was referencing the message pump that belonged to the now-destroyed connection. * Restructure auth logic for clarity - success case at the end of the function, with error cases returning early. R=haibinlu@chromium.org BUG= Review URL: https://codereview.chromium.org/1712083002 Cr-Commit-Position: refs/heads/master@{#376499}
* [Blimp Engine] Wires up client token verification.haibinlu2016-02-091-10/+29
| | | | | | | | | | client_token does not change over the lifetime of the engine instance. Engine session gets token from the config and passes it to net auth handler, where the token is used to verify START_CONNECTION message received from Client. BUG=569638 Review URL: https://codereview.chromium.org/1677323004 Cr-Commit-Position: refs/heads/master@{#374466}
* Fix remaining incompatibilities between scoped_ptr and unique_ptr.dcheng2016-01-201-1/+1
| | | | | | | | | | | | | | | | | scoped_ptr is more convertible to bool than std::unique_ptr. bool x = scoped_ptr<int>(); // compiles bool y = std::unique_ptr<int>(); // explodes std::unique_ptr is not streamable: LOG(ERROR) << scoped_ptr<int>(); // compiles LOG(ERROR) << std::unique_ptr<int>(); // explodes BUG=579269,579270 CQ_INCLUDE_TRYBOTS=tryserver.blink:linux_blink_rel Review URL: https://codereview.chromium.org/1609923002 Cr-Commit-Position: refs/heads/master@{#370266}
* Implementation and fixes for Blimp client/engine E2E communication.kmarshall2016-01-051-5/+11
| | | | | | | | | | | | | | | | | | | | | | This CL allows the Linux client and engine to connect and perform the auth handshake. * Add Blimp net components to Linux client. * Add a getter for the common client ConnectionManager, to allow it to be accessed and modified by platform impl code. * client: replaced interim feature mappings with NullProcessors until the MessagePipe is wired in. * BlimpConnection: add verbose logging lines. * BlimpConnection: make DrainableIOBuffers throwaway, while only reusing the IOBuffer. * BlimpConnection: propagate errors to ObserverList * BlimpConnection: add WeakPtr to BlimpMessageSender to fix use-after-free callback error. * BlimpMessageDemultiplexer: fix bug in error handling for the missing receiver case, add unit test to verify fix * BlimpMessagePump: add error handling path. * ClientConnectionManager: add ErrorObserver handling logic. * StreamPacketReader: remap EOF result to a net::Error to distinguish it from net::OK. (Ugh, conflating success/error codes, yuck.) BUG= R=haibinlu@chromium.org Review URL: https://codereview.chromium.org/1551583003 Cr-Commit-Position: refs/heads/master@{#367429}
* [Blimp Net] Add EngineAuthHandler.haibinlu2015-12-091-0/+126
It is a ConnectionHandler which expects each new connection to supply a StartConnection message with a valid client authentication token, verifies it, and if successful then hands the connection off to the main ConnectionHandler. BUG=567817 Review URL: https://codereview.chromium.org/1492643003 Cr-Commit-Position: refs/heads/master@{#363880}