Hi Hoang,
ACK for [PATCH 6 of 8] with following minor comment
I think CPND should return SA_AIS_ERR_TOO_BIG = 26 instead of
SA_AIS_ERR_INVALID_PARAM ( please sync-up with other service return
values ).
Note : tested default functionality , LONG DN functionality not tested
in full fledged
-AVM
On 8/18/2016 12:48 PM, Hoang Vo wrote:
> osaf/libs/agents/saf/cpa/cpa_api.c | 12 ++++++++++++
> osaf/libs/agents/saf/cpa/cpa_mds.c | 2 +-
> osaf/libs/common/cpsv/cpsv_evt.c | 1 +
> osaf/services/saf/cpsv/cpd/cpd_proc.c | 2 +-
> osaf/services/saf/cpsv/cpnd/cpnd_evt.c | 2 ++
> osaf/services/saf/cpsv/cpnd/cpnd_proc.c | 2 +-
> 6 files changed, 18 insertions(+), 3 deletions(-)
>
>
> diff --git a/osaf/libs/agents/saf/cpa/cpa_api.c
> b/osaf/libs/agents/saf/cpa/cpa_api.c
> --- a/osaf/libs/agents/saf/cpa/cpa_api.c
> +++ b/osaf/libs/agents/saf/cpa/cpa_api.c
> @@ -880,6 +880,10 @@ SaAisErrorT saCkptCheckpointOpen(SaCkptH
> }
>
> ckpt_name = osaf_extended_name_borrow(checkpointName);
> + if (strlen(ckpt_name) >= kOsafMaxDnLength) {
> + TRACE_LEAVE2("API return code = %u", SA_AIS_ERR_INVALID_PARAM);
> + return SA_AIS_ERR_INVALID_PARAM;
> + }
>
> /* SA_AIS_ERR_INVALID_PARAM, bullet 4 in SAI-AIS-CKPT-B.02.02
> Section 3.6.1 saCkptCheckpointOpen() and
> saCkptCheckpointOpenAsync(), Return Values */
> @@ -1192,6 +1196,10 @@ SaAisErrorT saCkptCheckpointOpenAsync(Sa
> }
>
> ckpt_name = osaf_extended_name_borrow(checkpointName);
> + if (strlen(ckpt_name) >= kOsafMaxDnLength) {
> + TRACE_LEAVE2("API return code = %u", SA_AIS_ERR_INVALID_PARAM);
> + return SA_AIS_ERR_INVALID_PARAM;
> + }
>
> /* SA_AIS_ERR_INVALID_PARAM, bullet 4 in SAI-AIS-CKPT-B.02.02
> Section 3.6.1 saCkptCheckpointOpen() and
> saCkptCheckpointOpenAsync(), Return Values */
> @@ -1597,6 +1605,10 @@ SaAisErrorT saCkptCheckpointUnlink(SaCkp
> }
>
> ckpt_name = osaf_extended_name_borrow(checkpointName);
> + if (strlen(ckpt_name) >= kOsafMaxDnLength) {
> + TRACE_LEAVE2("API return code = %u", SA_AIS_ERR_INVALID_PARAM);
> + return SA_AIS_ERR_INVALID_PARAM;
> + }
>
> /* retrieve CPA CB */
> m_CPA_RETRIEVE_CB(cb);
> diff --git a/osaf/libs/agents/saf/cpa/cpa_mds.c
> b/osaf/libs/agents/saf/cpa/cpa_mds.c
> --- a/osaf/libs/agents/saf/cpa/cpa_mds.c
> +++ b/osaf/libs/agents/saf/cpa/cpa_mds.c
> @@ -515,9 +515,9 @@ static uint32_t cpa_mds_svc_evt(CPA_CB *
> /* Populate & Send the Open Event to CPND */
> memset(&evt, 0, sizeof(CPSV_EVT));
> evt.type = CPSV_EVT_TYPE_CPND;
> - evt.info.cpnd.type = CPND_EVT_A2ND_CKPT_LIST_UPDATE;
> evt.info.cpnd.info.ckptListUpdate.client_hdl =
> lc_node->cl_hdl;
> osaf_extended_name_lend(lc_node->ckpt_name,
> &evt.info.cpnd.info.ckptListUpdate.ckpt_name);
> + evt.info.cpnd.type = CPND_EVT_A2ND_CKPT_LIST_UPDATE;
>
> proc_rc = cpa_mds_msg_send(cb->cpa_mds_hdl,
> &cb->cpnd_mds_dest, &evt, NCSMDS_SVC_ID_CPND);
>
> diff --git a/osaf/libs/common/cpsv/cpsv_evt.c
> b/osaf/libs/common/cpsv/cpsv_evt.c
> --- a/osaf/libs/common/cpsv/cpsv_evt.c
> +++ b/osaf/libs/common/cpsv/cpsv_evt.c
> @@ -2378,6 +2378,7 @@ static uint32_t cpsv_encode_extended_nam
> if(!osaf_is_an_extended_name(name))
> return NCSCC_RC_SUCCESS;
>
> + TRACE("length = %d", name->length);
> SaConstStringT value = osaf_extended_name_borrow(name);
> uint16_t length = osaf_extended_name_length(name);
>
> diff --git a/osaf/services/saf/cpsv/cpd/cpd_proc.c
> b/osaf/services/saf/cpsv/cpd/cpd_proc.c
> --- a/osaf/services/saf/cpsv/cpd/cpd_proc.c
> +++ b/osaf/services/saf/cpsv/cpd/cpd_proc.c
> @@ -61,9 +61,9 @@ uint32_t cpd_noncolloc_ckpt_rep_create(C
> /* Send the Replica create info to CPND */
> memset(&send_evt, 0, sizeof(CPSV_EVT));
> send_evt.type = CPSV_EVT_TYPE_CPND;
> - send_evt.info.cpnd.type = CPND_EVT_D2ND_CKPT_CREATE;
>
> osaf_extended_name_lend(map_info->ckpt_name,
> &send_evt.info.cpnd.info.ckpt_create.ckpt_name);
> + send_evt.info.cpnd.type = CPND_EVT_D2ND_CKPT_CREATE;
>
> d2nd_info = &send_evt.info.cpnd.info.ckpt_create.ckpt_info;
>
> diff --git a/osaf/services/saf/cpsv/cpnd/cpnd_evt.c
> b/osaf/services/saf/cpsv/cpnd/cpnd_evt.c
> --- a/osaf/services/saf/cpsv/cpnd/cpnd_evt.c
> +++ b/osaf/services/saf/cpsv/cpnd/cpnd_evt.c
> @@ -4638,6 +4638,8 @@ uint32_t cpnd_evt_destroy(CPSV_EVT *evt)
> if
> (osaf_is_an_extended_name(&evt->info.cpnd.info.ckptListUpdate.ckpt_name))
> free((void
> *)osaf_extended_name_borrow(&evt->info.cpnd.info.ckptListUpdate.ckpt_name));
> } else if (evt->info.cpnd.type == CPND_EVT_D2ND_CKPT_CREATE) {
> + if (evt->info.cpnd.info.ckpt_create.ckpt_info.dest_list != NULL)
> +
> m_MMGR_FREE_CPSV_SYS_MEMORY(evt->info.cpnd.info.ckpt_create.ckpt_info.dest_list);
> if
> (osaf_is_an_extended_name(&evt->info.cpnd.info.ckpt_create.ckpt_name))
> free((void
> *)osaf_extended_name_borrow(&evt->info.cpnd.info.ckpt_create.ckpt_name));
> }
> diff --git a/osaf/services/saf/cpsv/cpnd/cpnd_proc.c
> b/osaf/services/saf/cpsv/cpnd/cpnd_proc.c
> --- a/osaf/services/saf/cpsv/cpnd/cpnd_proc.c
> +++ b/osaf/services/saf/cpsv/cpnd/cpnd_proc.c
> @@ -2529,9 +2529,9 @@ void cpnd_proc_ckpt_info_update(CPND_CB
> LOG_NO("cpnd_proc_update_cpd_data::ckpt_name = %s[%llu]",
> (char*)ckpt_node->ckpt_name,
> ckpt_node->ckpt_id);
> send_evt.type = CPSV_EVT_TYPE_CPD;
> - send_evt.info.cpd.type = CPD_EVT_ND2D_CKPT_INFO_UPDATE;
> send_evt.info.cpd.info.ckpt_info.ckpt_id = ckpt_node->ckpt_id;
> osaf_extended_name_lend(ckpt_node->ckpt_name,
> &send_evt.info.cpd.info.ckpt_info.ckpt_name);
> + send_evt.info.cpd.type = CPD_EVT_ND2D_CKPT_INFO_UPDATE;
> send_evt.info.cpd.info.ckpt_info.attributes =
> ckpt_node->create_attrib;
> send_evt.info.cpd.info.ckpt_info.ckpt_flags =
> ckpt_node->open_flags;
> send_evt.info.cpd.info.ckpt_info.num_users =
> ckpt_node->ckpt_lcl_ref_cnt;
------------------------------------------------------------------------------
_______________________________________________
Opensaf-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/opensaf-devel