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-06-25 17:27:25
|
This is an automated email from the git hooks/post-receive script. It was
generated because a ref change was pushed to the repository containing
the project "SFCB - Small Footprint CIM Broker".
The branch, master has been updated
via 7ec7ffe9ddfd787c1a9df94aecf6a7f529bffe91 (commit)
from 8423c96e7c9a04236a0d4becef70bdb64d3669c0 (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 7ec7ffe9ddfd787c1a9df94aecf6a7f529bffe91
Author: Narasimha Sharoff <nsh...@us...>
Date: Mon Jun 25 10:25:18 2012 -0700
[ 3534977 ] sfcb custom library and hostname
-----------------------------------------------------------------------
Summary of changes:
diff --git a/ChangeLog b/ChangeLog
index 162c9be..6321ae0 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,10 @@
+2012-06-25 Narasimha Sharoff <nsh...@us...>
+
+ * cimslpCMPI.c, cimXmlGen.c, cimXmlGen.h, cimXmlRequest.c,
+ control.c, Makefile.am, providerMgr.h, sfcb.cfg.pre.in,
+ sfcBroker.c, sfcCustomLib.c, support.c:
+ [ 3534977 ] sfcb custom library and hostname
+
2012-06-15 Chris Buccella <buc...@li...>
* cimXmlParser.c:
diff --git a/Makefile.am b/Makefile.am
index f4dd810..8ebf6e4 100644
--- a/Makefile.am
+++ b/Makefile.am
@@ -92,11 +92,7 @@ HTTP_ADAPTER_LIBS = libsfcHttpAdapter.la
HTTP_ADAPTER_LIBS_LINK = -lsfcHttpAdapter
endif
-if SLP_HOSTNAME_LIB
-SLP_HOSTNAME_LIBS = libsfcSlpHostname.la
-else
-SLP_HOSTNAME_LIBS =
-endif
+SFC_CUSTOM_LIB = libsfcCustomLib.la
if QUALREP
QUALREP_LIBS = libsfcQualifierProvider.la
@@ -150,7 +146,7 @@ sfcblib_LTLIBRARIES = \
$(QUALREP_LIBS) \
$(INDICATION_LIBS) \
$(PAM_LIBS) \
- $(SLP_HOSTNAME_LIBS) \
+ $(SFC_CUSTOM_LIB) \
$(ACCOUNT_PASSTHRU_LIBS)
if TEST_ENABLED
@@ -244,10 +240,8 @@ libsfcHttpAdapter_la_LIBADD=-lsfcBrokerCore $(CIMXMLCODEC_LIBS_LINK)
libsfcHttpAdapter_la_DEPENDENCIES=libsfcBrokerCore.la $(CIMXMLCODEC_LIBS)
endif
-#if SLP_HOSTNAME_LIB
-libsfcSlpHostname_la_SOURCES = \
- sfcSlpHostname.c
-#endif
+libsfcCustomLib_la_SOURCES = \
+ sfcCustomLib.c
libsfcBasicAuthentication_la_SOURCES = \
sfcBasicAuthentication.c
diff --git a/NEWS b/NEWS
index 5509fca..de21215 100644
--- a/NEWS
+++ b/NEWS
@@ -101,6 +101,7 @@ New Features:
- 3513390 Enforce LD and subscription limits
- 3527920 RI and http responsecodes
- 3534659 Match SfcbLocal to sfcc update
+- 3534977 sfcb custom library and hostname
Bugs Fixed:
- 3514627 unsupported sfcb.cfg param - use exit call
diff --git a/cimRequest.c b/cimRequest.c
index 58a0ac6..bd8dbdb 100644
--- a/cimRequest.c
+++ b/cimRequest.c
@@ -505,11 +505,14 @@ genEnumResponses(BinRequestContext * binCtx,
sb = UtilFactory->newStrinBuffer(1024);
if (binCtx->oHdr->type == OPS_EnumerateClassNames)
- enum2xml(enm, sb, binCtx->type, XML_asClassName, binCtx->bHdr->flags);
+ enum2xml(enm, sb, binCtx->type, XML_asClassName, binCtx->bHdr->flags,
+ binCtx->httpHost);
else if (binCtx->oHdr->type == OPS_EnumerateClasses)
- enum2xml(enm, sb, binCtx->type, XML_asClass, binCtx->bHdr->flags);
+ enum2xml(enm, sb, binCtx->type, XML_asClass, binCtx->bHdr->flags,
+ binCtx->httpHost);
else
- enum2xml(enm, sb, binCtx->type, binCtx->xmlAs, binCtx->bHdr->flags);
+ enum2xml(enm, sb, binCtx->type, binCtx->xmlAs, binCtx->bHdr->flags,
+ binCtx->httpHost);
_SFCB_RETURN(sb);
}
@@ -599,7 +602,7 @@ genFirstChunkResponses(BinRequestContext * binCtx,
UtilStringBuffer *sb;
RespSegments rs;
- _SFCB_ENTER(TRACE_CIMXMLPROC, "genResponses");
+ _SFCB_ENTER(TRACE_CIMXMLPROC, "genFirstChunkResponses");
sb = genEnumResponses(binCtx, resp, arrlen);
@@ -635,7 +638,7 @@ genLastChunkResponses(BinRequestContext * binCtx,
UtilStringBuffer *sb;
RespSegments rs;
- _SFCB_ENTER(TRACE_CIMXMLPROC, "genResponses");
+ _SFCB_ENTER(TRACE_CIMXMLPROC, "genLastChunkResponses");
sb = genEnumResponses(binCtx, resp, arrlen);
@@ -786,6 +789,7 @@ enumClassNames(CimRequestContext * ctx, RequestHdr * hdr)
_SFCB_ENTER(TRACE_CIMXMLPROC, "enumClassNames");
hdr->binCtx->commHndl = ctx->commHndl;
+ hdr->binCtx->httpHost = ctx->host;
_SFCB_TRACE(1, ("--- Getting Provider context"));
irc = getProviderContext(hdr->binCtx);
@@ -831,6 +835,7 @@ enumClasses(CimRequestContext * ctx, RequestHdr * hdr)
hdr->binCtx->commHndl = ctx->commHndl;
hdr->binCtx->chunkFncs = ctx->chunkFncs;
+ hdr->binCtx->httpHost = ctx->host;
_SFCB_TRACE(1, ("--- Getting Provider context"));
irc = getProviderContext(hdr->binCtx);
@@ -1046,6 +1051,7 @@ enumInstanceNames(CimRequestContext * ctx, RequestHdr * hdr)
RespSegments rs;
_SFCB_TRACE(1, ("--- Getting Provider context"));
+ hdr->binCtx->httpHost = ctx->host;
irc = getProviderContext(hdr->binCtx);
_SFCB_TRACE(1, ("--- Provider context gotten"));
@@ -1092,6 +1098,7 @@ enumInstances(CimRequestContext * ctx, RequestHdr * hdr)
hdr->binCtx->commHndl = ctx->commHndl;
hdr->binCtx->chunkFncs = ctx->chunkFncs;
+ hdr->binCtx->httpHost = ctx->host;
_SFCB_TRACE(1, ("--- Getting Provider context"));
irc = getProviderContext(hdr->binCtx);
@@ -1141,6 +1148,7 @@ execQuery(CimRequestContext * ctx, RequestHdr * hdr)
hdr->binCtx->commHndl = ctx->commHndl;
hdr->binCtx->chunkFncs = ctx->chunkFncs;
+ hdr->binCtx->httpHost = ctx->host;
if (ctx->teTrailers == 0)
hdr->chunkedMode = hdr->binCtx->chunkedMode = 0;
@@ -1197,6 +1205,7 @@ associatorNames(CimRequestContext * ctx, RequestHdr * hdr)
hdr->binCtx->commHndl = ctx->commHndl;
hdr->binCtx->chunkFncs = ctx->chunkFncs;
hdr->chunkedMode = hdr->binCtx->chunkedMode = 0;
+ hdr->binCtx->httpHost = ctx->host;
_SFCB_TRACE(1, ("--- Getting Provider context"));
irc = getProviderContext(hdr->binCtx);
@@ -1238,6 +1247,7 @@ associators(CimRequestContext * ctx, RequestHdr * hdr)
hdr->binCtx->commHndl = ctx->commHndl;
hdr->binCtx->chunkFncs = ctx->chunkFncs;
+ hdr->binCtx->httpHost = ctx->host;
if (ctx->teTrailers == 0)
hdr->chunkedMode = hdr->binCtx->chunkedMode = 0;
@@ -1295,6 +1305,7 @@ referenceNames(CimRequestContext * ctx, RequestHdr * hdr)
BinResponseHdr **resp;
hdr->binCtx->commHndl = ctx->commHndl;
+ hdr->binCtx->httpHost = ctx->host;
_SFCB_TRACE(1, ("--- Getting Provider context"));
irc = getProviderContext(hdr->binCtx);
@@ -1336,6 +1347,7 @@ references(CimRequestContext * ctx, RequestHdr * hdr)
hdr->binCtx->commHndl = ctx->commHndl;
hdr->binCtx->chunkFncs = ctx->chunkFncs;
+ hdr->binCtx->httpHost = ctx->host;
if (ctx->teTrailers == 0)
hdr->chunkedMode = hdr->binCtx->chunkedMode = 0;
diff --git a/cimXmlGen.c b/cimXmlGen.c
index 46f056a..95ebed7 100644
--- a/cimXmlGen.c
+++ b/cimXmlGen.c
@@ -51,6 +51,7 @@ extern CMPIData opGetKeyCharsAt(CMPIObjectPath * cop, unsigned int index,
extern CMPIData __ift_internal_getPropertyAt(const CMPIInstance *ci,
CMPICount i, char **name,
CMPIStatus *rc, int readonly);
+extern int getCustomHostname(char *httpHost, char **hn, unsigned int len);
const char *opGetClassNameChars(CMPIObjectPath * cop);
@@ -620,7 +621,7 @@ lnsPath2xml(CMPIObjectPath * ci, UtilStringBuffer * sb)
}
static int
-nsPath2xml(CMPIObjectPath * ci, UtilStringBuffer * sb)
+nsPath2xml(CMPIObjectPath * ci, UtilStringBuffer * sb, char *httpHost)
{
_SFCB_ENTER(TRACE_CIMXMLPROC, "nsPath2xml");
char *hn = CMGetCharPtr(CMGetHostname(ci, NULL));
@@ -632,13 +633,9 @@ nsPath2xml(CMPIObjectPath * ci, UtilStringBuffer * sb)
sb->ft->appendChars(sb, hn);
} else {
// get the hostname
- hn = malloc(HOST_NAME_MAX);
- if (gethostname(hn, HOST_NAME_MAX) == 0) {
- sb->ft->appendChars(sb, hn);
- } else {
- // Using localhost
- SFCB_APPENDCHARS_BLOCK(sb, "localhost");
- }
+ hn = calloc(1,HOST_NAME_MAX);
+ getCustomHostname(httpHost, &hn, HOST_NAME_MAX);
+ sb->ft->appendChars(sb, hn);
free(hn);
}
SFCB_APPENDCHARS_BLOCK(sb, "</HOST>\n");
@@ -672,7 +669,7 @@ refValue2xml(CMPIObjectPath * ci, UtilStringBuffer * sb)
char *hn = CMGetCharPtr(CMGetHostname(ci, NULL));
if (hn && *hn && ns && *ns) {
SFCB_APPENDCHARS_BLOCK(sb, "<INSTANCEPATH>\n");
- nsPath2xml(ci, sb);
+ nsPath2xml(ci, sb, NULL);
} else if (ns && *ns) {
SFCB_APPENDCHARS_BLOCK(sb, "<LOCALINSTANCEPATH>\n");
lnsPath2xml(ci, sb);
@@ -1148,7 +1145,7 @@ className2xml(CMPIObjectPath * op, UtilStringBuffer * sb)
int
enum2xml(CMPIEnumeration *enm, UtilStringBuffer * sb, CMPIType type,
- int xmlAs, unsigned int flags)
+ int xmlAs, unsigned int flags, char *httpHost)
{
CMPIObjectPath *cop;
CMPIInstance *ci;
@@ -1164,7 +1161,7 @@ enum2xml(CMPIEnumeration *enm, UtilStringBuffer * sb, CMPIType type,
else if (xmlAs == XML_asObjectPath) {
SFCB_APPENDCHARS_BLOCK(sb, "<OBJECTPATH>\n");
SFCB_APPENDCHARS_BLOCK(sb, "<INSTANCEPATH>\n");
- nsPath2xml(cop, sb);
+ nsPath2xml(cop, sb, httpHost);
instanceName2xml(cop, sb);
SFCB_APPENDCHARS_BLOCK(sb, "</INSTANCEPATH>\n");
SFCB_APPENDCHARS_BLOCK(sb, "</OBJECTPATH>\n");
@@ -1179,7 +1176,7 @@ enum2xml(CMPIEnumeration *enm, UtilStringBuffer * sb, CMPIType type,
if (xmlAs == XML_asObj) {
SFCB_APPENDCHARS_BLOCK(sb, "<VALUE.OBJECTWITHPATH>\n");
SFCB_APPENDCHARS_BLOCK(sb, "<INSTANCEPATH>\n");
- nsPath2xml(cop, sb);
+ nsPath2xml(cop, sb, httpHost);
} else
SFCB_APPENDCHARS_BLOCK(sb, "<VALUE.NAMEDINSTANCE>\n");
instanceName2xml(cop, sb);
diff --git a/cimXmlGen.h b/cimXmlGen.h
index fb76691..3580f44 100644
--- a/cimXmlGen.h
+++ b/cimXmlGen.h
@@ -50,7 +50,8 @@ extern int instance2xml(CMPIInstance *ci, UtilStringBuffer * sb,
unsigned int flags);
extern int args2xml(CMPIArgs * args, UtilStringBuffer * sb);
extern int enum2xml(CMPIEnumeration *enm, UtilStringBuffer * sb,
- CMPIType type, int xmlAs, unsigned int flags);
+ CMPIType type, int xmlAs, unsigned int flags,
+ char *httpHost);
extern int qualiEnum2xml(CMPIEnumeration *enm, UtilStringBuffer * sb);
extern CMPIValue union2CMPIValue(CMPIType type, char *val,
XtokValueArray * arr);
diff --git a/cimslpCMPI.c b/cimslpCMPI.c
index b974efb..ad16cf0 100644
--- a/cimslpCMPI.c
+++ b/cimslpCMPI.c
@@ -38,6 +38,8 @@ extern void libraryName(const char *dir, const char *location,
extern char *configfile;
CMPIContext *prepareUpcall(const CMPIContext *ctx);
+extern int getCustomSlpHostname(char **hn)
+
// helper function ... until better solution is found to get to the
// interop Namespace
char **
@@ -249,28 +251,6 @@ getSLPData(cimomConfig cfg, const CMPIBroker *_broker,
// to the calling function
char *sn;
-#ifdef SLP_HOSTNAME_LIB
- static void *hostnameLib = NULL;
- static getSlpHostname gethostname;
- char *ln;
- char dlName[512];
- int err;
-
- err = 1;
- if (getControlChars("slpHostnamelib", &ln) == 0) {
- libraryName(NULL, ln, dlName, 512);
- if ((hostnameLib = dlopen(dlName, RTLD_LAZY))) {
- gethostname = dlsym(hostnameLib, "_sfcGetSlpHostname");
- if (gethostname)
- err = 0;
- }
- }
- if (err)
- mlogf(M_ERROR, M_SHOW,
- "--- SLP Hostname exit %s not found. Defaulting to system hostname.\n",
- dlName);
-#endif
-
_SFCB_ENTER(TRACE_SLP, "getSLPData");
memset(&rs, 0, sizeof(cimSLPService));
@@ -290,17 +270,7 @@ getSLPData(cimomConfig cfg, const CMPIBroker *_broker,
sn = myGetProperty(ci[0], "SystemName");
#ifdef SLP_HOSTNAME_LIB
- if (!err) {
- char *tmp;
- if ((err = gethostname(&tmp))) {
- free(sn);
- sn = tmp;
- } else {
- printf
- ("-#- SLP call to %s for hostname failed. Defaulting to system hostname.\n",
- dlName);
- }
- }
+ getCustomSlpHostname(char **sn);
#endif
rs.url_syntax = getUrlSyntax(sn, cfg.commScheme, cfg.port);
rs.service_hi_name = myGetProperty(ci[0], "ElementName");
diff --git a/control.c b/control.c
index d89f4c3..ff3903b 100644
--- a/control.c
+++ b/control.c
@@ -71,9 +71,9 @@ Control init[] = {
#ifdef HAVE_SLP
{"enableSlp", 2, "true"},
{"slpRefreshInterval", 1, "600"},
- {"slpHostnameLib", 0, "sfcSlpHostname"},
#endif
{"provProcs", 1, "32"},
+ {"sfcbCustomLib", 0, "sfcCustomLib"},
{"basicAuthLib", 0, "sfcBasicAuthentication"},
{"basicAuthEntry", 0, "_sfcBasicAuthenticate"},
{"doBasicAuth", 2, "false"},
diff --git a/providerMgr.h b/providerMgr.h
index 1c4d91a..53244de 100644
--- a/providerMgr.h
+++ b/providerMgr.h
@@ -139,6 +139,7 @@ typedef struct binRequestContext {
CMPIType type;
ProvAddr provA;
ProvAddr *pAs;
+ char *httpHost;
unsigned long pCount,
pDone;
unsigned long rCount;
diff --git a/sfcBroker.c b/sfcBroker.c
index 7d2e4b7..e293b89 100644
--- a/sfcBroker.c
+++ b/sfcBroker.c
@@ -73,6 +73,9 @@ extern void uninitSocketPairs();
extern void sunsetControl();
extern void uninitGarbageCollector();
+extern int loadHostnameLib();
+extern void unloadHostnameLib();
+
extern TraceId traceIds[];
extern unsigned long exFlags;
@@ -255,6 +258,8 @@ stopBroker(void *p)
_SFCB_TRACE_STOP();
+ unloadHostnameLib();
+
if (restartBroker) {
char *emsg = strerror(errno);
execvp("sfcbd", restartArgv);
@@ -865,6 +870,11 @@ main(int argc, char *argv[])
startHttp = 1;
}
+ if (loadHostnameLib() == -1) {
+ printf("--- Failed to load sfcCustomLib. Exiting\n");
+ exit(1);
+ }
+
initSem(pSockets);
initProvProcCtl(pSockets);
init_sfcBroker();
diff --git a/sfcb.cfg.pre.in b/sfcb.cfg.pre.in
index e3c55a1..545a779 100644
--- a/sfcb.cfg.pre.in
+++ b/sfcb.cfg.pre.in
@@ -56,6 +56,10 @@ useChunking: true
## Default is 100000000
#httpMaxContentLength: 100000000
+## Customization library - user can modify the logic of one or more routine(s)
+## But, do not remove any functions or change the function signature.
+sfcbCustomLib: sfcCustomLib
+
## Enable basic authentication for HTTP and HTTPS connections
## Default is false
doBasicAuth: false
@@ -253,13 +257,6 @@ sslCiphers: ALL:!ADH:!LOW:!EXP:!MD5:@STRENGTH
## Default is 600
#slpRefreshInterval: 600
-## Name of the library that will return the hostname to use in the SLP
-## useful if current system hostname is not valid for advertisment.
-## You probably don't need this. See example, sfcSlpHostname.c.
-## Only applies if configured with --enable-slp-hostname-lib.
-## Default is sfcSlpHostname
-#slpHostnameLib: sfcSlpHostname
-
##------------------------------------ Trace ----------------------------------
diff --git a/support.c b/support.c
index 4eb69f1..e9ba2d4 100644
--- a/support.c
+++ b/support.c
@@ -37,6 +37,7 @@
#include "native.h"
#include "trace.h"
#include "config.h"
+#include "control.h"
#include <pthread.h>
#ifdef SFCB_IX86
@@ -1088,6 +1089,71 @@ sfcb_snprintf(const char *fmt, ...)
va_end(ap);
return str;
}
+
+/* If config hostnameLib=true, get custom hostname */
+extern void libraryName(const char *dir, const char *location,
+ const char *fullName, int buf_size);
+typedef int (*getSfcbHostname)(char *httpHost, char **hostname,
+ unsigned int len);
+typedef int (*getSfcbSlpHostname)(char **hostname);
+static void *hostnameLib;
+static getSfcbHostname sfcbHostname;
+static getSfcbSlpHostname sfcbSlpHostname;
+int loadHostnameLib()
+{
+ char *ln;
+ char dlName[512];
+ char *err;
+
+ hostnameLib = NULL;
+ if (getControlChars("sfcbCustomLib", &ln) == 0) {
+ libraryName(NULL, ln, dlName, 512);
+ if ((hostnameLib = dlopen(dlName, RTLD_LAZY))) {
+ dlerror();
+ sfcbHostname = dlsym(hostnameLib, "_sfcbGetResponseHostname");
+ if ((err = dlerror()) != NULL) {
+ printf("dlsym failed for _sfcbGetResponseHostname: %s\n", err);
+ dlclose(hostnameLib);
+ return -1;
+ }
+ dlerror();
+ sfcbSlpHostname = dlsym(hostnameLib, "_sfcGetSlpHostname");
+ if ((err = dlerror()) != NULL) {
+ printf("dlsym failed for _sfcbGetSlpHostname: %s\n", err);
+ dlclose(hostnameLib);
+ return -1;
+ }
+ }
+ else {
+ printf("dlopen failed for sfcbCustomLib\n");
+ return -1;
+ }
+ }
+ else {
+ printf("Cannot find the libary to open: %s\n", ln);
+ return -1;
+ }
+
+ return 0;
+}
+
+int getCustomHostname(char *httpHost, char **hn, unsigned int len)
+{
+ if (sfcbHostname) return(sfcbHostname(httpHost, hn, len));
+ return -1;
+}
+
+int getCustomSlpHostname(char **hn)
+{
+ if (sfcbSlpHostname) return(sfcbSlpHostname(hn));
+}
+
+void unloadHostnameLib()
+{
+ if (hostnameLib) dlclose(hostnameLib);
+ return;
+}
+
/* MODELINES */
/* DO NOT EDIT BELOW THIS COMMENT */
/* Modelines are added by 'make pretty' */
hooks/post-receive
--
SFCB - Small Footprint CIM Broker
|
|
From: Dave H. <hel...@us...> - 2012-06-24 01:06:55
|
Update of /cvsroot/sblim/jsr48-client/src/org/sblim/cimclient
In directory vz-cvs-3.sog:/tmp/cvs-serv1739/src/org/sblim/cimclient
Modified Files:
Tag: Experimental
WBEMListenerSBLIM.java
Log Message:
3529065 - Enable WBEMListener get/setProperty
Index: WBEMListenerSBLIM.java
===================================================================
RCS file: /cvsroot/sblim/jsr48-client/src/org/sblim/cimclient/WBEMListenerSBLIM.java,v
retrieving revision 1.5.2.14
retrieving revision 1.5.2.15
diff -u -d -r1.5.2.14 -r1.5.2.15
--- WBEMListenerSBLIM.java 1 Jun 2012 17:49:37 -0000 1.5.2.14
+++ WBEMListenerSBLIM.java 24 Jun 2012 01:06:52 -0000 1.5.2.15
@@ -31,7 +31,6 @@
package org.sblim.cimclient;
-import java.io.File;
import java.io.IOException;
import java.net.BindException;
import java.util.Enumeration;
@@ -102,7 +101,7 @@
setProperty(key, value);
}
}
- WBEMConfiguration config = iConfiguration;
+ WBEMConfiguration config = WBEMListenerSBLIM.this.iConfiguration;
if (!(pIndicationListener instanceof IndicationListener)
&& !(pIndicationListener instanceof IndicationListenerSBLIM)) throw new IllegalArgumentException(
"Listener must be instance of IndicationListener or IndicationListenerSBLIM");
@@ -169,7 +168,7 @@
}
- private final WBEMConfiguration iConfiguration = new
+ protected final WBEMConfiguration iConfiguration = new
WBEMConfiguration(new Properties());
private Map<Integer, WBEMListenerImpl> iPortMap = new HashMap<Integer, WBEMListenerImpl>();
|
|
From: Narasimha S. <nsh...@us...> - 2012-06-21 17:58:15
|
Update of /cvsroot/sblim/sfcb
In directory vz-cvs-3.sog:/tmp/cvs-serv21672
Modified Files:
interopProvider.c
Log Message:
[ 3532494 ] interopProvider not honoring SourceNamespaces[] correctly
Index: interopProvider.c
===================================================================
RCS file: /cvsroot/sblim/sfcb/interopProvider.c,v
retrieving revision 1.63
retrieving revision 1.64
diff -u -d -r1.63 -r1.64
--- interopProvider.c 21 Jun 2012 16:45:40 -0000 1.63
+++ interopProvider.c 21 Jun 2012 17:58:13 -0000 1.64
@@ -445,7 +445,7 @@
strcpy(tmpns,
CMGetCharPtr(CMGetArrayElementAt(fi->snsa, j, NULL).value.string));
fi->sns = tmpns; /* replacing the sns pointer */
- printf("NSN:RemoveThis->activating filter ns[%d]:%s\n",j,fi->sns);
+ _SFCB_TRACE(4, ("--- activating filter ns[%d]:%s",j,fi->sns));
}
if (rrc) *rrc=0;
path = TrackedCMPIObjectPath(fi->sns, cn, &rc);
|
|
From: Narasimha S. <nsh...@us...> - 2012-06-21 16:51:10
|
Update of /cvsroot/sblim/sfcb In directory vz-cvs-3.sog:/tmp/cvs-serv13396 Modified Files: ChangeLog NEWS Log Message: [ 3532494 ] interopProvider not honoring SourceNamespaces[] correctly Index: NEWS =================================================================== RCS file: /cvsroot/sblim/sfcb/NEWS,v retrieving revision 1.699 retrieving revision 1.700 diff -u -d -r1.699 -r1.700 --- NEWS 15 Jun 2012 20:34:09 -0000 1.699 +++ NEWS 21 Jun 2012 16:51:08 -0000 1.700 @@ -11,6 +11,7 @@ - 3531210 Allow indication delivery timeout tuning - 3534659 Match SfcbLocal to sfcc update - 3334977 sfcb custom library and hostname +- 3532494 interopProvider not honoring SourceNamespaces[] correctly Bugs fixed: Index: ChangeLog =================================================================== RCS file: /cvsroot/sblim/sfcb/ChangeLog,v retrieving revision 1.783 retrieving revision 1.784 diff -u -d -r1.783 -r1.784 --- ChangeLog 20 Jun 2012 18:49:48 -0000 1.783 +++ ChangeLog 21 Jun 2012 16:51:08 -0000 1.784 @@ -1,3 +1,10 @@ +2012-06-21 Narasimha Sharoff <nsh...@us...> + + * cimcClientSfcbLocal.c, cimXmlRequest.c, interopProvider.c, + providerDrv.c, queryOperation.h, queryStatement.c, + selectexp.c: + [ 3532494 ] interopProvider not honoring SourceNamespaces[] correctly + 2012-06-20 Chris Buccella <buc...@li...> * test/TestProviders/cmpiTestIndicationProvider.c, |
|
From: Narasimha S. <nsh...@us...> - 2012-06-21 16:50:16
|
Update of /cvsroot/sblim/sfcb
In directory vz-cvs-3.sog:/tmp/cvs-serv12286
Modified Files:
queryOperation.h queryStatement.c selectexp.c
Log Message:
[ 3532494 ] interopProvider not honoring SourceNamespaces[] correctly
Signed-off-by: Narasimha Sharoff <nsh...@us...>
Index: queryOperation.h
===================================================================
RCS file: /cvsroot/sblim/sfcb/queryOperation.h,v
retrieving revision 1.12
retrieving revision 1.13
diff -u -d -r1.12 -r1.13
--- queryOperation.h 11 May 2012 20:05:11 -0000 1.12
+++ queryOperation.h 21 Jun 2012 16:50:14 -0000 1.13
@@ -250,6 +250,7 @@
unsigned int allocMode,allocNext,allocMax;
void **allocList;
char *sns;
+ CMPIArray *snsa;
};
struct qlCollector {
@@ -263,7 +264,7 @@
QLCollector *collector;
};
-extern QLStatement *parseQuery(int mode, const char *query, const char *lang, const char *sns, int *rc);
+extern QLStatement *parseQuery(int mode, const char *query, const char *lang, const char *sns, CMPIArray *snsa, int *rc);
#endif
Index: selectexp.c
===================================================================
RCS file: /cvsroot/sblim/sfcb/selectexp.c,v
retrieving revision 1.11
retrieving revision 1.12
diff -u -d -r1.11 -r1.12
--- selectexp.c 2 Oct 2007 09:02:11 -0000 1.11
+++ selectexp.c 21 Jun 2012 16:50:14 -0000 1.12
@@ -147,7 +147,7 @@
/*fprintf(stderr,"*** new select expression: %s %s\n",queryString, language);*/
- exp.qs=parseQuery(mode,(char*)queryString, (char*)language, (char*) sns, &irc);
+ exp.qs=parseQuery(mode,(char*)queryString, (char*)language, (char*) sns, NULL, &irc);
if (irc) {
if (rc) CMSetStatus(rc, CMPI_RC_ERR_INVALID_QUERY);
return NULL;
Index: queryStatement.c
===================================================================
RCS file: /cvsroot/sblim/sfcb/queryStatement.c,v
retrieving revision 1.17
retrieving revision 1.18
diff -u -d -r1.17 -r1.18
--- queryStatement.c 11 May 2012 20:05:11 -0000 1.17
+++ queryStatement.c 21 Jun 2012 16:50:14 -0000 1.18
@@ -158,6 +158,7 @@
if(st->sns) {
free(st->sns);
}
+ if (st->snsa) CMRelease(st->snsa);
/* free everything but the first element of allocList, which is
* the memory allocated for the QLStatement itself, see
* newQLStatement(...). The struct is then freed after the loop */
@@ -240,7 +241,7 @@
};
-QLStatement *parseQuery(int mode, const char *query, const char *lang, const char *sns, int *rc)
+QLStatement *parseQuery(int mode, const char *query, const char *lang, const char *sns, CMPIArray *snsa, int *rc)
{
QLStatement *qs=NULL;
QLCollector ctlFt={
@@ -269,6 +270,10 @@
if (sns) qs->sns=strdup(sns);
else sns=NULL;
+
+ /* copy the Sourcenamespaces[] array*/
+ if (snsa) qs->snsa=snsa->ft->clone(snsa, NULL);
+ else qs->snsa=NULL;
return qs;
}
|
|
From: Narasimha S. <nsh...@us...> - 2012-06-21 16:48:52
|
Update of /cvsroot/sblim/sfcb
In directory vz-cvs-3.sog:/tmp/cvs-serv12167
Modified Files:
providerDrv.c
Log Message:
[ 3532494 ] interopProvider not honoring SourceNamespaces[] correctly
Signed-off-by: Narasimha Sharoff <nsh...@us...>
Index: providerDrv.c
===================================================================
RCS file: /cvsroot/sblim/sfcb/providerDrv.c,v
retrieving revision 1.116
retrieving revision 1.117
diff -u -d -r1.116 -r1.117
--- providerDrv.c 11 Apr 2012 22:55:17 -0000 1.116
+++ providerDrv.c 21 Jun 2012 16:48:49 -0000 1.117
@@ -2069,7 +2069,7 @@
CMPICount i,c;
int ok=1;
- qs=parseQuery(MEM_TRACKED,(char*)req->query.data,(char*)req->queryLang.data,NULL,&irc);
+ qs=parseQuery(MEM_TRACKED,(char*)req->query.data,(char*)req->queryLang.data,NULL,NULL,&irc);
if (irc) {
rci.rc=CMPI_RC_ERR_INVALID_QUERY;
resp = errorResp(&rci);
|
|
From: Narasimha S. <nsh...@us...> - 2012-06-21 16:47:01
|
Update of /cvsroot/sblim/sfcb
In directory vz-cvs-3.sog:/tmp/cvs-serv12085
Modified Files:
cimcClientSfcbLocal.c cimXmlRequest.c
Log Message:
[ 3532494 ] interopProvider not honoring SourceNamespaces[] correctly
Signed-off-by: Narasimha Sharoff <nsh...@us...>
Index: cimcClientSfcbLocal.c
===================================================================
RCS file: /cvsroot/sblim/sfcb/cimcClientSfcbLocal.c,v
retrieving revision 1.47
retrieving revision 1.48
diff -u -d -r1.47 -r1.48
--- cimcClientSfcbLocal.c 12 Jun 2012 19:12:56 -0000 1.47
+++ cimcClientSfcbLocal.c 21 Jun 2012 16:46:59 -0000 1.48
@@ -781,7 +781,7 @@
CMPIString *ns=cop->ft->getNameSpace(cop,NULL);
oHdr.nameSpace=setCharsMsgSegment((char*)ns->hdl);
- qs=parseQuery(MEM_TRACKED,query,lang,NULL,&irc);
+ qs=parseQuery(MEM_TRACKED,query,lang,NULL,NULL,&irc);
if (irc) {
CIMCSetStatusWithChars(rc, CMPI_RC_ERR_INVALID_QUERY,
Index: cimXmlRequest.c
===================================================================
RCS file: /cvsroot/sblim/sfcb/cimXmlRequest.c,v
retrieving revision 1.73
retrieving revision 1.74
diff -u -d -r1.73 -r1.74
--- cimXmlRequest.c 13 Jun 2012 21:21:09 -0000 1.73
+++ cimXmlRequest.c 21 Jun 2012 16:46:59 -0000 1.74
@@ -1568,7 +1568,7 @@
hdr->className=req->op.className.data;
qs=parseQuery(MEM_TRACKED,(char*)req->op.query.data,
- (char*)req->op.queryLang.data,NULL,&irc);
+ (char*)req->op.queryLang.data,NULL,NULL,&irc);
fCls=qs->ft->getFromClassList(qs);
if (irc) {
|
|
From: Narasimha S. <nsh...@us...> - 2012-06-21 16:45:43
|
Update of /cvsroot/sblim/sfcb
In directory vz-cvs-3.sog:/tmp/cvs-serv12001
Modified Files:
interopProvider.c
Log Message:
[ 3532494 ] interopProvider not honoring SourceNamespaces[] correctly
Signed-off-by: Narasimha Sharoff <nsh...@us...>
Index: interopProvider.c
===================================================================
RCS file: /cvsroot/sblim/sfcb/interopProvider.c,v
retrieving revision 1.62
retrieving revision 1.63
diff -u -d -r1.62 -r1.63
--- interopProvider.c 7 Jun 2012 20:27:13 -0000 1.62
+++ interopProvider.c 21 Jun 2012 16:45:40 -0000 1.63
@@ -71,6 +71,7 @@
char *lang;
char *type;
char *sns;
+ CMPIArray* snsa;
} Filter;
typedef struct handler {
@@ -208,7 +209,8 @@
QLStatement * qs,
const char * query,
const char * lang,
- const char * sns)
+ const char * sns,
+ const CMPIArray *snsa)
{
Filter * fi;
@@ -232,6 +234,8 @@
fi->query=strdup(query);
fi->lang=strdup(lang);
fi->sns=strdup(sns);
+ if (snsa) fi->snsa=snsa->ft->clone(snsa, NULL);
+ else fi->snsa = NULL;
fi->type=NULL;
filterHt->ft->put(filterHt,key,fi);
_SFCB_RETURN(fi);
@@ -270,6 +274,7 @@
free(fi->query);
free(fi->lang);
free(fi->sns);
+ if (fi->snsa) CMRelease(fi->snsa);
free (fi);
}
@@ -423,73 +428,93 @@
_SFCB_ENTER(TRACE_INDPROVIDER, "genericSubscriptionRequest");
_SFCB_TRACE(4, ("principal %s, class %s, type %s, optype %d",principal, cn, type, optype));
+
+ /*
+ * Use SourceNamespaces[] when provided. Iterate through the array
+ * of namespaces and activate filters.
+ *
+ * SourceNameSpace is used only when the SourceNamespaces[] is null
+ */
+ int n,j;
+ char *save_sns = fi->sns; /* Save original fi->sns */
+ char *tmpns = malloc(512); /* Length of namespace */
+ if (fi->snsa == NULL) n = 1; /* SourceNamespace when array is NULL */
+ else n = CMGetArrayCount(fi->snsa, NULL);
+ for (j=0; j < n; j++) {
+ if (fi->snsa != NULL) {
+ strcpy(tmpns,
+ CMGetCharPtr(CMGetArrayElementAt(fi->snsa, j, NULL).value.string));
+ fi->sns = tmpns; /* replacing the sns pointer */
+ printf("NSN:RemoveThis->activating filter ns[%d]:%s\n",j,fi->sns);
+ }
+ if (rrc) *rrc=0;
+ path = TrackedCMPIObjectPath(fi->sns, cn, &rc);
- if (rrc) *rrc=0;
- path = TrackedCMPIObjectPath(fi->sns, cn, &rc);
-
- sreq.principal = setCharsMsgSegment(principal);
- sreq.objectPath = setObjectPathMsgSegment(path);
- sreq.query = setCharsMsgSegment(fi->query);
- sreq.language = setCharsMsgSegment(fi->lang);
- sreq.type = setCharsMsgSegment((char*)type);
- fi->type=strdup(type);
- sreq.sns = setCharsMsgSegment(fi->sns);
- sreq.filterId=fi;
+ sreq.principal = setCharsMsgSegment(principal);
+ sreq.objectPath = setObjectPathMsgSegment(path);
+ sreq.query = setCharsMsgSegment(fi->query);
+ sreq.language = setCharsMsgSegment(fi->lang);
+ sreq.type = setCharsMsgSegment((char*)type);
+ fi->type=strdup(type);
+ sreq.sns = setCharsMsgSegment(fi->sns);
+ sreq.filterId=fi;
- req.nameSpace = setCharsMsgSegment(fi->sns);
- req.className = setCharsMsgSegment((char*) cn);
+ req.nameSpace = setCharsMsgSegment(fi->sns);
+ req.className = setCharsMsgSegment((char*) cn);
- memset(&binCtx,0,sizeof(BinRequestContext));
- binCtx.oHdr = &req;
- binCtx.bHdr = &sreq.hdr;
- binCtx.bHdrSize = sizeof(sreq);
- binCtx.chunkedMode=binCtx.xmlAs=0;
+ memset(&binCtx,0,sizeof(BinRequestContext));
+ binCtx.oHdr = &req;
+ binCtx.bHdr = &sreq.hdr;
+ binCtx.bHdrSize = sizeof(sreq);
+ binCtx.chunkedMode=binCtx.xmlAs=0;
- _SFCB_TRACE(1, ("--- getProviderContext for %s-%s",fi->sns,cn));
+ _SFCB_TRACE(1, ("--- getProviderContext for %s-%s",fi->sns,cn));
- irc = getProviderContext(&binCtx, &req);
+ irc = getProviderContext(&binCtx, &req);
- if (irc == MSG_X_PROVIDER) {
- _SFCB_TRACE(1, ("--- Invoking Providers"));
- /* one good provider makes success */
- resp = invokeProviders(&binCtx,&err,&cnt);
- if (err == 0) {
- setStatus(&st,0,NULL);
- } else {
- setStatus(&st,resp[err-1]->rc,NULL);
- for (i=0; i<binCtx.pCount; i++) {
- if (resp[i]->rc == 0) {
- setStatus(&st,0,NULL);
- break;
- }
- }
- }
- }
-
- else {
- if (rrc) *rrc=irc;
- if (irc==MSG_X_PROVIDER_NOT_FOUND) setStatus(&st,CMPI_RC_ERR_FAILED,
- "No eligible indication provider found");
- else {
- char msg[512];
- snprintf(msg,511,"Failing to find eligible indication provider. Rc: %d",irc);
- setStatus(&st,CMPI_RC_ERR_FAILED,msg);
- }
- }
+ if (irc == MSG_X_PROVIDER) {
+ _SFCB_TRACE(1, ("--- Invoking Providers"));
+ /* one good provider makes success */
+ resp = invokeProviders(&binCtx,&err,&cnt);
+ if (err == 0) {
+ setStatus(&st,0,NULL);
+ } else {
+ setStatus(&st,resp[err-1]->rc,NULL);
+ for (i=0; i<binCtx.pCount; i++) {
+ if (resp[i]->rc == 0) {
+ setStatus(&st,0,NULL);
+ break;
+ }
+ }
+ }
+ }
+ else {
+ if (rrc) *rrc=irc;
+ if (irc==MSG_X_PROVIDER_NOT_FOUND) setStatus(&st,CMPI_RC_ERR_FAILED,
+ "No eligible indication provider found");
+ else {
+ char msg[512];
+ snprintf(msg,511,"Failing to find eligible indication provider. Rc: %d",irc);
+ setStatus(&st,CMPI_RC_ERR_FAILED,msg);
+ }
+ }
- if (resp) {
- cnt = binCtx.pCount;
- while (cnt--) {
- if (resp[cnt]) {
- free(resp[cnt]);
+ if (resp) {
+ cnt = binCtx.pCount;
+ while (cnt--) {
+ if (resp[cnt]) {
+ free(resp[cnt]);
+ }
+ }
+ free(resp);
+ closeProviderContext(&binCtx);
}
- }
- free(resp);
- closeProviderContext(&binCtx);
- }
- if(fi->type) {
- free(fi->type);
- }
+ if (fi->type) {
+ free(fi->type);
+ }
+ }
+ fi->sns = save_sns; /* restore back fi->sns */
+ if (tmpns) free(tmpns);
_SFCB_RETURN(st);
}
@@ -542,7 +567,7 @@
" or no provider found");
_SFCB_RETURN(-1);
}
-
+
setStatus(st, CMPI_RC_OK, NULL);
_SFCB_RETURN(0);
}
@@ -692,6 +717,7 @@
CMPIObjectPath *cop;
CMPIContext *ctxLocal;
char *key,*query,*lng,*sns;
+ CMPIArray *snsa = NULL;
QLStatement *qs=NULL;
int rc;
@@ -710,9 +736,10 @@
query=(char*)CMGetProperty(ci,"query",&st).value.string->hdl;
lng=(char*)CMGetProperty(ci,"querylanguage",&st).value.string->hdl;
sns=(char*)CMGetProperty(ci,"SourceNamespace",&st).value.string->hdl;
- qs=parseQuery(MEM_NOT_TRACKED,query,lng,sns,&rc);
+ snsa=ci->ft->getProperty(ci,"SourceNamespaces",&st).value.array;
+ qs=parseQuery(MEM_NOT_TRACKED,query,lng,sns,snsa,&rc);
key=normalizeObjectPathCharsDup(cop);
- addFilter(ci,key,qs,query,lng,sns);
+ addFilter(ci,key,qs,query,lng,sns,snsa);
}
CMRelease(enm);
}
@@ -1031,6 +1058,9 @@
sns = CMGetArrayElementAt(snsa, 0, NULL).value.string;
valSNS.string = sns;
ciLocal->ft->setProperty(ciLocal, "SourceNamespace", &valSNS, CMPI_string);
+ valSNS.array = snsa;
+ ciLocal->ft->setProperty(ciLocal, "SourceNamespaces", &valSNS, CMPI_stringA);
+
CMSetStatus(&st, CMPI_RC_OK);
}
// If SourceNamespaces isn't set, use the SourceNamespace
@@ -1074,7 +1104,7 @@
_SFCB_RETURN(st);
}
- qs=parseQuery(MEM_NOT_TRACKED,(char*)query->hdl,lng,(char*)sns->hdl,&rc);
+ qs=parseQuery(MEM_NOT_TRACKED,(char*)query->hdl,lng,(char*)sns->hdl,snsa,&rc);
if (rc) {
free(key);
setStatus(&st,CMPI_RC_ERR_INVALID_QUERY,"Query parse error");
@@ -1082,7 +1112,7 @@
_SFCB_RETURN(st);
}
- addFilter(ciLocal,key,qs,(char*)query->hdl,lng,(char*)sns->hdl);
+ addFilter(ciLocal,key,qs,(char*)query->hdl,lng,(char*)sns->hdl,snsa);
}
else {
|
|
From: Dave B. <bla...@us...> - 2012-06-21 12:28:35
|
Update of /cvsroot/sblim/jsr48-client In directory vz-cvs-3.sog:/tmp/cvs-serv7363 Modified Files: NEWS sblim-cim-client2.properties Log Message: 3524050 - Improve WWW-Authenticate in HTTPClient.java Index: NEWS =================================================================== RCS file: /cvsroot/sblim/jsr48-client/NEWS,v retrieving revision 1.309 retrieving revision 1.310 diff -u -d -r1.309 -r1.310 --- NEWS 20 Jun 2012 18:09:50 -0000 1.309 +++ NEWS 21 Jun 2012 12:28:32 -0000 1.310 @@ -1,5 +1,6 @@ Changes in HEAD ================ +3524050 Improve WWW-Authenticate in HTTPClient.java 3529065 Enable WBEMListener get/setProperty 3529062 WBEMListenerFactory should return new instance 3527580 WBEMClient should not throw IllegalArgumentException Index: sblim-cim-client2.properties =================================================================== RCS file: /cvsroot/sblim/jsr48-client/sblim-cim-client2.properties,v retrieving revision 1.28 retrieving revision 1.29 diff -u -d -r1.28 -r1.29 --- sblim-cim-client2.properties 25 May 2012 11:20:59 -0000 1.28 +++ sblim-cim-client2.properties 21 Jun 2012 12:28:32 -0000 1.29 @@ -170,6 +170,23 @@ # #sblim.wbem.httpAuthModule=org.sblim.cimclient.internal.http.WwwAuthInfo +# The WWW-Authenticate information to use when sending the first request +# to a server. +# +# Note: This string must exactly match what the server returns in the +# WWW-Authenticate field of an HTTP 401 response when authentication +# fails. The following two strings are examples: +# +# Basic realm="Secure Area" +# Digest realm="tes...@ho...",qop="auth,auth-int",nonce="dcd98b7102dd2f0e8b11d0f600bfb0c093",opaque="5ccc069c403ebaf9f0171e9517f40e41" +# +# Type: String +# Recognition: On next authentication +# Range: Basic, Digest +# Default: none +# +#sblim.wbem.httpWwwAuthenticateInfo= + # Specifies if MPOST is used for transmitting http messages. If false, POST is used. # # Type: Boolean |
|
From: Chris B. <buc...@us...> - 2012-06-20 18:49:50
|
Update of /cvsroot/sblim/sfcb/test
In directory vz-cvs-3.sog:/tmp/cvs-serv5319/test
Modified Files:
stageschema.sh
Log Message:
test case for [ 3532494 ] interopProvider not honoring SourceNamespaces[] correctly
Index: stageschema.sh
===================================================================
RCS file: /cvsroot/sblim/sfcb/test/stageschema.sh,v
retrieving revision 1.4
retrieving revision 1.5
diff -u -d -r1.4 -r1.5
--- stageschema.sh 6 Nov 2009 23:16:13 -0000 1.4
+++ stageschema.sh 20 Jun 2012 18:49:48 -0000 1.5
@@ -21,7 +21,7 @@
echo "usage: $0 [-p prefix] [ -d testschemadir] [ -u ] " 1>&2
}
-NAMESPACE_DIRS="root/cimv2 root/interop"
+NAMESPACE_DIRS="root/cimv2 root/interop root/interop2"
unstage=0
args=`getopt p:d:u $*`
|
|
From: Chris B. <buc...@us...> - 2012-06-20 18:48:39
|
Update of /cvsroot/sblim/sfcb In directory vz-cvs-3.sog:/tmp/cvs-serv5298 Modified Files: ChangeLog Log Message: test case for [ 3532494 ] interopProvider not honoring SourceNamespaces[] correctly Index: ChangeLog =================================================================== RCS file: /cvsroot/sblim/sfcb/ChangeLog,v retrieving revision 1.781 retrieving revision 1.782 diff -u -d -r1.781 -r1.782 --- ChangeLog 15 Jun 2012 20:34:09 -0000 1.781 +++ ChangeLog 20 Jun 2012 18:48:37 -0000 1.782 @@ -1,3 +1,13 @@ +2012-06-20 Chris Buccella <buc...@li...> + + * test/TestProviders/cmpiTestIndicationProvider.c, + test/TestProviders/tests/IndRetryTest.sh, + test/TestProviders/tests/IndTest1CreateFilter.xml, + test/schema/root/interop/Test_Indication.reg, + schema/root/interop2/Test_Indication.mof: + [ 3532494 ] interopProvider not honoring SourceNamespaces[] correctly + Setting up test case for additional source namespace + 2012-06-15 Chris Buccella <buc...@li...> * cimAccountPassThroughProvider.c: |
|
From: Chris B. <buc...@us...> - 2012-06-20 18:47:47
|
Update of /cvsroot/sblim/sfcb/test/schema/root/interop2
In directory vz-cvs-3.sog:/tmp/cvs-serv5258/test/schema/root/interop2
Added Files:
Test_Indication.mof
Log Message:
test case for [ 3532494 ] interopProvider not honoring SourceNamespaces[] correctly
--- NEW FILE: Test_Indication.mof ---
[Indication]
class Test_Indication : CIM_ProcessIndication
{
string MethodName;
[Static] uint32 SendTestIndication();
};
|
|
From: Chris B. <buc...@us...> - 2012-06-20 18:47:20
|
Update of /cvsroot/sblim/sfcb/test/TestProviders
In directory vz-cvs-3.sog:/tmp/cvs-serv5229/test/TestProviders
Modified Files:
cmpiTestIndicationProvider.c
Log Message:
test case for [ 3532494 ] interopProvider not honoring SourceNamespaces[] correctly
Index: cmpiTestIndicationProvider.c
===================================================================
RCS file: /cvsroot/sblim/sfcb/test/TestProviders/cmpiTestIndicationProvider.c,v
retrieving revision 1.3
retrieving revision 1.4
diff -u -d -r1.3 -r1.4
--- cmpiTestIndicationProvider.c 13 Feb 2012 23:10:20 -0000 1.3
+++ cmpiTestIndicationProvider.c 20 Jun 2012 18:47:18 -0000 1.4
@@ -14,6 +14,8 @@
unsigned char CMPI_false = 0;
static int enabled = 0;
+static int activated = 0;
+static int activated2 = 0;
static int _nextUID = 0;
@@ -28,7 +30,7 @@
CMPIStatus rc;
char buffer[32];
- if (enabled)
+ if (enabled && activated)
{
cop =
CMNewObjectPath (broker, "root/interop",
@@ -55,6 +57,45 @@
fprintf (stderr, "+++ generateIndication() done\n");
}
+static void
+generateIndication2 (const char *methodname, const CMPIContext * ctx)
+{
+
+ CMPIInstance *inst;
+ CMPIObjectPath *cop;
+ CMPIDateTime *dat;
+ CMPIArray *ar;
+ CMPIStatus rc;
+ char buffer[32];
+
+ if (enabled && activated2)
+ {
+ cop =
+ CMNewObjectPath (broker, "root/interop2",
+ "Test_Indication", &rc);
+ inst = CMNewInstance (broker, cop, &rc);
+
+ sprintf (buffer, "%d", _nextUID++);
+ CMSetProperty (inst, "IndicationIdentifier", buffer, CMPI_chars);
+
+ dat = CMNewDateTime (broker, &rc);
+ CMSetProperty (inst, "IndicationTime", &dat, CMPI_dateTime);
+
+ CMSetProperty (inst, "MethodName", methodname, CMPI_chars);
+
+ ar = CMNewArray (broker, 0, CMPI_string, &rc);
+ CMSetProperty (inst, "CorrelatedIndications", &ar, CMPI_stringA);
+
+ rc = CBDeliverIndication (broker, ctx, "root/interop", inst);
+ if (rc.rc != CMPI_RC_OK)
+ {
+ fprintf (stderr, "+++ Could not send the indication!\n");
+ }
+ }
+ fprintf (stderr, "+++ generateIndication() done\n");
+}
+
+
//----------------------------------------------------------
//---
// Method Provider
@@ -84,6 +125,7 @@
else
{
generateIndication (method, ctx);
+ generateIndication2(method, ctx);
}
value.uint32 = 0;
@@ -129,7 +171,14 @@
const CMPISelectExp * exp, const char *clsName,
const CMPIObjectPath * classPath, CMPIBoolean firstActivation)
{
- fprintf (stderr, "+++ indProvActivateFilter()\n");
+ char* op = CMGetCharPtr(CMObjectPathToString(classPath, NULL));
+ fprintf (stderr, "+++ indProvActivateFilter() for %s\n", op);
+
+ if (strcmp(op, "root/interop:Test_Indication") == 0)
+ activated = 1;
+ else if (strcmp(op, "root/interop2:Test_Indication") == 0)
+ activated2 = 1;
+
CMReturn (CMPI_RC_OK);
}
@@ -138,7 +187,14 @@
const CMPISelectExp * filter, const char *clsName,
const CMPIObjectPath * classPath, CMPIBoolean lastActivation)
{
- fprintf (stderr, "+++ indProvDeActivateFilter\n");
+ char* op = CMGetCharPtr(CMObjectPathToString(classPath, NULL));
+ fprintf (stderr, "+++ indProvDeActivateFilter for %s\n", op);
+
+ if (strcmp(op, "root/interop:Test_Indication") == 0)
+ activated = 0;
+ else if (strcmp(op, "root/interop2:Test_Indication") == 0)
+ activated2 = 0;
+
CMReturn (CMPI_RC_OK);
}
|
|
From: Chris B. <buc...@us...> - 2012-06-20 18:40:03
|
Update of /cvsroot/sblim/sfcb/test/schema/root/interop2 In directory vz-cvs-3.sog:/tmp/cvs-serv4050/schema/root/interop2 Log Message: Directory /cvsroot/sblim/sfcb/test/schema/root/interop2 added to the repository |
|
From: Dave H. <hel...@us...> - 2012-06-20 18:09:52
|
Update of /cvsroot/sblim/jsr48-client/utst/org/sblim/cimclient/unittest/wbem
In directory vz-cvs-3.sog:/tmp/cvs-serv1795/utst/org/sblim/cimclient/unittest/wbem
Modified Files:
WBEMListenerTest.java
Log Message:
3529065 - Enable WBEMListener get/setProperty
Index: WBEMListenerTest.java
===================================================================
RCS file: /cvsroot/sblim/jsr48-client/utst/org/sblim/cimclient/unittest/wbem/WBEMListenerTest.java,v
retrieving revision 1.2
retrieving revision 1.3
diff -u -d -r1.2 -r1.3
--- WBEMListenerTest.java 13 Jun 2012 23:23:18 -0000 1.2
+++ WBEMListenerTest.java 20 Jun 2012 18:09:50 -0000 1.3
@@ -15,12 +15,14 @@
* Flag Date Prog Description
*-------------------------------------------------------------------------------
* 3529062 2012-05-23 blaschke-oss WBEMListenerFactory should return new instance
+ * 3529065 2012-05-31 hellerda Enable WBEMListener get/setProperty
*/
package org.sblim.cimclient.unittest.wbem;
import javax.wbem.client.WBEMClientConstants;
import javax.wbem.listener.WBEMListener;
+import javax.wbem.listener.WBEMListenerConstants;
import javax.wbem.listener.WBEMListenerFactory;
import org.sblim.cimclient.unittest.TestCase;
@@ -34,10 +36,41 @@
* Tests if the listener factory returns unique instances
*/
public void testListenerInstance() {
+ String pw1 = "passw0rd", pw2 = "abc123";
+
WBEMListener listener1 = WBEMListenerFactory
.getListener(WBEMClientConstants.PROTOCOL_CIMXML);
WBEMListener listener2 = WBEMListenerFactory
.getListener(WBEMClientConstants.PROTOCOL_CIMXML);
verify("Listener instances not different!", !listener1.equals(listener2));
+
+ // Uninitialized props should be same (null or empty string)
+ String testProperty = WBEMListenerConstants.PROP_LISTENER_KEYSTORE;
+ String prop1 = listener1.getProperty(testProperty);
+ String prop2 = listener2.getProperty(testProperty);
+ verify("Uninitialized property \'" + testProperty +"\' not null!",
+ prop1 == null && prop2 == null);
+
+ testProperty = WBEMListenerConstants.PROP_LISTENER_KEYSTORE_PASSWORD;
+ prop1 = listener1.getProperty(testProperty);
+ prop2 = listener2.getProperty(testProperty);
+ verify("Uninitialized property \'" + testProperty +"\' not empty string!",
+ prop1 == "" && prop2 == "");
+
+ testProperty = WBEMListenerConstants.PROP_LISTENER_TRUSTSTORE;
+ prop1 = listener1.getProperty(testProperty);
+ prop2 = listener2.getProperty(testProperty);
+ verify("Uninitialized property \'" + testProperty +"\' not null!",
+ prop1 == null && prop2 == null);
+
+ // Initialized props should not collide
+ listener1.setProperty(WBEMListenerConstants.PROP_LISTENER_KEYSTORE_PASSWORD, pw1);
+ listener2.setProperty(WBEMListenerConstants.PROP_LISTENER_KEYSTORE_PASSWORD, pw2);
+ prop1 = listener1.getProperty(WBEMListenerConstants.PROP_LISTENER_KEYSTORE_PASSWORD);
+ prop2 = listener2.getProperty(WBEMListenerConstants.PROP_LISTENER_KEYSTORE_PASSWORD);
+ verify("Initialized property not as expected! " + pw1 + " vs " + prop1, pw1
+ .equalsIgnoreCase(prop1));
+ verify("Initialized property not as expected! " + pw2 + " vs " + prop2, pw2
+ .equalsIgnoreCase(prop2));
}
}
|
|
From: Chris B. <buc...@us...> - 2012-06-15 20:34:11
|
Update of /cvsroot/sblim/sfcb In directory vz-cvs-3.sog:/tmp/cvs-serv1610 Modified Files: cimAccountPassthroughProvider.c ChangeLog NEWS Log Message: [ 3520694 ] compile errors in cimAccountPassthroughProvider.c Index: NEWS =================================================================== RCS file: /cvsroot/sblim/sfcb/NEWS,v retrieving revision 1.698 retrieving revision 1.699 diff -u -d -r1.698 -r1.699 --- NEWS 14 Jun 2012 23:43:20 -0000 1.698 +++ NEWS 15 Jun 2012 20:34:09 -0000 1.699 @@ -28,6 +28,7 @@ - 3532951 Filter creation fails with disable default properties - 3533179 Double definition for union semun in FreeBSD - 3535313 xmlUnescape may access memory beyond its buffer +- 3520694 compile errors in cimAccountPassthroughProvider.c Changes in 1.3.14 ================= Index: cimAccountPassthroughProvider.c =================================================================== RCS file: /cvsroot/sblim/sfcb/cimAccountPassthroughProvider.c,v retrieving revision 1.2 retrieving revision 1.3 diff -u -d -r1.2 -r1.3 --- cimAccountPassthroughProvider.c 7 Mar 2012 22:29:29 -0000 1.2 +++ cimAccountPassthroughProvider.c 15 Jun 2012 20:34:09 -0000 1.3 @@ -20,9 +20,9 @@ * */ -#include "cmpi/cmpidt.h" -#include "cmpi/cmpift.h" -#include "cmpi/cmpimacs.h" +#include "cmpidt.h" +#include "cmpift.h" +#include "cmpimacs.h" #include <stdlib.h> #include <string.h> Index: ChangeLog =================================================================== RCS file: /cvsroot/sblim/sfcb/ChangeLog,v retrieving revision 1.780 retrieving revision 1.781 diff -u -d -r1.780 -r1.781 --- ChangeLog 14 Jun 2012 23:43:20 -0000 1.780 +++ ChangeLog 15 Jun 2012 20:34:09 -0000 1.781 @@ -1,3 +1,8 @@ +2012-06-15 Chris Buccella <buc...@li...> + + * cimAccountPassThroughProvider.c: + [ 3520694 ] compile errors in cimAccountPassthroughProvider.c + 2012-06-14 Chris Buccella <buc...@li...> * cimXmlParser.c: |
|
From: Chris B. <buc...@us...> - 2012-06-15 19:42: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 8423c96e7c9a04236a0d4becef70bdb64d3669c0 (commit)
from 4a3be460fbc69e4c80f423da7657e43a43440e99 (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 8423c96e7c9a04236a0d4becef70bdb64d3669c0
Author: buccella <buc...@li...>
Date: Fri Jun 15 15:42:41 2012 -0400
[ 3535313 ] xmlUnescape may access memory beyond its buffer
-----------------------------------------------------------------------
Summary of changes:
diff --git a/ChangeLog b/ChangeLog
index 77205bc..162c9be 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,8 @@
+2012-06-15 Chris Buccella <buc...@li...>
+
+ * cimXmlParser.c:
+ [ 3535313 ] xmlUnescape may access memory beyond its buffer
+
2012-06-12 Chris Buccella <buc...@li...>
* msgqueue.h:
diff --git a/NEWS b/NEWS
index a0597f2..5509fca 100644
--- a/NEWS
+++ b/NEWS
@@ -115,6 +115,7 @@ Bugs Fixed:
- 3527620 EnumerateClasses does not include qualifiers by default
- 3532951 Filter creation fails with disable default properties
- 3533179 Double definition for union semun in FreeBSD
+- 3535313 xmlUnescape may access memory beyond its buffer
Changes in 1.3.14
=================
diff --git a/cimXmlParser.c b/cimXmlParser.c
index 50697f8..512a1bf 100644
--- a/cimXmlParser.c
+++ b/cimXmlParser.c
@@ -350,7 +350,7 @@ xmlUnescape(char *buf, char *end)
// we didn't do anything, return 0
return 0;
}
- if (semiloc - buf > MAX_UNESC_CHAR_LEN) {
+ if (semiloc - buf >= MAX_UNESC_CHAR_LEN) {
// if there's more than 10 characters in the unescaped string, then
// it is either not an escaped char or it is malformed... just return
return 0;
hooks/post-receive
--
SFCB - Small Footprint CIM Broker
|
|
From: Chris B. <buc...@us...> - 2012-06-14 23:44:37
|
Update of /cvsroot/sblim/sfcb In directory vz-cvs-3.sog:/tmp/cvs-serv26160 Modified Files: configure.ac Log Message: bump version number to 1.3.15 Index: configure.ac =================================================================== RCS file: /cvsroot/sblim/sfcb/configure.ac,v retrieving revision 1.126 retrieving revision 1.127 diff -u -d -r1.126 -r1.127 --- configure.ac 2 Apr 2012 20:31:54 -0000 1.126 +++ configure.ac 14 Jun 2012 23:44:35 -0000 1.127 @@ -22,7 +22,7 @@ # Process this file with autoconf to produce a configure script. -AC_INIT(Small Footprint CIM Broker, 1.3.15preview, sbl...@li..., sblim-sfcb) +AC_INIT(Small Footprint CIM Broker, 1.3.15, sbl...@li..., sblim-sfcb) AC_CONFIG_SRCDIR([providerDrv.c]) #disable "seems to ignore the --datarootdir setting" warnings |
|
From: Chris B. <buc...@us...> - 2012-06-14 23:43:23
|
Update of /cvsroot/sblim/sfcb
In directory vz-cvs-3.sog:/tmp/cvs-serv26125
Modified Files:
cimXmlParser.c ChangeLog NEWS
Log Message:
[ 3535313 ] xmlUnescape may access memory beyond its buffer
Index: NEWS
===================================================================
RCS file: /cvsroot/sblim/sfcb/NEWS,v
retrieving revision 1.697
retrieving revision 1.698
diff -u -d -r1.697 -r1.698
--- NEWS 13 Jun 2012 21:21:09 -0000 1.697
+++ NEWS 14 Jun 2012 23:43:20 -0000 1.698
@@ -27,6 +27,7 @@
- 3527620 EnumerateClasses does not include qualifiers by default
- 3532951 Filter creation fails with disable default properties
- 3533179 Double definition for union semun in FreeBSD
+- 3535313 xmlUnescape may access memory beyond its buffer
Changes in 1.3.14
=================
Index: cimXmlParser.c
===================================================================
RCS file: /cvsroot/sblim/sfcb/cimXmlParser.c,v
retrieving revision 1.37
retrieving revision 1.38
diff -u -d -r1.37 -r1.38
--- cimXmlParser.c 11 Feb 2012 19:43:32 -0000 1.37
+++ cimXmlParser.c 14 Jun 2012 23:43:20 -0000 1.38
@@ -359,7 +359,7 @@
// we didn't do anything, return 0
return 0;
}
- if (semiloc-buf > MAX_UNESC_CHAR_LEN)
+ if (semiloc-buf >= MAX_UNESC_CHAR_LEN)
{
// if there's more than 10 characters in the unescaped string, then
// it is either not an escaped char or it is malformed... just return
Index: ChangeLog
===================================================================
RCS file: /cvsroot/sblim/sfcb/ChangeLog,v
retrieving revision 1.779
retrieving revision 1.780
diff -u -d -r1.779 -r1.780
--- ChangeLog 13 Jun 2012 21:21:08 -0000 1.779
+++ ChangeLog 14 Jun 2012 23:43:20 -0000 1.780
@@ -1,3 +1,8 @@
+2012-06-14 Chris Buccella <buc...@li...>
+
+ * cimXmlParser.c:
+ [ 3535313 ] xmlUnescape may access memory beyond its buffer
+
2012-06-13 Narasimha Sharoff <nsh...@us...>
* cimslpCMPI.c, cimXmlGen.c, cimXmlGen.h, cimXmlRequest.c,
|
|
From: Narasimha S. <nsh...@us...> - 2012-06-14 02:09:46
|
Update of /cvsroot/sblim/sfcb In directory vz-cvs-3.sog:/tmp/cvs-serv18090 Modified Files: cimslpCMPI.c Log Message: [ 3534977 ] sfcb custom library and hostname Index: cimslpCMPI.c =================================================================== RCS file: /cvsroot/sblim/sfcb/cimslpCMPI.c,v retrieving revision 1.19 retrieving revision 1.20 diff -u -d -r1.19 -r1.20 --- cimslpCMPI.c 13 Jun 2012 21:21:09 -0000 1.19 +++ cimslpCMPI.c 14 Jun 2012 02:09:43 -0000 1.20 @@ -38,7 +38,7 @@ extern char *configfile; CMPIContext *prepareUpcall(const CMPIContext *ctx); -extern int getCustomSlpHostname(char **hn) +extern int getCustomSlpHostname(char **hn); // helper function ... until better solution is found to get to the // interop Namespace |
|
From: Dave B. <bla...@us...> - 2012-06-13 23:23:20
|
Update of /cvsroot/sblim/jsr48-client/src/javax/wbem/listener
In directory vz-cvs-3.sog:/tmp/cvs-serv3979/src/javax/wbem/listener
Modified Files:
WBEMListenerFactory.java
Log Message:
3529062 - WBEMListenerFactory should return new instance
Index: WBEMListenerFactory.java
===================================================================
RCS file: /cvsroot/sblim/jsr48-client/src/javax/wbem/listener/WBEMListenerFactory.java,v
retrieving revision 1.11
retrieving revision 1.12
diff -u -d -r1.11 -r1.12
--- WBEMListenerFactory.java 13 Mar 2012 14:32:53 -0000 1.11
+++ WBEMListenerFactory.java 13 Jun 2012 23:23:17 -0000 1.12
@@ -20,6 +20,7 @@
* 2882448 2009-10-21 blaschke-oss Add WBEMClientConstants from JSR48
* 2959240 2010-02-25 blaschke-oss Sync up javax.listener.* javadoc with JSR48 1.0.0
* 3490009 2012-02-21 blaschke-oss TCK: Too many WBEMListenerFactory class methods
+ * 3529062 2012-05-23 blaschke-oss WBEMListenerFactory should return new instance
*/
package javax.wbem.listener;
@@ -68,8 +69,7 @@
*/
public static WBEMListener getListener(String pProtocol) throws IllegalArgumentException {
- if (WBEMClientConstants.PROTOCOL_CIMXML.equalsIgnoreCase(pProtocol)) { return WBEMListenerSBLIM
- .getInstance(); }
+ if (WBEMClientConstants.PROTOCOL_CIMXML.equalsIgnoreCase(pProtocol)) { return new WBEMListenerSBLIM(); }
throw new IllegalArgumentException("Protocol: " + pProtocol
+ " is not supported! Invoke getProtocols() for the list of "
+ "supported protocols.");
|
|
From: Narasimha S. <nsh...@us...> - 2012-06-13 21:21:11
|
Update of /cvsroot/sblim/sfcb
In directory vz-cvs-3.sog:/tmp/cvs-serv22469
Modified Files:
ChangeLog cimslpCMPI.c cimXmlGen.c cimXmlGen.h cimXmlRequest.c
control.c Makefile.am NEWS providerMgr.h sfcb.cfg.pre.in
sfcBroker.c support.c
Added Files:
sfcCustomLib.c
Log Message:
[ 3534977 ] sfcb custom library and hostname
Signed-off-by: Narasimha Sharoff <nsh...@us...>
Index: cimslpCMPI.c
===================================================================
RCS file: /cvsroot/sblim/sfcb/cimslpCMPI.c,v
retrieving revision 1.18
retrieving revision 1.19
diff -u -d -r1.18 -r1.19
--- cimslpCMPI.c 29 Jun 2010 22:54:33 -0000 1.18
+++ cimslpCMPI.c 13 Jun 2012 21:21:09 -0000 1.19
@@ -38,6 +38,8 @@
extern char *configfile;
CMPIContext *prepareUpcall(const CMPIContext *ctx);
+extern int getCustomSlpHostname(char **hn)
+
// helper function ... until better solution is found to get to the
// interop Namespace
char **
@@ -267,28 +269,6 @@
// to the calling function
char *sn;
-#ifdef SLP_HOSTNAME_LIB
- static void *hostnameLib = NULL;
- static getSlpHostname gethostname;
- char *ln;
- char dlName[512];
- int err;
-
- err = 1;
- if (getControlChars("slpHostnamelib", &ln) == 0) {
- libraryName(NULL, ln, dlName, 512);
- if ((hostnameLib = dlopen(dlName, RTLD_LAZY))) {
- gethostname = dlsym(hostnameLib, "_sfcGetSlpHostname");
- if (gethostname)
- err = 0;
- }
- }
- if (err)
- mlogf(M_ERROR, M_SHOW,
- "--- SLP Hostname exit %s not found. Defaulting to system hostname.\n",
- dlName);
-#endif
-
_SFCB_ENTER(TRACE_SLP, "getSLPData");
memset(&rs, 0, sizeof(cimSLPService));
@@ -308,18 +288,9 @@
sn = myGetProperty(ci[0], "SystemName");
#ifdef SLP_HOSTNAME_LIB
- if (!err) {
- char *tmp;
- if ((err = gethostname(&tmp))) {
- free(sn);
- sn = tmp;
- } else {
- printf
- ("-#- SLP call to %s for hostname failed. Defaulting to system hostname.\n",
- dlName);
- }
- }
+ getCustomSlpHostname(char **sn);
#endif
+
rs.url_syntax = getUrlSyntax(sn, cfg.commScheme, cfg.port);
rs.service_hi_name = myGetProperty(ci[0], "ElementName");
rs.service_hi_description = myGetProperty(ci[0], "Description");
Index: cimXmlGen.h
===================================================================
RCS file: /cvsroot/sblim/sfcb/cimXmlGen.h,v
retrieving revision 1.10
retrieving revision 1.11
diff -u -d -r1.10 -r1.11
--- cimXmlGen.h 30 Nov 2011 23:22:48 -0000 1.10
+++ cimXmlGen.h 13 Jun 2012 21:21:09 -0000 1.11
@@ -45,7 +45,7 @@
extern int instance2xml(CMPIInstance * ci, UtilStringBuffer * sb, unsigned int flags);
extern int args2xml(CMPIArgs * args, UtilStringBuffer * sb);
extern int enum2xml(CMPIEnumeration * enm, UtilStringBuffer * sb, CMPIType type,
- int xmlAs, unsigned int flags);
+ int xmlAs, unsigned int flags, char *httpHost);
extern int qualiEnum2xml(CMPIEnumeration * enm, UtilStringBuffer * sb);
extern CMPIValue union2CMPIValue(CMPIType type, char *val, XtokValueArray *arr);
extern int qualifierDeclaration2xml(CMPIQualifierDecl * q, UtilStringBuffer * sb);
Index: providerMgr.h
===================================================================
RCS file: /cvsroot/sblim/sfcb/providerMgr.h,v
retrieving revision 1.17
retrieving revision 1.18
diff -u -d -r1.17 -r1.18
--- providerMgr.h 12 Mar 2012 22:30:52 -0000 1.17
+++ providerMgr.h 13 Jun 2012 21:21:09 -0000 1.18
@@ -134,6 +134,7 @@
CMPIType type;
ProvAddr provA;
ProvAddr* pAs;
+ char *httpHost;
unsigned long pCount,pDone;
unsigned long rCount;
int rc;
Index: cimXmlRequest.c
===================================================================
RCS file: /cvsroot/sblim/sfcb/cimXmlRequest.c,v
retrieving revision 1.72
retrieving revision 1.73
diff -u -d -r1.72 -r1.73
--- cimXmlRequest.c 13 Apr 2012 18:05:40 -0000 1.72
+++ cimXmlRequest.c 13 Jun 2012 21:21:09 -0000 1.73
@@ -530,10 +530,10 @@
sb = UtilFactory->newStrinBuffer(1024);
if (binCtx->oHdr->type==OPS_EnumerateClassNames)
- enum2xml(enm, sb, binCtx->type, XML_asClassName, binCtx->bHdr->flags);
+ enum2xml(enm, sb, binCtx->type, XML_asClassName, binCtx->bHdr->flags, binCtx->httpHost);
else if (binCtx->oHdr->type==OPS_EnumerateClasses)
- enum2xml(enm, sb, binCtx->type, XML_asClass, binCtx->bHdr->flags);
- else enum2xml(enm, sb, binCtx->type, binCtx->xmlAs,binCtx->bHdr->flags);
+ enum2xml(enm, sb, binCtx->type, XML_asClass, binCtx->bHdr->flags, binCtx->httpHost);
+ else enum2xml(enm, sb, binCtx->type, binCtx->xmlAs,binCtx->bHdr->flags, binCtx->httpHost);
_SFCB_RETURN(sb);
}
@@ -621,7 +621,7 @@
UtilStringBuffer *sb;
RespSegments rs;
- _SFCB_ENTER(TRACE_CIMXMLPROC, "genResponses");
+ _SFCB_ENTER(TRACE_CIMXMLPROC, "genFirstChunkResponses");
sb=genEnumResponses(binCtx,resp,arrlen);
@@ -654,7 +654,7 @@
UtilStringBuffer *sb;
RespSegments rs;
- _SFCB_ENTER(TRACE_CIMXMLPROC, "genResponses");
+ _SFCB_ENTER(TRACE_CIMXMLPROC, "genLastChunkResponses");
sb=genEnumResponses(binCtx,resp,arrlen);
@@ -997,6 +997,7 @@
binCtx.xmlAs=binCtx.noResp=0;
binCtx.chunkedMode=0;
binCtx.pAs=NULL;
+ binCtx.httpHost=ctx->host;
_SFCB_TRACE(1, ("--- Getting Provider context"));
irc = getProviderContext(&binCtx, (OperationHdr *) req);
@@ -1051,6 +1052,7 @@
binCtx.type=CMPI_class;
binCtx.xmlAs=binCtx.noResp=0;
binCtx.chunkFncs=ctx->chunkFncs;
+ binCtx.httpHost=ctx->host;
if (ctx->teTrailers==0)
hdr->chunkedMode=binCtx.chunkedMode=0;
@@ -1440,6 +1442,7 @@
binCtx.xmlAs=binCtx.noResp=0;
binCtx.chunkedMode=0;
binCtx.pAs=NULL;
+ binCtx.httpHost=ctx->host;
_SFCB_TRACE(1, ("--- Getting Provider context"));
irc = getProviderContext(&binCtx, (OperationHdr *) req);
@@ -1504,6 +1507,7 @@
binCtx.type=CMPI_instance;
binCtx.xmlAs=binCtx.noResp=0;
binCtx.chunkFncs=ctx->chunkFncs;
+ binCtx.httpHost=ctx->host;
if (ctx->teTrailers==0) {
hdr->chunkedMode=binCtx.chunkedMode=0;
@@ -1596,6 +1600,7 @@
binCtx.type=CMPI_instance;
binCtx.xmlAs=XML_asObj; binCtx.noResp=0;
binCtx.chunkFncs=ctx->chunkFncs;
+ binCtx.httpHost=ctx->host;
if (ctx->teTrailers==0)
hdr->chunkedMode=binCtx.chunkedMode=0;
@@ -1697,6 +1702,7 @@
binCtx.xmlAs=XML_asObjectPath; binCtx.noResp=0;
binCtx.chunkedMode=0;
binCtx.pAs=NULL;
+ binCtx.httpHost=ctx->host;
_SFCB_TRACE(1, ("--- Getting Provider context"));
irc = getProviderContext(&binCtx, (OperationHdr *) req);
@@ -1789,6 +1795,7 @@
binCtx.type=CMPI_instance;
binCtx.xmlAs=XML_asObj; binCtx.noResp=0;
binCtx.pAs=NULL;
+ binCtx.httpHost = ctx->host;
binCtx.chunkFncs=ctx->chunkFncs;
if (ctx->teTrailers==0)
@@ -1889,6 +1896,7 @@
binCtx.xmlAs=XML_asObjectPath; binCtx.noResp=0;
binCtx.chunkedMode=0;
binCtx.pAs=NULL;
+ binCtx.httpHost=ctx->host;
_SFCB_TRACE(1, ("--- Getting Provider context"));
irc = getProviderContext(&binCtx, (OperationHdr *) req);
@@ -1980,6 +1988,7 @@
binCtx.type=CMPI_instance;
binCtx.xmlAs=XML_asObj; binCtx.noResp=0;
binCtx.pAs=NULL;
+ binCtx.httpHost=ctx->host;
binCtx.chunkFncs=ctx->chunkFncs;
if (ctx->teTrailers==0)
Index: ChangeLog
===================================================================
RCS file: /cvsroot/sblim/sfcb/ChangeLog,v
retrieving revision 1.778
retrieving revision 1.779
diff -u -d -r1.778 -r1.779
--- ChangeLog 12 Jun 2012 21:48:36 -0000 1.778
+++ ChangeLog 13 Jun 2012 21:21:08 -0000 1.779
@@ -1,3 +1,10 @@
+2012-06-13 Narasimha Sharoff <nsh...@us...>
+
+ * cimslpCMPI.c, cimXmlGen.c, cimXmlGen.h, cimXmlRequest.c,
+ control.c, Makefile.am, providerMgr.h, sfcb.cfg.pre.in,
+ sfcBroker.c, sfcCustomLib.c, support.c:
+ [ 3534977 ] sfcb custom library and hostname
+
2012-06-12 Chris Buccella <buc...@li...>
* msgqueue.h:
Index: cimXmlGen.c
===================================================================
RCS file: /cvsroot/sblim/sfcb/cimXmlGen.c,v
retrieving revision 1.77
retrieving revision 1.78
diff -u -d -r1.77 -r1.78
--- cimXmlGen.c 27 Dec 2011 20:43:57 -0000 1.77
+++ cimXmlGen.c 13 Jun 2012 21:21:09 -0000 1.78
@@ -56,6 +56,7 @@
CMPICount i, char ** name,
CMPIStatus * rc, int readonly);
extern int invalid_uint(const char *v, const CMPIType type);
+extern int getCustomHostname(char *httpHost, char **hn, unsigned int len);
const char *opGetClassNameChars(CMPIObjectPath * cop);
@@ -575,7 +576,8 @@
_SFCB_RETURN(0);
}
-static int nsPath2xml(CMPIObjectPath * ci, UtilStringBuffer * sb)
+
+static int nsPath2xml(CMPIObjectPath * ci, UtilStringBuffer * sb, char *httpHost)
{
_SFCB_ENTER(TRACE_CIMXMLPROC, "nsPath2xml");
char * hn = CMGetCharPtr(CMGetHostname(ci,NULL));
@@ -585,12 +587,9 @@
if (hn && *hn) {
sb->ft->appendChars(sb, hn);
} else {
- hn = malloc(HOST_NAME_MAX);
- if(gethostname(hn, HOST_NAME_MAX) == 0) {
- sb->ft->appendChars(sb, hn);
- } else {
- SFCB_APPENDCHARS_BLOCK(sb, "localhost");
- }
+ hn = calloc(1, HOST_NAME_MAX);
+ getCustomHostname(httpHost, &hn, HOST_NAME_MAX);
+ sb->ft->appendChars(sb, hn);
free (hn);
}
SFCB_APPENDCHARS_BLOCK(sb, "</HOST>\n");
@@ -622,7 +621,7 @@
char * hn = CMGetCharPtr(CMGetHostname(ci,NULL));
if (hn && *hn && ns && *ns) {
SFCB_APPENDCHARS_BLOCK(sb, "<INSTANCEPATH>\n");
- nsPath2xml(ci, sb);
+ nsPath2xml(ci, sb, NULL);
} else if (ns && *ns) {
SFCB_APPENDCHARS_BLOCK(sb, "<LOCALINSTANCEPATH>\n");
lnsPath2xml(ci, sb);
@@ -1047,7 +1046,7 @@
}
int enum2xml(CMPIEnumeration * enm, UtilStringBuffer * sb, CMPIType type,
- int xmlAs, unsigned int flags)
+ int xmlAs, unsigned int flags, char *httpHost)
{
CMPIObjectPath *cop;
CMPIInstance *ci;
@@ -1062,7 +1061,7 @@
else if (xmlAs==XML_asObjectPath) {
SFCB_APPENDCHARS_BLOCK(sb, "<OBJECTPATH>\n");
SFCB_APPENDCHARS_BLOCK(sb, "<INSTANCEPATH>\n");
- nsPath2xml(cop, sb);
+ nsPath2xml(cop, sb, httpHost);
instanceName2xml(cop, sb);
SFCB_APPENDCHARS_BLOCK(sb, "</INSTANCEPATH>\n");
SFCB_APPENDCHARS_BLOCK(sb, "</OBJECTPATH>\n");
@@ -1079,7 +1078,7 @@
if (xmlAs==XML_asObj) {
SFCB_APPENDCHARS_BLOCK(sb, "<VALUE.OBJECTWITHPATH>\n");
SFCB_APPENDCHARS_BLOCK(sb, "<INSTANCEPATH>\n");
- nsPath2xml(cop, sb);
+ nsPath2xml(cop, sb, httpHost);
}
else
SFCB_APPENDCHARS_BLOCK(sb, "<VALUE.NAMEDINSTANCE>\n");
Index: sfcBroker.c
===================================================================
RCS file: /cvsroot/sblim/sfcb/sfcBroker.c,v
retrieving revision 1.63
retrieving revision 1.64
diff -u -d -r1.63 -r1.64
--- sfcBroker.c 11 Apr 2012 22:55:17 -0000 1.63
+++ sfcBroker.c 13 Jun 2012 21:21:09 -0000 1.64
@@ -76,6 +76,9 @@
extern void sunsetControl();
extern void uninitGarbageCollector();
+extern int loadHostnameLib();
+extern void unloadHostnameLib();
+
extern TraceId traceIds[];
extern unsigned long exFlags;
@@ -244,6 +247,8 @@
pthread_mutex_unlock(&syncMtx);
_SFCB_TRACE_STOP();
+
+ unloadHostnameLib();
if (restartBroker) {
char *emsg=strerror(errno);
@@ -813,6 +818,12 @@
if ((enableHttp || enableHttps) && dSockets > 0) {
startHttp = 1;
}
+
+ if (loadHostnameLib() == -1) {
+ printf("--- Failed to load sfcCustomLib. Exiting\n");
+ exit(1);
+ }
+
initSem(dSockets,sSockets,pSockets);
initProvProcCtl(pSockets);
--- NEW FILE: sfcCustomLib.c ---
/*
* sfcCustomLib.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: Narasimha Sharoff <nsh...@us...>
*
* Description:
*
* These routines are used by sfcb. User can customize the functionality.
* Do not remove any function or the function prototype
*
*/
#include <stdio.h>
#include <string.h>
#include <stdlib.h>
#include <unistd.h>
/*
* _sfcGetSlpHostname: by Tyrel Datwyler <ty...@us...>
* is from sfcSlpCustomHostname.c - this file will be deprecated
*/
/** \brief _sfcGetSlpHostname - obtains custom hostname to register with SLP DA
*
* Obtain custom hostname string to register with SLP DA
* This is only a sample of how to write the custom routine
* used to provide the hostname. You will need to replace this
* with a routine that uses the desired method to obtain the
* proper value.
*/
extern int _sfcGetSlpHostname(char **hostname)
{
char *sn;
sn = (char *) malloc((strlen("mycimom.com") + 1) * sizeof(char));
sn = strncpy(sn, "mycimom.com", strlen("mycimom.com") + 1);
if (sn == NULL)
return 0;
printf("-#- Request for custom SLP service hostname: (hostname = %s)\n", sn);
*hostname = sn;
/* Return value of 1 for successs and 0 for failure. */
return 1;
}
/** \brief _sfcbGetResponseHostname - obtains custom hostname
*
* Allows the user to customize the hostname that sfcb will use internally
* httphost - hostname as provided in HTTP header
* hostname - sfcb allocated buffer
* len - size of the hostname buffer
*/
extern int _sfcbGetResponseHostname(char *httpHost, char **hostname, unsigned int len)
{
if (gethostname(*hostname, len) != 0) {
strcpy(*hostname, "localhost");
}
return 0;
}
Index: support.c
===================================================================
RCS file: /cvsroot/sblim/sfcb/support.c,v
retrieving revision 1.39
retrieving revision 1.40
diff -u -d -r1.39 -r1.40
--- support.c 5 Mar 2012 18:14:26 -0000 1.39
+++ support.c 13 Jun 2012 21:21:09 -0000 1.40
@@ -37,6 +37,7 @@
#include "native.h"
#include "trace.h"
#include "config.h"
+#include "control.h"
#include <pthread.h>
#ifdef SFCB_IX86
@@ -1019,3 +1020,68 @@
return str;
}
+/* If config hostnameLib=true, get custom hostname */
+extern void libraryName(const char *dir, const char *location,
+ const char *fullName, int buf_size);
+typedef int (*getSfcbHostname)(char *httpHost, char **hostname,
+ unsigned int len);
+typedef int (*getSfcbSlpHostname)(char **hostname);
+static void *hostnameLib;
+static getSfcbHostname sfcbHostname;
+static getSfcbSlpHostname sfcbSlpHostname;
+int loadHostnameLib()
+{
+ char *ln;
+ char dlName[512];
+ char *err;
+
+ hostnameLib = NULL;
+ if (getControlChars("sfcbCustomLib", &ln) == 0) {
+ libraryName(NULL, ln, dlName, 512);
+ if ((hostnameLib = dlopen(dlName, RTLD_LAZY))) {
+ dlerror();
+ sfcbHostname = dlsym(hostnameLib, "_sfcbGetResponseHostname");
+ if ((err = dlerror()) != NULL) {
+ printf("dlsym failed for _sfcbGetResponseHostname: %s\n", err);
+ dlclose(hostnameLib);
+ return -1;
+ }
+ dlerror();
+ sfcbSlpHostname = dlsym(hostnameLib, "_sfcGetSlpHostname");
+ if ((err = dlerror()) != NULL) {
+ printf("dlsym failed for _sfcbGetSlpHostname: %s\n", err);
+ dlclose(hostnameLib);
+ return -1;
+ }
+ }
+ else {
+ printf("dlopen failed for sfcbCustomLib\n");
+ return -1;
+ }
+ }
+ else {
+ printf("Cannot find the libary to open: %s\n", ln);
+ return -1;
+ }
+
+ return 0;
+}
+
+int getCustomHostname(char *httpHost, char **hn, unsigned int len)
+{
+ if (sfcbHostname) return(sfcbHostname(httpHost, hn, len));
+ return -1;
+}
+
+int getCustomSlpHostname(char **hn)
+{
+ if (sfcbSlpHostname) return(sfcbSlpHostname(hn));
+ return -1;
+}
+
+
+void unloadHostnameLib()
+{
+ if (hostnameLib) dlclose(hostnameLib);
+ return;
+}
Index: sfcb.cfg.pre.in
===================================================================
RCS file: /cvsroot/sblim/sfcb/sfcb.cfg.pre.in,v
retrieving revision 1.35
retrieving revision 1.36
diff -u -d -r1.35 -r1.36
--- sfcb.cfg.pre.in 7 Jun 2012 02:56:09 -0000 1.35
+++ sfcb.cfg.pre.in 13 Jun 2012 21:21:09 -0000 1.36
@@ -52,6 +52,10 @@
## Default is 100000000
#httpMaxContentLength: 100000000
+## Customization library - user can modify the logic of one or more routine(s)
+## But, do not remove any functions or change the function signature.
+sfcbCustomLib: sfcCustomLib
+
## Enable basic authentication for HTTP and HTTPS connections
## Default is false
doBasicAuth: @SFCB_CONF_DOBASICAUTH@
@@ -233,13 +237,6 @@
## Default is 600
#slpRefreshInterval: 600
-## Name of the library that will return the hostname to use in the SLP
-## useful if current system hostname is not valid for advertisment.
-## You probably don't need this. See example, sfcSlpHostname.c.
-## Only applies if configured with --enable-slp-hostname-lib.
-## Default is sfcSlpHostname
-#slpHostnameLib: sfcSlpHostname
-
##------------------------------------ Trace ----------------------------------
Index: NEWS
===================================================================
RCS file: /cvsroot/sblim/sfcb/NEWS,v
retrieving revision 1.696
retrieving revision 1.697
diff -u -d -r1.696 -r1.697
--- NEWS 12 Jun 2012 21:48:36 -0000 1.696
+++ NEWS 13 Jun 2012 21:21:09 -0000 1.697
@@ -10,6 +10,7 @@
- 3527920 RI and http responsecodes
- 3531210 Allow indication delivery timeout tuning
- 3534659 Match SfcbLocal to sfcc update
+- 3334977 sfcb custom library and hostname
Bugs fixed:
Index: control.c
===================================================================
RCS file: /cvsroot/sblim/sfcb/control.c,v
retrieving revision 1.47
retrieving revision 1.48
diff -u -d -r1.47 -r1.48
--- control.c 7 Jun 2012 02:56:09 -0000 1.47
+++ control.c 13 Jun 2012 21:21:09 -0000 1.48
@@ -82,9 +82,9 @@
#ifdef HAVE_SLP
{"enableSlp", 2, "true"},
{"slpRefreshInterval", 1, "600"},
- {"slpHostnameLib", 0, "sfcSlpHostname"},
#endif
{"provProcs", 1, "32"},
+ {"sfcbCustomLib", 0, "sfcCustomLib"},
{"basicAuthLib", 0, "sfcBasicAuthentication"},
{"basicAuthEntry", 0, "_sfcBasicAuthenticate"},
{"doBasicAuth", 2, "false"},
Index: Makefile.am
===================================================================
RCS file: /cvsroot/sblim/sfcb/Makefile.am,v
retrieving revision 1.117
retrieving revision 1.118
diff -u -d -r1.117 -r1.118
--- Makefile.am 29 Feb 2012 23:12:44 -0000 1.117
+++ Makefile.am 13 Jun 2012 21:21:09 -0000 1.118
@@ -93,11 +93,7 @@
HTTP_ADAPTER_LIBS_LINK = -lsfcHttpAdapter
endif
-if SLP_HOSTNAME_LIB
-SLP_HOSTNAME_LIBS = libsfcSlpHostname.la
-else
-SLP_HOSTNAME_LIBS =
-endif
+SFC_CUSTOM_LIB = libsfcCustomLib.la
if QUALREP
QUALREP_LIBS = libsfcQualifierProvider.la
@@ -163,7 +159,7 @@
$(QUALREP_LIBS) \
$(INDICATION_LIBS) \
$(PAM_LIBS) \
- $(SLP_HOSTNAME_LIBS) \
+ $(SFC_CUSTOM_LIB) \
$(ACCOUNT_PASSTHRU_LIBS)
if TEST_ENABLED
@@ -278,10 +274,8 @@
libsfcHttpAdapter_la_DEPENDENCIES=libsfcBrokerCore.la $(CIMXMLCODEC_LIBS)
endif
-if SLP_HOSTNAME_LIB
-libsfcSlpHostname_la_SOURCES = \
- sfcSlpHostname.c
-endif
+libsfcCustomLib_la_SOURCES = \
+ sfcCustomLib.c
libsfcBasicAuthentication_la_SOURCES = \
sfcBasicAuthentication.c
|
|
From: Chris B. <buc...@us...> - 2012-06-12 21:48:39
|
Update of /cvsroot/sblim/sfcb
In directory vz-cvs-3.sog:/tmp/cvs-serv13596
Modified Files:
msgqueue.h ChangeLog NEWS
Log Message:
[ 3533179 ] Double definition for union semun in FreeBSD
Index: NEWS
===================================================================
RCS file: /cvsroot/sblim/sfcb/NEWS,v
retrieving revision 1.695
retrieving revision 1.696
diff -u -d -r1.695 -r1.696
--- NEWS 12 Jun 2012 19:12:57 -0000 1.695
+++ NEWS 12 Jun 2012 21:48:36 -0000 1.696
@@ -25,6 +25,7 @@
- 3529856 httpProcs limit can be broken
- 3527620 EnumerateClasses does not include qualifiers by default
- 3532951 Filter creation fails with disable default properties
+- 3533179 Double definition for union semun in FreeBSD
Changes in 1.3.14
=================
Index: msgqueue.h
===================================================================
RCS file: /cvsroot/sblim/sfcb/msgqueue.h,v
retrieving revision 1.12
retrieving revision 1.13
diff -u -d -r1.12 -r1.13
--- msgqueue.h 29 Mar 2010 23:42:31 -0000 1.12
+++ msgqueue.h 12 Jun 2012 21:48:36 -0000 1.13
@@ -46,7 +46,8 @@
#define MSG_X_LOCAL 9
#define MSG_X_SFCB_PROVIDER 10
-#if defined(__GNU_LIBRARY__) && !defined(_SEM_SEMUN_UNDEFINED)
+#if defined(__FreeBSD__) || \
+ defined(__GNU_LIBRARY__) && !defined(_SEM_SEMUN_UNDEFINED)
#else
union semun {
int val;
Index: ChangeLog
===================================================================
RCS file: /cvsroot/sblim/sfcb/ChangeLog,v
retrieving revision 1.777
retrieving revision 1.778
diff -u -d -r1.777 -r1.778
--- ChangeLog 12 Jun 2012 19:12:57 -0000 1.777
+++ ChangeLog 12 Jun 2012 21:48:36 -0000 1.778
@@ -1,5 +1,9 @@
2012-06-12 Chris Buccella <buc...@li...>
+ * msgqueue.h:
+ [ 3533179 ] Double definition for union semun in FreeBSD
+ (patch by PitRunner)
+
* cimcClientSfcbLocal.h, cimcClientSfcbLocal.c:
[ 3534659 ] Match SfcbLocal to sfcc update
|
|
From: Chris B. <buc...@us...> - 2012-06-12 21:45:06
|
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 4a3be460fbc69e4c80f423da7657e43a43440e99 (commit)
from f76860014073e64611f5201e43d0214fd4b8c0cf (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 4a3be460fbc69e4c80f423da7657e43a43440e99
Author: buccella <buc...@li...>
Date: Tue Jun 12 17:45:06 2012 -0400
[ 3533179 ] Double definition for union semun in FreeBSD
-----------------------------------------------------------------------
Summary of changes:
diff --git a/ChangeLog b/ChangeLog
index a55966a..77205bc 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,5 +1,9 @@
2012-06-12 Chris Buccella <buc...@li...>
+ * msgqueue.h:
+ [ 3533179 ] Double definition for union semun in FreeBSD
+ (patch by PitRunner)
+
* cimcClientSfcbLocal.c, cimcClientSfcbLocal.h:
[ 3534659 ] Match SfcbLocal to sfcc update
diff --git a/NEWS b/NEWS
index 2f2be6f..a0597f2 100644
--- a/NEWS
+++ b/NEWS
@@ -114,6 +114,7 @@ Bugs Fixed:
- 3529856 httpProcs limit can be broken
- 3527620 EnumerateClasses does not include qualifiers by default
- 3532951 Filter creation fails with disable default properties
+- 3533179 Double definition for union semun in FreeBSD
Changes in 1.3.14
=================
diff --git a/contributions.txt b/contributions.txt
index 5eccc0a..c36b3ed 100644
--- a/contributions.txt
+++ b/contributions.txt
@@ -205,3 +205,7 @@ Zane Bitter, Red Hat
--------------------
03/28/2012 [ 3510458 ] Malformed XML response to GetProperty
03/28/2012 [ 3510456 ] GetProperty calls not passing keys to providers
+
+PitRunner
+---------
+06/12/2012 [ 3533179 ] Double definition for union semun in FreeBSD
diff --git a/msgqueue.h b/msgqueue.h
index 13fdd30..8acde18 100644
--- a/msgqueue.h
+++ b/msgqueue.h
@@ -45,7 +45,8 @@
#define MSG_X_LOCAL 9
#define MSG_X_SFCB_PROVIDER 10
-#if defined(__GNU_LIBRARY__) && !defined(_SEM_SEMUN_UNDEFINED)
+#if defined(__FreeBSD__) || \
+ defined(__GNU_LIBRARY__) && !defined(_SEM_SEMUN_UNDEFINED)
#else
union semun {
int val;
hooks/post-receive
--
SFCB - Small Footprint CIM Broker
|
|
From: Chris B. <buc...@us...> - 2012-06-12 20:59:35
|
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 b3f5edd206d53510beecb86d943c9d34bd2c77ac (commit)
via 5c0593e3bcf8b2845cc56a261074f598fa6a369b (commit)
from 7bad81a2525585d6c1f67f3183b5371a3f30e72a (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 b3f5edd206d53510beecb86d943c9d34bd2c77ac
Author: buccella <buc...@li...>
Date: Tue Jun 12 16:59:02 2012 -0400
bump version number to 2.2.5
commit 5c0593e3bcf8b2845cc56a261074f598fa6a369b
Author: buccella <buc...@li...>
Date: Tue Jun 12 16:55:25 2012 -0400
bump version number to 2.2.4
-----------------------------------------------------------------------
Summary of changes:
diff --git a/configure.ac b/configure.ac
index 8c9b862..7c09f34 100644
--- a/configure.ac
+++ b/configure.ac
@@ -2,7 +2,7 @@
# Process this file with autoconf to produce a configure script.
AC_PREREQ(2.59)
-AC_INIT(sblim-sfcc, 2.2.4preview, sbl...@li...)
+AC_INIT(sblim-sfcc, 2.2.5preview, sbl...@li...)
AC_CONFIG_SRCDIR([cimc/cimcclient.c])
AC_CONFIG_HEADER([config.h])
hooks/post-receive
--
SFCC - Small Footprint CIM Client
|