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: Narasimha S. <nsh...@us...> - 2012-04-03 21:26:17
|
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 e6da1a4d2c6d8983f804ac7fa5ed0e00dd37761c (commit) from c4f1e693534731ad2dda92ec5ab09c496f18e887 (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 e6da1a4d2c6d8983f804ac7fa5ed0e00dd37761c Author: nsharoff <nsharoff@nsharoff.(none)> Date: Tue Apr 3 14:25:32 2012 -0700 patches for [ 3495060, 3471814 ] ----------------------------------------------------------------------- Summary of changes: diff --git a/ChangeLog b/ChangeLog index 373deb1..38c6914 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,12 @@ +2012-04-03 Narasimha Sharoff <nsh...@us...> + + * indCIMXMLHandler.c, interopProvider.c: + [ 3495060 ] verify filter and handler information during subscription + + * objectImpl.c: + [ 3471814 ] segfault in objectImpl.c:131,ClObjectGetClString + (Patch by Chris Buccella and Narasimha Sharoff) + 2012-04-03 Michael Chase-Salerno <br...@li...> * interopProvider.c: diff --git a/indCIMXMLHandler.c b/indCIMXMLHandler.c index c618ca9..33b593b 100644 --- a/indCIMXMLHandler.c +++ b/indCIMXMLHandler.c @@ -1028,6 +1028,10 @@ IndCIMXMLHandlerInvokeMethod(CMPIMethodMI * mi, CMPIData handler=CMGetProperty(sub, "Handler", &st); CMPIObjectPath *hop=handler.value.ref; CMPIInstance *hdlr=CBGetInstance(_broker, ctxLocal, hop, NULL, &st); + if (hdlr == NULL) { + mlogf(M_ERROR,M_SHOW,"Deliver indication failed, hdlr is null. rc:%d\n",st.rc); + _SFCB_RETURN(st); + } // Build the complete sequence context // Get the stub from the handler diff --git a/interopProvider.c b/interopProvider.c index e066599..0639f9b 100644 --- a/interopProvider.c +++ b/interopProvider.c @@ -882,6 +882,39 @@ filterInternalProps(CMPIInstance* ci) return; } +/* feature #3495060 :76814 : Verify the filter and handler information */ +CMPIStatus +verify_subscription(const CMPIContext * ctx, + const CMPIObjectPath *cop, + const CMPIInstance *ci) +{ + CMPIContext *ctxlocal = NULL; + CMPIStatus st = { CMPI_RC_OK, NULL }; + + CMPIData sub_filter = CMGetProperty(ci, "Filter", &st); + CMPIObjectPath *sub_filter_op = sub_filter.value.ref; + ctxlocal = prepareUpcall((CMPIContext *)ctx); + CMPIInstance *sub_filter_inst = CBGetInstance(_broker, ctxlocal, + sub_filter_op, NULL, &st); + if (sub_filter_inst == NULL) { + setStatus(&st,st.rc,"Invalid Subscription Filter"); + CMRelease(ctxlocal); + return st; + } + + CMPIData sub_handler = CMGetProperty(ci, "Handler", &st); + CMPIObjectPath *sub_handler_op = sub_handler.value.ref; + CMPIInstance *sub_handler_inst = CBGetInstance(_broker, ctxlocal, + sub_handler_op, NULL, &st); + if (sub_handler_inst == NULL) { + setStatus(&st,st.rc,"Invalid Subscription Handler"); + CMRelease(ctxlocal); + return st; + } + + CMRelease(ctxlocal); + return st; +} /* * -------------------------------------------------------------------------- @@ -1042,6 +1075,9 @@ InteropProviderCreateInstance(CMPIInstanceMI * mi, if (isa(nss, cns, "cim_indicationsubscription")) { _SFCB_TRACE(1, ("--- create cim_indicationsubscription")); + st = verify_subscription(ctx, cop, ci); /* 3495060 */ + if (st.rc != CMPI_RC_OK) _SFCB_RETURN(st); + st = processSubscription(_broker, ctx, ciLocal, copLocal); } else if (isa(nss, cns, "cim_indicationfilter")) { diff --git a/objectImpl.c b/objectImpl.c index a668b50..a3ab0d1 100644 --- a/objectImpl.c +++ b/objectImpl.c @@ -544,6 +544,63 @@ replaceClStringN(ClObjectHdr * hdr, int id, const char *str, unsigned int length _SFCB_EXIT(); } +/* Removes an object from the string buffer. The CMPIData pointing to that + object remains intact. A call to this function MUST be followed by a + call to addClObject(), else one of the CMPIData entries will be invalid. + + id - the number of the entry to be removed + */ +static void +removeClObject(ClObjectHdr * hdr, int id) +{ + _SFCB_ENTER(TRACE_OBJECTIMPL, "removeClObject"); + // fprintf(stderr, "replaceClString: %p replacing entry for we're skipping %d\n", hdr, (id-1)); + char *ts, *fs, *tmpstr = NULL; + long i, l, u; + ClStrBuf *fb; + + fb = getStrBufPtr(hdr); + ts = (char *) malloc(fb->bUsed); /* tmp string buffer */ + fs = &fb->buf[0]; + + for (u = i = 0; i < fb->iUsed; i++) { + if (i != id - 1) { /* loop through and copy over all _other_ properties */ + // fprintf(stderr, "replace: keeping %ld\n", i); + char *f = fs + fb->indexPtr[i]; + l = fb->indexPtr[i+1] - fb->indexPtr[i]; + + /* Bugzilla 74159 - Align the string buffer & null terminate */ + /*if (l % sizeof(long) != 0) { + l = ALIGN((fb->indexPtr[i+1] - fb->indexPtr[i]), CLALIGN); + tmpstr = calloc(1,l); + if (tmpstr == NULL) { + _SFCB_TRACE(1, ("objectImpl:replaceClString: calloc failed for tmpstr")); + } + memcpy(tmpstr, f, l); + } */ + + fb->indexPtr[i] = u; + + /*if (tmpstr != NULL) { + memcpy(ts + u, tmpstr, l); + free(tmpstr); + tmpstr = NULL; + } + else */ + memcpy(ts + u, f, l); + + u += l; + } + } + memcpy(fs, ts, u); + fb->bUsed = u; + free(ts); + + fb->iUsed--; /* fixup the item count, since we have one fewer elements */ + + _SFCB_EXIT(); +} + // hack to get anything into a stringbuffer static void replaceClObject(ClObjectHdr * hdr, int id, const void *obj, int size) @@ -1635,8 +1692,27 @@ addObjectPropertyH(ClObjectHdr * hdr, ClSection * prps, } free(blob); } - } else - (p + i - 1)->data = d; + } + /* bugzilla 75997 - hdr->type is args */ + else if (hdr->type == HDR_Args && + od.type == CMPI_instance && (d.state & CMPI_nullValue) == 0) { + if (d.type != CMPI_instance) { + _SFCB_RETURN(CMPI_RC_ERR_TYPE_MISMATCH); + } + else { + (p + i - 1)->data = d; + int size = getInstanceSerializedSize(d.value.inst); + void * blob = malloc(size); + getSerializedInstance(d.value.inst, blob); + //fprintf(stderr, "od.value.inst = %ld\n", (long)od.value.inst); + if (od.value.inst) { + removeClObject(hdr, (long)od.value.inst); + } + (p + i - 1)->data.value.inst = (CMPIInstance *) addClObject(hdr, blob, size); + free(blob); + } + } + else(p + i - 1)->data = d; _SFCB_RETURN(i); } hooks/post-receive -- SFCB - Small Footprint CIM Broker |
From: Tyrel D. <ty...@us...> - 2012-04-03 21:06:07
|
Update of /cvsroot/sblim/gather In directory vz-cvs-3.sog:/tmp/cvs-serv11432 Modified Files: ChangeLog configure.ac Log Message: Updated for 2.2.5 release Index: configure.ac =================================================================== RCS file: /cvsroot/sblim/gather/configure.ac,v retrieving revision 1.42 retrieving revision 1.43 diff -u -d -r1.42 -r1.43 --- configure.ac 23 Dec 2011 01:53:45 -0000 1.42 +++ configure.ac 3 Apr 2012 21:06:05 -0000 1.43 @@ -2,7 +2,7 @@ # Process this file with autoconf to produce a configure script. AC_PREREQ(2.59) -AC_INIT([sblim-gather],[2.2.4],[sbl...@li...]) +AC_INIT([sblim-gather],[2.2.5],[sbl...@li...]) AC_CONFIG_SRCDIR([cimplug.h]) AC_CONFIG_HEADER([gather-config.h]) AM_INIT_AUTOMAKE Index: ChangeLog =================================================================== RCS file: /cvsroot/sblim/gather/ChangeLog,v retrieving revision 1.74 retrieving revision 1.75 diff -u -d -r1.74 -r1.75 --- ChangeLog 23 Dec 2011 02:08:37 -0000 1.74 +++ ChangeLog 3 Apr 2012 21:06:05 -0000 1.75 @@ -1,3 +1,39 @@ +2012-04-03 Tyrel Datwyler <ty...@us...> + + * plugin/metricVirt.c, NEWS: + + Fixed 3514701: segv parsing xml if no defined source media + +2012-02-01 Tyrel Datwyler <ty...@us...> + + * NEWS, plugin/metricVirt.c: + + Fixed 3482875: virDomBlkInfo garbage if domain undefined + +2012-02-01 Tyrel Datwyler <ty...@us...> + + * NEWS, plugin/metricVirt.c: + + Fixed 3482869: segv parsing xml if domain becomes undefined + +2012-02-01 Tyrel Datwyler <ty...@us...> + + * NEWS, plugin/metricVirt.c: + + Fixed 3482867: virDomainBlkStats garbage if domain undefined + +2012-02-01 Tyrel Datwyler <ty...@us...> + + * NEWS, plugin/metricVirt.c: + + Fixed 3482806: blkio not updated for inactive domains + +2011-12-22 Tyrel Datwyler <ty...@us...> + + * ChangeLog: + + updated ChangeLog for 2.2.4 release + 2011-12-22 Tyrel Datwyler <ty...@us...> * NEWS, configure.ac, plugin/metricUnixProcess.c: |
From: Michael Chase-S. <mc...@us...> - 2012-04-03 21:05:59
|
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 c4f1e693534731ad2dda92ec5ab09c496f18e887 (commit) via e679fcb9698340055068726d1cb08b1e6714f7fc (commit) from 9485c3a9baaf59453dec79496073d45da8b1cc52 (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 c4f1e693534731ad2dda92ec5ab09c496f18e887 Author: Michael Chase-Salerno <br...@li...> Date: Tue Apr 3 17:05:37 2012 -0400 [ 3512425 ] SequenceContext needs to be set at startup commit e679fcb9698340055068726d1cb08b1e6714f7fc Author: Michael Chase-Salerno <br...@li...> Date: Tue Apr 3 17:03:19 2012 -0400 [ 3512425 ] SequenceContext needs to be set at startup ----------------------------------------------------------------------- Summary of changes: diff --git a/ChangeLog b/ChangeLog index 5922c5b..373deb1 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,8 @@ +2012-04-03 Michael Chase-Salerno <br...@li...> + + * interopProvider.c: + [ 3512425 ] SequenceContext needs to be set at startup + 2012-04-03 Chris Buccella <buc...@li...> * Makefile.am, configure.ac, default.reg.in, profileProvider.c, @@ -6,14 +11,14 @@ 2012-04-02 Narasimha Sharoff <nsh...@us...> - * indCIMXMLHandler.c: - [ 3485438 ] Segfault while retrying to deliver an indication + * indCIMXMLHandler.c: + [ 3485438 ] Segfault while retrying to deliver an indication - * sfcBroker.c: - [ 3462309 ] Do not allow multiple instances of sfcb + * sfcBroker.c: + [ 3462309 ] Do not allow multiple instances of sfcb - * cimXmlParser.c: - [ 3486814 ] sfcb crashes while freeing the cimxml response + * cimXmlParser.c: + [ 3486814 ] sfcb crashes while freeing the cimxml response 2012-04-02 Michael Chase-Salerno <br...@li...> diff --git a/NEWS b/NEWS index 4396020..ef47b90 100644 --- a/NEWS +++ b/NEWS @@ -132,6 +132,7 @@ Bugs Fixed: - 3505407 Client openlog changes settings - 3485830 SFCB Makes Redundant ActivateFilter Calls - 3483294 InternalProvider Should Handle SFCB_RegisteredProfile +- 3512425 SequenceContext needs to be set at startup Changes in 1.3.13 ================= diff --git a/interopProvider.c b/interopProvider.c index 1e8b3d8..e066599 100644 --- a/interopProvider.c +++ b/interopProvider.c @@ -795,12 +795,33 @@ initInterOp(const CMPIBroker * broker, const CMPIContext *ctx) enm = _broker->bft->enumerateInstances(_broker, ctx, op, NULL, &st); if (enm) { + // Get the IndicationService name for SequenceContext migration + CMPIObjectPath * isop = CMNewObjectPath(_broker, "root/interop", "CIM_IndicationService", NULL); + CMPIEnumeration * isenm = _broker->bft->enumerateInstances(_broker, ctx, isop, NULL, NULL); + CMPIData isinst = CMGetNext(isenm, NULL); + CMPIData mc = CMGetProperty(isinst.value.inst, "Name", NULL); + CMPIData ld; + // Loop through all the listeners + int ldcount=0; + char context[100]; while (enm->ft->hasNext(enm, &st) && (ci = (enm->ft->getNext(enm, &st)).value.inst)) { cop = CMGetObjectPath(ci, &st); if (RIEnabled) { - // Reset the sequence numbers on sfcb restart + // check and set context for migrated listeners. CMPIInstance *ldi = _broker->bft->getInstance(_broker, ctxLocal, cop, NULL, NULL); + ld = CMGetProperty(ldi, "SequenceContext", NULL); + if (ld.state != CMPI_goodValue) { + _SFCB_TRACE(1,("--- adding SequenceContext to migrated cim_listenerdestination")); + // build and set the context string, we can't know the actual creation + // time, so just use SFCB start time + index. + ldcount++; + sprintf (context,"%s#%sM%d#",mc.value.string->ft->getCharPtr(mc.value.string,NULL),sfcBrokerStart,ldcount); + CMPIValue scontext; + scontext.string = sfcb_native_new_CMPIString(context, NULL, 0); + CMSetProperty(ldi, "SequenceContext", &scontext, CMPI_string); + } + // Reset the sequence numbers on sfcb restart CMPIValue zarro = {.sint64 = -1 }; CMSetProperty(ldi, "LastSequenceNumber", &zarro, CMPI_sint64); CBModifyInstance(_broker, ctxLocal, cop, ldi, NULL); hooks/post-receive -- SFCB - Small Footprint CIM Broker |
From: Tyrel D. <ty...@us...> - 2012-04-03 20:20:42
|
Update of /cvsroot/sblim/gather In directory vz-cvs-3.sog:/tmp/cvs-serv8051 Modified Files: NEWS Log Message: Fixed 3514701: segv parsing xml if no defined source media Index: NEWS =================================================================== RCS file: /cvsroot/sblim/gather/NEWS,v retrieving revision 1.121 retrieving revision 1.122 diff -u -d -r1.121 -r1.122 --- NEWS 2 Feb 2012 00:39:47 -0000 1.121 +++ NEWS 3 Apr 2012 20:20:40 -0000 1.122 @@ -6,6 +6,7 @@ - 3482867 virDomainBlkStats garbage if domain undefined - 3482869 segv parsing xml if domain becomes undefined - 3482875 virDomBlkInfo garbage if domain undefined +- 3514701 segv parsing xml if no defined source media Changes in Version 2.2.4 ======================== |
From: Tyrel D. <ty...@us...> - 2012-04-03 20:19:29
|
Update of /cvsroot/sblim/gather/plugin In directory vz-cvs-3.sog:/tmp/cvs-serv7961/plugin Modified Files: metricVirt.c Log Message: Fixed 3514701: segv parsing xml if no defined source media Index: metricVirt.c =================================================================== RCS file: /cvsroot/sblim/gather/plugin/metricVirt.c,v retrieving revision 1.20 retrieving revision 1.21 diff -u -d -r1.20 -r1.21 --- metricVirt.c 2 Feb 2012 00:39:47 -0000 1.20 +++ metricVirt.c 3 Apr 2012 20:19:26 -0000 1.21 @@ -142,8 +142,9 @@ end = strstr(cur, "</disk"); + /* check that we found a 'source' tag and it is part of the current disk block */ temp = strstr(cur, "<source"); - if (temp > end) { + if (!temp || temp > end) { continue; } |
From: Chris B. <buc...@us...> - 2012-04-03 19:32:55
|
Update of /cvsroot/sblim/sfcb In directory vz-cvs-3.sog:/tmp/cvs-serv3746 Modified Files: utilTypeCk.c ChangeLog NEWS Log Message: [ 3514443 ] sfcb 1.3.14 compilation error Index: NEWS =================================================================== RCS file: /cvsroot/sblim/sfcb/NEWS,v retrieving revision 1.676 retrieving revision 1.677 diff -u -d -r1.676 -r1.677 --- NEWS 30 Mar 2012 21:51:31 -0000 1.676 +++ NEWS 3 Apr 2012 19:32:52 -0000 1.677 @@ -1,3 +1,10 @@ +Changes in 1.3.15 +================= + +Bugs fixed: + +- 3514443 sfcb 1.3.14 compilation error + Changes in 1.3.14 ================= Index: utilTypeCk.c =================================================================== RCS file: /cvsroot/sblim/sfcb/utilTypeCk.c,v retrieving revision 1.2 retrieving revision 1.3 diff -u -d -r1.2 -r1.3 --- utilTypeCk.c 27 Dec 2011 20:45:20 -0000 1.2 +++ utilTypeCk.c 3 Apr 2012 19:32:52 -0000 1.3 @@ -25,7 +25,7 @@ #include <strings.h> #include <limits.h> #include <errno.h> -#include "cmpi/cmpidt.h" +#include "cmpidt.h" /* checks for unsigned integers uint8 - uint64 */ int Index: ChangeLog =================================================================== RCS file: /cvsroot/sblim/sfcb/ChangeLog,v retrieving revision 1.755 retrieving revision 1.756 diff -u -d -r1.755 -r1.756 --- ChangeLog 30 Mar 2012 21:51:31 -0000 1.755 +++ ChangeLog 3 Apr 2012 19:32:52 -0000 1.756 @@ -1,3 +1,8 @@ +2012-04-03 Chris Buccella <buc...@li...> + + * utilTypeCk.c: + [ 3514443 ] sfcb 1.3.14 compilation error + 2012-03-30 Chris Buccella <buc...@li...> * httpAdapter.c: |
From: Dave B. <bla...@us...> - 2012-04-03 19:16:37
|
Update of /cvsroot/sblim/jsr48-client/src/org/sblim/cimclient/internal/wbem In directory vz-cvs-3.sog:/tmp/cvs-serv3157/src/org/sblim/cimclient/internal/wbem Modified Files: Tag: Experimental WBEMClientCIMXML.java Log Message: 3514685 - TCK: getProperty must return default values Index: WBEMClientCIMXML.java =================================================================== RCS file: /cvsroot/sblim/jsr48-client/src/org/sblim/cimclient/internal/wbem/WBEMClientCIMXML.java,v retrieving revision 1.21.2.56 retrieving revision 1.21.2.57 diff -u -d -r1.21.2.56 -r1.21.2.57 --- WBEMClientCIMXML.java 3 Apr 2012 12:50:23 -0000 1.21.2.56 +++ WBEMClientCIMXML.java 3 Apr 2012 19:16:35 -0000 1.21.2.57 @@ -58,6 +58,7 @@ * 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 * 3514537 2012-04-03 blaschke-oss TCK: execQueryInstances requires boolean, not Boolean + * 3514685 2012-04-03 blaschke-oss TCK: getProperty must return default values */ package org.sblim.cimclient.internal.wbem; @@ -330,58 +331,36 @@ public String getProperty(String pKey) { if (pKey.startsWith("javax.wbem.")) { // Process JSR48 properties - String SblimKey; - if (pKey.equals(WBEMClientConstants.PROP_ENABLE_CONSOLE_LOGGING)) { - SblimKey = this.iConfiguration - .getDomainProperty(WBEMConfigurationProperties.LOG_CONSOLE_LEVEL); - if (SblimKey == null) return null; - return SblimKey.equals("OFF") ? "0" : "1"; + return Level.OFF.equals(this.iConfiguration.getLogConsoleLevel()) ? "0" : "1"; } else if (pKey.equals(WBEMClientConstants.PROP_ENABLE_DEBUG)) { - SblimKey = this.iConfiguration - .getDomainProperty(WBEMConfigurationProperties.LOG_DEBUG); - if (SblimKey == null) return null; - return SblimKey.equals("true") ? "1" : "0"; + return this.iConfiguration.isLogDebug() ? "1" : "0"; } else if (pKey.equals(WBEMClientConstants.PROP_ENABLE_FILE_LOGGING)) { - SblimKey = this.iConfiguration - .getDomainProperty(WBEMConfigurationProperties.LOG_FILE_LEVEL); - if (SblimKey == null) return null; - return SblimKey.equals("OFF") ? "0" : "1"; + return Level.OFF.equals(this.iConfiguration.getLogFileLevel()) ? "0" : "1"; } else if (pKey.equals(WBEMClientConstants.PROP_LOG_BYTE_LIMIT)) { - return this.iConfiguration - .getDomainProperty(WBEMConfigurationProperties.LOG_FILE_SIZE_LIMIT); + return Integer.toString(this.iConfiguration.getLogFileSizeLimit()); } else if (pKey.equals(WBEMClientConstants.PROP_LOG_DIR)) { - SblimKey = this.iConfiguration - .getDomainProperty(WBEMConfigurationProperties.LOG_FILE_LOCATION); + String SblimKey = this.iConfiguration.getLogFileLocation(); if (SblimKey == null) return null; int i = SblimKey.lastIndexOf(File.separatorChar); return i != -1 ? SblimKey.substring(0, i) : null; } else if (pKey.equals(WBEMClientConstants.PROP_LOG_FILENAME)) { - SblimKey = this.iConfiguration - .getDomainProperty(WBEMConfigurationProperties.LOG_FILE_LOCATION); + String SblimKey = this.iConfiguration.getLogFileLocation(); if (SblimKey == null) return null; int i = SblimKey.lastIndexOf(File.separatorChar); return i != -1 ? SblimKey.substring(i + 1) : SblimKey; } else if (pKey.equals(WBEMClientConstants.PROP_LOG_NUM_FILES)) { - return this.iConfiguration - .getDomainProperty(WBEMConfigurationProperties.LOG_FILE_COUNT); + return Integer.toString(this.iConfiguration.getLogFileCount()); } else if (pKey.equals(WBEMClientConstants.PROP_TIMEOUT)) { - return this.iConfiguration - .getDomainProperty(WBEMConfigurationProperties.HTTP_TIMEOUT); + return Integer.toString(this.iConfiguration.getHttpTimeout()); } else if (pKey.equals(WBEMClientConstants.PROPERTY_WBEM_CHUNKING)) { - SblimKey = this.iConfiguration - .getDomainProperty(WBEMConfigurationProperties.HTTP_USE_CHUNKING); - if (SblimKey == null) return null; - return SblimKey.equals("true") ? "1" : "0"; + return this.iConfiguration.isHttpChunked() ? "1" : "0"; } else if (pKey.equals(WBEMClientConstants.PROP_CLIENT_KEYSTORE)) { - return this.iConfiguration - .getDomainProperty(WBEMConfigurationProperties.KEYSTORE_PATH); + return this.iConfiguration.getSslKeyStorePath(); } else if (pKey.equals(WBEMClientConstants.PROP_CLIENT_KEYSTORE_PASSWORD)) { - return this.iConfiguration - .getDomainProperty(WBEMConfigurationProperties.KEYSTORE_PASSWORD); + return this.iConfiguration.getSslKeyStorePassword(); } else if (pKey.equals(WBEMClientConstants.PROP_CLIENT_TRUSTSTORE)) { - return this.iConfiguration - .getDomainProperty(WBEMConfigurationProperties.TRUSTSTORE_PATH); + return this.iConfiguration.getSslTrustStorePath(); } else { return null; } |
From: Chris B. <buc...@us...> - 2012-04-03 16:04:33
|
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 9485c3a9baaf59453dec79496073d45da8b1cc52 (commit) from fc989a07063e91acdc1e7fef35bf466778ffe503 (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 9485c3a9baaf59453dec79496073d45da8b1cc52 Author: buccella <buc...@li...> Date: Tue Apr 3 12:03:50 2012 -0400 [ 3483294 ] InternalProvider Should Handle SFCB_RegisteredProfile ----------------------------------------------------------------------- Summary of changes: diff --git a/ChangeLog b/ChangeLog index 7a789d4..5922c5b 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,9 @@ +2012-04-03 Chris Buccella <buc...@li...> + + * Makefile.am, configure.ac, default.reg.in, profileProvider.c, + providerMgr.c, test/xmltest/modifyInstance_regprofile.lines: + [ 3483294 ] InternalProvider Should Handle SFCB_RegisteredProfile + 2012-04-02 Narasimha Sharoff <nsh...@us...> * indCIMXMLHandler.c: diff --git a/Makefile.am b/Makefile.am index c50bf30..43ecd4a 100644 --- a/Makefile.am +++ b/Makefile.am @@ -120,6 +120,12 @@ else ACCOUNT_PASSTHRU_LIBS = endif +if SLP + PROFILE_PROVIDER_LIBS = libsfcProfileProvider.la +else + PROFILE_PROVDIER_LIBS = +endif + sfcb_sharedobjects = \ $(sfcblibdir)/*.so @@ -129,7 +135,7 @@ sfcblib_LTLIBRARIES = \ libsfcInternalProvider.la \ libsfcInteropProvider.la \ libsfcInteropServerProvider.la \ - libsfcProfileProvider.la \ + $(PROFILE_PROVIDER_LIBS) \ libsfcElementCapabilitiesProvider.la \ libsfcClassProvider.la \ libsfcClassProviderGz.la \ @@ -157,13 +163,11 @@ sfcblib_LTLIBRARIES += \ libTestIndicationProvider.la endif -SLP_PROGRAMFILES = - sbin_PROGRAMS = \ sfcbd bin_PROGRAMS = \ - sfcbmofpp sfcbdump sfcbinst2mof $(SLP_PROGRAMFILES) + sfcbmofpp sfcbdump sfcbinst2mof noinst_PROGRAMS = \ sfcbdumpP32onI32 classSchema2c sfcbsem @@ -284,9 +288,7 @@ libsfcIndCIMXMLHandler_la_LIBADD=-lsfcBrokerCore -lsfcInternalProvider $(CIMXMLC libsfcIndCIMXMLHandler_la_DEPENDENCIES=libsfcBrokerCore.la libsfcInternalProvider.la \ $(CIMXMLCODEC_LIBS) $(HTTP_ADAPTER_LIBS) -libsfcProfileProvider_la_SOURCES = \ - profileProvider.c \ - $(SLP_SRC) +libsfcProfileProvider_la_SOURCES = $(SLP_SRC) libsfcProfileProvider_la_LIBADD=-lsfcBrokerCore libsfcProfileProvider_la_DEPENDENCIES=libsfcBrokerCore.la @@ -377,7 +379,8 @@ libsfcCimXmlCodec_la_DEPENDENCIES=libsfcBrokerCore.la endif if SLP -SLP_SRC = cimslpCMPI.c \ +SLP_SRC = profileProvider.c \ + cimslpCMPI.c \ cimslpSLP.c \ cimslpUtil.c SLP_INC = cimslpCMPI.h \ @@ -385,6 +388,7 @@ SLP_INC = cimslpCMPI.h \ cimslpUtil.h else +SLP_SRC = SLP_INC = endif diff --git a/NEWS b/NEWS index 3ed725d..4396020 100644 --- a/NEWS +++ b/NEWS @@ -131,6 +131,7 @@ Bugs Fixed: - 3416054 Provider continues despite SIGSEGV - 3505407 Client openlog changes settings - 3485830 SFCB Makes Redundant ActivateFilter Calls +- 3483294 InternalProvider Should Handle SFCB_RegisteredProfile Changes in 1.3.13 ================= diff --git a/configure.ac b/configure.ac index da0641a..883f61d 100644 --- a/configure.ac +++ b/configure.ac @@ -175,7 +175,11 @@ fi if test "$enable_slp" == "yes"; then AC_DEFINE(HAVE_SLP,,[SLP support enabled.]) + LOAD_PROFILE_PROVIDER= +else + LOAD_PROFILE_PROVIDER='#' fi +AC_SUBST(LOAD_PROFILE_PROVIDER) if test "$enable_slp_hostname_lib" == "yes"; then AC_DEFINE(SLP_HOSTNAME_LIB,,[SLP Hostname lib enabled]) diff --git a/default.reg.in b/default.reg.in index b3c5cc2..7d8d9d3 100644 --- a/default.reg.in +++ b/default.reg.in @@ -20,12 +20,12 @@ unload: never namespace: root/interop # -[$ProfileProvider$] - provider: ProfileProvider - location: sfcProfileProvider - type: instance method - unload: never - namespace: root/interop +@LOAD_PROFILE_PROVIDER@[$ProfileProvider$] +@LOAD_PROFILE_PROVIDER@ provider: ProfileProvider +@LOAD_PROFILE_PROVIDER@ location: sfcProfileProvider +@LOAD_PROFILE_PROVIDER@ type: method +@LOAD_PROFILE_PROVIDER@ unload: never +@LOAD_PROFILE_PROVIDER@ namespace: root/interop # @LOAD_QUALIFIER_PROVIDER@[$QualifierProvider$] @LOAD_QUALIFIER_PROVIDER@ provider: QualifierProvider @@ -78,10 +78,9 @@ @LOAD_SFCBACCOUNT_PROVIDER@ namespace: root/interop # [SFCB_RegisteredProfile] - provider: ProfileProvider - location: sfcProfileProvider + provider: InternalProvider + location: sfcInternalProvider type: instance - unload: never namespace: root/interop # [CIM_Namespace] diff --git a/profileProvider.c b/profileProvider.c index d502608..b148d07 100644 --- a/profileProvider.c +++ b/profileProvider.c @@ -105,226 +105,6 @@ static const CMPIBroker *_broker; * ------------------------------------------------------------------------- */ -CMPIContext * -prepareUpcall(const CMPIContext *ctx) -{ - /* - * used to invoke the internal provider in upcalls, otherwise we will be - * routed here again - */ - CMPIContext *ctxLocal; - ctxLocal = native_clone_CMPIContext(ctx); - CMPIValue val; - val.string = sfcb_native_new_CMPIString("$DefaultProvider$", NULL, 0); - ctxLocal->ft->addEntry(ctxLocal, "rerouteToProvider", &val, CMPI_string); - return ctxLocal; -} - - -/* - * -------------------------------------------------------------------------- - */ -/* - * Instance Provider Interface - */ -/* - * -------------------------------------------------------------------------- - */ - -CMPIStatus -ProfileProviderCleanup(CMPIInstanceMI * mi, - const CMPIContext *ctx, CMPIBoolean terminate) -{ - CMPIStatus st = { CMPI_RC_OK, NULL }; - _SFCB_ENTER(TRACE_INDPROVIDER, "ProfileProviderCleanup"); -#ifdef HAVE_SLP - // Tell SLP update thread that we're shutting down - _SFCB_TRACE(1, ("--- Stopping SLP thread")); - pthread_kill(slpUpdateThread, SIGUSR2); - // Wait for thread to complete - pthread_join(slpUpdateThread, NULL); - _SFCB_TRACE(1, ("--- SLP Thread stopped")); -#endif // HAVE_SLP - _SFCB_RETURN(st); -} - -/* - * ------------------------------------------------------------------------- - */ - -CMPIStatus -ProfileProviderEnumInstanceNames(CMPIInstanceMI * mi, - const CMPIContext *ctx, - const CMPIResult *rslt, - const CMPIObjectPath * ref) -{ - CMPIStatus st = { CMPI_RC_OK, NULL }; - CMPIEnumeration *enm; - CMPIContext *ctxLocal; - _SFCB_ENTER(TRACE_INDPROVIDER, "ProfileProviderEnumInstanceNames"); - - ctxLocal = prepareUpcall((CMPIContext *) ctx); - enm = _broker->bft->enumerateInstanceNames(_broker, ctxLocal, ref, &st); - CMRelease(ctxLocal); - - while (enm && enm->ft->hasNext(enm, &st)) { - CMReturnObjectPath(rslt, (enm->ft->getNext(enm, &st)).value.ref); - } - if (enm) - CMRelease(enm); - _SFCB_RETURN(st); -} - -/* - * ------------------------------------------------------------------------- - */ - -CMPIStatus -ProfileProviderEnumInstances(CMPIInstanceMI * mi, - const CMPIContext *ctx, - const CMPIResult *rslt, - const CMPIObjectPath * ref, - const char **properties) -{ - CMPIStatus st = { CMPI_RC_OK, NULL }; - CMPIEnumeration *enm; - CMPIContext *ctxLocal; - _SFCB_ENTER(TRACE_INDPROVIDER, "ProfileProviderEnumInstances"); - - ctxLocal = prepareUpcall((CMPIContext *) ctx); - enm = - _broker->bft->enumerateInstances(_broker, ctxLocal, ref, properties, - &st); - CMRelease(ctxLocal); - - while (enm && enm->ft->hasNext(enm, &st)) { - CMReturnInstance(rslt, (enm->ft->getNext(enm, &st)).value.inst); - } - if (enm) - CMRelease(enm); - _SFCB_RETURN(st); -} - -/* - * ------------------------------------------------------------------------- - */ - -CMPIStatus -ProfileProviderGetInstance(CMPIInstanceMI * mi, - const CMPIContext *ctx, - const CMPIResult *rslt, - const CMPIObjectPath * cop, - const char **properties) -{ - - CMPIStatus st = { CMPI_RC_OK, NULL }; - CMPIContext *ctxLocal; - CMPIInstance *ci; - - _SFCB_ENTER(TRACE_INDPROVIDER, "ProfileProviderGetInstance"); - - ctxLocal = prepareUpcall((CMPIContext *) ctx); - - ci = _broker->bft->getInstance(_broker, ctxLocal, cop, properties, &st); - if (st.rc == CMPI_RC_OK) { - CMReturnInstance(rslt, ci); - } - - CMRelease(ctxLocal); - - _SFCB_RETURN(st); - -} - -/* - * ------------------------------------------------------------------------- - */ - -CMPIStatus -ProfileProviderCreateInstance(CMPIInstanceMI * mi, - const CMPIContext *ctx, - const CMPIResult *rslt, - const CMPIObjectPath * cop, - const CMPIInstance *ci) -{ - CMPIStatus st = { CMPI_RC_OK, NULL }; - CMPIContext *ctxLocal; - //cimomConfig cfg; - - _SFCB_ENTER(TRACE_INDPROVIDER, "ProfileProviderCreateInstance"); - - ctxLocal = prepareUpcall((CMPIContext *) ctx); - CMReturnObjectPath(rslt, - _broker->bft->createInstance(_broker, ctxLocal, cop, - ci, &st)); - CMRelease(ctxLocal); -#ifdef HAVE_SLP - //updateSLPRegistration - updateSLPReg(ctx, slpLifeTime); -#endif // HAVE_SLP - - _SFCB_RETURN(st); -} - -/* - * ------------------------------------------------------------------------- - */ - -CMPIStatus -ProfileProviderModifyInstance(CMPIInstanceMI * mi, - const CMPIContext *ctx, - const CMPIResult *rslt, - const CMPIObjectPath * cop, - const CMPIInstance *ci, - const char **properties) -{ - CMPIStatus st = { CMPI_RC_ERR_NOT_SUPPORTED, NULL }; - _SFCB_ENTER(TRACE_INDPROVIDER, "ProfileProviderModifyInstance"); - _SFCB_RETURN(st); -} - -/* - * ------------------------------------------------------------------------- - */ - -CMPIStatus -ProfileProviderDeleteInstance(CMPIInstanceMI * mi, - const CMPIContext *ctx, - const CMPIResult *rslt, - const CMPIObjectPath * cop) -{ - CMPIStatus st = { CMPI_RC_OK, NULL }; - CMPIContext *ctxLocal; - - _SFCB_ENTER(TRACE_INDPROVIDER, "ProfileProviderDeleteInstance"); - - ctxLocal = prepareUpcall((CMPIContext *) ctx); - st = _broker->bft->deleteInstance(_broker, ctxLocal, cop); - CMRelease(ctxLocal); -#ifdef HAVE_SLP - //updateSLPRegistration - updateSLPReg(ctx, slpLifeTime); -#endif // HAVE_SLP - - _SFCB_RETURN(st); -} - -/* - * ------------------------------------------------------------------------- - */ - -CMPIStatus -ProfileProviderExecQuery(CMPIInstanceMI * mi, - const CMPIContext *ctx, - const CMPIResult *rslt, - const CMPIObjectPath * cop, - const char *lang, const char *query) -{ - CMPIStatus st = { CMPI_RC_ERR_NOT_SUPPORTED, NULL }; - _SFCB_ENTER(TRACE_INDPROVIDER, "ProfileProviderExecQuery"); - _SFCB_RETURN(st); -} - CMPIStatus ProfileProviderInvokeMethod(CMPIMethodMI * mi, const CMPIContext *ctx, @@ -345,9 +125,17 @@ ProfileProviderInvokeMethod(CMPIMethodMI * mi, CMPIStatus ProfileProviderMethodCleanup(CMPIMethodMI * mi, const CMPIContext * ctx, CMPIBoolean terminate) { - CMPIStatus st = { CMPI_RC_OK, NULL }; - _SFCB_ENTER(TRACE_INDPROVIDER, "ProfileProviderMethodCleanup"); - _SFCB_RETURN(st); + CMPIStatus st = { CMPI_RC_OK, NULL }; + _SFCB_ENTER(TRACE_INDPROVIDER, "ProfileProviderCleanup"); +#ifdef HAVE_SLP + // Tell SLP update thread that we're shutting down + _SFCB_TRACE(1, ("--- Stopping SLP thread")); + pthread_kill(slpUpdateThread, SIGUSR2); + // Wait for thread to complete + pthread_join(slpUpdateThread, NULL); + _SFCB_TRACE(1, ("--- SLP Thread stopped")); +#endif // HAVE_SLP + _SFCB_RETURN(st); } @@ -518,17 +306,8 @@ spawnUpdateThread(const CMPIContext *ctx) #else // no HAVE_SLP #define UPDATE_SLP_REG CMNoHook #endif // HAVE_SLP -/* - * ------------------------------------------------------------------ * - * Instance MI Factory NOTE: This is an example using the convenience - * macros. This is OK as long as the MI has no special requirements, i.e. - * to store data between calls. - * ------------------------------------------------------------------ - */ -//CMInstanceMIStub(ProfileProvider, ProfileProvider, _broker, CMNoHook); -CMInstanceMIStub(ProfileProvider, ProfileProvider, _broker, UPDATE_SLP_REG); -CMMethodMIStub(ProfileProvider, ProfileProvider, _broker, CMNoHook); +CMMethodMIStub(ProfileProvider, ProfileProvider, _broker, UPDATE_SLP_REG); /* MODELINES */ /* DO NOT EDIT BELOW THIS COMMENT */ diff --git a/providerMgr.c b/providerMgr.c index 57b3b06..c088608 100644 --- a/providerMgr.c +++ b/providerMgr.c @@ -998,7 +998,9 @@ processProviderMgrRequests() startUpProvider("root/interop", "$InterOpProvider$"); } #endif +#ifdef HAVE_SLP startUpProvider("root/interop", "$ProfileProvider$"); +#endif for (;;) { MgrHandler hdlr; diff --git a/test/xmltest/modifyInstance_regprofile.lines b/test/xmltest/modifyInstance_regprofile.lines index 584374a..9337d8e 100644 --- a/test/xmltest/modifyInstance_regprofile.lines +++ b/test/xmltest/modifyInstance_regprofile.lines @@ -1,3 +1,3 @@ <IMETHODRESPONSE NAME="ModifyInstance"> -<ERROR CODE="7" DESCRIPTION="The requested operation is not supported"/> +<ERROR CODE="6" DESCRIPTION="The requested object could not be found"/> </IMETHODRESPONSE> hooks/post-receive -- SFCB - Small Footprint CIM Broker |
From: Dave B. <bla...@us...> - 2012-04-03 12:50:26
|
Update of /cvsroot/sblim/jsr48-client/src/javax/wbem/client In directory vz-cvs-3.sog:/tmp/cvs-serv9512/src/javax/wbem/client Modified Files: Tag: Experimental WBEMClient.java Log Message: 3514537 - TCK: execQueryInstances requires boolean, not Boolean Index: WBEMClient.java =================================================================== RCS file: /cvsroot/sblim/jsr48-client/src/javax/wbem/client/WBEMClient.java,v retrieving revision 1.2.2.16 retrieving revision 1.2.2.17 diff -u -d -r1.2.2.16 -r1.2.2.17 --- WBEMClient.java 2 Mar 2012 18:13:36 -0000 1.2.2.16 +++ WBEMClient.java 3 Apr 2012 12:50:24 -0000 1.2.2.17 @@ -27,6 +27,7 @@ * 2961592 2010-03-01 blaschke-oss Remove WBEMClient.setLocales() UnsupportedOperationException * 3496301 2012-03-02 blaschke-oss Sync up javax.* javadoc with JSR48 1.0.0 Final * 3496343 2012-03-02 blaschke-oss JSR48 1.0.0: deprecate WBEMClient associators and references + * 3514537 2012-04-03 blaschke-oss TCK: execQueryInstances requires boolean, not Boolean */ package javax.wbem.client; @@ -1431,8 +1432,8 @@ * </pre> */ public EnumerateResponse<CIMInstance> execQueryInstances(CIMObjectPath pObjectName, - String pFilterQuery, String pFilterQueryLanguage, Boolean pReturnQueryResultClass, - UnsignedInteger32 pTimeout, Boolean pContinueOnError, UnsignedInteger32 pMaxObjects, + String pFilterQuery, String pFilterQueryLanguage, boolean pReturnQueryResultClass, + UnsignedInteger32 pTimeout, boolean pContinueOnError, UnsignedInteger32 pMaxObjects, CIMClass pQueryResultClass) throws WBEMException; /** |
From: Narasimha S. <nsh...@us...> - 2012-04-03 00:29:53
|
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 fc989a07063e91acdc1e7fef35bf466778ffe503 (commit) from 022cb89d6732224551a3796650f28b9556ac2ccc (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 fc989a07063e91acdc1e7fef35bf466778ffe503 Author: nsharoff <nsharoff@nsharoff.(none)> Date: Mon Apr 2 17:21:32 2012 -0700 Patches for [ 3486814 , 3462309 , 3485438 ] ----------------------------------------------------------------------- Summary of changes: diff --git a/ChangeLog b/ChangeLog index caae215..7a789d4 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,14 @@ +2012-04-02 Narasimha Sharoff <nsh...@us...> + + * indCIMXMLHandler.c: + [ 3485438 ] Segfault while retrying to deliver an indication + + * sfcBroker.c: + [ 3462309 ] Do not allow multiple instances of sfcb + + * cimXmlParser.c: + [ 3486814 ] sfcb crashes while freeing the cimxml response + 2012-04-02 Michael Chase-Salerno <br...@li...> * cimcClientSfcbLocal.c: diff --git a/cimXmlParser.c b/cimXmlParser.c index cd75652..50697f8 100644 --- a/cimXmlParser.c +++ b/cimXmlParser.c @@ -1847,7 +1847,9 @@ freeParamValues(XtokParamValues * op) XtokParamValue *pv = op->first, *dv; while (pv) { - freeParamValue(pv); + /* 3486814 : type is invalid, value is null */ + if (pv->type != USHRT_MAX) + freeParamValue(pv); dv = pv; pv = pv->next; free(dv); diff --git a/indCIMXMLHandler.c b/indCIMXMLHandler.c index 5110005..c618ca9 100644 --- a/indCIMXMLHandler.c +++ b/indCIMXMLHandler.c @@ -736,10 +736,14 @@ dqRetry(CMPIContext * ctx, RTElement * cur) // queue is empty free(cur); RQhead = NULL; + RQtail = NULL; } else { // not last cur->prev->next = cur->next; cur->next->prev = cur->prev; + /* 3485438-77204 - update qhead/qtail */ + if (cur == RQhead) RQhead=cur->next; + if (cur == RQtail) RQtail=cur->prev; CMRelease(cur->ref); CMRelease(cur->sub); if (cur) diff --git a/sfcBroker.c b/sfcBroker.c index dcf7412..7a62a25 100644 --- a/sfcBroker.c +++ b/sfcBroker.c @@ -32,6 +32,12 @@ #include <signal.h> #include <sys/wait.h> +#include <stdlib.h> +#include <fcntl.h> +#include <dirent.h> +#include <sys/types.h> +#include <sys/stat.h> + #include "trace.h" #include "msgqueue.h" #include <pthread.h> @@ -504,6 +510,39 @@ usage(int status) exit(status); } +/* SF 3462309 : Check if there is an instance of sfcbd running; use procfs */ +static int +sfcb_is_running() +{ + #define STRBUF_LEN 512 + #define BUF_LEN 30 + struct dirent *dp = NULL; + char *strbuf = malloc(STRBUF_LEN); + char *buf = malloc(BUF_LEN); + int mypid = getpid(); + int ret = 0; + + DIR *dir = opendir("/proc"); + while ((dp = readdir(dir)) != NULL) { + if (isdigit(dp->d_name[0])) { + sprintf(buf, "/proc/%s/exe", dp->d_name); + memset(strbuf, 0, STRBUF_LEN); + if (readlink(buf, strbuf, STRBUF_LEN) == -1) continue; + if (strstr(strbuf, "sfcbd") != NULL) { + ret = strtol(dp->d_name, NULL, 0); + if (ret == mypid) { ret = 0; continue; } + break; + } + } + } + + closedir(dir); + free(buf); + free(strbuf); + return(ret); +} + + static void version() { @@ -537,6 +576,13 @@ main(int argc, char *argv[]) pSockets; char *pauseStr; + /* SF 3462309 - If there is an instance running already, return */ + int pid_found = 0; + if ((pid_found = sfcb_is_running()) != 0) { + mlogf(M_ERROR, M_SHOW, " --- A previous instance of sfcbd [%d] is running. Exiting.\n", pid_found); + exit(1); + } + name = strrchr(argv[0], '/'); if (name != NULL) ++name; hooks/post-receive -- SFCB - Small Footprint CIM Broker |
From: Michael Chase-S. <mc...@us...> - 2012-04-02 22:44:09
|
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 022cb89d6732224551a3796650f28b9556ac2ccc (commit) via 29fee485bbc6e8be2869c4e62216625d52f61aa6 (commit) via 19a6ed782b5024306793625139de203280a944cc (commit) from 573a60bec68c3c0113b3a27809423cccf92d4e4d (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 022cb89d6732224551a3796650f28b9556ac2ccc Merge: 29fee48 573a60b Author: Michael Chase-Salerno <br...@li...> Date: Mon Apr 2 18:43:41 2012 -0400 Merge branch 'master' of ssh://sblim.git.sourceforge.net/gitroot/sblim/sfcb Conflicts: ChangeLog NEWS commit 29fee485bbc6e8be2869c4e62216625d52f61aa6 Author: Michael Chase-Salerno <br...@li...> Date: Mon Apr 2 18:27:51 2012 -0400 3505407 Client openlog changes settings commit 19a6ed782b5024306793625139de203280a944cc Author: Michael Chase-Salerno <br...@li...> Date: Mon Apr 2 18:23:08 2012 -0400 3505407 Client openlog changes settings ----------------------------------------------------------------------- Summary of changes: diff --git a/ChangeLog b/ChangeLog index 035039e..caae215 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,8 @@ +2012-04-02 Michael Chase-Salerno <br...@li...> + + * cimcClientSfcbLocal.c: + [ 3505407 ] Client openlog changes settings + 2012-04-02 Chris Buccella <buc...@li...> * interopProvider.c: diff --git a/NEWS b/NEWS index eb22b0c..3ed725d 100644 --- a/NEWS +++ b/NEWS @@ -129,6 +129,7 @@ Bugs Fixed: - 3487419 TestIndication Provider Does Not Enable Correctly - 3441028 sblim-sfcb fails on large https requests - 3416054 Provider continues despite SIGSEGV +- 3505407 Client openlog changes settings - 3485830 SFCB Makes Redundant ActivateFilter Calls Changes in 1.3.13 diff --git a/cimcClientSfcbLocal.c b/cimcClientSfcbLocal.c index 7c8bfbc..7a8a7b0 100644 --- a/cimcClientSfcbLocal.c +++ b/cimcClientSfcbLocal.c @@ -2101,8 +2101,6 @@ _Create_SfcbLocal_Env(char *id) ClientEnv *env = (ClientEnv *) malloc(sizeof(ClientEnv)); env->hdl = NULL; env->ft = &localFT; - // enable logging when called from sfcc - startLogging(LOG_ERR,0); // enable trace logging _SFCB_TRACE_INIT(); hooks/post-receive -- SFCB - Small Footprint CIM Broker |
From: Dave B. <bla...@us...> - 2012-04-02 20:59:12
|
Update of /cvsroot/sblim/jsr48-client In directory vz-cvs-3.sog:/tmp/cvs-serv25702 Modified Files: NEWS Log Message: 3505681 - Add detailed release history HTML Index: NEWS =================================================================== RCS file: /cvsroot/sblim/jsr48-client/NEWS,v retrieving revision 1.274 retrieving revision 1.275 diff -u -d -r1.274 -r1.275 --- NEWS 2 Apr 2012 20:41:12 -0000 1.274 +++ NEWS 2 Apr 2012 20:59:10 -0000 1.275 @@ -1,5 +1,6 @@ Changes in HEAD ================ +3505681 Add detailed release history HTML 3500619 JSR48 1.0.0: CIMClass association/key clean up Version 2.1.12 |
From: Chris B. <buc...@us...> - 2012-04-02 20:50:26
|
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 573a60bec68c3c0113b3a27809423cccf92d4e4d (commit) from 4341649409e43df07f647d6e2d1b4b044b6cedb2 (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 573a60bec68c3c0113b3a27809423cccf92d4e4d Author: buccella <buc...@li...> Date: Mon Apr 2 16:50:23 2012 -0400 [ 3485830 ] SFCB Makes Redundant ActivateFilter Calls ----------------------------------------------------------------------- Summary of changes: diff --git a/ChangeLog b/ChangeLog index 3051bfb..035039e 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,8 @@ +2012-04-02 Chris Buccella <buc...@li...> + + * interopProvider.c: + [ 3485830 ] SFCB Makes Redundant ActivateFilter Calls + 2012-03-29 Chris Buccella <buc...@li...> * providerDrv.c: diff --git a/NEWS b/NEWS index e7cf262..eb22b0c 100644 --- a/NEWS +++ b/NEWS @@ -129,6 +129,7 @@ Bugs Fixed: - 3487419 TestIndication Provider Does Not Enable Correctly - 3441028 sblim-sfcb fails on large https requests - 3416054 Provider continues despite SIGSEGV +- 3485830 SFCB Makes Redundant ActivateFilter Calls Changes in 1.3.13 ================= diff --git a/interopProvider.c b/interopProvider.c index be285ca..1e8b3d8 100644 --- a/interopProvider.c +++ b/interopProvider.c @@ -705,26 +705,28 @@ processSubscription(const CMPIBroker * broker, CMPI_dateTime); su = addSubscription(ci, skey, fi, ha); - fowardSubscription(ctx, fi, OPS_ActivateFilter, &st); - if (st.rc != CMPI_RC_OK) - removeSubscription(su, skey); - // activation succesful, try to enable it - else { - // check property - CMPIData d = CMGetProperty(ci, "SubscriptionState", &st); - if (d.state == CMPI_goodValue) { - if (d.value.uint16 == 2) { // ==enabled - fowardSubscription(ctx, fi, OPS_EnableIndications, &st); - } + /* send Activate filter request only if we haven't aleady */ + if (fi->useCount == 1) { + fowardSubscription(ctx, fi, OPS_ActivateFilter, &st); + if (st.rc != CMPI_RC_OK) removeSubscription(su, skey); + } + + /* activation succesful, try to enable it */ + if (st.rc == CMPI_RC_OK) { + /* only enable if state is 2 (default) */ + CMPIData d = CMGetProperty(ci, "SubscriptionState", &st); + if(d.state == CMPI_goodValue) { + if(d.value.uint16 == 2 && fi->useCount == 1) { + fowardSubscription(ctx, fi, OPS_EnableIndications, &st); + } } else { - /* - * property not set, assume "enable" by default - */ + /* property not set, assume "enable" by default */ val.uint16 = 2; - st = CMSetProperty((CMPIInstance *) ci, "SubscriptionState", &val, - CMPI_uint16); - fowardSubscription(ctx, fi, OPS_EnableIndications, &st); + st = CMSetProperty((CMPIInstance*)ci, "SubscriptionState", &val, CMPI_uint16); + if (fi->useCount == 1) { + fowardSubscription(ctx, fi, OPS_EnableIndications, &st); + } } } hooks/post-receive -- SFCB - Small Footprint CIM Broker |
From: Dave B. <bla...@us...> - 2012-04-02 20:41:14
|
Update of /cvsroot/sblim/jsr48-client/src/org/sblim/cimclient/internal/cimxml/sax/node In directory vz-cvs-3.sog:/tmp/cvs-serv24128/src/org/sblim/cimclient/internal/cimxml/sax/node Modified Files: 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.9 retrieving revision 1.10 diff -u -d -r1.9 -r1.10 --- ClassNode.java 12 Jun 2009 02:33:23 -0000 1.9 +++ ClassNode.java 2 Apr 2012 20:41:12 -0000 1.10 @@ -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-04-02 20:31:56
|
Update of /cvsroot/sblim/sfcb In directory vz-cvs-3.sog:/tmp/cvs-serv22350 Modified Files: configure.ac Log Message: bump version number Index: configure.ac =================================================================== RCS file: /cvsroot/sblim/sfcb/configure.ac,v retrieving revision 1.125 retrieving revision 1.126 diff -u -d -r1.125 -r1.126 --- configure.ac 3 Feb 2012 16:45:57 -0000 1.125 +++ configure.ac 2 Apr 2012 20:31:54 -0000 1.126 @@ -22,7 +22,7 @@ # Process this file with autoconf to produce a configure script. -AC_INIT(Small Footprint CIM Broker, 1.3.14preview, sbl...@li..., sblim-sfcb) +AC_INIT(Small Footprint CIM Broker, 1.3.15preview, sbl...@li..., sblim-sfcb) AC_CONFIG_SRCDIR([providerDrv.c]) #disable "seems to ignore the --datarootdir setting" warnings |
From: Chris B. <buc...@us...> - 2012-04-02 18:36:07
|
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 4341649409e43df07f647d6e2d1b4b044b6cedb2 (commit) from df603ba875c0b85ddb5d0272518c4b0e4eda4d28 (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 4341649409e43df07f647d6e2d1b4b044b6cedb2 Author: buccella <buc...@li...> Date: Mon Apr 2 14:35:57 2012 -0400 small memory leak from 3408288 ----------------------------------------------------------------------- Summary of changes: diff --git a/providerDrv.c b/providerDrv.c index d56eaa4..8533cf0 100644 --- a/providerDrv.c +++ b/providerDrv.c @@ -1010,6 +1010,7 @@ getProcess(ProviderInfo * info, ProviderProcess ** proc) BinResponseHdr* buf = errorCharsResp(CMPI_RC_ERR_FAILED, msg); ecr_len = makeSafeResponse(buf, &err_crash_resp); + free(buf); processProviderInvocationRequests(info->providerName); _SFCB_RETURN(0); hooks/post-receive -- SFCB - Small Footprint CIM Broker |
From: Dave B. <bla...@us...> - 2012-04-01 15:04:46
|
Update of /cvsroot/sblim/jsr48-client/src/org/sblim/cimclient/internal/cimxml In directory vz-cvs-3.sog:/tmp/cvs-serv18054/src/org/sblim/cimclient/internal/cimxml Modified Files: Tag: Experimental CimXmlSerializer.java Log Message: 3513357 - Handle multiple CDATAs in CimXmlSerializer Index: CimXmlSerializer.java =================================================================== RCS file: /cvsroot/sblim/jsr48-client/src/org/sblim/cimclient/internal/cimxml/CimXmlSerializer.java,v retrieving revision 1.1.2.9 retrieving revision 1.1.2.10 diff -u -d -r1.1.2.9 -r1.1.2.10 --- CimXmlSerializer.java 23 Mar 2012 13:18:43 -0000 1.1.2.9 +++ CimXmlSerializer.java 1 Apr 2012 15:04:43 -0000 1.1.2.10 @@ -18,6 +18,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 * 3510321 2012-03-23 blaschke-oss Handle CDATA in CimXmlSerializer + * 3513357 2012-04-01 blaschke-oss Handle multiple CDATAs in CimXmlSerializer */ package org.sblim.cimclient.internal.cimxml; @@ -216,6 +217,10 @@ private boolean iLastClosed = false; + private final String CDATA_START = "<![CDATA["; + + private final String CDATA_END = "]]>"; + private CimXmlSerializer(boolean pPretty) { this.iPretty = pPretty; } @@ -322,10 +327,34 @@ break; case Node.TEXT_NODE: String value = pNode.getNodeValue(); - if (value != null && value.startsWith("<![CDATA[") && value.endsWith("]]>")) { - pWriter.write(value); - } else { - pWriter.writeValue(value); + if (value != null) { + int idx = 0; + int len = value.length(); + + while (idx < len) { + int cdata = value.indexOf(this.CDATA_START, idx); + + // rest of string not CDATA, write all (escaped) + if (cdata == -1) { + pWriter.writeValue(value.substring(idx)); + break; + } + + // write characters before CDATA (escaped) + if (idx < cdata) { + pWriter.writeValue(value.substring(idx, cdata)); + idx = cdata; + } + + int end = value.indexOf(this.CDATA_END, idx); + + // invalid CDATA + if (end == -1) { throw new IOException("CDATA section not closed: " + value); } + + // write CDATA (not escaped) + pWriter.write(value.substring(idx, end + this.CDATA_END.length())); + idx = end + this.CDATA_END.length(); + } } } } |
From: Dave B. <bla...@us...> - 2012-03-31 16:00:44
|
Update of /cvsroot/sblim/jsr48-client/src/javax/cim In directory vz-cvs-3.sog:/tmp/cvs-serv22134/src/javax/cim Modified Files: Tag: Experimental CIMObjectPath.java Log Message: 3513347 - TCK: CIMObjectPath allows empty string Index: CIMObjectPath.java =================================================================== RCS file: /cvsroot/sblim/jsr48-client/src/javax/cim/CIMObjectPath.java,v retrieving revision 1.11.2.18 retrieving revision 1.11.2.19 diff -u -d -r1.11.2.18 -r1.11.2.19 --- CIMObjectPath.java 31 Mar 2012 15:49:03 -0000 1.11.2.18 +++ CIMObjectPath.java 31 Mar 2012 16:00:40 -0000 1.11.2.19 @@ -29,6 +29,7 @@ * 3496349 2012-03-02 blaschke-oss JSR48 1.0.0: add CIMObjectPath getKeyValue * 3510090 2012-03-23 blaschke-oss Fix CIMObjectPath.toString() inconsistencies * 3513343 2012-03-31 blaschke-oss TCK: CIMObjectPath must validate XML schema name + * 3513347 2012-03-31 blaschke-oss TCK: CIMObjectPath allows empty string */ package javax.cim; @@ -292,6 +293,8 @@ URI uri; if (pObjectPath == null) throw new IllegalArgumentException("ObjectPath is null!"); + if (pObjectPath.trim().length() == 0) throw new IllegalArgumentException( + "ObjectPath is empty!"); try { uri = URI.parse(pObjectPath); |
From: Dave B. <bla...@us...> - 2012-03-31 15:49:07
|
Update of /cvsroot/sblim/jsr48-client/src/javax/cim In directory vz-cvs-3.sog:/tmp/cvs-serv21508/src/javax/cim Modified Files: Tag: Experimental CIMObjectPath.java Log Message: 3513343 - TCK: CIMObjectPath must validate XML schema name Index: CIMObjectPath.java =================================================================== RCS file: /cvsroot/sblim/jsr48-client/src/javax/cim/CIMObjectPath.java,v retrieving revision 1.11.2.17 retrieving revision 1.11.2.18 diff -u -d -r1.11.2.17 -r1.11.2.18 --- CIMObjectPath.java 23 Mar 2012 16:44:46 -0000 1.11.2.17 +++ CIMObjectPath.java 31 Mar 2012 15:49:03 -0000 1.11.2.18 @@ -28,11 +28,14 @@ * 3023141 2010-07-01 blaschke-oss CIMObjectPath uses # constructor instead of valueOf * 3496349 2012-03-02 blaschke-oss JSR48 1.0.0: add CIMObjectPath getKeyValue * 3510090 2012-03-23 blaschke-oss Fix CIMObjectPath.toString() inconsistencies + * 3513343 2012-03-31 blaschke-oss TCK: CIMObjectPath must validate XML schema name */ package javax.cim; import java.io.Serializable; +import java.net.MalformedURLException; +import java.net.URL; import java.util.Arrays; import org.sblim.cimclient.internal.cim.CIMElementSorter; @@ -447,6 +450,13 @@ public CIMObjectPath(String pScheme, String pHost, String pPort, String pNamespace, String pObjectName, CIMProperty<?>[] pKeys, String pXmlSchemaName) { this(pScheme, pHost, pPort, pNamespace, pObjectName, pKeys); + if (pXmlSchemaName != null) { + try { + new URL(pXmlSchemaName); + } catch (MalformedURLException e) { + throw new IllegalArgumentException(e); + } + } this.iXmlSchemaName = pXmlSchemaName; } |
From: Dave B. <bla...@us...> - 2012-03-31 15:39:44
|
Update of /cvsroot/sblim/jsr48-client/src/org/sblim/cimclient/internal/cim In directory vz-cvs-3.sog:/tmp/cvs-serv20212/src/org/sblim/cimclient/internal/cim Modified Files: Tag: Experimental CIMHelper.java Log Message: 3513349 - TCK: CIMDataType must not accept null string Index: CIMHelper.java =================================================================== RCS file: /cvsroot/sblim/jsr48-client/src/org/sblim/cimclient/internal/cim/CIMHelper.java,v retrieving revision 1.2.2.6 retrieving revision 1.2.2.7 diff -u -d -r1.2.2.6 -r1.2.2.7 --- CIMHelper.java 31 Mar 2012 13:26:08 -0000 1.2.2.6 +++ CIMHelper.java 31 Mar 2012 15:39:42 -0000 1.2.2.7 @@ -19,6 +19,7 @@ * 2964463 2010-03-08 blaschke-oss WBEMClient.initialize() throws wrong exception * 2942520 2010-03-08 blaschke-oss IPv6 link local address with scope_id including a dot not supported * 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 */ package org.sblim.cimclient.internal.cim; @@ -98,7 +99,7 @@ /* 11 */CIMDataType.REAL64_T, /* 12 */CIMDataType.DATETIME_T, /* 13 */CIMDataType.CHAR16_T, - /* 14 */new CIMDataType(null), + /* 14 */new CIMDataType(""), /* 15 */CIMDataType.OBJECT_T, /* 16 */null, /* 17 */CIMDataType.CLASS_T }; @@ -132,7 +133,7 @@ /* 11 */CIMDataType.REAL64_ARRAY_T, /* 12 */CIMDataType.DATETIME_ARRAY_T, /* 13 */CIMDataType.CHAR16_ARRAY_T, - /* 14 */new CIMDataType(null, 0), + /* 14 */new CIMDataType("", 0), /* 15 */CIMDataType.OBJECT_ARRAY_T, /* 16 */null, /* 17 */CIMDataType.CLASS_ARRAY_T }; |
From: Dave B. <bla...@us...> - 2012-03-31 13:26:10
|
Update of /cvsroot/sblim/jsr48-client/src/org/sblim/cimclient/internal/cim In directory vz-cvs-3.sog:/tmp/cvs-serv9707/src/org/sblim/cimclient/internal/cim Modified Files: Tag: Experimental CIMHelper.java Log Message: 3513353 - TCK: CIMDataType arrays must have length >= 1 Index: CIMHelper.java =================================================================== RCS file: /cvsroot/sblim/jsr48-client/src/org/sblim/cimclient/internal/cim/CIMHelper.java,v retrieving revision 1.2.2.5 retrieving revision 1.2.2.6 diff -u -d -r1.2.2.5 -r1.2.2.6 --- CIMHelper.java 31 Mar 2012 00:02:18 -0000 1.2.2.5 +++ CIMHelper.java 31 Mar 2012 13:26:08 -0000 1.2.2.6 @@ -98,7 +98,7 @@ /* 11 */CIMDataType.REAL64_T, /* 12 */CIMDataType.DATETIME_T, /* 13 */CIMDataType.CHAR16_T, - /* 14 */new CIMDataType(""), + /* 14 */new CIMDataType(null), /* 15 */CIMDataType.OBJECT_T, /* 16 */null, /* 17 */CIMDataType.CLASS_T }; |
Update of /cvsroot/sblim/jsr48-client/src/org/sblim/cimclient/internal/cimxml/sax/node In directory vz-cvs-3.sog:/tmp/cvs-serv9289/src/org/sblim/cimclient/internal/cimxml/sax/node Modified Files: Tag: Experimental ValueArrayNode.java QualifierNode.java QualiDeclNode.java Node.java Log Message: 3513353 - TCK: CIMDataType arrays must have length >= 1 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.11 retrieving revision 1.1.2.12 diff -u -d -r1.1.2.11 -r1.1.2.12 --- Node.java 23 Feb 2009 18:25:57 -0000 1.1.2.11 +++ Node.java 31 Mar 2012 00:02:17 -0000 1.1.2.12 @@ -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 @@ -21,7 +21,8 @@ * 2003590 2008-06-30 blaschke-oss Change licensing from CPL to EPL * 2038305 2008-08-14 blaschke-oss SAXException SBLIM Java Client V2.0.7 * 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) + * 3513353 2012-03-30 blaschke-oss TCK: CIMDataType arrays must have length >= 1 */ package org.sblim.cimclient.internal.cimxml.sax.node; @@ -29,6 +30,7 @@ import javax.cim.CIMDataType; import javax.cim.CIMFlavor; +import org.sblim.cimclient.internal.cim.CIMHelper; import org.sblim.cimclient.internal.cimxml.sax.CIMObjectFactory; import org.sblim.cimclient.internal.cimxml.sax.NodeConstIf; import org.sblim.cimclient.internal.cimxml.sax.SAXSession; @@ -248,7 +250,10 @@ boolean isArray = hasTrueAttribute(pAttribs, "ISARRAY"); String arraySizeStr = pAttribs.getValue("ARRAYSIZE"); int arraySize = (arraySizeStr == null ? (isArray ? 0 : -1) : Integer.parseInt(arraySizeStr)); - if (isArray || arraySize >= 0) { return new CIMDataType(type.getType(), arraySize); } + if (isArray || arraySize >= 0) { + if (arraySize > 0) return new CIMDataType(type.getType(), arraySize); + return CIMHelper.UnboundedArrayDataType(type.getType()); + } return type; } Index: QualiDeclNode.java =================================================================== RCS file: /cvsroot/sblim/jsr48-client/src/org/sblim/cimclient/internal/cimxml/sax/node/QualiDeclNode.java,v retrieving revision 1.1.2.11 retrieving revision 1.1.2.12 diff -u -d -r1.1.2.11 -r1.1.2.12 --- QualiDeclNode.java 27 Mar 2012 19:06:32 -0000 1.1.2.11 +++ QualiDeclNode.java 31 Mar 2012 00:02:17 -0000 1.1.2.12 @@ -22,6 +22,7 @@ * 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 * 3511454 2012-03-27 blaschke-oss SAX nodes not reinitialized properly + * 3513353 2012-03-30 blaschke-oss TCK: CIMDataType arrays must have length >= 1 */ package org.sblim.cimclient.internal.cimxml.sax.node; @@ -30,6 +31,7 @@ import javax.cim.CIMObjectPath; import javax.cim.CIMQualifierType; +import org.sblim.cimclient.internal.cim.CIMHelper; import org.sblim.cimclient.internal.cimxml.sax.CIMObjectFactory; import org.sblim.cimclient.internal.cimxml.sax.SAXSession; import org.xml.sax.Attributes; @@ -155,7 +157,8 @@ setType(valAChild); this.iValue = CIMObjectFactory.getObject(this.iType, valAChild); // making array type - if (!this.iType.isArray()) this.iType = new CIMDataType(this.iType.getType(), 0); + if (!this.iType.isArray()) this.iType = CIMHelper.UnboundedArrayDataType(this.iType + .getType()); } else if (pChild instanceof ValueNode) { ValueNode valChild = (ValueNode) pChild; setType(valChild); Index: ValueArrayNode.java =================================================================== RCS file: /cvsroot/sblim/jsr48-client/src/org/sblim/cimclient/internal/cimxml/sax/node/ValueArrayNode.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 --- ValueArrayNode.java 23 Feb 2009 18:25:57 -0000 1.1.2.10 +++ ValueArrayNode.java 31 Mar 2012 00:02:16 -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 @@ -20,7 +20,8 @@ * 1735693 2007-06-12 ebak Empty VALUE.ARRAY elements are parsed as nulls * 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) + * 3513353 2012-03-30 blaschke-oss TCK: CIMDataType arrays must have length >= 1 */ package org.sblim.cimclient.internal.cimxml.sax.node; @@ -30,6 +31,7 @@ import javax.cim.CIMDataType; import org.sblim.cimclient.GenericExts; +import org.sblim.cimclient.internal.cim.CIMHelper; import org.sblim.cimclient.internal.cimxml.sax.SAXSession; import org.xml.sax.Attributes; import org.xml.sax.SAXException; @@ -65,7 +67,8 @@ CIMDataType scalarType = getCIMType(pAttribs, true); if (scalarType == null) scalarType = getParamType(pAttribs); // make array type - this.iType = scalarType == null ? null : new CIMDataType(scalarType.getType(), 0); + this.iType = scalarType == null ? null : CIMHelper.UnboundedArrayDataType(scalarType + .getType()); } /** Index: QualifierNode.java =================================================================== RCS file: /cvsroot/sblim/jsr48-client/src/org/sblim/cimclient/internal/cimxml/sax/node/QualifierNode.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 --- QualifierNode.java 1 Jun 2009 17:01:10 -0000 1.1.2.14 +++ QualifierNode.java 31 Mar 2012 00:02:16 -0000 1.1.2.15 @@ -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 @@ -22,8 +22,9 @@ * 2013628 2008-07-30 rgummada SAXException when listing classes * 2204488 2008-10-28 raman_arora Fix code to remove compiler warnings * 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 + * 3513353 2012-03-30 blaschke-oss TCK: CIMDataType arrays must have length >= 1 */ package org.sblim.cimclient.internal.cimxml.sax.node; @@ -31,6 +32,7 @@ import javax.cim.CIMDataType; import javax.cim.CIMQualifier; +import org.sblim.cimclient.internal.cim.CIMHelper; import org.sblim.cimclient.internal.cimxml.sax.CIMObjectFactory; import org.sblim.cimclient.internal.cimxml.sax.SAXSession; import org.xml.sax.Attributes; @@ -111,7 +113,8 @@ // create array value value = CIMObjectFactory.getObject(this.iType, valANode); // constructs array type - type = this.iType.isArray() ? this.iType : new CIMDataType(this.iType.getType(), 0); + type = this.iType.isArray() ? this.iType : CIMHelper.UnboundedArrayDataType(this.iType + .getType()); } else if (absValNode instanceof ValueNode) { ValueNode valNode = (ValueNode) absValNode; setType(valNode); |
From: Chris B. <buc...@us...> - 2012-03-30 23:43:08
|
Update of /cvsroot/sblim/sfcb In directory vz-cvs-3.sog:/tmp/cvs-serv3345 Modified Files: providerDrv.c Log Message: small memory leak from 3408288 Index: providerDrv.c =================================================================== RCS file: /cvsroot/sblim/sfcb/providerDrv.c,v retrieving revision 1.114 retrieving revision 1.115 diff -u -d -r1.114 -r1.115 --- providerDrv.c 30 Mar 2012 02:47:11 -0000 1.114 +++ providerDrv.c 30 Mar 2012 23:43:05 -0000 1.115 @@ -875,6 +875,7 @@ BinResponseHdr* buf = errorCharsResp(CMPI_RC_ERR_FAILED, msg); ecr_len = makeSafeResponse(buf, &err_crash_resp); + free(buf); processProviderInvocationRequests(info->providerName); _SFCB_RETURN(0); |
From: Chris B. <buc...@us...> - 2012-03-30 21:51:34
|
Update of /cvsroot/sblim/sfcb In directory vz-cvs-3.sog:/tmp/cvs-serv7775 Modified Files: httpAdapter.c ChangeLog NEWS Log Message: [ 3512094 ] SFCB can leak PAM handles under error conditions Index: NEWS =================================================================== RCS file: /cvsroot/sblim/sfcb/NEWS,v retrieving revision 1.675 retrieving revision 1.676 diff -u -d -r1.675 -r1.676 --- NEWS 30 Mar 2012 17:56:41 -0000 1.675 +++ NEWS 30 Mar 2012 21:51:31 -0000 1.676 @@ -66,6 +66,7 @@ - 3408288 Safer Signal Handlers - 3441028 sblim-sfcb fails on large https requests - 3416054 Provider continues despite SIGSEGV +- 3512094 SFCB can leak PAM handles under error conditions Changes in 1.3.13 ================= Index: httpAdapter.c =================================================================== RCS file: /cvsroot/sblim/sfcb/httpAdapter.c,v retrieving revision 1.103 retrieving revision 1.104 diff -u -d -r1.103 -r1.104 --- httpAdapter.c 30 Mar 2012 02:33:43 -0000 1.103 +++ httpAdapter.c 30 Mar 2012 21:51:31 -0000 1.104 @@ -137,6 +137,14 @@ const char* role; }; typedef struct auth_extras AuthExtras; +AuthExtras extras = {NULL, NULL, NULL, NULL}; + +void releaseAuthHandle() { + if (extras.release) { + extras.release(extras.authHandle); + extras.release = NULL; + } +} typedef int (*Authenticate) (char *principal, char *pwd); typedef int (*Authenticate2) (char *principal, char *pwd, AuthExtras *extras); @@ -210,7 +218,7 @@ * Call the authentication library * Return 1 on success, 0 on fail, -1 on expired */ -int baValidate(char *cred, char **principal, AuthExtras* extras) +int baValidate(char *cred, char **principal) { char *auth,*pw=NULL; int i; @@ -253,7 +261,7 @@ else { *principal=strdup(auth); if (authenticate2) - ret = authenticate2(auth, pw, extras); + ret = authenticate2(auth, pw, &extras); else ret = authenticate(auth, pw); @@ -963,7 +971,6 @@ } } #endif - AuthExtras extras = {NULL, NULL, NULL, NULL}; if (!authorized && !discardInput && doBa) { @@ -982,7 +989,7 @@ extras.clientIp = ipstr; // fprintf(stderr, "client is: %s\n", ipstr); - barc = baValidate(inBuf.authorization,&inBuf.principal,&extras); + barc = baValidate(inBuf.authorization,&inBuf.principal); #ifdef ALLOW_UPDATE_EXPIRED_PW if (barc == AUTH_EXPIRED) { hcrFlags |= HCR_EXPIRED_PW; @@ -1033,6 +1040,7 @@ exit(1); } if (discardInput) { + releaseAuthHandle(); free(hdr); freeBuffer(&inBuf); _SFCB_RETURN(discardInput-1); @@ -1083,9 +1091,7 @@ if (response.buffer != NULL) cleanupCimXmlRequest(&response); - if (extras.release) { - extras.release(extras.authHandle); - } + releaseAuthHandle(); #ifdef SFCB_DEBUG if (uset && (_sfcb_trace_mask & TRACE_RESPONSETIMING) ) { @@ -1142,6 +1148,7 @@ semAcquireUnDo(httpProcSem,0); semReleaseUnDo(httpProcSem,httpProcIdX+1); semRelease(httpWorkSem,0); + atexit(releaseAuthHandle); atexit(uninitGarbageCollector); atexit(sunsetControl); } Index: ChangeLog =================================================================== RCS file: /cvsroot/sblim/sfcb/ChangeLog,v retrieving revision 1.754 retrieving revision 1.755 diff -u -d -r1.754 -r1.755 --- ChangeLog 30 Mar 2012 17:56:41 -0000 1.754 +++ ChangeLog 30 Mar 2012 21:51:31 -0000 1.755 @@ -1,3 +1,8 @@ +2012-03-30 Chris Buccella <buc...@li...> + + * httpAdapter.c: + [ 3512094 ] SFCB can leak PAM handles under error conditions + 2012-03-29 Chris Buccella <buc...@li...> * providerDrv.c: |
From: Chris B. <buc...@us...> - 2012-03-30 19:56:44
|
Update of /cvsroot/sblim/sfcb In directory vz-cvs-3.sog:/tmp/cvs-serv12251 Modified Files: indCIMXMLHandler.c Log Message: removed debug line Index: indCIMXMLHandler.c =================================================================== RCS file: /cvsroot/sblim/sfcb/indCIMXMLHandler.c,v retrieving revision 1.47 retrieving revision 1.48 diff -u -d -r1.47 -r1.48 --- indCIMXMLHandler.c 7 Mar 2012 20:59:42 -0000 1.47 +++ indCIMXMLHandler.c 30 Mar 2012 19:56:42 -0000 1.48 @@ -440,7 +440,6 @@ _SFCB_TRACE(1,("--- modify %s", cns)); CMPIData newDest = CMGetProperty(ci, "Destination", &st); - fprintf(stderr, "new dest is %s\n", CMGetCharPtr(newDest.value.string)); if(newDest.state != CMPI_goodValue) { st.rc = CMPI_RC_ERR_FAILED; |