ignore get value error for some objects

- Device.DeviceInfo.ProcessStatus.Process.
 - Device.Hosts.Host
This commit is contained in:
Amin Ben Ramdhane 2022-03-24 15:33:00 +01:00 committed by Omar Kallel
parent c25f92e9d1
commit 0a6d7f6ab4
3 changed files with 21 additions and 3 deletions

View file

@ -43,6 +43,11 @@ struct cwmp_mem {
char mem[0];
};
char *Obj_Excluded[] = {
"Device.DeviceInfo.ProcessStatus.Process.",
"Device.Hosts.Host."
};
struct option cwmp_long_options[] = {
{ "boot-event", no_argument, NULL, 'b' }, { "get-rpc-methods", no_argument, NULL, 'g' },
{ "command-input", no_argument, NULL, 'c' }, { "help", no_argument, NULL, 'h' },
@ -718,3 +723,14 @@ int get_connection_interface()
}
return CWMP_OK;
}
bool is_obj_excluded(char *object_name)
{
unsigned int i = 0;
for (i = 0; i < ARRAY_SIZE(Obj_Excluded); i++) {
if (strncmp(Obj_Excluded[i], object_name, strlen(Obj_Excluded[i])) == 0)
return true;
}
return false;
}

View file

@ -488,6 +488,8 @@ void clean_custom_inform_parameters();
char *string_to_hex(const unsigned char *str, size_t size);
int copy_file(char *source_file, char *target_file);
int get_connection_interface();
bool is_obj_excluded(char *object_name);
#ifndef FREE
#define FREE(x) \
do { \

View file

@ -776,7 +776,7 @@ int cwmp_handle_rpc_cpe_get_parameter_values(struct session *session, struct rpc
}
if (parameter_name) {
char *err = cwmp_get_parameter_values(parameter_name, &parameters_list);
if (err) {
if (err && !is_obj_excluded(parameter_name)) {
fault_code = cwmp_get_fault_code_by_string(err);
goto fault;
}
@ -887,7 +887,7 @@ int cwmp_handle_rpc_cpe_get_parameter_names(struct session *session, struct rpc
if (parameter_name && NextLevel) {
char *err = cwmp_get_parameter_names(parameter_name, strcmp(NextLevel, "true") == 0 || strcmp(NextLevel, "1") == 0 ? true : false, &parameters_list);
if (err) {
if (err && !is_obj_excluded(parameter_name)) {
fault_code = cwmp_get_fault_code_by_string(err);
goto fault;
}
@ -979,7 +979,7 @@ int cwmp_handle_rpc_cpe_get_parameter_attributes(struct session *session, struct
}
if (parameter_name) {
char *err = cwmp_get_parameter_attributes(parameter_name, &parameters_list);
if (err) {
if (err && !is_obj_excluded(parameter_name)) {
fault_code = cwmp_get_fault_code_by_string(err);
goto fault;
}