Fix Android Connection Swap Issue (Client Side)

Summary:
- Add CSR and CSR destination to request body
- (unrelated) Rearrange the list of include files

Reviewed By: jknoxville

Differential Revision: D17346429

fbshipit-source-id: ce775998884b73e82a931f4dd8986c659a892b51
This commit is contained in:
Chaiwat Ekkaewnumchai
2019-09-16 05:31:10 -07:00
committed by Facebook Github Bot
parent 3b33abf035
commit 88197a7076
2 changed files with 15 additions and 10 deletions

View File

@@ -34,12 +34,11 @@ static constexpr int maxPayloadSize = 0xFFFFFF;
// Not a public-facing version number. // Not a public-facing version number.
// Used for compatibility checking with desktop flipper. // Used for compatibility checking with desktop flipper.
// To be bumped for every core platform interface change. // To be bumped for every core platform interface change.
static constexpr int sdkVersion = 2; static constexpr int sdkVersion = 3;
namespace facebook { namespace facebook {
namespace flipper { namespace flipper {
class ConnectionEvents : public rsocket::RSocketConnectionEvents { class ConnectionEvents : public rsocket::RSocketConnectionEvents {
private: private:
FlipperConnectionManagerImpl* websocket_; FlipperConnectionManagerImpl* websocket_;
@@ -189,10 +188,13 @@ void FlipperConnectionManagerImpl::connectSecurely() {
if (deviceId.compare("unknown")) { if (deviceId.compare("unknown")) {
loadingDeviceId->complete(); loadingDeviceId->complete();
} }
parameters.payload = rsocket::Payload(
folly::toJson(folly::dynamic::object("os", deviceData_.os)( parameters.payload = rsocket::Payload(folly::toJson(folly::dynamic::object(
"device", deviceData_.device)("device_id", deviceId)( "csr", contextStore_->getCertificateSigningRequest().c_str())(
"app", deviceData_.app)("sdk_version", sdkVersion))); "csr_path", contextStore_->getCertificateDirectoryPath().c_str())(
"os", deviceData_.os)("device", deviceData_.device)(
"device_id", deviceId)("app", deviceData_.app)(
"sdk_version", sdkVersion)));
address.setFromHostPort(deviceData_.host, securePort); address.setFromHostPort(deviceData_.host, securePort);
std::shared_ptr<folly::SSLContext> sslContext = std::shared_ptr<folly::SSLContext> sslContext =

View File

@@ -6,13 +6,13 @@
*/ */
#pragma once #pragma once
#include "FlipperInitConfig.h"
#include "FlipperConnectionManager.h"
#include "FlipperState.h"
#include <folly/Executor.h> #include <folly/Executor.h>
#include <folly/io/async/EventBase.h> #include <folly/io/async/EventBase.h>
#include <rsocket/RSocket.h> #include <rsocket/RSocket.h>
#include <mutex> #include <mutex>
#include "FlipperConnectionManager.h"
#include "FlipperInitConfig.h"
#include "FlipperState.h"
namespace facebook { namespace facebook {
namespace flipper { namespace flipper {
@@ -27,7 +27,10 @@ class FlipperConnectionManagerImpl : public FlipperConnectionManager {
friend ConnectionEvents; friend ConnectionEvents;
public: public:
FlipperConnectionManagerImpl(FlipperInitConfig config, std::shared_ptr<FlipperState> state, std::shared_ptr<ConnectionContextStore> contextStore); FlipperConnectionManagerImpl(
FlipperInitConfig config,
std::shared_ptr<FlipperState> state,
std::shared_ptr<ConnectionContextStore> contextStore);
~FlipperConnectionManagerImpl(); ~FlipperConnectionManagerImpl();