Use USP_XXX as a prefix for usp errors

This commit is contained in:
Amin Ben Romdhane 2023-05-24 17:34:53 +02:00
parent bbc75ff409
commit f2ce98d970
18 changed files with 146 additions and 147 deletions

View file

@ -48,7 +48,7 @@ extern struct list_head loaded_json_files;
extern struct list_head json_list;
extern struct list_head json_memhead;
#define bbfdm_SUBPROCESS_DEPTH (2)
#define BBF_SUBPROCESS_DEPTH (2)
#define BBF_SCHEMA_UPDATE_TIMEOUT (60 * 1000)
#define BBF_INSTANCES_UPDATE_TIMEOUT (25 * 1000)
@ -56,7 +56,7 @@ extern struct list_head json_memhead;
// Global variables
static unsigned int g_refresh_time = BBF_INSTANCES_UPDATE_TIMEOUT;
static int g_subprocess_level = bbfdm_SUBPROCESS_DEPTH;
static int g_subprocess_level = BBF_SUBPROCESS_DEPTH;
static void *deamon_lib_handle = NULL;
static json_object *deamon_json_obj = NULL;
@ -538,7 +538,7 @@ int bbfdm_set_handler(struct ubus_context *ctx, struct ubus_object *obj,
fault = fill_pvlist_set(path, tb[DM_SET_VALUE] ? blobmsg_get_string(tb[DM_SET_VALUE]) : NULL, tb[DM_SET_OBJ_PATH], &pv_list);
if (fault) {
ERR("Fault in fill pvlist set path |%s|", data.bbf_ctx.in_param);
fill_err_code_array(&data, bbfdm_FAULT_INTERNAL_ERROR);
fill_err_code_array(&data, USP_FAULT_INTERNAL_ERROR);
goto end;
}
@ -550,7 +550,7 @@ int bbfdm_set_handler(struct ubus_context *ctx, struct ubus_object *obj,
// no need to process it further since transaction-id is not valid
if (data.trans_id && !is_transaction_valid(data.trans_id)) {
WARNING("Transaction not started yet");
fill_err_code_array(&data, bbfdm_FAULT_INTERNAL_ERROR);
fill_err_code_array(&data, USP_FAULT_INTERNAL_ERROR);
goto end;
}
@ -559,7 +559,7 @@ int bbfdm_set_handler(struct ubus_context *ctx, struct ubus_object *obj,
trans_id = transaction_start(0);
if (trans_id == 0) {
WARNING("Failed to get the lock for the transaction");
fill_err_code_array(&data, bbfdm_FAULT_INTERNAL_ERROR);
fill_err_code_array(&data, USP_FAULT_INTERNAL_ERROR);
goto end;
}
}
@ -667,7 +667,7 @@ int bbfdm_add_handler(struct ubus_context *ctx, struct ubus_object *obj,
// no need to process it further since transaction-id is not valid
if (data.trans_id && !is_transaction_valid(data.trans_id)) {
WARNING("Transaction not started yet");
fill_err_code_array(&data, bbfdm_FAULT_INTERNAL_ERROR);
fill_err_code_array(&data, USP_FAULT_INTERNAL_ERROR);
goto end;
}
@ -676,7 +676,7 @@ int bbfdm_add_handler(struct ubus_context *ctx, struct ubus_object *obj,
trans_id = transaction_start(0);
if (trans_id == 0) {
ERR("Failed to get the lock for the transaction");
fill_err_code_array(&data, bbfdm_FAULT_INTERNAL_ERROR);
fill_err_code_array(&data, USP_FAULT_INTERNAL_ERROR);
goto end;
}
}
@ -701,7 +701,7 @@ int bbfdm_add_handler(struct ubus_context *ctx, struct ubus_object *obj,
fault = fill_pvlist_set(path, NULL, tb[DM_ADD_OBJ_PATH], &pv_list);
if (fault) {
ERR("Fault in fill pvlist set path |%s|", path);
fill_err_code_array(&data, bbfdm_FAULT_INTERNAL_ERROR);
fill_err_code_array(&data, USP_FAULT_INTERNAL_ERROR);
if (data.trans_id == 0) {
// Internal transaction: need to abort the changes
@ -787,7 +787,7 @@ int bbfdm_del_handler(struct ubus_context *ctx, struct ubus_object *obj,
// no need to process it further since transaction-id is not valid
if (data.trans_id && !is_transaction_valid(data.trans_id)) {
WARNING("Transaction not started yet");
fill_err_code_array(&data, bbfdm_FAULT_INTERNAL_ERROR);
fill_err_code_array(&data, USP_FAULT_INTERNAL_ERROR);
goto end;
}
@ -796,7 +796,7 @@ int bbfdm_del_handler(struct ubus_context *ctx, struct ubus_object *obj,
trans_id = transaction_start(0);
if (trans_id == 0) {
WARNING("Failed to get the lock for the transaction");
fill_err_code_array(&data, bbfdm_FAULT_INTERNAL_ERROR);
fill_err_code_array(&data, USP_FAULT_INTERNAL_ERROR);
goto end;
}
}

View file

@ -35,7 +35,6 @@
#define GLOB_CHAR "[[+*]+"
#define GLOB_EXPR "[=><]+"
#define GLOB_bbfdm_PATH "[+#=><]+"
extern DMOBJ *DEAMON_DM_ROOT_OBJ;
extern DM_MAP_VENDOR *DEAMON_DM_VENDOR_EXTENSION[2];

View file

@ -62,13 +62,13 @@ int fill_pvlist_set(char *param_name, char *param_value, struct blob_attr *blob_
size_t plen = DM_STRLEN(param_name);
if (plen == 0)
return bbfdm_FAULT_INVALID_PATH;
return USP_FAULT_INVALID_PATH;
if (!param_value)
goto blob__table;
if (param_name[plen - 1] == '.')
return bbfdm_FAULT_INVALID_PATH;
return USP_FAULT_INVALID_PATH;
add_pv_list(param_name, param_value, NULL, pv_list);
@ -100,7 +100,7 @@ blob__table:
break;
default:
INFO("Unhandled set request type|%x|", blob_id(attr));
return bbfdm_FAULT_INVALID_ARGUMENT;
return USP_FAULT_INVALID_ARGUMENT;
}
snprintf(path, MAX_DM_PATH, "%s%s", param_name, (char *)hdr->name);

View file

@ -1,6 +1,6 @@
# Parallel UBUS calls
All `operate` operation and `get` operation with a depth up to 'bbfdm_SUBPROCESS_DEPTH(2)'
All `operate` operation and `get` operation with a depth up to 'BBF_SUBPROCESS_DEPTH(2)'
runs in a parallel subprocess to avoid blocking the next call.
```console

View file

@ -260,45 +260,45 @@ enum {
BBF_OPERATE,
};
enum bbfdm_fault_code_enum {
bbfdm_FAULT_GENERAL_FAILURE = 7000, // general failure
bbfdm_FAULT_MESSAGE_NOT_UNDERSTOOD = 7001, // message was not understood
bbfdm_FAULT_REQUEST_DENIED = 7002, // Cannot or will not process message
bbfdm_FAULT_INTERNAL_ERROR = 7003, // Message failed due to an internal error
bbfdm_FAULT_INVALID_ARGUMENT = 7004, // invalid values in the request elements
bbfdm_FAULT_RESOURCES_EXCEEDED = 7005, // Message failed due to memory or processing limitations
bbfdm_FAULT_PERMISSION_DENIED = 7006, // Source endpoint does not have authorisation to use this message
bbfdm_FAULT_INVALID_CONFIGURATION = 7007, // invalid or unstable state
enum usp_fault_code_enum {
USP_FAULT_GENERAL_FAILURE = 7000, // general failure
USP_FAULT_MESSAGE_NOT_UNDERSTOOD = 7001, // message was not understood
USP_FAULT_REQUEST_DENIED = 7002, // Cannot or will not process message
USP_FAULT_INTERNAL_ERROR = 7003, // Message failed due to an internal error
USP_FAULT_INVALID_ARGUMENT = 7004, // invalid values in the request elements
USP_FAULT_RESOURCES_EXCEEDED = 7005, // Message failed due to memory or processing limitations
USP_FAULT_PERMISSION_DENIED = 7006, // Source endpoint does not have authorisation to use this message
USP_FAULT_INVALID_CONFIGURATION = 7007, // invalid or unstable state
// ParamError codes
bbfdm_FAULT_INVALID_PATH_SYNTAX = 7008, // Requested path was invalid or a reference was invalid
bbfdm_FAULT_PARAM_ACTION_FAILED = 7009, // Parameter failed to update for a general reason described in an err_msg element.
bbfdm_FAULT_UNSUPPORTED_PARAM = 7010, // Requested Path Name associated with this ParamError did not match any instantiated parameters
bbfdm_FAULT_INVALID_TYPE = 7011, // Unable to convert string value to correct data type
bbfdm_FAULT_INVALID_VALUE = 7012, // Out of range or invalid enumeration
bbfdm_FAULT_PARAM_READ_ONLY = 7013, // Attempted to write to a read only parameter
bbfdm_FAULT_VALUE_CONFLICT = 7014, // Requested value would result in an invalid configuration
// Param Error codes
USP_FAULT_INVALID_PATH_SYNTAX = 7008, // Requested path was invalid or a reference was invalid
USP_FAULT_PARAM_ACTION_FAILED = 7009, // Parameter failed to update for a general reason described in an err_msg element.
USP_FAULT_UNSUPPORTED_PARAM = 7010, // Requested Path Name associated with this ParamError did not match any instantiated parameters
USP_FAULT_INVALID_TYPE = 7011, // Unable to convert string value to correct data type
USP_FAULT_INVALID_VALUE = 7012, // Out of range or invalid enumeration
USP_FAULT_PARAM_READ_ONLY = 7013, // Attempted to write to a read only parameter
USP_FAULT_VALUE_CONFLICT = 7014, // Requested value would result in an invalid configuration
bbfdm_FAULT_CRUD_FAILURE = 7015, // General failure to perform the CRUD operation
bbfdm_FAULT_OBJECT_DOES_NOT_EXIST = 7016, // Requested object instance does not exist
bbfdm_FAULT_CREATION_FAILURE = 7017, // General failure to create the object
bbfdm_FAULT_NOT_A_TABLE = 7018, // The requested pathname was expected to be a multi-instance object, but wasn't
bbfdm_FAULT_OBJECT_NOT_CREATABLE = 7019, // Attempted to create an object which was non-creatable (for non-writable multi-instance objects)
bbfdm_FAULT_SET_FAILURE = 7020, // General failure to set a parameter
bbfdm_FAULT_REQUIRED_PARAM_FAILED = 7021, // The CRUD operation failed because a required parameter failed to update
USP_FAULT_CRUD_FAILURE = 7015, // General failure to perform the CRUD operation
USP_FAULT_OBJECT_DOES_NOT_EXIST = 7016, // Requested object instance does not exist
USP_FAULT_CREATION_FAILURE = 7017, // General failure to create the object
USP_FAULT_NOT_A_TABLE = 7018, // The requested pathname was expected to be a multi-instance object, but wasn't
USP_FAULT_OBJECT_NOT_CREATABLE = 7019, // Attempted to create an object which was non-creatable (for non-writable multi-instance objects)
USP_FAULT_SET_FAILURE = 7020, // General failure to set a parameter
USP_FAULT_REQUIRED_PARAM_FAILED = 7021, // The CRUD operation failed because a required parameter failed to update
bbfdm_FAULT_COMMAND_FAILURE = 7022, // Command failed to operate
bbfdm_FAULT_COMMAND_CANCELLED = 7023, // Command failed to complete because it was cancelled
bbfdm_FAULT_OBJECT_NOT_DELETABLE = 7024, // Attempted to delete an object which was non-deletable, or object failed to be deleted
bbfdm_FAULT_UNIQUE_KEY_CONFLICT = 7025, // unique keys would conflict
bbfdm_FAULT_INVALID_PATH = 7026, // Path is not present in the data model schema
USP_FAULT_COMMAND_FAILURE = 7022, // Command failed to operate
USP_FAULT_COMMAND_CANCELLED = 7023, // Command failed to complete because it was cancelled
USP_FAULT_OBJECT_NOT_DELETABLE = 7024, // Attempted to delete an object which was non-deletable, or object failed to be deleted
USP_FAULT_UNIQUE_KEY_CONFLICT = 7025, // unique keys would conflict
USP_FAULT_INVALID_PATH = 7026, // Path is not present in the data model schema
// Brokered USP Record Errors
bbfdm_FAULT_RECORD_NOT_PARSED = 7100, // Record could not be parsed
bbfdm_FAULT_SECURE_SESS_REQUIRED = 7101, // A secure session must be started before pasing any records
bbfdm_FAULT_SECURE_SESS_NOT_SUPPORTED = 7102, // Secure session is not supported by this endpoint
bbfdm_FAULT_SEG_NOT_SUPPORTED = 7103, // Segmentation and reassembly is not supported by this endpoint
bbfdm_FAULT_RECORD_FIELD_INVALID = 7104, // A USP record field was invalid
USP_FAULT_RECORD_NOT_PARSED = 7100, // Record could not be parsed
USP_FAULT_SECURE_SESS_REQUIRED = 7101, // A secure session must be started before pasing any records
USP_FAULT_SECURE_SESS_NOT_SUPPORTED = 7102, // Secure session is not supported by this endpoint
USP_FAULT_SEG_NOT_SUPPORTED = 7103, // Segmentation and reassembly is not supported by this endpoint
USP_FAULT_RECORD_FIELD_INVALID = 7104, // A USP record field was invalid
};
enum fault_code_enum {

View file

@ -2134,7 +2134,7 @@ int dm_entry_get_linker_value(struct dmctx *dmctx)
* **************/
static int mobj_operate(DMOBJECT_ARGS)
{
return bbfdm_FAULT_INVALID_PATH;
return USP_FAULT_INVALID_PATH;
}
static int mparam_operate(DMPARAM_ARGS)
@ -2146,12 +2146,12 @@ static int mparam_operate(DMPARAM_ARGS)
snprintf(full_param, MAX_DM_PATH, "%s%s", node->current_object, leaf->parameter);
if (DM_STRCMP(full_param, dmctx->in_param) != 0)
return bbfdm_FAULT_INVALID_PATH;
return USP_FAULT_INVALID_PATH;
dmctx->stop = 1;
if (!leaf->setvalue)
return bbfdm_FAULT_COMMAND_FAILURE;
return USP_FAULT_COMMAND_FAILURE;
json_object *j_input = (dmctx->in_value) ? json_tokener_parse(dmctx->in_value) : NULL;
int fault = (leaf->setvalue)(full_param, dmctx, data, instance, (char *)j_input, VALUESET);
@ -2168,7 +2168,7 @@ int dm_entry_operate(struct dmctx *dmctx)
int err = 0;
if (dmctx->in_param == NULL || dmctx->in_param[0] == '\0' || (*(dmctx->in_param + DM_STRLEN(dmctx->in_param) - 1) != ')'))
return bbfdm_FAULT_INVALID_PATH;
return USP_FAULT_INVALID_PATH;
dmctx->iscommand = 1;
dmctx->inparam_isparam = 1;
@ -2180,5 +2180,5 @@ int dm_entry_operate(struct dmctx *dmctx)
err = dm_browse(dmctx, &node, root, NULL, NULL);
return (dmctx->stop) ? err : bbfdm_FAULT_INVALID_PATH;
return (dmctx->stop) ? err : USP_FAULT_INVALID_PATH;
}

View file

@ -66,69 +66,69 @@ int bbf_fault_map(unsigned int dm_type, int fault)
if (dm_type == BBFDM_USP) {
switch(fault) {
case FAULT_9000:
out_fault = bbfdm_FAULT_MESSAGE_NOT_UNDERSTOOD;
out_fault = USP_FAULT_MESSAGE_NOT_UNDERSTOOD;
break;
case FAULT_9001:
out_fault = bbfdm_FAULT_REQUEST_DENIED;
out_fault = USP_FAULT_REQUEST_DENIED;
break;
case FAULT_9002:
out_fault = bbfdm_FAULT_INTERNAL_ERROR;
out_fault = USP_FAULT_INTERNAL_ERROR;
break;
case FAULT_9003:
out_fault = bbfdm_FAULT_INVALID_ARGUMENT;
out_fault = USP_FAULT_INVALID_ARGUMENT;
break;
case FAULT_9004:
case FAULT_9027:
out_fault = bbfdm_FAULT_RESOURCES_EXCEEDED;
out_fault = USP_FAULT_RESOURCES_EXCEEDED;
break;
case FAULT_9005:
out_fault = bbfdm_FAULT_INVALID_PATH;
out_fault = USP_FAULT_INVALID_PATH;
break;
case FAULT_9006:
out_fault = bbfdm_FAULT_INVALID_TYPE;
out_fault = USP_FAULT_INVALID_TYPE;
break;
case FAULT_9007:
out_fault = bbfdm_FAULT_INVALID_VALUE;
out_fault = USP_FAULT_INVALID_VALUE;
break;
case FAULT_9008:
out_fault = bbfdm_FAULT_PARAM_READ_ONLY;
out_fault = USP_FAULT_PARAM_READ_ONLY;
break;
default:
if (fault >= FAULT_9000)
out_fault = bbfdm_FAULT_GENERAL_FAILURE;
out_fault = USP_FAULT_GENERAL_FAILURE;
else
out_fault = fault;
}
} else if (dm_type == BBFDM_CWMP) {
switch(fault) {
case bbfdm_FAULT_GENERAL_FAILURE:
case USP_FAULT_GENERAL_FAILURE:
out_fault = FAULT_9002;
break;
case bbfdm_FAULT_MESSAGE_NOT_UNDERSTOOD:
case USP_FAULT_MESSAGE_NOT_UNDERSTOOD:
out_fault = FAULT_9000;
break;
case bbfdm_FAULT_REQUEST_DENIED:
case USP_FAULT_REQUEST_DENIED:
out_fault = FAULT_9001;
break;
case bbfdm_FAULT_INTERNAL_ERROR:
case USP_FAULT_INTERNAL_ERROR:
out_fault = FAULT_9002;
break;
case bbfdm_FAULT_INVALID_ARGUMENT:
case USP_FAULT_INVALID_ARGUMENT:
out_fault = FAULT_9003;
break;
case bbfdm_FAULT_RESOURCES_EXCEEDED:
case USP_FAULT_RESOURCES_EXCEEDED:
out_fault = FAULT_9004;
break;
case bbfdm_FAULT_INVALID_TYPE:
case USP_FAULT_INVALID_TYPE:
out_fault = FAULT_9006;
break;
case bbfdm_FAULT_INVALID_VALUE:
case USP_FAULT_INVALID_VALUE:
out_fault = FAULT_9007;
break;
case bbfdm_FAULT_PARAM_READ_ONLY:
case USP_FAULT_PARAM_READ_ONLY:
out_fault = FAULT_9008;
break;
case bbfdm_FAULT_INVALID_PATH:
case USP_FAULT_INVALID_PATH:
out_fault = FAULT_9005;
break;
default:
@ -146,10 +146,10 @@ int bbf_entry_method(struct dmctx *ctx, int cmd)
int fault = 0;
if (!ctx || !ctx->dm_entryobj)
return bbf_fault_map(ctx->dm_type, bbfdm_FAULT_INVALID_CONFIGURATION);
return bbf_fault_map(ctx->dm_type, USP_FAULT_INVALID_CONFIGURATION);
if (!ctx->in_param)
return bbf_fault_map(ctx->dm_type, bbfdm_FAULT_INVALID_PATH);
return bbf_fault_map(ctx->dm_type, USP_FAULT_INVALID_PATH);
load_plugins(ctx);

View file

@ -1025,7 +1025,7 @@ static int setcommand_param(char *refparam, struct dmctx *ctx, void *data, char
}
if (p_obj == NULL) {
return bbfdm_FAULT_COMMAND_FAILURE;
return USP_FAULT_COMMAND_FAILURE;
}
json_object_object_get_ex(p_obj, "mapping", &map_arr);
@ -1033,7 +1033,7 @@ static int setcommand_param(char *refparam, struct dmctx *ctx, void *data, char
map_obj = json_object_array_get_idx(map_arr, 0);
if (!map_obj) {
return bbfdm_FAULT_COMMAND_FAILURE;
return USP_FAULT_COMMAND_FAILURE;
}
json_object_object_get_ex(map_obj, "type", &type);
@ -1042,7 +1042,7 @@ static int setcommand_param(char *refparam, struct dmctx *ctx, void *data, char
return ubus_set_operate(map_obj, json_version, refparam, ctx, data, value, instance);
}
return bbfdm_FAULT_COMMAND_FAILURE;
return USP_FAULT_COMMAND_FAILURE;
}
static int getevent_param(char *refparam, struct dmctx *ctx, void *data, char *instance, char **value)

View file

@ -114,7 +114,7 @@ static void send_transfer_complete_event(const char *command, const char *obj_pa
strftime(complete_time, sizeof(complete_time), "%Y-%m-%dT%H:%M:%SZ", gmtime(&complete_t));
if (!get_response_code_status(transfer_url, res_code)) {
fault_code = bbfdm_FAULT_GENERAL_FAILURE;
fault_code = USP_FAULT_GENERAL_FAILURE;
snprintf(fault_string, sizeof(fault_string), "%s operation is failed, fault code (%ld)", transfer_type, res_code);
}

View file

@ -1705,7 +1705,7 @@ static int operate_IPDiagnostics_IPPing(char *refparam, struct dmctx *ctx, void
char *ipping_host = dmjson_get_value((json_object *)value, 1, "Host");
if (ipping_host[0] == '\0')
return bbfdm_FAULT_INVALID_ARGUMENT;
return USP_FAULT_INVALID_ARGUMENT;
char *ip_interface = dmjson_get_value((json_object *)value, 1, "Interface");
char *ipping_interface = get_diagnostics_interface_option(ctx, ip_interface);
char *ipping_proto = dmjson_get_value((json_object *)value, 1, "ProtocolVersion");
@ -1729,7 +1729,7 @@ static int operate_IPDiagnostics_IPPing(char *refparam, struct dmctx *ctx, void
8, &res);
if (res == NULL)
return bbfdm_FAULT_COMMAND_FAILURE;
return USP_FAULT_COMMAND_FAILURE;
char *ipping_status = dmjson_get_value(res, 1, "Status");
char *ipping_ip_address_used = dmjson_get_value(res, 1, "IPAddressUsed");
@ -1803,7 +1803,7 @@ static int operate_IPDiagnostics_TraceRoute(char *refparam, struct dmctx *ctx, v
char *host = dmjson_get_value((json_object *)value, 1, "Host");
if (host[0] == '\0')
return bbfdm_FAULT_INVALID_ARGUMENT;
return USP_FAULT_INVALID_ARGUMENT;
char *ip_interface = dmjson_get_value((json_object *)value, 1, "Interface");
char *interface = get_diagnostics_interface_option(ctx, ip_interface);
@ -1832,13 +1832,13 @@ static int operate_IPDiagnostics_TraceRoute(char *refparam, struct dmctx *ctx, v
fgets(output, sizeof(output) , pp);
pclose(pp);
} else {
return bbfdm_FAULT_COMMAND_FAILURE;
return USP_FAULT_COMMAND_FAILURE;
}
json_object *res = (DM_STRLEN(output)) ? json_tokener_parse(output) : NULL;
if (res == NULL)
return bbfdm_FAULT_COMMAND_FAILURE;
return USP_FAULT_COMMAND_FAILURE;
char *status = dmjson_get_value(res, 1, "Status");
char *ip_address_used = dmjson_get_value(res, 1, "IPAddressUsed");
@ -1931,12 +1931,12 @@ static int operate_IPDiagnostics_DownloadDiagnostics(char *refparam, struct dmct
char *download_url = dmjson_get_value((json_object *)value, 1, "DownloadURL");
if (download_url[0] == '\0')
return bbfdm_FAULT_INVALID_ARGUMENT;
return USP_FAULT_INVALID_ARGUMENT;
if (strncmp(download_url, HTTP_URI, strlen(HTTP_URI)) != 0 &&
strncmp(download_url, FTP_URI, strlen(FTP_URI)) != 0 &&
strchr(download_url,'@') != NULL)
return bbfdm_FAULT_INVALID_ARGUMENT;
return USP_FAULT_INVALID_ARGUMENT;
char *ip_interface = dmjson_get_value((json_object *)value, 1, "Interface");
char *download_interface = get_diagnostics_interface_option(ctx, ip_interface);
@ -1963,13 +1963,13 @@ static int operate_IPDiagnostics_DownloadDiagnostics(char *refparam, struct dmct
fgets(output, sizeof(output) , pp);
pclose(pp);
} else {
return bbfdm_FAULT_COMMAND_FAILURE;
return USP_FAULT_COMMAND_FAILURE;
}
json_object *res = (DM_STRLEN(output)) ? json_tokener_parse(output) : NULL;
if (res == NULL)
return bbfdm_FAULT_COMMAND_FAILURE;
return USP_FAULT_COMMAND_FAILURE;
char *status = dmjson_get_value(res, 1, "Status");
char *ip_address_used = dmjson_get_value(res, 1, "IPAddressUsed");
@ -2065,16 +2065,16 @@ static int operate_IPDiagnostics_UploadDiagnostics(char *refparam, struct dmctx
char *upload_url = dmjson_get_value((json_object *)value, 1, "UploadURL");
if (upload_url[0] == '\0')
return bbfdm_FAULT_INVALID_ARGUMENT;
return USP_FAULT_INVALID_ARGUMENT;
if (strncmp(upload_url, HTTP_URI, strlen(HTTP_URI)) != 0 &&
strncmp(upload_url, FTP_URI, strlen(FTP_URI)) != 0 &&
strchr(upload_url,'@') != NULL)
return bbfdm_FAULT_INVALID_ARGUMENT;
return USP_FAULT_INVALID_ARGUMENT;
char *upload_test_file_length = dmjson_get_value((json_object *)value, 1, "TestFileLength");
if (upload_test_file_length[0] == '\0')
return bbfdm_FAULT_INVALID_ARGUMENT;
return USP_FAULT_INVALID_ARGUMENT;
char *ip_interface = dmjson_get_value((json_object *)value, 1, "Interface");
char *upload_interface = get_diagnostics_interface_option(ctx, ip_interface);
@ -2102,13 +2102,13 @@ static int operate_IPDiagnostics_UploadDiagnostics(char *refparam, struct dmctx
fgets(output, sizeof(output) , pp);
pclose(pp);
} else {
return bbfdm_FAULT_COMMAND_FAILURE;
return USP_FAULT_COMMAND_FAILURE;
}
json_object *res = (DM_STRLEN(output)) ? json_tokener_parse(output) : NULL;
if (res == NULL)
return bbfdm_FAULT_COMMAND_FAILURE;
return USP_FAULT_COMMAND_FAILURE;
char *upload_status = dmjson_get_value(res, 1, "Status");
char *upload_ip_address_used = dmjson_get_value(res, 1, "IPAddressUsed");
@ -2189,7 +2189,7 @@ static int operate_IPDiagnostics_UDPEchoDiagnostics(char *refparam, struct dmctx
char *udpecho_host = dmjson_get_value((json_object *)value, 1, "Host");
if (udpecho_host[0] == '\0')
return bbfdm_FAULT_INVALID_ARGUMENT;
return USP_FAULT_INVALID_ARGUMENT;
char *udpecho_port = dmjson_get_value((json_object *)value, 1, "Port");
char *ip_interface = dmjson_get_value((json_object *)value, 1, "Interface");
@ -2218,7 +2218,7 @@ static int operate_IPDiagnostics_UDPEchoDiagnostics(char *refparam, struct dmctx
10, &res);
if (res == NULL)
return bbfdm_FAULT_COMMAND_FAILURE;
return USP_FAULT_COMMAND_FAILURE;
char *status = dmjson_get_value(res, 1, "Status");
char *ip_address_used = dmjson_get_value(res, 1, "IPAddressUsed");
@ -2275,7 +2275,7 @@ static int operate_IPDiagnostics_ServerSelectionDiagnostics(char *refparam, stru
char *hostlist = dmjson_get_value((json_object *)value, 1, "HostList");
if (hostlist[0] == '\0')
return bbfdm_FAULT_INVALID_ARGUMENT;
return USP_FAULT_INVALID_ARGUMENT;
char *port = dmjson_get_value((json_object *)value, 1, "Port");
char *protocol_used = dmjson_get_value((json_object *)value, 1, "Protocol");
@ -2300,7 +2300,7 @@ static int operate_IPDiagnostics_ServerSelectionDiagnostics(char *refparam, stru
8, &res);
if (res == NULL)
return bbfdm_FAULT_COMMAND_FAILURE;
return USP_FAULT_COMMAND_FAILURE;
char *status = dmjson_get_value(res, 1, "Status");
char *fasthost = dmjson_get_value(res, 1, "FastestHost");

View file

@ -68,12 +68,12 @@ static int get_Device_RootDataModelVersion(char *refparam, struct dmctx *ctx, vo
*************************************************************/
static int operate_Device_Reboot(char *refparam, struct dmctx *ctx, void *data, char *instance, char *value, int action)
{
return !dmubus_call_set("system", "reboot", UBUS_ARGS{0}, 0) ? 0 : bbfdm_FAULT_COMMAND_FAILURE;
return !dmubus_call_set("system", "reboot", UBUS_ARGS{0}, 0) ? 0 : USP_FAULT_COMMAND_FAILURE;
}
static int operate_Device_FactoryReset(char *refparam, struct dmctx *ctx, void *data, char *instance, char *value, int action)
{
return !dmcmd_no_wait("/sbin/defaultreset", 0) ? 0 : bbfdm_FAULT_COMMAND_FAILURE;
return !dmcmd_no_wait("/sbin/defaultreset", 0) ? 0 : USP_FAULT_COMMAND_FAILURE;
}
/**********************************************************************************************************************************

View file

@ -1265,7 +1265,7 @@ static int operate_DeviceInfoVendorLogFile_Upload(char *refparam, struct dmctx *
char *url = dmjson_get_value((json_object *)value, 1, "URL");
if (url[0] == '\0')
return bbfdm_FAULT_INVALID_ARGUMENT;
return USP_FAULT_INVALID_ARGUMENT;
dmuci_get_value_by_section_string(((struct dmmap_dup *)data)->config_section, "log_file", &vlf_file_path);
@ -1281,7 +1281,7 @@ static int operate_DeviceInfoVendorLogFile_Upload(char *refparam, struct dmctx *
if (file_exists(DEF_VENDOR_LOG_FILE))
remove(DEF_VENDOR_LOG_FILE);
return res ? bbfdm_FAULT_COMMAND_FAILURE : 0;
return res ? USP_FAULT_COMMAND_FAILURE : 0;
}
static operation_args vendor_config_file_backup_args = {
@ -1311,7 +1311,7 @@ static int operate_DeviceInfoVendorConfigFile_Backup(char *refparam, struct dmct
char *url = dmjson_get_value((json_object *)value, 1, "URL");
if (url[0] == '\0')
return bbfdm_FAULT_INVALID_ARGUMENT;
return USP_FAULT_INVALID_ARGUMENT;
char *user = dmjson_get_value((json_object *)value, 1, "Username");
char *pass = dmjson_get_value((json_object *)value, 1, "Password");
@ -1320,7 +1320,7 @@ static int operate_DeviceInfoVendorConfigFile_Backup(char *refparam, struct dmct
int res = bbf_config_backup(url, user, pass, vcf_name, backup_command, backup_path);
return res ? bbfdm_FAULT_COMMAND_FAILURE : 0;
return res ? USP_FAULT_COMMAND_FAILURE : 0;
}
static operation_args vendor_config_file_restore_args = {
@ -1353,7 +1353,7 @@ static int operate_DeviceInfoVendorConfigFile_Restore(char *refparam, struct dmc
char *url = dmjson_get_value((json_object *)value, 1, "URL");
if (url[0] == '\0')
return bbfdm_FAULT_INVALID_ARGUMENT;
return USP_FAULT_INVALID_ARGUMENT;
char *user = dmjson_get_value((json_object *)value, 1, "Username");
char *pass = dmjson_get_value((json_object *)value, 1, "Password");
@ -1363,7 +1363,7 @@ static int operate_DeviceInfoVendorConfigFile_Restore(char *refparam, struct dmc
int res = bbf_config_restore(url, user, pass, file_size, checksum_algorithm, checksum, restore_command, restore_path);
return res ? bbfdm_FAULT_COMMAND_FAILURE : 0;
return res ? USP_FAULT_COMMAND_FAILURE : 0;
}
static operation_args firmware_image_download_args = {
@ -1398,7 +1398,7 @@ static int operate_DeviceInfoFirmwareImage_Download(char *refparam, struct dmctx
char *url = dmjson_get_value((json_object *)value, 1, "URL");
char *auto_activate = dmjson_get_value((json_object *)value, 1, "AutoActivate");
if (url[0] == '\0')
return bbfdm_FAULT_INVALID_ARGUMENT;
return USP_FAULT_INVALID_ARGUMENT;
// Assuming auto activate as false, if not provided by controller, in case of strict validation,
// this should result into a fault
@ -1417,7 +1417,7 @@ static int operate_DeviceInfoFirmwareImage_Download(char *refparam, struct dmctx
int res = bbf_fw_image_download(url, auto_activate, username, password, file_size, checksum_algorithm, checksum, bank_id, command, obj_path, commandKey);
return res ? bbfdm_FAULT_COMMAND_FAILURE : 0;
return res ? USP_FAULT_COMMAND_FAILURE : 0;
}
static operation_args firmware_image_activate_args = {
@ -1469,37 +1469,37 @@ static int operate_DeviceInfoFirmwareImage_Activate(char *refparam, struct dmctx
break;
if (!DM_STRLEN(end_time[i]) || !DM_STRLEN(mode[i]))
return bbfdm_FAULT_INVALID_ARGUMENT;
return USP_FAULT_INVALID_ARGUMENT;
if (dm_validate_unsignedInt(start_time[i], RANGE_ARGS{{NULL,NULL}}, 1))
return bbfdm_FAULT_INVALID_ARGUMENT;
return USP_FAULT_INVALID_ARGUMENT;
if (dm_validate_unsignedInt(end_time[i], RANGE_ARGS{{NULL,NULL}}, 1))
return bbfdm_FAULT_INVALID_ARGUMENT;
return USP_FAULT_INVALID_ARGUMENT;
if (DM_STRLEN(max_retries[i]) && dm_validate_int(max_retries[i], RANGE_ARGS{{"-1","10"}}, 1))
return bbfdm_FAULT_INVALID_ARGUMENT;
return USP_FAULT_INVALID_ARGUMENT;
if (dm_validate_string(mode[i], -1, -1, FW_Mode, NULL))
return bbfdm_FAULT_INVALID_ARGUMENT;
return USP_FAULT_INVALID_ARGUMENT;
if (DM_STRTOL(start_time[i]) > DM_STRTOL(end_time[i]))
return bbfdm_FAULT_INVALID_ARGUMENT;
return USP_FAULT_INVALID_ARGUMENT;
if (i != 0 && DM_STRTOL(end_time[i - 1]) > DM_STRTOL(start_time[i]))
return bbfdm_FAULT_INVALID_ARGUMENT;
return USP_FAULT_INVALID_ARGUMENT;
last_idx++;
}
char *bank_id = dmjson_get_value((json_object *)data, 1, "id");
if (!DM_STRLEN(bank_id))
return bbfdm_FAULT_COMMAND_FAILURE;
return USP_FAULT_COMMAND_FAILURE;
if (DM_STRLEN(start_time[0])) {
FILE *file = fopen(CRONTABS_ROOT, "a");
if (!file)
return bbfdm_FAULT_COMMAND_FAILURE;
return USP_FAULT_COMMAND_FAILURE;
for (int i = 0; i < MAX_TIME_WINDOW && DM_STRLEN(start_time[i]); i++) {
char buffer[512] = {0};
@ -1533,13 +1533,13 @@ static int operate_DeviceInfoFirmwareImage_Activate(char *refparam, struct dmctx
dmubus_call("fwbank", "set_bootbank", UBUS_ARGS{{"bank", bank_id, Integer}}, 1, &json_obj);
char *status = dmjson_get_value(json_obj, 1, "success");
if (strcasecmp(status, "true") != 0)
return bbfdm_FAULT_COMMAND_FAILURE;
return USP_FAULT_COMMAND_FAILURE;
res = dmubus_call_set("rpc-sys", "reboot", UBUS_ARGS{0}, 0);
sleep(10); // Wait for reboot to happen
}
return res ? bbfdm_FAULT_COMMAND_FAILURE : 0;
return res ? USP_FAULT_COMMAND_FAILURE : 0;
}
/**********************************************************************************************************************************

View file

@ -755,7 +755,7 @@ static int operate_DNSDiagnostics_NSLookupDiagnostics(char *refparam, struct dmc
char *hostname = dmjson_get_value((json_object *)value, 1, "HostName");
if (hostname[0] == '\0')
return bbfdm_FAULT_INVALID_ARGUMENT;
return USP_FAULT_INVALID_ARGUMENT;
char *interface = dmjson_get_value((json_object *)value, 1, "Interface");
char *dnsserver = dmjson_get_value((json_object *)value, 1, "DNSServer");
char *timeout = dmjson_get_value((json_object *)value, 1, "Timeout");
@ -774,7 +774,7 @@ static int operate_DNSDiagnostics_NSLookupDiagnostics(char *refparam, struct dmc
6, &res);
if (res == NULL)
return bbfdm_FAULT_COMMAND_FAILURE;
return USP_FAULT_COMMAND_FAILURE;
char *status = dmjson_get_value(res, 1, "Status");
char *success_count = dmjson_get_value(res, 1, "SuccessCount");

View file

@ -928,7 +928,7 @@ static int operate_session_delete(char *refparam, struct dmctx *ctx, void *data,
ret = system(cmd);
}
return (ret != -1) ? 0 : bbfdm_FAULT_COMMAND_FAILURE;
return (ret != -1) ? 0 : USP_FAULT_COMMAND_FAILURE;
}
/**********************************************************************************************************************************

View file

@ -1968,7 +1968,7 @@ static int operate_WiFiAccessPointWPS_InitiateWPSPBC(char *refparam, struct dmct
int ubus_ret = 0;
if (ifname == NULL)
return bbfdm_FAULT_COMMAND_FAILURE;
return USP_FAULT_COMMAND_FAILURE;
snprintf(object, sizeof(object), "hostapd.%s", ifname);
ubus_ret = dmubus_call_set(object, "wps_start", UBUS_ARGS{0}, 0);
@ -3267,7 +3267,7 @@ static int get_access_point_total_associations(char *refparam, struct dmctx *ctx
*************************************************************/
static int operate_WiFi_Reset(char *refparam, struct dmctx *ctx, void *data, char *instance, char *value, int action)
{
return !dmcmd_no_wait("/sbin/wifi", 1, "reload") ? 0 : bbfdm_FAULT_COMMAND_FAILURE;
return !dmcmd_no_wait("/sbin/wifi", 1, "reload") ? 0 : USP_FAULT_COMMAND_FAILURE;
}
static operation_args neighboring_wifi_diagnostic_args = {

View file

@ -977,17 +977,17 @@ int operate_IPDiagnostics_IPLayerCapacity(char *refparam, struct dmctx *ctx, voi
char *host = dmjson_get_value((json_object *)value, 1, "Host");
if (host[0] == '\0')
return bbfdm_FAULT_INVALID_ARGUMENT;
return USP_FAULT_INVALID_ARGUMENT;
char *ip_interface = dmjson_get_value((json_object *)value, 1, "Interface");
char *interface = get_diagnostics_interface_option(ctx, ip_interface);
char *role = dmjson_get_value((json_object *)value, 1, "Role");
if (role[0] != '\0' && dm_validate_string(role, -1, -1, IPLayerCapacityRole, NULL))
return bbfdm_FAULT_INVALID_ARGUMENT;
return USP_FAULT_INVALID_ARGUMENT;
char *port = dmjson_get_value((json_object *)value, 1, "Port");
if (port[0] != '\0' && dm_validate_unsignedInt(port, RANGE_ARGS{{"1","65535"}}, 1))
return bbfdm_FAULT_INVALID_ARGUMENT;
return USP_FAULT_INVALID_ARGUMENT;
char *jumbo = dmjson_get_value((json_object *)value, 1, "JumboFramesPermitted");
bool jumbo_en = false;
@ -995,19 +995,19 @@ int operate_IPDiagnostics_IPLayerCapacity(char *refparam, struct dmctx *ctx, voi
char *dscp = dmjson_get_value((json_object *)value, 1, "DSCP");
if (dscp[0] != '\0' && dm_validate_unsignedInt(dscp, RANGE_ARGS{{"0","63"}}, 1))
return bbfdm_FAULT_INVALID_ARGUMENT;
return USP_FAULT_INVALID_ARGUMENT;
char *ip_proto = dmjson_get_value((json_object *)value, 1, "ProtocolVersion");
if (ip_proto[0] != '\0' && dm_validate_string(ip_proto, -1, -1, ProtocolVersion, NULL))
return bbfdm_FAULT_INVALID_ARGUMENT;
return USP_FAULT_INVALID_ARGUMENT;
char *content = dmjson_get_value((json_object *)value, 1, "UDPPayloadContent");
if (content[0] != '\0' && dm_validate_string(content, -1, -1, UDPPayloadContent, NULL))
return bbfdm_FAULT_INVALID_ARGUMENT;
return USP_FAULT_INVALID_ARGUMENT;
char *test_type = dmjson_get_value((json_object *)value, 1, "TestType");
if (test_type[0] != '\0' && dm_validate_string(test_type, -1, -1, IPLayerCapacityTestType, NULL))
return bbfdm_FAULT_INVALID_ARGUMENT;
return USP_FAULT_INVALID_ARGUMENT;
char *ipdv = dmjson_get_value((json_object *)value, 1, "IPDVEnable");
bool ipdv_en = false;
@ -1015,27 +1015,27 @@ int operate_IPDiagnostics_IPLayerCapacity(char *refparam, struct dmctx *ctx, voi
char *start_rate = dmjson_get_value((json_object *)value, 1, "StartSendingRateIndex");
if (start_rate[0] != '\0' && dm_validate_unsignedInt(start_rate, RANGE_ARGS{{"0","1108"}}, 1))
return bbfdm_FAULT_INVALID_ARGUMENT;
return USP_FAULT_INVALID_ARGUMENT;
char *num_interval = dmjson_get_value((json_object *)value, 1, "NumberTestSubIntervals");
if (num_interval[0] != '\0' && dm_validate_unsignedInt(num_interval, RANGE_ARGS{{"1","60"}}, 1))
return bbfdm_FAULT_INVALID_ARGUMENT;
return USP_FAULT_INVALID_ARGUMENT;
char *mode_test = dmjson_get_value((json_object *)value, 1, "NumberFirstModeTestSubIntervals");
if (mode_test[0] != '\0' && dm_validate_unsignedInt(mode_test, RANGE_ARGS{{"0","100"}}, 1))
return bbfdm_FAULT_INVALID_ARGUMENT;
return USP_FAULT_INVALID_ARGUMENT;
char *sub_interval = dmjson_get_value((json_object *)value, 1, "TestSubInterval");
if (sub_interval[0] != '\0' && dm_validate_unsignedInt(sub_interval, RANGE_ARGS{{"1000","6000"}}, 1))
return bbfdm_FAULT_INVALID_ARGUMENT;
return USP_FAULT_INVALID_ARGUMENT;
char *feed_interval = dmjson_get_value((json_object *)value, 1, "StatusFeedbackInterval");
if (feed_interval[0] != '\0' && dm_validate_unsignedInt(feed_interval, RANGE_ARGS{{"5","250"}}, 1))
return bbfdm_FAULT_INVALID_ARGUMENT;
return USP_FAULT_INVALID_ARGUMENT;
char *seq_err = dmjson_get_value((json_object *)value, 1, "SeqErrThresh");
if (seq_err[0] != '\0' && dm_validate_unsignedInt(seq_err, RANGE_ARGS{{"0","100"}}, 1))
return bbfdm_FAULT_INVALID_ARGUMENT;
return USP_FAULT_INVALID_ARGUMENT;
char *dup_ignore = dmjson_get_value((json_object *)value, 1, "ReordDupIgnoreEnable");
bool dup_ignore_en = false;
@ -1043,23 +1043,23 @@ int operate_IPDiagnostics_IPLayerCapacity(char *refparam, struct dmctx *ctx, voi
char *low_thresh = dmjson_get_value((json_object *)value, 1, "LowerThresh");
if (low_thresh[0] != '\0' && dm_validate_unsignedInt(low_thresh, RANGE_ARGS{{"5","250"}}, 1))
return bbfdm_FAULT_INVALID_ARGUMENT;
return USP_FAULT_INVALID_ARGUMENT;
char *up_thresh = dmjson_get_value((json_object *)value, 1, "UpperThresh");
if (up_thresh[0] != '\0' && dm_validate_unsignedInt(up_thresh, RANGE_ARGS{{"5","250"}}, 1))
return bbfdm_FAULT_INVALID_ARGUMENT;
return USP_FAULT_INVALID_ARGUMENT;
char *speed_delta = dmjson_get_value((json_object *)value, 1, "HighSpeedDelta");
if (speed_delta[0] != '\0' && dm_validate_unsignedInt(speed_delta, RANGE_ARGS{{"2", NULL}}, 1))
return bbfdm_FAULT_INVALID_ARGUMENT;
return USP_FAULT_INVALID_ARGUMENT;
char *slow_adj = dmjson_get_value((json_object *)value, 1, "SlowAdjThresh");
if (slow_adj[0] != '\0' && dm_validate_unsignedInt(slow_adj, RANGE_ARGS{{"2", NULL}}, 1))
return bbfdm_FAULT_INVALID_ARGUMENT;
return USP_FAULT_INVALID_ARGUMENT;
char *rate_adj = dmjson_get_value((json_object *)value, 1, "RateAdjAlgorithm");
if (rate_adj[0] != '\0' && dm_validate_string(rate_adj, -1, -1, RateAdjAlgorithm, NULL))
return bbfdm_FAULT_INVALID_ARGUMENT;
return USP_FAULT_INVALID_ARGUMENT;
snprintf(input, sizeof(input), "'{\"host\": \"%s\",\"interface\":\"%s\",\"role\":\"%s\",\"port\":\"%s\",\"jumbo_frames\":\"%s\",\"proto_ver\":\"%s\",\"udp_content\":\"%s\",\"test_type\":\"%s\",\"ipdv_enable\":\"%s\",\"DSCP\":\"%s\",\"rate_index\":\"%s\",\"mode_subintervals\":\"%s\",\"test_subinterval\":\"%s\",\"feedback_interval\":\"%s\",\"seq_err_thresh\":\"%s\",\"dup_ignore\":\"%s\",\"lower_thresh\":\"%s\",\"upper_thresh\":\"%s\",\"high_speed_delta\":\"%s\",\"algorithm\":\"%s\",\"slow_adj_thresh\":\"%s\",\"num_interval\":\"%s\",\"proto\":\"%s\"}'",
host, interface, role, port, DM_STRLEN(jumbo) > 0 ? (jumbo_en ? "1" : "0") : "\0",
@ -1075,13 +1075,13 @@ int operate_IPDiagnostics_IPLayerCapacity(char *refparam, struct dmctx *ctx, voi
fgets(output, sizeof(output), pp);
pclose(pp);
} else {
return bbfdm_FAULT_COMMAND_FAILURE;
return USP_FAULT_COMMAND_FAILURE;
}
json_object *res = (DM_STRLEN(output)) ? json_tokener_parse(output) : NULL;
if (res == NULL) {
return bbfdm_FAULT_COMMAND_FAILURE;
return USP_FAULT_COMMAND_FAILURE;
}
char *status = NULL;

View file

@ -85,7 +85,7 @@ static int set_X_IOPSYS_EU_Syslog_ConsoleLogLevel(char *refparam, struct dmctx *
*************************************************************/
static int operate_Device_X_IOPSYS_EU_Reboot(char *refparam, struct dmctx *ctx, void *data, char *instance, char *value, int action)
{
return !dmubus_call_set("system", "reboot", UBUS_ARGS{0}, 0) ? 0 : bbfdm_FAULT_COMMAND_FAILURE;
return !dmubus_call_set("system", "reboot", UBUS_ARGS{0}, 0) ? 0 : USP_FAULT_COMMAND_FAILURE;
}
static operation_args x_iopsys_eu_ping_test_run_args = {
@ -114,7 +114,7 @@ static int operate_DeviceXIOPSYSEUPingTEST_Run(char *refparam, struct dmctx *ctx
char *host = dmjson_get_value((json_object *)value, 1, "Host");
if(host[0] == '\0')
return bbfdm_FAULT_INVALID_ARGUMENT;
return USP_FAULT_INVALID_ARGUMENT;
snprintf(command, sizeof(command), "ping -c 1 -W 1 %s", host);

View file

@ -466,7 +466,7 @@ static void test_api_bbfdm_wrong_operate(void **state)
ctx->in_param = "Device.IP.Diagnostics.IPing()";
fault = bbf_entry_method(ctx, BBF_OPERATE);
assert_int_equal(fault, bbfdm_FAULT_INVALID_PATH);
assert_int_equal(fault, USP_FAULT_INVALID_PATH);
}
static void test_api_bbfdm_get_list_operate(void **state)