Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit c69f30ea authored by Joshua Duong's avatar Joshua Duong Committed by Android (Google) Code Review
Browse files

Merge "Pass the os handle to the tls connection." into rvc-dev

parents aed3408f bba72d95
Loading
Loading
Loading
Loading
+6 −1
Original line number Diff line number Diff line
@@ -141,7 +141,12 @@ bool PairingClientImpl::StartConnection() {
                                          cert_.size(), priv_key_.data(), priv_key_.size()));
    CHECK(connection_);

    if (!pairing_connection_start(connection_.get(), fd.release(), OnPairingResult, this)) {
#ifdef _WIN32
    int osh = cast_handle_to_int(adb_get_os_handle(fd.release()));
#else
    int osh = adb_get_os_handle(fd.release());
#endif
    if (!pairing_connection_start(connection_.get(), osh, OnPairingResult, this)) {
        LOG(ERROR) << "PairingClient failed to start the PairingConnection";
        state_ = State::Stopped;
        return false;
+1 −1
Original line number Diff line number Diff line
@@ -278,13 +278,13 @@ bool PairingConnectionCtx::Start(int fd, ResultCallback cb, void* opaque) {
    if (fd < 0) {
        return false;
    }
    fd_.reset(fd);

    State expected = State::Ready;
    if (!state_.compare_exchange_strong(expected, State::ExchangingMsgs)) {
        return false;
    }

    fd_.reset(fd);
    cb_ = cb;
    opaque_ = opaque;

+7 −1
Original line number Diff line number Diff line
@@ -497,12 +497,18 @@ bool FdConnection::DoTlsHandshake(RSA* key, std::string* auth_key) {
    auto x509 = GenerateX509Certificate(evp_pkey.get());
    auto x509_str = X509ToPEMString(x509.get());
    auto evp_str = Key::ToPEMString(evp_pkey.get());
#ifdef _WIN32
    int osh = cast_handle_to_int(adb_get_os_handle(fd_));
#else
    int osh = adb_get_os_handle(fd_);
#endif

#if ADB_HOST
    tls_ = TlsConnection::Create(TlsConnection::Role::Client,
#else
    tls_ = TlsConnection::Create(TlsConnection::Role::Server,
#endif
                                 x509_str, evp_str, fd_);
                                 x509_str, evp_str, osh);
    CHECK(tls_);
#if ADB_HOST
    // TLS 1.3 gives the client no message if the server rejected the