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
[email protected]
https://lists.sourceforge.net/lists/listinfo/opensaf-devel