Skip to content

Commit

Permalink
Remove config CHIP_DEVICE_CONFIG_ENABLE_DNSSD (#15733)
Browse files Browse the repository at this point in the history
* Remove all uses of CHIP_DEVICE_CONFIG_ENABLE_DNSSD

* Restyle

* Add return code for setup code pairer

* DNS commands should be available always as long as a platform exists

* Restyle
  • Loading branch information
andy31415 authored and pull[bot] committed Oct 25, 2023
1 parent f3a898a commit 2a2d342
Show file tree
Hide file tree
Showing 20 changed files with 26 additions and 125 deletions.
6 changes: 1 addition & 5 deletions src/app/server/Server.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -139,9 +139,7 @@ CHIP_ERROR Server::Init(AppDelegate * delegate, uint16_t secureServicePort, uint
err = mFabrics.Init(&mDeviceStorage);
SuccessOrExit(err);

#if CHIP_DEVICE_CONFIG_ENABLE_DNSSD
app::DnssdServer::Instance().SetFabricTable(&mFabrics);
#endif // CHIP_DEVICE_CONFIG_ENABLE_DNSSD

// Group data provider must be initialized after mDeviceStorage
err = mGroupsProvider.Init();
Expand Down Expand Up @@ -237,15 +235,13 @@ CHIP_ERROR Server::Init(AppDelegate * delegate, uint16_t secureServicePort, uint
#endif
}

#if CHIP_DEVICE_CONFIG_ENABLE_DNSSD
app::DnssdServer::Instance().SetSecuredPort(mSecuredServicePort);
app::DnssdServer::Instance().SetUnsecuredPort(mUnsecuredServicePort);
app::DnssdServer::Instance().SetInterfaceId(mInterfaceId);
#endif // CHIP_DEVICE_CONFIG_ENABLE_DNSSD

// TODO @bzbarsky-apple @cecille Move to examples
// ESP32 and Mbed OS examples have a custom logic for enabling DNS-SD
#if CHIP_DEVICE_CONFIG_ENABLE_DNSSD && !CHIP_DEVICE_LAYER_TARGET_ESP32 && !CHIP_DEVICE_LAYER_TARGET_MBED && \
#if !CHIP_DEVICE_LAYER_TARGET_ESP32 && !CHIP_DEVICE_LAYER_TARGET_MBED && \
(!CHIP_DEVICE_LAYER_TARGET_AMEBA || !CHIP_DEVICE_CONFIG_ENABLE_CHIPOBLE)
// StartServer only enables commissioning mode if device has not been commissioned
app::DnssdServer::Instance().StartServer();
Expand Down
10 changes: 0 additions & 10 deletions src/controller/AutoCommissioner.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -157,12 +157,7 @@ CommissioningStage AutoCommissioner::GetNextCommissioningStage(CommissioningStag
}
else
{
// TODO: I dont think this is to spec - not sure where we'd have a commissioner that doesn't have dnssd.
#if CHIP_DEVICE_CONFIG_ENABLE_DNSSD
return CommissioningStage::kFindOperational;
#else
return CommissioningStage::kSendComplete;
#endif
}
case CommissioningStage::kWiFiNetworkSetup:
if (mParams.GetThreadOperationalDataset().HasValue() && mDeviceCommissioningInfo.network.thread != kInvalidEndpointId)
Expand Down Expand Up @@ -193,12 +188,7 @@ CommissioningStage AutoCommissioner::GetNextCommissioningStage(CommissioningStag
return CommissioningStage::kFindOperational;
}
case CommissioningStage::kThreadNetworkEnable:
// TODO: I dont think this is to spec - not sure where we'd have a commissioner that doesn't have dnssd.
#if CHIP_DEVICE_CONFIG_ENABLE_DNSSD
return CommissioningStage::kFindOperational;
#else
return CommissioningStage::kSendComplete;
#endif
case CommissioningStage::kFindOperational:
return CommissioningStage::kSendComplete;
case CommissioningStage::kSendComplete:
Expand Down
27 changes: 3 additions & 24 deletions src/controller/CHIPDeviceController.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -126,13 +126,11 @@ CHIP_ERROR DeviceController::Init(ControllerInitParams params)

VerifyOrReturnError(params.systemState->TransportMgr() != nullptr, CHIP_ERROR_INVALID_ARGUMENT);

#if CHIP_DEVICE_CONFIG_ENABLE_DNSSD
ReturnErrorOnFailure(mDNSResolver.Init(params.systemState->UDPEndPointManager()));
mDNSResolver.SetOperationalDelegate(this);
mDNSResolver.SetCommissioningDelegate(this);
RegisterDeviceAddressUpdateDelegate(params.deviceAddressUpdateDelegate);
RegisterDeviceDiscoveryDelegate(params.deviceDiscoveryDelegate);
#endif // CHIP_DEVICE_CONFIG_ENABLE_DNSSD

VerifyOrReturnError(params.operationalCredentialsDelegate != nullptr, CHIP_ERROR_INVALID_ARGUMENT);
mOperationalCredentialsDelegate = params.operationalCredentialsDelegate;
Expand Down Expand Up @@ -165,11 +163,7 @@ CHIP_ERROR DeviceController::Init(ControllerInitParams params)
.sessionInitParams = deviceInitParams,
.dnsCache = &mDNSCache,
.devicePool = &mDevicePool,
#if CHIP_DEVICE_CONFIG_ENABLE_DNSSD
.dnsResolver = &mDNSResolver,
#else
.dnsResolver = nullptr,
#endif
.dnsResolver = &mDNSResolver,
};

mCASESessionManager = chip::Platform::New<CASESessionManager>(sessionManagerConfig);
Expand Down Expand Up @@ -255,11 +249,9 @@ CHIP_ERROR DeviceController::Shutdown()
mSystemState->Release();
mSystemState = nullptr;

#if CHIP_DEVICE_CONFIG_ENABLE_DNSSD
mDNSResolver.Shutdown();
mDeviceAddressUpdateDelegate = nullptr;
mDeviceDiscoveryDelegate = nullptr;
#endif // CHIP_DEVICE_CONFIG_ENABLE_DNSSD

chip::Platform::Delete(mCASESessionManager);
mCASESessionManager = nullptr;
Expand Down Expand Up @@ -554,8 +546,6 @@ CHIP_ERROR DeviceController::OpenCommissioningWindowInternal()
return CHIP_NO_ERROR;
}

