fix some issues

This commit is contained in:
Mohamed Kallel 2013-09-25 17:56:42 +01:00 committed by Strhuan Blomquist
parent 08aae92543
commit 003a7aa2ce
4 changed files with 24 additions and 11 deletions

View file

@ -481,6 +481,7 @@ handle_action() {
for i in `seq 0 $n`
do
local parm=`/sbin/uci ${UCI_CONFIG_DIR:+-c $UCI_CONFIG_DIR} -q -P /var/state get cwmp.@fault[$i].parameter 2> /dev/null`
parm=${parm#-}
local fault_code=`/sbin/uci ${UCI_CONFIG_DIR:+-c $UCI_CONFIG_DIR} -q -P /var/state get cwmp.@fault[$i].fault_code 2> /dev/null`
freecwmp_fault_output "$parm" "$fault_code"
if [ "$action" = "apply_notification" ]; then break; fi

View file

@ -423,12 +423,12 @@ EOF
}
freecwmp_set_parameter_fault() {
local _parm="$1"
local _parm="-$1"
local _fault="$2"
/sbin/uci ${UCI_CONFIG_DIR:+-c $UCI_CONFIG_DIR} -q -P /var/state batch << EOF 2>&1 >/dev/null
add cwmp fault
set cwmp.@fault[-1].parameter="$_parm"
set cwmp.@fault[-1].fault_code="$_fault"
/sbin/uci ${UCI_CONFIG_DIR:+-c $UCI_CONFIG_DIR} -q -P /var/state batch << EOF 2>&1 >/dev/null
add cwmp fault
set cwmp.@fault[-1].parameter="$_parm"
set cwmp.@fault[-1].fault_code="$_fault"
EOF
}
@ -686,12 +686,16 @@ get_param_name_generic() {
if [ "$next_level" = "0" ]; then
eval '$cmd'
else
local len=${#parameter}
let len--
if [ "${parameter:$len:1}" != "." ]; then
return $FAULT_CPE_INVALID_ARGUMENTS
if [ "$parameter" != "" ]; then
local len=${#parameter}
let len--
if [ "${parameter:$len:1}" != "." ]; then
return $FAULT_CPE_INVALID_ARGUMENTS
fi
eval '$cmd' | grep -v "$parameter[A-Za-z_0-9]\+\.[A-Za-z_0-9]" | grep -v "\"$parameter\""
else
eval '$cmd' | grep -v "$parameter[A-Za-z_0-9]\+\.[A-Za-z_0-9]"
fi
eval '$cmd' | grep -v "$parameter[A-Za-z_0-9]\+\.[A-Za-z_0-9]"
fi
fi

View file

@ -312,7 +312,9 @@ get_cache_InternetGatewayDevice_WANDevice() {
prev_wan="$wan"
prev_dev="$dev"
done
get_wandevice_dev_parent_objects "$prev_dev" "$dev_notif_permission"
if [ "$prev_dev" != "" ]; then
get_wandevice_dev_parent_objects "$prev_dev" "$dev_notif_permission"
fi
}
get_dynamic_InternetGatewayDevice_WANDevice() {

6
xml.c
View file

@ -1731,6 +1731,12 @@ int cwmp_handle_rpc_cpe_schedule_inform(struct session *session, struct rpc *rpc
b = mxmlWalkNext(b, session->body_in, MXML_DESCEND);
}
if (delay_seconds <= 0) {
fault = FAULT_CPE_INVALID_ARGUMENTS;
pthread_mutex_unlock (&mutex_schedule_inform);
goto fault;
}
if(count_schedule_inform_queue>=MAX_SCHEDULE_INFORM_QUEUE)
{
fault = FAULT_CPE_RESOURCES_EXCEEDED;