Ack from me. /AndersBj
-----Original Message----- From: Zoran Milinkovic Sent: den 2 oktober 2014 22:53 To: Anders Björnerstedt Cc: [email protected] Subject: [PATCH 1 of 1] imm: set SA_ENABLE_EXTENDED_NAMES in immnd [#1124] osaf/services/saf/immsv/config/immnd.conf | 3 --- osaf/services/saf/immsv/immnd/ImmModel.cc | 17 ++++++++--------- osaf/services/saf/immsv/immnd/immnd_main.c | 5 +++++ 3 files changed, 13 insertions(+), 12 deletions(-) Removed SA_ENABLE_EXTENDED_NAMES from immnd.conf, and set in immnd in main(). diff --git a/osaf/services/saf/immsv/config/immnd.conf b/osaf/services/saf/immsv/config/immnd.conf --- a/osaf/services/saf/immsv/config/immnd.conf +++ b/osaf/services/saf/immsv/config/immnd.conf @@ -69,8 +69,5 @@ export IMMSV_MAX_WAIT=3 # Healthcheck keys export IMMSV_ENV_HEALTHCHECK_KEY="Default" -# Uncomment the next line to enable support for extended names -#export SA_ENABLE_EXTENDED_NAMES=1 - # Uncomment the next line to enable info level logging #args="--loglevel=info" diff --git a/osaf/services/saf/immsv/immnd/ImmModel.cc b/osaf/services/saf/immsv/immnd/ImmModel.cc --- a/osaf/services/saf/immsv/immnd/ImmModel.cc +++ b/osaf/services/saf/immsv/immnd/ImmModel.cc @@ -3050,7 +3050,7 @@ ImmModel::classCreate(const ImmsvOmClass if(attr->attrValueType == SA_IMM_ATTR_SANAMET) { immsv_edu_attr_val* v = attr->attrDefaultValue; - if(!(osaf_is_extended_names_enabled() && getLongDnsAllowed()) + if(!getLongDnsAllowed() && v->val.x.size >= SA_MAX_UNEXTENDED_NAME_LENGTH) { LOG_NO("ERR_LIBRARY: attr '%s' of type SaNameT is too long:%u. " "Extended names is not enabled", @@ -6572,7 +6572,7 @@ SaAisErrorT ImmModel::ccbObjectCreate(Im bool rdnAttFound=false; bool isAugAdmo=false; bool isSpecialApplForClass=false; - bool longDnsPermitted = osaf_is_extended_names_enabled() && getLongDnsAllowed(); + bool longDnsPermitted = getLongDnsAllowed(); ObjectSet refObjectSet; @@ -7661,7 +7661,7 @@ ImmModel::ccbObjectModify(const ImmsvOmC bool chainedOp = false; immsv_attr_mods_list* p = req->attrMods; bool modifiedNotifyAttr=false; - bool longDnsPermitted = osaf_is_extended_names_enabled() && getLongDnsAllowed(); + bool longDnsPermitted = getLongDnsAllowed(); ObjectNameSet afimPreOpNDRefs; // Set of NO_DANGLING references from after image before CCB operation bool hasNoDanglingRefs = false; @@ -8325,11 +8325,10 @@ ImmModel::ccbObjectModify(const ImmsvOmC For opensafImmSyncBatchSize we accept anything. */ - bool longDnsAllowedBefore = getLongDnsAllowed(); bool longDnsAllowedAfter = getLongDnsAllowed(afim); /* Check if *this* ccb is attempting to alter longDnsAllowed.*/ - if(longDnsAllowedBefore != longDnsAllowedAfter) { + if(longDnsPermitted != longDnsAllowedAfter) { if(ccbIdLongDnGuard) { /* This case should never happen since it is guarded by regular ccb handling. */ setCcbErrorString(ccb, "ERR_BUSY: Other Ccb (%u) already using %s", @@ -8548,7 +8547,7 @@ ImmModel::ccbObjectDelete(const ImmsvOmC ObjectMap::iterator oi, oi2; ObjectInfo* deleteRoot=NULL; - if(!(osaf_is_extended_names_enabled() && getLongDnsAllowed()) + if(!getLongDnsAllowed() && sz >= SA_MAX_UNEXTENDED_NAME_LENGTH) { LOG_NO("ERR_NAME_TOO_LONG: Object name is too long. " "Not allowed by IMM service or extended names are disabled"); @@ -13558,7 +13557,7 @@ ImmModel::rtObjectCreate(struct ImmsvOmC bool nameCorrected = false; bool rdnAttFound=false; bool isSpecialApplForClass=false; - bool longDnsPermitted = osaf_is_extended_names_enabled() && getLongDnsAllowed(); + bool longDnsPermitted = getLongDnsAllowed(); /*Should rename member adminOwnerId. Used to store implid here.*/ ImplementerInfo* info = findImplementer(req->adminOwnerId); @@ -13786,7 +13785,7 @@ ImmModel::rtObjectCreate(struct ImmsvOmC objectName.append(parentName); } - if (objectName.size() > ((longDnsPermitted) ? kOsafMaxDnLength : (SA_MAX_UNEXTENDED_NAME_LENGTH -1))) { + if (objectName.size() > ((longDnsPermitted) ? kOsafMaxDnLength : + (SA_MAX_UNEXTENDED_NAME_LENGTH - 1))) { TRACE_7("ERR_NAME_TOO_LONG: DN is too long, size:%u, max size is:%u", (unsigned int) objectName.size(), kOsafMaxDnLength); err = SA_AIS_ERR_NAME_TOO_LONG; @@ -14821,7 +14820,7 @@ ImmModel::rtObjectUpdate(const ImmsvOmCc ImplementerInfo* info = NULL; bool wasLocal = *isPureLocal; bool isSyncClient = (sImmNodeState == IMM_NODE_W_AVAILABLE); - bool longDnsPermitted = osaf_is_extended_names_enabled() && getLongDnsAllowed(); + bool longDnsPermitted = getLongDnsAllowed(); if(wasLocal) {osafassert(conn);} if (objectName.empty()) { diff --git a/osaf/services/saf/immsv/immnd/immnd_main.c b/osaf/services/saf/immsv/immnd/immnd_main.c --- a/osaf/services/saf/immsv/immnd/immnd_main.c +++ b/osaf/services/saf/immsv/immnd/immnd_main.c @@ -261,6 +261,11 @@ int main(int argc, char *argv[]) daemonize(argc, argv); + if(setenv("SA_ENABLE_EXTENDED_NAMES", "1", 1)) { + LOG_ER("failed to set SA_ENABLE_EXTENDED_NAMES"); + goto done; + } + if (immnd_initialize(argv[0]) != NCSCC_RC_SUCCESS) { LOG_ER("initialize_immd failed"); goto done; ------------------------------------------------------------------------------ Meet PCI DSS 3.0 Compliance Requirements with EventLog Analyzer Achieve PCI DSS 3.0 Compliant Status with Out-of-the-box PCI DSS Reports Are you Audit-Ready for PCI DSS 3.0 Compliance? Download White paper Comply to PCI DSS 3.0 Requirement 10 and 11.5 with EventLog Analyzer http://pubads.g.doubleclick.net/gampad/clk?id=154622311&iu=/4140/ostg.clktrk _______________________________________________ Opensaf-devel mailing list [email protected] https://lists.sourceforge.net/lists/listinfo/opensaf-devel
