You can subscribe to this list here.
2005 |
Jan
|
Feb
(1) |
Mar
(45) |
Apr
(150) |
May
(145) |
Jun
(150) |
Jul
(79) |
Aug
(313) |
Sep
(160) |
Oct
(309) |
Nov
(115) |
Dec
(60) |
---|---|---|---|---|---|---|---|---|---|---|---|---|
2006 |
Jan
(160) |
Feb
(144) |
Mar
(127) |
Apr
(48) |
May
(102) |
Jun
(54) |
Jul
(245) |
Aug
(94) |
Sep
(152) |
Oct
(162) |
Nov
(166) |
Dec
(740) |
2007 |
Jan
(752) |
Feb
(437) |
Mar
(328) |
Apr
(373) |
May
(569) |
Jun
(399) |
Jul
(369) |
Aug
(627) |
Sep
(100) |
Oct
(306) |
Nov
(166) |
Dec
(282) |
2008 |
Jan
(68) |
Feb
(145) |
Mar
(180) |
Apr
(160) |
May
(277) |
Jun
(229) |
Jul
(1188) |
Aug
(51) |
Sep
(97) |
Oct
(99) |
Nov
(95) |
Dec
(170) |
2009 |
Jan
(39) |
Feb
(73) |
Mar
(120) |
Apr
(121) |
May
(104) |
Jun
(262) |
Jul
(57) |
Aug
(171) |
Sep
(131) |
Oct
(88) |
Nov
(64) |
Dec
(83) |
2010 |
Jan
(55) |
Feb
(67) |
Mar
(124) |
Apr
(64) |
May
(130) |
Jun
(75) |
Jul
(164) |
Aug
(64) |
Sep
(44) |
Oct
(17) |
Nov
(43) |
Dec
(31) |
2011 |
Jan
(21) |
Feb
(10) |
Mar
(43) |
Apr
(46) |
May
(52) |
Jun
(71) |
Jul
(7) |
Aug
(16) |
Sep
(51) |
Oct
(14) |
Nov
(33) |
Dec
(15) |
2012 |
Jan
(12) |
Feb
(61) |
Mar
(129) |
Apr
(76) |
May
(70) |
Jun
(52) |
Jul
(29) |
Aug
(41) |
Sep
(32) |
Oct
(23) |
Nov
(38) |
Dec
(26) |
2013 |
Jan
(35) |
Feb
(37) |
Mar
(51) |
Apr
(15) |
May
(52) |
Jun
(15) |
Jul
(23) |
Aug
(21) |
Sep
(46) |
Oct
(69) |
Nov
(57) |
Dec
(26) |
2014 |
Jan
(5) |
Feb
(13) |
Mar
(17) |
Apr
(1) |
May
(5) |
Jun
|
Jul
(2) |
Aug
(2) |
Sep
(1) |
Oct
(16) |
Nov
(8) |
Dec
(4) |
2015 |
Jan
|
Feb
|
Mar
|
Apr
(1) |
May
(1) |
Jun
(4) |
Jul
|
Aug
(2) |
Sep
|
Oct
|
Nov
|
Dec
|
2016 |
Jan
|
Feb
|
Mar
|
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
(1) |
Nov
|
Dec
|
From: Chris B. <buc...@us...> - 2012-03-16 19:07:56
|
Update of /cvsroot/sblim/sfcb In directory vz-cvs-3.sog:/tmp/cvs-serv11501 Modified Files: cimXmlRequest.c ChangeLog NEWS Log Message: [ 3506306 ] Fix count for InvokeMethod requests Index: NEWS =================================================================== RCS file: /cvsroot/sblim/sfcb/NEWS,v retrieving revision 1.665 retrieving revision 1.666 diff -u -d -r1.665 -r1.666 --- NEWS 15 Mar 2012 20:54:03 -0000 1.665 +++ NEWS 16 Mar 2012 19:07:53 -0000 1.666 @@ -56,6 +56,7 @@ - 3499930 Check file repository writes - 3497209 oom panic: out of memory using fsp indprovider - 3504607 CMPIRole Support in brokerUpc +- 3506306 Fix count for InvokeMethod requests Changes in 1.3.13 ================= Index: cimXmlRequest.c =================================================================== RCS file: /cvsroot/sblim/sfcb/cimXmlRequest.c,v retrieving revision 1.66 retrieving revision 1.67 diff -u -d -r1.66 -r1.67 --- cimXmlRequest.c 12 Mar 2012 22:30:52 -0000 1.66 +++ cimXmlRequest.c 16 Mar 2012 19:07:53 -0000 1.67 @@ -1552,7 +1552,7 @@ _SFCB_ENTER(TRACE_CIMXMLPROC, "execQuery"); CMPIObjectPath *path; - ExecQueryReq sreq = BINREQ(OPS_ExecQuery, 4); + ExecQueryReq sreq = BINREQ(OPS_ExecQuery, EQ_REQ_REG_SEGMENTS); int irc, l = 0, err = 0; BinResponseHdr **resp; BinRequestContext binCtx; @@ -2119,7 +2119,7 @@ BinRequestContext binCtx; BinResponseHdr *resp; RespSegments rsegs; - InvokeMethodReq sreq = BINREQ(OPS_InvokeMethod, 5); + InvokeMethodReq sreq = BINREQ(OPS_InvokeMethod, IM_REQ_REG_SEGMENTS); CMPIArgs *in=TrackedCMPIArgs(NULL); XtokParamValue *p; CMPIStatus st = {CMPI_RC_OK, NULL}; @@ -2189,6 +2189,8 @@ _SFCB_TRACE(1, ("--- Provider context gotten")); if (irc == MSG_X_PROVIDER) { + fprintf(stderr, "cimXmlRequest: before invokeProvider, ctx.role is \"%s\"\n", ctx->role); + RespSegments rs; resp = invokeProvider(&binCtx); closeProviderContext(&binCtx); Index: ChangeLog =================================================================== RCS file: /cvsroot/sblim/sfcb/ChangeLog,v retrieving revision 1.743 retrieving revision 1.744 diff -u -d -r1.743 -r1.744 --- ChangeLog 15 Mar 2012 20:54:03 -0000 1.743 +++ ChangeLog 16 Mar 2012 19:07:53 -0000 1.744 @@ -1,3 +1,8 @@ +2012-03-16 Chris Buccella <buc...@li...> + + * cimXmlRequest.c: + [ 3506306 ] Fix count for InvokeMethod requests + 2012-03-15 Chris Buccella <buc...@li...> * brokerUpc.c: |
From: Dave B. <bla...@us...> - 2012-03-16 11:36:14
|
Update of /cvsroot/sblim/jsr48-client/src In directory vz-cvs-3.sog:/tmp/cvs-serv16290/src Modified Files: Tag: Experimental overview.html Log Message: 3505681 - Add detailed release history HTML Index: overview.html =================================================================== RCS file: /cvsroot/sblim/jsr48-client/src/overview.html,v retrieving revision 1.9.2.11 retrieving revision 1.9.2.12 diff -u -d -r1.9.2.11 -r1.9.2.12 --- overview.html 4 Jan 2012 15:48:51 -0000 1.9.2.11 +++ overview.html 16 Mar 2012 11:36:11 -0000 1.9.2.12 @@ -21,6 +21,7 @@ * 2799260 2009-06-01 raman_arora Fix left over @author tag from Java5 upgrade * 3001243 2010-05-13 blaschke-oss Overview HTML out of date * 3469427 2012-01-04 blaschke-oss Fix broken HTML links + * 3505681 2012-03-16 blaschke-oss Add detailed release history HTML --> </head> <body style="background-color: white;"> @@ -60,6 +61,7 @@ <h2>Deep dive documents</h2> <ul> + <li><em><a href="org/sblim/cimclient/doc-files/history.html">Release history</a></em>: Details of SBLIM CIM Client for Java's release history including new features and disruptive changes.</li> <li><em><a href="org/sblim/cimclient/doc-files/bestpractise.html">Best practices</a></em>: Best practices for using the SBLIM CIM Client for Java.</li> <li><em><a href="org/sblim/cimclient/doc-files/embedded.html">Embedded Objects</a></em>: Details of the embedded object support.</li> <li><em><a href="org/sblim/cimclient/doc-files/unittest.html">Unit Test Coverage</a></em>: What is covered by our unit tests.</li> @@ -70,7 +72,7 @@ We support JREs from IBM and SUN release 1.5.x/1.6.x. In principal it should run on any platform offering a supported JRE. The library is tested on Windows on x86 systems and on Linux on x86 and POWER systems. Our exploiters -operate it it with success on zLinux and AIX. +operate it with success on zLinux and AIX. <a id="buildtime" name="buildtime" /> <h2>Build Time Requirements</h2> |
From: Dave B. <bla...@us...> - 2012-03-16 10:58:42
|
Update of /cvsroot/sblim/jsr48-client/src/org/sblim/cimclient/internal/cimxml/sax/node In directory vz-cvs-3.sog:/tmp/cvs-serv13593/src/org/sblim/cimclient/internal/cimxml/sax/node Modified Files: Tag: Experimental ClassNode.java Log Message: 3500619 - JSR48 1.0.0: CIMClass association/key clean up Index: ClassNode.java =================================================================== RCS file: /cvsroot/sblim/jsr48-client/src/org/sblim/cimclient/internal/cimxml/sax/node/ClassNode.java,v retrieving revision 1.1.2.10 retrieving revision 1.1.2.11 diff -u -d -r1.1.2.10 -r1.1.2.11 --- ClassNode.java 1 Jun 2009 17:01:10 -0000 1.1.2.10 +++ ClassNode.java 16 Mar 2012 10:58:40 -0000 1.1.2.11 @@ -1,5 +1,5 @@ /** - * (C) Copyright IBM Corp. 2006, 2009 + * (C) Copyright IBM Corp. 2006, 2012 * * THIS FILE IS PROVIDED UNDER THE TERMS OF THE ECLIPSE PUBLIC LICENSE * ("AGREEMENT"). ANY USE, REPRODUCTION OR DISTRIBUTION OF THIS FILE @@ -19,8 +19,9 @@ * 1783288 2007-09-10 ebak CIMClass.isAssociation() not working for retrieved classes. * 2003590 2008-06-30 blaschke-oss Change licensing from CPL to EPL * 2524131 2009-01-21 raman_arora Upgrade client to JDK 1.5 (Phase 1) - * 2531371 2009-02-10 raman_arora Upgrade client to JDK 1.5 (Phase 2) + * 2531371 2009-02-10 raman_arora Upgrade client to JDK 1.5 (Phase 2) * 2797550 2009-06-01 raman_arora JSR48 compliance - add Java Generics + * 3500619 2012-03-16 blaschke-oss JSR48 1.0.0: CIMClass association/key clean up */ package org.sblim.cimclient.internal.cimxml.sax.node; @@ -72,6 +73,7 @@ this.iLocalPath = pSession.getDefLocalPath(); this.iQualiHandler = QualifiedNodeHandler.init(this.iQualiHandler); this.iCIMClassPropAL = GenericExts.initClearArrayList(this.iCIMClassPropAL); + this.iKeyed = false; this.iCIMMethodAL = GenericExts.initClearArrayList(this.iCIMMethodAL); this.iName = getCIMName(pAttribs); this.iSuperClass = pAttribs.getValue("SUPERCLASS"); // not mandatory @@ -146,8 +148,7 @@ public CIMClass getCIMClass(CIMObjectPath pObjPath) { return new CIMClass(pObjPath, this.iSuperClass, this.iQualiHandler.getQualis(), this.iCIMClassPropAL.toArray(EMPTY_PA), this.iCIMMethodAL.toArray(EMPTY_MA), - // FIXME: How about this isAssociation flag? - false, false); + this.iQualiHandler.isAssociation(), this.iKeyed); } /** |
From: Chris B. <buc...@us...> - 2012-03-15 21:57:15
|
This is an automated email from the git hooks/post-receive script. It was generated because a ref change was pushed to the repository containing the project "SFCB - Small Footprint CIM Broker". The branch, master has been updated via 8291ca31eabb4fc700efa729b6021e122e14db2c (commit) from 009d00c6c1ae709f87ad946f8a92acb986a4e4d1 (commit) Those revisions listed above that are new to this repository have not appeared on any other notification email; so we list those revisions in full, below. - Log ----------------------------------------------------------------- commit 8291ca31eabb4fc700efa729b6021e122e14db2c Author: buccella <buc...@li...> Date: Thu Mar 15 17:56:50 2012 -0400 [ 3504607 ] CMPIRole Support in brokerUpc ----------------------------------------------------------------------- Summary of changes: diff --git a/ChangeLog b/ChangeLog index dbbd7d6..7dc0bb0 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,8 @@ +2012-03-15 Chris Buccella <buc...@li...> + + * brokerUpc.c: + [ 3504607 ] CMPIRole Support in brokerUpc + 2012-03-14 Chris Buccella <buc...@li...> * brokerUpc.c, cimRequest.c, cimRequest.h, cimXmlOps.y, diff --git a/NEWS b/NEWS index 3508bac..593b98d 100644 --- a/NEWS +++ b/NEWS @@ -120,6 +120,7 @@ Bugs Fixed: - 3492362 Problem with whitespace trimming if local connect only - 3499930 Check file repository writes - 3457460 PAM_RHOST set wrong +- 3504607 CMPIRole Support in brokerUpc Changes in 1.3.13 ================= diff --git a/brokerUpc.c b/brokerUpc.c index 0ec70a8..396ec96 100644 --- a/brokerUpc.c +++ b/brokerUpc.c @@ -267,6 +267,16 @@ setContext(BinRequestContext * binCtx, OperationHdr * oHdr, 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) { @@ -580,10 +590,12 @@ getInstance(const CMPIBroker * broker, 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)); @@ -688,7 +700,7 @@ createInstance(const CMPIBroker * broker, (char *) oHdr.className.data)); sreq.instance = setInstanceMsgSegment(inst); - sreq.userRole = setCharsMsgSegment(NULL); + sreq.userRole = setCharsMsgSegment(getRole(context)); checkReroute(broker, context, &oHdr); @@ -777,15 +789,16 @@ modifyInstance(const CMPIBroker * broker, 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); sreq->instance = setInstanceMsgSegment(inst); @@ -862,7 +875,7 @@ deleteInstance(const CMPIBroker * broker, _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); @@ -938,7 +951,7 @@ execQuery(const CMPIBroker * broker, sreq.query = setCharsMsgSegment(query); sreq.queryLang = setCharsMsgSegment(lang); - sreq.userRole = setCharsMsgSegment(NULL); + sreq.userRole = setCharsMsgSegment(getRole(context)); irc = getProviderContext(&binCtx); @@ -1017,7 +1030,7 @@ enumInstances(const CMPIBroker * broker, { 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, @@ -1031,7 +1044,7 @@ enumInstanceNames(const CMPIBroker * broker, { 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, @@ -1060,7 +1073,7 @@ associators(const CMPIBroker * broker, 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, @@ -1084,7 +1097,7 @@ associatorNames(const CMPIBroker * broker, 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, @@ -1104,7 +1117,7 @@ references(const CMPIBroker * broker, 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, @@ -1123,7 +1136,7 @@ referenceNames(const CMPIBroker * broker, 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, @@ -1185,7 +1198,7 @@ invokeMethod(const CMPIBroker * broker, const CMPIContext *context, 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++) { hooks/post-receive -- SFCB - Small Footprint CIM Broker |
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: |
From: Dave B. <bla...@us...> - 2012-03-15 16:01:39
|
Update of /cvsroot/sblim/jsr48-client In directory vz-cvs-3.sog:/tmp/cvs-serv30530 Modified Files: Tag: CIM_CLIENT_2_1_12_M build.xml sblim-cim-client2.spec Log Message: 2.1.12 release work Index: sblim-cim-client2.spec =================================================================== RCS file: /cvsroot/sblim/jsr48-client/sblim-cim-client2.spec,v retrieving revision 1.25 retrieving revision 1.25.2.1 diff -u -d -r1.25 -r1.25.2.1 --- sblim-cim-client2.spec 15 Mar 2012 13:28:39 -0000 1.25 +++ sblim-cim-client2.spec 15 Mar 2012 16:01:36 -0000 1.25.2.1 @@ -1,7 +1,7 @@ %define name sblim-cim-client2 %define project_folder %{name}-%{version}-src %define archive_folder build -%define version HEAD +%define version 2.1.12 %define release 1jpp %define section free Index: build.xml =================================================================== RCS file: /cvsroot/sblim/jsr48-client/build.xml,v retrieving revision 1.47 retrieving revision 1.47.2.1 diff -u -d -r1.47 -r1.47.2.1 --- build.xml 14 Mar 2012 09:47:52 -0000 1.47 +++ build.xml 15 Mar 2012 16:01:36 -0000 1.47.2.1 @@ -36,7 +36,7 @@ <property name="Manifest.name" value="SBLIM CIM Client for Java" /> <property name="Manifest.title" value="SBLIM CIM Client for Java" /> <property name="Manifest.vendor" value="IBM Corporation 2005, 2012" /> - <property name="Manifest.version" value="HEAD" /> + <property name="Manifest.version" value="2.1.12" /> <property name="Directory.source.core" value="${basedir}/src" /> <property name="Directory.source.samples" value="${basedir}/smpl" /> |
From: Dave B. <bla...@us...> - 2012-03-15 13:28:42
|
Update of /cvsroot/sblim/jsr48-client In directory vz-cvs-3.sog:/tmp/cvs-serv13666 Modified Files: ChangeLog sblim-cim-client2.spec NEWS Log Message: 2.1.12 release work Index: sblim-cim-client2.spec =================================================================== RCS file: /cvsroot/sblim/jsr48-client/sblim-cim-client2.spec,v retrieving revision 1.24 retrieving revision 1.25 diff -u -d -r1.24 -r1.25 --- sblim-cim-client2.spec 15 Dec 2011 12:45:54 -0000 1.24 +++ sblim-cim-client2.spec 15 Mar 2012 13:28:39 -0000 1.25 @@ -158,6 +158,35 @@ # ----------------------------------------------------------------------------- %changelog +* Thu Mar 15 2012 Dave Blaschke <bla...@us...> +- New release 2.1.12 + o 3504344 Sync Experimental/HEAD branches + o 3504304 Rename socket timeout variables + o 3498482 Red Hat: Possible XML Hash DoS in sblim + o 3496355 JSR48 1.0.0: add new WBEMClientConstants + o 3496385 JSR48 1.0.0: add WBEMListener get/setProperty + o 3496380 JSR48 1.0.0: add new WBEMListenerConstants + o 3496349 JSR48 1.0.0: add CIMObjectPath getKeyValue + o 3496343 JSR48 1.0.0: deprecate WBEMClient associators and references + o 3496301 Sync up javax.* javadoc with JSR48 1.0.0 Final + o 3495662 Invalid HTML from HttpConnectionHandler.writeError + o 3477298 Error compiling JSR48 + o 3489638 PERF: Bottleneck in LogAndTraceBroker.java - getCaller() + o 3492224 Need two different timeouts for Socket connections + o 3492214 Add a SenderIPAddress property indications + o 3492246 Rename new indication trace property + o 3490355 TCK: Cannot instantiate WBEMClientFactory + o 3490032 TCK: WBEMException must validate error ID + o 3490009 TCK: Too many WBEMListenerFactory class methods + o 3484022 Turn reliable indication mode on and off based on SC/SN + o 3485074 An Indication trace request + o 3477087 Need Access to an Indication Sender's IP Address + o 3484014 Add LogAndTraceBroker.isLoggable for message/trace + o 3480115 Add Jsr48SfcbIndicationSample + o 3469427 Fix broken HTML links + o 3469210 Include reliable indications in HTML + o 3469018 Properties not passed to CIMIndicationHandler + * Thu Dec 15 2011 Dave Blaschke <bla...@us...> - New release 2.1.11 o 3459036 Linked list for RI queue not efficient for many LDs Index: NEWS =================================================================== RCS file: /cvsroot/sblim/jsr48-client/NEWS,v retrieving revision 1.272 retrieving revision 1.273 diff -u -d -r1.272 -r1.273 --- NEWS 14 Mar 2012 13:12:19 -0000 1.272 +++ NEWS 15 Mar 2012 13:28:39 -0000 1.273 @@ -1,4 +1,4 @@ -Changes in HEAD +Version 2.1.12 ================ 3504344 Sync Experimental/HEAD branches 3504304 Rename socket timeout variables Index: ChangeLog =================================================================== RCS file: /cvsroot/sblim/jsr48-client/ChangeLog,v retrieving revision 1.23 retrieving revision 1.24 diff -u -d -r1.23 -r1.24 --- ChangeLog 15 Dec 2011 12:45:54 -0000 1.23 +++ ChangeLog 15 Mar 2012 13:28:39 -0000 1.24 @@ -1,3 +1,226 @@ +Release 2.1.12 +============== + +Wed Mar 14 08:12:19 CDT 2012 blaschke-oss + + 3504344 Sync Experimental/HEAD branches + + WBEMConfigurationTest.java 1.15 + unittest.html 1.15 + CIMElement.java 1.15 + NEWS 1.272 + +Wed Mar 14 07:20:44 CDT 2012 blaschke-oss + + 3504304 Rename socket timeout variables + + HttpClient.java 1.40 + NEWS 1.271 + +Wed Mar 14 06:47:44 CDT 2012 blaschke-oss + + 3498482 Red Hat: Possible XML Hash DoS in sblim + + NodeFactory.java 1.7 + NEWS 1.270 + + +Wed Mar 14 06:33:40 CDT 2012 blaschke-oss + + 3496355 JSR48 1.0.0: add new WBEMClientConstants + + WBEMClientCIMXML.java 1.67 + WBEMConfigurationTest.java 1.14 + WBEMClientConstants.java 1.7 + NEWS 1.269 + +Wed Mar 14 06:21:36 CDT 2012 blaschke-oss + + 3496385 JSR48 1.0.0: add WBEMListener get/setProperty + + WBEMListenerSBLIM.java 1.17 + WBEMListener.java 1.7 + NEWS 1.268 + +Wed Mar 14 06:13:22 CDT 2012 blaschke-oss + + 3496380 JSR48 1.0.0: add new WBEMListenerConstants + + WBEMListenerConstants.java 1.2 + NEWS 1.267 + +Wed Mar 14 05:58:12 CDT 2012 blaschke-oss + + 3496349 JSR48 1.0.0: add CIMObjectPath getKeyValue + + CIMObjectPathTest.java 1.15 + CIMObjectPath.java 1.27 + NEWS 1.266 + +Wed Mar 14 05:47:21 CDT 2012 blaschke-oss + + 3496343 JSR48 1.0.0: deprecate WBEMClient associators and references + + WBEMClient.java 1.17 + NEWS 1.265 + +Wed Mar 14 05:39:52 CDT 2012 blaschke-oss + + 3496301 Sync up javax.* javadoc with JSR48 1.0.0 Final + + WBEMClientConstants.java 1.6 + WBEMClient.java 1.16 + PasswordCredential.java 1.12 + WBEMException.java 1.14 + CIMProperty.java 1.18 + CIMDateTime.java 1.13 + CIMClass.java 1.26 + NEWS 1.264 + +Wed Mar 14 04:54:13 CDT 2012 blaschke-oss + + 3495662 Invalid HTML from HttpConnectionHandler.writeError + + HttpConnectionHandler.java 1.10 + NEWS 1.263 + +Wed Mar 14 04:47:52 CDT 2012 blaschke-oss + + 3477298 Error compiling JSR48 + + build.xml 1.47 + NEWS 1.262 + +Wed Mar 14 04:42:44 CDT 2012 blaschke-oss + + 3489638 PERF: Bottleneck in LogAndTraceBroker.java - getCaller() + + LogAndTraceBroker.java 1.25 + NEWS 1.261 + +Tue Mar 13 10:46:28 CDT 2012 blaschke-oss + + 3492224 Need two different timeouts for Socket connections + + WBEMConfigurationDefaults.java 1.29 + WBEMConfiguration.java 1.41 + HttpClient.java 1.39 + WBEMConfigurationProperties.java 1.44 + sblim-cim-client2.properties 1.27 + NEWS 1.260 + +Tue Mar 13 10:27:45 CDT 2012 blaschke-oss + + 3492214 Add a SenderIPAddress property indications + + CIMIndicationHandler.java 1.29 + WBEMConfigurationDefaults.java 1.28 + WBEMConfiguration.java 1.40 + WBEMConfigurationProperties.java 1.43 + NEWS 1.259 + sblim-cim-client2.properties 1.26 + +Tue Mar 13 10:05:36 CDT 2012 blaschke-oss + + 3492246 Rename new indication trace property + + WBEMConfigurationProperties.java 1.42 + NEWS 1.258 + sblim-cim-client2.properties 1.25 + +Tue Mar 13 09:47:04 CDT 2012 blaschke-oss + + 3490355 TCK: Cannot instantiate WBEMClientFactory + + WBEMClientFactory.java 1.12 + NEWS 1.257 + +Tue Mar 13 09:41:14 CDT 2012 blaschke-oss + + 3490032 TCK: WBEMException must validate error ID + + WBEMException.java 1.13 + NEWS 1.256 + +Tue Mar 13 09:32:53 CDT 2012 blaschke-oss + + 3490009 TCK: Too many WBEMListenerFactory class methods + + WBEMListenerFactory.java 1.11 + NEWS 1.255 + +Wed Feb 22 06:28:48 CST 2012 blaschke-oss + + 3484022 Turn reliable indication mode on and off based on SC/SN + + ReliableIndicationHandler.java 1.4 + RIHandlerTest.txt 1.2 + CIMIndicationHandler.java 1.28 + NEWS 1.254 + +Mon Feb 20 12:59:36 CST 2012 blaschke-oss + + 3485074 An Indication trace request + + CIMIndicationHandler.java 1.27 + WBEMConfiguration.java 1.39 + WBEMConfigurationProperties.java 1.41 + sblim-cim-client2.properties 1.24 + NEWS 1.253 + +Mon Feb 20 12:37:50 CST 2012 blaschke-oss + + 3477087 Need Access to an Indication Sender's IP Address + + CIMEventDispatcher.java 1.13 + WBEMListenerSBLIM.java 1.16 + IndicationListenerSBLIM.java 1.2 + Jsr48PegasusIndicationSample.java 1.8 + NEWS 1.252 + +Mon Feb 20 11:47:55 CST 2012 blaschke-oss + + 3484014 Add LogAndTraceBroker.isLoggable for message/trace + + unittest.html 1.14 + LogAndTraceBrokerTest.java 1.9 + LogAndTraceBroker.java 1.24 + NEWS 1.251 + +Mon Feb 20 11:13:34 CST 2012 blaschke-oss + + 3480115 Add Jsr48SfcbIndicationSample + + Jsr48SfcbIndicationSample.java 1.2 + Jsr48PegasusIndicationSample.java 1.7 + NEWS 1.250 + +Wed Jan 18 07:06:47 CST 2012 blaschke-oss + + 3469427 Fix broken HTML links + + overview.html 1.19 + WBEMServiceAdvertisement.java 1.7 + NEWS 1.249 + +Tue Jan 17 08:24:47 CST 2012 blaschke-oss + + 3469210 Include reliable indications in HTML + + indications.html 1.12 + NEWS 1.248 + +Tue Jan 17 08:11:11 CST 2012 blaschke-oss + + 3469018 Properties not passed to CIMIndicationHandler + + version.txt 1.4 + LogAndTraceBroker.java 1.23 + WBEMListenerSBLIM.java 1.15 + Jsr48PegasusIndicationSample.java 1.6 + build.xml 1.46 + NEWS 1.247 + Release 2.1.11 ============== |
From: Chris B. <buc...@us...> - 2012-03-14 19:28:25
|
This is an automated email from the git hooks/post-receive script. It was generated because a ref change was pushed to the repository containing the project "SFCB - Small Footprint CIM Broker". The branch, master has been updated via 009d00c6c1ae709f87ad946f8a92acb986a4e4d1 (commit) via 2dc07d40a8df30aaebe682144a52dac12124696d (commit) from e6677b03ffce1d4745422d158a2a18dc348a8520 (commit) Those revisions listed above that are new to this repository have not appeared on any other notification email; so we list those revisions in full, below. - Log ----------------------------------------------------------------- commit 009d00c6c1ae709f87ad946f8a92acb986a4e4d1 Author: buccella <buc...@li...> Date: Wed Mar 14 15:28:00 2012 -0400 init role to NULL in httpAdapter commit 2dc07d40a8df30aaebe682144a52dac12124696d Author: buccella <buc...@li...> Date: Wed Mar 14 15:26:19 2012 -0400 [ 3367363 ] Add CMPIRole Support ----------------------------------------------------------------------- Summary of changes: diff --git a/ChangeLog b/ChangeLog index e72c481..dbbd7d6 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,10 @@ +2012-03-14 Chris Buccella <buc...@li...> + + * brokerUpc.c, cimRequest.c, cimRequest.h, cimXmlOps.y, + cimcClientSfcbLocal.c, httpAdapter.c, providerDrv.c, + providerMgr.c, providerMgr.h, sfcBasicPAMAuthentication.c + [ 3367363 ] Add CMPIRole Support + 2012-03-12 Chris Buccella <buc...@li...> * httpAdapter.c, sfcBasicPAMAuthentication.c: diff --git a/NEWS b/NEWS index 7ef94e2..3508bac 100644 --- a/NEWS +++ b/NEWS @@ -98,6 +98,7 @@ New Features: - 3367333 New entry point for authentication library - 3367332 RHOST Support for PAM - 3367361 Allow for releasing auth handle after CIM request completes +- 3367363 Add CMPIRole Support Bugs Fixed: diff --git a/brokerUpc.c b/brokerUpc.c index e823e80..0ec70a8 100644 --- a/brokerUpc.c +++ b/brokerUpc.c @@ -666,7 +666,7 @@ createInstance(const CMPIBroker * broker, { BinRequestContext binCtx; BinResponseHdr *resp; - CreateInstanceReq sreq = BINREQ(OPS_CreateInstance, 3); + CreateInstanceReq sreq = BINREQ(OPS_CreateInstance, CI_REQ_REG_SEGMENTS); OperationHdr oHdr = { OPS_CreateInstance, 2 }; CMPIStatus st = { CMPI_RC_OK, NULL }; CMPIObjectPath *op = NULL, @@ -688,6 +688,7 @@ createInstance(const CMPIBroker * broker, (char *) oHdr.className.data)); sreq.instance = setInstanceMsgSegment(inst); + sreq.userRole = setCharsMsgSegment(NULL); checkReroute(broker, context, &oHdr); @@ -778,6 +779,7 @@ modifyInstance(const CMPIBroker * broker, sreq = (ModifyInstanceReq *) calloc(1, sreqSize); sreq->hdr.count = ps + 3; sreq->hdr.operation = OPS_ModifyInstance; + sreq->userRole = setCharsMsgSegment(NULL); setContext(&binCtx, &oHdr, &sreq->hdr, sreqSize, context, cop, NULL, NULL); _SFCB_TRACE(1, @@ -842,7 +844,7 @@ deleteInstance(const CMPIBroker * broker, { BinRequestContext binCtx; BinResponseHdr *resp; - DeleteInstanceReq sreq = BINREQ(OPS_DeleteInstance, 2); + DeleteInstanceReq sreq = BINREQ(OPS_DeleteInstance, DI_REQ_REG_SEGMENTS); OperationHdr oHdr = { OPS_DeleteInstance, 2 }; CMPIStatus st = { CMPI_RC_OK, NULL }; int initrc = 0; @@ -860,6 +862,7 @@ deleteInstance(const CMPIBroker * broker, _SFCB_TRACE(1, ("--- for %s %s", (char *) oHdr.nameSpace.data, (char *) oHdr.className.data)); + sreq.userRole = setCharsMsgSegment(NULL); checkReroute(broker, context, &oHdr); @@ -910,7 +913,7 @@ execQuery(const CMPIBroker * broker, const char *lang, CMPIStatus *rc) { BinRequestContext binCtx; - ExecQueryReq sreq = BINREQ(OPS_ExecQuery, 4); + ExecQueryReq sreq = BINREQ(OPS_ExecQuery, EQ_REQ_REG_SEGMENTS); OperationHdr oHdr = { OPS_ExecQuery, 2 }; CMPIStatus st = { CMPI_RC_OK, NULL }, rci = { CMPI_RC_OK, NULL}; @@ -935,6 +938,7 @@ execQuery(const CMPIBroker * broker, sreq.query = setCharsMsgSegment(query); sreq.queryLang = setCharsMsgSegment(lang); + sreq.userRole = setCharsMsgSegment(NULL); irc = getProviderContext(&binCtx); @@ -1011,8 +1015,9 @@ enumInstances(const CMPIBroker * broker, const CMPIObjectPath * cop, const char **props, CMPIStatus *rc) { - EnumInstancesReq sreq = BINREQ(OPS_EnumerateInstances, 2); + EnumInstancesReq sreq = BINREQ(OPS_EnumerateInstances, EI_REQ_REG_SEGMENTS); OperationHdr oHdr = { OPS_EnumerateInstances, 2 }; + sreq.userRole = setCharsMsgSegment(NULL); return genericEnumRequest(broker, context, cop, props, NULL, NULL, NULL, NULL, OPS_EnumerateInstances, &sreq.hdr, &oHdr, @@ -1024,8 +1029,9 @@ enumInstanceNames(const CMPIBroker * broker, const CMPIContext *context, const CMPIObjectPath * cop, CMPIStatus *rc) { - EnumInstanceNamesReq sreq = BINREQ(OPS_EnumerateInstanceNames, 2); + EnumInstanceNamesReq sreq = BINREQ(OPS_EnumerateInstanceNames, EIN_REQ_REG_SEGMENTS); OperationHdr oHdr = { OPS_EnumerateInstanceNames, 2 }; + sreq.userRole = setCharsMsgSegment(NULL); return genericEnumRequest(broker, context, cop, NULL, NULL, NULL, NULL, NULL, OPS_EnumerateInstanceNames, &sreq.hdr, @@ -1047,13 +1053,14 @@ associators(const CMPIBroker * broker, const char *role, const char *resultrole, const char **props, CMPIStatus *rc) { - AssociatorsReq sreq = BINREQ(OPS_Associators, 6); + AssociatorsReq sreq = BINREQ(OPS_Associators, AI_REQ_REG_SEGMENTS); OperationHdr oHdr = { OPS_Associators, 6 }; sreq.resultClass = setCharsMsgSegment(resultclass); sreq.role = setCharsMsgSegment(role); sreq.assocClass = setCharsMsgSegment(assocclass); sreq.resultRole = setCharsMsgSegment(resultrole); + sreq.userRole = setCharsMsgSegment(NULL); return genericEnumRequest(broker, context, cop, props, assocclass, resultclass, role, resultrole, OPS_Associators, @@ -1070,13 +1077,14 @@ associatorNames(const CMPIBroker * broker, const char *resultclass, const char *role, const char *resultrole, CMPIStatus *rc) { - AssociatorNamesReq sreq = BINREQ(OPS_AssociatorNames, 6); + AssociatorNamesReq sreq = BINREQ(OPS_AssociatorNames, AIN_REQ_REG_SEGMENTS); OperationHdr oHdr = { OPS_AssociatorNames, 6 }; sreq.resultClass = setCharsMsgSegment(resultclass); sreq.role = setCharsMsgSegment(role); sreq.assocClass = setCharsMsgSegment(assocclass); sreq.resultRole = setCharsMsgSegment(resultrole); + sreq.userRole = setCharsMsgSegment(NULL); return genericEnumRequest(broker, context, cop, NULL, assocclass, resultclass, role, resultrole, @@ -1091,11 +1099,12 @@ references(const CMPIBroker * broker, const char *resultclass, const char *role, const char **props, CMPIStatus *rc) { - ReferencesReq sreq = BINREQ(OPS_References, 4); + ReferencesReq sreq = BINREQ(OPS_References, RI_REQ_REG_SEGMENTS); OperationHdr oHdr = { OPS_References, 4 }; sreq.role = setCharsMsgSegment(role); sreq.resultClass = setCharsMsgSegment(resultclass); + sreq.userRole = setCharsMsgSegment(NULL); return genericEnumRequest(broker, context, cop, props, NULL, resultclass, role, NULL, OPS_References, @@ -1109,11 +1118,12 @@ referenceNames(const CMPIBroker * broker, const CMPIObjectPath * cop, const char *resultclass, const char *role, CMPIStatus *rc) { - ReferenceNamesReq sreq = BINREQ(OPS_ReferenceNames, 4); + ReferenceNamesReq sreq = BINREQ(OPS_ReferenceNames, RIN_REQ_REG_SEGMENTS); OperationHdr oHdr = { OPS_ReferenceNames, 4 }; sreq.role = setCharsMsgSegment(role); sreq.resultClass = setCharsMsgSegment(resultclass); + sreq.userRole = setCharsMsgSegment(NULL); return genericEnumRequest(broker, context, cop, NULL, NULL, resultclass, role, NULL, OPS_ReferenceNames, &sreq.hdr, @@ -1165,7 +1175,7 @@ invokeMethod(const CMPIBroker * broker, const CMPIContext *context, size = sizeof(InvokeMethodReq) + (x * sizeof(MsgSegment)); sreq = (InvokeMethodReq *) calloc(1, size); - sreq->hdr.count = 5 + x; + sreq->hdr.count=IM_REQ_REG_SEGMENTS+x; sreq->hdr.operation = OPS_InvokeMethod; lockUpCall(broker); @@ -1175,9 +1185,10 @@ invokeMethod(const CMPIBroker * broker, const CMPIContext *context, sreq->in = setArgsMsgSegment(in); sreq->out = setArgsMsgSegment(NULL); sreq->method = setCharsMsgSegment(method); + sreq->userRole = setCharsMsgSegment(NULL); - if (x) - for (n = 5, i = 0, s = CMGetArgCount(in, NULL); i < s; i++) { + if (x) + for (n=IM_REQ_REG_SEGMENTS,i=0,s=CMGetArgCount(in,NULL); i<s; i++) { CMPIData d = CMGetArgAt(in, i, NULL, NULL); BinRequestHdr *req = (BinRequestHdr *) sreq; if (d.type == CMPI_instance) { diff --git a/cimRequest.c b/cimRequest.c index 0b63bb1..9f0e0b7 100644 --- a/cimRequest.c +++ b/cimRequest.c @@ -1808,6 +1808,7 @@ handleCimRequest(CimRequestContext * ctx, int flags) at once. This should be changed after all ops are handled in the parser. */ hdr = scanners[i].scan(ctx, ctx->cimDoc, &parserc); + hdr.role=ctx->role; if (parserc == 0) { /* The scanner recognizes the request so we don't * need to give it to anymore scanners. */ diff --git a/cimRequest.h b/cimRequest.h index a7416cd..e1512cc 100644 --- a/cimRequest.h +++ b/cimRequest.h @@ -56,6 +56,7 @@ typedef struct cimRequestContext { char *contentType; int teTrailers; unsigned int sessionId; + const char *role; unsigned long cimDocLength; struct commHndl *commHndl; struct chunkFunctions *chunkFncs; @@ -78,6 +79,7 @@ typedef struct requestHdr { unsigned long cimRequestLength; char *errMsg; char *className; + const char *role; BinRequestContext *binCtx; /* These don't really belong here, but it's * * an easy way to get them to the parser. */ diff --git a/cimXmlOps.y b/cimXmlOps.y index fbc3d31..1891cbd 100644 --- a/cimXmlOps.y +++ b/cimXmlOps.y @@ -127,7 +127,7 @@ buildAssociatorNamesRequest(void *parm) } sreq = calloc(1, sizeof(*sreq)); sreq->hdr.operation = OPS_AssociatorNames; - sreq->hdr.count = 6; + sreq->hdr.count = AIN_REQ_REG_SEGMENTS; sreq->objectPath = setObjectPathMsgSegment(path); @@ -136,6 +136,7 @@ buildAssociatorNamesRequest(void *parm) sreq->assocClass = req->op.assocClass; sreq->resultRole = req->op.resultRole; sreq->principal = setCharsMsgSegment(hdr->principal); + sreq->userRole = setCharsMsgSegment(hdr->role); sreq->hdr.sessionId = hdr->sessionId; req->op.className = req->op.assocClass; @@ -193,7 +194,7 @@ buildAssociatorsRequest(void *parm) sreqSize += req->properties * sizeof(MsgSegment); sreq = calloc(1, sreqSize); sreq->hdr.operation = OPS_Associators; - sreq->hdr.count = req->properties + 6; + sreq->hdr.count = req->properties + AI_REQ_REG_SEGMENTS; for (i = 0, m = req->objectName.bindings.next; i < m; i++) { valp = getKeyValueTypePtr(req->objectName.bindings.keyBindings[i].type, @@ -213,6 +214,7 @@ buildAssociatorsRequest(void *parm) sreq->resultRole = req->op.resultRole; sreq->hdr.flags = req->flags; sreq->principal = setCharsMsgSegment(hdr->principal); + sreq->userRole = setCharsMsgSegment(hdr->role); sreq->hdr.sessionId = hdr->sessionId; for (i = 0; i < req->properties; i++) @@ -255,9 +257,10 @@ buildEnumInstanceRequest(void *parm) sreqSize += req->properties * sizeof(MsgSegment); sreq = calloc(1, sreqSize); sreq->hdr.operation = OPS_EnumerateInstances; - sreq->hdr.count = req->properties + 2; + sreq->hdr.count = req->properties + EI_REQ_REG_SEGMENTS; sreq->principal = setCharsMsgSegment(hdr->principal); + sreq->userRole = setCharsMsgSegment(hdr->role); sreq->objectPath = setObjectPathMsgSegment(path); sreq->hdr.sessionId = hdr->sessionId; @@ -302,7 +305,7 @@ buildCreateInstanceRequest(void *parm) sreq = calloc(1, sizeof(CreateInstanceReq)); sreq->hdr.operation = OPS_CreateInstance; - sreq->hdr.count = 3; + sreq->hdr.count = CI_REQ_REG_SEGMENTS; for (p = req->instance.properties.first; p; p = p->next) { @@ -316,6 +319,7 @@ buildCreateInstanceRequest(void *parm) sreq->instance = setInstanceMsgSegment(inst); sreq->principal = setCharsMsgSegment(hdr->principal); + sreq->userRole = setCharsMsgSegment(hdr->role); sreq->hdr.sessionId = hdr->sessionId; path = inst->ft->getObjectPath(inst, &st); @@ -408,13 +412,14 @@ buildGetClassRequest(void *parm) sreqSize += req->properties * sizeof(MsgSegment); sreq = calloc(1, sreqSize); sreq->hdr.operation = OPS_GetClass; - sreq->hdr.count = req->properties + 2; + sreq->hdr.count=req->properties+GC_REQ_REG_SEGMENTS; path = TrackedCMPIObjectPath(req->op.nameSpace.data, req->op.className.data, NULL); sreq->objectPath = setObjectPathMsgSegment(path); sreq->principal = setCharsMsgSegment(hdr->principal); + sreq->userRole = setCharsMsgSegment(hdr->role); sreq->hdr.sessionId = hdr->sessionId; for (i = 0; i < req->properties; i++) @@ -444,13 +449,14 @@ buildDeleteClassRequest(void *parm) sreq = calloc(1, sizeof(DeleteClassReq)); sreq->hdr.operation = OPS_DeleteClass; - sreq->hdr.count = 2; + sreq->hdr.count = DC_REQ_REG_SEGMENTS; path = TrackedCMPIObjectPath(req->op.nameSpace.data, req->op.className.data, NULL); sreq->objectPath = setObjectPathMsgSegment(path); sreq->principal = setCharsMsgSegment(hdr->principal); + sreq->userRole = setCharsMsgSegment(hdr->role); sreq->hdr.sessionId = hdr->sessionId; binCtx->oHdr = (OperationHdr *) req; @@ -481,7 +487,7 @@ buildDeleteInstanceRequest(void *parm) sreq = calloc(1, sreqSize); sreq->hdr.operation = OPS_DeleteInstance; - sreq->hdr.count = 2; + sreq->hdr.count = DI_REQ_REG_SEGMENTS; path = TrackedCMPIObjectPath(req->op.nameSpace.data, req->op.className.data, @@ -497,6 +503,7 @@ buildDeleteInstanceRequest(void *parm) } sreq->objectPath = setObjectPathMsgSegment(path); sreq->principal = setCharsMsgSegment(hdr->principal); + sreq->userRole = setCharsMsgSegment(hdr->role); sreq->hdr.sessionId = hdr->sessionId; binCtx->oHdr = (OperationHdr *) req; @@ -648,8 +655,9 @@ buildCreateClassRequest(void *parm) int sreqSize = sizeof(*sreq) + (3 * sizeof(MsgSegment)); sreq = calloc(1, sreqSize); sreq->hdr.operation = OPS_CreateClass; - sreq->hdr.count = 3; + sreq->hdr.count = CC_REQ_REG_SEGMENTS; sreq->principal = setCharsMsgSegment(hdr->principal); + sreq->userRole = setCharsMsgSegment(hdr->role); sreq->path = setObjectPathMsgSegment(path); sreq->cls = setConstClassMsgSegment(cls); sreq->hdr.sessionId = hdr->sessionId; @@ -690,7 +698,7 @@ buildModifyInstanceRequest(void *parm) sreqSize += req->properties * sizeof(MsgSegment); sreq = calloc(1, sreqSize); sreq->hdr.operation = OPS_ModifyInstance; - sreq->hdr.count = req->properties + 3; + sreq->hdr.count = req->properties + MI_REQ_REG_SEGMENTS; for (i = 0; i < req->properties; i++) { sreq->properties[i] = @@ -729,6 +737,7 @@ buildModifyInstanceRequest(void *parm) sreq->instance = setInstanceMsgSegment(inst); sreq->path = setObjectPathMsgSegment(path); sreq->principal = setCharsMsgSegment(hdr->principal); + sreq->userRole = setCharsMsgSegment(hdr->role); sreq->hdr.sessionId = hdr->sessionId; binCtx->oHdr = (OperationHdr *) req; @@ -761,9 +770,10 @@ buildEnumClassesRequest(void *parm) sreqSize = sizeof(*sreq);// + 2 * sizeof(MsgSegment); sreq = calloc(1, sreqSize); sreq->hdr.operation = OPS_EnumerateClasses; - sreq->hdr.count = 2; + sreq->hdr.count = EC_REQ_REG_SEGMENTS; sreq->objectPath = setObjectPathMsgSegment(path); sreq->principal = setCharsMsgSegment(hdr->principal); + sreq->userRole = setCharsMsgSegment(hdr->role); sreq->hdr.flags = req->flags; sreq->hdr.sessionId = hdr->sessionId; @@ -797,8 +807,9 @@ buildEnumClassNamesRequest(void *parm) sreq = calloc(1, sizeof(*sreq)); sreq->objectPath = setObjectPathMsgSegment(path); sreq->principal = setCharsMsgSegment(hdr->principal); + sreq->userRole = setCharsMsgSegment(hdr->role); sreq->hdr.operation = OPS_EnumerateClassNames; - sreq->hdr.count = 2; + sreq->hdr.count = ECN_REQ_REG_SEGMENTS; sreq->hdr.flags = req->flags; sreq->hdr.sessionId = hdr->sessionId; @@ -833,8 +844,9 @@ buildEnumInstanceNamesRequest(void *parm) sreq = calloc(1, sizeof(*sreq)); sreq->objectPath = setObjectPathMsgSegment(path); sreq->principal = setCharsMsgSegment(hdr->principal); + sreq->userRole = setCharsMsgSegment(hdr->role); sreq->hdr.operation = OPS_EnumerateInstanceNames; - sreq->hdr.count = 2; + sreq->hdr.count = EIN_REQ_REG_SEGMENTS; sreq->hdr.sessionId = hdr->sessionId; binCtx->oHdr = (OperationHdr *) req; @@ -883,9 +895,10 @@ buildExecQueryRequest(void *parm) sreq = calloc(1, sizeof(*sreq)); sreq->hdr.operation = OPS_ExecQuery; - sreq->hdr.count = 4; + sreq->hdr.count = EQ_REQ_REG_SEGMENTS; sreq->objectPath = setObjectPathMsgSegment(path); sreq->principal = setCharsMsgSegment(hdr->principal); + sreq->userRole = setCharsMsgSegment(hdr->role); sreq->query = setCharsMsgSegment((char *) req->op.query.data); sreq->queryLang = setCharsMsgSegment((char *) req->op.queryLang.data); sreq->hdr.sessionId = hdr->sessionId; @@ -923,7 +936,7 @@ buildReferencesRequest(void *parm) sreqSize += req->properties * sizeof(MsgSegment); sreq = calloc(1, sreqSize); sreq->hdr.operation = OPS_References; - sreq->hdr.count = req->properties + 4; + sreq->hdr.count = req->properties + RI_REQ_REG_SEGMENTS; path = TrackedCMPIObjectPath(req->op.nameSpace.data, req->op.className.data, @@ -957,6 +970,7 @@ buildReferencesRequest(void *parm) sreq->role = req->op.role; sreq->hdr.flags = req->flags; sreq->principal = setCharsMsgSegment(hdr->principal); + sreq->userRole = setCharsMsgSegment(hdr->role); sreq->hdr.sessionId = hdr->sessionId; for (i = 0; i < req->properties; i++) @@ -1019,12 +1033,13 @@ buildReferenceNamesRequest(void *parm) sreq = calloc(1, sizeof(*sreq)); sreq->hdr.operation = OPS_ReferenceNames; - sreq->hdr.count = 4; + sreq->hdr.count = RIN_REQ_REG_SEGMENTS; sreq->objectPath = setObjectPathMsgSegment(path); sreq->resultClass = req->op.resultClass; sreq->role = req->op.role; sreq->principal = setCharsMsgSegment(hdr->principal); + sreq->userRole = setCharsMsgSegment(hdr->role); sreq->hdr.sessionId = hdr->sessionId; req->op.className = req->op.resultClass; @@ -1374,9 +1389,10 @@ buildInvokeMethodRequest(void *parm) } sreq = calloc(1, sizeof(*sreq)); sreq->hdr.operation = OPS_InvokeMethod; - sreq->hdr.count = 5; + sreq->hdr.count = IM_REQ_REG_SEGMENTS; sreq->objectPath = setObjectPathMsgSegment(path); sreq->principal = setCharsMsgSegment(hdr->principal); + sreq->userRole = setCharsMsgSegment(hdr->role); sreq->hdr.sessionId = hdr->sessionId; if (getControlBool("validateMethodParamTypes", &vmpt)) @@ -2108,7 +2124,7 @@ iMethodCall methodCall : localClassPath { - $$.op.count = 2; + $$.op.count = IM_REQ_REG_SEGMENTS; $$.op.type = OPS_InvokeMethod; $$.op.nameSpace=setCharsMsgSegment($1.path); $$.op.className=setCharsMsgSegment($1.className); @@ -2121,7 +2137,7 @@ methodCall } | localClassPath paramValues { - $$.op.count = 2; + $$.op.count = IM_REQ_REG_SEGMENTS; $$.op.type = OPS_InvokeMethod; $$.op.nameSpace=setCharsMsgSegment($1.path); $$.op.className=setCharsMsgSegment($1.className); @@ -2133,7 +2149,7 @@ methodCall } | localInstancePath { - $$.op.count = 2; + $$.op.count = IM_REQ_REG_SEGMENTS; $$.op.type = OPS_InvokeMethod; $$.op.nameSpace=setCharsMsgSegment($1.path); $$.op.className=setCharsMsgSegment($1.instanceName.className); @@ -2147,7 +2163,7 @@ methodCall } | localInstancePath paramValues { - $$.op.count = 2; + $$.op.count = IM_REQ_REG_SEGMENTS; $$.op.type = OPS_InvokeMethod; $$.op.nameSpace=setCharsMsgSegment($1.path); $$.op.className=setCharsMsgSegment($1.instanceName.className); @@ -2438,7 +2454,7 @@ setQualifierParm getClass : localNameSpacePath { - $$.op.count = 2; + $$.op.count = GC_REQ_REG_SEGMENTS; $$.op.type = OPS_GetClass; $$.op.nameSpace=setCharsMsgSegment($1); $$.op.className=setCharsMsgSegment(NULL); @@ -2452,7 +2468,7 @@ getClass } | localNameSpacePath getClassParmsList { - $$.op.count = 2; + $$.op.count = GC_REQ_REG_SEGMENTS; $$.op.type = OPS_GetClass; $$.op.nameSpace=setCharsMsgSegment($1); $$.op.className=setCharsMsgSegment($2.className); @@ -2554,7 +2570,7 @@ getClassParms enumClassNames : localNameSpacePath { - $$.op.count = 2; + $$.op.count = ECN_REQ_REG_SEGMENTS; $$.op.type = OPS_EnumerateClassNames; $$.op.nameSpace=setCharsMsgSegment($1); $$.op.className=setCharsMsgSegment(NULL); @@ -2565,7 +2581,7 @@ enumClassNames } | localNameSpacePath enumClassNamesParmsList { - $$.op.count = 2; + $$.op.count = ECN_REQ_REG_SEGMENTS; $$.op.type = OPS_EnumerateClassNames; $$.op.nameSpace=setCharsMsgSegment($1); $$.op.className=setCharsMsgSegment($2.className); @@ -2620,7 +2636,7 @@ enumClassNamesParms enumClasses : localNameSpacePath { - $$.op.count = 2; + $$.op.count = EC_REQ_REG_SEGMENTS; $$.op.type = OPS_EnumerateClasses; $$.op.nameSpace=setCharsMsgSegment($1); $$.op.className=setCharsMsgSegment(NULL); @@ -2631,7 +2647,7 @@ enumClasses } | localNameSpacePath enumClassesParmsList { - $$.op.count = 2; + $$.op.count = EC_REQ_REG_SEGMENTS; $$.op.type = OPS_EnumerateClasses; $$.op.nameSpace=setCharsMsgSegment($1); $$.op.className=setCharsMsgSegment($2.className); @@ -2716,7 +2732,7 @@ enumClassesParms getInstance : localNameSpacePath { - $$.op.count = 2; + $$.op.count = GI_REQ_REG_SEGMENTS; $$.op.type = OPS_GetInstance; $$.op.nameSpace=setCharsMsgSegment($1); $$.op.className=setCharsMsgSegment(NULL); @@ -2724,13 +2740,14 @@ getInstance $$.propertyList.values = NULL; $$.properties=0; $$.instNameSet = 0; + //$$.userRole=setCharsMsgSegment($$.op.role); setRequest(parm,&$$,sizeof(XtokGetInstance),OPS_GetInstance); buildGetInstanceRequest(parm); } | localNameSpacePath getInstanceParmsList { - $$.op.count = 2; + $$.op.count = GI_REQ_REG_SEGMENTS; $$.op.type = OPS_GetInstance; $$.op.nameSpace=setCharsMsgSegment($1); $$.op.className=setCharsMsgSegment($2.instanceName.className); @@ -2834,7 +2851,7 @@ getInstanceParms createClass : localNameSpacePath { - $$.op.count = 3; + $$.op.count = CC_REQ_REG_SEGMENTS; $$.op.type = OPS_CreateClass; $$.op.nameSpace=setCharsMsgSegment($1); $$.op.className=setCharsMsgSegment(NULL); @@ -2845,7 +2862,7 @@ createClass } | localNameSpacePath createClassParm { - $$.op.count = 3; + $$.op.count = CC_REQ_REG_SEGMENTS; $$.op.type = OPS_CreateClass; $$.op.nameSpace=setCharsMsgSegment($1); $$.op.className=setCharsMsgSegment($2.cls.className); @@ -2873,7 +2890,7 @@ createClassParm createInstance : localNameSpacePath { - $$.op.count = 2; + $$.op.count = CI_REQ_REG_SEGMENTS; $$.op.type = OPS_CreateInstance; $$.op.nameSpace=setCharsMsgSegment($1); $$.op.className=setCharsMsgSegment(NULL); @@ -2883,7 +2900,7 @@ createInstance } | localNameSpacePath createInstanceParm { - $$.op.count = 2; + $$.op.count = CI_REQ_REG_SEGMENTS; $$.op.type = OPS_CreateInstance; $$.op.nameSpace=setCharsMsgSegment($1); $$.op.className=setCharsMsgSegment($2.instance.className); @@ -2910,7 +2927,7 @@ createInstanceParm modifyInstance : localNameSpacePath { - $$.op.count = 2; + $$.op.count = MI_REQ_REG_SEGMENTS; $$.op.type = OPS_ModifyInstance; $$.op.nameSpace=setCharsMsgSegment($1); $$.op.className=setCharsMsgSegment(NULL); @@ -2923,7 +2940,7 @@ modifyInstance } | localNameSpacePath modifyInstanceParmsList { - $$.op.count = 2; + $$.op.count = MI_REQ_REG_SEGMENTS; $$.op.type = OPS_ModifyInstance; $$.op.nameSpace=setCharsMsgSegment($1); $$.op.className=setCharsMsgSegment($2.namedInstance.path.className); @@ -3004,7 +3021,7 @@ modifyInstanceParms deleteClass : localNameSpacePath { - $$.op.count = 2; + $$.op.count = DC_REQ_REG_SEGMENTS; $$.op.type = OPS_DeleteClass; $$.op.nameSpace=setCharsMsgSegment($1); $$.op.className=setCharsMsgSegment(NULL); @@ -3014,7 +3031,7 @@ deleteClass } | localNameSpacePath deleteClassParm { - $$.op.count = 2; + $$.op.count = DC_REQ_REG_SEGMENTS; $$.op.type = OPS_DeleteClass; $$.op.nameSpace=setCharsMsgSegment($1); $$.op.className=setCharsMsgSegment($2.className); @@ -3041,7 +3058,7 @@ deleteClassParm deleteInstance : localNameSpacePath { - $$.op.count = 2; + $$.op.count = DI_REQ_REG_SEGMENTS; $$.op.type = OPS_DeleteInstance; $$.op.nameSpace=setCharsMsgSegment($1); $$.op.className=setCharsMsgSegment(NULL); @@ -3051,7 +3068,7 @@ deleteInstance } | localNameSpacePath deleteInstanceParm { - $$.op.count = 2; + $$.op.count = DI_REQ_REG_SEGMENTS; $$.op.type = OPS_DeleteInstance; $$.op.nameSpace=setCharsMsgSegment($1); $$.op.className=setCharsMsgSegment($2.instanceName.className); @@ -3079,7 +3096,7 @@ deleteInstanceParm enumInstanceNames : localNameSpacePath XTOK_IP_CLASSNAME className ZTOK_IPARAMVALUE { - $$.op.count = 2; + $$.op.count = EIN_REQ_REG_SEGMENTS; $$.op.type = OPS_EnumerateInstanceNames; $$.op.nameSpace=setCharsMsgSegment($1); $$.op.className=setCharsMsgSegment($3); @@ -3098,7 +3115,7 @@ enumInstanceNames enumInstances : localNameSpacePath { - $$.op.count = 2; + $$.op.count = EI_REQ_REG_SEGMENTS; $$.op.type = OPS_EnumerateInstances; $$.op.nameSpace=setCharsMsgSegment($1); $$.op.className=setCharsMsgSegment(NULL); @@ -3111,7 +3128,7 @@ enumInstances } | localNameSpacePath enumInstancesParmsList { - $$.op.count = 2; + $$.op.count = EI_REQ_REG_SEGMENTS; $$.op.type = OPS_EnumerateInstances; $$.op.nameSpace=setCharsMsgSegment($1); $$.op.className=setCharsMsgSegment($2.className); @@ -3228,7 +3245,7 @@ execQuery XTOK_IP_QUERY value ZTOK_IPARAMVALUE XTOK_IP_QUERYLANG value ZTOK_IPARAMVALUE { - $$.op.count = 3; + $$.op.count = EQ_REQ_REG_SEGMENTS; $$.op.type = OPS_ExecQuery; $$.op.nameSpace=setCharsMsgSegment($1); $$.op.query=setCharsMsgSegment($3.value); @@ -3241,7 +3258,7 @@ execQuery XTOK_IP_QUERYLANG value ZTOK_IPARAMVALUE XTOK_IP_QUERY value ZTOK_IPARAMVALUE { - $$.op.count = 3; + $$.op.count = EQ_REQ_REG_SEGMENTS; $$.op.type = OPS_ExecQuery; $$.op.nameSpace=setCharsMsgSegment($1); $$.op.query=setCharsMsgSegment($6.value); @@ -3261,7 +3278,7 @@ execQuery associators : localNameSpacePath { - $$.op.count = 6; + $$.op.count = AI_REQ_REG_SEGMENTS; $$.op.type = OPS_Associators; $$.op.nameSpace=setCharsMsgSegment($1); $$.op.className=setCharsMsgSegment(NULL); @@ -3279,7 +3296,7 @@ associators } | localNameSpacePath associatorsParmsList { - $$.op.count = 6; + $$.op.count = AI_REQ_REG_SEGMENTS; $$.op.type = OPS_Associators; $$.op.nameSpace=setCharsMsgSegment($1); $$.op.className=setCharsMsgSegment($2.objectName.className); @@ -3443,7 +3460,7 @@ associatorsParms references : localNameSpacePath { - $$.op.count = 4; + $$.op.count = RI_REQ_REG_SEGMENTS; $$.op.type = OPS_References; $$.op.nameSpace=setCharsMsgSegment($1); $$.op.className=setCharsMsgSegment(NULL); @@ -3459,7 +3476,7 @@ references } | localNameSpacePath referencesParmsList { - $$.op.count = 4; + $$.op.count = RI_REQ_REG_SEGMENTS; $$.op.type = OPS_References; $$.op.nameSpace=setCharsMsgSegment($1); $$.op.className=setCharsMsgSegment($2.objectName.className); @@ -3591,7 +3608,7 @@ referencesParms associatorNames : localNameSpacePath { - $$.op.count = 6; + $$.op.count = AIN_REQ_REG_SEGMENTS; $$.op.type = OPS_AssociatorNames; $$.op.nameSpace=setCharsMsgSegment($1); $$.op.className=setCharsMsgSegment(NULL); @@ -3606,7 +3623,7 @@ associatorNames } | localNameSpacePath associatorNamesParmsList { - $$.op.count = 6; + $$.op.count = AIN_REQ_REG_SEGMENTS; $$.op.type = OPS_AssociatorNames; $$.op.nameSpace=setCharsMsgSegment($1); $$.op.className=setCharsMsgSegment($2.objectName.className); @@ -3705,7 +3722,7 @@ associatorNamesParms referenceNames : localNameSpacePath { - $$.op.count = 4; + $$.op.count = RIN_REQ_REG_SEGMENTS; $$.op.type = OPS_ReferenceNames; $$.op.nameSpace=setCharsMsgSegment($1); $$.op.className=setCharsMsgSegment(NULL); @@ -3718,7 +3735,7 @@ referenceNames } | localNameSpacePath referenceNamesParmsList { - $$.op.count = 4; + $$.op.count = RIN_REQ_REG_SEGMENTS; $$.op.type = OPS_ReferenceNames; $$.op.nameSpace=setCharsMsgSegment($1); $$.op.className=setCharsMsgSegment($2.objectName.className); diff --git a/cimcClientSfcbLocal.c b/cimcClientSfcbLocal.c index b2081bc..7c8bfbc 100644 --- a/cimcClientSfcbLocal.c +++ b/cimcClientSfcbLocal.c @@ -313,7 +313,7 @@ static CMPIEnumeration * enumInstanceNames(Client * mb, CMPIObjectPath * cop, CMPIStatus *rc) { _SFCB_ENTER(TRACE_CIMXMLPROC, "enumInstanceNames"); - EnumInstanceNamesReq sreq = BINREQ(OPS_EnumerateInstanceNames, 2); + EnumInstanceNamesReq sreq = BINREQ(OPS_EnumerateInstanceNames, EIN_REQ_REG_SEGMENTS); int irc, l = 0, err = 0; @@ -335,6 +335,7 @@ enumInstanceNames(Client * mb, CMPIObjectPath * cop, CMPIStatus *rc) sreq.objectPath = setObjectPathMsgSegment(cop); sreq.principal = setCharsMsgSegment(((ClientEnc *) mb)->data.user); + sreq.userRole = setCharsMsgSegment(NULL); binCtx.oHdr = (OperationHdr *) & oHdr; binCtx.bHdr = &sreq.hdr; @@ -414,10 +415,11 @@ enumInstances(Client * mb, sreqSize += pCount * sizeof(MsgSegment); sreq = calloc(1, sreqSize); sreq->hdr.operation = OPS_EnumerateInstances; - sreq->hdr.count = pCount + 2; + sreq->hdr.count = pCount + EI_REQ_REG_SEGMENTS; sreq->objectPath = setObjectPathMsgSegment(cop); sreq->principal = setCharsMsgSegment(((ClientEnc *) mb)->data.user); + sreq->userRole = setCharsMsgSegment(NULL); binCtx.oHdr = (OperationHdr *) & oHdr; binCtx.bHdr = &sreq->hdr; @@ -504,10 +506,11 @@ getInstance(Client * mb, sreqSize += pCount * sizeof(MsgSegment); sreq = calloc(1, sreqSize); sreq->hdr.operation = OPS_GetInstance; - sreq->hdr.count = pCount + 2; + sreq->hdr.count = pCount + GI_REQ_REG_SEGMENTS; sreq->objectPath = setObjectPathMsgSegment(cop); sreq->principal = setCharsMsgSegment(((ClientEnc *) mb)->data.user); + sreq->userRole = setCharsMsgSegment(NULL); for (i = 0; i < pCount; i++) sreq->properties[i] = setCharsMsgSegment(properties[i]); @@ -565,7 +568,7 @@ createInstance(Client * mb, int irc; BinRequestContext binCtx; BinResponseHdr *resp; - CreateInstanceReq sreq = BINREQ(OPS_CreateInstance, 3); + CreateInstanceReq sreq = BINREQ(OPS_CreateInstance, CI_REQ_REG_SEGMENTS); CMPIObjectPath *path; OperationHdr oHdr = { OPS_CreateInstance, 0, 3 }; @@ -583,6 +586,7 @@ createInstance(Client * mb, memset(&binCtx, 0, sizeof(BinRequestContext)); sreq.principal = setCharsMsgSegment(((ClientEnc *) mb)->data.user); + sreq.userRole = setCharsMsgSegment(NULL); sreq.path = setObjectPathMsgSegment(cop); sreq.instance = setInstanceMsgSegment(inst); @@ -666,11 +670,12 @@ modifyInstance(Client * mb, sreq->properties[i] = setCharsMsgSegment(properties[i]); sreq->hdr.operation = OPS_ModifyInstance; - sreq->hdr.count = pCount + 3; + sreq->hdr.count = pCount + MI_REQ_REG_SEGMENTS; sreq->instance = setInstanceMsgSegment(inst); sreq->path = setObjectPathMsgSegment(cop); sreq->principal = setCharsMsgSegment(((ClientEnc *) mb)->data.user); + sreq->userRole = setCharsMsgSegment(NULL); binCtx.oHdr = (OperationHdr *) & oHdr; binCtx.bHdr = &sreq->hdr; @@ -716,7 +721,7 @@ deleteInstance(Client * mb, CMPIObjectPath * cop) int irc; BinRequestContext binCtx; BinResponseHdr *resp; - DeleteInstanceReq sreq = BINREQ(OPS_DeleteInstance, 2); + DeleteInstanceReq sreq = BINREQ(OPS_DeleteInstance, DI_REQ_REG_SEGMENTS); OperationHdr oHdr = { OPS_DeleteInstance, 0, 2 }; CMPIStatus rc = { 0, NULL }; @@ -732,6 +737,7 @@ deleteInstance(Client * mb, CMPIObjectPath * cop) sreq.objectPath = setObjectPathMsgSegment(cop); sreq.principal = setCharsMsgSegment(((ClientEnc *) mb)->data.user); + sreq.userRole = setCharsMsgSegment(NULL); binCtx.oHdr = (OperationHdr *) & oHdr; binCtx.bHdr = &sreq.hdr; @@ -773,7 +779,7 @@ execQuery(Client * mb, CMPIObjectPath * cop, const char *query, const char *lang, CMPIStatus *rc) { - ExecQueryReq sreq = BINREQ(OPS_ExecQuery, 4); + ExecQueryReq sreq = BINREQ(OPS_ExecQuery, EQ_REQ_REG_SEGMENTS); int irc, l = 0, err = 0; @@ -816,6 +822,7 @@ execQuery(Client * mb, sreq.objectPath = setObjectPathMsgSegment(path); sreq.principal = setCharsMsgSegment(((ClientEnc *) mb)->data.user); + sreq.userRole = setCharsMsgSegment(NULL); sreq.query = setCharsMsgSegment(query); sreq.queryLang = setCharsMsgSegment(lang); @@ -903,7 +910,7 @@ associators(Client * mb, sreqSize += pCount * sizeof(MsgSegment); sreq = calloc(1, sreqSize); sreq->hdr.operation = OPS_Associators; - sreq->hdr.count = pCount + 6; + sreq->hdr.count = pCount + AI_REQ_REG_SEGMENTS; sreq->objectPath = setObjectPathMsgSegment(cop); sreq->resultClass = setCharsMsgSegment(resultClass); @@ -912,6 +919,7 @@ associators(Client * mb, sreq->resultRole = setCharsMsgSegment(resultRole); sreq->hdr.flags = flags; sreq->principal = setCharsMsgSegment(((ClientEnc *) mb)->data.user); + sreq->userRole = setCharsMsgSegment(NULL); for (i = 0; i < pCount; i++) sreq->properties[i] = setCharsMsgSegment(properties[i]); @@ -1002,13 +1010,14 @@ references(Client * mb, sreqSize += pCount * sizeof(MsgSegment); sreq = calloc(1, sreqSize); sreq->hdr.operation = OPS_References; - sreq->hdr.count = pCount + 4; + sreq->hdr.count = pCount + RI_REQ_REG_SEGMENTS; sreq->objectPath = setObjectPathMsgSegment(cop); sreq->resultClass = setCharsMsgSegment(resultClass); sreq->role = setCharsMsgSegment(role); sreq->hdr.flags = flags; sreq->principal = setCharsMsgSegment(((ClientEnc *) mb)->data.user); + sreq->userRole = setCharsMsgSegment(NULL); for (i = 0; i < pCount; i++) sreq->properties[i] = setCharsMsgSegment(properties[i]); @@ -1065,7 +1074,7 @@ associatorNames(Client * mb, const char *resultClass, const char *role, const char *resultRole, CMPIStatus *rc) { - AssociatorNamesReq sreq = BINREQ(OPS_AssociatorNames, 6); + AssociatorNamesReq sreq = BINREQ(OPS_AssociatorNames, AIN_REQ_REG_SEGMENTS); int irc, l = 0, err = 0; @@ -1090,6 +1099,7 @@ associatorNames(Client * mb, sreq.assocClass = setCharsMsgSegment(assocClass); sreq.resultRole = setCharsMsgSegment(resultRole); sreq.principal = setCharsMsgSegment(((ClientEnc *) mb)->data.user); + sreq.userRole = setCharsMsgSegment(NULL); oHdr.nameSpace = setCharsMsgSegment((char *) ns->hdl); oHdr.className = sreq.assocClass; @@ -1137,7 +1147,7 @@ referenceNames(Client * mb, CMPIObjectPath * cop, const char *resultClass, const char *role, CMPIStatus *rc) { - ReferenceNamesReq sreq = BINREQ(OPS_ReferenceNames, 4); + ReferenceNamesReq sreq = BINREQ(OPS_ReferenceNames, RIN_REQ_REG_SEGMENTS); int irc, l = 0, err = 0; @@ -1159,6 +1169,7 @@ referenceNames(Client * mb, sreq.resultClass = setCharsMsgSegment(resultClass); sreq.role = setCharsMsgSegment(role); sreq.principal = setCharsMsgSegment(((ClientEnc *) mb)->data.user); + sreq.userRole = setCharsMsgSegment(NULL); oHdr.className = sreq.resultClass; oHdr.nameSpace = setCharsMsgSegment((char *) ns->hdl); diff --git a/httpAdapter.c b/httpAdapter.c index 5a4a6c5..9bb60bb 100644 --- a/httpAdapter.c +++ b/httpAdapter.c @@ -1062,7 +1062,7 @@ doHttpRequest(CommHndl conn_fd) } #endif - AuthExtras extras = {NULL, NULL, NULL}; + AuthExtras extras = {NULL, NULL, NULL, NULL}; if (!authorized && !discardInput && doBa) { if (inBuf.authorization) { @@ -1149,6 +1149,7 @@ doHttpRequest(CommHndl conn_fd) ctx.cimDoc = inBuf.content; ctx.principal = inBuf.principal; + ctx.role = extras.role; ctx.host = inBuf.host; /* override based on sfcb.cfg value */ ctx.teTrailers = (chunkMode == CHUNK_FORCE) ? 1 : inBuf.trailers; diff --git a/providerDrv.c b/providerDrv.c index f7f1e2e..a198e81 100644 --- a/providerDrv.c +++ b/providerDrv.c @@ -1336,6 +1336,8 @@ deleteClass(BinRequestHdr * hdr, ProviderInfo * info, int requestor) CMPI_chars); ctx->ft->addEntry(ctx, "CMPISessionId", (CMPIValue *) & hdr->sessionId, CMPI_uint32); + ctx->ft->addEntry(ctx, CMPIRole, (CMPIValue *) req->userRole.data, + CMPI_chars); _SFCB_TRACE(1, ("--- Calling provider %s", info->providerName)); TIMING_START(hdr, info) @@ -1390,9 +1392,11 @@ getClass(BinRequestHdr * hdr, ProviderInfo * info, int requestor) CMPI_chars); ctx->ft->addEntry(ctx, "CMPISessionId", (CMPIValue *) & hdr->sessionId, CMPI_uint32); + ctx->ft->addEntry(ctx, CMPIRole, (CMPIValue *) req->userRole.data, + CMPI_chars); - if (req->hdr.count > 2) - props = makePropertyList(req->hdr.count - 2, req->properties); + if (req->hdr.count>GC_REQ_REG_SEGMENTS) + props=makePropertyList(req->hdr.count - GC_REQ_REG_SEGMENTS,req->properties); _SFCB_TRACE(1, ("--- Calling provider %s", info->providerName)); TIMING_START(hdr, info) @@ -1441,6 +1445,8 @@ createClass(BinRequestHdr * hdr, ProviderInfo * info, int requestor) CMPI_chars); ctx->ft->addEntry(ctx, "CMPISessionId", (CMPIValue *) & hdr->sessionId, CMPI_uint32); + ctx->ft->addEntry(ctx, CMPIRole, (CMPIValue *) req->userRole.data, + CMPI_chars); _SFCB_TRACE(1, ("--- Calling provider %s", info->providerName)); TIMING_START(hdr, info) @@ -1485,6 +1491,8 @@ enumClassNames(BinRequestHdr * hdr, ProviderInfo * info, int requestor) CMPI_chars); ctx->ft->addEntry(ctx, "CMPISessionId", (CMPIValue *) & hdr->sessionId, CMPI_uint32); + ctx->ft->addEntry(ctx, CMPIRole, (CMPIValue *) req->userRole.data, + CMPI_chars); _SFCB_TRACE(1, ("--- Calling provider %s", info->providerName)); @@ -1541,6 +1549,8 @@ enumClasses(BinRequestHdr * hdr, ProviderInfo * info, int requestor) CMPI_chars); ctx->ft->addEntry(ctx, "CMPISessionId", (CMPIValue *) & hdr->sessionId, CMPI_uint32); + ctx->ft->addEntry(ctx, CMPIRole, (CMPIValue *) req->userRole.data, + CMPI_chars); _SFCB_TRACE(1, ("--- Calling provider %s", info->providerName)); @@ -1887,18 +1897,21 @@ invokeMethod(BinRequestHdr * hdr, ProviderInfo * info, int requestor) CMPI_chars); ctx->ft->addEntry(ctx, "CMPISessionId", (CMPIValue *) & hdr->sessionId, CMPI_uint32); + ctx->ft->addEntry(ctx, CMPIRole, (CMPIValue *) req->userRole.data, + CMPI_chars); + if (info->parms) ctx->ft->addEntry(ctx, "sfcbProviderParameters", (CMPIValue *) info->parms, CMPI_chars); - if (req->hdr.count > 5) { + if (req->hdr.count > IM_REQ_REG_SEGMENTS) { int i, s, n; CMPIString *name; in = CMNewArgs(Broker, NULL); BinRequestHdr *r = (BinRequestHdr *) req; - for (n = 5, i = 0, s = CMGetArgCount(tIn, NULL); i < s; i++) { + for (n = IM_REQ_REG_SEGMENTS, i = 0, s = CMGetArgCount(tIn, NULL); i < s; i++) { CMPIData d = CMGetArgAt(tIn, i, &name, NULL); if (d.type == CMPI_instance) { d.value.inst = relocateSerializedInstance(r->object[n++].data); @@ -1967,9 +1980,11 @@ getInstance(BinRequestHdr * hdr, ProviderInfo * info, int requestor) CMPI_chars); ctx->ft->addEntry(ctx, "CMPISessionId", (CMPIValue *) & hdr->sessionId, CMPI_uint32); + ctx->ft->addEntry(ctx, CMPIRole, (CMPIValue *) req->userRole.data, + CMPI_chars); - if (req->hdr.count > 2) - props = makePropertyList(req->hdr.count - 2, req->properties); + if (req->hdr.count > GI_REQ_REG_SEGMENTS) + props = makePropertyList(req->hdr.count - GI_REQ_REG_SEGMENTS, req->properties); _SFCB_TRACE(1, ("--- Calling provider %s", info->providerName)); TIMING_START(hdr, info) @@ -2027,6 +2042,8 @@ deleteInstance(BinRequestHdr * hdr, ProviderInfo * info, int requestor) CMPI_chars); ctx->ft->addEntry(ctx, "CMPISessionId", (CMPIValue *) & hdr->sessionId, CMPI_uint32); + ctx->ft->addEntry(ctx, CMPIRole, (CMPIValue *) req->userRole.data, + CMPI_chars); _SFCB_TRACE(1, ("--- Calling provider %s", info->providerName)); TIMING_START(hdr, info) @@ -2070,6 +2087,8 @@ createInstance(BinRequestHdr * hdr, ProviderInfo * info, int requestor) CMPI_chars); ctx->ft->addEntry(ctx, "CMPISessionId", (CMPIValue *) & hdr->sessionId, CMPI_uint32); + ctx->ft->addEntry(ctx, CMPIRole, (CMPIValue *) req->userRole.data, + CMPI_chars); _SFCB_TRACE(1, ("--- Calling provider %s", info->providerName)); TIMING_START(hdr, info) @@ -2121,9 +2140,11 @@ modifyInstance(BinRequestHdr * hdr, ProviderInfo * info, int requestor) CMPI_chars); ctx->ft->addEntry(ctx, "CMPISessionId", (CMPIValue *) & hdr->sessionId, CMPI_uint32); + ctx->ft->addEntry(ctx, CMPIRole, (CMPIValue *) req->userRole.data, + CMPI_chars); - if (req->hdr.count > 3) - props = makePropertyList(req->hdr.count - 3, req->properties); + if (req->hdr.count > MI_REQ_REG_SEGMENTS) + props = makePropertyList(req->hdr.count - MI_REQ_REG_SEGMENTS, req->properties); _SFCB_TRACE(1, ("--- Calling provider %s", info->providerName)); TIMING_START(hdr, info) @@ -2185,9 +2206,11 @@ enumInstances(BinRequestHdr * hdr, ProviderInfo * info, int requestor) CMPI_chars); ctx->ft->addEntry(ctx, "CMPISessionId", (CMPIValue *) & hdr->sessionId, CMPI_uint32); + ctx->ft->addEntry(ctx, CMPIRole, (CMPIValue *) req->userRole.data, + CMPI_chars); - if (req->hdr.count > 2) - props = makePropertyList(req->hdr.count - 2, req->properties); + if (req->hdr.count > EI_REQ_REG_SEGMENTS) + props = makePropertyList(req->hdr.count - EI_REQ_REG_SEGMENTS, req->properties); _SFCB_TRACE(1, ("--- Calling provider %s", info->providerName)); TIMING_START(hdr, info) @@ -2234,6 +2257,8 @@ enumInstanceNames(BinRequestHdr * hdr, ProviderInfo * info, int requestor) CMPI_chars); ctx->ft->addEntry(ctx, "CMPISessionId", (CMPIValue *) & hdr->sessionId, CMPI_uint32); + ctx->ft->addEntry(ctx, CMPIRole, (CMPIValue *) req->userRole.data, + CMPI_chars); _SFCB_TRACE(1, ("--- Calling provider %s", info->providerName)); TIMING_START(hdr, info) @@ -2344,6 +2369,8 @@ execQuery(BinRequestHdr * hdr, ProviderInfo * info, int requestor) CMPI_chars); ctx->ft->addEntry(ctx, "CMPISessionId", (CMPIValue *) & hdr->sessionId, CMPI_uint32); + ctx->ft->addEntry(ctx, CMPIRole, (CMPIValue *) req->userRole.data, + CMPI_chars); _SFCB_TRACE(1, ("--- Calling provider %s", info->providerName)); TIMING_START(hdr, info) @@ -2450,9 +2477,11 @@ associators(BinRequestHdr * hdr, ProviderInfo * info, int requestor) CMPI_chars); ctx->ft->addEntry(ctx, "CMPISessionId", (CMPIValue *) & hdr->sessionId, CMPI_uint32); + ctx->ft->addEntry(ctx, CMPIRole, (CMPIValue *) req->userRole.data, + CMPI_chars); - if (req->hdr.count > 6) - props = makePropertyList(req->hdr.count - 6, req->properties); + if (req->hdr.count > AI_REQ_REG_SEGMENTS) + props = makePropertyList(req->hdr.count - AI_REQ_REG_SEGMENTS, req->properties); _SFCB_TRACE(1, ("--- Calling provider %s", info->providerName)); TIMING_START(hdr, info) @@ -2505,9 +2534,11 @@ references(BinRequestHdr * hdr, ProviderInfo * info, int requestor) CMPI_chars); ctx->ft->addEntry(ctx, "CMPISessionId", (CMPIValue *) & hdr->sessionId, CMPI_uint32); + ctx->ft->addEntry(ctx, CMPIRole, (CMPIValue *) req->userRole.data, + CMPI_chars); - if (req->hdr.count > 4) - props = makePropertyList(req->hdr.count - 4, req->properties); + if (req->hdr.count > RI_REQ_REG_SEGMENTS) + props = makePropertyList(req->hdr.count - RI_REQ_REG_SEGMENTS, req->properties); _SFCB_TRACE(1, ("--- Calling provider %s", info->providerName)); TIMING_START(hdr, info) @@ -2552,6 +2583,8 @@ associatorNames(BinRequestHdr * hdr, ProviderInfo * info, int requestor) CMPI_chars); ctx->ft->addEntry(ctx, "CMPISessionId", (CMPIValue *) & hdr->sessionId, CMPI_uint32); + ctx->ft->addEntry(ctx, CMPIRole, (CMPIValue *) req->userRole.data, + CMPI_chars); _SFCB_TRACE(1, ("--- Calling provider %s", info->providerName)); TIMING_START(hdr, info) @@ -2598,6 +2631,8 @@ referenceNames(BinRequestHdr * hdr, ProviderInfo * info, int requestor) CMPI_chars); ctx->ft->addEntry(ctx, "CMPISessionId", (CMPIValue *) & hdr->sessionId, CMPI_uint32); + ctx->ft->addEntry(ctx, CMPIRole, (CMPIValue *) req->userRole.data, + CMPI_chars); _SFCB_TRACE(1, ("--- Calling provider %s", info->providerName)); TIMING_START(hdr, info) diff --git a/providerMgr.c b/providerMgr.c index a075af2..57b3b06 100644 --- a/providerMgr.c +++ b/providerMgr.c @@ -1515,7 +1515,7 @@ getConstClass(const char *ns, const char *cn) CMPIObjectPath *path; CMPIConstClass *ccl; CMPIStatus rc; - GetClassReq sreq = BINREQ(OPS_GetClass, 2); + GetClassReq sreq = BINREQ(OPS_GetClass, GC_REQ_REG_SEGMENTS); BinResponseHdr *resp = NULL; BinRequestContext binCtx; OperationHdr req = { OPS_GetClass, 2 }; @@ -1527,6 +1527,7 @@ getConstClass(const char *ns, const char *cn) path = TrackedCMPIObjectPath(ns, cn, &rc); sreq.principal = setCharsMsgSegment("$$"); sreq.objectPath = setObjectPathMsgSegment(path); + sreq.userRole = setCharsMsgSegment(NULL); req.nameSpace = setCharsMsgSegment((char *) ns); req.className = setCharsMsgSegment((char *) cn); @@ -1576,7 +1577,7 @@ _getConstClass(const char *ns, const char *cn, CMPIStatus *st) CMPIObjectPath *path; CMPIConstClass *ccl = NULL; - GetClassReq sreq = BINREQ(OPS_GetClass, 2); + GetClassReq sreq = BINREQ(OPS_GetClass, GC_REQ_REG_SEGMENTS); BinResponseHdr *resp; BinRequestContext binCtx; OperationHdr req = { OPS_GetClass, 2 }; @@ -1585,6 +1586,7 @@ _getConstClass(const char *ns, const char *cn, CMPIStatus *st) path = NewCMPIObjectPath(ns, cn, st); sreq.objectPath = setObjectPathMsgSegment(path); sreq.principal = setCharsMsgSegment("$$"); + sreq.userRole = setCharsMsgSegment(NULL); req.nameSpace = setCharsMsgSegment((char *) ns); req.className = setCharsMsgSegment((char *) cn); @@ -1634,7 +1636,7 @@ localInvokeMethod(BinRequestContext * binCtx, { _SFCB_ENTER(TRACE_PROVIDERMGR, "localInvokeMethod"); - InvokeMethodReq sreq = BINREQ(OPS_InvokeMethod, 5); + InvokeMethodReq sreq = BINREQ(OPS_InvokeMethod, IM_REQ_REG_SEGMENTS); OperationHdr req = { OPS_InvokeMethod, 1 }; CMPIData data = { 0, CMPI_nullValue, {0} }; if (out) @@ -1647,6 +1649,7 @@ localInvokeMethod(BinRequestContext * binCtx, sreq.objectPath = setObjectPathMsgSegment(path); sreq.method = setCharsMsgSegment(method); sreq.principal = setCharsMsgSegment("$$"); + sreq.userRole = setCharsMsgSegment(NULL); binCtx->oHdr = &req; binCtx->bHdr = &sreq.hdr; diff --git a/providerMgr.h b/providerMgr.h index 24192b3..e5e5004 100644 --- a/providerMgr.h +++ b/providerMgr.h @@ -105,7 +105,7 @@ typedef struct binResponseHdr { chunkedMode, moreChunks; unsigned long count; // number of MsgSegments in response - MsgSegment object[1]; + MsgSegment object[1]; /* WARNING: brokerUpc references segments positionally! */ } BinResponseHdr; struct chunkFunctions; @@ -159,33 +159,43 @@ typedef struct getClassReq { BinRequestHdr hdr; MsgSegment principal; MsgSegment objectPath; + MsgSegment userRole; MsgSegment properties[1]; } GetClassReq; +#define GC_REQ_REG_SEGMENTS 3 typedef struct enumClassNamesReq { BinRequestHdr hdr; MsgSegment principal; MsgSegment objectPath; + MsgSegment userRole; } EnumClassNamesReq; +#define ECN_REQ_REG_SEGMENTS 3 typedef struct enumClassesReq { BinRequestHdr hdr; MsgSegment principal; MsgSegment objectPath; + MsgSegment userRole; } EnumClassesReq; +#define EC_REQ_REG_SEGMENTS 3 typedef struct enumInstanceNamesReq { BinRequestHdr hdr; MsgSegment principal; MsgSegment objectPath; + MsgSegment userRole; } EnumInstanceNamesReq; +#define EIN_REQ_REG_SEGMENTS 3 typedef struct enumInstancesReq { BinRequestHdr hdr; MsgSegment principal; MsgSegment objectPath; + MsgSegment userRole; MsgSegment properties[1]; } EnumInstancesReq; +#define EI_REQ_REG_SEGMENTS 3 typedef struct execQueryReq { BinRequestHdr hdr; @@ -193,7 +203,9 @@ typedef struct execQueryReq { MsgSegment objectPath; MsgSegment query; MsgSegment queryLang; + MsgSegment userRole; } ExecQueryReq; +#define EQ_REQ_REG_SEGMENTS 5 typedef struct associatorsReq { BinRequestHdr hdr; @@ -203,8 +215,10 @@ typedef struct associatorsReq { MsgSegment role; MsgSegment assocClass; MsgSegment resultRole; + MsgSegment userRole; MsgSegment properties[1]; } AssociatorsReq; +#define AI_REQ_REG_SEGMENTS 7 typedef struct referencesReq { BinRequestHdr hdr; @@ -212,8 +226,10 @@ typedef struct referencesReq { MsgSegment objectPath; MsgSegment resultClass; MsgSegment role; + MsgSegment userRole; MsgSegment properties[1]; } ReferencesReq; +#define RI_REQ_REG_SEGMENTS 5 typedef struct associatorNamesReq { BinRequestHdr hdr; @@ -223,7 +239,9 @@ typedef struct associatorNamesReq { MsgSegment role; MsgSegment assocClass; MsgSegment resultRole; + MsgSegment userRole; } AssociatorNamesReq; +#define AIN_REQ_REG_SEGMENTS 7 typedef struct referenceNamesReq { BinRequestHdr hdr; @@ -231,48 +249,62 @@ typedef struct referenceNamesReq { MsgSegment objectPath; MsgSegment resultClass; MsgSegment role; + MsgSegment userRole; } ReferenceNamesReq; +#define RIN_REQ_REG_SEGMENTS 5 typedef struct getInstanceReq { BinRequestHdr hdr; MsgSegment principal; MsgSegment objectPath; + MsgSegment userRole; MsgSegment properties[1]; } GetInstanceReq; +#define GI_REQ_REG_SEGMENTS 3 typedef struct createClassReq { BinRequestHdr hdr; MsgSegment principal; MsgSegment path; MsgSegment cls; + MsgSegment userRole; } CreateClassReq; +#define CC_REQ_REG_SEGMENTS 4 typedef struct createInstanceReq { BinRequestHdr hdr; MsgSegment principal; MsgSegment path; MsgSegment instance; + MsgSegment userRole; } CreateInstanceReq; +#define CI_REQ_REG_SEGMENTS 4 typedef struct modifyInstanceReq { BinRequestHdr hdr; MsgSegment principal; MsgSegment path; MsgSegment instance; + MsgSegment userRole; MsgSegment properties[1]; } ModifyInstanceReq; +#define MI_REQ_REG_SEGMENTS 4 typedef struct deleteInstanceReq { BinRequestHdr hdr; MsgSegment principal; MsgSegment objectPath; + MsgSegment userRole; } DeleteInstanceReq; +#define DI_REQ_REG_SEGMENTS 3 typedef struct deleteClassReq { BinRequestHdr hdr; MsgSegment principal; MsgSegment objectPath; + MsgSegment userRole; } DeleteClassReq; +#define DC_REQ_REG_SEGMENTS 3 typedef struct invokeMethodReq { BinRequestHdr hdr; @@ -281,7 +313,9 @@ typedef struct invokeMethodReq { MsgSegment method; MsgSegment in; MsgSegment out; + MsgSegment userRole; } InvokeMethodReq; +#define IM_REQ_REG_SEGMENTS 6 typedef struct loadProviderReq { BinRequestHdr hdr; diff --git a/sfcBasicPAMAuthentication.c b/sfcBasicPAMAuthentication.c index 5904b66..6329637 100644 --- a/sfcBasicPAMAuthentication.c +++ b/sfcBasicPAMAuthentication.c @@ -99,10 +99,14 @@ _sfcBasicAuthenticateRemote(char *user, char *pw, AuthExtras *extras) retval = 0; } + /* for testing */ + // pam_putenv(pamh, "CMPIRole=54321"); + /* if we keep the handle around, it means we'll call pam_end() later */ if (extras) { extras->authHandle = pamh; extras->release = closePam; + extras->role = pam_getenv(pamh, "CMPIRole"); } else pam_end(pamh, rc); hooks/post-receive -- SFCB - Small Footprint CIM Broker |
From: Dave B. <bla...@us...> - 2012-03-14 13:12:21
|
Update of /cvsroot/sblim/jsr48-client/src/org/sblim/cimclient/doc-files In directory vz-cvs-3.sog:/tmp/cvs-serv13533/src/org/sblim/cimclient/doc-files Modified Files: unittest.html Log Message: 3504344 - Sync Experimental/HEAD branches Index: unittest.html =================================================================== RCS file: /cvsroot/sblim/jsr48-client/src/org/sblim/cimclient/doc-files/unittest.html,v retrieving revision 1.14 retrieving revision 1.15 diff -u -d -r1.14 -r1.15 --- unittest.html 20 Feb 2012 17:47:55 -0000 1.14 +++ unittest.html 14 Mar 2012 13:12:19 -0000 1.15 @@ -332,7 +332,7 @@ <tr><td>testListeners</td> <td>Tests if all three internal listeners and external listeners come up correctly, that they can be removed successfully and that isLoggable works - correctly in all cases.</td></tr> + correctly in all cases.</td></tr> <tr><td>testMessage1</td> <td>Tests if a log message is forwarded correctly to the log&trace listeners. This test checks the message level, locale, parameter.</td></tr> |
From: Dave B. <bla...@us...> - 2012-03-14 13:12:06
|
Update of /cvsroot/sblim/jsr48-client/src/javax/wbem/listener In directory vz-cvs-3.sog:/tmp/cvs-serv13520/src/javax/wbem/listener Modified Files: Tag: Experimental WBEMListenerConstants.java Log Message: 3504344 - Sync Experimental/HEAD branches Index: WBEMListenerConstants.java =================================================================== RCS file: /cvsroot/sblim/jsr48-client/src/javax/wbem/listener/WBEMListenerConstants.java,v retrieving revision 1.1.2.1 retrieving revision 1.1.2.2 diff -u -d -r1.1.2.1 -r1.1.2.2 --- WBEMListenerConstants.java 2 Mar 2012 20:08:36 -0000 1.1.2.1 +++ WBEMListenerConstants.java 14 Mar 2012 13:12:03 -0000 1.1.2.2 @@ -17,7 +17,7 @@ */ package javax.wbem.listener; -//Sync'd against JSR48 1.0.0 javadoc (build 1.6.0_18) on Thu Mar 01 12:21:26 EST 2012y +//Sync'd against JSR48 1.0.0 javadoc (build 1.6.0_18) on Thu Mar 01 12:21:26 EST 2012 /** * This class defines the constants used for <code>WBEMListener</code> * configuration. If a property is tagged as optional an implementation may or |
From: Dave B. <bla...@us...> - 2012-03-14 12:20:47
|
Update of /cvsroot/sblim/jsr48-client In directory vz-cvs-3.sog:/tmp/cvs-serv9848 Modified Files: NEWS Log Message: 3504304 - Rename socket timeout variables Index: NEWS =================================================================== RCS file: /cvsroot/sblim/jsr48-client/NEWS,v retrieving revision 1.270 retrieving revision 1.271 diff -u -d -r1.270 -r1.271 --- NEWS 14 Mar 2012 11:47:45 -0000 1.270 +++ NEWS 14 Mar 2012 12:20:45 -0000 1.271 @@ -1,5 +1,6 @@ Changes in HEAD ================ +3504304 Rename socket timeout variables 3498482 Red Hat: Possible XML Hash DoS in sblim 3496355 JSR48 1.0.0: add new WBEMClientConstants 3496385 JSR48 1.0.0: add WBEMListener get/setProperty |
From: Dave B. <bla...@us...> - 2012-03-14 12:12:37
|
Update of /cvsroot/sblim/jsr48-client/src/org/sblim/cimclient/internal/http In directory vz-cvs-3.sog:/tmp/cvs-serv9581/src/org/sblim/cimclient/internal/http Modified Files: Tag: Experimental HttpClient.java Log Message: 3504304 - Rename socket timeout variables Index: HttpClient.java =================================================================== RCS file: /cvsroot/sblim/jsr48-client/src/org/sblim/cimclient/internal/http/HttpClient.java,v retrieving revision 1.12.2.28 retrieving revision 1.12.2.29 diff -u -d -r1.12.2.28 -r1.12.2.29 --- HttpClient.java 23 Feb 2012 21:08:24 -0000 1.12.2.28 +++ HttpClient.java 14 Mar 2012 12:12:34 -0000 1.12.2.29 @@ -62,6 +62,7 @@ * 3400209 2011-08-31 blaschke-oss Highlighted Static Analysis (PMD) issues * 3444912 2011-11-29 blaschke-oss Client delay during SSL handshake * 3492224 2012-02-23 blaschke-oss Need two different timeouts for Socket connections + * 3504304 2012-03-14 blaschke-oss Rename socket timeout variables */ package org.sblim.cimclient.internal.http; @@ -959,8 +960,8 @@ closeConnection(); } - int timeout = this.iHttpClientPool.getConfigurationContext().getHttpTimeout(); - logger.trace(Level.FINER, "Setting http timeout=" + timeout); + int httpTimeout = this.iHttpClientPool.getConfigurationContext().getHttpTimeout(); + logger.trace(Level.FINER, "Setting http timeout=" + httpTimeout); if (this.iSocket == null) { // Determine whether we need to connect with a timeout or not @@ -995,21 +996,21 @@ } logger.trace(Level.FINER, "Creating new http for url " + this.iUrl.toString()); if (socketConnectWithTimeout) { - int soTimeout = this.iHttpClientPool.getConfigurationContext() + int connectTimeout = this.iHttpClientPool.getConfigurationContext() .getSocketConnectTimeout(); - logger.trace(Level.FINER, "Setting socket connect timeout=" + soTimeout); + logger.trace(Level.FINER, "Setting socket connect timeout=" + connectTimeout); if (factory instanceof SSLSocketFactory) { Socket sock = new Socket(); sock.connect(new InetSocketAddress(this.iUrl.getHost(), this.iUrl.getPort()), - soTimeout); + connectTimeout); this.iSocket = ((SSLSocketFactory) factory).createSocket(sock, this.iUrl .getHost(), this.iUrl.getPort(), true); } else { this.iSocket = factory.createSocket(); if (this.iSocket != null) this.iSocket.connect(new InetSocketAddress(this.iUrl - .getHost(), this.iUrl.getPort()), soTimeout); + .getHost(), this.iUrl.getPort()), connectTimeout); } } else { this.iSocket = factory.createSocket(this.iUrl.getHost(), this.iUrl.getPort()); @@ -1022,7 +1023,7 @@ this.iSocket.setTcpNoDelay(true); this.iSocket.setKeepAlive(true); - this.iSocket.setSoTimeout(timeout); + this.iSocket.setSoTimeout(httpTimeout); if (this.iSocket instanceof SSLSocket) { // Determine whether we need to perform SSL handshake or not @@ -1084,7 +1085,7 @@ } logger.trace(Level.FINER, "total bytes on the stream=" + totalBytes); } - this.iSocket.setSoTimeout(timeout); + this.iSocket.setSoTimeout(httpTimeout); } } |
From: Dave B. <bla...@us...> - 2012-03-14 11:47:47
|
Update of /cvsroot/sblim/jsr48-client In directory vz-cvs-3.sog:/tmp/cvs-serv7451 Modified Files: NEWS Log Message: 3498482 - Red Hat: Possible XML Hash DoS in sblim Index: NEWS =================================================================== RCS file: /cvsroot/sblim/jsr48-client/NEWS,v retrieving revision 1.269 retrieving revision 1.270 diff -u -d -r1.269 -r1.270 --- NEWS 14 Mar 2012 11:33:41 -0000 1.269 +++ NEWS 14 Mar 2012 11:47:45 -0000 1.270 @@ -1,5 +1,6 @@ Changes in HEAD ================ +3498482 Red Hat: Possible XML Hash DoS in sblim 3496355 JSR48 1.0.0: add new WBEMClientConstants 3496385 JSR48 1.0.0: add WBEMListener get/setProperty 3496380 JSR48 1.0.0: add new WBEMListenerConstants |
From: Dave B. <bla...@us...> - 2012-03-14 11:33:43
|
Update of /cvsroot/sblim/jsr48-client/src/org/sblim/cimclient/internal/wbem In directory vz-cvs-3.sog:/tmp/cvs-serv5501/src/org/sblim/cimclient/internal/wbem Modified Files: WBEMClientCIMXML.java Log Message: 3496355 - JSR48 1.0.0: add new WBEMClientConstants Index: WBEMClientCIMXML.java =================================================================== RCS file: /cvsroot/sblim/jsr48-client/src/org/sblim/cimclient/internal/wbem/WBEMClientCIMXML.java,v retrieving revision 1.66 retrieving revision 1.67 diff -u -d -r1.66 -r1.67 --- WBEMClientCIMXML.java 7 Nov 2011 12:05:49 -0000 1.66 +++ WBEMClientCIMXML.java 14 Mar 2012 11:33:40 -0000 1.67 @@ -1,5 +1,5 @@ /** - * (C) Copyright IBM Corp. 2006, 2011 + * (C) Copyright IBM Corp. 2006, 2012 * * THIS FILE IS PROVIDED UNDER THE TERMS OF THE ECLIPSE PUBLIC LICENSE * ("AGREEMENT"). ANY USE, REPRODUCTION OR DISTRIBUTION OF THIS FILE @@ -56,6 +56,7 @@ * 3197423 2011-03-02 blaschke-oss Server authentication with PegasusLocalAuthInfo failing * 3277928 2011-04-06 blaschke-oss CIM-XML tracing cannot be enabled in the field * 3423064 2011-10-13 blaschke-oss Add UpdateExpiredPassword Header for Reqs from Java Client + * 3496355 2012-03-02 blaschke-oss JSR48 1.0.0: add new WBEMClientConstants */ package org.sblim.cimclient.internal.wbem; @@ -371,6 +372,15 @@ .getDomainProperty(WBEMConfigurationProperties.HTTP_USE_CHUNKING); if (SblimKey == null) return null; return SblimKey.equals("true") ? "1" : "0"; + } else if (pKey.equals(WBEMClientConstants.PROP_CLIENT_KEYSTORE)) { + return this.iConfiguration + .getDomainProperty(WBEMConfigurationProperties.KEYSTORE_PATH); + } else if (pKey.equals(WBEMClientConstants.PROP_CLIENT_KEYSTORE_PASSWORD)) { + return this.iConfiguration + .getDomainProperty(WBEMConfigurationProperties.KEYSTORE_PASSWORD); + } else if (pKey.equals(WBEMClientConstants.PROP_CLIENT_TRUSTSTORE)) { + return this.iConfiguration + .getDomainProperty(WBEMConfigurationProperties.TRUSTSTORE_PATH); } else { return null; } @@ -445,6 +455,15 @@ this.iConfiguration.setDomainProperty( WBEMConfigurationProperties.HTTP_USE_CHUNKING, pValue.equals("0") ? "false" : "true"); + } else if (pKey.equals(WBEMClientConstants.PROP_CLIENT_KEYSTORE)) { + this.iConfiguration.setDomainProperty(WBEMConfigurationProperties.KEYSTORE_PATH, + pValue); + } else if (pKey.equals(WBEMClientConstants.PROP_CLIENT_KEYSTORE_PASSWORD)) { + this.iConfiguration.setDomainProperty( + WBEMConfigurationProperties.KEYSTORE_PASSWORD, pValue); + } else if (pKey.equals(WBEMClientConstants.PROP_CLIENT_TRUSTSTORE)) { + this.iConfiguration.setDomainProperty(WBEMConfigurationProperties.TRUSTSTORE_PATH, + pValue); } else { throw new IllegalArgumentException(pKey); } |
From: Dave B. <bla...@us...> - 2012-03-14 11:21:39
|
Update of /cvsroot/sblim/jsr48-client/src/org/sblim/cimclient In directory vz-cvs-3.sog:/tmp/cvs-serv5234/src/org/sblim/cimclient Modified Files: WBEMListenerSBLIM.java Log Message: 3496385 - JSR48 1.0.0: add WBEMListener get/setProperty Index: WBEMListenerSBLIM.java =================================================================== RCS file: /cvsroot/sblim/jsr48-client/src/org/sblim/cimclient/WBEMListenerSBLIM.java,v retrieving revision 1.16 retrieving revision 1.17 diff -u -d -r1.16 -r1.17 --- WBEMListenerSBLIM.java 20 Feb 2012 18:37:50 -0000 1.16 +++ WBEMListenerSBLIM.java 14 Mar 2012 11:21:36 -0000 1.17 @@ -23,6 +23,7 @@ * 3400209 2011-08-31 blaschke-oss Highlighted Static Analysis (PMD) issues * 3469018 2012-01-03 blaschke-oss Properties not passed to CIMIndicationHandler * 3477087 2012-01-23 blaschke-oss Need Access to an Indication Sender's IP Address + * 3496385 2012-03-02 blaschke-oss JSR48 1.0.0: add WBEMListener get/setProperty */ package org.sblim.cimclient; @@ -331,10 +332,23 @@ return listener.getListenerPort(); } + public String getProperty(String pName) { + if (pName.startsWith("javax.wbem.")) { + // Process JSR48 properties + return null; + } + return null; + } + public synchronized void removeListener(int pPort) { WBEMListenerImpl listener = this.iPortMap.remove(Integer.valueOf(pPort)); if (listener != null) { listener.stop(); } } + + public void setProperty(String pName, String pValue) { + throw new IllegalArgumentException("Property " + pName + " with value " + pValue + + " not supported!"); + } } |
From: Dave B. <bla...@us...> - 2012-03-14 11:13:25
|
Update of /cvsroot/sblim/jsr48-client In directory vz-cvs-3.sog:/tmp/cvs-serv4070 Modified Files: NEWS Log Message: 3496380 - JSR48 1.0.0: add new WBEMListenerConstants Index: NEWS =================================================================== RCS file: /cvsroot/sblim/jsr48-client/NEWS,v retrieving revision 1.266 retrieving revision 1.267 diff -u -d -r1.266 -r1.267 --- NEWS 14 Mar 2012 10:58:12 -0000 1.266 +++ NEWS 14 Mar 2012 11:13:23 -0000 1.267 @@ -1,5 +1,6 @@ Changes in HEAD ================ +3496380 JSR48 1.0.0: add new WBEMListenerConstants 3496349 JSR48 1.0.0: add CIMObjectPath getKeyValue 3496343 JSR48 1.0.0: deprecate WBEMClient associators and references 3496301 Sync up javax.* javadoc with JSR48 1.0.0 Final |
From: Dave B. <bla...@us...> - 2012-03-14 10:58:14
|
Update of /cvsroot/sblim/jsr48-client In directory vz-cvs-3.sog:/tmp/cvs-serv3122 Modified Files: NEWS Log Message: 3496349 - JSR48 1.0.0: add CIMObjectPath getKeyValue Index: NEWS =================================================================== RCS file: /cvsroot/sblim/jsr48-client/NEWS,v retrieving revision 1.265 retrieving revision 1.266 diff -u -d -r1.265 -r1.266 --- NEWS 14 Mar 2012 10:47:21 -0000 1.265 +++ NEWS 14 Mar 2012 10:58:12 -0000 1.266 @@ -1,5 +1,6 @@ Changes in HEAD ================ +3496349 JSR48 1.0.0: add CIMObjectPath getKeyValue 3496343 JSR48 1.0.0: deprecate WBEMClient associators and references 3496301 Sync up javax.* javadoc with JSR48 1.0.0 Final 3495662 Invalid HTML from HttpConnectionHandler.writeError |
From: Dave B. <bla...@us...> - 2012-03-14 10:47:23
|
Update of /cvsroot/sblim/jsr48-client In directory vz-cvs-3.sog:/tmp/cvs-serv1786 Modified Files: NEWS Log Message: 3496343 - JSR48 1.0.0: deprecate WBEMClient associators and references Index: NEWS =================================================================== RCS file: /cvsroot/sblim/jsr48-client/NEWS,v retrieving revision 1.264 retrieving revision 1.265 diff -u -d -r1.264 -r1.265 --- NEWS 14 Mar 2012 10:39:53 -0000 1.264 +++ NEWS 14 Mar 2012 10:47:21 -0000 1.265 @@ -1,5 +1,6 @@ Changes in HEAD ================ +3496343 JSR48 1.0.0: deprecate WBEMClient associators and references 3496301 Sync up javax.* javadoc with JSR48 1.0.0 Final 3495662 Invalid HTML from HttpConnectionHandler.writeError 3477298 Error compiling JSR48 |
From: Dave B. <bla...@us...> - 2012-03-14 10:39:55
|
Update of /cvsroot/sblim/jsr48-client/src/javax/cim In directory vz-cvs-3.sog:/tmp/cvs-serv32687/src/javax/cim Modified Files: CIMClass.java CIMProperty.java CIMDateTime.java Log Message: 3496301 - Sync up javax.* javadoc with JSR48 1.0.0 Final Index: CIMProperty.java =================================================================== RCS file: /cvsroot/sblim/jsr48-client/src/javax/cim/CIMProperty.java,v retrieving revision 1.17 retrieving revision 1.18 diff -u -d -r1.17 -r1.18 --- CIMProperty.java 8 Sep 2011 13:03:52 -0000 1.17 +++ CIMProperty.java 14 Mar 2012 10:39:53 -0000 1.18 @@ -1,5 +1,5 @@ /** - * (C) Copyright IBM Corp. 2006, 2011 + * (C) Copyright IBM Corp. 2006, 2012 * * THIS FILE IS PROVIDED UNDER THE TERMS OF THE ECLIPSE PUBLIC LICENSE * ("AGREEMENT"). ANY USE, REPRODUCTION OR DISTRIBUTION OF THIS FILE @@ -21,13 +21,14 @@ * 2797550 2009-06-01 raman_arora JSR48 compliance - add Java Generics * 2935258 2010-01-22 blaschke-oss Sync up javax.cim.* javadoc with JSR48 1.0.0 * 3400209 2011-08-31 blaschke-oss Highlighted Static Analysis (PMD) issues + * 3496301 2012-03-02 blaschke-oss Sync up javax.* javadoc with JSR48 1.0.0 Final */ package javax.cim; import org.sblim.cimclient.internal.util.MOF; -//Sync'd against JSR48 1.0.0 javadoc (build 1.5.0_10) on Wed Jan 20 02:20:59 EST 2010 +//Sync'd against JSR48 1.0.0 javadoc (build 1.6.0_18) on Thu Mar 01 12:21:26 EST 2012 /** * This class represents a CIM Property as defined by the Distributed Management * Task Force (<a href=http://www.dmtf.org>DMTF</a>) CIM Infrastructure @@ -52,7 +53,7 @@ /** * Constructs a <code>CIMProperty</code> to be used in instances. For a - * <code>CIMClass</code>, <code>CIMClassProperty</code> should be used. This + * <code>CIMClass</code>, <code>CIMClassProperty</code> shall be used. This * can only be used for non-Key properties, non-propagated properties and * when the the origin class is not needed. * @@ -69,7 +70,7 @@ /** * Constructs a <code>CIMProperty</code> to be used in instances. For a - * <code>CIMClass</code>, <code>CIMClassProperty</code> should be used. + * <code>CIMClass</code>, <code>CIMClassProperty</code> shall be used. * * @param pName * The name of the property. Index: CIMClass.java =================================================================== RCS file: /cvsroot/sblim/jsr48-client/src/javax/cim/CIMClass.java,v retrieving revision 1.25 retrieving revision 1.26 diff -u -d -r1.25 -r1.26 --- CIMClass.java 8 Sep 2011 13:03:52 -0000 1.25 +++ CIMClass.java 14 Mar 2012 10:39:53 -0000 1.26 @@ -1,5 +1,5 @@ /** - * (C) Copyright IBM Corp. 2006, 2011 + * (C) Copyright IBM Corp. 2006, 2012 * * THIS FILE IS PROVIDED UNDER THE TERMS OF THE ECLIPSE PUBLIC LICENSE * ("AGREEMENT"). ANY USE, REPRODUCTION OR DISTRIBUTION OF THIS FILE @@ -27,6 +27,7 @@ * 2944842 2010-02-08 blaschke-oss Missing thrown ArrayIndexOutOfBoundsException * 2975917 2010-03-24 blaschke-oss TCK: CIMClass.getProperty() does not handle null property * 3400209 2011-08-31 blaschke-oss Highlighted Static Analysis (PMD) issues + * 3496301 2012-03-02 blaschke-oss Sync up javax.* javadoc with JSR48 1.0.0 Final */ package javax.cim; @@ -39,7 +40,7 @@ import org.sblim.cimclient.internal.cim.CIMQualifiedElementInterfaceImpl; import org.sblim.cimclient.internal.util.MOF; -//Sync'd against JSR48 1.0.0 javadoc (build 1.5.0_10) on Wed Jan 20 02:20:58 EST 2010 +//Sync'd against JSR48 1.0.0 javadoc (build 1.6.0_18) on Thu Mar 01 12:21:26 EST 2012 /** * This class represents a CIM class as defined by the Distributed Management * Task Force (<a href=http://www.dmtf.org>DMTF</a>) CIM Infrastructure @@ -74,7 +75,11 @@ private boolean iIsAssoc; /** - * Creates and instantiates a Java object representing a CIM Class. + * Creates and instantiates a Java object representing a CIM Class. This + * method may or may not validate the <code>isAssociation</code> and + * <code>isKeyed</code>. If an invalid value is supplied (i.e. the class is + * an association, but the <code>isAssociation</code> was set to + * <code>false</code>), it may or may not be corrected. * * @param pPath * Object Name of the CIM class. @@ -82,7 +87,7 @@ * Name of the superclass. * @param pQualifiers * List of qualifiers of the CIM class. - * @param pProps + * @param pProperties * List of properties of the CIM class. * @param pMethods * List of methods of the CIM class. @@ -94,22 +99,24 @@ * <code>false</code> otherwise. */ public CIMClass(CIMObjectPath pPath, String pSuperClass, CIMQualifier<?>[] pQualifiers, - CIMClassProperty<?>[] pProps, CIMMethod<?>[] pMethods, boolean pIsAssociation, + CIMClassProperty<?>[] pProperties, CIMMethod<?>[] pMethods, boolean pIsAssociation, boolean pIsKeyed) { super(pPath.getObjectName()); this.iObjPath = pPath; this.iSuperClass = pSuperClass; this.iQualiImpl = new CIMQualifiedElementInterfaceImpl(pQualifiers, false, false, pIsAssociation); - this.iProps = (CIMClassProperty[]) CIMElementSorter.sort(pProps); + this.iProps = (CIMClassProperty[]) CIMElementSorter.sort(pProperties); this.iMethods = (CIMMethod[]) CIMElementSorter.sort(pMethods); this.iIsAssoc = pIsAssociation; // ignoring pIsKeyed - this.iIsKeyed = hasKey(pProps); + this.iIsKeyed = hasKey(pProperties); } /** - * Creates and instantiates a Java object representing a CIM Class. + * Creates and instantiates a Java object representing a CIM Class. This + * constructor will inspect the class to determine if it is an association + * or has keys. * * @param pName * Name of the CIM class. @@ -117,21 +124,21 @@ * Name of the superclass. * @param pQualifiers * List of qualifiers of the CIM class. - * @param pProps + * @param pProperties * List of properties of the CIM class. * @param pMethods * List of methods of the CIM class. */ public CIMClass(String pName, String pSuperClass, CIMQualifier<?>[] pQualifiers, - CIMClassProperty<?>[] pProps, CIMMethod<?>[] pMethods) { + CIMClassProperty<?>[] pProperties, CIMMethod<?>[] pMethods) { super(pName); this.iObjPath = new CIMObjectPath(pName, null); this.iSuperClass = pSuperClass; this.iQualiImpl = new CIMQualifiedElementInterfaceImpl(pQualifiers); - this.iProps = (CIMClassProperty[]) CIMElementSorter.sort(pProps); + this.iProps = (CIMClassProperty[]) CIMElementSorter.sort(pProperties); this.iMethods = (CIMMethod[]) CIMElementSorter.sort(pMethods); this.iIsAssoc = this.iQualiImpl.hasQualifierValue("Association", Boolean.TRUE); - this.iIsKeyed = hasKey(pProps); + this.iIsKeyed = hasKey(pProperties); } /** Index: CIMDateTime.java =================================================================== RCS file: /cvsroot/sblim/jsr48-client/src/javax/cim/CIMDateTime.java,v retrieving revision 1.12 retrieving revision 1.13 diff -u -d -r1.12 -r1.13 --- CIMDateTime.java 18 Feb 2010 21:50:01 -0000 1.12 +++ CIMDateTime.java 14 Mar 2012 10:39:53 -0000 1.13 @@ -1,5 +1,5 @@ /** - * (C) Copyright IBM Corp. 2006, 2010 + * (C) Copyright IBM Corp. 2006, 2012 * * THIS FILE IS PROVIDED UNDER THE TERMS OF THE ECLIPSE PUBLIC LICENSE * ("AGREEMENT"). ANY USE, REPRODUCTION OR DISTRIBUTION OF THIS FILE @@ -17,18 +17,19 @@ * 2204488 2008-10-28 raman_arora Fix code to remove compiler warnings * 2227442 2008-11-05 blaschke-oss Add missing serialVersionUID * 2524131 2009-01-21 raman_arora Upgrade client to JDK 1.5 (Phase 1) - * 2531371 2009-02-10 raman_arora Upgrade client to JDK 1.5 (Phase 2) + * 2531371 2009-02-10 raman_arora Upgrade client to JDK 1.5 (Phase 2) * 2795671 2009-05-22 raman_arora Add Type to Comparable <T> * 2935258 2010-01-22 blaschke-oss Sync up javax.cim.* javadoc with JSR48 1.0.0 + * 3496301 2012-03-02 blaschke-oss Sync up javax.* javadoc with JSR48 1.0.0 Final */ package javax.cim; import java.io.Serializable; -//Sync'd against JSR48 1.0.0 javadoc (build 1.5.0_10) on Wed Jan 20 02:20:58 EST 2010 +//Sync'd against JSR48 1.0.0 javadoc (build 1.6.0_18) on Thu Mar 01 12:21:26 EST 2012 /** - * This abstract class represents a CIM datetime data type as defined by the + * This abstract class represents a CIM Datetime data type as defined by the * Distributed Management Task Force (<a href=http://www.dmtf.org>DMTF</a>) CIM * Infrastructure Specification (<a * href=http://www.dmtf.org/standards/published_documents/DSP0004V2.3_final.pdf @@ -54,7 +55,7 @@ * zero-padded so that the entire string is always the same 25-character length. * Fields which are not significant must be replaced with asterisk characters. * Similarly, intervals use the same format, except that the interpretation of - * the field is based on elapsed time. <br> + * the fields is based on elapsed time. <br> * For example, the interval datetime for an elapsed time of 1 day, 13 hours, 23 * minutes, 12 seconds would be: 00000001132312.000000:000. A UTC offset of zero * is always used for interval properties. |
From: Dave B. <bla...@us...> - 2012-03-14 09:54:16
|
Update of /cvsroot/sblim/jsr48-client/src/org/sblim/cimclient/internal/http In directory vz-cvs-3.sog:/tmp/cvs-serv28117/src/org/sblim/cimclient/internal/http Modified Files: HttpConnectionHandler.java Log Message: 3495662 - Invalid HTML from HttpConnectionHandler.writeError Index: HttpConnectionHandler.java =================================================================== RCS file: /cvsroot/sblim/jsr48-client/src/org/sblim/cimclient/internal/http/HttpConnectionHandler.java,v retrieving revision 1.9 retrieving revision 1.10 diff -u -d -r1.9 -r1.10 --- HttpConnectionHandler.java 7 Mar 2011 14:00:41 -0000 1.9 +++ HttpConnectionHandler.java 14 Mar 2012 09:54:13 -0000 1.10 @@ -1,5 +1,5 @@ /** - * (C) Copyright IBM Corp. 2005, 2011 + * (C) Copyright IBM Corp. 2005, 2012 * * THIS FILE IS PROVIDED UNDER THE TERMS OF THE ECLIPSE PUBLIC LICENSE * ("AGREEMENT"). ANY USE, REPRODUCTION OR DISTRIBUTION OF THIS FILE @@ -23,6 +23,7 @@ * 2524131 2009-01-21 raman_arora Upgrade client to JDK 1.5 (Phase 1) * 2763216 2009-04-14 blaschke-oss Code cleanup: visible spelling/grammar errors * 3185818 2011-02-18 blaschke-oss indicationOccured URL incorrect + * 3495662 2012-02-29 blaschke-oss Invalid HTML from HttpConnectionHandler.writeError */ package org.sblim.cimclient.internal.http; @@ -173,7 +174,7 @@ } private void writeError(ASCIIPrintStream dos, String title, String body) { - dos.print("<HTTP> <HEAD> <TITLE>" + title + "</TITLE></HEAD><BODY>" + body + dos.print("<HTML> <HEAD> <TITLE>" + title + "</TITLE></HEAD><BODY>" + body + "</BODY></HTML>"); } |
From: Dave B. <bla...@us...> - 2012-03-14 09:47:55
|
Update of /cvsroot/sblim/jsr48-client In directory vz-cvs-3.sog:/tmp/cvs-serv27711 Modified Files: build.xml NEWS Log Message: 3477298 - Error compiling JSR48 Index: NEWS =================================================================== RCS file: /cvsroot/sblim/jsr48-client/NEWS,v retrieving revision 1.261 retrieving revision 1.262 diff -u -d -r1.261 -r1.262 --- NEWS 14 Mar 2012 09:42:44 -0000 1.261 +++ NEWS 14 Mar 2012 09:47:52 -0000 1.262 @@ -1,5 +1,6 @@ Changes in HEAD ================ +3477298 Error compiling JSR48 3489638 PERF: Bottleneck in LogAndTraceBroker.java - getCaller() 3492224 Need two different timeouts for Socket connections 3492214 Add a SenderIPAddress property indications Index: build.xml =================================================================== RCS file: /cvsroot/sblim/jsr48-client/build.xml,v retrieving revision 1.46 retrieving revision 1.47 diff -u -d -r1.46 -r1.47 --- build.xml 17 Jan 2012 14:11:11 -0000 1.46 +++ build.xml 14 Mar 2012 09:47:52 -0000 1.47 @@ -91,7 +91,7 @@ <delete dir="${Directory.build.core}" failonerror="false"/> <mkdir dir="${Directory.build.base}"/> <mkdir dir="${Directory.build.core}"/> - <javac srcdir="${Directory.source.core}" destdir="${Directory.build.core}" debug="on" encoding="utf-8" source="1.5" target="1.5"> + <javac srcdir="${Directory.source.core}" destdir="${Directory.build.core}" debug="on" encoding="utf-8" source="1.5" target="1.5" includeantruntime="false"> <classpath> <pathelement path="${java.class.path}/"/> </classpath> @@ -122,7 +122,7 @@ <delete dir="${Directory.build.unittest}" failonerror="false"/> <mkdir dir="${Directory.build.base}"/> <mkdir dir="${Directory.build.unittest}"/> - <javac srcdir="${Directory.source.unittest}" destdir="${Directory.build.unittest}" debug="on" encoding="utf-8" source="1.5" target="1.5"> + <javac srcdir="${Directory.source.unittest}" destdir="${Directory.build.unittest}" debug="on" encoding="utf-8" source="1.5" target="1.5" includeantruntime="false"> <classpath> <pathelement path="${Directory.build.unittest}/"/> <pathelement path="${Directory.build.core}/"/> @@ -141,7 +141,7 @@ <delete dir="${Directory.build.samples}" failonerror="false"/> <mkdir dir="${Directory.build.base}"/> <mkdir dir="${Directory.build.samples}"/> - <javac srcdir="${Directory.source.samples}" destdir="${Directory.build.samples}" debug="on" encoding="utf-8" source="1.5" target="1.5"> + <javac srcdir="${Directory.source.samples}" destdir="${Directory.build.samples}" debug="on" encoding="utf-8" source="1.5" target="1.5" includeantruntime="false"> <classpath> <pathelement path="${Directory.build.samples}/"/> <pathelement path="${Directory.build.core}/"/> |
From: Dave B. <bla...@us...> - 2012-03-14 09:42:47
|
Update of /cvsroot/sblim/jsr48-client In directory vz-cvs-3.sog:/tmp/cvs-serv26612 Modified Files: NEWS Log Message: 3489638 - PERF: Bottleneck in LogAndTraceBroker.java - getCaller() Index: NEWS =================================================================== RCS file: /cvsroot/sblim/jsr48-client/NEWS,v retrieving revision 1.260 retrieving revision 1.261 diff -u -d -r1.260 -r1.261 --- NEWS 13 Mar 2012 15:46:29 -0000 1.260 +++ NEWS 14 Mar 2012 09:42:44 -0000 1.261 @@ -1,5 +1,6 @@ Changes in HEAD ================ +3489638 PERF: Bottleneck in LogAndTraceBroker.java - getCaller() 3492224 Need two different timeouts for Socket connections 3492214 Add a SenderIPAddress property indications 3492246 Rename new indication trace property |
From: Dave B. <bla...@us...> - 2012-03-14 09:42:46
|
Update of /cvsroot/sblim/jsr48-client/src/org/sblim/cimclient/internal/logging In directory vz-cvs-3.sog:/tmp/cvs-serv26612/src/org/sblim/cimclient/internal/logging Modified Files: LogAndTraceBroker.java Log Message: 3489638 - PERF: Bottleneck in LogAndTraceBroker.java - getCaller() Index: LogAndTraceBroker.java =================================================================== RCS file: /cvsroot/sblim/jsr48-client/src/org/sblim/cimclient/internal/logging/LogAndTraceBroker.java,v retrieving revision 1.24 retrieving revision 1.25 diff -u -d -r1.24 -r1.25 --- LogAndTraceBroker.java 20 Feb 2012 17:47:56 -0000 1.24 +++ LogAndTraceBroker.java 14 Mar 2012 09:42:44 -0000 1.25 @@ -27,6 +27,7 @@ * 3400209 2011-08-31 blaschke-oss Highlighted Static Analysis (PMD) issues * 3469018 2012-01-03 blaschke-oss Properties not passed to CIMIndicationHandler * 3484014 2012-02-03 blaschke-oss Add LogAndTraceBroker.isLoggable for message/trace + * 3489638 2012-02-28 blaschke-oss PERF: Bottleneck in LogAndTraceBroker.java - getCaller() */ package org.sblim.cimclient.internal.logging; @@ -556,12 +557,13 @@ final String message = MessageLoader.getMessage(pKey); final String localMessage = MessageLoader.getLocalizedMessage(pKey); final Level level = MessageLoader.getLevel(pKey); - final List<TraceListener> traceListeners = getTraceListeners(); - StackTraceElement caller = null; - for (int i = 0; i < traceListeners.size(); ++i) { - caller = caller == null ? getCaller() : caller; - traceListeners.get(i).trace(level, caller, - pKey + " " + MessageFormat.format(message, pParameters)); + if (isLoggableTrace(level)) { + final List<TraceListener> traceListeners = getTraceListeners(); + StackTraceElement caller = getCaller(); + for (int i = 0; i < traceListeners.size(); ++i) { + traceListeners.get(i).trace(level, caller, + pKey + " " + MessageFormat.format(message, pParameters)); + } } final List<LogListener> logListeners = getLogListeners(); for (int i = 0; i < logListeners.size(); ++i) { @@ -583,11 +585,12 @@ */ public void trace(Level pLevel, String pMessage) { try { - final List<TraceListener> traceListeners = getTraceListeners(); - StackTraceElement caller = null; - for (int i = 0; i < traceListeners.size(); ++i) { - caller = caller == null ? getCaller() : caller; - traceListeners.get(i).trace(pLevel, caller, pMessage); + if (isLoggableTrace(pLevel)) { + final List<TraceListener> traceListeners = getTraceListeners(); + StackTraceElement caller = getCaller(); + for (int i = 0; i < traceListeners.size(); ++i) { + traceListeners.get(i).trace(pLevel, caller, pMessage); + } } } catch (Exception e) { // don't crash for logging @@ -607,11 +610,12 @@ */ public void trace(Level pLevel, String pMessage, Throwable pThrown) { try { - final List<TraceListener> traceListeners = getTraceListeners(); - StackTraceElement caller = null; - for (int i = 0; i < traceListeners.size(); ++i) { - caller = caller == null ? getCaller() : caller; - traceListeners.get(i).trace(pLevel, caller, pMessage, pThrown); + if (isLoggableTrace(pLevel)) { + final List<TraceListener> traceListeners = getTraceListeners(); + StackTraceElement caller = getCaller(); + for (int i = 0; i < traceListeners.size(); ++i) { + traceListeners.get(i).trace(pLevel, caller, pMessage, pThrown); + } } } catch (Exception e) { // don't crash for logging |
From: Dave B. <bla...@us...> - 2012-03-13 15:50:46
|
Update of /cvsroot/sblim/jsr48-client/src/org/sblim/cimclient In directory vz-cvs-3.sog:/tmp/cvs-serv22239/src/org/sblim/cimclient Modified Files: WBEMConfigurationProperties.java Log Message: 3492246 - Rename new indication trace property (hdr only) Index: WBEMConfigurationProperties.java =================================================================== RCS file: /cvsroot/sblim/jsr48-client/src/org/sblim/cimclient/WBEMConfigurationProperties.java,v retrieving revision 1.44 retrieving revision 1.45 diff -u -d -r1.44 -r1.45 --- WBEMConfigurationProperties.java 13 Mar 2012 15:46:29 -0000 1.44 +++ WBEMConfigurationProperties.java 13 Mar 2012 15:50:43 -0000 1.45 @@ -35,6 +35,7 @@ * 3288721 2011-05-20 blaschke-oss Need the function of indication reordering * 3459036 2011-12-13 blaschke-oss Linked list for RI queue not efficient for many LDs * 3485074 2012-02-06 blaschke-oss An Indication trace request + * 3492246 2012-02-23 blaschke-oss Rename new indication trace property * 3492214 2012-02-23 blaschke-oss Add a SenderIPAddress property indications * 3492224 2012-02-23 blaschke-oss Need two different timeouts for Socket connections */ |
From: Dave B. <bla...@us...> - 2012-03-13 15:46:32
|
Update of /cvsroot/sblim/jsr48-client In directory vz-cvs-3.sog:/tmp/cvs-serv22131 Modified Files: NEWS sblim-cim-client2.properties Log Message: 3492224 - Need two different timeouts for Socket connections Index: NEWS =================================================================== RCS file: /cvsroot/sblim/jsr48-client/NEWS,v retrieving revision 1.259 retrieving revision 1.260 diff -u -d -r1.259 -r1.260 --- NEWS 13 Mar 2012 15:27:45 -0000 1.259 +++ NEWS 13 Mar 2012 15:46:29 -0000 1.260 @@ -1,5 +1,6 @@ Changes in HEAD ================ +3492224 Need two different timeouts for Socket connections 3492214 Add a SenderIPAddress property indications 3492246 Rename new indication trace property 3490355 TCK: Cannot instantiate WBEMClientFactory Index: sblim-cim-client2.properties =================================================================== RCS file: /cvsroot/sblim/jsr48-client/sblim-cim-client2.properties,v retrieving revision 1.26 retrieving revision 1.27 diff -u -d -r1.26 -r1.27 --- sblim-cim-client2.properties 13 Mar 2012 15:27:46 -0000 1.26 +++ sblim-cim-client2.properties 13 Mar 2012 15:46:29 -0000 1.27 @@ -352,9 +352,9 @@ #sblim.wbem.synchronizedSslHandshake=false # If set to true, socket connections are attempted with the timeout value defined by -# sblim.wbem.httpTimeout. If set to false, socket connections are attempted without -# a timeout. Using a timeout for socket connections is the preferred method but may -# introduce intermittent, significant performance impacts during the connection +# sblim.wbem.socketConnectTimeout. If set to false, socket connections are attempted +# without a timeout. Using a timeout for socket connections is the preferred method +# but may introduce intermittent, significant performance impacts during the connection # process in Java 5+ (see Sun bug 5092063). # # Type: Boolean @@ -363,6 +363,19 @@ # #sblim.wbem.socketConnectWithTimeout=true +# The timeout for socket connect requests. A timeout of zero is interpreted as +# infinite timeout. +# +# Note: This property has no effect unless socket connection with timeout is +# enabled (see the sblim.wbem.socketConnectWithTimeout property). +# +# Type: Integer +# Recognition: Anytime +# Range: 0 .. Integer.MAX_VALUE +# Default: 0 +# +#sblim.wbem.socketConnectTimeout=0 + # Turn on/off usage of the default user/password, which can be used # if the CIMOM requires a "garbage" credential. If set to false, # user-supplied credentials will be applied. If set to true, |