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: Dave B. <bla...@us...> - 2013-10-29 12:43:36
|
Update of /cvsroot/sblim/jsr48-client/src/org/sblim/cimclient/internal/cimxml In directory sfp-cvs-1.v30.ch3.sourceforge.com:/tmp/cvs-serv12066/src/org/sblim/cimclient/internal/cimxml Modified Files: CIMXMLParserImpl.java Log Message: 2685 Element.getAttribute returns empty string if no attribute Index: CIMXMLParserImpl.java =================================================================== RCS file: /cvsroot/sblim/jsr48-client/src/org/sblim/cimclient/internal/cimxml/CIMXMLParserImpl.java,v retrieving revision 1.65 retrieving revision 1.66 diff -u -d -r1.65 -r1.66 --- CIMXMLParserImpl.java 29 Oct 2013 12:34:21 -0000 1.65 +++ CIMXMLParserImpl.java 29 Oct 2013 12:43:34 -0000 1.66 @@ -72,6 +72,7 @@ * 2681 2013-10-02 blaschke-oss parseQUALIFIERDECLARATION does not require TYPE attribute * 2683 2013-10-07 blaschke-oss KEYVALUE VALUETYPE optional, "string" default * 2684 2013-10-07 blaschke-oss parseEXPMETHODRESPONSE has several issues + * 2685 2013-10-07 blaschke-oss Element.getAttribute returns empty string if no attribute */ package org.sblim.cimclient.internal.cimxml; @@ -2053,7 +2054,7 @@ // <!ATTLIST PROPERTY.ARRAY // %NAME;%TYPE;%ARRAYSIZE;%CLASSORIGIN;%PROPAGATED;> - String name = pPropArrayE.getAttribute("NAME"); + String name = attribute(pPropArrayE, "NAME"); if (name == null) throw new CIMXMLParseException( "PROPERTY.ARRAY element missing NAME attribute!"); @@ -2099,7 +2100,7 @@ // <!ATTLIST PROPERTY.REFERENCE // %NAME;%REFERENCECLASS;%CLASSORIGIN;%PROPAGATED;> - String name = pPropRefE.getAttribute("NAME"); + String name = attribute(pPropRefE, "NAME"); if (name == null) throw new CIMXMLParseException( "PROPERTY.REFERENCE element missing NAME attribute!"); @@ -2448,7 +2449,7 @@ // ((LOCALCLASSPATH|LOCALINSTANCEPATH),PARAMVALUE*)> // <!ATTLIST METHODCALL // %CIMName;> - if (pMethodCallE.getAttribute("NAME") == null) throw new CIMXMLParseException( + if (attribute(pMethodCallE, "NAME") == null) throw new CIMXMLParseException( "METHODCALL element missing NAME attribute!"); CIMRequest request = new CIMRequest(); @@ -2502,7 +2503,7 @@ // %CIMName;> CIMRequest request = new CIMRequest(); - String methodname = pIMethodCallE.getAttribute("NAME"); // ebak: + String methodname = attribute(pIMethodCallE, "NAME"); // ebak: // CIMName->NAME if (methodname == null) throw new CIMXMLParseException( "IMETHODCALL element missing NAME attribute!"); @@ -2648,7 +2649,7 @@ public static CIMResponse parseMETHODRESPONSE(Element pMethodResponseE) throws CIMXMLParseException { // <!ELEMENT METHODRESPONSE (ERROR|(RETURNVALUE?,PARAMVALUE*))> - if (pMethodResponseE.getAttribute("NAME") == null) throw new CIMXMLParseException( + if (attribute(pMethodResponseE, "NAME") == null) throw new CIMXMLParseException( "METHODRESPONSE element missing NAME attribute!"); CIMResponse response = new CIMResponse(); @@ -2715,7 +2716,7 @@ public static CIMResponse parseIMETHODRESPONSE(Element pIMethodResponseE) throws CIMXMLParseException { // <!ELEMENT IMETHODRESPONSE (ERROR|(IRETURNVALUE?, PARAMVALUE*))> - if (pIMethodResponseE.getAttribute("NAME") == null) throw new CIMXMLParseException( + if (attribute(pIMethodResponseE, "NAME") == null) throw new CIMXMLParseException( "IMETHODRESPONSE element missing NAME attribute!"); CIMResponse response = new CIMResponse(); |
From: Dave B. <bla...@us...> - 2013-10-29 12:34:23
|
Update of /cvsroot/sblim/jsr48-client In directory sfp-cvs-1.v30.ch3.sourceforge.com:/tmp/cvs-serv11625 Modified Files: NEWS Log Message: 2684 parseEXPMETHODRESPONSE has several issues Index: NEWS =================================================================== RCS file: /cvsroot/sblim/jsr48-client/NEWS,v retrieving revision 1.388 retrieving revision 1.389 diff -u -d -r1.388 -r1.389 --- NEWS 29 Oct 2013 12:22:24 -0000 1.388 +++ NEWS 29 Oct 2013 12:34:21 -0000 1.389 @@ -1,5 +1,6 @@ Changes in HEAD ================ + 2684 parseEXPMETHODRESPONSE has several issues 2683 KEYVALUE VALUETYPE optional, "string" default 2682 (I)MethodCallNode allows no LOCAL*PATH 2681 parseQUALIFIERDECLARATION does not require TYPE attribute |
From: Dave B. <bla...@us...> - 2013-10-29 12:22:26
|
Update of /cvsroot/sblim/jsr48-client In directory sfp-cvs-1.v30.ch3.sourceforge.com:/tmp/cvs-serv10928 Modified Files: NEWS Log Message: 2683 KEYVALUE VALUETYPE optional, "string" default Index: NEWS =================================================================== RCS file: /cvsroot/sblim/jsr48-client/NEWS,v retrieving revision 1.387 retrieving revision 1.388 diff -u -d -r1.387 -r1.388 --- NEWS 29 Oct 2013 12:11:59 -0000 1.387 +++ NEWS 29 Oct 2013 12:22:24 -0000 1.388 @@ -1,5 +1,6 @@ Changes in HEAD ================ + 2683 KEYVALUE VALUETYPE optional, "string" default 2682 (I)MethodCallNode allows no LOCAL*PATH 2681 parseQUALIFIERDECLARATION does not require TYPE attribute 2680 IPARAMVALUE parsing broken on DOM/SAX |
From: Dave B. <bla...@us...> - 2013-10-29 12:12:01
|
Update of /cvsroot/sblim/jsr48-client In directory sfp-cvs-1.v30.ch3.sourceforge.com:/tmp/cvs-serv10270 Modified Files: NEWS Log Message: 2682 (I)MethodCallNode allows no LOCAL*PATH Index: NEWS =================================================================== RCS file: /cvsroot/sblim/jsr48-client/NEWS,v retrieving revision 1.386 retrieving revision 1.387 diff -u -d -r1.386 -r1.387 --- NEWS 29 Oct 2013 12:00:09 -0000 1.386 +++ NEWS 29 Oct 2013 12:11:59 -0000 1.387 @@ -1,5 +1,6 @@ Changes in HEAD ================ + 2682 (I)MethodCallNode allows no LOCAL*PATH 2681 parseQUALIFIERDECLARATION does not require TYPE attribute 2680 IPARAMVALUE parsing broken on DOM/SAX 2679 parseIMETHODCALL requires one IPARAMVALUE child element |
From: Dave B. <bla...@us...> - 2013-10-29 12:00:11
|
Update of /cvsroot/sblim/jsr48-client In directory sfp-cvs-1.v30.ch3.sourceforge.com:/tmp/cvs-serv9668 Modified Files: NEWS Log Message: 2681 parseQUALIFIERDECLARATION does not require TYPE attribute Index: NEWS =================================================================== RCS file: /cvsroot/sblim/jsr48-client/NEWS,v retrieving revision 1.385 retrieving revision 1.386 diff -u -d -r1.385 -r1.386 --- NEWS 29 Oct 2013 11:39:35 -0000 1.385 +++ NEWS 29 Oct 2013 12:00:09 -0000 1.386 @@ -1,5 +1,6 @@ Changes in HEAD ================ + 2681 parseQUALIFIERDECLARATION does not require TYPE attribute 2680 IPARAMVALUE parsing broken on DOM/SAX 2679 parseIMETHODCALL requires one IPARAMVALUE child element 2678 parseMULTI___ allows one SIMPLE___ child element |
From: Dave B. <bla...@us...> - 2013-10-29 11:39:37
|
Update of /cvsroot/sblim/jsr48-client/src/org/sblim/cimclient/internal/cimxml In directory sfp-cvs-1.v30.ch3.sourceforge.com:/tmp/cvs-serv8588/src/org/sblim/cimclient/internal/cimxml Modified Files: CIMXMLParserImpl.java Log Message: IPARAMVALUE parsing broken on DOM/SAX Index: CIMXMLParserImpl.java =================================================================== RCS file: /cvsroot/sblim/jsr48-client/src/org/sblim/cimclient/internal/cimxml/CIMXMLParserImpl.java,v retrieving revision 1.61 retrieving revision 1.62 diff -u -d -r1.61 -r1.62 --- CIMXMLParserImpl.java 29 Oct 2013 11:28:43 -0000 1.61 +++ CIMXMLParserImpl.java 29 Oct 2013 11:39:35 -0000 1.62 @@ -68,6 +68,7 @@ * 2676 2013-09-27 blaschke-oss parseMULTI(EXP)REQ looking for wrong child elements * 2678 2013-09-30 blaschke-oss parseMULTI___ allows one SIMPLE___ child element * 2679 2013-10-01 blaschke-oss parseIMETHODCALL requires one IPARAMVALUE child element + * 2680 2013-10-02 blaschke-oss IPARAMVALUE parsing broken on DOM/SAX */ package org.sblim.cimclient.internal.cimxml; @@ -1425,7 +1426,7 @@ TypedValue tVal = parseVALUE(valueE); String valueStr = (String) tVal.getValue(); type = typeStr == null ? tVal.getType() : parseScalarTypeStr(typeStr); - value = createJavaObject(type.toString(), valueStr); + value = createJavaObject(type == null ? null : type.toString(), valueStr); } } if (type == null && (pMask & VALUEREF) > 0) { @@ -1447,7 +1448,8 @@ if (valStrA != null) { Object[] values = new Object[valStrA.length]; for (int i = 0; i < valStrA.length; i++) { - values[i] = createJavaObject(type.toString(), valStrA[i]); + values[i] = createJavaObject(type == null ? null : type.toString(), + valStrA[i]); } value = values; } @@ -2275,9 +2277,13 @@ if (name == null) throw new CIMXMLParseException( "IPARAMVALUE element missing NAME attribute!"); // this can parse VALUE, VALUE.ARRAY and VALUE.REFERENCE - TypedValue typedValue = parseSingleValue(pParamValueE, VALUE | VALUEA | VALUEREF); - if (typedValue.getType() != null) { return new CIMArgument<Object>(name, typedValue - .getType(), typedValue.getValue()); } + if (searchFirstNode(pParamValueE, "VALUE") != null + || searchFirstNode(pParamValueE, "VALUE.ARRAY") != null + || searchFirstNode(pParamValueE, "VALUE.REFERENCE") != null) { + TypedValue typedValue = parseSingleValue(pParamValueE, VALUE | VALUEA | VALUEREF); + if (typedValue.getType() != null) { return new CIMArgument<Object>(name, typedValue + .getType(), typedValue.getValue()); } + } // we can have different types too which cannot be handled by // parseSingleValue() @@ -2289,6 +2295,14 @@ return new CIMArgument<Object>(name, type, op); } + // CLASSNAME + Element classNameE = (Element) searchFirstNode(pParamValueE, "CLASSNAME"); + if (classNameE != null) { + CIMObjectPath op = parseCLASSNAME(classNameE); + CIMDataType type = new CIMDataType(op.getObjectName()); + return new CIMArgument<Object>(name, type, op); + } + // QUALIFIER.DECLARATION Element qualiDeclarationE = (Element) searchFirstNode(pParamValueE, "QUALIFIER.DECLARATION"); if (qualiDeclarationE != null) { @@ -2302,30 +2316,24 @@ Element classE = (Element) searchFirstNode(pParamValueE, "CLASS"); if (classE != null) { CIMClass cl = parseCLASS(classE); - // FIXME: ebak: Does it surely have to be mapped to type: REFERENCE? - // Why not map to type: CLASS? - return new CIMArgument<Object>(name, new CIMDataType(cl.getName()), cl); + return new CIMArgument<Object>(name, CIMDataType.CLASS_T, cl); } // INSTANCE Element instanceE = (Element) searchFirstNode(pParamValueE, "INSTANCE"); if (instanceE != null) { CIMInstance inst = parseINSTANCE(instanceE); - // FIXME: ebak: Does it surely have to be mapped to type: REFERENCE? - // Why not map to type: OBJECT? - return new CIMArgument<Object>(name, new CIMDataType(inst.getClassName()), inst); + return new CIMArgument<Object>(name, CIMDataType.OBJECT_T, inst); } // VALUE.NAMEDINSTANCE Element valuenamedisntanceE = (Element) searchFirstNode(pParamValueE, "VALUE.NAMEDINSTANCE"); if (valuenamedisntanceE != null) { CIMInstance inst = parseVALUENAMEDINSTANCE(valuenamedisntanceE); - // FIXME: ebak: Does it surely have to be mapped to type: REFERENCE? - // Why not map to type: OBJECT? - return new CIMArgument<Object>(name, new CIMDataType(inst.getClassName()), inst); + return new CIMArgument<Object>(name, CIMDataType.OBJECT_T, inst); } - return null; + return new CIMArgument<Object>(name, CIMDataType.STRING_T, null); } /** |
From: Dave B. <bla...@us...> - 2013-10-29 11:28:46
|
Update of /cvsroot/sblim/jsr48-client/src/org/sblim/cimclient/internal/cimxml In directory sfp-cvs-1.v30.ch3.sourceforge.com:/tmp/cvs-serv7999/src/org/sblim/cimclient/internal/cimxml Modified Files: CIMXMLParserImpl.java Log Message: 2679 parseIMETHODCALL requires one IPARAMVALUE child element Index: CIMXMLParserImpl.java =================================================================== RCS file: /cvsroot/sblim/jsr48-client/src/org/sblim/cimclient/internal/cimxml/CIMXMLParserImpl.java,v retrieving revision 1.60 retrieving revision 1.61 diff -u -d -r1.60 -r1.61 --- CIMXMLParserImpl.java 29 Oct 2013 11:21:07 -0000 1.60 +++ CIMXMLParserImpl.java 29 Oct 2013 11:28:43 -0000 1.61 @@ -67,6 +67,7 @@ * 2675 2013-09-27 blaschke-oss CIMXMLParseException messages should contain element name * 2676 2013-09-27 blaschke-oss parseMULTI(EXP)REQ looking for wrong child elements * 2678 2013-09-30 blaschke-oss parseMULTI___ allows one SIMPLE___ child element + * 2679 2013-10-01 blaschke-oss parseIMETHODCALL requires one IPARAMVALUE child element */ package org.sblim.cimclient.internal.cimxml; @@ -2531,10 +2532,9 @@ argA[i] = arg; } request.addParamValue(argA); - return request; } - throw new CIMXMLParseException("IMETHODCALL element missing IPARAMVALUE child element!"); + return request; } /** |
From: Dave B. <bla...@us...> - 2013-10-29 11:21:09
|
Update of /cvsroot/sblim/jsr48-client/src/org/sblim/cimclient/internal/cimxml In directory sfp-cvs-1.v30.ch3.sourceforge.com:/tmp/cvs-serv7644/src/org/sblim/cimclient/internal/cimxml Modified Files: CIMXMLParserImpl.java Log Message: 2678 parseMULTI___ allows one SIMPLE___ child element Index: CIMXMLParserImpl.java =================================================================== RCS file: /cvsroot/sblim/jsr48-client/src/org/sblim/cimclient/internal/cimxml/CIMXMLParserImpl.java,v retrieving revision 1.59 retrieving revision 1.60 diff -u -d -r1.59 -r1.60 --- CIMXMLParserImpl.java 11 Oct 2013 10:34:21 -0000 1.59 +++ CIMXMLParserImpl.java 29 Oct 2013 11:21:07 -0000 1.60 @@ -66,6 +66,7 @@ * 2671 2013-09-25 blaschke-oss Potential null pointer exception in parseERROR * 2675 2013-09-27 blaschke-oss CIMXMLParseException messages should contain element name * 2676 2013-09-27 blaschke-oss parseMULTI(EXP)REQ looking for wrong child elements + * 2678 2013-09-30 blaschke-oss parseMULTI___ allows one SIMPLE___ child element */ package org.sblim.cimclient.internal.cimxml; @@ -2192,6 +2193,13 @@ return response; } // MULTIEXPRSP + Element multiexprspE = (Element) searchFirstNode(pMessageE, "MULTIEXPRSP"); + if (multiexprspE != null) { + CIMResponse response = parseMULTIEXPRSP(multiexprspE); + response.setMethod("MULTIEXPRSP"); + response.setId(id); + return response; + } // SIMPLEREQ Element simplereqE = (Element) searchFirstNode(pMessageE, "SIMPLEREQ"); @@ -2354,6 +2362,8 @@ Element[] multiRespElementA = searchNodes(pSimpleRspE, "SIMPLERSP"); if (multiRespElementA != null && multiRespElementA.length > 0) { + if (multiRespElementA.length < 2) throw new CIMXMLParseException( + "MULTIRSP element must have at least two SIMPLERSP child elements!"); CIMResponse multiRsp = new CIMResponse(); for (int i = 0; i < multiRespElementA.length; i++) { Element methodresponseE = multiRespElementA[i]; @@ -2400,6 +2410,8 @@ Element[] methodReqElementA = searchNodes(pMultiReqE, "SIMPLEREQ"); if (methodReqElementA != null && methodReqElementA.length > 0) { + if (methodReqElementA.length < 2) throw new CIMXMLParseException( + "MULTIREQ element must have at least two SIMPLEREQ child elements!"); CIMRequest multiReq = new CIMRequest(); for (int i = 0; i < methodReqElementA.length; i++) { Element methodrequestE = methodReqElementA[i]; @@ -2554,6 +2566,8 @@ Element[] methodReqElementA = searchNodes(pMultiExpReqE, "SIMPLEEXPREQ"); if (methodReqElementA != null && methodReqElementA.length > 0) { + if (methodReqElementA.length < 2) throw new CIMXMLParseException( + "MULTIEXPREQ element must have at least two SIMPLEEXPREQ child elements!"); CIMRequest multiReq = new CIMRequest(); for (int i = 0; i < methodReqElementA.length; i++) { Element methodrequestE = methodReqElementA[i]; @@ -3206,6 +3220,33 @@ } /** + * parseMULTIEXPRSP + * + * @param pMultiExpRspE + * @return CIMResponse + * @throws CIMXMLParseException + */ + public static CIMResponse parseMULTIEXPRSP(Element pMultiExpRspE) throws CIMXMLParseException { + // <!ELEMENT MULTIEXPRSP (SIMPLEEXPRSP,SIMPLEEXPRSP+)> + + Element[] multiExpRespElementA = searchNodes(pMultiExpRspE, "SIMPLEEXPRSP"); + if (multiExpRespElementA != null && multiExpRespElementA.length > 0) { + if (multiExpRespElementA.length < 2) throw new CIMXMLParseException( + "MULTIEXPRSP element must have at least two SIMPLEEXPRSP child elements!"); + CIMResponse multiExpRsp = new CIMResponse(); + for (int i = 0; i < multiExpRespElementA.length; i++) { + Element methodresponseE = multiExpRespElementA[i]; + CIMResponse rsp = parseSIMPLEEXPRSP(methodresponseE); + rsp.setMethod("SIMPLEEXPRSP"); + multiExpRsp.addResponse(rsp); + } + return multiExpRsp; + } + + throw new CIMXMLParseException("MULTIEXPRSP element missing SIMPLEEXPRSP child element!"); + } + + /** * parseEXPMETHODRESPONSE * * @param pExpMethodResponseE |
From: Dave B. <bla...@us...> - 2013-10-29 11:09:59
|
Update of /cvsroot/sblim/jsr48-client/src/org/sblim/cimclient/internal/cimxml/sax/node In directory sfp-cvs-1.v30.ch3.sourceforge.com:/tmp/cvs-serv7045/src/org/sblim/cimclient/internal/cimxml/sax/node Modified Files: ObjectPathNode.java Log Message: 2677 ObjectPathNode allows all child nodes Index: ObjectPathNode.java =================================================================== RCS file: /cvsroot/sblim/jsr48-client/src/org/sblim/cimclient/internal/cimxml/sax/node/ObjectPathNode.java,v retrieving revision 1.6 retrieving revision 1.7 diff -u -d -r1.6 -r1.7 --- ObjectPathNode.java 10 Mar 2009 17:05:32 -0000 1.6 +++ ObjectPathNode.java 29 Oct 2013 11:09:57 -0000 1.7 @@ -1,5 +1,5 @@ /** - * (C) Copyright IBM Corp. 2006, 2009 + * (C) Copyright IBM Corp. 2006, 2013 * * THIS FILE IS PROVIDED UNDER THE TERMS OF THE ECLIPSE PUBLIC LICENSE * ("AGREEMENT"). ANY USE, REPRODUCTION OR DISTRIBUTION OF THIS FILE @@ -18,6 +18,7 @@ * 1720707 2007-05-17 ebak Conventional Node factory for CIM-XML SAX parser * 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) + * 2677 2013-09-30 blaschke-oss ObjectPathNode allows all child nodes */ package org.sblim.cimclient.internal.cimxml.sax.node; @@ -68,6 +69,9 @@ if (this.iObjPath != null) throw new SAXException(getNodeName() + " node can have only one INSTANCEPATH or CLASSPATH child node!" + " Additional " + pNodeNameEnum + " child node is invalid!"); + if (pNodeNameEnum != CLASSPATH && pNodeNameEnum != INSTANCEPATH) throw new SAXException( + getNodeName() + " node child node can be CLASSPATH or INSTANCEPATH but a " + + pNodeNameEnum + " node was found!"); } @Override |
From: Dave B. <bla...@us...> - 2013-10-25 15:55:22
|
Update of /cvsroot/sblim/jsr48-client/src/org/sblim/cimclient/internal/cimxml In directory sfp-cvs-1.v30.ch3.sourceforge.com:/tmp/cvs-serv24233/src/org/sblim/cimclient/internal/cimxml Modified Files: Tag: Experimental CIMXMLParserImpl.java Log Message: 2695 parseMETHODCALL allows LOCALCLASSPATH and LOCALINSTANCEPATH Index: CIMXMLParserImpl.java =================================================================== RCS file: /cvsroot/sblim/jsr48-client/src/org/sblim/cimclient/internal/cimxml/CIMXMLParserImpl.java,v retrieving revision 1.14.2.62 retrieving revision 1.14.2.63 diff -u -d -r1.14.2.62 -r1.14.2.63 --- CIMXMLParserImpl.java 25 Oct 2013 15:02:24 -0000 1.14.2.62 +++ CIMXMLParserImpl.java 25 Oct 2013 15:55:20 -0000 1.14.2.63 @@ -77,7 +77,8 @@ * 2688 2013-10-10 blaschke-oss parseMETHODCALL looks for CIMName attribute instead of NAME * 2537 2013-10-17 blaschke-oss Add new data types for PARAMVALUE * 2691 2013-10-18 blaschke-oss RETURNVALUE should not require PARAMTYPE attribute - * 2694 2013-10-25 blaschke-oss NAME attribute not required by DOM parser (part 2) + * 2694 2013-10-25 blaschke-oss NAME attribute not required by DOM parser (part 2) + * 2695 2013-10-25 blaschke-oss parseMETHODCALL allows LOCALCLASSPATH and LOCALINSTANCEPATH */ package org.sblim.cimclient.internal.cimxml; @@ -2518,6 +2519,9 @@ Element localinstancepathE = (Element) searchFirstNode(pMethodCallE, "LOCALINSTANCEPATH"); if (localinstancepathE != null) { + if (localclasspathFound) throw new CIMXMLParseException( + "METHODCALL element cannot have both LOCALCLASSPATH and LOCALINSTANCEPATH child elements!"); + CIMObjectPath path = parseLOCALINSTANCEPATH(localinstancepathE); request.setObjectPath(path); |
From: Dave B. <bla...@us...> - 2013-10-25 15:02:27
|
Update of /cvsroot/sblim/jsr48-client/src/org/sblim/cimclient/internal/cimxml In directory sfp-cvs-1.v30.ch3.sourceforge.com:/tmp/cvs-serv19599/src/org/sblim/cimclient/internal/cimxml Modified Files: Tag: Experimental CIMXMLParserImpl.java Log Message: 2694 NAME attribute not required by DOM parser (part 2) Index: CIMXMLParserImpl.java =================================================================== RCS file: /cvsroot/sblim/jsr48-client/src/org/sblim/cimclient/internal/cimxml/CIMXMLParserImpl.java,v retrieving revision 1.14.2.61 retrieving revision 1.14.2.62 diff -u -d -r1.14.2.61 -r1.14.2.62 --- CIMXMLParserImpl.java 18 Oct 2013 18:40:18 -0000 1.14.2.61 +++ CIMXMLParserImpl.java 25 Oct 2013 15:02:24 -0000 1.14.2.62 @@ -77,6 +77,7 @@ * 2688 2013-10-10 blaschke-oss parseMETHODCALL looks for CIMName attribute instead of NAME * 2537 2013-10-17 blaschke-oss Add new data types for PARAMVALUE * 2691 2013-10-18 blaschke-oss RETURNVALUE should not require PARAMTYPE attribute + * 2694 2013-10-25 blaschke-oss NAME attribute not required by DOM parser (part 2) */ package org.sblim.cimclient.internal.cimxml; @@ -2654,6 +2655,11 @@ // EXPMETHODCALL CIMRequest request = new CIMRequest(); + String methodname = attribute(pExpMethodCallE, "NAME"); + if (methodname == null) throw new CIMXMLParseException( + "EXPMETHODCALL element missing NAME attribute!"); + request.setMethodName(methodname); + Element[] paramValElementA = searchNodes(pExpMethodCallE, "EXPPARAMVALUE"); Vector<CIMInstance> v = new Vector<CIMInstance>(); if (paramValElementA != null) { @@ -2680,6 +2686,9 @@ // <!ATTLIST EXPPARAMVALUE // %CIMName;> // INSTANCE + if (attribute(pExpParamValueE, "NAME") == null) throw new CIMXMLParseException( + "EXPPARAMVALUE element missing NAME attribute!"); + Element[] instanceA = searchNodes(pExpParamValueE, "INSTANCE"); if (instanceA != null && instanceA.length > 0) { if (instanceA.length > 1) throw new CIMXMLParseException( |
From: Dave H. <hel...@us...> - 2013-10-24 01:21:16
|
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_1.3 has been updated via 93a908cd8ab0e74d22a70849824453c3bb6d45b7 (commit) from 1afe5a3e6bf4c012e232bb0b87ccda55e3ccfdac (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 93a908cd8ab0e74d22a70849824453c3bb6d45b7 Author: Dave Heller <hel...@us...> Date: Wed Oct 23 21:19:35 2013 -0400 [sfcb-tix:#87] Support configurable SSL ECDH elliptic curve name ----------------------------------------------------------------------- Summary of changes: control.c | 1 + httpAdapter.c | 22 ++++++++++++++++++++++ sfcb.cfg.pre.in | 9 +++++++++ 3 files changed, 32 insertions(+), 0 deletions(-) diff --git a/control.c b/control.c index 369399e..d7d833a 100644 --- a/control.c +++ b/control.c @@ -110,6 +110,7 @@ static Control init[] = { {"sslCertificateFilePath", 0, SFCB_CONFDIR "/server.pem"}, {"sslCiphers", 0, "ALL:!ADH:!LOW:!EXP:!MD5:@STRENGTH"}, {"sslDhParamsFilePath", 0, NULL}, + {"sslEcDhCurveName", 0, "secp224r1"}, {"registrationDir", 0, SFCB_STATEDIR "/registration"}, {"providerDirs", 3, SFCB_LIBDIR " " CMPI_LIBDIR " " LIBDIR}, /* 3: unstripped */ diff --git a/httpAdapter.c b/httpAdapter.c index 8891e92..5c02237 100644 --- a/httpAdapter.c +++ b/httpAdapter.c @@ -1781,6 +1781,28 @@ initSSL() } #endif // HEADER_DH_H +#if (defined HEADER_EC_H && !defined OPENSSL_NO_EC) + /* + * Set ECDH curve name for ephemeral key generation + */ + char *ecdh_curve_name; + getControlChars("sslEcDhCurveName", &ecdh_curve_name); + if (ecdh_curve_name) { + _SFCB_TRACE(1, ("--- sslEcDhCurveName = %s", ecdh_curve_name)); + EC_KEY *ecdh = EC_KEY_new_by_curve_name(OBJ_sn2nid(ecdh_curve_name)); + if (ecdh) { + SSL_CTX_set_tmp_ecdh(ctx, ecdh); + EC_KEY_free(ecdh); + } else { + unsigned long sslqerr = ERR_get_error(); + mlogf(M_ERROR, M_SHOW, "--- Failure setting ECDH curve name (%s): %s\n", + ecdh_curve_name, sslqerr != 0 ? + ERR_error_string(sslqerr, NULL ) : "unknown openssl error"); + intSSLerror("Error setting ECDH curve name for SSL"); + } + } +#endif // HEADER_EC_H + sslReloadRequested = 0; } #endif // USE_SSL diff --git a/sfcb.cfg.pre.in b/sfcb.cfg.pre.in index f3f8f6e..457ffd7 100644 --- a/sfcb.cfg.pre.in +++ b/sfcb.cfg.pre.in @@ -219,6 +219,15 @@ sslCiphers: ALL:!ADH:!LOW:!EXP:!MD5:@STRENGTH ## Default is: not set #sslDhParamsFilePath: @sysconfdir@/sfcb/dh_param_file.pem +## Configure a curve name for ECDH ephemeral key generation. See man +## SSL_CTX_set_tmp_ecdh(3) for details. The value should be a curve name +## listed by the "openssl ecparam -list_curves" command in the SFCB runtime +## environment. If this value is not set, the indicated default is in effect. +## If the value is set but the curve name is not recognized by the underlying +## openssl implementation, SFCB will abort. +## Default is secp224r1 +#sslEcDhCurveName: secp224r1 + ##---------------------------------- UDS -------------------------------------- ## These options only apply if configured with --enable-uds hooks/post-receive -- sfcb - Small Footprint CIM Broker |
From: Dave H. <hel...@us...> - 2013-10-24 01:09:22
|
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_1.3 has been updated via 1afe5a3e6bf4c012e232bb0b87ccda55e3ccfdac (commit) from 0851a9d054d3cf950977a03cfa796665a35ab11f (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 1afe5a3e6bf4c012e232bb0b87ccda55e3ccfdac Author: Dave Heller <hel...@us...> Date: Wed Oct 23 21:06:41 2013 -0400 [sfcb-tix:#86] Support configurable SSL Diffie Hellman parameters file ----------------------------------------------------------------------- Summary of changes: control.c | 1 + httpAdapter.c | 24 ++++++++++++++++++++++++ sfcb.cfg.pre.in | 11 +++++++++++ 3 files changed, 36 insertions(+), 0 deletions(-) diff --git a/control.c b/control.c index bc40e5c..369399e 100644 --- a/control.c +++ b/control.c @@ -109,6 +109,7 @@ static Control init[] = { {"sslKeyFilePath", 0, SFCB_CONFDIR "/file.pem"}, {"sslCertificateFilePath", 0, SFCB_CONFDIR "/server.pem"}, {"sslCiphers", 0, "ALL:!ADH:!LOW:!EXP:!MD5:@STRENGTH"}, + {"sslDhParamsFilePath", 0, NULL}, {"registrationDir", 0, SFCB_STATEDIR "/registration"}, {"providerDirs", 3, SFCB_LIBDIR " " CMPI_LIBDIR " " LIBDIR}, /* 3: unstripped */ diff --git a/httpAdapter.c b/httpAdapter.c index 01397dc..8891e92 100644 --- a/httpAdapter.c +++ b/httpAdapter.c @@ -1700,6 +1700,7 @@ initSSL() *fnk, *fnt, *fnl, + *fdhp, *sslCiphers; int rc; @@ -1757,6 +1758,29 @@ initSSL() if (SSL_CTX_set_cipher_list(ctx, sslCiphers) != 1) intSSLerror("Error setting cipher list (no valid ciphers)"); +#if (defined HEADER_DH_H && !defined OPENSSL_NO_DH) + /* + * Set DH parameters file for ephemeral key generation + */ + getControlChars("sslDhParamsFilePath", &fdhp); + if (fdhp) { + _SFCB_TRACE(1, ("--- sslDhParamsFilePath = %s", fdhp)); + BIO *dhpbio = BIO_new_file(fdhp, "r"); + DH *dh_tmp = PEM_read_bio_DHparams(dhpbio, NULL, NULL, NULL); + BIO_free(dhpbio); + if (dh_tmp) { + SSL_CTX_set_tmp_dh(ctx, dh_tmp); + DH_free(dh_tmp); + } else { + unsigned long sslqerr = ERR_get_error(); + mlogf(M_ERROR,M_SHOW,"--- Failure reading DH params file: %s (%s)\n", + fdhp, sslqerr != 0 ? ERR_error_string(sslqerr, NULL) : + "unknown openssl error"); + intSSLerror("Error setting DH params for SSL"); + } + } +#endif // HEADER_DH_H + sslReloadRequested = 0; } #endif // USE_SSL diff --git a/sfcb.cfg.pre.in b/sfcb.cfg.pre.in index 55057ef..f3f8f6e 100644 --- a/sfcb.cfg.pre.in +++ b/sfcb.cfg.pre.in @@ -208,6 +208,17 @@ certificateAuthLib: sfcCertificateAuthentication ## weak ciphers. sslCiphers: ALL:!ADH:!LOW:!EXP:!MD5:@STRENGTH +## Optionally configure a DH parameters file for ephemeral key generation. +## See man SSL_CTX_set_tmp_dh_callback(3) for details. The value should be +## the full path to the file. Note that ephemeral key generation will still +## proceed, where applicable, without this file; it is only required when the +## user desires a key length greater than the (openssl) default. If this +## value is not set, no DH parameters file is configured. If the value is set +## but the file is unreadable or contains bad data, and https is configured, +## SFCB will abort. The data is expected to be in PEM format. +## Default is: not set +#sslDhParamsFilePath: @sysconfdir@/sfcb/dh_param_file.pem + ##---------------------------------- UDS -------------------------------------- ## These options only apply if configured with --enable-uds hooks/post-receive -- sfcb - Small Footprint CIM Broker |
From: Dave H. <hel...@us...> - 2013-10-24 00:47:27
|
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 cc5e641739542c764d9803119720641447d9ea32 (commit) from 75a18c1ac51fa6a8fa9684168e010588312bfc60 (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 cc5e641739542c764d9803119720641447d9ea32 Author: Dave Heller <hel...@us...> Date: Wed Oct 23 20:45:50 2013 -0400 [sfcb-tix:#87] Support configurable SSL ECDH elliptic curve name ----------------------------------------------------------------------- Summary of changes: control.c | 1 + httpAdapter.c | 22 ++++++++++++++++++++++ sfcb.cfg.pre.in | 9 +++++++++ 3 files changed, 32 insertions(+), 0 deletions(-) diff --git a/control.c b/control.c index 2ae5e8a..1e64c42 100644 --- a/control.c +++ b/control.c @@ -118,6 +118,7 @@ static Control init[] = { {"sslCertList", CTL_STRING, SFCB_CONFDIR "/clist.pem", {0}}, {"sslCiphers", CTL_STRING, "ALL:!ADH:!LOW:!EXP:!MD5:@STRENGTH", {0}}, {"sslDhParamsFilePath", CTL_STRING, NULL, {0}}, + {"sslEcDhCurveName", CTL_STRING, "secp224r1", {0}}, {"registrationDir", CTL_STRING, SFCB_STATEDIR "/registration", {0}}, {"providerDirs", CTL_USTRING, SFCB_LIBDIR " " CMPI_LIBDIR " " LIBDIR, {0}}, diff --git a/httpAdapter.c b/httpAdapter.c index 8a11ee3..6ebf481 100644 --- a/httpAdapter.c +++ b/httpAdapter.c @@ -2098,6 +2098,28 @@ initSSL() } #endif // HEADER_DH_H +#if (defined HEADER_EC_H && !defined OPENSSL_NO_EC) + /* + * Set ECDH curve name for ephemeral key generation + */ + char *ecdh_curve_name; + getControlChars("sslEcDhCurveName", &ecdh_curve_name); + if (ecdh_curve_name) { + _SFCB_TRACE(1, ("--- sslEcDhCurveName = %s", ecdh_curve_name)); + EC_KEY *ecdh = EC_KEY_new_by_curve_name(OBJ_sn2nid(ecdh_curve_name)); + if (ecdh) { + SSL_CTX_set_tmp_ecdh(ctx, ecdh); + EC_KEY_free(ecdh); + } else { + unsigned long sslqerr = ERR_get_error(); + mlogf(M_ERROR, M_SHOW, "--- Failure setting ECDH curve name (%s): %s\n", + ecdh_curve_name, sslqerr != 0 ? + ERR_error_string(sslqerr, NULL ) : "unknown openssl error"); + intSSLerror("Error setting ECDH curve name for SSL"); + } + } +#endif // HEADER_EC_H + sslReloadRequested = 0; } #endif // USE_SSL diff --git a/sfcb.cfg.pre.in b/sfcb.cfg.pre.in index f61d8df..d575a7e 100644 --- a/sfcb.cfg.pre.in +++ b/sfcb.cfg.pre.in @@ -282,6 +282,15 @@ sslCiphers: ALL:!ADH:!LOW:!EXP:!MD5:@STRENGTH ## Default is: not set #sslDhParamsFilePath: @sysconfdir@/sfcb/dh_param_file.pem +## Configure a curve name for ECDH ephemeral key generation. See man +## SSL_CTX_set_tmp_ecdh(3) for details. The value should be a curve name +## listed by the "openssl ecparam -list_curves" command in the SFCB runtime +## environment. If this value is not set, the indicated default is in effect. +## If the value is set but the curve name is not recognized by the underlying +## openssl implementation, SFCB will abort. +## Default is secp224r1 +#sslEcDhCurveName: secp224r1 + ##---------------------------------- UDS -------------------------------------- ## These options only apply if configured with --enable-uds hooks/post-receive -- sfcb - Small Footprint CIM Broker |
From: Dave H. <hel...@us...> - 2013-10-24 00:32:55
|
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 75a18c1ac51fa6a8fa9684168e010588312bfc60 (commit) from 745f4b0f678c54e41236b77fcd7b9fee6c9f9898 (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 75a18c1ac51fa6a8fa9684168e010588312bfc60 Author: Dave Heller <hel...@us...> Date: Wed Oct 23 20:29:13 2013 -0400 [sfcb-tix:#86] Support configurable SSL Diffie Hellman parameters file ----------------------------------------------------------------------- Summary of changes: control.c | 1 + httpAdapter.c | 24 ++++++++++++++++++++++++ sfcb.cfg.pre.in | 11 +++++++++++ 3 files changed, 36 insertions(+), 0 deletions(-) diff --git a/control.c b/control.c index f1dc7de..2ae5e8a 100644 --- a/control.c +++ b/control.c @@ -117,6 +117,7 @@ static Control init[] = { {"sslCertificateFilePath", CTL_STRING, SFCB_CONFDIR "/server.pem", {0}}, {"sslCertList", CTL_STRING, SFCB_CONFDIR "/clist.pem", {0}}, {"sslCiphers", CTL_STRING, "ALL:!ADH:!LOW:!EXP:!MD5:@STRENGTH", {0}}, + {"sslDhParamsFilePath", CTL_STRING, NULL, {0}}, {"registrationDir", CTL_STRING, SFCB_STATEDIR "/registration", {0}}, {"providerDirs", CTL_USTRING, SFCB_LIBDIR " " CMPI_LIBDIR " " LIBDIR, {0}}, diff --git a/httpAdapter.c b/httpAdapter.c index 6aee6f4..8a11ee3 100644 --- a/httpAdapter.c +++ b/httpAdapter.c @@ -2015,6 +2015,7 @@ initSSL() *fnt, *fnl, *fcert, + *fdhp, *sslCiphers; int rc; @@ -2074,6 +2075,29 @@ initSSL() if (SSL_CTX_set_cipher_list(ctx, sslCiphers) != 1) intSSLerror("Error setting cipher list (no valid ciphers)"); +#if (defined HEADER_DH_H && !defined OPENSSL_NO_DH) + /* + * Set DH parameters file for ephemeral key generation + */ + getControlChars("sslDhParamsFilePath", &fdhp); + if (fdhp) { + _SFCB_TRACE(1, ("--- sslDhParamsFilePath = %s", fdhp)); + BIO *dhpbio = BIO_new_file(fdhp, "r"); + DH *dh_tmp = PEM_read_bio_DHparams(dhpbio, NULL, NULL, NULL); + BIO_free(dhpbio); + if (dh_tmp) { + SSL_CTX_set_tmp_dh(ctx, dh_tmp); + DH_free(dh_tmp); + } else { + unsigned long sslqerr = ERR_get_error(); + mlogf(M_ERROR,M_SHOW,"--- Failure reading DH params file: %s (%s)\n", + fdhp, sslqerr != 0 ? ERR_error_string(sslqerr, NULL) : + "unknown openssl error"); + intSSLerror("Error setting DH params for SSL"); + } + } +#endif // HEADER_DH_H + sslReloadRequested = 0; } #endif // USE_SSL diff --git a/sfcb.cfg.pre.in b/sfcb.cfg.pre.in index 325d83d..f61d8df 100644 --- a/sfcb.cfg.pre.in +++ b/sfcb.cfg.pre.in @@ -271,6 +271,17 @@ certificateAuthLib: sfcCertificateAuthentication ## weak ciphers. sslCiphers: ALL:!ADH:!LOW:!EXP:!MD5:@STRENGTH +## Optionally configure a DH parameters file for ephemeral key generation. +## See man SSL_CTX_set_tmp_dh_callback(3) for details. The value should be +## the full path to the file. Note that ephemeral key generation will still +## proceed, where applicable, without this file; it is only required when the +## user desires a key length greater than the (openssl) default. If this +## value is not set, no DH parameters file is configured. If the value is set +## but the file is unreadable or contains bad data, and https is configured, +## SFCB will abort. The data is expected to be in PEM format. +## Default is: not set +#sslDhParamsFilePath: @sysconfdir@/sfcb/dh_param_file.pem + ##---------------------------------- UDS -------------------------------------- ## These options only apply if configured with --enable-uds hooks/post-receive -- sfcb - Small Footprint CIM Broker |
From: Dave B. <bla...@us...> - 2013-10-21 11:25:29
|
Update of /cvsroot/sblim/jsr48-client/src/org/sblim/cimclient/internal/cimxml/sax/node In directory sfp-cvs-1.v30.ch3.sourceforge.com:/tmp/cvs-serv25762/src/org/sblim/cimclient/internal/cimxml/sax/node Modified Files: Tag: Experimental Node.java Log Message: 2693 ReturnValueNode allows invalid PARAMTYPE attribute Index: Node.java =================================================================== RCS file: /cvsroot/sblim/jsr48-client/src/org/sblim/cimclient/internal/cimxml/sax/node/Node.java,v retrieving revision 1.1.2.14 retrieving revision 1.1.2.15 diff -u -d -r1.1.2.14 -r1.1.2.15 --- Node.java 18 Apr 2013 23:02:30 -0000 1.1.2.14 +++ Node.java 21 Oct 2013 11:25:26 -0000 1.1.2.15 @@ -25,6 +25,7 @@ * 3513353 2012-03-30 blaschke-oss TCK: CIMDataType arrays must have length >= 1 * 3602604 2013-01-29 blaschke-oss Clean up SAXException messages * 2605 2013-03-20 buccella SAX parser throws wrong exception + * 2693 2013-10-21 blaschke-oss ReturnValueNode allows invalid PARAMTYPE attribute */ package org.sblim.cimclient.internal.cimxml.sax.node; @@ -278,8 +279,9 @@ * * @param pAttribs * @return CIMDataType + * @throws SAXException */ - public static CIMDataType getParamType(Attributes pAttribs) { + public static CIMDataType getParamType(Attributes pAttribs) throws SAXException { String typeStr = pAttribs.getValue("PARAMTYPE"); return CIMObjectFactory.getType(typeStr); } |
From: Dave B. <bla...@us...> - 2013-10-21 11:25:28
|
Update of /cvsroot/sblim/jsr48-client/src/org/sblim/cimclient/internal/cimxml/sax In directory sfp-cvs-1.v30.ch3.sourceforge.com:/tmp/cvs-serv25762/src/org/sblim/cimclient/internal/cimxml/sax Modified Files: Tag: Experimental CIMObjectFactory.java Log Message: 2693 ReturnValueNode allows invalid PARAMTYPE attribute Index: CIMObjectFactory.java =================================================================== RCS file: /cvsroot/sblim/jsr48-client/src/org/sblim/cimclient/internal/cimxml/sax/CIMObjectFactory.java,v retrieving revision 1.6.2.14 retrieving revision 1.6.2.15 diff -u -d -r1.6.2.14 -r1.6.2.15 --- CIMObjectFactory.java 2 Oct 2012 02:03:39 -0000 1.6.2.14 +++ CIMObjectFactory.java 21 Oct 2013 11:25:26 -0000 1.6.2.15 @@ -1,5 +1,5 @@ /** - * (C) Copyright IBM Corp. 2006, 2012 + * (C) Copyright IBM Corp. 2006, 2013 * * THIS FILE IS PROVIDED UNDER THE TERMS OF THE ECLIPSE PUBLIC LICENSE * ("AGREEMENT"). ANY USE, REPRODUCTION OR DISTRIBUTION OF THIS FILE @@ -26,6 +26,7 @@ * 3027615 2010-07-12 blaschke-oss Use CLASS_ARRAY_T instead of new CIMDataType(CLASS,0) * 3513349 2012-03-31 blaschke-oss TCK: CIMDataType must not accept null string * 3572993 2012-10-01 blaschke-oss parseDouble("2.2250738585072012e-308") DoS vulnerability + * 2693 2013-10-21 blaschke-oss ReturnValueNode allows invalid PARAMTYPE attribute */ package org.sblim.cimclient.internal.cimxml.sax; @@ -270,11 +271,15 @@ * * @param pTypeStr * @return CIMDataType + * @throws SAXException */ - public static CIMDataType getType(String pTypeStr) { + public static CIMDataType getType(String pTypeStr) throws SAXException { if (pTypeStr == null) return null; createTypeStrMap(); - return cTypeStrMap.get(pTypeStr); + CIMDataType type = cTypeStrMap.get(pTypeStr); + if (type == null && !cTypeStrMap.containsKey(pTypeStr)) throw new SAXException(pTypeStr + + " is invalid PARAMTYPE!"); + return type; } static final CIMInstance[] EMPTY_INST_A = new CIMInstance[0]; |
From: Chris B. <buc...@us...> - 2013-10-18 21:50:10
|
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_1.3 has been updated via 0851a9d054d3cf950977a03cfa796665a35ab11f (commit) from b19b5389585c7e53fce17831586c0bf7729b50e5 (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 0851a9d054d3cf950977a03cfa796665a35ab11f Author: buccella <buc...@li...> Date: Fri Oct 18 17:49:41 2013 -0400 [sfcb-tix:#85 SFCB: SfcbLocal interface should expose markHeap() and releaseHeap() ----------------------------------------------------------------------- Summary of changes: cimcClientSfcbLocal.h | 2 ++ 1 files changed, 2 insertions(+), 0 deletions(-) diff --git a/cimcClientSfcbLocal.h b/cimcClientSfcbLocal.h index f0eeb5a..0b3f73f 100644 --- a/cimcClientSfcbLocal.h +++ b/cimcClientSfcbLocal.h @@ -178,6 +178,8 @@ typedef struct _ClientEnvFT { void* (*newIndicationListener) (ClientEnv *ce, int sslMode, int *portNumber, char **socketName, void (*fp) (CMPIInstance *indInstance), CMPIStatus* rc); + void* (*markHeap)(); + void (*releaseHeap) (void* heap); } ClientEnvFT; struct _ClientEnv { hooks/post-receive -- sfcb - Small Footprint CIM Broker |
From: Chris B. <buc...@us...> - 2013-10-18 21:47:00
|
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_1.3 has been updated via b19b5389585c7e53fce17831586c0bf7729b50e5 (commit) via 23865303aad409af621489fda3994b0e6f570068 (commit) via 1b12a64d833c2fa34bc2fa72f2466f003010cf9a (commit) via fbcf1c2defe64c31dfc8ca3a404b76a69679fcf6 (commit) from 45a53e6e01366a1ce884b418f5c9b807bfcac8b6 (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 b19b5389585c7e53fce17831586c0bf7729b50e5 Author: buccella <buc...@li...> Date: Fri Oct 18 17:46:48 2013 -0400 [sfcb-tix:#84 Upcall mutex not freed on shutdown commit 23865303aad409af621489fda3994b0e6f570068 Author: buccella <buc...@li...> Date: Fri Oct 18 17:46:03 2013 -0400 [sfcb-tix:#85 SFCB: SfcbLocal interface should expose markHeap() and releaseHeap() commit 1b12a64d833c2fa34bc2fa72f2466f003010cf9a Author: buccella <buc...@li...> Date: Fri Oct 18 17:40:29 2013 -0400 [sfcb-tix:#82] ClientEnvFT for SfcbLocal doesn't match SFCC commit fbcf1c2defe64c31dfc8ca3a404b76a69679fcf6 Author: buccella <buc...@li...> Date: Fri Oct 18 17:23:51 2013 -0400 [sfcb-tix:#83] Add Alternate getObjectPath() for SfcbLocal Connections ----------------------------------------------------------------------- Summary of changes: brokerUpc.c | 10 ++++++- cimcClientSfcbLocal.c | 19 ++++++++++++ cimcClientSfcbLocal.h | 3 ++ instance.c | 75 ++++++++++++++++++++++++++++++++++++++++++++++++- 4 files changed, 105 insertions(+), 2 deletions(-) diff --git a/brokerUpc.c b/brokerUpc.c index 1d9f695..96d4287 100644 --- a/brokerUpc.c +++ b/brokerUpc.c @@ -71,9 +71,17 @@ void closeProviderContext(BinRequestContext * ctx); static CMPI_MUTEX_TYPE mtx=NULL; +void freeUpCallMtx() +{ + free(mtx); +} + void lockUpCall(const CMPIBroker* mb) { - if (mtx==NULL) mtx=mb->xft->newMutex(0); + if (mtx==NULL) { + mtx=mb->xft->newMutex(0); + atexit(freeUpCallMtx); + } mb->xft->lockMutex(mtx); } diff --git a/cimcClientSfcbLocal.c b/cimcClientSfcbLocal.c index 38a79d1..3c1545e 100644 --- a/cimcClientSfcbLocal.c +++ b/cimcClientSfcbLocal.c @@ -2029,6 +2029,22 @@ void _Cleanup_SfcbLocal_Env(void) _SFCB_TRACE_STOP(); } +void * newIndicationListener(ClientEnv *ce, int sslMode, int *portNumber, char **socketName, + void (*fp) (CMPIInstance *indInstance), CMPIStatus* rc) +{ + fprintf(stderr, "*** newIndicationListener not supported for SfcbLocal\n"); + return NULL; +} + +void * _markHeap() { + return markHeap(); +} + +void _releaseHeap(void* heap) { + releaseHeap(heap); + return; +} + ClientEnv* _Create_SfcbLocal_Env(char *id, unsigned int options, int *rc, char **msg) { @@ -2045,6 +2061,9 @@ ClientEnv* _Create_SfcbLocal_Env(char *id, unsigned int options, int *rc, char * newDateTime, newDateTimeFromBinary, newDateTimeFromChars, + newIndicationListener, + _markHeap, + _releaseHeap, }; // localClientMode=1; diff --git a/cimcClientSfcbLocal.h b/cimcClientSfcbLocal.h index 752fe8f..f0eeb5a 100644 --- a/cimcClientSfcbLocal.h +++ b/cimcClientSfcbLocal.h @@ -175,6 +175,9 @@ typedef struct _ClientEnvFT { (ClientEnv *ce, CMPIUint64 binTime, CMPIBoolean interval, CMPIStatus* rc); CMPIDateTime* (*newDateTimeFromChars) (ClientEnv *ce, const char *utcTime, CMPIStatus* rc); + void* (*newIndicationListener) + (ClientEnv *ce, int sslMode, int *portNumber, char **socketName, + void (*fp) (CMPIInstance *indInstance), CMPIStatus* rc); } ClientEnvFT; struct _ClientEnv { diff --git a/instance.c b/instance.c index 12af95f..5727d72 100644 --- a/instance.c +++ b/instance.c @@ -513,6 +513,79 @@ static CMPIObjectPath *__ift_getObjectPath(const CMPIInstance * instance, return cop; } +/* same as ift_gOP(), but used for SfcbLocal clients + eliminated klt hashtable, call mm to release tracked + CMPI objects before exiting */ +static CMPIObjectPath * +__iftLocal_getObjectPath(const CMPIInstance *instance, CMPIStatus *rc) +{ + int j, + f = 0; + CMPIStatus tmp; + const char *cn; + const char *ns; + void* hc; + + if (!instance->hdl) { + if (rc) + CMSetStatus(rc, CMPI_RC_ERR_INVALID_HANDLE); + return NULL; + } + + cn = ClInstanceGetClassName((ClInstance *) instance->hdl); + ns = ClInstanceGetNameSpace((ClInstance *) instance->hdl); + + CMPIObjectPath *cop = TrackedCMPIObjectPath(ns, cn, rc); + + if (rc && rc->rc != CMPI_RC_OK) + return NULL; + + j = __ift_getPropertyCount(instance, NULL); + + hc = markHeap(); + while (j--) { + char *keyName; + CMPIData d = + __ift_internal_getPropertyAt(instance, j, &keyName, &tmp, 1); + if (d.state & CMPI_keyValue) { + CMAddKey(cop, keyName, &d.value, d.type); + f++; + } + if (d.type & CMPI_ARRAY && (d.state & CMPI_nullValue) == 0) { + d.value.array->ft->release(d.value.array); + } + } + + if (f == 0) { + CMPIArray *kl; + CMPIData d; + unsigned int e, + m; + + CMPIConstClass *cc = getConstClass(ns, cn); + if (cc) { + kl = cc->ft->getKeyList(cc); + } else { + if (rc) { + CMSetStatus(rc, CMPI_RC_ERR_INVALID_CLASS); + } + releaseHeap(hc); + return NULL; + } + m = kl->ft->getSize(kl, NULL); + + for (e = 0; e < m; e++) { + CMPIString *n = kl->ft->getElementAt(kl, e, NULL).value.string; + d = __ift_getProperty(instance, CMGetCharPtr(n), &tmp); + if (tmp.rc == CMPI_RC_OK) { + CMAddKey(cop, CMGetCharPtr(n), &d.value, d.type); + } + } + CMRelease(kl); + } + releaseHeap(hc); + return cop; +} static CMPIStatus __ift_internal_setPropertyFilter(CMPIInstance * instance, const char **propertyList, @@ -768,7 +841,7 @@ static struct { __ift_getPropertyAt, __ift_getPropertyCount, __ift_setProperty, - __ift_getObjectPath, + __iftLocal_getObjectPath, __ift_setPropertyFilter, __ift_getQualifier, __ift_getQualifierAt, hooks/post-receive -- sfcb - Small Footprint CIM Broker |
From: Chris B. <buc...@us...> - 2013-10-18 20:20:31
|
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 "sfcc- Small Footprint CIM Client". The branch, master has been updated via 4afcd398906552b969d8169c861759802cfa64b1 (commit) from 299908510a13bb5032e1baa9abea52e0e9b46554 (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 4afcd398906552b969d8169c861759802cfa64b1 Author: buccella <buc...@li...> Date: Fri Oct 18 16:20:20 2013 -0400 [bugs:#2692] SFCC: SfcbLocal interface should expose markHeap() and releaseHeap() ----------------------------------------------------------------------- Summary of changes: backend/cimxml/client.c | 2 ++ cimc/cimc.h | 2 ++ 2 files changed, 4 insertions(+), 0 deletions(-) diff --git a/backend/cimxml/client.c b/backend/cimxml/client.c index 9fa93b3..ce5f2bc 100644 --- a/backend/cimxml/client.c +++ b/backend/cimxml/client.c @@ -2965,6 +2965,8 @@ static CIMCEnvFT localFT = { newDateTimeFromBinary, newDateTimeFromChars, newIndicationListener, + NULL, // markHeap, SfcbLocal only + NULL // releaseHeap, SfcbLocal only }; /* Factory function for CIMXML Client */ diff --git a/cimc/cimc.h b/cimc/cimc.h index 1199eeb..24b0d20 100644 --- a/cimc/cimc.h +++ b/cimc/cimc.h @@ -402,6 +402,8 @@ extern "C" { CIMCIndicationListener* (*newIndicationListener) (CIMCEnv *ce, int sslMode, int *portNumber, char **socketName, void (*fp) (CIMCInstance *indInstance), CIMCStatus* rc); + void* (*markHeap) (); + void (*releaseHeap) (void* heap); } CIMCEnvFT; struct _CIMCEnv { hooks/post-receive -- sfcc- Small Footprint CIM Client |
From: Chris B. <buc...@us...> - 2013-10-18 20:16:31
|
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 745f4b0f678c54e41236b77fcd7b9fee6c9f9898 (commit) via 62474f798c1169d55340edde46e0789d8e649572 (commit) via 92848afea74d84332acd3e7d4dcc7daf1c7baec1 (commit) from f769c13d5e6a1e8db3b4766fa6916bcdd87c607d (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 745f4b0f678c54e41236b77fcd7b9fee6c9f9898 Author: buccella <buc...@li...> Date: Fri Oct 18 16:15:59 2013 -0400 [sfcb-tix:#85] SFCB: SfcbLocal interface should expose markHeap() and releaseHeap() commit 62474f798c1169d55340edde46e0789d8e649572 Author: buccella <buc...@li...> Date: Fri Oct 18 15:42:56 2013 -0400 [sfcb-tix:#84] Upcall mutex not freed on shutdown commit 92848afea74d84332acd3e7d4dcc7daf1c7baec1 Author: buccella <buc...@li...> Date: Fri Oct 18 15:08:31 2013 -0400 [sfcb-tix:#83] Add Alternate getObjectPath() for SfcbLocal Connections ----------------------------------------------------------------------- Summary of changes: brokerUpc.c | 10 ++++++- cimcClientSfcbLocal.c | 12 ++++++++ cimcClientSfcbLocal.h | 2 + instance.c | 76 ++++++++++++++++++++++++++++++++++++++++++++++++- 4 files changed, 98 insertions(+), 2 deletions(-) diff --git a/brokerUpc.c b/brokerUpc.c index 2f50ef8..ad70035 100644 --- a/brokerUpc.c +++ b/brokerUpc.c @@ -67,10 +67,18 @@ void closeProviderContext(BinRequestContext * ctx); static CMPI_MUTEX_TYPE mtx = NULL; void +freeUpCallMtx() +{ + free(mtx); +} + +void lockUpCall(const CMPIBroker * mb) { - if (mtx == NULL) + if (mtx == NULL) { mtx = mb->xft->newMutex(0); + atexit(freeUpCallMtx); + } mb->xft->lockMutex(mtx); } diff --git a/cimcClientSfcbLocal.c b/cimcClientSfcbLocal.c index 66f195b..b8286a8 100644 --- a/cimcClientSfcbLocal.c +++ b/cimcClientSfcbLocal.c @@ -168,6 +168,7 @@ cloneClient(Client __attribute__ ((unused)) *cl, CMPIStatus *st) return NULL; } +/* releases the Client created in CMPIConnect2() */ static CMPIStatus releaseClient(Client * mb) { @@ -2097,6 +2098,15 @@ newIndicationListener(ClientEnv *ce, int sslMode, int *portNumber, char **socket return NULL; } +void * _markHeap() { + return markHeap(); +} + +void _releaseHeap(void* heap) { + releaseHeap(heap); + return; +} + /* called by SFCC's NewCIMCEnv() */ ClientEnv * _Create_SfcbLocal_Env(char __attribute__ ((unused)) *id, unsigned int options, @@ -2117,6 +2127,8 @@ _Create_SfcbLocal_Env(char __attribute__ ((unused)) *id, unsigned int options, newDateTimeFromBinary, newDateTimeFromChars, newIndicationListener, + _markHeap, + _releaseHeap }; // localClientMode=1; diff --git a/cimcClientSfcbLocal.h b/cimcClientSfcbLocal.h index 6886b63..16d0957 100644 --- a/cimcClientSfcbLocal.h +++ b/cimcClientSfcbLocal.h @@ -178,6 +178,8 @@ extern "C" { void *(*newIndicationListener) (ClientEnv *ce, int sslMode, int *portNumber, char **socketName, void (*fp) (CMPIInstance *indInstance), CMPIStatus* rc); + void *(*markHeap)(); + void (*releaseHeap) (void* heap); } ClientEnvFT; struct _ClientEnv { diff --git a/instance.c b/instance.c index 3d97c03..bb6418b 100644 --- a/instance.c +++ b/instance.c @@ -576,6 +576,80 @@ __ift_getObjectPath(const CMPIInstance *instance, CMPIStatus *rc) return cop; } +/* same as ift_gOP(), but used for SfcbLocal clients + eliminated klt hashtable, call mm to release tracked + CMPI objects before exiting */ +static CMPIObjectPath * +__iftLocal_getObjectPath(const CMPIInstance *instance, CMPIStatus *rc) +{ + int j, + f = 0; + CMPIStatus tmp; + const char *cn; + const char *ns; + void* hc; + + if (!instance->hdl) { + if (rc) + CMSetStatus(rc, CMPI_RC_ERR_INVALID_HANDLE); + return NULL; + } + + cn = ClInstanceGetClassName((ClInstance *) instance->hdl); + ns = ClInstanceGetNameSpace((ClInstance *) instance->hdl); + + CMPIObjectPath *cop = TrackedCMPIObjectPath(ns, cn, rc); + + if (rc && rc->rc != CMPI_RC_OK) + return NULL; + + j = __ift_getPropertyCount(instance, NULL); + + hc = markHeap(); + while (j--) { + char *keyName; + CMPIData d = + __ift_internal_getPropertyAt(instance, j, &keyName, &tmp, 1, NULL); + if (d.state & CMPI_keyValue) { + CMAddKey(cop, keyName, &d.value, d.type); + f++; + } + if (d.type & CMPI_ARRAY && (d.state & CMPI_nullValue) == 0) { + d.value.array->ft->release(d.value.array); + } + } + + if (f == 0) { + CMPIArray *kl; + CMPIData d; + unsigned int e, + m; + + CMPIConstClass *cc = getConstClass(ns, cn); + if (cc) { + kl = cc->ft->getKeyList(cc); + } else { + if (rc) { + CMSetStatus(rc, CMPI_RC_ERR_INVALID_CLASS); + } + releaseHeap(hc); + return NULL; + } + m = kl->ft->getSize(kl, NULL); + + for (e = 0; e < m; e++) { + CMPIString *n = kl->ft->getElementAt(kl, e, NULL).value.string; + d = __ift_getProperty(instance, CMGetCharPtr(n), &tmp); + if (tmp.rc == CMPI_RC_OK) { + CMAddKey(cop, CMGetCharPtr(n), &d.value, d.type); + } + } + CMRelease(kl); + } + releaseHeap(hc); + return cop; +} + static CMPIStatus __ift_internal_setPropertyFilter(CMPIInstance *instance, const char **propertyList, const char **keys) @@ -852,7 +926,7 @@ NATIVE_FT_VERSION, __ift_getPropertyAt, __ift_getPropertyCount, __ift_setProperty, - __ift_getObjectPath, + __iftLocal_getObjectPath, __ift_setPropertyFilter, __ift_getQualifier, __ift_getQualifierAt, hooks/post-receive -- sfcb - Small Footprint CIM Broker |
From: Dave B. <bla...@us...> - 2013-10-18 18:40:21
|
Update of /cvsroot/sblim/jsr48-client/src/org/sblim/cimclient/internal/cimxml In directory sfp-cvs-1.v30.ch3.sourceforge.com:/tmp/cvs-serv9569/src/org/sblim/cimclient/internal/cimxml Modified Files: Tag: Experimental CIMXMLParserImpl.java Log Message: 2691 RETURNVALUE should not require PARAMTYPE attribute Index: CIMXMLParserImpl.java =================================================================== RCS file: /cvsroot/sblim/jsr48-client/src/org/sblim/cimclient/internal/cimxml/CIMXMLParserImpl.java,v retrieving revision 1.14.2.60 retrieving revision 1.14.2.61 diff -u -d -r1.14.2.60 -r1.14.2.61 --- CIMXMLParserImpl.java 17 Oct 2013 13:15:09 -0000 1.14.2.60 +++ CIMXMLParserImpl.java 18 Oct 2013 18:40:18 -0000 1.14.2.61 @@ -76,6 +76,7 @@ * 2686 2013-10-10 blaschke-oss parseEXPPARAMVALUE allows 2+ children, prohibits 0 * 2688 2013-10-10 blaschke-oss parseMETHODCALL looks for CIMName attribute instead of NAME * 2537 2013-10-17 blaschke-oss Add new data types for PARAMVALUE + * 2691 2013-10-18 blaschke-oss RETURNVALUE should not require PARAMTYPE attribute */ package org.sblim.cimclient.internal.cimxml; @@ -1905,7 +1906,8 @@ private void transformNormObj() throws CIMXMLParseException { if (this.iRawValue instanceof String) { this.iType = this.iRawType; - this.iValue = createJavaObject(this.iType.toString(), (String) this.iRawValue); + this.iValue = createJavaObject(this.iType == null ? null : this.iType.toString(), + (String) this.iRawValue); } else { String[] rawValueA = (String[]) this.iRawValue; String typeStr = this.iRawType.toString(); |
From: Dave B. <bla...@us...> - 2013-10-18 18:40:20
|
Update of /cvsroot/sblim/jsr48-client/src/org/sblim/cimclient/internal/cimxml/sax In directory sfp-cvs-1.v30.ch3.sourceforge.com:/tmp/cvs-serv9569/src/org/sblim/cimclient/internal/cimxml/sax Modified Files: Tag: Experimental EmbObjHandler.java Log Message: 2691 RETURNVALUE should not require PARAMTYPE attribute Index: EmbObjHandler.java =================================================================== RCS file: /cvsroot/sblim/jsr48-client/src/org/sblim/cimclient/internal/cimxml/sax/EmbObjHandler.java,v retrieving revision 1.1.2.17 retrieving revision 1.1.2.18 diff -u -d -r1.1.2.17 -r1.1.2.18 --- EmbObjHandler.java 31 Mar 2012 15:39:42 -0000 1.1.2.17 +++ EmbObjHandler.java 18 Oct 2013 18:40:18 -0000 1.1.2.18 @@ -1,5 +1,5 @@ /** - * (C) Copyright IBM Corp. 2006, 2012 + * (C) Copyright IBM Corp. 2006, 2013 * * THIS FILE IS PROVIDED UNDER THE TERMS OF THE ECLIPSE PUBLIC LICENSE * ("AGREEMENT"). ANY USE, REPRODUCTION OR DISTRIBUTION OF THIS FILE @@ -25,6 +25,7 @@ * 3281781 2011-04-11 blaschke-oss fail to parse Embedded Instance parameter * 3513353 2012-03-30 blaschke-oss TCK: CIMDataType arrays must have length >= 1 * 3513349 2012-03-31 blaschke-oss TCK: CIMDataType must not accept null string + * 2691 2013-10-18 blaschke-oss RETURNVALUE should not require PARAMTYPE attribute */ package org.sblim.cimclient.internal.cimxml.sax; @@ -321,8 +322,8 @@ private void setType() throws SAXException { if (this.iType != null || this.iRawType != null) return; this.iRawType = this.iAbsValNode.getType(); - if (this.iRawType == null) throw new SAXException("Contained element " - + this.iAbsValNode.getNodeName() + " has unknown type!"); + if (this.iRawType == null) this.iRawType = (this.iAbsValNode instanceof ArrayIf ? CIMDataType.STRING_ARRAY_T + : CIMDataType.STRING_T); } } |
From: Dave B. <bla...@us...> - 2013-10-17 13:15:12
|
Update of /cvsroot/sblim/jsr48-client/src/org/sblim/cimclient/internal/cimxml In directory sfp-cvs-1.v30.ch3.sourceforge.com:/tmp/cvs-serv30043/src/org/sblim/cimclient/internal/cimxml Modified Files: Tag: Experimental CIMXMLParserImpl.java Log Message: 2537 CR03: Add new data types for PARAMVALUE Index: CIMXMLParserImpl.java =================================================================== RCS file: /cvsroot/sblim/jsr48-client/src/org/sblim/cimclient/internal/cimxml/CIMXMLParserImpl.java,v retrieving revision 1.14.2.59 retrieving revision 1.14.2.60 diff -u -d -r1.14.2.59 -r1.14.2.60 --- CIMXMLParserImpl.java 11 Oct 2013 14:28:21 -0000 1.14.2.59 +++ CIMXMLParserImpl.java 17 Oct 2013 13:15:09 -0000 1.14.2.60 @@ -75,6 +75,7 @@ * 2685 2013-10-07 blaschke-oss Element.getAttribute returns empty string if no attribute * 2686 2013-10-10 blaschke-oss parseEXPPARAMVALUE allows 2+ children, prohibits 0 * 2688 2013-10-10 blaschke-oss parseMETHODCALL looks for CIMName attribute instead of NAME + * 2537 2013-10-17 blaschke-oss Add new data types for PARAMVALUE */ package org.sblim.cimclient.internal.cimxml; @@ -2243,7 +2244,8 @@ public static CIMArgument<Object> parsePARAMVALUE(Element pParamValueE) throws CIMXMLParseException { // <!ELEMENT PARAMVALUE - // (VALUE|VALUE.REFERENCE|VALUE.ARRAY|VALUE.REFARRAY)?>) + // (VALUE|VALUE.REFERENCE|VALUE.ARRAY|VALUE.REFARRAYCLASSNAME| + // INSTANCENAME|CLASS|INSTANCE|VALUE.NAMEDINSTANCE)?>) // <!ATTLIST PARAMTYPE %NAME;%PARAMTYPE%> String name = attribute(pParamValueE, "NAME"); if (name == null) throw new CIMXMLParseException( @@ -2260,8 +2262,50 @@ if (type == null) throw new CIMXMLParseException("PARAMVALUE element type is null!"); return new CIMArgument<Object>(name, type, value); } - EmbObjHandler embObjHandler = new EmbObjHandler(pParamValueE); - return new CIMArgument<Object>(name, embObjHandler.getType(), embObjHandler.getValue()); + if (searchFirstNode(pParamValueE, "VALUE") != null + || searchFirstNode(pParamValueE, "VALUE.ARRAY") != null || !hasNodes(pParamValueE)) { + EmbObjHandler embObjHandler = new EmbObjHandler(pParamValueE); + return new CIMArgument<Object>(name, embObjHandler.getType(), embObjHandler.getValue()); + } + + // CLASSNAME + Element classNameE = (Element) searchFirstNode(pParamValueE, "CLASSNAME"); + if (classNameE != null) { + CIMObjectPath op = parseCLASSNAME(classNameE); + CIMDataType type = new CIMDataType(op.getObjectName()); + return new CIMArgument<Object>(name, type, op); + } + + // INSTANCENAME + Element instNameE = (Element) searchFirstNode(pParamValueE, "INSTANCENAME"); + if (instNameE != null) { + CIMObjectPath op = parseINSTANCENAME(instNameE); + CIMDataType type = new CIMDataType(op.getObjectName()); + return new CIMArgument<Object>(name, type, op); + } + + // CLASS + Element classE = (Element) searchFirstNode(pParamValueE, "CLASS"); + if (classE != null) { + CIMClass cl = parseCLASS(classE); + return new CIMArgument<Object>(name, CIMDataType.CLASS_T, cl); + } + + // INSTANCE + Element instanceE = (Element) searchFirstNode(pParamValueE, "INSTANCE"); + if (instanceE != null) { + CIMInstance inst = parseINSTANCE(instanceE); + return new CIMArgument<Object>(name, CIMDataType.OBJECT_T, inst); + } + + // VALUE.NAMEDINSTANCE + Element valuenamedisntanceE = (Element) searchFirstNode(pParamValueE, "VALUE.NAMEDINSTANCE"); + if (valuenamedisntanceE != null) { + CIMInstance inst = parseVALUENAMEDINSTANCE(valuenamedisntanceE); + return new CIMArgument<Object>(name, CIMDataType.OBJECT_T, inst); + } + + return new CIMArgument<Object>(name, CIMDataType.STRING_T, null); } /** @@ -3068,7 +3112,12 @@ */ private static boolean hasNodes(Element pParentE) { NodeList nl = pParentE.getChildNodes(); - return (nl != null && nl.getLength() > 0); + if (nl == null || nl.getLength() == 0) return false; + for (int i = 0; i < nl.getLength(); i++) { + Node n = nl.item(i); + if (!(n instanceof Text) || !("".equalsIgnoreCase(n.getNodeValue().trim()))) return true; + } + return false; } /** |
From: Chris B. <buc...@us...> - 2013-10-14 22:36:37
|
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 "sfcc- Small Footprint CIM Client". The branch, master has been updated via 299908510a13bb5032e1baa9abea52e0e9b46554 (commit) from 09b58901a143fe6ed2f6ea224e54ec0330c5fd12 (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 299908510a13bb5032e1baa9abea52e0e9b46554 Author: buccella <buc...@li...> Date: Mon Oct 14 18:36:28 2013 -0400 start of 2.2.7 ----------------------------------------------------------------------- Summary of changes: ChangeLog | 487 +--------------------------------------------------------- configure.ac | 2 +- 2 files changed, 2 insertions(+), 487 deletions(-) diff --git a/ChangeLog b/ChangeLog index 8ea9c4b..8d29d6d 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,486 +1 @@ -2012-07-31 Chris Buccella <buc...@li...> - - * backend/cimxml/grammar.c: - [ 3547832 ] memory leak in backend/cimxml/grammer.c - (patch by Michal Minar) - -2012-06-07 Chris Buccella <buc...@li...> - - * backend/cimxml/client.c, cimc/cimc.h, cimc/cimcclient.c: - [ 3435363 ] Wrong call of curl_global_cleanup() - -2012-05-29 Chris Buccella <buc...@li...> - - * TEST/v2test_ecn.c, backend/cimxml/cimXmlParser.c, - backend/cimxml/client.c, backend/cimxml/objectpath.c, - backend/cimxml/parserUtil.c, backend/cimxml/value.c: - [ 3530609 ] Various BEAM Errors - - * backend/cimxml/property.c: - [ 3528819 ] Crash in getInstance when instance has NULL properties - (patch by Klaus Kampf) - -2011-06-29 Michael Chase-Salerno <br...@li...> - - * cimc/cimcclient.c: - [ 3344917 ] Beam, file leak - -2011-06-29 Michael Chase-Salerno <br...@li...> - - * backend/cimxml/array.c, backend/cimxml/client.c, - backend/cimxml/instance.c, backend/cimxml/objectpath.c: - [ 3344757 ] Beam, deref of potential Null pointers. - -2011-06-29 Michael Chase-Salerno <br...@li...> - - * backend/cimxml/client.c, backend/cimxml/constClass.c, - backend/cimxml/enumeration.c, backend/cimxml/instance.c, - backend/cimxml/parserUtil.c, backend/cimxml/property.c, - backend/cimxml/qualifier.c, backend/cimxml/value.c: - [ 3344403 ] Beam, unitialized vars - -2011-05-27 Chris Buccella <buc...@li...> - - * backend/cimxml/grammar.c, backend/cimxml/cimXmlParser.h, - backend/cimxml/cimXmlParser.c, backend/cimxml/instance.c, - backend/cimxml/objectpath.c, frontend/sfcc/native.h: - [ 3286489 ] getInstance does not return key/value through XML - (patch originated by Josef Moellers) - -2011-04-25 Narasimha Sharoff <nsh...@us...> - - * frontend/sfcc/sfcclient.c: - [ 2967265 ] code cleanup in sfcclient - (patch by Klaus Kaempf) - -2011-04-07 Chris Buccella <buc...@li...> - - * backend/cimxml/grammar.c: - [ 3196128 ] enumInstances does not set NameSpace in ObjectPath in XML mode - (patch by Josef Moellers) - -2011-04-05 Michael Chase-Salerno <br...@li...> - - * TEST/v2test_xq_synerr.c: - [ 3213591 ] Local intf client abort abnormally on enum filter syntax err - -2011-03-30 Chris Buccella <buc...@li...> - - * TEST/v2test_im.c: - Added file - -2011-03-30 Michael Chase-Salerno <br...@li...> - - * backend/cimxml/constClass.c, backend/cimxml/grammar.c - [ 2847964 ] sfcc's getClass() fails to report class qualifiers - (patch by Klaus Kampf) - -2011-03-30 Narasimha Sharoff <nsh...@us...> - - * backend/cimxml/value.c frontend/cpp/CimData.cpp ; sfcclient.c - [ 2967257 ] Use of CMPI_chars in SFCC. General CMPI specification bug - (patch by Klaus Kampf) - -2011-03-29 Chris Buccella <buc...@li...> - - * backend/cimxml/client.c: - [ 1956407 ] CIM-XML/HTTP connection to unix socket - (patch by Bart Whiteley) - -2011-03-23 Narasimha Sharoff <nsh...@us...> - - * frontend/sfcc/sfcclient.c - [ 2990315 ] cmciRelease not called in case of error - (patch by Klaus Kampf) - -2011-03-02 Narasimha Sharoff <nsh...@us...> - - * TEST/v2*.c - [ 3195267 ] sfcc v2 tests segfault when sfcb is not running - -2011-03-01 Narasimha Sharoff <nsh...@us...> - - * cimc/cimcclient.c - [ 3101151 ] SfcbLocal failed to connect due to hardcoded library path - (based on the patch by: Chris Poblete <Chr...@De...>) - -2011-02-22 Narasimha Sharoff <nsh...@us...> - - * cimc/cimcclient.c, TEST/show.c, TEST/test.c, TEST/test_gc.c - [ 2793377 ] Missing includes - (patch to add <string.h> in cimcclient.c by Miska, miska_tx) - -2011-01-13 Chris Buccella <buc...@li...> - - * backend/cimxml/cimXmlParser.c: - [ 2348900 ] Concurrency issue when parsing responses - -2010-09-27 Chris Buccella <buc...@li...> - - * backend/cimxml/client.c: - Expandeded fix for 3043282 to cover arrays as well - -2010-09-07 Chris Buccella <buc...@li...> - - * cimc/cimcft.h: - Fixed 3059060: 'struct _CIMCArgsFT' not defined in cimc/cimcft.h - -2010-08-19 Chris Buccella <buc...@li...> - - * backend/cimxml/client.c: - Fixed 3043288: XML generated with VALUE.ARRAY for ref arrays - - Fixed 3043282: XML gen for embedded instances for invokeMethod is incorrect - -2010-04-05 Chris Buccella <buc...@li...> - - * backend/cimxml/client.c: - Fixed 2982349: Memory leak in backend/cimxml/client.c - (patch by Suresh Sundriyal) - - * backend/cimxml/property.c: - Fixed 2982352: Double free in backend/cimxml/property.c - (patch by Suresh Sundriyal) - -2009-09-22 Chris Buccella <buc...@li...> - - * backend/cimxml/cimXmlParser.h: - Fixed 2849853: getClass reports most property types as CMPI_Instance - (patch by Klaus Kampf) - -2009-09-02 Michael Chase-Salerno <ckend/cimxml/con...@li...> - * backend/cimxml/client.c - Fixed 2847782: sfcc getClass crashes if cimom isn't running - (patch by Klaus Kämpf) - -2009-08-19 Chris Buccella <buc...@li...> - - * backend/cimxml/grammar.c: - Fixed 2691478: sfcc 2.1.0 cannot handle OutParams on Extrinsic - Method Call - (patch by Rajib Saha) - -2009-02-13 Chris Buccella <buc...@li...> - - * TEST/v2test_ei.c: - Fixed 2596921: v2test_ei test fails when using CIMXML interface - -2008-12-16 Michael Chase-Salerno <br...@li...> - * cimc/cimclient.c: - Fixed 2431835: XML client library not found. - -2008-11-12 Chris Buccella <buc...@li...> - - * TEST/*.c, backend/cimxml/indicationlistener.c: - Fixed 2270179: Missing includes and values in return statements - (patch by Pavol Rusnak) - -2008-10-27 Michael Chase-Salerno <br...@li...> - * Makefile.am - Updated 2158091: sfcb modules belong in private dir - use $libdir for default - -2008-10-23 Michael Chase-Salerno <br...@li...> - * Makefile.am configure.ac cimc/cimcclient.c - Fixed 2158091: sfcb modules belong in private dir - -2008-09-09 Sean Swehla <sms...@li...> - - * cimc/cimcft.h: - Fixed 2050256: SFCC and SFCB header files for Binary communication varies - -2008-09-06 Sean Swehla <sms...@li...> - * TEST/v2_testein.c - Fixed 2102345: missing configuration of CIM-HOST-PORT in sblim-sfcc - (patch by Pavol Rusnak) - -2008-09-06 Sean Swehla <sms...@li...> - * TEST/print-types.c, backend/cimxml/constClass.c, - backend/cimxml/indicationlistener.c, backend/cimxml/instance.c - Fixed 2102339: Missing ret values in sblim-sfcc - (patch by Pavol Rusnak) - -2008-06-16 Michael Chase-Salerno <br...@li...> - - * frontend/sfcc/sfcclient.c: - Fixed 1946188: Better handling of NULL values for slp. - -2008-05-16 Michael Chase-Salerno <br...@li...> - - * cimc/cimcclient.c - Check for valid connection type and return rc=3 and a message - if incorrect. - - * TEST/v2test_gc.c - Test valid handling of above, and check rc on existing tests - -2008-05-01 Chris Buccella <buc...@li...> - - * backend/cimxml/client.c, backend/cimxml/property.c, - backend/cimxml/qualifier.c, backend/cimxml/string.c: - Made changes to quiet some gcc warnings - - * Makfile.am: - Additions needed for large volume support feature - - * TEST/Makefile.am: - Additions needed for new test_ programs - - * configure.ac: - Bumped version number to 2.1.0 - -2008-04-23 Chris Buccella <buc...@li...> - - * backend/cimxml/client.c: - Fixed 1940546: Memory corruption in AsciiToXmlStr() - (patch by Shashi Uli) - -2008-04-22 Gary Readler <gd...@us...> - * README TEST/Makefile.am TEST/v2test_ec.c TEST/v2test_ecn.c - TEST/v2test_ei.c TEST/v2test_ein.c TEST/v2test_gc.c - updated README and added some v2 interface testcases - -2008-02-05 Sven Schuetz <sv...@de...> - - * configure.ac, Makefile.am, backend/cimxml/cimXmlResp.y: - Fixed 1887125: cleanup due to new parser - -2008-01-16 Sven Schuetz <sv...@de...> - - * configure.ac, Makefile.am, backend/cimxml/grammar.c, - backend/cimxml/client.c, backend/cimxml/cimXmlParser.c, - backend/cimxml/nativeCimXml.h, backend/cimxml/indicationlistener.c: - Implemented 1828588: Indication support (CIMXML) - -2008-01-09 Sven Schuetz <sv...@de...> - - * backend/cimxml/parserUtil.c, backend/cimxml/cimXmlParser.c, - backend/cimxml/value.c, backend/cimxml/cimXmlParser.h, - backend/cimxml/grammar.c, backend/cimxml/grammar.h: - Implemented 1867649: embedded instance support - -2008-01-09 Sven Schuetz <sv...@de...> - - * backend/cimxml/cimXmlResp.y, backend/cimxml/cimXmlParser.h, - backend/cimxml/client.c, backend/cimxml/value.c, - backend/cimxml/cimXmlParser.c, Makefile.am, backend/cimxml/grammar.h, - backend/cimxml/parserUtil.h, backend/cimxml/parserUtil.c, - backend/cimxml/grammar.c: - Implemented 1854813: new parser - -2008-01-02 Sven Schuetz <sv...@de...> - - * backend/cimxml/cimXmlResp.y: - Fixed 1793132: sfcc reports incorrect namespace for associators operation - -2007-10-31 Sven Schuetz <sv...@de...> - - * cimc/cimcdt.h, cimc/cimcft.h, cimc/cimc.h: - Implemented 1820015: prepare for indication support - -2007-10-12 Sven Schuetz <sv...@de...> - - * backend/cimxml/client.c: - Fixed 1810017: sfcc generates incorrect XML for complex properties - -2007-09-27 Chris Buccella <buc...@li...> - - * TEST/test.c: - invokeMethod test now works correctly - -2007-06-20 Sven Schuetz <sv...@de...> - - * backend/cimxml/cimXmlParser.c, backend/cimxml/cimXmlResp.y: - Fixed 1777906 issue with the SFCC xml parsing code - -2007-07-04 Viktor Mihajlovski <mih...@dy...> - - * backend/cimxml/client.c: - Fixed 1745279: sfcc does not support complex array types as IN args. - Datatypes CMPI_refA and CMPI_instanceA were not handled properly. - -2007-06-26 Viktor Mihajlovski <mih...@dy...> - - * backend/cimxml/objectpath.c: - Fixed 1743362: segfault on 64-bit systems - -2007-06-20 Sven Schuetz <sv...@de...> - - * property.c: - Fixed 1737254: sfcc can segfault when setting null values - -2007-06-20 Viktor Mihajlovski <mih...@dy...> - - * backend/cimxml/client.c: - Fixed 1740368: memory can be corrupted when long string properties are - being set, due to static buffer usage. - -2007-05-31 Adrian Schuur - - * cimXmlResp.y: - Fixed 1726113: Parser not clearing qualifier cache - -2007-05-24 Adrian Schuur - - * objectpath.c: - Fixed 1722381 sfcc fails on getInstance for associations - -2007-03-15 Viktor Mihajlovski <mihajlov@localhost.localdomain> - - * frontend/sfcc/sfcclient.c: - Fixed 1681555: sfcc backend selection via "scheme" parameter - - * cimc/cimcft.h, TEST/test_gc.c, TEST/test_qualifiers.c: - Fixed 1681487: sfcc cimc constclass definition incompatible with cmci - constclass definition, adjusted function table. - - * frontend/sfcc/sfcclient.c: - Fixed 1681489: sfcc connection release function restore leads to - failures. - -2007-03-07 Viktor Mihajlovski <mih...@dy...> - - * backend/cimxml/instance.c, backend/cimxml/objectpath.c, - backend/cimxml/property.c, backend/cimxml/qualifier.c: - Fixed 1675554: case sensitive comparisons - - * TEST/show.c, TEST/test_ecn_ssl.c, TEST/test_gc.c: - Updated test programs, partially related to 1675554. - -2007-02-28 Viktor Mihajlovski <mih...@dy...> - - * frontend/sfcc/sfcclient.c: - Fixed 1670019: connection failures on second parallel connection - Uninitialized variables and a deadlock situation didn't allow - to run more than on connection at a given point in time. - -2007-02-27 Viktor Mihajlovski <mih...@dy...> - - * sfcc.spec.in, configure.ac: - Feature 1663663: add specfile for RPM builds. - -2007-02-07 Viktor Mihajlovski <mihajlov@localhost.localdomain> - - * configure.ac, Makefile.am: - Feature 1654428: remove libsfcUtil from sfcc - -2007-01-18 Sven Schuetz - - * array.c, cimXmlParser.c, client.c, value.c, cimXmlParser.h - Fixed 1637057: Arrays not yet supported as function arguments - -2007-01-18 Viktor Mihajlovski <mih...@dy...> - - * cimXmlResp.y: - Fixed 1636714: removed incorrect rquirement for RETURNVALUE tag - in method responses. - -2006-12-06 Viktor Mihajlovski <mihajlov@localhost.localdomain> - - * sfcUtil/hashtable.c, sfcUtil/libsfcUtil.Versions: - Fixed 1610514: aligned sfcc/sfcb libsfcUtil. - -2006-11-28 Viktor Mihajlovski <mih...@dy...> - - * cimXmlParser.c, cimXmlResp.y, client.c: - Fixed 1604433: memory leaks for instance array properties and out - args. - -2006-11-14 Viktor Mihajlovski <mih...@dy...> - - * client.c: - Fixed 1596171: don't report timeout after system clock changes. - -2006-09-12 Viktor Mihajlovski <mih...@dy...> - - * client.c, configure.ac: - Conditionalized generation of "TE: Trailer" header in support of - older curl versions. - -2006-09-06 Viktor Mihajlovski <mih...@dy...> - - * client.c: - Removed the inline qualifier for callback functions (again). - - * cimXmlResp: - Remove shift/reduce conflict. - -2006-09-05 Viktor Mihajlovski <mih...@dy...> - - * client.c: - Fixed a double memory release error, occuring when a CIMStatus trailer - is sent back by the server. - -2006-08-22 dhowell1 - - * cimXmlParser.c, cimXmlParser.h, cimXmlResp.y, client.c, cmcimacs.h, - datetime.c, enumeration.c, instance.c, Makefile.am, objectpath.c, - value.c, - * libcmpisfcc.Versions, libsfcUtil.Versions, libcimcClient.Versions - - Merged Intel changes with 08/17/06 CVS tip. - -2006-07-17 sschuetz - - * hashtable.c, utilFactory.c, utilHashtable.c, utilStringbuffer.c: - Moved to sfcUtil, build as shared library now - -2006-07-06 sschuetz - - * constclass.c: - Bug 1518169: Fixed memory leak in constclass.c - -2006-06-28 sschuetz - - * client.c: - Bug 1513362: Added setting of status code in function cmciConnect2, - checking for NULL in CMSetStatus macros - -2006-06-27 Viktor Mihajlovski <mih...@dy...> - - * cimXmlResp.y: - Bug 1513278: Segfault in property qualifier processing. - Fixed erroneous action in the array property production. - Added missing setClassQualifiers function. - Removed a few shift/reduce conflicts. - - * client.c: - Removed the inline qualifier for callback functions. - - * TEST/Makefile.am, TEST/test_qualifiers2.c: - Added test code for class qualifiers. - -2006-02-28 Viktor Mihajlovski <mih...@dy...> - - * client.c: - Bug 1439103: Added code to evaluate trailer headers for chunked transfers - -2005-11-20 bestorga-oss - - * COPYING, args.c, array.c, cimXmlParser.c, cimXmlParser.h, - cimXmlResp.y, client.c, cmci.h, cmcidt.h, cmcift.h, cmcimacs.h, - constClass.c, datetime.c, enumeration.c, genericlist.c, - genericlist.h, instance.c, native.h, objectpath.c, property.c, - qualifier.c, string.c, utilList.h, utilStringBuffer.c, - utilStringBuffer.h, value.c, TEST/show.c, TEST/test.c, - TEST/test_an.c, TEST/test_an_2.c, TEST/test_as.c, TEST/test_as_2.c, - TEST/test_ci.c, TEST/test_di.c, TEST/test_ec.c, TEST/test_ecn.c, - TEST/test_ecn_ssl.c, TEST/test_ei.c, TEST/test_ein.c, - TEST/test_gc.c, TEST/test_gi.c, TEST/test_gp.c, TEST/test_im.c, - TEST/test_leak.c, TEST/test_objectpath.cpp, TEST/test_qualifiers.c, - TEST/test_rf.c, TEST/test_rfn.c, TEST/test_si.c, TEST/test_sp.c, - TEST/test_xq.c: - Bugs: 1362805. changed all license references to Eclipse Public - license - -2005-10-11 mihajlov - - * client.c, cmci.h, TEST/Makefile.am, TEST/test_ecn_ssl.c, - man/man3/cmciConnect.3: - Bugs: 1315810. Added support for client - certificates. - -2005-10-01 a3schuur - - * cimXmlParser.c: Inproving user time performance by about 30% as - measured with time command. +For commit changes, see "git log" or: https://sourceforge.net/p/sblim/sfcc/ci/master/tree/ diff --git a/configure.ac b/configure.ac index f050b6b..4867079 100644 --- a/configure.ac +++ b/configure.ac @@ -2,7 +2,7 @@ # Process this file with autoconf to produce a configure script. AC_PREREQ(2.59) -AC_INIT(sblim-sfcc, 2.2.6, sbl...@li...) +AC_INIT(sblim-sfcc, 2.2.7preview, sbl...@li...) AC_CONFIG_SRCDIR([cimc/cimcclient.c]) AC_CONFIG_HEADER([config.h]) hooks/post-receive -- sfcc- Small Footprint CIM Client |