Only send new format netconf for PV>=6

This commit is contained in:
Adam Ierymenko 2016-06-07 11:13:18 -07:00
parent 523ea68ae2
commit 2885aea65c

View File

@ -2134,12 +2134,17 @@ NetworkController::ResultCode SqliteNetworkController::_doNetworkConfigRequest(c
return NETCONF_QUERY_INTERNAL_SERVER_ERROR;
}
// First append the legacy dictionary and a terminating NULL, then serialize the new-format one.
// Newer clients will use the new-format dictionary and older ones will use the old one.
std::string legacyStr(legacy.toString());
netconf.append((const void *)legacyStr.data(),(unsigned int)legacyStr.length());
// Append legacy network config data for older devices
if (metaData.protocolVersion < 6) {
std::string legacyStr(legacy.toString());
netconf.append((const void *)legacyStr.data(),(unsigned int)legacyStr.length());
}
netconf.append((uint8_t)0);
nc.serialize(netconf);
// Append new format data for newer devices
if (metaData.protocolVersion >= 6) {
nc.serialize(netconf);
}
return NetworkController::NETCONF_QUERY_OK;
}