OSDN Git Service

L2cap: Repeat config options from remote
authorHansong Zhang <hsz@google.com>
Mon, 1 Feb 2021 22:48:15 +0000 (14:48 -0800)
committerHansong Zhang <hsz@google.com>
Tue, 2 Feb 2021 18:57:12 +0000 (10:57 -0800)
They probably need it.

Test: cert/run
Tag: #gd-refactor
Bug: 141555841
Bug: 179071567
Change-Id: I5466749fd6724f38684de5005d2a96cc598833cf

gd/l2cap/classic/internal/signalling_manager.cc

index 51158e8..3187975 100644 (file)
@@ -313,12 +313,14 @@ void ClassicSignallingManager::OnConfigurationRequest(SignalId signal_id, Cid ci
         if (config->mtu_ < initial_config_option.minimal_remote_mtu) {
           LOG_WARN("Configuration request with unacceptable MTU");
           config->mtu_ = initial_config_option.minimal_remote_mtu;
-          rsp_options.emplace_back(std::make_unique<MtuConfigurationOption>(*config));
           result = ConfigurationResponseResult::UNACCEPTABLE_PARAMETERS;
         }
+        rsp_options.emplace_back(std::make_unique<MtuConfigurationOption>(*config));
         break;
       }
       case ConfigurationOptionType::FLUSH_TIMEOUT: {
+        auto* config = FlushTimeoutConfigurationOption::Specialize(option.get());
+        rsp_options.emplace_back(std::make_unique<FlushTimeoutConfigurationOption>(*config));
         break;
       }
       case ConfigurationOptionType::RETRANSMISSION_AND_FLOW_CONTROL: {