ack, code review only/Thanks Hans

On 10/29/2015 06:24 AM, praveen.malv...@oracle.com wrote:
>   osaf/services/saf/amf/amfd/nodegroup.cc |  10 ++++++++--
>   osaf/services/saf/amf/amfd/util.cc      |   2 +-
>   2 files changed, 9 insertions(+), 3 deletions(-)
>
>
> AMF allows creation of NG with invalid admin state.
>
> Check is missing in CCB completed callback.
>
> Patch adds the required check.
>
> diff --git a/osaf/services/saf/amf/amfd/nodegroup.cc 
> b/osaf/services/saf/amf/amfd/nodegroup.cc
> --- a/osaf/services/saf/amf/amfd/nodegroup.cc
> +++ b/osaf/services/saf/amf/amfd/nodegroup.cc
> @@ -105,6 +105,13 @@ static int is_config_valid(const SaNameT
>               delete tmp_ng;
>               return 0;
>       }
> +     //Check if admin state is valid or not.
> +     if (!avd_admin_state_is_valid(tmp_ng->saAmfNGAdminState)) {
> +             LOG_ER("Incorrect saAmfNGAdminState:'%u' for 
> '%s'",tmp_ng->saAmfNGAdminState,
> +                             tmp_ng->name.value);
> +             delete tmp_ng;
> +             return 0;
> +     }
>       delete tmp_ng;
>       return 1;
>   }
> @@ -159,9 +166,8 @@ static AVD_AMF_NG *ng_create(SaNameT *dn
>       if (immutil_getAttr(const_cast<SaImmAttrNameT>("saAmfNGAdminState"),
>                               attributes, 0, &ng->saAmfNGAdminState) != 
> SA_AIS_OK) {
>                   ng->saAmfNGAdminState = SA_AMF_ADMIN_UNLOCKED;
> -             LOG_NO("Setting saAmfNGAdminState to 
> :'%u'",ng->saAmfNGAdminState);
> +             TRACE("Setting saAmfNGAdminState to 
> :'%u'",ng->saAmfNGAdminState);
>       }
> -     //TODO_NG: Add protection against shutting down state and lock-in state.
>       rc = 0;
>   done:
>       if (rc != 0) {
> diff --git a/osaf/services/saf/amf/amfd/util.cc 
> b/osaf/services/saf/amf/amfd/util.cc
> --- a/osaf/services/saf/amf/amfd/util.cc
> +++ b/osaf/services/saf/amf/amfd/util.cc
> @@ -1285,7 +1285,7 @@ uint32_t avd_snd_comp_validation_resp(AV
>   
>   int avd_admin_state_is_valid(SaAmfAdminStateT state)
>   {
> -     return ((state >= SA_AMF_ADMIN_UNLOCKED) && (state <= 
> SA_AMF_ADMIN_SHUTTING_DOWN));
> +     return ((state >= SA_AMF_ADMIN_UNLOCKED) && (state < 
> SA_AMF_ADMIN_SHUTTING_DOWN));
>   }
>   
>   
> /*****************************************************************************


------------------------------------------------------------------------------
_______________________________________________
Opensaf-devel mailing list
Opensaf-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/opensaf-devel

Reply via email to