fixed issue in grpc get emane model configs that would allow key collision
This commit is contained in:
parent
9ada94107e
commit
9d988a4b13
3 changed files with 16 additions and 12 deletions
|
@ -228,13 +228,12 @@ class CoreClient:
|
|||
|
||||
# get emane model config
|
||||
response = self.client.get_emane_model_configs(self.session_id)
|
||||
for node_id in response.configs:
|
||||
config = response.configs[node_id]
|
||||
for config in response.configs:
|
||||
interface = None
|
||||
if config.interface != -1:
|
||||
interface = config.interface
|
||||
self.set_emane_model_config(
|
||||
node_id, config.model, config.config, interface
|
||||
config.node_id, config.model, config.config, interface
|
||||
)
|
||||
|
||||
# get wlan configurations
|
||||
|
|
|
@ -1394,22 +1394,26 @@ class CoreGrpcServer(core_pb2_grpc.CoreApiServicer):
|
|||
"""
|
||||
logging.debug("get emane model configs: %s", request)
|
||||
session = self.get_session(request.session_id, context)
|
||||
response = core_pb2.GetEmaneModelConfigsResponse()
|
||||
|
||||
configs = []
|
||||
for _id in session.emane.node_configurations:
|
||||
if _id == -1:
|
||||
continue
|
||||
|
||||
model_config = session.emane.node_configurations[_id]
|
||||
for model_name in model_config:
|
||||
model_configs = session.emane.node_configurations[_id]
|
||||
for model_name in model_configs:
|
||||
model = session.emane.models[model_name]
|
||||
current_config = session.emane.get_model_config(_id, model_name)
|
||||
config = get_config_options(current_config, model)
|
||||
node_id, interface = grpcutils.parse_emane_model_id(_id)
|
||||
model_config = core_pb2.GetEmaneModelConfigsResponse.ModelConfig(
|
||||
model=model_name, config=config, interface=interface
|
||||
node_id=node_id,
|
||||
model=model_name,
|
||||
interface=interface,
|
||||
config=config,
|
||||
)
|
||||
response.configs[node_id].CopyFrom(model_config)
|
||||
return response
|
||||
configs.append(model_config)
|
||||
return core_pb2.GetEmaneModelConfigsResponse(configs=configs)
|
||||
|
||||
def SaveXml(self, request, context):
|
||||
"""
|
||||
|
|
|
@ -664,11 +664,12 @@ message GetEmaneModelConfigsRequest {
|
|||
|
||||
message GetEmaneModelConfigsResponse {
|
||||
message ModelConfig {
|
||||
string model = 1;
|
||||
map<string, ConfigOption> config = 2;
|
||||
int32 node_id = 1;
|
||||
string model = 2;
|
||||
int32 interface = 3;
|
||||
map<string, ConfigOption> config = 4;
|
||||
}
|
||||
map<int32, ModelConfig> configs = 1;
|
||||
repeated ModelConfig configs = 1;
|
||||
}
|
||||
|
||||
message SaveXmlRequest {
|
||||
|
|
Loading…
Add table
Reference in a new issue