Commit ce51fcd3 authored by Claes Sjofors's avatar Claes Sjofors

XNav: Enum and masks could be changed without access check

parent e99e56fa
...@@ -1812,12 +1812,22 @@ int XNav::brow_cb( FlowCtx *ctx, flow_tEvent event) ...@@ -1812,12 +1812,22 @@ int XNav::brow_cb( FlowCtx *ctx, flow_tEvent event)
(xnav->change_value_cb)( xnav->parent_ctx); (xnav->change_value_cb)( xnav->parent_ctx);
break; break;
case xnav_eItemType_Enum: case xnav_eItemType_Enum:
if ( xnav->gbl.advanced_user) if ( xnav->gbl.advanced_user) {
if ( !xnav->is_authorized(pwr_mAccess_RtWrite | pwr_mAccess_System)) {
xnav->message('E', "No write access");
break;
}
((ItemEnum *)item)->set_value(); ((ItemEnum *)item)->set_value();
}
break; break;
case xnav_eItemType_Mask: case xnav_eItemType_Mask:
if ( xnav->gbl.advanced_user) if ( xnav->gbl.advanced_user) {
if ( !xnav->is_authorized(pwr_mAccess_RtWrite | pwr_mAccess_System)) {
xnav->message('E', "No write access");
break;
}
((ItemMask *)item)->toggle_value(); ((ItemMask *)item)->toggle_value();
}
break; break;
default: default:
sts = item->open_children( xnav->brow, 0, 0); sts = item->open_children( xnav->brow, 0, 0);
...@@ -2022,10 +2032,18 @@ int XNav::brow_cb( FlowCtx *ctx, flow_tEvent event) ...@@ -2022,10 +2032,18 @@ int XNav::brow_cb( FlowCtx *ctx, flow_tEvent event)
brow_GetUserData( event->object.object, (void **)&item); brow_GetUserData( event->object.object, (void **)&item);
switch( item->type) { switch( item->type) {
case xnav_eItemType_Enum: case xnav_eItemType_Enum:
if ( !xnav->is_authorized(pwr_mAccess_RtWrite | pwr_mAccess_System)) {
xnav->message('E', "No write access");
break;
}
if ( !event->radiobutton.value) if ( !event->radiobutton.value)
((ItemEnum *)item)->set_value(); ((ItemEnum *)item)->set_value();
break; break;
case xnav_eItemType_Mask: case xnav_eItemType_Mask:
if ( !xnav->is_authorized(pwr_mAccess_RtWrite | pwr_mAccess_System)) {
xnav->message('E', "No write access");
break;
}
((ItemMask *)item)->set_value( !event->radiobutton.value); ((ItemMask *)item)->set_value( !event->radiobutton.value);
break; break;
default: default:
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment