mirror of
https://dev.iopsys.eu/bbf/icwmp.git
synced 2026-02-16 12:59:15 +01:00
bug fixing: schedule download
This commit is contained in:
parent
c467a243eb
commit
8cd7bd4d21
4 changed files with 17 additions and 21 deletions
14
external.c
14
external.c
|
|
@ -250,7 +250,7 @@ int external_simple(char *command, char *arg)
|
|||
return 0;
|
||||
}
|
||||
|
||||
int external_download(char *url, char *size, char *type, char *user, char *pass,...)
|
||||
int external_download(char *url, char *size, char *type, char *user, char *pass, time_t c)
|
||||
{
|
||||
DD(INFO,"executing download url '%s'", url);
|
||||
|
||||
|
|
@ -271,7 +271,7 @@ int external_download(char *url, char *size, char *type, char *user, char *pass,
|
|||
json_obj_out_add(json_obj_out, "type", type);
|
||||
if(user) json_obj_out_add(json_obj_out, "user", user);
|
||||
if(pass) json_obj_out_add(json_obj_out, "pass", pass);
|
||||
if(id) json_obj_out_add(json_obj_out, "id", id);
|
||||
if(id) json_obj_out_add(json_obj_out, "ids", id);
|
||||
external_write_pipe_output(json_object_to_json_string(json_obj_out));
|
||||
|
||||
json_object_put(json_obj_out);
|
||||
|
|
@ -338,18 +338,14 @@ int external_change_du_state_uninstall(char *package_name)
|
|||
return 0;
|
||||
}
|
||||
|
||||
int external_apply(char *action, char *arg,...)
|
||||
int external_apply(char *action, char *arg, time_t c)
|
||||
{
|
||||
time_t c = 0;
|
||||
DD(INFO,"executing apply %s", action);
|
||||
|
||||
json_object *json_obj_out;
|
||||
char *id = NULL;
|
||||
|
||||
va_list ap; //création du pointeur
|
||||
va_start(ap,arg);
|
||||
c = (time_t) va_arg(ap,time_t);
|
||||
asprintf(&id, "%ld", c);
|
||||
if (c) asprintf(&id, "%ld", c);
|
||||
|
||||
/* send data to the script */
|
||||
json_obj_out = json_object_new_object();
|
||||
|
|
@ -358,7 +354,7 @@ int external_apply(char *action, char *arg,...)
|
|||
json_obj_out_add(json_obj_out, "action", action);
|
||||
if (arg) json_obj_out_add(json_obj_out, "arg", arg);
|
||||
|
||||
if(id) json_obj_out_add(json_obj_out, "id", id);
|
||||
if(id) json_obj_out_add(json_obj_out, "ids", id);
|
||||
external_write_pipe_output(json_object_to_json_string(json_obj_out));
|
||||
|
||||
json_object_put(json_obj_out);
|
||||
|
|
|
|||
|
|
@ -28,9 +28,9 @@ void external_fetch_uploadFaultResp (char **fault_code);
|
|||
void external_uninstallFaultResp (char *fault_code);
|
||||
void external_fetch_uninstallFaultResp (char **fault);
|
||||
int external_simple(char *command, char *arg);
|
||||
int external_download(char *url, char *size, char *type, char *user, char *pass,...);
|
||||
int external_download(char *url, char *size, char *type, char *user, char *pass,time_t c);
|
||||
int external_upload(char *url, char *type, char *user, char *pass);
|
||||
int external_apply(char *action, char *arg,...);
|
||||
int external_apply(char *action, char *arg,time_t c);
|
||||
int external_change_du_state_uninstall(char *package_name);
|
||||
int external_handle_action(int (*external_handler)(char *msg));
|
||||
void external_add_list_paramameter(char *param_name, char *param_data, char *param_type, char *fault_code);
|
||||
|
|
|
|||
|
|
@ -275,7 +275,7 @@ handle_action() {
|
|||
mv /tmp/icwmp_download /tmp/web_content.ipk 2> /dev/null
|
||||
icwmp_fault_output "" "$FAULT_CPE_NO_FAULT"
|
||||
elif [ "$__arg3" = "3" ];then
|
||||
if [ "$__arg6" != "0" ]; then
|
||||
if [ "$__arg6" != "" ]; then
|
||||
local tmp="/etc/vendor_configuration_file_${__arg6}.cfg"
|
||||
mv /tmp/icwmp_download "$tmp" 2> /dev/null
|
||||
else
|
||||
|
|
@ -318,7 +318,7 @@ handle_action() {
|
|||
fi
|
||||
;;
|
||||
3)
|
||||
if [ "$__arg2" != "0" ]; then
|
||||
if [ "$__arg2" != "" ]; then
|
||||
icwmp_apply_vendor_configuration $__arg2
|
||||
else
|
||||
icwmp_apply_vendor_configuration
|
||||
|
|
@ -404,7 +404,7 @@ handle_action() {
|
|||
json_get_var __arg3 type
|
||||
json_get_var __arg4 user
|
||||
json_get_var __arg5 pass
|
||||
json_get_var __arg6 id
|
||||
json_get_var __arg6 ids
|
||||
action="download"
|
||||
;;
|
||||
du_download)
|
||||
|
|
@ -434,7 +434,7 @@ handle_action() {
|
|||
action="apply_value"
|
||||
elif [ "$action" = "download" ]; then
|
||||
json_get_var __arg1 arg
|
||||
json_get_var __arg2 id
|
||||
json_get_var __arg2 ids
|
||||
action="apply_download"
|
||||
elif [ "$action" = "du_download" ]; then
|
||||
json_get_var __arg1 arg
|
||||
|
|
|
|||
12
xml.c
12
xml.c
|
|
@ -2248,7 +2248,7 @@ int cwmp_launch_download(struct download *pdownload, struct transfer_complete **
|
|||
|
||||
sprintf(file_size,"%d",pdownload->file_size);
|
||||
external_download(pdownload->url, file_size, pdownload->file_type,
|
||||
pdownload->username, pdownload->password);
|
||||
pdownload->username, pdownload->password, 0);
|
||||
external_handle_action(cwmp_handle_downloadFault);
|
||||
external_fetch_downloadFaultResp(&fault_code);
|
||||
|
||||
|
|
@ -2527,7 +2527,7 @@ void *thread_cwmp_rpc_cpe_download (void *v)
|
|||
}
|
||||
bkp_session_insert_transfer_complete(ptransfer_complete);
|
||||
bkp_session_save();
|
||||
external_apply("download", pdownload->file_type);
|
||||
external_apply("download", pdownload->file_type, 0);
|
||||
external_handle_action(cwmp_handle_downloadFault);
|
||||
external_fetch_downloadFaultResp(&fault_code);
|
||||
if(fault_code != NULL)
|
||||
|
|
@ -2789,7 +2789,7 @@ void *thread_cwmp_rpc_cpe_schedule_download (void *v)
|
|||
}
|
||||
bkp_session_insert_transfer_complete(ptransfer_complete);
|
||||
bkp_session_save();
|
||||
external_apply("download", current_download->file_type);
|
||||
external_apply("download", current_download->file_type, 0);
|
||||
external_handle_action(cwmp_handle_downloadFault);
|
||||
external_fetch_downloadFaultResp(&fault_code);
|
||||
if(fault_code != NULL)
|
||||
|
|
@ -3136,7 +3136,7 @@ void *thread_cwmp_rpc_cpe_change_du_state (void *v)
|
|||
res->fault = error;
|
||||
break;
|
||||
}
|
||||
external_apply("du_download", "install");
|
||||
external_apply("du_download", "install", 0);
|
||||
external_handle_action(cwmp_handle_dustate_changeFault);
|
||||
external_fetch_du_change_stateFaultResp(&fault_code, &package_version, &package_name);
|
||||
if(fault_code != NULL)
|
||||
|
|
@ -3311,7 +3311,7 @@ void *thread_cwmp_rpc_cpe_change_du_state (void *v)
|
|||
break;
|
||||
break;
|
||||
}
|
||||
external_apply("du_download", "update");
|
||||
external_apply("du_download", "update", 0);
|
||||
external_handle_action(cwmp_handle_dustate_changeFault);
|
||||
external_fetch_du_change_stateFaultResp(&fault_code, &package_version, &package_name);
|
||||
if(fault_code != NULL)
|
||||
|
|
@ -4447,7 +4447,7 @@ int cwmp_handle_rpc_cpe_schedule_download(struct session *session, struct rpc *r
|
|||
strcmp(file_type,"4 Tone File") &&
|
||||
strcmp(file_type,"5 Ringer File"))
|
||||
{
|
||||
error = FAULT_CPE_REQUEST_DENIED;
|
||||
error = FAULT_CPE_INVALID_ARGUMENTS;
|
||||
}
|
||||
else if((
|
||||
strcmp(windowmode0,"1 At Any Time") &&
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue