|
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:
|