#if CHIP_DEVICE_CONFIG_ENABLE_DNSSD

void DeviceController::OnOperationalNodeResolved(const chip::Dnssd::ResolvedNodeData & nodeData)
{
VerifyOrReturn(mState == State::Initialized,
Expand All @@ -565,7 +555,7 @@ void DeviceController::OnOperationalNodeResolved(const chip::Dnssd::ResolvedNode
{
mDeviceAddressUpdateDelegate->OnAddressUpdateComplete(nodeData.mPeerId.GetNodeId(), CHIP_NO_ERROR);
}
};
}

void DeviceController::OnOperationalNodeResolutionFailed(const chip::PeerId & peer, CHIP_ERROR error)
{
Expand All @@ -578,9 +568,7 @@ void DeviceController::OnOperationalNodeResolutionFailed(const chip::PeerId & pe
{
mDeviceAddressUpdateDelegate->OnAddressUpdateComplete(peer.GetNodeId(), error);
}
};

#endif // CHIP_DEVICE_CONFIG_ENABLE_DNSSD
}

ControllerDeviceInitParams DeviceController::GetControllerDeviceInitParams()
{
Expand Down Expand Up @@ -1369,7 +1357,6 @@ void DeviceCommissioner::OnSessionEstablishmentTimeoutCallback(System::Layer * a
static_cast<DeviceCommissioner *>(aAppState)->OnSessionEstablishmentTimeout();
}

#if CHIP_DEVICE_CONFIG_ENABLE_DNSSD
CHIP_ERROR DeviceCommissioner::DiscoverCommissionableNodes(Dnssd::DiscoveryFilter filter)
{
ReturnErrorOnFailure(SetUpNodeDiscovery());
Expand All @@ -1381,8 +1368,6 @@ const Dnssd::DiscoveredNodeData * DeviceCommissioner::GetDiscoveredDevice(int id
return GetDiscoveredNode(idx);
}

#endif // CHIP_DEVICE_CONFIG_ENABLE_DNSSD

#if CHIP_DEVICE_CONFIG_ENABLE_COMMISSIONER_DISCOVERY // make this commissioner discoverable

CHIP_ERROR DeviceCommissioner::SetUdcListenPort(uint16_t listenPort)
Expand All @@ -1404,8 +1389,6 @@ void DeviceCommissioner::FindCommissionableNode(char * instanceName)

#endif // CHIP_DEVICE_CONFIG_ENABLE_COMMISSIONER_DISCOVERY

#if CHIP_DEVICE_CONFIG_ENABLE_DNSSD

void DeviceCommissioner::OnNodeDiscovered(const chip::Dnssd::DiscoveredNodeData & nodeData)
{
#if CHIP_DEVICE_CONFIG_ENABLE_COMMISSIONER_DISCOVERY
Expand All @@ -1417,7 +1400,6 @@ void DeviceCommissioner::OnNodeDiscovered(const chip::Dnssd::DiscoveredNodeData
AbstractDnssdDiscoveryController::OnNodeDiscovered(nodeData);
mSetUpCodePairer.NotifyCommissionableDeviceDiscovered(nodeData);
}
#endif // CHIP_DEVICE_CONFIG_ENABLE_DNSSD

void OnBasicFailure(void * context, CHIP_ERROR error)
{
Expand Down Expand Up @@ -1445,7 +1427,6 @@ void DeviceCommissioner::CommissioningStageComplete(CHIP_ERROR err, Commissionin
}
}

#if CHIP_DEVICE_CONFIG_ENABLE_DNSSD
void DeviceCommissioner::OnOperationalNodeResolved(const chip::Dnssd::ResolvedNodeData & nodeData)
{
ChipLogProgress(Controller, "OperationalDiscoveryComplete for device ID 0x" ChipLogFormatX64,
Expand All @@ -1471,8 +1452,6 @@ void DeviceCommissioner::OnOperationalNodeResolutionFailed(const chip::PeerId &
DeviceController::OnOperationalNodeResolutionFailed(peer, error);
}

#endif

void DeviceCommissioner::OnDeviceConnectedFn(void * context, OperationalDeviceProxy * device)
{
// CASE session established.
Expand Down
30 changes: 7 additions & 23 deletions src/controller/CHIPDeviceController.h
Original file line number Diff line number Diff line change
Expand Up @@ -70,12 +70,10 @@
#if CONFIG_NETWORK_LAYER_BLE
#include <ble/BleLayer.h>
#endif
#if CHIP_DEVICE_CONFIG_ENABLE_DNSSD
#include <controller/DeviceAddressUpdateDelegate.h>
#include <controller/DeviceDiscoveryDelegate.h>
#include <lib/dnssd/Resolver.h>
#include <lib/dnssd/ResolverProxy.h>
#endif

namespace chip {

Expand All @@ -91,12 +89,10 @@ void OnBasicFailure(void * context, CHIP_ERROR err);

struct ControllerInitParams
{
PersistentStorageDelegate * storageDelegate = nullptr;
DeviceControllerSystemState * systemState = nullptr;
#if CHIP_DEVICE_CONFIG_ENABLE_DNSSD
DeviceAddressUpdateDelegate * deviceAddressUpdateDelegate = nullptr;
DeviceDiscoveryDelegate * deviceDiscoveryDelegate = nullptr;
#endif
PersistentStorageDelegate * storageDelegate = nullptr;
DeviceControllerSystemState * systemState = nullptr;
DeviceAddressUpdateDelegate * deviceAddressUpdateDelegate = nullptr;
DeviceDiscoveryDelegate * deviceDiscoveryDelegate = nullptr;
OperationalCredentialsDelegate * operationalCredentialsDelegate = nullptr;

/* The following keypair must correspond to the public key used for generating
Expand Down Expand Up @@ -176,12 +172,9 @@ typedef void (*OnOpenCommissioningWindow)(void * context, NodeId deviceId, CHIP_
* and device pairing information for individual devices). Alternatively, this class can retrieve the
* relevant information when the application tries to communicate with the device
*/
class DLL_EXPORT DeviceController : public SessionRecoveryDelegate
#if CHIP_DEVICE_CONFIG_ENABLE_DNSSD
,
class DLL_EXPORT DeviceController : public SessionRecoveryDelegate,
public AbstractDnssdDiscoveryController,
public Dnssd::OperationalResolveDelegate
#endif
{
public:
DeviceController();
Expand Down Expand Up @@ -315,10 +308,8 @@ class DLL_EXPORT DeviceController : public SessionRecoveryDelegate
Callback::Callback<OnOpenCommissioningWindow> * callback,
bool readVIDPIDAttributes = false);

#if CHIP_DEVICE_CONFIG_ENABLE_DNSSD
void RegisterDeviceAddressUpdateDelegate(DeviceAddressUpdateDelegate * delegate) { mDeviceAddressUpdateDelegate = delegate; }
void RegisterDeviceDiscoveryDelegate(DeviceDiscoveryDelegate * delegate) { mDeviceDiscoveryDelegate = delegate; }
#endif

/**
* @brief Get the Compressed Fabric ID assigned to the device.
Expand Down Expand Up @@ -368,13 +359,11 @@ class DLL_EXPORT DeviceController : public SessionRecoveryDelegate
FabricId mFabricId = kUndefinedFabricId;
FabricInfo * mFabricInfo = nullptr;

PersistentStorageDelegate * mStorageDelegate = nullptr;
#if CHIP_DEVICE_CONFIG_ENABLE_DNSSD
PersistentStorageDelegate * mStorageDelegate = nullptr;
DeviceAddressUpdateDelegate * mDeviceAddressUpdateDelegate = nullptr;
// TODO(cecille): Make this configuarable.
static constexpr int kMaxCommissionableNodes = 10;
Dnssd::DiscoveredNodeData mCommissionableNodes[kMaxCommissionableNodes];
#endif
DeviceControllerSystemState * mSystemState = nullptr;

CHIP_ERROR InitializePairedDeviceList();
Expand All @@ -390,12 +379,10 @@ class DLL_EXPORT DeviceController : public SessionRecoveryDelegate
//////////// SessionRecoveryDelegate Implementation ///////////////
void OnFirstMessageDeliveryFailed(const SessionHandle & session) override;

#if CHIP_DEVICE_CONFIG_ENABLE_DNSSD
//////////// OperationalResolveDelegate Implementation ///////////////
void OnOperationalNodeResolved(const chip::Dnssd::ResolvedNodeData & nodeData) override;
void OnOperationalNodeResolutionFailed(const chip::PeerId & peerId, CHIP_ERROR error) override;
DiscoveredNodeList GetDiscoveredNodes() override { return DiscoveredNodeList(mCommissionableNodes); }
#endif // CHIP_DEVICE_CONFIG_ENABLE_DNSSD

private:
void ReleaseOperationalDevice(OperationalDeviceProxy * device);
Expand Down Expand Up @@ -621,7 +608,6 @@ class DLL_EXPORT DeviceCommissioner : public DeviceController,
*/
CHIP_ERROR CloseBleConnection();
#endif
#if CHIP_DEVICE_CONFIG_ENABLE_DNSSD
/**
* @brief
* Discover all devices advertising as commissionable.
Expand All @@ -648,7 +634,7 @@ class DLL_EXPORT DeviceCommissioner : public DeviceController,

void OnOperationalNodeResolved(const chip::Dnssd::ResolvedNodeData & nodeData) override;
void OnOperationalNodeResolutionFailed(const chip::PeerId & peerId, CHIP_ERROR error) override;
#endif

#if CHIP_DEVICE_CONFIG_ENABLE_COMMISSIONER_DISCOVERY // make this commissioner discoverable
/**
* @brief
Expand All @@ -669,7 +655,6 @@ class DLL_EXPORT DeviceCommissioner : public DeviceController,
UserDirectedCommissioningServer * GetUserDirectedCommissioningServer() { return mUdcServer; }
#endif // CHIP_DEVICE_CONFIG_ENABLE_COMMISSIONER_DISCOVERY

#if CHIP_DEVICE_CONFIG_ENABLE_DNSSD
/**
* @brief
* Overrides method from AbstractDnssdDiscoveryController
Expand All @@ -678,7 +663,6 @@ class DLL_EXPORT DeviceCommissioner : public DeviceController,
*
*/
void OnNodeDiscovered(const chip::Dnssd::DiscoveredNodeData & nodeData) override;
#endif

void RegisterPairingDelegate(DevicePairingDelegate * pairingDelegate) { mPairingDelegate = pairingDelegate; }

Expand Down
8 changes: 1 addition & 7 deletions src/controller/CHIPDeviceControllerFactory.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -156,9 +156,7 @@ CHIP_ERROR DeviceControllerFactory::InitSystemState(FactoryInitParams params)

ReturnErrorOnFailure(chip::app::InteractionModelEngine::GetInstance()->Init(stateParams.exchangeMgr));

#if CHIP_DEVICE_CONFIG_ENABLE_DNSSD
ReturnErrorOnFailure(Dnssd::Resolver::Instance().Init(stateParams.udpEndPointManager));
#endif // CHIP_DEVICE_CONFIG_ENABLE_DNSSD

if (params.enableServerInteractions)
{
Expand Down Expand Up @@ -205,9 +203,7 @@ CHIP_ERROR DeviceControllerFactory::InitSystemState(FactoryInitParams params)

void DeviceControllerFactory::PopulateInitParams(ControllerInitParams & controllerParams, const SetupParams & params)
{
#if CHIP_DEVICE_CONFIG_ENABLE_DNSSD
controllerParams.deviceAddressUpdateDelegate = params.deviceAddressUpdateDelegate;
#endif
controllerParams.deviceAddressUpdateDelegate = params.deviceAddressUpdateDelegate;
controllerParams.operationalCredentialsDelegate = params.operationalCredentialsDelegate;
controllerParams.operationalKeypair = params.operationalKeypair;
controllerParams.controllerNOC = params.controllerNOC;
Expand Down Expand Up @@ -287,9 +283,7 @@ CHIP_ERROR DeviceControllerSystemState::Shutdown()
mCASEServer = nullptr;
}

#if CHIP_DEVICE_CONFIG_ENABLE_DNSSD
Dnssd::Resolver::Instance().Shutdown();
#endif // CHIP_DEVICE_CONFIG_ENABLE_DNSSD

// Shut down the interaction model
app::InteractionModelEngine::GetInstance()->Shutdown();
Expand Down
4 changes: 1 addition & 3 deletions src/controller/CHIPDeviceControllerFactory.h
Original file line number Diff line number Diff line change
Expand Up @@ -39,9 +39,7 @@ namespace Controller {

struct SetupParams
{
#if CHIP_DEVICE_CONFIG_ENABLE_DNSSD
DeviceAddressUpdateDelegate * deviceAddressUpdateDelegate = nullptr;
#endif
DeviceAddressUpdateDelegate * deviceAddressUpdateDelegate = nullptr;
OperationalCredentialsDelegate * operationalCredentialsDelegate = nullptr;

PersistentStorageDelegate * storageDelegate = nullptr;
Expand Down
9 changes: 0 additions & 9 deletions src/controller/SetUpCodePairer.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -109,22 +109,16 @@ CHIP_ERROR SetUpCodePairer::StopConnectOverBle()

CHIP_ERROR SetUpCodePairer::StartDiscoverOverIP(SetupPayload & payload)
{
#if CHIP_DEVICE_CONFIG_ENABLE_DNSSD
currentFilter.type = payload.isShortDiscriminator ? Dnssd::DiscoveryFilterType::kShortDiscriminator
: Dnssd::DiscoveryFilterType::kLongDiscriminator;
currentFilter.code =
payload.isShortDiscriminator ? static_cast<uint16_t>((payload.discriminator >> 8) & 0x0F) : payload.discriminator;
return mCommissioner->DiscoverCommissionableNodes(currentFilter);
#else
return CHIP_ERROR_UNSUPPORTED_CHIP_FEATURE;
#endif // CHIP_DEVICE_CONFIG_ENABLE_DNSSD
}

CHIP_ERROR SetUpCodePairer::StopConnectOverIP()
{
#if CHIP_DEVICE_CONFIG_ENABLE_DNSSD
currentFilter.type = Dnssd::DiscoveryFilterType::kNone;
#endif // CHIP_DEVICE_CONFIG_ENABLE_DNSSD
return CHIP_NO_ERROR;
}

Expand Down Expand Up @@ -167,8 +161,6 @@ void SetUpCodePairer::OnDiscoveredDeviceOverBleError(void * appState, CHIP_ERROR
}
#endif // CONFIG_NETWORK_LAYER_BLE

#if CHIP_DEVICE_CONFIG_ENABLE_DNSSD

bool SetUpCodePairer::NodeMatchesCurrentFilter(const Dnssd::DiscoveredNodeData & nodeData)
{
if (nodeData.commissioningMode == 0)
Expand Down Expand Up @@ -203,7 +195,6 @@ void SetUpCodePairer::NotifyCommissionableDeviceDiscovered(const Dnssd::Discover
RendezvousParameters params = RendezvousParameters().SetPeerAddress(peerAddress);
OnDeviceDiscovered(params);
}
#endif // CHIP_DEVICE_CONFIG_ENABLE_DNSSD

} // namespace Controller
} // namespace chip
Loading

0 comments on commit 2a2d342

Please sign in to comment.