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.
// Used for compatibility checking with desktop flipper.
// To be bumped for every core platform interface change.
static constexpr int sdkVersion = 2;
static constexpr int sdkVersion = 3;
namespace facebook {
namespace flipper {
class ConnectionEvents : public rsocket::RSocketConnectionEvents {
private:
FlipperConnectionManagerImpl* websocket_;
@@ -189,10 +188,13 @@ void FlipperConnectionManagerImpl::connectSecurely() {
if (deviceId.compare("unknown")) {
loadingDeviceId->complete();
}
parameters.payload = rsocket::Payload(
folly::toJson(folly::dynamic::object("os", deviceData_.os)(
"device", deviceData_.device)("device_id", deviceId)(
"app", deviceData_.app)("sdk_version", sdkVersion)));
parameters.payload = rsocket::Payload(folly::toJson(folly::dynamic::object(
"csr", contextStore_->getCertificateSigningRequest().c_str())(
"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);
std::shared_ptr<folly::SSLContext> sslContext =

View File

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