From: Chris B. <buc...@us...> - 2012-03-15 20:54:05
|
Update of /cvsroot/sblim/sfcb In directory vz-cvs-3.sog:/tmp/cvs-serv3219 Modified Files: brokerUpc.c ChangeLog NEWS Log Message: [ 3504607 ] CMPIRole Support in brokerUpc Index: NEWS =================================================================== RCS file: /cvsroot/sblim/sfcb/NEWS,v retrieving revision 1.664 retrieving revision 1.665 diff -u -d -r1.664 -r1.665 --- NEWS 12 Mar 2012 22:30:52 -0000 1.664 +++ NEWS 15 Mar 2012 20:54:03 -0000 1.665 @@ -55,6 +55,7 @@ - 3471814 segfault in objectImpl.c:131,ClObjectGetClString - 3499930 Check file repository writes - 3497209 oom panic: out of memory using fsp indprovider +- 3504607 CMPIRole Support in brokerUpc Changes in 1.3.13 ================= Index: brokerUpc.c =================================================================== RCS file: /cvsroot/sblim/sfcb/brokerUpc.c,v retrieving revision 1.38 retrieving revision 1.39 diff -u -d -r1.38 -r1.39 --- brokerUpc.c 12 Mar 2012 22:30:52 -0000 1.38 +++ brokerUpc.c 15 Mar 2012 20:54:03 -0000 1.39 @@ -263,6 +263,15 @@ binCtx->chunkedMode = 0; } +static char* getRole(const CMPIContext * context) +{ + CMPIStatus st = {0, NULL}; + CMPIData roledata = CMGetContextEntry(context, "CMPIRole", &st); + if (st.rc == CMPI_RC_OK) + return CMGetCharPtr(roledata.value.string); + else + return NULL; +} static void cpyResult(CMPIResult *result, CMPIArray *ar, int *c) { CMPIArray *r; @@ -507,10 +516,12 @@ sreqSize+=sizeof(MsgSegment); } sreq=(GetInstanceReq*)calloc(1,sreqSize); - sreq->hdr.count=ps+2; + sreq->hdr.count=ps+GI_REQ_REG_SEGMENTS; sreq->hdr.operation=OPS_GetInstance; setContext(&binCtx, &oHdr, &sreq->hdr, sreqSize, context, cop, NULL, NULL); + sreq->userRole = setCharsMsgSegment(getRole(context)); + _SFCB_TRACE(1,("--- for %s %s",(char*)oHdr.nameSpace.data,(char*)oHdr.className.data)); checkReroute(broker, context, &oHdr); @@ -605,7 +616,7 @@ _SFCB_TRACE(1,("--- for %s %s",(char*)oHdr.nameSpace.data,(char*)oHdr.className.data)); sreq.instance = setInstanceMsgSegment(inst); - sreq.userRole = setCharsMsgSegment(NULL); + sreq.userRole = setCharsMsgSegment(getRole(context)); checkReroute(broker, context, &oHdr); @@ -688,12 +699,13 @@ for (ps=0,p=props; p && *p; p++,ps++) sreqSize+=sizeof(MsgSegment); sreq=(ModifyInstanceReq*)calloc(1,sreqSize); - sreq->hdr.count=ps+3; + sreq->hdr.count=ps+MI_REQ_REG_SEGMENTS; sreq->hdr.operation=OPS_ModifyInstance; - sreq->userRole = setCharsMsgSegment(NULL); setContext(&binCtx, &oHdr, &sreq->hdr, sreqSize, context, cop, NULL, NULL); _SFCB_TRACE(1,("--- for %s %s",(char*)oHdr.nameSpace.data,(char*)oHdr.className.data)); + sreq->userRole = setCharsMsgSegment(getRole(context)); + // fprintf(stderr, "brokerUpc MI: CMPIRole is \"%s\"\n", CMGetCharPtr(roledata.value.string)); checkReroute(broker, context, &oHdr); @@ -764,7 +776,7 @@ setContext(&binCtx, &oHdr, &sreq.hdr, sizeof(sreq), context, cop, NULL, NULL); _SFCB_TRACE(1,("--- for %s %s",(char*)oHdr.nameSpace.data,(char*)oHdr.className.data)); - sreq.userRole = setCharsMsgSegment(NULL); + sreq.userRole = setCharsMsgSegment(getRole(context)); checkReroute(broker, context, &oHdr); @@ -834,7 +846,7 @@ sreq.query = setCharsMsgSegment(query); sreq.queryLang = setCharsMsgSegment(lang); - sreq.userRole = setCharsMsgSegment(NULL); + sreq.userRole = setCharsMsgSegment(getRole(context)); irc = getProviderContext(&binCtx, &oHdr); @@ -903,7 +915,7 @@ { EnumInstancesReq sreq = BINREQ(OPS_EnumerateInstances, EI_REQ_REG_SEGMENTS); OperationHdr oHdr = { OPS_EnumerateInstances, 2 }; - sreq.userRole = setCharsMsgSegment(NULL); + sreq.userRole = setCharsMsgSegment(getRole(context)); return genericEnumRequest(broker, context, cop, props, NULL, NULL, NULL, NULL, OPS_EnumerateInstances, &sreq.hdr, &oHdr, @@ -916,7 +928,7 @@ { EnumInstanceNamesReq sreq = BINREQ(OPS_EnumerateInstanceNames, EIN_REQ_REG_SEGMENTS); OperationHdr oHdr = { OPS_EnumerateInstanceNames, 2 }; - sreq.userRole = setCharsMsgSegment(NULL); + sreq.userRole = setCharsMsgSegment(getRole(context)); return genericEnumRequest(broker, context, cop, NULL, NULL, NULL, NULL, NULL, OPS_EnumerateInstanceNames, &sreq.hdr, &oHdr, @@ -947,7 +959,7 @@ sreq.role = setCharsMsgSegment(role); sreq.assocClass = setCharsMsgSegment(assocclass); sreq.resultRole = setCharsMsgSegment(resultrole); - sreq.userRole = setCharsMsgSegment(NULL); + sreq.userRole = setCharsMsgSegment(getRole(context)); return genericEnumRequest(broker, context, cop, props, assocclass, resultclass, role, resultrole, OPS_Associators, @@ -970,7 +982,7 @@ sreq.role = setCharsMsgSegment(role); sreq.assocClass = setCharsMsgSegment(assocclass); sreq.resultRole = setCharsMsgSegment(resultrole); - sreq.userRole = setCharsMsgSegment(NULL); + sreq.userRole = setCharsMsgSegment(getRole(context)); return genericEnumRequest(broker, context, cop, NULL, assocclass, resultclass, role, resultrole, OPS_AssociatorNames, &sreq.hdr, &oHdr, @@ -989,7 +1001,7 @@ sreq.role = setCharsMsgSegment(role); sreq.resultClass = setCharsMsgSegment(resultclass); - sreq.userRole = setCharsMsgSegment(NULL); + sreq.userRole = setCharsMsgSegment(getRole(context)); return genericEnumRequest(broker, context, cop, props, NULL, resultclass, role, NULL, OPS_References, @@ -1007,7 +1019,7 @@ sreq.role = setCharsMsgSegment(role); sreq.resultClass = setCharsMsgSegment(resultclass); - sreq.userRole = setCharsMsgSegment(NULL); + sreq.userRole = setCharsMsgSegment(getRole(context)); return genericEnumRequest(broker, context, cop, NULL, NULL, resultclass, role, NULL, OPS_ReferenceNames, &sreq.hdr, &oHdr, @@ -1065,8 +1077,7 @@ sreq->in = setArgsMsgSegment(in); sreq->out = setArgsMsgSegment(NULL); sreq->method = setCharsMsgSegment(method); - sreq->userRole = setCharsMsgSegment(NULL); - + sreq->userRole = setCharsMsgSegment(getRole(context)); if (x) for (n=IM_REQ_REG_SEGMENTS,i=0,s=CMGetArgCount(in,NULL); i<s; i++) { CMPIData d=CMGetArgAt(in,i,NULL,NULL); Index: ChangeLog =================================================================== RCS file: /cvsroot/sblim/sfcb/ChangeLog,v retrieving revision 1.742 retrieving revision 1.743 diff -u -d -r1.742 -r1.743 --- ChangeLog 13 Mar 2012 15:10:49 -0000 1.742 +++ ChangeLog 15 Mar 2012 20:54:03 -0000 1.743 @@ -1,3 +1,8 @@ +2012-03-15 Chris Buccella <buc...@li...> + + * brokerUpc.c: + [ 3504607 ] CMPIRole Support in brokerUpc + 2012-03-13 Chris Buccella <buc...@li...> * httpAdapter.c: |