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: Tyrel D. <ty...@us...> - 2012-08-15 03:02:17
|
Update of /cvsroot/sblim/gather In directory vz-cvs-3.sog:/tmp/cvs-serv7556 Modified Files: ChangeLog configure.ac Log Message: updated for 2.2.6 release Index: configure.ac =================================================================== RCS file: /cvsroot/sblim/gather/configure.ac,v retrieving revision 1.43 retrieving revision 1.44 diff -u -d -r1.43 -r1.44 --- configure.ac 3 Apr 2012 21:06:05 -0000 1.43 +++ configure.ac 15 Aug 2012 03:02:14 -0000 1.44 @@ -2,7 +2,7 @@ # Process this file with autoconf to produce a configure script. AC_PREREQ(2.59) -AC_INIT([sblim-gather],[2.2.5],[sbl...@li...]) +AC_INIT([sblim-gather],[2.2.6],[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.75 retrieving revision 1.76 diff -u -d -r1.75 -r1.76 --- ChangeLog 3 Apr 2012 21:06:05 -0000 1.75 +++ ChangeLog 15 Aug 2012 03:02:14 -0000 1.76 @@ -1,3 +1,85 @@ +2012-08-14 Tyrel Datwyler <ty...@us...> + + * Makefile.am, NEWS, provider/Makefile.am: + + Fixed 3557552: make distcheck fails + +2012-08-03 Tyrel Datwyler <ty...@us...> + + * NEWS, provider/OSBase_MetricUtil.c: + + Fixed 3554137: multiple definitions of CMPI_false + +2012-08-03 Tyrel Datwyler <ty...@us...> + + * NEWS, gatherd.conf: + + Fixed 3554130: sample interval config warning + +2012-07-31 Tyrel Datwyler <ty...@us...> + + * NEWS, provider/OSBase_MetricRegisteredProfileProvider.c: + + Fixed 3552873: DSP1053 v1.0.1 profile conformance + +2012-07-31 Tyrel Datwyler <ty...@us...> + + * NEWS, metric.h, plugin/repositoryIPProtocolEndpoint.c, + plugin/repositoryKvm.c, plugin/repositoryLocalFileSystem.c, + plugin/repositoryNetworkPort.c, plugin/repositoryOperatingSystem.c, + plugin/repositoryProcessor.c, plugin/repositoryStorage.c, + plugin/repositoryUnixProcess.c, plugin/repositoryXen.c, + plugin/repositoryzCEC.c, plugin/repositoryzCH.c, + plugin/repositoryzECKD.c, plugin/repositoryzLPAR.c, + provider/OSBase_MetricUtil.c: + + Fixed 2811884: dsp1053 unique BaseMetricDefinition.Name + +2012-07-30 Tyrel Datwyler <ty...@us...> + + * NEWS, plugin/repositoryKvm.c: + + Fixed 3552310: incorrect metric definition for VirtualState + +2012-07-18 Tyrel Datwyler <ty...@us...> + + * NEWS, provider/OSBase_MetricUtil.c: + + Fixed 3545751: BaseMetricValue.Volatile should be false + +2012-05-29 Tyrel Datwyler <ty...@us...> + + * NEWS, repos.c: + + Fixed 3530668: Duration values always reported as zero + +2012-05-16 Tyrel Datwyler <ty...@us...> + + * NEWS, provider/OSBase_MetricDefForMEProvider.c, + provider/OSBase_MetricDefinitionProvider.c, + provider/OSBase_MetricElementCapabilitiesProvider.c, + provider/OSBase_MetricElementConformsToProfileProvider.c, + provider/OSBase_MetricForMEProvider.c, + provider/OSBase_MetricGathererProvider.c, + provider/OSBase_MetricHostedServiceProvider.c, + provider/OSBase_MetricInstanceProvider.c, + provider/OSBase_MetricLifeCycleProvider.c, + provider/OSBase_MetricRegisteredProfileProvider.c, + provider/OSBase_MetricRepositoryServiceProvider.c, + provider/OSBase_MetricServiceAffectsElementProvider.c, + provider/OSBase_MetricServiceCapabilitiesProvider.c, + provider/OSBase_MetricServiceProvider.c, + provider/OSBase_MetricUtil.c, provider/OSBase_MetricUtil.h, + provider/OSBase_MetricValueProvider.c: + + Fixed 3031802: add support for CIM property filters + +2012-04-03 Tyrel Datwyler <ty...@us...> + + * ChangeLog, configure.ac: + + Updated for 2.2.5 release + 2012-04-03 Tyrel Datwyler <ty...@us...> * plugin/metricVirt.c, NEWS: |
|
From: Tyrel D. <ty...@us...> - 2012-08-15 02:14:00
|
Update of /cvsroot/sblim/gather/provider In directory vz-cvs-3.sog:/tmp/cvs-serv5208/provider Modified Files: Makefile.am Log Message: Fixed 3557552: make distcheck fails Index: Makefile.am =================================================================== RCS file: /cvsroot/sblim/gather/provider/Makefile.am,v retrieving revision 1.19 retrieving revision 1.20 diff -u -d -r1.19 -r1.20 --- Makefile.am 17 Nov 2011 01:01:26 -0000 1.19 +++ Makefile.am 15 Aug 2012 02:13:58 -0000 1.20 @@ -122,7 +122,8 @@ lib_LTLIBRARIES = libOSBase_MetricUtil.la libOSBase_MetricUtil_la_SOURCES=OSBase_MetricUtil.c libOSBase_MetricUtil_la_CPPFLAGS= $(AM_CPPFLAGS) -DCIM_PLUGINDIR=\"$(cimplugindir)\" -libOSBase_MetricUtil_la_LIBADD=$(srcdir)/../librrepos.la -lcmpiOSBase_Common +libOSBase_MetricUtil_la_LIBADD=../librrepos.la +libOSBase_MetricUtil_la_LDFLAGS=-lcmpiOSBase_Common # Gather CMPI provider libraries provider_LTLIBRARIES = libOSBase_MetricDefinitionProvider.la \ @@ -143,11 +144,11 @@ libOSBase_MetricLifeCycleProvider.la libOSBase_MetricDefinitionProvider_la_SOURCES = OSBase_MetricDefinitionProvider.c -libOSBase_MetricDefinitionProvider_la_LIBADD = $(srcdir)/libOSBase_MetricUtil.la +libOSBase_MetricDefinitionProvider_la_LIBADD = libOSBase_MetricUtil.la libOSBase_MetricDefinitionProvider_la_DEPENDENCIES = libOSBase_MetricUtil.la libOSBase_MetricValueProvider_la_SOURCES = OSBase_MetricValueProvider.c -libOSBase_MetricValueProvider_la_LIBADD = $(srcdir)/libOSBase_MetricUtil.la +libOSBase_MetricValueProvider_la_LIBADD = libOSBase_MetricUtil.la libOSBase_MetricValueProvider_la_DEPENDENCIES = libOSBase_MetricUtil.la libOSBase_MetricServiceProvider_la_SOURCES = OSBase_MetricServiceProvider.c @@ -166,31 +167,31 @@ libOSBase_MetricElementConformsToProfileProvider_la_SOURCES = OSBase_MetricElementConformsToProfileProvider.c libOSBase_MetricGathererProvider_la_SOURCES = OSBase_MetricGathererProvider.c -libOSBase_MetricGathererProvider_la_LIBADD = $(srcdir)/libOSBase_MetricUtil.la $(srcdir)/../librgather.la @LIBSBLIMBASE@ +libOSBase_MetricGathererProvider_la_LIBADD = libOSBase_MetricUtil.la ../librgather.la @LIBSBLIMBASE@ libOSBase_MetricGathererProvider_la_DEPENDENCIES = libOSBase_MetricUtil.la libOSBase_MetricRepositoryServiceProvider_la_SOURCES = OSBase_MetricRepositoryServiceProvider.c -libOSBase_MetricRepositoryServiceProvider_la_LIBADD = $(srcdir)/libOSBase_MetricUtil.la @LIBSBLIMBASE@ +libOSBase_MetricRepositoryServiceProvider_la_LIBADD = libOSBase_MetricUtil.la @LIBSBLIMBASE@ libOSBase_MetricRepositoryServiceProvider_la_DEPENDENCIES = libOSBase_MetricUtil.la libOSBase_MetricForMEProvider_la_SOURCES = OSBase_MetricForMEProvider.c -libOSBase_MetricForMEProvider_la_LIBADD = $(srcdir)/libOSBase_MetricUtil.la +libOSBase_MetricForMEProvider_la_LIBADD = libOSBase_MetricUtil.la libOSBase_MetricForMEProvider_la_DEPENDENCIES = libOSBase_MetricUtil.la libOSBase_MetricDefForMEProvider_la_SOURCES = OSBase_MetricDefForMEProvider.c -libOSBase_MetricDefForMEProvider_la_LIBADD = $(srcdir)/libOSBase_MetricUtil.la +libOSBase_MetricDefForMEProvider_la_LIBADD = libOSBase_MetricUtil.la libOSBase_MetricDefForMEProvider_la_DEPENDENCIES = libOSBase_MetricUtil.la libOSBase_MetricInstanceProvider_la_SOURCES = OSBase_MetricInstanceProvider.c -libOSBase_MetricInstanceProvider_la_LIBADD = $(srcdir)/libOSBase_MetricUtil.la +libOSBase_MetricInstanceProvider_la_LIBADD = libOSBase_MetricUtil.la libOSBase_MetricInstanceProvider_la_DEPENDENCIES = libOSBase_MetricUtil.la libOSBase_MetricIndicationProvider_la_SOURCES = OSBase_MetricIndicationProvider.c -libOSBase_MetricIndicationProvider_la_LIBADD = $(srcdir)/libOSBase_MetricUtil.la +libOSBase_MetricIndicationProvider_la_LIBADD = libOSBase_MetricUtil.la libOSBase_MetricIndicationProvider_la_DEPENDENCIES = libOSBase_MetricUtil.la libOSBase_MetricLifeCycleProvider_la_SOURCES = OSBase_MetricLifeCycleProvider.c -libOSBase_MetricLifeCycleProvider_la_LIBADD = $(srcdir)/libOSBase_MetricUtil.la +libOSBase_MetricLifeCycleProvider_la_LIBADD = libOSBase_MetricUtil.la libOSBase_MetricLifeCycleProvider_la_DEPENDENCIES = libOSBase_MetricUtil.la # |
|
From: Chris B. <buc...@us...> - 2012-08-14 21:13:25
|
Update of /cvsroot/sblim/sfcb
In directory vz-cvs-3.sog:/tmp/cvs-serv10191
Modified Files:
Makefile.am
Log Message:
[ 3501314 ] Add dynamic logging and syslog output to sfcb trace
Index: Makefile.am
===================================================================
RCS file: /cvsroot/sblim/sfcb/Makefile.am,v
retrieving revision 1.119
retrieving revision 1.120
diff -u -d -r1.119 -r1.120
--- Makefile.am 8 Aug 2012 20:35:35 -0000 1.119
+++ Makefile.am 14 Aug 2012 21:13:23 -0000 1.120
@@ -176,7 +176,7 @@
sfcbd
bin_PROGRAMS = \
- sfcbmofpp sfcbdump sfcbinst2mof
+ sfcbmofpp sfcbdump sfcbinst2mof sfcbtrace
noinst_PROGRAMS = \
sfcbdumpP32onI32 classSchema2c sfcbsem
@@ -431,6 +431,9 @@
sfcbinst2mof_SOURCES=sfcbinst2mof.c
sfcbinst2mof_LDADD = -lsfcFileRepository -lsfcBrokerCore -lsfcUtil
+sfcbtrace_SOURCES=sfcbtrace.c
+sfcbtrace_LDADD = -lsfcBrokerCore
+
classSchema2c_SOURCES=classSchema2c.c
classSchema2c_LDADD=-lsfcBrokerCore -lsfcUtil
classSchema2c_DEPENDENCIES=libsfcBrokerCore.la
|
|
From: Chris B. <buc...@us...> - 2012-08-14 21:03:57
|
Update of /cvsroot/sblim/sfcb
In directory vz-cvs-3.sog:/tmp/cvs-serv9784
Added Files:
sfcbtrace.c
Log Message:
[ 3501314 ] Add dynamic logging and syslog output to sfcb trace
--- NEW FILE: sfcbtrace.c ---
/*
*
* (C) Copyright IBM Corp. 2012
*
* THIS FILE IS PROVIDED UNDER THE TERMS OF THE ECLIPSE PUBLIC LICENSE
* ("AGREEMENT"). ANY USE, REPRODUCTION OR DISTRIBUTION OF THIS FILE
* CONSTITUTES RECIPIENTS ACCEPTANCE OF THE AGREEMENT.
*
* You can obtain a current copy of the Eclipse Public License from
* http://www.opensource.org/licenses/eclipse-1.0.php
*
* Author: Mike Lisanke <mli...@us...>
* Chris Buccella <buc...@li...>
*
* Description:
*
* Sets the component trace mask for SFCB trace output
*
*/
#include <stdio.h>
#include <stdlib.h>
#include <sys/ipc.h>
#include <sys/shm.h>
#include <stdlib.h>
#include <errno.h>
#include <string.h>
#include <ctype.h>
#include "trace.h"
int shmkey = 0xdeb001;
extern TraceId traceIds[];
void print_help() {
printf( "sfcbtrace - toggle the tracemask for SFCB trace output\n\n");
printf( "Usage: sfcbtrace <trace_mask> <shm_key>\n");
printf( "\ttrace_mask - an unsigned long or hex value for component(s) to trace (default=0) \n");
printf( "\tshm_key - the shared memory ID being used by SFCB (default=%x)\n\n", shmkey);
printf("Traceable Components: Int Hex\n");
int i;
for (i = 0; traceIds[i].id; i++)
printf(" %18s: %d\t0x%05X\n", traceIds[i].id, traceIds[i].code, traceIds[i].code);
return;
}
int main(int argc, char **argv) {
int shmid;
unsigned long tmask = 0;
void *vpDP = NULL;
unsigned long *pulDP = NULL;
if (argc > 3) {
print_help();
exit(1);
}
if (argc == 1) {
print_help();
exit(0);
}
else
tmask = strtoul( argv[1], NULL, 16 );
if (argc == 3) {
shmkey = strtoul( argv[2], NULL, 16 );
}
if (errno) fprintf(stderr, "errno set\n");
if ((shmid = shmget( shmkey, sizeof(unsigned long), 0660 )) < 0) {
if (errno == ENOENT)
printf("No segment for key %x (sfcbd not running?)\n", shmkey);
else if (errno == EACCES)
printf("Permission denied; can't set segment\n");
else {
printf( "shmget(%x,...) failed in %s at line %d\n", shmkey, __FILE__, __LINE__ );
print_help();
}
exit(3);
}
vpDP = shmat( shmid, NULL, 0 );
if ( (vpDP == (void*)-1) || (vpDP == NULL) ) { /* shmat returns an error */
printf( "shmat(%x,) returned %08X with errno = %s(%u) in %s at line %d\n", shmid, (unsigned int)vpDP, strerror(errno), errno, __FILE__, __LINE__ );
exit(4);
}
pulDP = (unsigned long *)vpDP;
*pulDP = tmask;
printf( "debug key %x was set to value %lx\n", shmkey, *pulDP );
exit(0);
}
|
|
From: Dave H. <hel...@us...> - 2012-08-08 22:04: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 dddf52c56c30e5a031b75e27b7c8ba99ab3d8412 (commit)
from c5a69962f45d70e8bce9a48f8af3be28441e7921 (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 dddf52c56c30e5a031b75e27b7c8ba99ab3d8412
Author: Dave Heller <hel...@us...>
Date: Wed Aug 8 18:02:29 2012 -0400
[ 3546279 ] Core dump in providerDrv on Qualifier not found
-----------------------------------------------------------------------
Summary of changes:
diff --git a/ChangeLog b/ChangeLog
index f798c56..c41f76a 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,8 @@
+2012-08-08 Dave Heller <hel...@us...>
+
+ * providerDrv.c:
+ [ 3546279 ] Core dump in providerDrv on Qualifier not found
+
2012-08-03 Chris Buccella <buc...@li...>
* classProvider.c, classProviderSf.c, classProviderMem.c:
diff --git a/NEWS b/NEWS
index 9b24c34..9e780fd 100644
--- a/NEWS
+++ b/NEWS
@@ -17,6 +17,7 @@ Bugs fixed:
- 3529879 Fixes for sfcb-ps test script
- 3527714 Every other EnumerateClasses fails
- 3541554 insecure LD_LIBRARY_PATH usage
+- 3546279 Core dump in providerDrv on Qualifier not found
Changes in 1.4.2
================
diff --git a/providerDrv.c b/providerDrv.c
index 596f14d..74dd48f 100644
--- a/providerDrv.c
+++ b/providerDrv.c
@@ -3448,7 +3448,8 @@ processProviderInvocationRequestsThread(void *prms)
if ((req->operation == OPS_GetQualifier)
|| (req->operation == OPS_EnumerateQualifiers)) {
for (i = 0; i < resp->count; i++) {
- if (resp->object[i].data) {
+ /* SF:3546279 - only free on successful return */
+ if (resp->object[i].data && resp->object[i].type == MSG_SEG_QUALIFIER) {
free(resp->object[i].data);
resp->object[i].data = NULL;
}
hooks/post-receive
--
SFCB - Small Footprint CIM Broker
|
|
From: Dave H. <hel...@us...> - 2012-08-08 21:30:54
|
Update of /cvsroot/sblim/sfcb
In directory vz-cvs-3.sog:/tmp/cvs-serv25758
Modified Files:
ChangeLog NEWS providerDrv.c
Log Message:
Fixed 3546279: Core dump in providerDrv on Qualifier not found
Index: NEWS
===================================================================
RCS file: /cvsroot/sblim/sfcb/NEWS,v
retrieving revision 1.712
retrieving revision 1.713
diff -u -d -r1.712 -r1.713
--- NEWS 8 Aug 2012 20:35:35 -0000 1.712
+++ NEWS 8 Aug 2012 21:30:52 -0000 1.713
@@ -13,6 +13,7 @@
- 3539006 Possible indication deadlock
- 3527714 Every other EnumerateClasses fails
- 3541554 insecure LD_LIBRARY_PATH usage
+- 3546279 Core dump in providerDrv on Qualifier not found
Changes in 1.3.15
=================
Index: providerDrv.c
===================================================================
RCS file: /cvsroot/sblim/sfcb/providerDrv.c,v
retrieving revision 1.118
retrieving revision 1.119
diff -u -d -r1.118 -r1.119
--- providerDrv.c 3 Jul 2012 02:03:02 -0000 1.118
+++ providerDrv.c 8 Aug 2012 21:30:52 -0000 1.119
@@ -3018,7 +3018,8 @@
if ((req->operation == OPS_GetQualifier)
|| (req->operation == OPS_EnumerateQualifiers)) {
for (i = 0; i < resp->count; i++) {
- if (resp->object[i].data) {
+ /* SF:3546279 - only free on successful return */
+ if (resp->object[i].data && resp->object[i].type == MSG_SEG_QUALIFIER) {
free(resp->object[i].data);
resp->object[i].data = NULL;
}
Index: ChangeLog
===================================================================
RCS file: /cvsroot/sblim/sfcb/ChangeLog,v
retrieving revision 1.797
retrieving revision 1.798
diff -u -d -r1.797 -r1.798
--- ChangeLog 8 Aug 2012 20:35:35 -0000 1.797
+++ ChangeLog 8 Aug 2012 21:30:52 -0000 1.798
@@ -1,3 +1,8 @@
+2012-08-08 Dave Heller <hel...@us...>
+
+ * providerDrv.c:
+ [ 3546279 ] Core dump in providerDrv on Qualifier not found
+
2012-08-08 Michael Chase-Salerno <br...@li...>
* httpAdapter.c, cimXmlRequest.c, cimXmlRequest.h, sfcBasicPAMAuthentication.c
|
|
From: Michael Chase-S. <mc...@us...> - 2012-08-08 20:35:37
|
Update of /cvsroot/sblim/sfcb
In directory vz-cvs-3.sog:/tmp/cvs-serv17683
Modified Files:
ChangeLog Makefile.am NEWS cimXmlRequest.c cimXmlRequest.h
httpAdapter.c sfcBasicPAMAuthentication.c
Log Message:
[ 3555395 ] Additional auth lib return codes
Index: cimXmlRequest.c
===================================================================
RCS file: /cvsroot/sblim/sfcb/cimXmlRequest.c,v
retrieving revision 1.74
retrieving revision 1.75
diff -u -d -r1.74 -r1.75
--- cimXmlRequest.c 21 Jun 2012 16:46:59 -0000 1.74
+++ cimXmlRequest.c 8 Aug 2012 20:35:35 -0000 1.75
@@ -352,7 +352,7 @@
#ifdef ALLOW_UPDATE_EXPIRED_PW
static char *
-getErrExpiredSegment()
+getErrExpiredSegment(char * type)
{
char* msg = sfcb_snprintf("<ERROR CODE=\"2\" \
DESCRIPTION=\"User Account Expired\">\n\
@@ -360,10 +360,10 @@
<PROPERTY NAME=\"ErrorType\" TYPE=\"uint16\">\
<VALUE>1</VALUE></PROPERTY>\n\
<PROPERTY NAME=\"OtherErrorType\" TYPE=\"string\">\
-<VALUE>Password Expired</VALUE></PROPERTY>\n\
+<VALUE>%s</VALUE></PROPERTY>\n\
<PROPERTY NAME=\"ProbableCause\" TYPE=\"uint16\">\
<VALUE>117</VALUE></PROPERTY>\n\
-</INSTANCE>\n</ERROR>\n");
+</INSTANCE>\n</ERROR>\n",type);
return msg;
}
@@ -2731,7 +2731,7 @@
return rs;
}
-RespSegments handleCimXmlRequest(CimXmlRequestContext * ctx, int flags)
+RespSegments handleCimXmlRequest(CimXmlRequestContext * ctx, int flags, char *more)
{
RespSegments rs;
RequestHdr hdr;
@@ -2786,9 +2786,9 @@
}
else { /* expired user tried to invoke non-UpdatePassword request */
if (hdr.methodCall) {
- rs = methodErrResponse(&hdr, getErrExpiredSegment());
+ rs = methodErrResponse(&hdr, getErrExpiredSegment(more));
} else {
- rs = iMethodErrResponse(&hdr, getErrExpiredSegment());
+ rs = iMethodErrResponse(&hdr, getErrExpiredSegment(more));
}
}
}
Index: ChangeLog
===================================================================
RCS file: /cvsroot/sblim/sfcb/ChangeLog,v
retrieving revision 1.796
retrieving revision 1.797
diff -u -d -r1.796 -r1.797
--- ChangeLog 29 Jul 2012 22:41:16 -0000 1.796
+++ ChangeLog 8 Aug 2012 20:35:35 -0000 1.797
@@ -1,3 +1,8 @@
+2012-08-08 Michael Chase-Salerno <br...@li...>
+
+ * httpAdapter.c, cimXmlRequest.c, cimXmlRequest.h, sfcBasicPAMAuthentication.c
+ [ 3555395 ] Additional auth lib return codes
+
2012-07-29 Dave Heller <hel...@us...>
* sfcb.init-none.in, sfcb.init-redhat.in, sfcb.init-suse.in:
@@ -11,7 +16,7 @@
2012-07-19 Michael Chase-Salerno <br...@li...>
* brokerUpc.c, indCIMXMLExport.c, indCIMXMLHandler.c, interopProvider.c,
-support.c, support.h:
+ support.c, support.h:
[ 3539006 ] Possible indication deadlock
2012-07-10 Michael Chase-Salerno <br...@li...>
Index: sfcBasicPAMAuthentication.c
===================================================================
RCS file: /cvsroot/sblim/sfcb/sfcBasicPAMAuthentication.c,v
retrieving revision 1.5
retrieving revision 1.6
diff -u -d -r1.5 -r1.6
--- sfcBasicPAMAuthentication.c 12 Mar 2012 22:30:52 -0000 1.5
+++ sfcBasicPAMAuthentication.c 8 Aug 2012 20:35:35 -0000 1.6
@@ -33,6 +33,7 @@
char* clientIp;
void* authHandle;
const char* role;
+ char* ErrorDetail;
};
typedef struct auth_extras AuthExtras;
@@ -88,7 +89,19 @@
retval = 1;
}
else if (rc == PAM_NEW_AUTHTOK_REQD || rc == PAM_ACCT_EXPIRED) {
- retval = -1;
+ retval = -1; // Only valid if sfcb is built with --enable-expired-pw-update
+ }
+ else if (rc == PAM_AUTHINFO_UNAVAIL ) {
+ retval = -2; // Temporary server error
+ if (extras) {
+ extras->ErrorDetail="PAM info unavailable.";
+ }
+ }
+ else if (rc == PAM_SERVICE_ERR ) {
+ retval = -3; // Permanent server error
+ if (extras) {
+ extras->ErrorDetail="PAM server unreachable.";
+ }
}
else {
retval = 0;
Index: cimXmlRequest.h
===================================================================
RCS file: /cvsroot/sblim/sfcb/cimXmlRequest.h,v
retrieving revision 1.8
retrieving revision 1.9
diff -u -d -r1.8 -r1.9
--- cimXmlRequest.h 12 Mar 2012 22:30:52 -0000 1.8
+++ cimXmlRequest.h 8 Aug 2012 20:35:35 -0000 1.9
@@ -61,7 +61,7 @@
int operation;
} CimXmlRequestContext;
-extern RespSegments handleCimXmlRequest(CimXmlRequestContext * ctx, int flags);
+extern RespSegments handleCimXmlRequest(CimXmlRequestContext * ctx, int flags, char * type);
extern int cleanupCimXmlRequest(RespSegments * rs);
#ifdef ALLOW_UPDATE_EXPIRED_PW
Index: Makefile.am
===================================================================
RCS file: /cvsroot/sblim/sfcb/Makefile.am,v
retrieving revision 1.118
retrieving revision 1.119
diff -u -d -r1.118 -r1.119
--- Makefile.am 13 Jun 2012 21:21:09 -0000 1.118
+++ Makefile.am 8 Aug 2012 20:35:35 -0000 1.119
@@ -429,10 +429,10 @@
sfcbdump_SOURCES=sfcbdump.c
sfcbinst2mof_SOURCES=sfcbinst2mof.c
-sfcbinst2mof_LDADD = -lsfcFileRepository
+sfcbinst2mof_LDADD = -lsfcFileRepository -lsfcBrokerCore -lsfcUtil
classSchema2c_SOURCES=classSchema2c.c
-classSchema2c_LDADD=-lsfcBrokerCore
+classSchema2c_LDADD=-lsfcBrokerCore -lsfcUtil
classSchema2c_DEPENDENCIES=libsfcBrokerCore.la
sfcbsem_SOURCES=sfcbsem.c
Index: httpAdapter.c
===================================================================
RCS file: /cvsroot/sblim/sfcb/httpAdapter.c,v
retrieving revision 1.107
retrieving revision 1.108
diff -u -d -r1.107 -r1.108
--- httpAdapter.c 13 Apr 2012 16:16:20 -0000 1.107
+++ httpAdapter.c 8 Aug 2012 20:35:35 -0000 1.108
@@ -111,6 +111,8 @@
#define AUTH_PASS 1
#define AUTH_FAIL 0
#define AUTH_EXPIRED -1
+#define AUTH_SERVTEMP -2
+#define AUTH_SERVPERM -3
static key_t httpProcSemKey;
static key_t httpWorkSemKey;
@@ -140,9 +142,10 @@
char* clientIp;
void* authHandle;
const char* role;
+ char* ErrorDetail;
};
typedef struct auth_extras AuthExtras;
-AuthExtras extras = {NULL, NULL, NULL, NULL};
+AuthExtras extras = {NULL, NULL, NULL, NULL, NULL};
void releaseAuthHandle() {
if (extras.release) {
@@ -272,6 +275,8 @@
if (ret == AUTH_PASS) ret = AUTH_PASS;
else if (ret == AUTH_EXPIRED) ret = AUTH_EXPIRED;
+ else if (ret == AUTH_SERVTEMP) ret = AUTH_SERVTEMP;
+ else if (ret == AUTH_SERVPERM) ret = AUTH_SERVPERM;
else ret = AUTH_FAIL;
}
@@ -554,7 +559,7 @@
static char cach[] = {"Cache-Control: no-cache\r\n"};
static char op[] = {"CIMOperation: MethodResponse\r\n"};
static char tenc[] = {"Transfer-encoding: chunked\r\n"};
- static char trls[] = {"Trailer: CIMError, CIMStatusCode, CIMStatusCodeDescription\r\n"};
+ static char trls[] = {"Trailer: CIMError, CIMStatusCode, CIMStatusCodeDescription, SFCBErrorDetail\r\n"};
static char cclose[] = "Connection: close\r\n";
_SFCB_ENTER(TRACE_HTTPDAEMON, "writeChunkHeaders");
@@ -965,6 +970,9 @@
int authorized = 0;
int barc = 0;
+ // Reserve space for the additional headers
+ char * more=calloc(300,sizeof(char));
+
#ifdef HAVE_UDS
if (!discardInput && doUdsAuth) {
struct sockaddr_un sun;
@@ -996,24 +1004,47 @@
// fprintf(stderr, "client is: %s\n", ipstr);
barc = baValidate(inBuf.authorization,&inBuf.principal);
+ if (extras.ErrorDetail) {
+ snprintf(more,256,"SFCBErrorDetail: %s\r\n",extras.ErrorDetail);
+ }
#ifdef ALLOW_UPDATE_EXPIRED_PW
- if (barc == AUTH_EXPIRED) {
- hcrFlags |= HCR_EXPIRED_PW;
- }
- else if (barc == AUTH_PASS) {
- hcrFlags = 0; /* clear flags so non-expired user doesn't update pw */
- }
- else if (barc == AUTH_FAIL) {
+ if (barc == AUTH_EXPIRED) {
+ hcrFlags |= HCR_EXPIRED_PW;
+ // Add the error detail to the CIM_Error instance
+ if (extras.ErrorDetail) {
+ snprintf(more,256,"%s",extras.ErrorDetail);
+ } else {
+ snprintf(more,256,"%s","Expired Password");
+ }
+ } else if (barc == AUTH_PASS) {
#else
- if (barc != AUTH_PASS) {
+ if (barc == AUTH_EXPIRED) {
+ strcat(more,"WWW-Authenticate: Basic realm=\"cimom\"\r\n");
+ genError(conn_fd, &inBuf, 401, "Unauthorized", more);
+ /* we continue to parse headers and empty the socket
+ to be graceful with the client */
+ discardInput=1;
+ } else if (barc == AUTH_PASS) {
#endif
- char more[]="WWW-Authenticate: Basic realm=\"cimom\"\r\n";
- genError(conn_fd, &inBuf, 401, "Unauthorized", more);
- /* we continue to parse headers and empty the socket
- to be graceful with the client */
- discardInput=1;
- }
- }
+ hcrFlags = 0; /* clear flags so non-expired user doesn't update pw */
+ } else if (barc == AUTH_SERVPERM) {
+ genError(conn_fd, &inBuf, 500, "Server Error", more);
+ /* we continue to parse headers and empty the socket
+ to be graceful with the client */
+ discardInput=1;
+ } else if (barc == AUTH_SERVTEMP) {
+ genError(conn_fd, &inBuf, 503, "Service Unavailable", more);
+ /* we continue to parse headers and empty the socket
+ to be graceful with the client */
+ discardInput=1;
+ } else if (barc == AUTH_FAIL) {
+ strcat(more,"WWW-Authenticate: Basic realm=\"cimom\"\r\n");
+ genError(conn_fd, &inBuf, 401, "Unauthorized", more);
+ /* we continue to parse headers and empty the socket
+ to be graceful with the client */
+ discardInput=1;
+ }
+ } // if (inBuf.authorization) {
#if defined USE_SSL
else if (sfcbSSLMode && ccVerifyMode != CC_VERIFY_IGNORE) {
@@ -1031,6 +1062,10 @@
_SFCB_TRACE(1, ("--- exiting after missing content length."));
commClose(conn_fd);
freeBuffer(&inBuf);
+ if (more) {
+ free(more);
+ more=NULL;
+ }
exit(1);
}
@@ -1043,12 +1078,20 @@
genError(conn_fd, &inBuf, 400, "Bad Request", NULL);
_SFCB_TRACE(1, ("--- exiting after request timeout."));
commClose(conn_fd);
+ if (more) {
+ free(more);
+ more=NULL;
+ }
exit(1);
}
if (discardInput) {
releaseAuthHandle();
free(hdr);
freeBuffer(&inBuf);
+ if (more) {
+ free(more);
+ more=NULL;
+ }
_SFCB_RETURN(discardInput-1);
}
@@ -1087,11 +1130,15 @@
}
#endif
- response = handleCimXmlRequest(&ctx, hcrFlags);
+ response = handleCimXmlRequest(&ctx, hcrFlags,more);
}
else {
response = nullResponse;
}
+ if (more) {
+ free(more);
+ more=NULL;
+ }
free(hdr);
_SFCB_TRACE(1, ("--- Generate http response"));
Index: NEWS
===================================================================
RCS file: /cvsroot/sblim/sfcb/NEWS,v
retrieving revision 1.711
retrieving revision 1.712
diff -u -d -r1.711 -r1.712
--- NEWS 29 Jul 2012 22:41:16 -0000 1.711
+++ NEWS 8 Aug 2012 20:35:35 -0000 1.712
@@ -2,6 +2,7 @@
=================
New features:
- 3538858 custom routine to log indInst objinfo
+- 3555395 Additional auth lib return codes
Bugs fixed:
- 3539569 Leaks in interopProvider
|
|
From: Dave B. <bla...@us...> - 2012-08-07 00:45:31
|
Update of /cvsroot/sblim/jsr48-client/src/org/sblim/cimclient/internal/wbem
In directory vz-cvs-3.sog:/tmp/cvs-serv3627/src/org/sblim/cimclient/internal/wbem
Modified Files:
Tag: Experimental
WBEMClientCIMXML.java
Log Message:
3553858 - Append duplicate HTTP header fields instead of replace
Index: WBEMClientCIMXML.java
===================================================================
RCS file: /cvsroot/sblim/jsr48-client/src/org/sblim/cimclient/internal/wbem/WBEMClientCIMXML.java,v
retrieving revision 1.21.2.65
retrieving revision 1.21.2.66
diff -u -d -r1.21.2.65 -r1.21.2.66
--- WBEMClientCIMXML.java 1 Aug 2012 18:23:16 -0000 1.21.2.65
+++ WBEMClientCIMXML.java 7 Aug 2012 00:45:29 -0000 1.21.2.66
@@ -67,6 +67,7 @@
* 3521157 2012-05-10 blaschke-oss JSR48 1.0.0: PROP_ENABLE_*_LOGGING is Level, not 0/1
* 3525914 2012-05-11 blaschke-oss TCK: SetPropertyTest.testSetProperty failing
* 3545797 2012-07-19 blaschke-oss Support new error code of SFCB
+ * 3553858 2012-08-06 blaschke-oss Append duplicate HTTP header fields instead of replace
*/
package org.sblim.cimclient.internal.wbem;
@@ -2021,15 +2022,15 @@
i = 0;
String key;
while ((key = pConnection.getHeaderFieldKey(++i)) != null) {
- if (key.startsWith(ns + "-")) headers.addField(key.substring(3), pConnection
+ if (key.startsWith(ns + "-")) headers.addParsedField(key.substring(3), pConnection
.getHeaderField(i));
- else headers.addField(key, pConnection.getHeaderField(i));
+ else headers.addParsedField(key, pConnection.getHeaderField(i));
}
} else {
i = 0;
String key;
while ((key = pConnection.getHeaderFieldKey(++i)) != null) {
- headers.addField(key, pConnection.getHeaderField(i));
+ headers.addParsedField(key, pConnection.getHeaderField(i));
}
}
|
|
From: Tyrel D. <ty...@us...> - 2012-08-04 00:07:05
|
Update of /cvsroot/sblim/gather In directory vz-cvs-3.sog:/tmp/cvs-serv32628 Modified Files: NEWS Log Message: Fixed 3554137: multiple definitions of CMPI_false Index: NEWS =================================================================== RCS file: /cvsroot/sblim/gather/NEWS,v retrieving revision 1.129 retrieving revision 1.130 diff -u -d -r1.129 -r1.130 --- NEWS 3 Aug 2012 23:10:38 -0000 1.129 +++ NEWS 4 Aug 2012 00:07:02 -0000 1.130 @@ -7,6 +7,7 @@ - 3552310 incorrect metric definition for VirtualState - 2811884 dsp1053 unique BaseMetricDefinition.Name - 3554130 sample interval config warning +- 3554137 multiple definitions of CMPI_false Features added: - 3031802 add support for CIM property filters |
|
From: Chris B. <buc...@us...> - 2012-08-03 23:12: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 c5a69962f45d70e8bce9a48f8af3be28441e7921 (commit)
from d10ba60839074447d983d4d89d2ae03d0dd01998 (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 c5a69962f45d70e8bce9a48f8af3be28441e7921
Author: buccella <buc...@li...>
Date: Fri Aug 3 19:05:43 2012 -0400
Propagating changes made to classProviderGz for 3527674
-----------------------------------------------------------------------
Summary of changes:
diff --git a/ChangeLog b/ChangeLog
index a5e21f0..f798c56 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,8 @@
+2012-08-03 Chris Buccella <buc...@li...>
+
+ * classProvider.c, classProviderSf.c, classProviderMem.c:
+ Propagating changes made to classProviderGz for 3527674
+
2012-07-29 Dave Heller <hel...@us...>
* sfcb.init-none.in, sfcb.init-redhat.in, sfcb.init-suse.in:
diff --git a/classProvider.c b/classProvider.c
index 90d05e8..8c5f091 100644
--- a/classProvider.c
+++ b/classProvider.c
@@ -1227,6 +1227,10 @@ ClassProviderInvokeMethod(CMPIMethodMI * mi,
}
else if (strcasecmp(methodName, "_startup") == 0) {
+
+ /* let providerMgr know that we're odne init'ing */
+ semRelease(sfcbSem,INIT_CLASS_PROV_ID);
+
st.rc = CMPI_RC_OK;
}
diff --git a/classProviderMem.c b/classProviderMem.c
index 9d949dd..e23c28b 100644
--- a/classProviderMem.c
+++ b/classProviderMem.c
@@ -1,4 +1,5 @@
+
/*
* $Id: classProviderMem.c,v 1.11 2009/12/17 20:15:48 buccella Exp $
*
@@ -1047,6 +1048,10 @@ ClassProviderInvokeMethod(CMPIMethodMI * mi,
}
else if (strcasecmp(methodName, "_startup") == 0) {
+
+ /* let providerMgr know that we're odne init'ing */
+ semRelease(sfcbSem,INIT_CLASS_PROV_ID);
+
st.rc = CMPI_RC_OK;
}
diff --git a/classProviderSf.c b/classProviderSf.c
index b732a3d..47f8710 100644
--- a/classProviderSf.c
+++ b/classProviderSf.c
@@ -1363,6 +1363,10 @@ ClassProviderInvokeMethod(CMPIMethodMI * mi,
}
else if (strcasecmp(methodName, "_startup") == 0) {
+
+ /* let providerMgr know that we're odne init'ing */
+ semRelease(sfcbSem,INIT_CLASS_PROV_ID);
+
st.rc = CMPI_RC_OK;
}
hooks/post-receive
--
SFCB - Small Footprint CIM Broker
|
|
From: Tyrel D. <ty...@us...> - 2012-08-03 23:10:41
|
Update of /cvsroot/sblim/gather In directory vz-cvs-3.sog:/tmp/cvs-serv28138 Modified Files: NEWS gatherd.conf Log Message: Fixed 3554130: sample interval config warning Index: gatherd.conf =================================================================== RCS file: /cvsroot/sblim/gather/gatherd.conf,v retrieving revision 1.8 retrieving revision 1.9 diff -u -d -r1.8 -r1.9 --- gatherd.conf 7 Mar 2006 12:55:20 -0000 1.8 +++ gatherd.conf 3 Aug 2012 23:10:38 -0000 1.9 @@ -31,6 +31,12 @@ # SampleInterval - If specified, this interval will override the plugin # specified individual sampling intervals. Unit is seconds. +# +# WARNING: This config option should only be used for +# debugging purposes. It overrides the per metric defined +# sample interval of all plugins, and really short intervals +# can introduce skew in the data due to seconds not being a +# high enough sample resolution. # SampleInterval=300 # Synchronization - Specifies whether the metric plugins are invoked in a Index: NEWS =================================================================== RCS file: /cvsroot/sblim/gather/NEWS,v retrieving revision 1.128 retrieving revision 1.129 diff -u -d -r1.128 -r1.129 --- NEWS 1 Aug 2012 00:00:59 -0000 1.128 +++ NEWS 3 Aug 2012 23:10:38 -0000 1.129 @@ -6,6 +6,7 @@ - 3545751 BaseMetricValue.Volatile should be false - 3552310 incorrect metric definition for VirtualState - 2811884 dsp1053 unique BaseMetricDefinition.Name +- 3554130 sample interval config warning Features added: - 3031802 add support for CIM property filters |
|
From: Dave B. <bla...@us...> - 2012-08-03 02:03:13
|
Update of /cvsroot/sblim/jsr48-client/src/org/sblim/cimclient/internal/http
In directory vz-cvs-3.sog:/tmp/cvs-serv30139/src/org/sblim/cimclient/internal/http
Modified Files:
Tag: Experimental
HttpHeader.java
Log Message:
3553858 - Append duplicate HTTP header fields instead of replace
Index: HttpHeader.java
===================================================================
RCS file: /cvsroot/sblim/jsr48-client/src/org/sblim/cimclient/internal/http/HttpHeader.java,v
retrieving revision 1.3.2.10
retrieving revision 1.3.2.11
diff -u -d -r1.3.2.10 -r1.3.2.11
--- HttpHeader.java 20 May 2011 14:39:45 -0000 1.3.2.10
+++ HttpHeader.java 3 Aug 2012 02:03:10 -0000 1.3.2.11
@@ -1,5 +1,5 @@
/**
- * (C) Copyright IBM Corp. 2005, 2011
+ * (C) Copyright IBM Corp. 2005, 2012
*
* THIS FILE IS PROVIDED UNDER THE TERMS OF THE ECLIPSE PUBLIC LICENSE
* ("AGREEMENT"). ANY USE, REPRODUCTION OR DISTRIBUTION OF THIS FILE
@@ -28,6 +28,7 @@
* 2531371 2009-02-10 raman_arora Upgrade client to JDK 1.5 (Phase 2)
* 2641758 2009-02-27 blaschke-oss CIM Client does not recognize HTTP extension headers
* 3304058 2011-05-20 blaschke-oss Use same date format in change history
+ * 3553858 2012-08-02 blaschke-oss Append duplicate HTTP header fields instead of replace
*/
package org.sblim.cimclient.internal.http;
@@ -154,7 +155,17 @@
if (pName == null || pName.length() == 0) return;
if (pValue != null) {
- this.iFields.put(new HeaderEntry(pName), pValue);
+ String oldValue = this.iFields.put(new HeaderEntry(pName), pValue);
+ if (oldValue != null) {
+ // Field already exists, so append value to existing value; it
+ // is done checking put() return code, instead of checking get()
+ // return code prior to put(), because typical user case does
+ // not include duplicate fields
+ StringBuilder combinedValue = new StringBuilder(oldValue);
+ combinedValue.append(',');
+ combinedValue.append(pValue);
+ this.iFields.put(new HeaderEntry(pName), combinedValue.toString());
+ }
} else {
this.iFields.remove(new HeaderEntry(pName));
}
|
|
From: Dave B. <bla...@us...> - 2012-08-01 18:43:37
|
Update of /cvsroot/sblim/jsr48-client/src/org/sblim/cimclient/internal/cimxml/sax
In directory vz-cvs-3.sog:/tmp/cvs-serv7672/src/org/sblim/cimclient/internal/cimxml/sax
Modified Files:
Tag: Experimental
NodeFactory.java
Log Message:
3535383 - HashDoS fix 3498482
Index: NodeFactory.java
===================================================================
RCS file: /cvsroot/sblim/jsr48-client/src/org/sblim/cimclient/internal/cimxml/sax/NodeFactory.java,v
retrieving revision 1.1.2.6
retrieving revision 1.1.2.7
diff -u -d -r1.1.2.6 -r1.1.2.7
--- NodeFactory.java 10 Mar 2012 22:55:30 -0000 1.1.2.6
+++ NodeFactory.java 1 Aug 2012 18:43:34 -0000 1.1.2.7
@@ -18,12 +18,12 @@
* 2531371 2009-02-10 raman_arora Upgrade client to JDK 1.5 (Phase 2)
* 2845211 2009-08-27 raman_arora Pull Enumeration Feature (SAX Parser)
* 3498482 2012-03-09 blaschke-oss Red Hat: Possible XML Hash DoS in sblim
+ * 3535383 2012-08-01 blaschke-oss HashDoS fix 3498482
*/
package org.sblim.cimclient.internal.cimxml.sax;
import java.util.HashMap;
-import java.util.Random;
import org.sblim.cimclient.internal.cimxml.sax.node.*;
@@ -56,7 +56,7 @@
* equals comparisons (==).
*/
public static String getEnum(String pNodeName) {
- return NODENAME_HASH.get(pNodeName + iRandomString);
+ return NODENAME_HASH.get(pNodeName);
}
private static HashMap<String, FactoryEntry> cParserMap;
@@ -442,25 +442,9 @@
private static final HashMap<String, String> NODENAME_HASH = new HashMap<String, String>();
- private static String iRandomString;
-
private static void initNodeNameHash(String[] pEnumA) {
- // Append 8-byte randomly-generated string to keys in HashMap to avert
- // hash DoS
- Random generator = new Random(System.currentTimeMillis());
- byte randomByte[] = new byte[1];
- StringBuilder randomString = new StringBuilder();
- while (randomString.length() < 8) {
- generator.nextBytes(randomByte);
- if (randomByte[0] > 0) {
- char ch = (char) randomByte[0];
- if (!Character.isISOControl(ch)) randomString.append(ch);
- }
- }
- iRandomString = randomString.toString();
-
for (int i = 0; i < pEnumA.length; i++)
- NODENAME_HASH.put(pEnumA[i] + iRandomString, pEnumA[i]);
+ NODENAME_HASH.put(pEnumA[i], pEnumA[i]);
}
static {
|
|
From: Dave B. <bla...@us...> - 2012-08-01 18:23:19
|
Update of /cvsroot/sblim/jsr48-client/src/org/sblim/cimclient/internal/wbem
In directory vz-cvs-3.sog:/tmp/cvs-serv5808/src/org/sblim/cimclient/internal/wbem
Modified Files:
Tag: Experimental
WBEMClientCIMXML.java
Log Message:
3545797 - Support new error code of SFCB
Index: WBEMClientCIMXML.java
===================================================================
RCS file: /cvsroot/sblim/jsr48-client/src/org/sblim/cimclient/internal/wbem/WBEMClientCIMXML.java,v
retrieving revision 1.21.2.64
retrieving revision 1.21.2.65
diff -u -d -r1.21.2.64 -r1.21.2.65
--- WBEMClientCIMXML.java 11 May 2012 17:49:04 -0000 1.21.2.64
+++ WBEMClientCIMXML.java 1 Aug 2012 18:23:16 -0000 1.21.2.65
@@ -66,6 +66,7 @@
* 3522904 2012-05-02 blaschke-oss Add new API WBEMClientSBLIM.isActive()
* 3521157 2012-05-10 blaschke-oss JSR48 1.0.0: PROP_ENABLE_*_LOGGING is Level, not 0/1
* 3525914 2012-05-11 blaschke-oss TCK: SetPropertyTest.testSetProperty failing
+ * 3545797 2012-07-19 blaschke-oss Support new error code of SFCB
*/
package org.sblim.cimclient.internal.wbem;
@@ -1683,6 +1684,20 @@
this.iConfiguration.setCustomSocketFactory(pFactory);
}
+ private String getHttpErrorString(int pStatusCode) {
+ switch (pStatusCode) {
+ case 401:
+ return "401 - UNAUTHORIZED";
+ case 403:
+ return "403 - FORBIDDEN";
+ case 405:
+ return "405 - METHOD NOT ALLOWED";
+ case 407:
+ return "407 - PROXY AUTHENTICATION REQUIRED";
+ }
+ return null;
+ }
+
private InputStreamReader transmitRequest(String pCimMethod, HttpHeader pHeader,
Document pDocument) throws IOException, ProtocolException, WBEMException {
@@ -1690,6 +1705,7 @@
logger.entry();
HttpUrlConnection connection = null;
+ int exceptionNum = WBEMException.CIM_ERR_FAILED;
// retry HTTP MPOST only if failure is more than 24 hours old
if (this.iMPostFailed) {
@@ -1742,10 +1758,10 @@
}
String cimError = headers.getField("CIMError");
+ exceptionNum = WBEMException.CIM_ERR_FAILED;
switch (resultCode) {
- // 200
- case HttpURLConnection.HTTP_OK:
+ case HttpURLConnection.HTTP_OK: // 200
if (this.iConfiguration.isHttpContentLengthRetryEnabled()) {
String contentLengthField = headers.getField("Content-length");
@@ -1754,8 +1770,8 @@
int lengthToCheck = this.iConfiguration.getHttpContentLengthThreshold();
if (contentLength < lengthToCheck) {
- logger.trace(Level.FINE, "Content Length below :" + lengthToCheck
- + " ...retrying !");
+ logger.trace(Level.FINE, "Content Length below " + lengthToCheck
+ + ", retrying");
break;
}
}
@@ -1771,13 +1787,7 @@
return new InputStreamReader(is, charset);
- // 500
- case HttpURLConnection.HTTP_INTERNAL_ERROR:
- logger.trace(Level.FINER, "Received HTTP Error 500 - HTTP_INTERNAL_ERROR");
- break;
-
- // 501
- case HttpURLConnection.HTTP_NOT_IMPLEMENTED:
+ case HttpURLConnection.HTTP_NOT_IMPLEMENTED: // 501
// TODO if there is an error with the default xml
// encoder/decoder, load the correct version
// The problem is that the CIMOM does not return the DTD
@@ -1787,85 +1797,54 @@
if (cimProtocolVersion == null && cimError == null && useMPost) {
logger
.trace(Level.FINER,
- "Received HTTP Error 501 - HTTP NOT IMPLEMENTED - falling back to HTTP POST");
+ "Received HTTP Error 501 - NOT IMPLEMENTED with M-POST, falling back to POST");
this.iMPostFailTime = System.currentTimeMillis();
useMPost = false;
this.iMPostFailed = true;
++retries;
break;
}
- if (cimProtocolVersion == null || cimProtocolVersion.length() == 0) {
- cimProtocolVersion = "1.0";
- }
- logger.trace(Level.FINER, "Received HTTP Error 501 - HTTP NOT IMPLEMENTED"
- + (cimError != null ? " - " + cimError : ""));
- retries = 0;
- break;
- // 400
- case HttpURLConnection.HTTP_BAD_REQUEST:
- if (cimError != null) {
- logger.trace(Level.FINER, "Received HTTP Error 400 - BAD REQUEST - "
- + cimError);
- } else {
- logger.trace(Level.FINER, "Received HTTP Error 400 - BAD REQUEST");
- }
+ logger.trace(Level.FINER, "Received HTTP Error 501 - NOT IMPLEMENTED"
+ + (cimError != null ? "(CIMError: \"" + cimError + "\")" : "")
+ + ", skipping retries");
retries = 0;
break;
- // 401
- case HttpURLConnection.HTTP_UNAUTHORIZED:
- logger
- .trace(Level.FINER,
- "Received HTTP Error 401 - UNAUTHORIZED. Throwing WBEMAuthenticationException!");
- connection.disconnect();
- throw new WBEMException(WBEMException.CIM_ERR_ACCESS_DENIED,
- "HTTP 401 - Unauthorized", null);
-
- // 403
- case HttpURLConnection.HTTP_FORBIDDEN:
- logger.trace(Level.FINER, "Received HTTP Error 403 - FORBIDDEN.");
+ case HttpURLConnection.HTTP_BAD_REQUEST: // 400
+ logger.trace(Level.FINER, "Received HTTP Error 400 - BAD REQUEST"
+ + getHttpErrorString(resultCode)
+ + (cimError != null ? " (CIMError: \"" + cimError + "\")" : "")
+ + ", skipping retries");
retries = 0;
break;
- // 407
- case HttpURLConnection.HTTP_PROXY_AUTH:
- logger
- .trace(Level.FINER,
- "Received HTTP Error 407 - ERR PROXY AUTHENTICATION. Throwing CIMAuthenticationException!");
- connection.disconnect();
- throw new WBEMException(WBEMException.CIM_ERR_ACCESS_DENIED,
- "HTTP 407 - Err Proxy Authentication");
-
- // 405
- case HttpURLConnection.HTTP_BAD_METHOD:
- logger.trace(Level.FINER, "Received HTTP Error 405 - BAD METHOD.");
+ case HttpURLConnection.HTTP_FORBIDDEN: // 403
+ case HttpURLConnection.HTTP_BAD_METHOD: // 405
+ logger.trace(Level.FINER, "Received HTTP Error "
+ + getHttpErrorString(resultCode) + ", skipping retries");
retries = 0;
break;
- // 505 Version Not Supported
- case 505:
- // 510 Not Extended
- case 510:
- logger.trace(Level.FINER, "Received HTTP Error " + resultCode
- + " on M-POST. Retrying with POST.");
- if (useMPost) {
- this.iMPostFailTime = System.currentTimeMillis();
- useMPost = false;
- this.iMPostFailed = true;
- ++retries;
- }
+ case HttpURLConnection.HTTP_UNAUTHORIZED: // 401
+ case HttpURLConnection.HTTP_PROXY_AUTH: // 407
+ logger.trace(Level.FINER, "Received HTTP Error "
+ + getHttpErrorString(resultCode) + ", skipping retries");
+ exceptionNum = WBEMException.CIM_ERR_ACCESS_DENIED;
+ retries = 0;
break;
default:
- logger
- .trace(Level.FINER,
- "No known HTTP error recognized. Retrying with POST.");
if (useMPost) {
+ logger.trace(Level.FINER, "Received HTTP Error " + resultCode
+ + " with M-POST, falling back to POST");
this.iMPostFailTime = System.currentTimeMillis();
useMPost = false;
this.iMPostFailed = true;
++retries;
+ } else {
+ logger.trace(Level.FINER, "Received HTTP Error " + resultCode
+ + ", retrying");
}
}
@@ -1899,15 +1878,59 @@
} catch (Exception e) {
errorOP = null;
}
+ logger.trace(Level.FINER, "Found PGErrorDetail field with value \"" + errorOP + "\"");
+ }
+
+ // Look for SFCB error details, decode and include in exception
+ // if it exists
+ String errorSFCB = connection.getHeaderField("SFCBErrorDetail");
+ if (errorSFCB != null) {
+ try {
+ errorSFCB = URLDecoder.decode(errorSFCB, "UTF-8");
+ } catch (Exception e) {
+ errorSFCB = null;
+ }
+ logger.trace(Level.FINER, "Found SFCBErrorDetail field with value \"" + errorSFCB
+ + "\"");
+ }
+
+ // Format of WBEMException message is:
+ //
+ // HTTP StatusCode - ReasonPhrase (CIMError: "ErrorString", OpenPegasus
+ // Error: "ErrorString", SFCB Error: "ErrorString")
+ //
+ // For example:
+ // HTTP 503 - Service Unavailable (SFCB Error:
+ // "Max Session Limit Exceeded")
+ StringBuffer errorMsg = new StringBuffer("HTTP ");
+ errorMsg.append(connection.getResponseCode());
+ errorMsg.append(" - ");
+ errorMsg.append(connection.getResponseMessage());
+ if (errorCIM != null || errorOP != null || errorSFCB != null) {
+ errorMsg.append(" (");
+ if (errorCIM != null) {
+ errorMsg.append("CIMError: \"");
+ errorMsg.append(errorCIM);
+ errorMsg.append('"');
+ }
+ if (errorOP != null) {
+ if (errorCIM != null) errorMsg.append(", ");
+ errorMsg.append("OpenPegasus Error: \"");
+ errorMsg.append(errorOP);
+ errorMsg.append('"');
+ }
+ if (errorSFCB != null) {
+ if (errorCIM != null || errorOP != null) errorMsg.append(", ");
+ errorMsg.append("SFCB Error: \"");
+ errorMsg.append(errorSFCB);
+ errorMsg.append('"');
+ }
+ errorMsg.append(')');
}
- String errorMsg = "HTTP " + connection.getResponseCode() + " - "
- + connection.getResponseMessage()
- + (errorCIM != null ? (", CIMError: " + errorCIM) : "")
- + (errorOP != null ? (", OpenPegasus Error Detail: \"" + errorOP + "\"") : "");
connection.disconnect();
- throw new WBEMException(WBEMException.CIM_ERR_FAILED, errorMsg);
+ throw new WBEMException(exceptionNum, errorMsg.toString());
}
private HttpUrlConnection newConnection(String pCimMethod, HttpHeader pHeader, boolean pUseMPost) {
|
|
From: Tyrel D. <ty...@us...> - 2012-08-01 00:01:01
|
Update of /cvsroot/sblim/gather In directory vz-cvs-3.sog:/tmp/cvs-serv25735 Modified Files: NEWS Log Message: Fixed 3552873: DSP1053 v1.0.1 profile conformance Index: NEWS =================================================================== RCS file: /cvsroot/sblim/gather/NEWS,v retrieving revision 1.127 retrieving revision 1.128 diff -u -d -r1.127 -r1.128 --- NEWS 31 Jul 2012 23:26:45 -0000 1.127 +++ NEWS 1 Aug 2012 00:00:59 -0000 1.128 @@ -9,6 +9,7 @@ Features added: - 3031802 add support for CIM property filters +- 3552873 DSP1053 v1.0.1 profile conformance Changes in Version 2.2.5 ======================== |
|
From: Tyrel D. <ty...@us...> - 2012-07-31 23:26:48
|
Update of /cvsroot/sblim/gather/provider
In directory vz-cvs-3.sog:/tmp/cvs-serv22401/provider
Modified Files:
OSBase_MetricUtil.c
Log Message:
Fixed 2811884: dsp1053 unique BaseMetricDefinition.Name
Index: OSBase_MetricUtil.c
===================================================================
RCS file: /cvsroot/sblim/gather/provider/OSBase_MetricUtil.c,v
retrieving revision 1.21
retrieving revision 1.22
diff -u -d -r1.21 -r1.22
--- OSBase_MetricUtil.c 19 Jul 2012 05:37:34 -0000 1.21
+++ OSBase_MetricUtil.c 31 Jul 2012 23:26:46 -0000 1.22
@@ -1039,7 +1039,12 @@
if (ci) {
CMSetPropertyFilter(ci, props, NULL);
- CMSetProperty(ci,"Name",defname,CMPI_chars);
+ if (metricDefinitionList[i].mdef_metrictype&MD_ORGSBLIM) {
+ sprintf(instid,"SBLIM:%s",defname);
+ CMSetProperty(ci,"Name",instid,CMPI_chars);
+ } else {
+ CMSetProperty(ci,"Name",defname,CMPI_chars);
+ }
/* DataType */
for (dt=0;dt<sizeof(typetable)/sizeof(int);dt++) {
if (metricDefinitionList[i].mdef_datatype==typetable[dt])
|
|
From: Chris B. <buc...@us...> - 2012-07-31 19:14: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 "SFCC - Small Footprint CIM Client".
The branch, master has been updated
via 6c78d522c560523af0f68868fa1ce98b1e4070b9 (commit)
from b3f5edd206d53510beecb86d943c9d34bd2c77ac (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 6c78d522c560523af0f68868fa1ce98b1e4070b9
Author: buccella <buc...@li...>
Date: Tue Jul 31 15:14:18 2012 -0400
[ 3547832 ] memory leak in backend/cimxml/grammer.c
-----------------------------------------------------------------------
Summary of changes:
diff --git a/ChangeLog b/ChangeLog
index 8de2ebc..8ea9c4b 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,9 @@
+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:
diff --git a/NEWS b/NEWS
index 86b4140..0ffe4a9 100644
--- a/NEWS
+++ b/NEWS
@@ -10,6 +10,7 @@ Bugs:
- 3528819: Crash in getInstance when instance has NULL properties
- 3530609: Various BEAM Errors
- 3435363: Wrong call of curl_global_cleanup()
+- 3547832: memory leak in backend/cimxml/grammer.c
Changes in 2.2.3
================
diff --git a/backend/cimxml/grammar.c b/backend/cimxml/grammar.c
index 8fb5f91..d109421 100644
--- a/backend/cimxml/grammar.c
+++ b/backend/cimxml/grammar.c
@@ -571,7 +571,7 @@ static void valueObjectWithPath(ParserControl *parm, parseUnion *stateUnion)
static void valueObjectWithPathData(ParserControl *parm, parseUnion *stateUnion)
{
parseUnion lvalp={0};
- CMPIObjectPath *op;
+ CMPIObjectPath *op = NULL;
CMPIInstance *inst;
ct = localLex((parseUnion*)&stateUnion->xtokObjectWithPathData, parm);
if(ct == XTOK_CLASSPATH) {
@@ -590,6 +590,7 @@ static void valueObjectWithPathData(ParserControl *parm, parseUnion *stateUnion)
setInstQualifiers(inst, &stateUnion->xtokObjectWithPathData.inst.inst.qualifiers);
setInstProperties(inst, &stateUnion->xtokObjectWithPathData.inst.inst.properties);
simpleArrayAdd(parm->respHdr.rvArray,(CMPIValue*)&inst,CMPI_instance);
+ if (op) op->ft->release(op);
}
else {
parseError("XTOK_CLASSPATH or XTOK_INSTANCEPATH", ct, parm);
diff --git a/contributions.txt b/contributions.txt
index 0a2984c..4aad521 100644
--- a/contributions.txt
+++ b/contributions.txt
@@ -53,3 +53,7 @@ Josef Moellers, Fujitsu
J. Bart Whiteley, Novell
------------------------
03/29/2011 [ 1956407 ] CIM-XML/HTTP connection to unix socket
+
+Michal Minar
+------------
+07/31/2012 [ 3547832 ] memory leak in backend/cimxml/grammer.c
hooks/post-receive
--
SFCC - Small Footprint CIM Client
|
|
From: Tyrel D. <ty...@us...> - 2012-07-31 04:04:46
|
Update of /cvsroot/sblim/cmpi-devel In directory vz-cvs-3.sog:/tmp/cvs-serv1756 Modified Files: ChangeLog NEWS configure.ac Log Message: Updated release version to 2.0.3 Index: NEWS =================================================================== RCS file: /cvsroot/sblim/cmpi-devel/NEWS,v retrieving revision 1.25 retrieving revision 1.26 diff -u -d -r1.25 -r1.26 --- NEWS 10 Jun 2012 01:30:07 -0000 1.25 +++ NEWS 31 Jul 2012 04:04:43 -0000 1.26 @@ -6,10 +6,10 @@ - 3531599 replace CMGetCharPtr with CMGetCharsPtr - 3531597 returnData with char type fails - 3531596 CmpiData uses wrong union for unsigned data -- 3531603 no way to determine internal type of CmpiData New Features: - 3531601 add CmpiString constructor for char data +- 3531603 no way to determine internal type of CmpiData (add getType function) Changes in 2.0.2 ================ Index: configure.ac =================================================================== RCS file: /cvsroot/sblim/cmpi-devel/configure.ac,v retrieving revision 1.13 retrieving revision 1.14 diff -u -d -r1.13 -r1.14 --- configure.ac 13 Jul 2011 21:38:40 -0000 1.13 +++ configure.ac 31 Jul 2012 04:04:43 -0000 1.14 @@ -1,7 +1,7 @@ # -*- Autoconf -*- # Process this file with autoconf to produce a configure script. -AC_INIT(sblim-cmpi-devel, 2.0.2, <sbl...@li...>) +AC_INIT(sblim-cmpi-devel, 2.0.3, <sbl...@li...>) AC_CONFIG_SRCDIR([CmpiImpl.cpp]) AC_CONFIG_HEADER([config.h]) Index: ChangeLog =================================================================== RCS file: /cvsroot/sblim/cmpi-devel/ChangeLog,v retrieving revision 1.18 retrieving revision 1.19 diff -u -d -r1.18 -r1.19 --- ChangeLog 13 Jul 2011 21:38:40 -0000 1.18 +++ ChangeLog 31 Jul 2012 04:04:43 -0000 1.19 @@ -1,3 +1,45 @@ +2012-06-09 Tyrel Datwyler <ty...@us...> + + * CmpiImpl.cpp, NEWS, cmpi/CmpiData.h: + + Fixed 3531603: no way to determine internal type of CmpiData + +2012-06-05 Tyrel Datwyler <ty...@us...> + + * CmpiImpl.cpp, NEWS: + + Fixed 3531596: CmpiData uses wrong union for unsigned data + +2012-06-05 Tyrel Datwyler <ty...@us...> + + * CmpiImpl.cpp, NEWS: + + Fixed 3531597: returnData with char type fails + +2012-06-02 Tyrel Datwyler <ty...@us...> + + * CmpiImpl.cpp, NEWS: + + Fixed 3531599: replace CMGetCharPtr with CMGetCharsPtr + +2012-06-02 Tyrel Datwyler <ty...@us...> + + * CmpiImpl.cpp, NEWS: + + Fixed 3531598: several CmpiObjectPath methods leak memory + +2012-06-02 Tyrel Datwyler <ty...@us...> + + * CmpiImpl.cpp, NEWS, cmpi/CmpiString.h: + + Fixed 3531601: add CmpiString constructor for char data + +2011-07-13 Tyrel Datwyler <ty...@us...> + + * ChangeLog, NEWS, configure.ac: + + Updated release version to 2.0.2 + 2011-05-17 Tyrel Datwyler <ty...@us...> * NEWS, cmpi/cmpios.h: |
|
From: Tyrel D. <ty...@us...> - 2012-07-31 01:28:10
|
Update of /cvsroot/sblim/gather In directory vz-cvs-3.sog:/tmp/cvs-serv20248 Modified Files: NEWS Log Message: Fixed 3552310: incorrect metric definition for VirtualState Index: NEWS =================================================================== RCS file: /cvsroot/sblim/gather/NEWS,v retrieving revision 1.125 retrieving revision 1.126 diff -u -d -r1.125 -r1.126 --- NEWS 19 Jul 2012 05:37:34 -0000 1.125 +++ NEWS 31 Jul 2012 01:28:08 -0000 1.126 @@ -4,6 +4,7 @@ Bugs fixed: - 3530668 Duration values always reported as zero - 3545751 BaseMetricValue.Volatile should be false +- 3552310 incorrect metric definition for VirtualState Features added: - 3031802 add support for CIM property filters |
|
From: Dave H. <hel...@us...> - 2012-07-29 22:41:19
|
Update of /cvsroot/sblim/sfcb
In directory vz-cvs-3.sog:/tmp/cvs-serv19626
Modified Files:
ChangeLog NEWS sfcb.init-none.in sfcb.init-redhat.in
sfcb.init-suse.in
Log Message:
Fixed 3541554: insecure LD_LIBRARY_PATH usage
Index: sfcb.init-suse.in
===================================================================
RCS file: /cvsroot/sblim/sfcb/sfcb.init-suse.in,v
retrieving revision 1.3
retrieving revision 1.4
diff -u -d -r1.3 -r1.4
--- sfcb.init-suse.in 28 Jul 2005 08:09:38 -0000 1.3
+++ sfcb.init-suse.in 29 Jul 2012 22:41:16 -0000 1.4
@@ -15,10 +15,10 @@
echo $PATH | grep -q @sbindir@ ||PATH=@sbindir@:$PATH
-if [ -z "$LD_LIBRARY_PATH" ] || echo $LD_LIBRARY_PATH | grep -qv @libdir@
+if [ -z "$LD_LIBRARY_PATH" ] || echo $LD_LIBRARY_PATH | grep -qv '@libdir@[/]*\($\|[:]\)'
then
- LD_LIBRARY_PATH=@libdir@:$LD_LIBRARY_PATH
- export LD_LIBRARY_PATH
+ LD_LIBRARY_PATH=@libdir@${LD_LIBRARY_PATH:+:$LD_LIBRARY_PATH}
+ export LD_LIBRARY_PATH
fi
start() {
Index: sfcb.init-none.in
===================================================================
RCS file: /cvsroot/sblim/sfcb/sfcb.init-none.in,v
retrieving revision 1.2
retrieving revision 1.3
diff -u -d -r1.2 -r1.3
--- sfcb.init-none.in 13 Jun 2005 12:50:33 -0000 1.2
+++ sfcb.init-none.in 29 Jul 2012 22:41:16 -0000 1.3
@@ -6,10 +6,10 @@
echo $PATH | grep -q @sbindir@ ||PATH=@sbindir@:$PATH
-if [ -z "$LD_LIBRARY_PATH" ] || echo $LD_LIBRARY_PATH | grep -qv @libdir@
+if [ -z "$LD_LIBRARY_PATH" ] || echo $LD_LIBRARY_PATH | grep -qv '@libdir@[/]*\($\|[:]\)'
then
- LD_LIBRARY_PATH=@libdir@:$LD_LIBRARY_PATH
- export LD_LIBRARY_PATH
+ LD_LIBRARY_PATH=@libdir@${LD_LIBRARY_PATH:+:$LD_LIBRARY_PATH}
+ export LD_LIBRARY_PATH
fi
start() {
Index: sfcb.init-redhat.in
===================================================================
RCS file: /cvsroot/sblim/sfcb/sfcb.init-redhat.in,v
retrieving revision 1.2
retrieving revision 1.3
diff -u -d -r1.2 -r1.3
--- sfcb.init-redhat.in 13 Jun 2005 12:50:33 -0000 1.2
+++ sfcb.init-redhat.in 29 Jul 2012 22:41:16 -0000 1.3
@@ -15,10 +15,10 @@
echo $PATH | grep -q @sbindir@ ||PATH=@sbindir@:$PATH
-if [ -z "$LD_LIBRARY_PATH" ] || echo $LD_LIBRARY_PATH | grep -qv @libdir@
+if [ -z "$LD_LIBRARY_PATH" ] || echo $LD_LIBRARY_PATH | grep -qv '@libdir@[/]*\($\|[:]\)'
then
- LD_LIBRARY_PATH=@libdir@:$LD_LIBRARY_PATH
- export LD_LIBRARY_PATH
+ LD_LIBRARY_PATH=@libdir@${LD_LIBRARY_PATH:+:$LD_LIBRARY_PATH}
+ export LD_LIBRARY_PATH
fi
start() {
Index: ChangeLog
===================================================================
RCS file: /cvsroot/sblim/sfcb/ChangeLog,v
retrieving revision 1.795
retrieving revision 1.796
diff -u -d -r1.795 -r1.796
--- ChangeLog 20 Jul 2012 14:10:43 -0000 1.795
+++ ChangeLog 29 Jul 2012 22:41:16 -0000 1.796
@@ -1,3 +1,8 @@
+2012-07-29 Dave Heller <hel...@us...>
+
+ * sfcb.init-none.in, sfcb.init-redhat.in, sfcb.init-suse.in:
+ [ 3541554 ] insecure LD_LIBRARY_PATH usage
+
2012-07-20 Dave Heller <hel...@us...>
* classProviderGz.c:
Index: NEWS
===================================================================
RCS file: /cvsroot/sblim/sfcb/NEWS,v
retrieving revision 1.710
retrieving revision 1.711
diff -u -d -r1.710 -r1.711
--- NEWS 20 Jul 2012 14:10:43 -0000 1.710
+++ NEWS 29 Jul 2012 22:41:16 -0000 1.711
@@ -11,6 +11,7 @@
- 1901737 Memory leak in internalProvider.c
- 3539006 Possible indication deadlock
- 3527714 Every other EnumerateClasses fails
+- 3541554 insecure LD_LIBRARY_PATH usage
Changes in 1.3.15
=================
|
|
From: Dave H. <hel...@us...> - 2012-07-29 22:03:13
|
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 d10ba60839074447d983d4d89d2ae03d0dd01998 (commit)
from 057ca4d6726a9456e05c9642671a45beea34266e (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 d10ba60839074447d983d4d89d2ae03d0dd01998
Author: Dave Heller <hel...@us...>
Date: Sun Jul 29 17:38:39 2012 -0400
[ 3541554 ] insecure LD_LIBRARY_PATH usage
-----------------------------------------------------------------------
Summary of changes:
diff --git a/ChangeLog b/ChangeLog
index c96d50d..a5e21f0 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,13 @@
+2012-07-29 Dave Heller <hel...@us...>
+
+ * sfcb.init-none.in, sfcb.init-redhat.in, sfcb.init-suse.in:
+ [ 3541554 ] insecure LD_LIBRARY_PATH usage
+
+2012-07-20 Dave Heller <hel...@us...>
+
+ * classProviderGz.c:
+ [ 3527714 ] Every other EnumerateClasses fails
+
2012-07-10 Michael Chase-Salerno <br...@li...>
* test/stageschema.sh, test/schema/root/interop2/*:
diff --git a/NEWS b/NEWS
index bc906d3..9b24c34 100644
--- a/NEWS
+++ b/NEWS
@@ -15,6 +15,8 @@ Bugs fixed:
- 2966659 Cleanup https daemon remnants
- 3527674 Faster Startup
- 3529879 Fixes for sfcb-ps test script
+- 3527714 Every other EnumerateClasses fails
+- 3541554 insecure LD_LIBRARY_PATH usage
Changes in 1.4.2
================
diff --git a/sfcb.init-none.in b/sfcb.init-none.in
index b777237..8499c87 100644
--- a/sfcb.init-none.in
+++ b/sfcb.init-none.in
@@ -6,10 +6,10 @@
echo $PATH | grep -q @sbindir@ ||PATH=@sbindir@:$PATH
-if [ -z "$LD_LIBRARY_PATH" ] || echo $LD_LIBRARY_PATH | grep -qv @libdir@
+if [ -z "$LD_LIBRARY_PATH" ] || echo $LD_LIBRARY_PATH | grep -qv '@libdir@[/]*\($\|[:]\)'
then
- LD_LIBRARY_PATH=@libdir@:$LD_LIBRARY_PATH
- export LD_LIBRARY_PATH
+ LD_LIBRARY_PATH=@libdir@${LD_LIBRARY_PATH:+:$LD_LIBRARY_PATH}
+ export LD_LIBRARY_PATH
fi
start() {
diff --git a/sfcb.init-redhat.in b/sfcb.init-redhat.in
index 111c022..4f1b25c 100644
--- a/sfcb.init-redhat.in
+++ b/sfcb.init-redhat.in
@@ -15,10 +15,10 @@
echo $PATH | grep -q @sbindir@ ||PATH=@sbindir@:$PATH
-if [ -z "$LD_LIBRARY_PATH" ] || echo $LD_LIBRARY_PATH | grep -qv @libdir@
+if [ -z "$LD_LIBRARY_PATH" ] || echo $LD_LIBRARY_PATH | grep -qv '@libdir@[/]*\($\|[:]\)'
then
- LD_LIBRARY_PATH=@libdir@:$LD_LIBRARY_PATH
- export LD_LIBRARY_PATH
+ LD_LIBRARY_PATH=@libdir@${LD_LIBRARY_PATH:+:$LD_LIBRARY_PATH}
+ export LD_LIBRARY_PATH
fi
start() {
diff --git a/sfcb.init-suse.in b/sfcb.init-suse.in
index 2d2dbb3..0847d11 100644
--- a/sfcb.init-suse.in
+++ b/sfcb.init-suse.in
@@ -15,10 +15,10 @@
echo $PATH | grep -q @sbindir@ ||PATH=@sbindir@:$PATH
-if [ -z "$LD_LIBRARY_PATH" ] || echo $LD_LIBRARY_PATH | grep -qv @libdir@
+if [ -z "$LD_LIBRARY_PATH" ] || echo $LD_LIBRARY_PATH | grep -qv '@libdir@[/]*\($\|[:]\)'
then
- LD_LIBRARY_PATH=@libdir@:$LD_LIBRARY_PATH
- export LD_LIBRARY_PATH
+ LD_LIBRARY_PATH=@libdir@${LD_LIBRARY_PATH:+:$LD_LIBRARY_PATH}
+ export LD_LIBRARY_PATH
fi
start() {
hooks/post-receive
--
SFCB - Small Footprint CIM Broker
|
|
From: Dave H. <hel...@us...> - 2012-07-20 16:05:43
|
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 057ca4d6726a9456e05c9642671a45beea34266e (commit)
from a73f4d580ff22fe0d6f672fdb2f432160b2dc986 (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 057ca4d6726a9456e05c9642671a45beea34266e
Author: Dave Heller <hel...@us...>
Date: Fri Jul 20 12:03:52 2012 -0400
[ 3527714 ] Every other EnumerateClasses fails
-----------------------------------------------------------------------
Summary of changes:
diff --git a/classProviderGz.c b/classProviderGz.c
index 546a100..95d89b2 100644
--- a/classProviderGz.c
+++ b/classProviderGz.c
@@ -63,8 +63,8 @@ struct _Class_Register_FT {
void (*release) (ClassRegister * br);
ClassRegister *(*clone) (ClassRegister * br);
- CMPIConstClass *(*getClass) (ClassRegister * br, const char *clsName,
- void **id);
+ CMPIConstClass *(*getClass) (ClassRegister * br, const char *clsName);
+
int (*putClass) (ClassRegister * br, const char *className,
ClassRecord * cls);
void (*removeClass) (ClassRegister * br,
@@ -96,8 +96,8 @@ struct _Class_Register_FT {
extern Class_Register_FT *ClassRegisterFT;
-static CMPIConstClass *getClass(ClassRegister * cr, const char *clsName,
- void **id);
+static CMPIConstClass *getClass(ClassRegister * cr, const char *clsName);
+
int traverseChildren(ClassRegister * cReg, const char *parent,
const char *child);
@@ -558,7 +558,7 @@ putClass(ClassRegister * cr, const char *cn, ClassRecord * crec)
}
static CMPIConstClass *
-getClass(ClassRegister * cr, const char *clsName, void **id)
+getClass(ClassRegister * cr, const char *clsName)
{
ClassRecord *crec;
int r;
@@ -725,7 +725,7 @@ ClassProviderEnumClassNames(CMPIClassMI * mi,
}
}
} else {
- CMPIConstClass *cls = getClass(cReg, cn, NULL);
+ CMPIConstClass *cls = getClass(cReg, cn);
if (cls == NULL) {
st.rc = CMPI_RC_ERR_INVALID_CLASS;
} else if ((flgs & CMPI_FLAG_DeepInheritance) == 0) {
@@ -754,15 +754,12 @@ loopOnChildren(ClassRegister * cReg, char *cn, const CMPIResult *rslt)
{
UtilList *ul = getChildren(cReg, cn);
char *child;
- void *cid;
if (ul)
for (child = (char *) ul->ft->getFirst(ul); child;
child = (char *) ul->ft->getNext(ul)) {
- CMPIConstClass *cl = getClass(cReg, child, &cid);
+ CMPIConstClass *cl = getClass(cReg, child);
CMReturnInstance(rslt, (CMPIInstance *) cl);
- if (cid == NULL)
- CMRelease(cl);
loopOnChildren(cReg, child, rslt);
}
}
@@ -815,7 +812,7 @@ ClassProviderEnumClasses(CMPIClassMI * mi,
CMRelease(cls);
}
} else {
- cls = getClass(cReg, cn, NULL);
+ cls = getClass(cReg, cn);
if (cls == NULL) {
st.rc = CMPI_RC_ERR_INVALID_CLASS;
} else if ((flgs & CMPI_FLAG_DeepInheritance) == 0) {
@@ -824,10 +821,8 @@ ClassProviderEnumClasses(CMPIClassMI * mi,
if (ul)
for (child = (char *) ul->ft->getFirst(ul); child;
child = (char *) ul->ft->getNext(ul)) {
- cls = getClass(cReg, child, &cid);
+ cls = getClass(cReg, child);
CMReturnInstance(rslt, (CMPIInstance *) cls);
- if (cid == NULL)
- CMRelease(cls);
}
} else if (cn && (flgs & CMPI_FLAG_DeepInheritance)) {
loopOnChildren(cReg, cn, rslt);
@@ -851,7 +846,6 @@ ClassProviderGetClass(CMPIClassMI * mi,
*clLocal;
ClassRegister *cReg;
int rc;
- void *cid;
_SFCB_ENTER(TRACE_PROVIDERS, "ClassProviderGetClass");
_SFCB_TRACE(1, ("--- ClassName=\"%s\"", (char *) cn->hdl));
@@ -868,7 +862,7 @@ ClassProviderGetClass(CMPIClassMI * mi,
* Make a cloned copy of the cached results to prevent thread
* interference.
*/
- clLocal = getClass(cReg, (char *) cn->hdl, &cid);
+ clLocal = getClass(cReg, (char *) cn->hdl);
if (clLocal) {
_SFCB_TRACE(1, ("--- Class found"));
@@ -929,8 +923,7 @@ extern CMPIBoolean isAbstract(CMPIConstClass * cc);
static int
repCandidate(ClassRegister * cReg, char *cn)
{
- void *cid;
- CMPIConstClass *cl = getClass(cReg, cn, &cid);
+ CMPIConstClass *cl = getClass(cReg, cn);
if (isAbstract(cl))
return 0;
ProviderInfo *info;
@@ -948,7 +941,7 @@ repCandidate(ClassRegister * cReg, char *cn)
cn = (char *) cl->ft->getCharSuperClassName(cl);
if (cn == NULL)
break;
- cl = getClass(cReg, cn, &cid);
+ cl = getClass(cReg, cn);
}
_SFCB_RETURN(1);
}
hooks/post-receive
--
SFCB - Small Footprint CIM Broker
|
|
From: Dave H. <hel...@us...> - 2012-07-20 14:10:46
|
Update of /cvsroot/sblim/sfcb
In directory vz-cvs-3.sog:/tmp/cvs-serv1506
Modified Files:
ChangeLog NEWS classProviderGz.c
Log Message:
Fixed 3527714: Every other EnumerateClasses fails
Index: NEWS
===================================================================
RCS file: /cvsroot/sblim/sfcb/NEWS,v
retrieving revision 1.709
retrieving revision 1.710
diff -u -d -r1.709 -r1.710
--- NEWS 19 Jul 2012 17:21:22 -0000 1.709
+++ NEWS 20 Jul 2012 14:10:43 -0000 1.710
@@ -10,6 +10,7 @@
- 3539555 Memory leak in TestInstanceProvider
- 1901737 Memory leak in internalProvider.c
- 3539006 Possible indication deadlock
+- 3527714 Every other EnumerateClasses fails
Changes in 1.3.15
=================
Index: classProviderGz.c
===================================================================
RCS file: /cvsroot/sblim/sfcb/classProviderGz.c,v
retrieving revision 1.20
retrieving revision 1.21
diff -u -d -r1.20 -r1.21
--- classProviderGz.c 17 Dec 2009 20:15:48 -0000 1.20
+++ classProviderGz.c 20 Jul 2012 14:10:43 -0000 1.21
@@ -60,7 +60,7 @@
void (*release) (ClassRegister * br);
ClassRegister *(*clone) (ClassRegister * br);
- CMPIConstClass *(*getClass) (ClassRegister * br, const char *clsName, void **id);
+ CMPIConstClass *(*getClass) (ClassRegister * br, const char *clsName);
int (*putClass) (ClassRegister * br, const char *className, ClassRecord * cls);
void (*removeClass) (ClassRegister * br, const char *className);
void (*releaseClass) (ClassRegister *br, void *id);
@@ -85,7 +85,7 @@
extern Class_Register_FT *ClassRegisterFT;
-static CMPIConstClass *getClass(ClassRegister * cr, const char *clsName, void **id);
+static CMPIConstClass *getClass(ClassRegister * cr, const char *clsName);
int traverseChildren(ClassRegister *cReg, const char *parent, const char *child);
static int nsBaseLen;
@@ -478,7 +478,7 @@
}
-static CMPIConstClass *getClass(ClassRegister * cr, const char *clsName, void **id)
+static CMPIConstClass *getClass(ClassRegister * cr, const char *clsName)
{
ClassRecord *crec;
int r;
@@ -639,7 +639,7 @@
}
}
} else {
- CMPIConstClass *cls = getClass(cReg,cn,NULL);
+ CMPIConstClass *cls = getClass(cReg,cn);
if (cls == NULL) {
st.rc = CMPI_RC_ERR_INVALID_CLASS;
} else if ((flgs & CMPI_FLAG_DeepInheritance)==0) {
@@ -664,12 +664,10 @@
{
UtilList *ul = getChildren(cReg,cn);
char *child;
- void *cid;
if (ul) for (child = (char *) ul->ft->getFirst(ul); child; child = (char *) ul->ft->getNext(ul)) {
- CMPIConstClass *cl = getClass(cReg,child,&cid);
+ CMPIConstClass *cl = getClass(cReg,child);
CMReturnInstance(rslt, (CMPIInstance *) cl);
- if (cid==NULL) CMRelease(cl);
loopOnChildren(cReg,child,rslt);
}
}
@@ -722,16 +720,15 @@
if(cid == NULL) CMRelease(cls);
}
} else {
- cls = getClass(cReg,cn,NULL);
+ cls = getClass(cReg,cn);
if (cls == NULL) {
st.rc = CMPI_RC_ERR_INVALID_CLASS;
} else if ((flgs & CMPI_FLAG_DeepInheritance)==0) {
UtilList *ul = getChildren(cReg,cn);
char *child;
if (ul) for (child = (char *) ul->ft->getFirst(ul); child; child = (char *) ul->ft->getNext(ul)) {
- cls = getClass(cReg,child,&cid);
+ cls = getClass(cReg,child);
CMReturnInstance(rslt, (CMPIInstance *) cls);
- if (cid==NULL) CMRelease(cls);
}
} else if (cn && (flgs & CMPI_FLAG_DeepInheritance)) {
loopOnChildren(cReg, cn, rslt);
@@ -754,7 +751,6 @@
CMPIConstClass *cl, *clLocal;
ClassRegister *cReg;
int rc;
- void *cid;
_SFCB_ENTER(TRACE_PROVIDERS, "ClassProviderGetClass");
_SFCB_TRACE(1,("--- ClassName=\"%s\"",(char *) cn->hdl));
@@ -769,7 +765,7 @@
/* Make a cloned copy of the cached results to prevent
thread interference. */
- clLocal = getClass(cReg, (char *) cn->hdl,&cid);
+ clLocal = getClass(cReg, (char *) cn->hdl);
if (clLocal) {
_SFCB_TRACE(1,("--- Class found"));
@@ -821,8 +817,7 @@
static int repCandidate(ClassRegister *cReg, char *cn)
{
- void *cid;
- CMPIConstClass *cl = getClass(cReg,cn,&cid);
+ CMPIConstClass *cl = getClass(cReg,cn);
if (isAbstract(cl)) return 0;
ProviderInfo *info;
@@ -836,7 +831,7 @@
if (info) _SFCB_RETURN(0);
cn = (char*)cl->ft->getCharSuperClassName(cl);
if (cn==NULL) break;
- cl = getClass(cReg,cn,&cid);
+ cl = getClass(cReg,cn);
}
_SFCB_RETURN(1);
}
Index: ChangeLog
===================================================================
RCS file: /cvsroot/sblim/sfcb/ChangeLog,v
retrieving revision 1.794
retrieving revision 1.795
diff -u -d -r1.794 -r1.795
--- ChangeLog 19 Jul 2012 17:21:22 -0000 1.794
+++ ChangeLog 20 Jul 2012 14:10:43 -0000 1.795
@@ -1,10 +1,14 @@
+2012-07-20 Dave Heller <hel...@us...>
+
+ * classProviderGz.c:
+ [ 3527714 ] Every other EnumerateClasses fails
+
2012-07-19 Michael Chase-Salerno <br...@li...>
* brokerUpc.c, indCIMXMLExport.c, indCIMXMLHandler.c, interopProvider.c,
support.c, support.h:
[ 3539006 ] Possible indication deadlock
-
2012-07-10 Michael Chase-Salerno <br...@li...>
* test/stageschema.sh:
|
|
From: Michael Chase-S. <mc...@us...> - 2012-07-19 17:21:25
|
Update of /cvsroot/sblim/sfcb
In directory vz-cvs-3.sog:/tmp/cvs-serv25819
Modified Files:
ChangeLog NEWS brokerUpc.c indCIMXMLExport.c
indCIMXMLHandler.c interopProvider.c support.c support.h
Log Message:
[ 3539006 ] Possible indication deadlock
Index: indCIMXMLExport.c
===================================================================
RCS file: /cvsroot/sblim/sfcb/indCIMXMLExport.c,v
retrieving revision 1.19
retrieving revision 1.20
diff -u -d -r1.19 -r1.20
--- indCIMXMLExport.c 7 Jun 2012 02:56:09 -0000 1.19
+++ indCIMXMLExport.c 19 Jul 2012 17:21:22 -0000 1.20
@@ -215,6 +215,8 @@
// Fail if we receive an error (HTTP response code >= 300)
rv = curl_easy_setopt(cd->mHandle, CURLOPT_FAILONERROR, 1);
+ rv = curl_easy_setopt(cd->mHandle, CURLOPT_NOSIGNAL, 1);
+
// Turn this on to enable debugging
// rv = curl_easy_setopt(mHandle, CURLOPT_VERBOSE, 1);
Index: ChangeLog
===================================================================
RCS file: /cvsroot/sblim/sfcb/ChangeLog,v
retrieving revision 1.793
retrieving revision 1.794
diff -u -d -r1.793 -r1.794
--- ChangeLog 10 Jul 2012 16:29:04 -0000 1.793
+++ ChangeLog 19 Jul 2012 17:21:22 -0000 1.794
@@ -1,3 +1,10 @@
+2012-07-19 Michael Chase-Salerno <br...@li...>
+
+ * brokerUpc.c, indCIMXMLExport.c, indCIMXMLHandler.c, interopProvider.c,
+support.c, support.h:
+ [ 3539006 ] Possible indication deadlock
+
+
2012-07-10 Michael Chase-Salerno <br...@li...>
* test/stageschema.sh:
Index: interopProvider.c
===================================================================
RCS file: /cvsroot/sblim/sfcb/interopProvider.c,v
retrieving revision 1.66
retrieving revision 1.67
diff -u -d -r1.66 -r1.67
--- interopProvider.c 5 Jul 2012 23:04:47 -0000 1.66
+++ interopProvider.c 19 Jul 2012 17:21:22 -0000 1.67
@@ -90,6 +90,12 @@
static UtilHashTable *handlerHt = NULL;
static UtilHashTable *subscriptionHt = NULL;
+// Mutex's to protect the hash tables
+static pthread_mutex_t filterHTlock = PTHREAD_MUTEX_INITIALIZER;
+static pthread_mutex_t handlerHTlock = PTHREAD_MUTEX_INITIALIZER;
+static pthread_mutex_t subHTlock = PTHREAD_MUTEX_INITIALIZER;
+static pthread_mutex_t subDelLock = PTHREAD_MUTEX_INITIALIZER;
+
/* for indication delivery */
static long MAX_IND_THREADS;
static long IND_THREAD_TO;
@@ -142,6 +148,7 @@
_SFCB_ENTER(TRACE_INDPROVIDER, "addSubscription");
+ pthread_mutex_lock(&subHTlock);
if (subscriptionHt == NULL) {
subscriptionHt=UtilFactory->newHashTable(61,UtilHashTable_charKey);
subscriptionHt->ft->setReleaseFunctions(subscriptionHt, free, NULL);
@@ -150,7 +157,10 @@
_SFCB_TRACE(1,("-- Subscription: %s\n",key));
su=subscriptionHt->ft->get(subscriptionHt,key);
- if (su) _SFCB_RETURN(NULL);
+ if (su) {
+ pthread_mutex_unlock(&subHTlock);
+ _SFCB_RETURN(su);
+ }
su=(Subscription*)malloc(sizeof(Subscription));
su->sci=CMClone(ci,NULL);
@@ -160,6 +170,7 @@
ha->useCount++;
subscriptionHt->ft->put(subscriptionHt,key,su);
+ pthread_mutex_unlock(&subHTlock);
_SFCB_RETURN(su);
}
@@ -186,6 +197,7 @@
{
_SFCB_ENTER(TRACE_INDPROVIDER, "removeSubscription");
+ pthread_mutex_lock(&subHTlock);
if (subscriptionHt) {
subscriptionHt->ft->remove(subscriptionHt,key);
if (su) {
@@ -194,10 +206,13 @@
}
}
if (su) {
- CMRelease(su->sci);
+ if (su->sci) {
+ CMRelease(su->sci);
+ }
free (su);
}
+ pthread_mutex_unlock(&subHTlock);
_SFCB_EXIT();
}
@@ -219,13 +234,17 @@
_SFCB_TRACE(1,("--- Filter: >%s<",key));
_SFCB_TRACE(1,("--- query: >%s<",query));
+ pthread_mutex_lock(&filterHTlock);
if (filterHt==NULL) {
filterHt=UtilFactory->newHashTable(61,UtilHashTable_charKey);
filterHt->ft->setReleaseFunctions(filterHt, free, NULL);
}
fi=filterHt->ft->get(filterHt,key);
- if (fi) _SFCB_RETURN(NULL);
+ if (fi) {
+ pthread_mutex_unlock(&filterHTlock);
+ _SFCB_RETURN(NULL);
+ }
fi=(Filter*)malloc(sizeof(Filter));
fi->fci=CMClone(ci,NULL);
@@ -238,6 +257,7 @@
else fi->snsa = NULL;
fi->type=NULL;
filterHt->ft->put(filterHt,key,fi);
+ pthread_mutex_unlock(&filterHTlock);
_SFCB_RETURN(fi);
}
@@ -265,6 +285,7 @@
{
_SFCB_ENTER(TRACE_INDPROVIDER, "removeFilter");
+ pthread_mutex_lock(&filterHTlock);
if (filterHt) {
filterHt->ft->remove(filterHt,key);
}
@@ -278,6 +299,7 @@
free (fi);
}
+ pthread_mutex_unlock(&filterHTlock);
_SFCB_EXIT();
}
@@ -292,6 +314,7 @@
_SFCB_ENTER(TRACE_INDPROVIDER, "addHandler");
+ pthread_mutex_lock(&handlerHTlock);
if (handlerHt==NULL) {
handlerHt=UtilFactory->newHashTable(61,UtilHashTable_charKey);
handlerHt->ft->setReleaseFunctions(handlerHt, free, NULL);
@@ -304,6 +327,7 @@
if ((ha=handlerHt->ft->get(handlerHt,key))!=NULL) {
_SFCB_TRACE(1,("--- Handler already registered %p",ha));
if(key) free(key);
+ pthread_mutex_unlock(&handlerHTlock);
_SFCB_RETURN(NULL);
}
@@ -313,6 +337,7 @@
ha->useCount=0;
handlerHt->ft->put(handlerHt,key,ha);
+ pthread_mutex_unlock(&handlerHTlock);
_SFCB_RETURN(ha);
}
@@ -339,6 +364,7 @@
{
_SFCB_ENTER(TRACE_INDPROVIDER, "removeHandler");
+ pthread_mutex_lock(&handlerHTlock);
if (handlerHt) {
handlerHt->ft->remove(handlerHt,key);
}
@@ -348,6 +374,7 @@
free (ha);
}
+ pthread_mutex_unlock(&handlerHTlock);
_SFCB_EXIT();
}
@@ -370,10 +397,12 @@
_SFCB_TRACE(1,("--- Handler: %s",key));
+ pthread_mutex_lock(&handlerHTlock);
// do we need to check??
if ((ha=handlerHt->ft->get(handlerHt,key))==NULL) {
_SFCB_TRACE(1,("--- No handler %p",ha));
if(key) free(key);
+ pthread_mutex_unlock(&handlerHTlock);
_SFCB_RETURN(NULL);
}
@@ -383,6 +412,7 @@
ha->hop=CMClone(op,NULL);
handlerHt->ft->put(handlerHt,key,ha);
+ pthread_mutex_unlock(&handlerHTlock);
_SFCB_RETURN(ha);
}
@@ -1164,10 +1194,12 @@
/*check if SubscriptionState changed
enable/disableIndication */
+ pthread_mutex_lock(&subHTlock);
su=getSubscription(key);
free(key);
if(!su) {
st.rc = CMPI_RC_ERR_NOT_FOUND;
+ pthread_mutex_unlock(&subHTlock);
return st;
}
oldInst = su->sci;
@@ -1182,6 +1214,7 @@
getControlNum("MaxActiveSubscriptions", &cfgmax);
if (AScount+1 > cfgmax) {
setStatus(&st,CMPI_RC_ERR_FAILED,"Subscription activation would exceed MaxActiveSubscription limit");
+ pthread_mutex_unlock(&subHTlock);
return st;
}
switchIndications(ctx, ci, OPS_EnableIndications);
@@ -1195,6 +1228,7 @@
/*replace the instance in the hashtable*/
CMRelease(su->sci);
su->sci=CMClone(ci,NULL);
+ pthread_mutex_unlock(&subHTlock);
}
else if(isa("root/interop", cns, "cim_listenerdestination")) {
@@ -1252,6 +1286,7 @@
_SFCB_ENTER(TRACE_INDPROVIDER, "InteropProviderDeleteInstance");
if(isa(nss, cns, "cim_indicationsubscription")) {
+ pthread_mutex_lock(&subDelLock);
_SFCB_TRACE(1,("--- delete cim_indicationsubscription %s",key));
if ((su=getSubscription(key))) {
fi=su->fi;
@@ -1278,6 +1313,7 @@
removeSubscription(su,key);
}
else setStatus(&st,CMPI_RC_ERR_NOT_FOUND,NULL);
+ pthread_mutex_unlock(&subDelLock);
}
else if (isa(nss, cns, "cim_indicationfilter")) {
@@ -1403,6 +1439,7 @@
CMRelease(ind); /* this is ok since AddArg will make a copy */
CMAddArg(hin,"nameSpace",ns,CMPI_chars);
+ pthread_mutex_lock(&subHTlock);
if (subscriptionHt) for (i = subscriptionHt->ft->getFirst(subscriptionHt,
(void**)&suName, (void**)&su); i;
i = subscriptionHt->ft->getNext(subscriptionHt,i,
@@ -1442,6 +1479,7 @@
}
}
+ pthread_mutex_unlock(&subHTlock);
}
else if (strcasecmp(methodName, "_addHandler") == 0) {
Index: support.c
===================================================================
RCS file: /cvsroot/sblim/sfcb/support.c,v
retrieving revision 1.41
retrieving revision 1.42
diff -u -d -r1.41 -r1.42
--- support.c 5 Jul 2012 23:04:47 -0000 1.41
+++ support.c 19 Jul 2012 17:21:22 -0000 1.42
@@ -1099,3 +1099,16 @@
if (hostnameLib) dlclose(hostnameLib);
return;
}
+
+CMPIContext * prepareNorespCtx(const CMPIContext *ctx)
+{
+ /*
+ * used to allow calls without waiting for the response to be returned
+ */
+ CMPIContext *ctxLocal;
+ ctxLocal = native_clone_CMPIContext(ctx);
+ CMPIValue val;
+ val.boolean = 1;
+ ctxLocal->ft->addEntry(ctxLocal, "noResp", &val, CMPI_boolean);
+ return ctxLocal;
+}
Index: indCIMXMLHandler.c
===================================================================
RCS file: /cvsroot/sblim/sfcb/indCIMXMLHandler.c,v
retrieving revision 1.55
retrieving revision 1.56
diff -u -d -r1.55 -r1.56
--- indCIMXMLHandler.c 3 Jul 2012 02:00:22 -0000 1.55
+++ indCIMXMLHandler.c 19 Jul 2012 17:21:22 -0000 1.56
@@ -37,6 +37,7 @@
#include "native.h"
#include "control.h"
#include "instance.h"
+#include "support.h"
extern void closeProviderContext(BinRequestContext* ctx);
extern int exportIndication(char *url, char *payload, char **resp, char **msg);
@@ -794,7 +795,8 @@
// 2, delete the sub; 3, disable the sub; otherwise, nothing
if (ract == 2 ) {
_SFCB_TRACE(1,("--- Subscription threshold reached, deleting."));
- CBDeleteInstance(_broker, ctx, cur->sub);
+ CMPIContext *ctxDel = prepareNorespCtx(ctx);
+ CBDeleteInstance(_broker, ctxDel, cur->sub);
purge=cur;
cur=cur->next;
dqRetry(ctx,purge);
Index: NEWS
===================================================================
RCS file: /cvsroot/sblim/sfcb/NEWS,v
retrieving revision 1.708
retrieving revision 1.709
diff -u -d -r1.708 -r1.709
--- NEWS 9 Jul 2012 18:34:17 -0000 1.708
+++ NEWS 19 Jul 2012 17:21:22 -0000 1.709
@@ -9,6 +9,7 @@
- 3539557 Memory leak in providerDrv with property list
- 3539555 Memory leak in TestInstanceProvider
- 1901737 Memory leak in internalProvider.c
+- 3539006 Possible indication deadlock
Changes in 1.3.15
=================
Index: brokerUpc.c
===================================================================
RCS file: /cvsroot/sblim/sfcb/brokerUpc.c,v
retrieving revision 1.41
retrieving revision 1.42
diff -u -d -r1.41 -r1.42
--- brokerUpc.c 17 May 2012 21:45:11 -0000 1.41
+++ brokerUpc.c 19 Jul 2012 17:21:22 -0000 1.42
@@ -254,6 +254,9 @@
ctxData=CMGetContextEntry(ctx,CMPIInvocationFlags,NULL);
bHdr->flags=ctxData.value.Int;
bHdr->sessionId=ctx->ft->getEntry(ctx,"CMPISessionId",NULL).value.uint32;
+ ctxData = ctx->ft->getEntry(ctx, "noResp", NULL);
+ binCtx->noResp = (ctxData.state == CMPI_nullValue) ? 0 : ctxData.value.boolean;
+
binCtx->oHdr = oHdr;
binCtx->bHdr = bHdr;
@@ -757,7 +760,7 @@
const CMPIContext * context, const CMPIObjectPath * cop)
{
BinRequestContext binCtx;
- BinResponseHdr *resp;
+ BinResponseHdr *resp = NULL;
DeleteInstanceReq sreq = BINREQ(OPS_DeleteInstance, DI_REQ_REG_SEGMENTS);
OperationHdr oHdr = { OPS_DeleteInstance, 2 };
CMPIStatus st = { CMPI_RC_OK, NULL };
@@ -803,9 +806,11 @@
resp = invokeProvider(&binCtx);
closeProviderContext(&binCtx);
- resp->rc--;
- buildStatus(resp,&st);
- free(resp);
+ if (resp) {
+ resp->rc--;
+ buildStatus(resp,&st);
+ free(resp);
+ }
}
else st = setErrorStatus(irc);
Index: support.h
===================================================================
RCS file: /cvsroot/sblim/sfcb/support.h,v
retrieving revision 1.16
retrieving revision 1.17
diff -u -d -r1.16 -r1.17
--- support.h 10 Mar 2009 19:18:19 -0000 1.16
+++ support.h 19 Jul 2012 17:21:22 -0000 1.17
@@ -226,6 +226,8 @@
char* sfcb_snprintf(const char* fmt, ...);
+CMPIContext * prepareNorespCtx(const CMPIContext *ctx);
+
#if defined(__ia64__)
#define PADDING_LEN(s) ( (s)%sizeof(void *) ? sizeof(void *) - (s)%sizeof(void *) : 0)
#else
|
|
From: Tyrel D. <ty...@us...> - 2012-07-19 05:37:37
|
Update of /cvsroot/sblim/gather/provider
In directory vz-cvs-3.sog:/tmp/cvs-serv21837/provider
Modified Files:
OSBase_MetricUtil.c
Log Message:
Fixed 3545751: BaseMetricValue.Volatile should be false
Index: OSBase_MetricUtil.c
===================================================================
RCS file: /cvsroot/sblim/gather/provider/OSBase_MetricUtil.c,v
retrieving revision 1.20
retrieving revision 1.21
diff -u -d -r1.20 -r1.21
--- OSBase_MetricUtil.c 17 May 2012 01:02:42 -0000 1.20
+++ OSBase_MetricUtil.c 19 Jul 2012 05:37:34 -0000 1.21
@@ -864,6 +864,7 @@
char * namesp;
CMPIDateTime * datetime;
CMPIString * valstring;
+ unsigned char CMPI_false = 0;
namesp=CMGetCharPtr(CMGetNameSpace(cop,NULL));
if (metricValueClassName(broker,ctx,namesp,valclsname,defname,defid)) {
@@ -901,6 +902,8 @@
valstring = val2string(broker,val,datatype);
if (valstring)
CMSetProperty(ci,"MetricValue",&valstring,CMPI_string);
+
+ CMSetProperty(ci,"Volatile",&CMPI_false,CMPI_boolean);
}
}
return ci;
|