osaf/libs/common/immsv/immsv_evt.c | 69 +++-------------------------- osaf/libs/common/immsv/include/immsv_api.h | 9 +++ 2 files changed, 18 insertions(+), 60 deletions(-)
diff --git a/osaf/libs/common/immsv/immsv_evt.c b/osaf/libs/common/immsv/immsv_evt.c --- a/osaf/libs/common/immsv/immsv_evt.c +++ b/osaf/libs/common/immsv/immsv_evt.c @@ -30,11 +30,6 @@ #include "osaf_extended_name.h" #include "saAis.h" -#define IMMSV_MAX_CLASSES 1000 -#define IMMSV_MAX_IMPLEMENTERS 3000 -#define IMMSV_MAX_ADMINOWNERS 2000 -#define IMMSV_MAX_CCBS 10000 - #define IMMSV_RSRV_SPACE_ASSERT(P,B,S) P=ncs_enc_reserve_space(B,S);osafassert(P) #define IMMSV_FLTN_SPACE_ASSERT(P,M,B,S) P=ncs_dec_flatten_space(B,M,S);osafassert(P) @@ -820,7 +815,6 @@ static void immsv_evt_enc_class(NCS_UBAI static uint32_t immsv_evt_dec_class(NCS_UBAID *i_ub, IMMSV_CLASS_LIST **r) { - int depth = 1; uint8_t c8; do { @@ -850,13 +844,7 @@ static uint32_t immsv_evt_dec_class(NCS_ ncs_dec_skip_space(i_ub, 1); r = &((*r)->next); - ++depth; - } while (c8 && (depth < IMMSV_MAX_CLASSES)); - - if (depth >= IMMSV_MAX_CLASSES) { - LOG_ER("TOO MANY classes line: %u", __LINE__); - return NCSCC_RC_OUT_OF_MEM; - } + } while (c8); return NCSCC_RC_SUCCESS; } @@ -918,7 +906,6 @@ static void immsv_evt_enc_impl(NCS_UBAID static uint32_t immsv_evt_dec_impl(NCS_UBAID *i_ub, IMMSV_IMPL_LIST **q) { - int depth = 1; uint8_t c8; do { @@ -950,13 +937,7 @@ static uint32_t immsv_evt_dec_impl(NCS_U ncs_dec_skip_space(i_ub, 1); q = &((*q)->next); - ++depth; - } while (c8 && (depth < IMMSV_MAX_IMPLEMENTERS)); - - if (depth >= IMMSV_MAX_IMPLEMENTERS) { - LOG_ER("TOO MANY implementers line:%u", __LINE__); - return NCSCC_RC_OUT_OF_MEM; - } + } while (c8); return NCSCC_RC_SUCCESS; } @@ -1015,7 +996,6 @@ static uint32_t immsv_evt_enc_admo(NCS_U static uint32_t immsv_evt_dec_admo(NCS_UBAID *i_ub, IMMSV_ADMO_LIST **p) { - int depth = 1; uint8_t c8; do { @@ -1052,13 +1032,7 @@ static uint32_t immsv_evt_dec_admo(NCS_U ncs_dec_skip_space(i_ub, 1); p = &((*p)->next); - ++depth; - } while (c8 && (depth < IMMSV_MAX_ADMINOWNERS)); - - if (depth >= IMMSV_MAX_ADMINOWNERS) { - LOG_ER("TOO MANY Admin Owners"); - return NCSCC_RC_OUT_OF_MEM; - } + } while (c8 ); return NCSCC_RC_SUCCESS; } @@ -1791,61 +1765,38 @@ static uint32_t immsv_evt_enc_sublevels( return immsv_evt_enc_name_list(o_ub, i_evt->info.immnd.info.admReq.objectNames); } else if ((i_evt->info.immnd.type == IMMND_EVT_ND2ND_SYNC_FINALIZE) || (i_evt->info.immnd.type == IMMND_EVT_ND2ND_SYNC_FINALIZE_2)) { - int depth = 0; uint8_t *p8; IMMSV_ADMO_LIST *p = i_evt->info.immnd.info.finSync.adminOwners; - while (p && (depth < IMMSV_MAX_ADMINOWNERS)) { + while (p ) { if (immsv_evt_enc_admo(o_ub, p) != NCSCC_RC_SUCCESS) { return NCSCC_RC_OUT_OF_MEM; } p = p->next; - ++depth; } - if (depth >= IMMSV_MAX_ADMINOWNERS) { - LOG_ER("TOO MANY admin owners line:%u", __LINE__); - return NCSCC_RC_OUT_OF_MEM; - } - - depth = 0; IMMSV_IMPL_LIST *q = i_evt->info.immnd.info.finSync.implementers; - while (q && (depth < IMMSV_MAX_IMPLEMENTERS)) { + while (q ) { immsv_evt_enc_impl(o_ub, q); q = q->next; - ++depth; } - if (depth >= IMMSV_MAX_IMPLEMENTERS) { - LOG_ER("TOO MANY implementers line:%u", __LINE__); - return NCSCC_RC_OUT_OF_MEM; - } - - depth = 0; IMMSV_CLASS_LIST *r = i_evt->info.immnd.info.finSync.classes; - while (r && (depth < IMMSV_MAX_CLASSES)) { + while (r ) { immsv_evt_enc_class(o_ub, r); r = r->next; - ++depth; - } - - if (depth >= IMMSV_MAX_CLASSES) { - LOG_ER("TOO MANY classes line: %u", __LINE__); - return NCSCC_RC_OUT_OF_MEM; } if(i_evt->info.immnd.type == IMMND_EVT_ND2ND_SYNC_FINALIZE_2) { TRACE("Encoding SUB level for IMMND_EVT_ND2ND_SYNC_FINALIZE_2"); - depth = 1; IMMSV_CCB_OUTCOME_LIST* ol = i_evt->info.immnd.info.finSync.ccbResults; /*Encode start marker*/ IMMSV_RSRV_SPACE_ASSERT(p8, o_ub, 1); ncs_encode_8bit(&p8, ol ? 1 : 0); ncs_enc_claim_space(o_ub, 1); - while(ol && (depth < IMMSV_MAX_CCBS)) { - ++depth; + while(ol ) { IMMSV_RSRV_SPACE_ASSERT(p8, o_ub, 4); ncs_encode_32bit(&p8, ol->ccbId); ncs_enc_claim_space(o_ub, 4); @@ -1856,7 +1807,7 @@ static uint32_t immsv_evt_enc_sublevels( ol = ol->next; IMMSV_RSRV_SPACE_ASSERT(p8, o_ub, 1); - ncs_encode_8bit(&p8, (ol && (depth < IMMSV_MAX_CCBS))? 1 : 0); + ncs_encode_8bit(&p8, (ol )? 1 : 0); ncs_enc_claim_space(o_ub, 1); } } @@ -2374,7 +2325,6 @@ static uint32_t immsv_evt_dec_sublevels( } if (o_evt->info.immnd.type == IMMND_EVT_ND2ND_SYNC_FINALIZE_2) { - int depth = 1; uint8_t *p8; uint8_t local_data[8]; uint8_t c8; @@ -2385,7 +2335,7 @@ static uint32_t immsv_evt_dec_sublevels( c8 = ncs_decode_8bit(&p8); ncs_dec_skip_space(i_ub, 1); - while(c8 && (depth < IMMSV_MAX_CCBS)) { + while(c8 ) { IMMSV_CCB_OUTCOME_LIST* ol = (IMMSV_CCB_OUTCOME_LIST *) calloc(1, sizeof(IMMSV_CCB_OUTCOME_LIST)); @@ -2404,7 +2354,6 @@ static uint32_t immsv_evt_dec_sublevels( c8 = ncs_decode_8bit(&p8); ncs_dec_skip_space(i_ub, 1); - ++depth; } } } else if ((o_evt->info.immnd.type == IMMND_EVT_A2ND_SEARCHINIT) || diff --git a/osaf/libs/common/immsv/include/immsv_api.h b/osaf/libs/common/immsv/include/immsv_api.h --- a/osaf/libs/common/immsv/include/immsv_api.h +++ b/osaf/libs/common/immsv/include/immsv_api.h @@ -62,6 +62,10 @@ extern "C" { #define OPENSAF_IMM_ACCESS_CONTROL_MODE "accessControlMode" #define OPENSAF_IMM_AUTHORIZED_GROUP "authorizedGroup" #define OPENSAF_IMM_SC_ABSENCE_ALLOWED "scAbsenceAllowed" +#define OPENSAF_IMMSV_MAX_CLASSES "maxClasses" +#define OPENSAF_IMMSV_MAX_IMPLEMENTERS "maxImplementers" +#define OPENSAF_IMMSV_MAX_ADMINOWNERS "maxAdminowners" +#define OPENSAF_IMMSV_MAX_CCBS "maxCcbs" typedef enum { ACCESS_CONTROL_DISABLED = 0, @@ -80,6 +84,10 @@ typedef enum { #define IMMSV_MAX_PARAM_NAME_LENGTH 256 #define IMMSV_MAX_IMPL_NAME_LENGTH 256 #define IMMSV_MAX_CLASS_NAME_LENGTH 256 +#define IMMSV_MAX_CLASSES 1000 +#define IMMSV_MAX_IMPLEMENTERS 3000 +#define IMMSV_MAX_ADMINOWNERS 2000 +#define IMMSV_MAX_CCBS 10000 /* The pair of magic names for special appliers (#2873) If such an appliers are attached, then the immsv will generate @@ -139,6 +147,7 @@ typedef enum { #define OPENSAF_IMM_FLAG_PRT46_ALLOW 0x00000020 #define OPENSAF_IMM_FLAG_PRT47_ALLOW 0x00000040 #define OPENSAF_IMM_FLAG_PRT50_ALLOW 0x00000080 +#define OPENSAF_IMM_FLAG_PRT51_ALLOW 0x00000100 #define OPENSAF_IMM_SERVICE_NAME "safImmService" ------------------------------------------------------------------------------ What NetFlow Analyzer can do for you? Monitors network bandwidth and traffic patterns at an interface-level. Reveals which users, apps, and protocols are consuming the most bandwidth. Provides multi-vendor support for NetFlow, J-Flow, sFlow and other flows. Make informed decisions using capacity planning reports.http://sdm.link/zohodev2dev _______________________________________________ Opensaf-devel mailing list Opensaf-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/opensaf-devel