You can subscribe to this list here.
2005 |
Jan
|
Feb
(1) |
Mar
(45) |
Apr
(150) |
May
(145) |
Jun
(150) |
Jul
(79) |
Aug
(313) |
Sep
(160) |
Oct
(309) |
Nov
(115) |
Dec
(60) |
---|---|---|---|---|---|---|---|---|---|---|---|---|
2006 |
Jan
(160) |
Feb
(144) |
Mar
(127) |
Apr
(48) |
May
(102) |
Jun
(54) |
Jul
(245) |
Aug
(94) |
Sep
(152) |
Oct
(162) |
Nov
(166) |
Dec
(740) |
2007 |
Jan
(752) |
Feb
(437) |
Mar
(328) |
Apr
(373) |
May
(569) |
Jun
(399) |
Jul
(369) |
Aug
(627) |
Sep
(100) |
Oct
(306) |
Nov
(166) |
Dec
(282) |
2008 |
Jan
(68) |
Feb
(145) |
Mar
(180) |
Apr
(160) |
May
(277) |
Jun
(229) |
Jul
(1188) |
Aug
(51) |
Sep
(97) |
Oct
(99) |
Nov
(95) |
Dec
(170) |
2009 |
Jan
(39) |
Feb
(73) |
Mar
(120) |
Apr
(121) |
May
(104) |
Jun
(262) |
Jul
(57) |
Aug
(171) |
Sep
(131) |
Oct
(88) |
Nov
(64) |
Dec
(83) |
2010 |
Jan
(55) |
Feb
(67) |
Mar
(124) |
Apr
(64) |
May
(130) |
Jun
(75) |
Jul
(164) |
Aug
(64) |
Sep
(44) |
Oct
(17) |
Nov
(43) |
Dec
(31) |
2011 |
Jan
(21) |
Feb
(10) |
Mar
(43) |
Apr
(46) |
May
(52) |
Jun
(71) |
Jul
(7) |
Aug
(16) |
Sep
(51) |
Oct
(14) |
Nov
(33) |
Dec
(15) |
2012 |
Jan
(12) |
Feb
(61) |
Mar
(129) |
Apr
(76) |
May
(70) |
Jun
(52) |
Jul
(29) |
Aug
(41) |
Sep
(32) |
Oct
(23) |
Nov
(38) |
Dec
(26) |
2013 |
Jan
(35) |
Feb
(37) |
Mar
(51) |
Apr
(15) |
May
(52) |
Jun
(15) |
Jul
(23) |
Aug
(21) |
Sep
(46) |
Oct
(69) |
Nov
(57) |
Dec
(26) |
2014 |
Jan
(5) |
Feb
(13) |
Mar
(17) |
Apr
(1) |
May
(5) |
Jun
|
Jul
(2) |
Aug
(2) |
Sep
(1) |
Oct
(16) |
Nov
(8) |
Dec
(4) |
2015 |
Jan
|
Feb
|
Mar
|
Apr
(1) |
May
(1) |
Jun
(4) |
Jul
|
Aug
(2) |
Sep
|
Oct
|
Nov
|
Dec
|
2016 |
Jan
|
Feb
|
Mar
|
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
(1) |
Nov
|
Dec
|
From: Chris B. <buc...@us...> - 2012-03-30 17:56:43
|
Update of /cvsroot/sblim/sfcb In directory vz-cvs-3.sog:/tmp/cvs-serv15619 Modified Files: control.c ChangeLog NEWS Log Message: [ 3512575 ] Add indication delivery thread limit and timeout Index: NEWS =================================================================== RCS file: /cvsroot/sblim/sfcb/NEWS,v retrieving revision 1.674 retrieving revision 1.675 diff -u -d -r1.674 -r1.675 --- NEWS 30 Mar 2012 02:47:11 -0000 1.674 +++ NEWS 30 Mar 2012 17:56:41 -0000 1.675 @@ -16,6 +16,7 @@ - 3498932 Implement ModifyInstance for CIM_ListenerDestination - 3367361 Allow for releasing auth handle after CIM request completes - 3367363 Add CMPIRole Support +- 3512575 Add indication delivery thread limit and timeout Bugs fixed: Index: control.c =================================================================== RCS file: /cvsroot/sblim/sfcb/control.c,v retrieving revision 1.42 retrieving revision 1.43 diff -u -d -r1.42 -r1.43 --- control.c 23 Nov 2011 03:24:00 -0000 1.42 +++ control.c 30 Mar 2012 17:56:41 -0000 1.43 @@ -131,6 +131,8 @@ {"DeliveryRetryAttempts",1,"3"}, {"SubscriptionRemovalTimeInterval",1,"2592000"}, {"SubscriptionRemovalAction",1,"2"}, + {"indicationDeliveryThreadLimit",1,"30"}, + {"indicationDeliveryThreadTimeout",1,"0"}, }; Index: ChangeLog =================================================================== RCS file: /cvsroot/sblim/sfcb/ChangeLog,v retrieving revision 1.753 retrieving revision 1.754 diff -u -d -r1.753 -r1.754 --- ChangeLog 30 Mar 2012 02:47:11 -0000 1.753 +++ ChangeLog 30 Mar 2012 17:56:41 -0000 1.754 @@ -11,6 +11,10 @@ * providerDrv.c: [ 3408288 ] Safer Signal Handlers + * interopProvider.c, providerDrv.c, sfcb.cfg.pre.in, + control.c: + [ 3512575 ] Add indication delivery thread limit and timeout + 2012-03-29 Michael Chase-Salerno <br...@li...> * cimcClientSfcbLocal.c: |
From: Chris B. <buc...@us...> - 2012-03-30 17:13:11
|
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 df603ba875c0b85ddb5d0272518c4b0e4eda4d28 (commit) from b583010f97004995ee5d7779df36b741c04e494b (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 df603ba875c0b85ddb5d0272518c4b0e4eda4d28 Author: buccella <buc...@li...> Date: Fri Mar 30 13:12:56 2012 -0400 removed some debug ----------------------------------------------------------------------- Summary of changes: diff --git a/interopProvider.c b/interopProvider.c index 8f44a21..be285ca 100644 --- a/interopProvider.c +++ b/interopProvider.c @@ -1362,7 +1362,6 @@ InteropProviderMethodCleanup(CMPIMethodMI * mi, void * sendIndForDelivery(void *di) { _SFCB_ENTER(TRACE_INDPROVIDER, "sendIndForDelivery"); - fprintf(stderr, "thread started %p\n", (void*)pthread_self()); DeliveryInfo* delInfo; delInfo = (DeliveryInfo*)di; @@ -1373,7 +1372,6 @@ void * sendIndForDelivery(void *di) { CMRelease(delInfo->hin); free(di); sem_post(&availThreadsSem); - fprintf(stderr, "thread exiting %p\n", (void*)pthread_self()); pthread_exit(NULL); } hooks/post-receive -- SFCB - Small Footprint CIM Broker |
From: Chris B. <buc...@us...> - 2012-03-30 02:48:41
|
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 b583010f97004995ee5d7779df36b741c04e494b (commit) from 9cf0380bbc32b6fed4f0c67c7a831fc2c57b6ceb (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 b583010f97004995ee5d7779df36b741c04e494b Author: buccella <buc...@li...> Date: Thu Mar 29 22:48:30 2012 -0400 [ 3416054 ] Provider continues despite SIGSEGV ----------------------------------------------------------------------- Summary of changes: diff --git a/ChangeLog b/ChangeLog index 94876fc..3051bfb 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,6 +1,10 @@ 2012-03-29 Chris Buccella <buc...@li...> - * httpAdapter.c: + * providerDrv.c: + [ 3416054 ] Provider continues despite SIGSEGV + (patch by Klaus Kampf) + + * httpAdapter.c: [ 3441028 ] sblim-sfcb fails on large https requests (patch by Klaus Kampf) diff --git a/NEWS b/NEWS index 56f9a93..e7cf262 100644 --- a/NEWS +++ b/NEWS @@ -128,6 +128,7 @@ Bugs Fixed: - 3408288 Safer Signal Handlers - 3487419 TestIndication Provider Does Not Enable Correctly - 3441028 sblim-sfcb fails on large https requests +- 3416054 Provider continues despite SIGSEGV Changes in 1.3.13 ================= diff --git a/contributions.txt b/contributions.txt index ee42f76..5eccc0a 100644 --- a/contributions.txt +++ b/contributions.txt @@ -116,6 +116,7 @@ Klaus Kampf, Novell 09/06/2011 [ 3400114 ] sfcb fails to start with ipv6 disabled 09/30/2011 [ 3416055 ] SIGSEGV sometimes does not print provider name 03/29/2012 [ 3441028 ] sblim-sfcb fails on large https requests +03/29/2012 [ 3416054 ] Provider continues despite SIGSEGV Mike Brasher, Inova ------------------- diff --git a/providerDrv.c b/providerDrv.c index 5660743..d56eaa4 100644 --- a/providerDrv.c +++ b/providerDrv.c @@ -533,7 +533,7 @@ handleSigSegv(int sig) spSendResult(&threads->requestor, &dmy, err_crash_resp, ecr_len); threads=threads->next; } - + abort(); /* force cord dump */ } static void hooks/post-receive -- SFCB - Small Footprint CIM Broker |
From: Chris B. <buc...@us...> - 2012-03-30 02:47:13
|
Update of /cvsroot/sblim/sfcb In directory vz-cvs-3.sog:/tmp/cvs-serv17760 Modified Files: providerDrv.c ChangeLog NEWS contributions.txt Log Message: [ 3416054 ] Provider continues despite SIGSEGV Index: NEWS =================================================================== RCS file: /cvsroot/sblim/sfcb/NEWS,v retrieving revision 1.673 retrieving revision 1.674 diff -u -d -r1.673 -r1.674 --- NEWS 30 Mar 2012 02:33:43 -0000 1.673 +++ NEWS 30 Mar 2012 02:47:11 -0000 1.674 @@ -64,6 +64,7 @@ - 3505407 Client openlog changes settings - 3408288 Safer Signal Handlers - 3441028 sblim-sfcb fails on large https requests +- 3416054 Provider continues despite SIGSEGV Changes in 1.3.13 ================= Index: providerDrv.c =================================================================== RCS file: /cvsroot/sblim/sfcb/providerDrv.c,v retrieving revision 1.113 retrieving revision 1.114 diff -u -d -r1.113 -r1.114 --- providerDrv.c 29 Mar 2012 21:19:43 -0000 1.113 +++ providerDrv.c 30 Mar 2012 02:47:11 -0000 1.114 @@ -448,7 +448,7 @@ spSendResult(&threads->requestor, &dmy, err_crash_resp, ecr_len); threads=threads->next; } - + abort(); /* force a core */ } static void handleSigUsr1(int sig) Index: contributions.txt =================================================================== RCS file: /cvsroot/sblim/sfcb/contributions.txt,v retrieving revision 1.72 retrieving revision 1.73 diff -u -d -r1.72 -r1.73 --- contributions.txt 30 Mar 2012 02:33:43 -0000 1.72 +++ contributions.txt 30 Mar 2012 02:47:11 -0000 1.73 @@ -115,6 +115,7 @@ 06/09/2011 [ 3047562 ] [patch] Create bzip2 tarballs on "make dist" 09/30/2011 [ 3416055 ] SIGSEGV sometimes does not print provider name 03/29/2012 [ 3441028 ] sblim-sfcb fails on large https requests +03/29/2012 [ 3416054 ] Provider continues despite SIGSEGV Mike Brasher, Inova ------------------- Index: ChangeLog =================================================================== RCS file: /cvsroot/sblim/sfcb/ChangeLog,v retrieving revision 1.752 retrieving revision 1.753 diff -u -d -r1.752 -r1.753 --- ChangeLog 30 Mar 2012 02:33:43 -0000 1.752 +++ ChangeLog 30 Mar 2012 02:47:11 -0000 1.753 @@ -1,5 +1,9 @@ 2012-03-29 Chris Buccella <buc...@li...> + * providerDrv.c: + [ 3416054 ] Provider continues despite SIGSEGV + (patch by Klaus Kaempf) + * httpAdapter.c: [ 3441028 ] sblim-sfcb fails on large https requests (patch by Klaus Kaempf) |
From: Chris B. <buc...@us...> - 2012-03-30 02:37:29
|
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 9cf0380bbc32b6fed4f0c67c7a831fc2c57b6ceb (commit) from 7c76b1030ba94cc0b09184130eb7700ce59b54d9 (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 9cf0380bbc32b6fed4f0c67c7a831fc2c57b6ceb Author: buccella <buc...@li...> Date: Thu Mar 29 22:37:21 2012 -0400 [ 3441028 ] sblim-sfcb fails on large https requests ----------------------------------------------------------------------- Summary of changes: diff --git a/ChangeLog b/ChangeLog index 697c5db..94876fc 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,5 +1,9 @@ 2012-03-29 Chris Buccella <buc...@li...> + * httpAdapter.c: + [ 3441028 ] sblim-sfcb fails on large https requests + (patch by Klaus Kampf) + * test/TestProviders/cmpiTestIndicationProvider.c: [ 3487419 ] TestIndication Provider Does Not Enable Correctly diff --git a/NEWS b/NEWS index 8a794f2..56f9a93 100644 --- a/NEWS +++ b/NEWS @@ -127,6 +127,7 @@ Bugs Fixed: - 3510456 GetProperty calls not passing keys to providers - 3408288 Safer Signal Handlers - 3487419 TestIndication Provider Does Not Enable Correctly +- 3441028 sblim-sfcb fails on large https requests Changes in 1.3.13 ================= diff --git a/contributions.txt b/contributions.txt index 83f0dda..ee42f76 100644 --- a/contributions.txt +++ b/contributions.txt @@ -115,6 +115,7 @@ Klaus Kampf, Novell 06/09/2011 [ 3047562 ] [patch] Create bzip2 tarballs on "make dist" 09/06/2011 [ 3400114 ] sfcb fails to start with ipv6 disabled 09/30/2011 [ 3416055 ] SIGSEGV sometimes does not print provider name +03/29/2012 [ 3441028 ] sblim-sfcb fails on large https requests Mike Brasher, Inova ------------------- diff --git a/httpAdapter.c b/httpAdapter.c index 9bb60bb..b19ad4a 100644 --- a/httpAdapter.c +++ b/httpAdapter.c @@ -457,7 +457,12 @@ readData(CommHndl conn_fd, char *into, int length) FD_SET(conn_fd.socket, &httpfds); while (c < length) { - isReady = +#ifdef USE_SSL + if (conn_fd.ssl && SSL_pending(conn_fd.ssl)) + isReady = 1; + else +#endif + isReady = select(conn_fd.socket + 1, &httpfds, NULL, NULL, &httpSelectTimeout); if (isReady == 0) { hooks/post-receive -- SFCB - Small Footprint CIM Broker |
From: Chris B. <buc...@us...> - 2012-03-30 02:33:46
|
Update of /cvsroot/sblim/sfcb In directory vz-cvs-3.sog:/tmp/cvs-serv15960 Modified Files: httpAdapter.c ChangeLog NEWS contributions.txt Log Message: [ 3441028 ] sblim-sfcb fails on large https requests Index: NEWS =================================================================== RCS file: /cvsroot/sblim/sfcb/NEWS,v retrieving revision 1.672 retrieving revision 1.673 diff -u -d -r1.672 -r1.673 --- NEWS 29 Mar 2012 21:19:43 -0000 1.672 +++ NEWS 30 Mar 2012 02:33:43 -0000 1.673 @@ -63,6 +63,7 @@ - 3510456 GetProperty calls not passing keys to providers - 3505407 Client openlog changes settings - 3408288 Safer Signal Handlers +- 3441028 sblim-sfcb fails on large https requests Changes in 1.3.13 ================= Index: httpAdapter.c =================================================================== RCS file: /cvsroot/sblim/sfcb/httpAdapter.c,v retrieving revision 1.102 retrieving revision 1.103 diff -u -d -r1.102 -r1.103 --- httpAdapter.c 13 Mar 2012 15:10:49 -0000 1.102 +++ httpAdapter.c 30 Mar 2012 02:33:43 -0000 1.103 @@ -404,7 +404,13 @@ FD_SET(conn_fd.socket,&httpfds); while (c < length) { - isReady = select(conn_fd.socket+1,&httpfds,NULL,NULL,&httpSelectTimeout); +#ifdef USE_SSL + if (conn_fd.ssl && SSL_pending(conn_fd.ssl)) + isReady = 1; + else +#endif + isReady = select(conn_fd.socket+1,&httpfds,NULL,NULL,&httpSelectTimeout); + if (isReady == 0) { c = -1; break; Index: contributions.txt =================================================================== RCS file: /cvsroot/sblim/sfcb/contributions.txt,v retrieving revision 1.71 retrieving revision 1.72 diff -u -d -r1.71 -r1.72 --- contributions.txt 28 Mar 2012 15:48:12 -0000 1.71 +++ contributions.txt 30 Mar 2012 02:33:43 -0000 1.72 @@ -114,6 +114,7 @@ 06/30/2010 [ 2968599 ] Wrong trace msg for invokeMethod (local interface) 06/09/2011 [ 3047562 ] [patch] Create bzip2 tarballs on "make dist" 09/30/2011 [ 3416055 ] SIGSEGV sometimes does not print provider name +03/29/2012 [ 3441028 ] sblim-sfcb fails on large https requests Mike Brasher, Inova ------------------- Index: ChangeLog =================================================================== RCS file: /cvsroot/sblim/sfcb/ChangeLog,v retrieving revision 1.751 retrieving revision 1.752 diff -u -d -r1.751 -r1.752 --- ChangeLog 29 Mar 2012 21:19:43 -0000 1.751 +++ ChangeLog 30 Mar 2012 02:33:43 -0000 1.752 @@ -1,5 +1,9 @@ 2012-03-29 Chris Buccella <buc...@li...> + * httpAdapter.c: + [ 3441028 ] sblim-sfcb fails on large https requests + (patch by Klaus Kaempf) + * providerDrv.c: [ 3408288 ] Safer Signal Handlers |
From: Chris B. <buc...@us...> - 2012-03-30 02:09:37
|
This is an automated email from the git hooks/post-receive script. It was generated because a ref change was pushed to the repository containing the project "SFCB - Small Footprint CIM Broker". The branch, master has been updated via 7c76b1030ba94cc0b09184130eb7700ce59b54d9 (commit) from 9dc17f55fdb6f60fadb2933bbf04f3704b4439dd (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 7c76b1030ba94cc0b09184130eb7700ce59b54d9 Author: buccella <buc...@li...> Date: Thu Mar 29 22:09:31 2012 -0400 [ 3487419 ] TestIndication Provider Does Not Enable Correctly ----------------------------------------------------------------------- Summary of changes: diff --git a/ChangeLog b/ChangeLog index eaffa80..697c5db 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,5 +1,8 @@ 2012-03-29 Chris Buccella <buc...@li...> + * test/TestProviders/cmpiTestIndicationProvider.c: + [ 3487419 ] TestIndication Provider Does Not Enable Correctly + * providerDrv.c: [ 3408288 ] Safer Signal Handlers diff --git a/NEWS b/NEWS index 48918d8..8a794f2 100644 --- a/NEWS +++ b/NEWS @@ -126,6 +126,7 @@ Bugs Fixed: - 3510458 Malformed XML response to GetProperty - 3510456 GetProperty calls not passing keys to providers - 3408288 Safer Signal Handlers +- 3487419 TestIndication Provider Does Not Enable Correctly Changes in 1.3.13 ================= diff --git a/test/TestProviders/cmpiTestIndicationProvider.c b/test/TestProviders/cmpiTestIndicationProvider.c index 3fb872c..0e9a7e5 100644 --- a/test/TestProviders/cmpiTestIndicationProvider.c +++ b/test/TestProviders/cmpiTestIndicationProvider.c @@ -116,8 +116,6 @@ CMPIStatus indProvActivateFilter const CMPISelectExp *exp, const char *clsName, const CMPIObjectPath * classPath, CMPIBoolean firstActivation) { fprintf(stderr, "+++ indProvActivateFilter()\n"); - enabled = 1; - fprintf(stderr, "--- enabled: %d\n", enabled); CMReturn(CMPI_RC_OK); } @@ -126,8 +124,6 @@ CMPIStatus indProvDeActivateFilter const CMPISelectExp *filter, const char *clsName, const CMPIObjectPath * classPath, CMPIBoolean lastActivation) { fprintf(stderr, "+++ indProvDeActivateFilter\n"); - enabled = 0; - fprintf(stderr, "--- disabled: %d\n", enabled); CMReturn(CMPI_RC_OK); } @@ -135,6 +131,8 @@ CMPIStatus indProvEnableIndications(CMPIIndicationMI * cThis, const CMPIContext *ctx) { fprintf(stderr, "+++ indProvEnableIndications\n"); + enabled = 1; + fprintf(stderr, "--- enabled: %d\n", enabled); CMReturn(CMPI_RC_OK); } @@ -142,6 +140,8 @@ CMPIStatus indProvDisableIndications(CMPIIndicationMI * cThis, const CMPIContext *ctx) { fprintf(stderr, "+++ indProvDisableIndications\n"); + enabled = 0; + fprintf(stderr, "--- disabled: %d\n", enabled); CMReturn(CMPI_RC_OK); } hooks/post-receive -- SFCB - Small Footprint CIM Broker |
From: Chris B. <buc...@us...> - 2012-03-30 01:55:53
|
This is an automated email from the git hooks/post-receive script. It was generated because a ref change was pushed to the repository containing the project "SFCB - Small Footprint CIM Broker". The branch, master has been updated via 9dc17f55fdb6f60fadb2933bbf04f3704b4439dd (commit) via 012889dc75df54ff558d2756fe256118900fc233 (commit) from a1daaf13257360db66b9bef6fc03961d90b4e2ac (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 9dc17f55fdb6f60fadb2933bbf04f3704b4439dd Author: buccella <buc...@li...> Date: Thu Mar 29 21:55:46 2012 -0400 [ 3408288 ] Safer Signal Handlers commit 012889dc75df54ff558d2756fe256118900fc233 Author: buccella <buc...@li...> Date: Thu Mar 29 21:53:25 2012 -0400 [ 3512575 ] Add indication delivery thread limit and timeout ----------------------------------------------------------------------- Summary of changes: diff --git a/ChangeLog b/ChangeLog index c0af307..eaffa80 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,5 +1,8 @@ 2012-03-29 Chris Buccella <buc...@li...> + * providerDrv.c: + [ 3408288 ] Safer Signal Handlers + * interopProvider.c, providerDrv.c, control.c, sfcb.cfg.pre.in: [ 3512575 ] Add indication delivery thread limit and timeout diff --git a/NEWS b/NEWS index f730c2e..48918d8 100644 --- a/NEWS +++ b/NEWS @@ -125,6 +125,7 @@ Bugs Fixed: - 3504607 CMPIRole Support in brokerUpc - 3510458 Malformed XML response to GetProperty - 3510456 GetProperty calls not passing keys to providers +- 3408288 Safer Signal Handlers Changes in 1.3.13 ================= diff --git a/providerDrv.c b/providerDrv.c index c506947..5660743 100644 --- a/providerDrv.c +++ b/providerDrv.c @@ -174,6 +174,10 @@ extern void uninitSocketPairs(); extern void sunsetControl(); extern void uninitGarbageCollector(); +static BinResponseHdr *err_crash_resp; /* holds generic "we crashed" response */ +static long ecr_len; +static long makeSafeResponse(BinResponseHdr *hdr, BinResponseHdr **out); + typedef struct parms { int requestor; BinRequestHdr *req; @@ -520,19 +524,14 @@ static void handleSigSegv(int sig) { Parms *threads = activeThreadsFirst; - char msg[1024]; - BinResponseHdr *resp; + int dmy = -1; mlogf(M_ERROR, M_SHOW, "-#- %s - %d provider exiting due to a SIGSEGV signal\n", processName, currentProc); while (threads) { - snprintf(msg, 1023, - "*** Provider %s(%d) exiting due to a SIGSEGV signal", - threads->pInfo->providerName, currentProc); - resp = errorCharsResp(CMPI_RC_ERR_FAILED, msg); - sendResponse(threads->requestor, resp); - threads = threads->next; + spSendResult(&threads->requestor, &dmy, err_crash_resp, ecr_len); + threads=threads->next; } } @@ -1005,6 +1004,13 @@ getProcess(ProviderInfo * info, ProviderProcess ** proc) _SFCB_ABORT(); } + char msg[1024]; + snprintf(msg,1023, "*** Provider %s(%d) exiting due to a SIGSEGV signal", + processName, currentProc); + BinResponseHdr* buf = errorCharsResp(CMPI_RC_ERR_FAILED, msg); + + ecr_len = makeSafeResponse(buf, &err_crash_resp); + processProviderInvocationRequests(info->providerName); _SFCB_RETURN(0); } @@ -1116,123 +1122,127 @@ typedef struct provHandler { int requestor); } ProvHandler; -static int -sendResponse(int requestor, BinResponseHdr * hdr) +static long +makeSafeResponse(BinResponseHdr* hdr, BinResponseHdr** out) { - _SFCB_ENTER(TRACE_PROVIDERDRV, "sendResponse"); - int i, - rvl = 0, - ol, - size, - dmy = -1; - long l; - char str_time[26]; - BinResponseHdr *buf; + int i, rvl=0, ol, size; + long len; + char str_time[26]; + BinResponseHdr *outHdr = NULL; size = sizeof(BinResponseHdr) + ((hdr->count - 1) * sizeof(MsgSegment)); if (hdr->rvValue) { - switch (hdr->rv.type) { + switch(hdr->rv.type) { case CMPI_string: if (hdr->rv.value.string) { - if (hdr->rv.value.string->hdl) { - hdr->rv.value.string = hdr->rv.value.string->hdl; - } else - hdr->rv.value.string = NULL; + if (hdr->rv.value.string->hdl) { + hdr->rv.value.string= hdr->rv.value.string->hdl; + } + else hdr->rv.value.string=NULL; } - hdr->rv.type = CMPI_chars; + + hdr->rv.type=CMPI_chars; + /* note: a break statement is NOT missing here... */ case CMPI_chars: - hdr->rvEnc = setCharsMsgSegment((char *) hdr->rv.value.string); - rvl = hdr->rvEnc.length; + hdr->rvEnc=setCharsMsgSegment((char*)hdr->rv.value.string); + rvl=hdr->rvEnc.length; break; case CMPI_dateTime: dateTime2chars(hdr->rv.value.dateTime, NULL, str_time); - hdr->rvEnc.type = MSG_SEG_CHARS; - hdr->rvEnc.length = rvl = 26; - hdr->rvEnc.data = &str_time; + hdr->rvEnc.type=MSG_SEG_CHARS; + hdr->rvEnc.length=rvl=26; + hdr->rvEnc.data=&str_time; break; case CMPI_ref: - mlogf(M_ERROR, M_SHOW, "-#- not supporting refs\n"); + mlogf(M_ERROR,M_SHOW,"-#- not supporting refs\n"); abort(); - default:; + default: ; } } - for (l = size, i = 0; i < hdr->count; i++) { - /* - * add padding length to calculation - */ - l += (hdr->object[i].type == - MSG_SEG_CHARS ? PADDED_LEN(hdr->object[i].length) : hdr-> - object[i].length); + for (len = size, i = 0; i < hdr->count; i++) { + /* add padding length to calculation */ + len += (hdr->object[i].type == MSG_SEG_CHARS ? PADDED_LEN(hdr->object[i].length) : hdr->object[i].length); } - buf = (BinResponseHdr *) malloc(l + rvl + 8); - memcpy(buf, hdr, size); + outHdr = malloc(len +rvl + 8); + memcpy(outHdr, hdr, size); if (rvl) { ol = hdr->rvEnc.length; - l = size; + len=size; switch (hdr->rvEnc.type) { case MSG_SEG_CHARS: - memcpy(((char *) buf) + l, hdr->rvEnc.data, ol); - buf->rvEnc.data = (void *) l; - l += ol; + memcpy(((char *) outHdr) + len, hdr->rvEnc.data, ol); + outHdr->rvEnc.data = (void *) len; + len += ol; break; - } - size = l; + } + size=len; } - for (l = size, i = 0; i < hdr->count; i++) { + for (len = size, i = 0; i < hdr->count; i++) { ol = hdr->object[i].length; switch (hdr->object[i].type) { case MSG_SEG_OBJECTPATH: getSerializedObjectPath((CMPIObjectPath *) hdr->object[i].data, - ((char *) buf) + l); - buf->object[i].data = (void *) l; - l += ol; + ((char *) outHdr) + len); + outHdr->object[i].data = (void *) len; + len += ol; break; case MSG_SEG_INSTANCE: getSerializedInstance((CMPIInstance *) hdr->object[i].data, - ((char *) buf) + l); - buf->object[i].data = (void *) l; - l += ol; + ((char *) outHdr) + len); + outHdr->object[i].data = (void *) len; + len += ol; break; case MSG_SEG_CHARS: - memcpy(((char *) buf) + l, hdr->object[i].data, ol); - buf->object[i].data = (void *) l; - buf->object[i].length = PADDED_LEN(ol); - l += buf->object[i].length; + memcpy(((char *) outHdr) + len, hdr->object[i].data, ol); + outHdr->object[i].data = (void *) len; + outHdr->object[i].length = PADDED_LEN(ol); + len += outHdr->object[i].length; break; case MSG_SEG_CONSTCLASS: getSerializedConstClass((CMPIConstClass *) hdr->object[i].data, - ((char *) buf) + l); - buf->object[i].data = (void *) l; - l += ol; + ((char *) outHdr) + len); + outHdr->object[i].data = (void *) len; + len += ol; break; case MSG_SEG_ARGS: getSerializedArgs((CMPIArgs *) hdr->object[i].data, - ((char *) buf) + l); - buf->object[i].data = (void *) l; - l += ol; + ((char *) outHdr) + len); + outHdr->object[i].data = (void *) len; + len += ol; break; + #ifdef HAVE_QUALREP case MSG_SEG_QUALIFIER: getSerializedQualifier((CMPIQualifierDecl *) hdr->object[i].data, - ((char *) buf) + l); - buf->object[i].data = (void *) l; - l += ol; + ((char *) outHdr) + len); + outHdr->object[i].data = (void *) len; + len += ol; break; #endif default: - mlogf(M_ERROR, M_SHOW, "--- bad sendResponse request %d\n", - hdr->object[i].type); - _SFCB_ABORT(); + mlogf(M_ERROR,M_SHOW,"--- bad sendResponse request %d\n", hdr->object[i].type); + abort(); } } - _SFCB_TRACE(1, ("--- Sending result to %d-%lu", - requestor, getInode(requestor))); + *out = outHdr; + return len; +} + +static int sendResponse(int requestor, BinResponseHdr * hdr) +{ + _SFCB_ENTER(TRACE_PROVIDERDRV, "sendResponse"); + int dmy=-1; + BinResponseHdr* buf = (void*)&dmy; + long l = makeSafeResponse(hdr, &buf); + + _SFCB_TRACE(1, ("--- Sending result %p to %d-%lu size %lu", + buf, requestor,getInode(requestor), l)); spSendResult(&requestor, &dmy, buf, l); free(buf); diff --git a/sfcb.cfg.pre.in b/sfcb.cfg.pre.in index be7922a..bd587df 100644 --- a/sfcb.cfg.pre.in +++ b/sfcb.cfg.pre.in @@ -278,6 +278,25 @@ sslCiphers: ALL:!ADH:!LOW:!EXP:!MD5:@STRENGTH ## Default is 0. If trace mask is set (by any method) the default is 1. #traceLevel: 0 +##---------------------------- Indications ---------------------------- + +## Indication provider calls to CBDeliverIndication() cause a thread to spawn +## which will handle the delivery. This allows CBDeliverIndication() to return +## without waiting for the delivery to complete. However, spawning an unlimited +## number of threads will cause increased resource usage. This limit will +## prevent unlimited thread creation. If the limit is reached, calls to +## CBDeliverIndication will block. +## Default is 30 +#indicationDeliveryThreadLimit: 30 + +## When the indicationDeliveryThreadLimit is reached, delivery requests will +## block, waiting to create a thread. This timeout allows for the indication +## to be dropped if a new thread cannot be created within a given time. +## Note that this dropped indication will not be retried, even if reliable +## indications support is enabled. +## Default is 0 (no timeout) +#indicationDeliveryThreadTimeout: 0 + ##----------------------------Reliable Indications ---------------------------- ## Interval between indication retry attempts ## Default is 20 seconds hooks/post-receive -- SFCB - Small Footprint CIM Broker |
From: Chris B. <buc...@us...> - 2012-03-29 21:19:47
|
Update of /cvsroot/sblim/sfcb In directory vz-cvs-3.sog:/tmp/cvs-serv21543 Modified Files: providerDrv.c ChangeLog NEWS Log Message: [ 3408288 ] Safer Signal Handlers Index: NEWS =================================================================== RCS file: /cvsroot/sblim/sfcb/NEWS,v retrieving revision 1.671 retrieving revision 1.672 diff -u -d -r1.671 -r1.672 --- NEWS 29 Mar 2012 14:39:53 -0000 1.671 +++ NEWS 29 Mar 2012 21:19:43 -0000 1.672 @@ -62,6 +62,7 @@ - 3510458 Malformed XML response to GetProperty - 3510456 GetProperty calls not passing keys to providers - 3505407 Client openlog changes settings +- 3408288 Safer Signal Handlers Changes in 1.3.13 ================= Index: providerDrv.c =================================================================== RCS file: /cvsroot/sblim/sfcb/providerDrv.c,v retrieving revision 1.112 retrieving revision 1.113 diff -u -d -r1.112 -r1.113 --- providerDrv.c 29 Mar 2012 15:39:33 -0000 1.112 +++ providerDrv.c 29 Mar 2012 21:19:43 -0000 1.113 @@ -169,6 +169,9 @@ extern void sunsetControl(); extern void uninitGarbageCollector(); +static BinResponseHdr *err_crash_resp; /* holds generic "we crashed" response */ +static long ecr_len; +static long makeSafeResponse(BinResponseHdr *hdr, BinResponseHdr **out); typedef struct parms { int requestor; @@ -437,17 +440,13 @@ static void handleSigSegv(int sig) { Parms *threads=activeThreadsFirst; - char msg[1024]; - BinResponseHdr *resp; - + int dmy = -1; + mlogf(M_ERROR,M_SHOW, "-#- %s - %d provider exiting due to a SIGSEGV signal\n", processName, currentProc); while (threads) { - snprintf(msg,1023, "*** Provider %s(%d) exiting due to a SIGSEGV signal", - threads->pInfo->providerName, currentProc); - resp = errorCharsResp(CMPI_RC_ERR_FAILED, msg); - sendResponse(threads->requestor, resp); - threads=threads->next; + spSendResult(&threads->requestor, &dmy, err_crash_resp, ecr_len); + threads=threads->next; } } @@ -870,6 +869,13 @@ _SFCB_ABORT(); } + char msg[1024]; + snprintf(msg,1023, "*** Provider %s(%d) exiting due to a SIGSEGV signal", + processName, currentProc); + BinResponseHdr* buf = errorCharsResp(CMPI_RC_ERR_FAILED, msg); + + ecr_len = makeSafeResponse(buf, &err_crash_resp); + processProviderInvocationRequests(info->providerName); _SFCB_RETURN(0); } @@ -979,122 +985,130 @@ BinResponseHdr *(*handler) (BinRequestHdr *, ProviderInfo * info, int requestor); } ProvHandler; +static long makeSafeResponse(BinResponseHdr* hdr, BinResponseHdr** out) { -static int sendResponse(int requestor, BinResponseHdr * hdr) -{ - _SFCB_ENTER(TRACE_PROVIDERDRV, "sendResponse"); - int i, rvl=0, ol, size, dmy=-1; - long l; - char str_time[26]; - BinResponseHdr *buf; - - size = sizeof(BinResponseHdr) + ((hdr->count - 1) * sizeof(MsgSegment)); + int i, rvl=0, ol, size; + long len; + char str_time[26]; + BinResponseHdr *outHdr = NULL; - if (hdr->rvValue) { - switch(hdr->rv.type) { - case CMPI_string: - if (hdr->rv.value.string) { - if (hdr->rv.value.string->hdl) { - hdr->rv.value.string= hdr->rv.value.string->hdl; - } - else hdr->rv.value.string=NULL; - } - hdr->rv.type=CMPI_chars; - /* note: a break statement is NOT missing here... */ - case CMPI_chars: - hdr->rvEnc=setCharsMsgSegment((char*)hdr->rv.value.string); - rvl=hdr->rvEnc.length; - break; - case CMPI_dateTime: - dateTime2chars(hdr->rv.value.dateTime, NULL, str_time); - hdr->rvEnc.type=MSG_SEG_CHARS; - hdr->rvEnc.length=rvl=26; - hdr->rvEnc.data=&str_time; - break; - case CMPI_ref: - mlogf(M_ERROR,M_SHOW,"-#- not supporting refs\n"); - abort(); - default: ; + size = sizeof(BinResponseHdr) + ((hdr->count - 1) * sizeof(MsgSegment)); + + if (hdr->rvValue) { + switch(hdr->rv.type) { + case CMPI_string: + if (hdr->rv.value.string) { + if (hdr->rv.value.string->hdl) { + hdr->rv.value.string= hdr->rv.value.string->hdl; + } + else hdr->rv.value.string=NULL; } - } + hdr->rv.type=CMPI_chars; + /* note: a break statement is NOT missing here... */ + case CMPI_chars: + hdr->rvEnc=setCharsMsgSegment((char*)hdr->rv.value.string); + rvl=hdr->rvEnc.length; + break; + case CMPI_dateTime: + dateTime2chars(hdr->rv.value.dateTime, NULL, str_time); + hdr->rvEnc.type=MSG_SEG_CHARS; + hdr->rvEnc.length=rvl=26; + hdr->rvEnc.data=&str_time; + break; + case CMPI_ref: + mlogf(M_ERROR,M_SHOW,"-#- not supporting refs\n"); + abort(); + default: ; + } + } - for (l = size, i = 0; i < hdr->count; i++) { - /* add padding length to calculation */ - l += (hdr->object[i].type == MSG_SEG_CHARS ? PADDED_LEN(hdr->object[i].length) : hdr->object[i].length); - } + for (len = size, i = 0; i < hdr->count; i++) { + /* add padding length to calculation */ + len += (hdr->object[i].type == MSG_SEG_CHARS ? PADDED_LEN(hdr->object[i].length) : hdr->object[i].length); + } - buf = (BinResponseHdr *) malloc(l +rvl + 8); - memcpy(buf, hdr, size); + outHdr = malloc(len +rvl + 8); + memcpy(outHdr, hdr, size); - if (rvl) { - ol = hdr->rvEnc.length; - l=size; - switch (hdr->rvEnc.type) { - case MSG_SEG_CHARS: - memcpy(((char *) buf) + l, hdr->rvEnc.data, ol); - buf->rvEnc.data = (void *) l; - l += ol; - break; - } - size=l; - } + if (rvl) { + ol = hdr->rvEnc.length; + len=size; + switch (hdr->rvEnc.type) { + case MSG_SEG_CHARS: + memcpy(((char *) outHdr) + len, hdr->rvEnc.data, ol); + outHdr->rvEnc.data = (void *) len; + len += ol; + break; + } + size=len; + } - for (l = size, i = 0; i < hdr->count; i++) { - ol = hdr->object[i].length; - switch (hdr->object[i].type) { - case MSG_SEG_OBJECTPATH: - getSerializedObjectPath((CMPIObjectPath *) hdr->object[i].data, - ((char *) buf) + l); - buf->object[i].data = (void *) l; - l += ol; - break; - case MSG_SEG_INSTANCE: - getSerializedInstance((CMPIInstance *) hdr->object[i].data, - ((char *) buf) + l); - buf->object[i].data = (void *) l; - l += ol; - break; - case MSG_SEG_CHARS: - memcpy(((char *) buf) + l, hdr->object[i].data, ol); - buf->object[i].data = (void *) l; - buf->object[i].length = PADDED_LEN(ol); - l += buf->object[i].length; - break; - case MSG_SEG_CONSTCLASS: - getSerializedConstClass((CMPIConstClass *) hdr->object[i].data, - ((char *) buf) + l); - buf->object[i].data = (void *) l; - l += ol; - break; - case MSG_SEG_ARGS: - getSerializedArgs((CMPIArgs *) hdr->object[i].data, - ((char *) buf) + l); - buf->object[i].data = (void *) l; - l += ol; - break; + for (len = size, i = 0; i < hdr->count; i++) { + ol = hdr->object[i].length; + switch (hdr->object[i].type) { + case MSG_SEG_OBJECTPATH: + getSerializedObjectPath((CMPIObjectPath *) hdr->object[i].data, + ((char *) outHdr) + len); + outHdr->object[i].data = (void *) len; + len += ol; + break; + case MSG_SEG_INSTANCE: + getSerializedInstance((CMPIInstance *) hdr->object[i].data, + ((char *) outHdr) + len); + outHdr->object[i].data = (void *) len; + len += ol; + break; + case MSG_SEG_CHARS: + memcpy(((char *) outHdr) + len, hdr->object[i].data, ol); + outHdr->object[i].data = (void *) len; + outHdr->object[i].length = PADDED_LEN(ol); + len += outHdr->object[i].length; + break; + case MSG_SEG_CONSTCLASS: + getSerializedConstClass((CMPIConstClass *) hdr->object[i].data, + ((char *) outHdr) + len); + outHdr->object[i].data = (void *) len; + len += ol; + break; + case MSG_SEG_ARGS: + getSerializedArgs((CMPIArgs *) hdr->object[i].data, + ((char *) outHdr) + len); + outHdr->object[i].data = (void *) len; + len += ol; + break; #ifdef HAVE_QUALREP - case MSG_SEG_QUALIFIER: - getSerializedQualifier((CMPIQualifierDecl *) hdr->object[i].data, - ((char *) buf) + l); - buf->object[i].data = (void *) l; - l += ol; - break; + case MSG_SEG_QUALIFIER: + getSerializedQualifier((CMPIQualifierDecl *) hdr->object[i].data, + ((char *) outHdr) + len); + outHdr->object[i].data = (void *) len; + len += ol; + break; #endif - default: - mlogf(M_ERROR,M_SHOW,"--- bad sendResponse request %d\n", hdr->object[i].type); - _SFCB_ABORT(); - } - } + default: + mlogf(M_ERROR,M_SHOW,"--- bad sendResponse request %d\n", hdr->object[i].type); + abort(); + } + } - _SFCB_TRACE(1, ("--- Sending result to %d-%lu", - requestor,getInode(requestor))); + *out = outHdr; + return len; +} + +static int sendResponse(int requestor, BinResponseHdr * hdr) +{ + _SFCB_ENTER(TRACE_PROVIDERDRV, "sendResponse"); + int dmy=-1; + BinResponseHdr* buf = (void*)&dmy; + long l = makeSafeResponse(hdr, &buf); + + _SFCB_TRACE(1, ("--- Sending result %p to %d-%lu size %lu", + buf, requestor,getInode(requestor), l)); spSendResult(&requestor, &dmy, buf, l); free(buf); _SFCB_RETURN(0); } - int sendResponseChunk(CMPIArray *r,int requestor, CMPIType type) { int i, count; Index: ChangeLog =================================================================== RCS file: /cvsroot/sblim/sfcb/ChangeLog,v retrieving revision 1.750 retrieving revision 1.751 diff -u -d -r1.750 -r1.751 --- ChangeLog 29 Mar 2012 14:39:53 -0000 1.750 +++ ChangeLog 29 Mar 2012 21:19:43 -0000 1.751 @@ -1,3 +1,8 @@ +2012-03-29 Chris Buccella <buc...@li...> + + * providerDrv.c: + [ 3408288 ] Safer Signal Handlers + 2012-03-29 Michael Chase-Salerno <br...@li...> * cimcClientSfcbLocal.c: |
From: Chris B. <buc...@us...> - 2012-03-29 18:26:20
|
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 a1daaf13257360db66b9bef6fc03961d90b4e2ac (commit) from befeb9d217f804a51bd5536fa47a2f833803c18c (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 a1daaf13257360db66b9bef6fc03961d90b4e2ac Author: buccella <buc...@li...> Date: Thu Mar 29 14:25:55 2012 -0400 [ 3512575 ] Add indication delivery thread limit and timeout ----------------------------------------------------------------------- Summary of changes: diff --git a/ChangeLog b/ChangeLog index 3740b12..c0af307 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,8 @@ +2012-03-29 Chris Buccella <buc...@li...> + + * interopProvider.c, providerDrv.c, control.c, sfcb.cfg.pre.in: + [ 3512575 ] Add indication delivery thread limit and timeout + 2012-03-28 Chris Buccella <buc...@li...> * cimXmlOps.y: diff --git a/NEWS b/NEWS index 7187ff2..f730c2e 100644 --- a/NEWS +++ b/NEWS @@ -100,6 +100,7 @@ New Features: - 3367332 RHOST Support for PAM - 3367361 Allow for releasing auth handle after CIM request completes - 3367363 Add CMPIRole Support +- 3512575 Add indication delivery thread limit and timeout Bugs Fixed: diff --git a/control.c b/control.c index 108d227..3b2e7f3 100644 --- a/control.c +++ b/control.c @@ -126,6 +126,8 @@ Control init[] = { {"DeliveryRetryAttempts",1,"3"}, {"SubscriptionRemovalTimeInterval",1,"2592000"}, {"SubscriptionRemovalAction",1,"2"}, + {"indicationDeliveryThreadLimit",1,"30"}, + {"indicationDeliveryThreadTimeout",1,"0"}, }; diff --git a/interopProvider.c b/interopProvider.c index 84b4cd9..8f44a21 100644 --- a/interopProvider.c +++ b/interopProvider.c @@ -37,6 +37,7 @@ #include "objectpath.h" #include <time.h> #include "instance.h" +#include "control.h" #define LOCALCLASSNAME "InteropProvider" @@ -87,6 +88,19 @@ static UtilHashTable *filterHt = NULL; static UtilHashTable *handlerHt = NULL; static UtilHashTable *subscriptionHt = NULL; +/* for indication delivery */ +static long MAX_IND_THREADS; +static long IND_THREAD_TO; +static sem_t availThreadsSem; +struct timespec availThreadWait; + +typedef struct delivery_info { + const CMPIContext* ctx; + CMPIObjectPath *hop; + CMPIArgs* hin; +} DeliveryInfo; + + /* * ------------------------------------------------------------------------- */ @@ -817,6 +831,10 @@ initInterOp(const CMPIBroker * broker, const CMPIContext *ctx) } CMRelease(ctxLocal); + getControlNum("indicationDeliveryThreadLimit",&MAX_IND_THREADS); + getControlNum("indicationDeliveryThreadTimeout",&IND_THREAD_TO); + sem_init(&availThreadsSem, 0, MAX_IND_THREADS); + _SFCB_EXIT(); } @@ -1340,24 +1358,22 @@ InteropProviderMethodCleanup(CMPIMethodMI * mi, * ------------------------------------------------------------------------- */ -typedef struct delivery_info { - const CMPIContext* ctx; - CMPIObjectPath *hop; - CMPIArgs* hin; -} DeliveryInfo; void * sendIndForDelivery(void *di) { _SFCB_ENTER(TRACE_INDPROVIDER, "sendIndForDelivery"); + fprintf(stderr, "thread started %p\n", (void*)pthread_self()); DeliveryInfo* delInfo; delInfo = (DeliveryInfo*)di; CBInvokeMethod(_broker,delInfo->ctx,delInfo->hop,"_deliver",delInfo->hin,NULL,NULL); - + sleep(5); CMRelease((CMPIContext*)delInfo->ctx); CMRelease(delInfo->hop); CMRelease(delInfo->hin); free(di); + sem_post(&availThreadsSem); + fprintf(stderr, "thread exiting %p\n", (void*)pthread_self()); pthread_exit(NULL); } @@ -1438,10 +1454,25 @@ InteropProviderInvokeMethod(CMPIMethodMI * mi, di->ctx = native_clone_CMPIContext(ctx); di->hop = CMClone(su->ha->hop, NULL); di->hin = CMClone(hin, NULL); - - pthread_create(&ind_thread, &it_attr,&sendIndForDelivery,(void *) di); - - _SFCB_TRACE(1, ("--- invoke handler status: %d", st.rc)); + if (IND_THREAD_TO > 0) { + availThreadWait.tv_sec = time(NULL) + IND_THREAD_TO; + while ((sem_timedwait(&availThreadsSem, &availThreadWait)) == -1) { + if (errno == ETIMEDOUT) { + mlogf(M_ERROR,M_SHOW,"Timedout waiting to create indication delivery thread; dropping indication\n"); + break; + } + else /* probably EINTR */ + continue; + } + } + else { + sem_wait(&availThreadsSem); + } + int pcrc = pthread_create(&ind_thread, &it_attr,&sendIndForDelivery,(void *) di); + + _SFCB_TRACE(1,("--- indication delivery thread status: %d", pcrc)); + if (pcrc) + mlogf(M_ERROR,M_SHOW,"pthread_create() failed for indication delivery thread\n"); } } } diff --git a/providerDrv.c b/providerDrv.c index a198e81..c506947 100644 --- a/providerDrv.c +++ b/providerDrv.c @@ -3561,9 +3561,12 @@ processProviderInvocationRequests(char *name) if (parms->req->operation == OPS_LoadProvider || debugMode) { processProviderInvocationRequestsThread(parms); } else { - pthread_create(&t, &tattr, (void *(*)(void *)) - processProviderInvocationRequestsThread, - (void *) parms); + int pcrc = pthread_create(&t, &tattr, (void *(*)(void *)) + processProviderInvocationRequestsThread, + (void *) parms); + if (pcrc) + mlogf(M_ERROR,M_SHOW,"pthread_create() failed for handling provider request\n"); + } } else { free(parms); hooks/post-receive -- SFCB - Small Footprint CIM Broker |
From: Chris B. <buc...@us...> - 2012-03-29 15:39:36
|
Update of /cvsroot/sblim/sfcb In directory vz-cvs-3.sog:/tmp/cvs-serv19647 Modified Files: interopProvider.c providerDrv.c sfcb.cfg.pre.in Log Message: [ 3512575 ] Add indication delivery thread limit and timeout Index: sfcb.cfg.pre.in =================================================================== RCS file: /cvsroot/sblim/sfcb/sfcb.cfg.pre.in,v retrieving revision 1.30 retrieving revision 1.31 diff -u -d -r1.30 -r1.31 --- sfcb.cfg.pre.in 4 Feb 2012 01:03:31 -0000 1.30 +++ sfcb.cfg.pre.in 29 Mar 2012 15:39:33 -0000 1.31 @@ -256,6 +256,25 @@ ## Default is 0. If trace mask is set (by any method) the default is 1. #traceLevel: 0 +##---------------------------- Indications ---------------------------- + +## Indication provider calls to CBDeliverIndication() cause a thread to spawn +## which will handle the delivery. This allows CBDeliverIndication() to return +## without waiting for the delivery to complete. However, spawning an unlimited +## number of threads will cause increased resource usage. This limit will +## prevent unlimited thread creation. If the limit is reached, calls to +## CBDeliverIndication will block. +## Default is 30 +#indicationDeliveryThreadLimit: 30 + +## When the indicationDeliveryThreadLimit is reached, delivery requests will +## block, waiting to create a thread. This timeout allows for the indication +## to be dropped if a new thread cannot be created within a given time. +## Note that this dropped indication will not be retried, even if reliable +## indications support is enabled. +## Default is 0 (no timeout) +#indicationDeliveryThreadTimeout: 0 + ##----------------------------Reliable Indications ---------------------------- ## Interval between indication retry attempts ## Default is 20 seconds Index: interopProvider.c =================================================================== RCS file: /cvsroot/sblim/sfcb/interopProvider.c,v retrieving revision 1.57 retrieving revision 1.58 diff -u -d -r1.57 -r1.58 --- interopProvider.c 29 Mar 2012 13:57:10 -0000 1.57 +++ interopProvider.c 29 Mar 2012 15:39:33 -0000 1.58 @@ -86,6 +86,18 @@ static UtilHashTable *handlerHt = NULL; static UtilHashTable *subscriptionHt = NULL; +/* for indication delivery */ +static long MAX_IND_THREADS; +static long IND_THREAD_TO; +static sem_t availThreadsSem; +struct timespec availThreadWait; + +typedef struct delivery_info { + const CMPIContext* ctx; + CMPIObjectPath *hop; + CMPIArgs* hin; +} DeliveryInfo; + /* ------------------------------------------------------------------------- */ static int interOpNameSpace( @@ -760,7 +772,11 @@ CMRelease(enm); } CMRelease(ctxLocal); - + + getControlNum("indicationDeliveryThreadLimit",&MAX_IND_THREADS); + getControlNum("indicationDeliveryThreadTimeout",&IND_THREAD_TO); + sem_init(&availThreadsSem, 0, MAX_IND_THREADS); + _SFCB_EXIT(); } @@ -1241,12 +1257,6 @@ _SFCB_RETURN(st); } -typedef struct delivery_info { - const CMPIContext* ctx; - CMPIObjectPath *hop; - CMPIArgs* hin; -} DeliveryInfo; - void * sendIndForDelivery(void *di) { _SFCB_ENTER(TRACE_INDPROVIDER, "sendIndForDelivery"); @@ -1259,6 +1269,7 @@ CMRelease(delInfo->hop); CMRelease(delInfo->hin); free(di); + sem_post(&availThreadsSem); pthread_exit(NULL); } @@ -1334,9 +1345,25 @@ di->hop = CMClone(su->ha->hop, NULL); di->hin = CMClone(hin, NULL); - pthread_create(&ind_thread, &it_attr,&sendIndForDelivery,(void *) di); + if (IND_THREAD_TO > 0) { + availThreadWait.tv_sec = time(NULL) + IND_THREAD_TO; + while ((sem_timedwait(&availThreadsSem, &availThreadWait)) == -1) { + if (errno == ETIMEDOUT) { + mlogf(M_ERROR,M_SHOW,"Timedout waiting to create indication delivery thread; dropping indication\n"); + break; + } + else /* probably EINTR */ + continue; + } + } + else { + sem_wait(&availThreadsSem); + } + int pcrc = pthread_create(&ind_thread, &it_attr,&sendIndForDelivery,(void *) di); + _SFCB_TRACE(1,("--- indication delivery thread status: %d", pcrc)); + if (pcrc) + mlogf(M_ERROR,M_SHOW,"pthread_create() failed for indication delivery thread\n"); - _SFCB_TRACE(1,("--- invoke handler status: %d",st.rc)); } } } @@ -1383,7 +1410,7 @@ _SFCB_TRACE(1,("--- Invalid request method: %s",methodName)); setStatus(&st, CMPI_RC_ERR_METHOD_NOT_FOUND, "Invalid request method"); } - + _SFCB_RETURN(st); } Index: providerDrv.c =================================================================== RCS file: /cvsroot/sblim/sfcb/providerDrv.c,v retrieving revision 1.111 retrieving revision 1.112 diff -u -d -r1.111 -r1.112 --- providerDrv.c 26 Mar 2012 18:32:25 -0000 1.111 +++ providerDrv.c 29 Mar 2012 15:39:33 -0000 1.112 @@ -3113,8 +3113,11 @@ processProviderInvocationRequestsThread(parms); } else { - pthread_create(&t, &tattr, (void *(*)(void *)) + int pcrc = pthread_create(&t, &tattr, (void *(*)(void *)) processProviderInvocationRequestsThread, (void *) parms); + if (pcrc) + mlogf(M_ERROR,M_SHOW,"pthread_create() failed for handling provider request\n"); + } } else { |
From: Michael Chase-S. <mc...@us...> - 2012-03-29 14:39:55
|
Update of /cvsroot/sblim/sfcb In directory vz-cvs-3.sog:/tmp/cvs-serv12046 Modified Files: ChangeLog NEWS cimcClientSfcbLocal.c Log Message: [ 3505407 ] Client openlog changes settings Index: NEWS =================================================================== RCS file: /cvsroot/sblim/sfcb/NEWS,v retrieving revision 1.670 retrieving revision 1.671 diff -u -d -r1.670 -r1.671 --- NEWS 28 Mar 2012 15:48:12 -0000 1.670 +++ NEWS 29 Mar 2012 14:39:53 -0000 1.671 @@ -61,6 +61,7 @@ - 3512425 SequenceContext needs to be set at startup - 3510458 Malformed XML response to GetProperty - 3510456 GetProperty calls not passing keys to providers +- 3505407 Client openlog changes settings Changes in 1.3.13 ================= Index: cimcClientSfcbLocal.c =================================================================== RCS file: /cvsroot/sblim/sfcb/cimcClientSfcbLocal.c,v retrieving revision 1.45 retrieving revision 1.46 diff -u -d -r1.45 -r1.46 --- cimcClientSfcbLocal.c 12 Mar 2012 22:30:52 -0000 1.45 +++ cimcClientSfcbLocal.c 29 Mar 2012 14:39:53 -0000 1.46 @@ -2043,8 +2043,6 @@ ClientEnv *env = (ClientEnv*)malloc(sizeof(ClientEnv)); env->hdl=NULL; env->ft=&localFT; - // enable logging when called from sfcc - startLogging(LOG_ERR,0); // enable trace logging _SFCB_TRACE_INIT(); Index: ChangeLog =================================================================== RCS file: /cvsroot/sblim/sfcb/ChangeLog,v retrieving revision 1.749 retrieving revision 1.750 diff -u -d -r1.749 -r1.750 --- ChangeLog 29 Mar 2012 13:57:09 -0000 1.749 +++ ChangeLog 29 Mar 2012 14:39:53 -0000 1.750 @@ -1,5 +1,10 @@ 2012-03-29 Michael Chase-Salerno <br...@li...> + * cimcClientSfcbLocal.c: + [ 3505407 ] Client openlog changes settings + +2012-03-29 Michael Chase-Salerno <br...@li...> + * interopProvider.c: [ 3512425 ] SequenceContext needs to be set at startup (fixed compiler warning) |
From: Michael Chase-S. <mc...@us...> - 2012-03-29 13:57:12
|
Update of /cvsroot/sblim/sfcb In directory vz-cvs-3.sog:/tmp/cvs-serv9282 Modified Files: ChangeLog interopProvider.c Log Message: [ 3512425 ] SequenceContext needs to be set at startup (fixed compiler warning) Index: interopProvider.c =================================================================== RCS file: /cvsroot/sblim/sfcb/interopProvider.c,v retrieving revision 1.56 retrieving revision 1.57 diff -u -d -r1.56 -r1.57 --- interopProvider.c 28 Mar 2012 15:27:38 -0000 1.56 +++ interopProvider.c 29 Mar 2012 13:57:10 -0000 1.57 @@ -738,7 +738,6 @@ addHandler(ci,cop); } CMRelease(enm); - free(context); } _SFCB_TRACE(1,("--- checking for cim_indicationsubscription")); op=CMNewObjectPath(broker,"root/interop","cim_indicationsubscription",&st); Index: ChangeLog =================================================================== RCS file: /cvsroot/sblim/sfcb/ChangeLog,v retrieving revision 1.748 retrieving revision 1.749 diff -u -d -r1.748 -r1.749 --- ChangeLog 28 Mar 2012 15:48:12 -0000 1.748 +++ ChangeLog 29 Mar 2012 13:57:09 -0000 1.749 @@ -1,3 +1,9 @@ +2012-03-29 Michael Chase-Salerno <br...@li...> + + * interopProvider.c: + [ 3512425 ] SequenceContext needs to be set at startup + (fixed compiler warning) + 2012-03-28 Chris Buccella <buc...@li...> * cimXmlRequest.c: |
From: Chris B. <buc...@us...> - 2012-03-28 16:06:17
|
This is an automated email from the git hooks/post-receive script. It was generated because a ref change was pushed to the repository containing the project "SFCB - Small Footprint CIM Broker". The branch, master has been updated via befeb9d217f804a51bd5536fa47a2f833803c18c (commit) via 258fd679beb5f382e3f20d866fc13c26a39267f0 (commit) from 56496a5d8e82c3053409f1060f3c1c3fa5baa2af (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 befeb9d217f804a51bd5536fa47a2f833803c18c Author: buccella <buc...@li...> Date: Wed Mar 28 12:06:07 2012 -0400 [ 3510456 ] GetProperty calls not passing keys to providers commit 258fd679beb5f382e3f20d866fc13c26a39267f0 Author: buccella <buc...@li...> Date: Wed Mar 28 12:00:02 2012 -0400 [ 3510458 ] Malformed XML response to GetProperty ----------------------------------------------------------------------- Summary of changes: diff --git a/ChangeLog b/ChangeLog index b8973c9..3740b12 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,13 @@ +2012-03-28 Chris Buccella <buc...@li...> + + * cimXmlOps.y: + [ 3510456 ] GetProperty calls not passing keys to providers + (patch by Zane Bitter) + + * cimRequest.c: + [ 3510458 ] Malformed XML response to GetProperty + (patch by Zane Bitter) + 2012-03-16 Dave Heller <hel...@us...> * control.c, indCIMXMLExport.c, sfcb.cfg.pre.in: diff --git a/NEWS b/NEWS index 7abe185..7187ff2 100644 --- a/NEWS +++ b/NEWS @@ -122,6 +122,8 @@ Bugs Fixed: - 3499930 Check file repository writes - 3457460 PAM_RHOST set wrong - 3504607 CMPIRole Support in brokerUpc +- 3510458 Malformed XML response to GetProperty +- 3510456 GetProperty calls not passing keys to providers Changes in 1.3.13 ================= diff --git a/cimRequest.c b/cimRequest.c index 9f0e0b7..44da6f5 100644 --- a/cimRequest.c +++ b/cimRequest.c @@ -1460,7 +1460,6 @@ getProperty(CimRequestContext * ctx, RequestHdr * hdr) CMPIInstance *inst; CMPIData data; UtilStringBuffer *sb; - CMPIString *tmpString = NewCMPIString(NULL, NULL); int irc; BinResponseHdr *resp; RespSegments rsegs; @@ -1479,9 +1478,7 @@ getProperty(CimRequestContext * ctx, RequestHdr * hdr) inst = relocateSerializedInstance(resp->object[0].data); sb = UtilFactory->newStrinBuffer(1024); data = inst->ft->getProperty(inst, req->name, NULL); - data2xml(&data, NULL, tmpString, NULL, NULL, 0, NULL, 0, sb, NULL, 0, - 0); - CMRelease(tmpString); + value2xml(data, sb, 1); rsegs = iMethodResponse(hdr, sb); if (resp) { free(resp); @@ -1495,11 +1492,9 @@ getProperty(CimRequestContext * ctx, RequestHdr * hdr) if (resp) { free(resp); } - CMRelease(tmpString); free(hdr->binCtx->bHdr); _SFCB_RETURN(rs); } - CMRelease(tmpString); free(hdr->binCtx->bHdr); closeProviderContext(hdr->binCtx); diff --git a/cimXmlOps.y b/cimXmlOps.y index 1891cbd..2903c31 100644 --- a/cimXmlOps.y +++ b/cimXmlOps.y @@ -1065,6 +1065,7 @@ buildGetPropertyRequest(void *parm) GetPropertyReq *sreq;//BINREQ(OPS_GetProperty, 3); RequestHdr *hdr = &(((ParserControl *)parm)->reqHdr); BinRequestContext *binCtx = hdr->binCtx; + int i, m; _SFCB_ENTER(TRACE_CIMXMLPROC, "buildGetPropertyRequest"); @@ -1075,6 +1076,16 @@ buildGetPropertyRequest(void *parm) path = TrackedCMPIObjectPath(req->op.nameSpace.data, req->instanceName.className, &rc); + for (i = 0, m = req->instanceName.bindings.next; i < m; i++) { + CMPIType type; + CMPIValue val, *valp; + + valp = getKeyValueTypePtr(req->instanceName.bindings.keyBindings[i].type, + req->instanceName.bindings.keyBindings[i].value, + &req->instanceName.bindings.keyBindings[i].ref, + &val, &type, req->op.nameSpace.data); + CMAddKey(path, req->instanceName.bindings.keyBindings[i].name, valp, type); + } sreq = calloc(1, sizeof(*sreq)); sreq->hdr.operation = OPS_GetProperty; diff --git a/contributions.txt b/contributions.txt index 90663e0..83f0dda 100644 --- a/contributions.txt +++ b/contributions.txt @@ -198,3 +198,8 @@ Josef Moellers Santosh Bidaralli, Dell ----------------------- 06/22/2011 [ 3324578 ] getInstance() up call does not close provider context + +Zane Bitter, Red Hat +-------------------- +03/28/2012 [ 3510458 ] Malformed XML response to GetProperty +03/28/2012 [ 3510456 ] GetProperty calls not passing keys to providers hooks/post-receive -- SFCB - Small Footprint CIM Broker |
From: Chris B. <buc...@us...> - 2012-03-28 15:48:14
|
Update of /cvsroot/sblim/sfcb In directory vz-cvs-3.sog:/tmp/cvs-serv1552 Modified Files: cimXmlRequest.c ChangeLog NEWS contributions.txt Log Message: [ 3510456 ] GetProperty calls not passing keys to providers Index: NEWS =================================================================== RCS file: /cvsroot/sblim/sfcb/NEWS,v retrieving revision 1.669 retrieving revision 1.670 diff -u -d -r1.669 -r1.670 --- NEWS 28 Mar 2012 15:44:30 -0000 1.669 +++ NEWS 28 Mar 2012 15:48:12 -0000 1.670 @@ -60,6 +60,7 @@ - 3498496 sfcb hangs and fails to respond to CIM requests - 3512425 SequenceContext needs to be set at startup - 3510458 Malformed XML response to GetProperty +- 3510456 GetProperty calls not passing keys to providers Changes in 1.3.13 ================= Index: cimXmlRequest.c =================================================================== RCS file: /cvsroot/sblim/sfcb/cimXmlRequest.c,v retrieving revision 1.69 retrieving revision 1.70 diff -u -d -r1.69 -r1.70 --- cimXmlRequest.c 28 Mar 2012 15:44:30 -0000 1.69 +++ cimXmlRequest.c 28 Mar 2012 15:48:12 -0000 1.70 @@ -2238,7 +2238,7 @@ CMPIData data; CMPIStatus rc; UtilStringBuffer *sb; - int irc; + int irc, i, m; BinRequestContext binCtx; BinResponseHdr *resp; RespSegments rsegs; @@ -2249,6 +2249,16 @@ hdr->className=req->op.className.data; path = TrackedCMPIObjectPath(req->op.nameSpace.data, req->instanceName.className, &rc); + for (i = 0, m = req->instanceName.bindings.next; i < m; i++) { + CMPIType type; + CMPIValue val, *valp; + + valp = getKeyValueTypePtr(req->instanceName.bindings.keyBindings[i].type, + req->instanceName.bindings.keyBindings[i].value, + &req->instanceName.bindings.keyBindings[i].ref, + &val, &type, req->op.nameSpace.data); + CMAddKey(path, req->instanceName.bindings.keyBindings[i].name, valp, type); + } sreq.principal = setCharsMsgSegment(ctx->principal); sreq.path = setObjectPathMsgSegment(path); Index: contributions.txt =================================================================== RCS file: /cvsroot/sblim/sfcb/contributions.txt,v retrieving revision 1.70 retrieving revision 1.71 diff -u -d -r1.70 -r1.71 --- contributions.txt 28 Mar 2012 15:44:30 -0000 1.70 +++ contributions.txt 28 Mar 2012 15:48:12 -0000 1.71 @@ -198,3 +198,4 @@ Zane Bitter, Red Hat -------------------- 03/28/2012 [ 3510458 ] Malformed XML response to GetProperty +03/28/2012 [ 3510456 ] GetProperty calls not passing keys to providers Index: ChangeLog =================================================================== RCS file: /cvsroot/sblim/sfcb/ChangeLog,v retrieving revision 1.747 retrieving revision 1.748 diff -u -d -r1.747 -r1.748 --- ChangeLog 28 Mar 2012 15:44:30 -0000 1.747 +++ ChangeLog 28 Mar 2012 15:48:12 -0000 1.748 @@ -1,6 +1,10 @@ 2012-03-28 Chris Buccella <buc...@li...> * cimXmlRequest.c: + [ 3510456 ] GetProperty calls not passing keys to providers + (patch by Zane Bitter) + + * cimXmlRequest.c: [ 3510458 ] Malformed XML response to GetProperty (patch by Zane Bitter) |
From: Chris B. <buc...@us...> - 2012-03-28 15:44:34
|
Update of /cvsroot/sblim/sfcb In directory vz-cvs-3.sog:/tmp/cvs-serv1448 Modified Files: cimXmlRequest.c ChangeLog NEWS contributions.txt Log Message: [ 3510458 ] Malformed XML response to GetProperty Index: NEWS =================================================================== RCS file: /cvsroot/sblim/sfcb/NEWS,v retrieving revision 1.668 retrieving revision 1.669 diff -u -d -r1.668 -r1.669 --- NEWS 28 Mar 2012 15:27:38 -0000 1.668 +++ NEWS 28 Mar 2012 15:44:30 -0000 1.669 @@ -59,6 +59,7 @@ - 3506306 Fix count for InvokeMethod requests - 3498496 sfcb hangs and fails to respond to CIM requests - 3512425 SequenceContext needs to be set at startup +- 3510458 Malformed XML response to GetProperty Changes in 1.3.13 ================= Index: cimXmlRequest.c =================================================================== RCS file: /cvsroot/sblim/sfcb/cimXmlRequest.c,v retrieving revision 1.68 retrieving revision 1.69 diff -u -d -r1.68 -r1.69 --- cimXmlRequest.c 26 Mar 2012 19:39:36 -0000 1.68 +++ cimXmlRequest.c 28 Mar 2012 15:44:30 -0000 1.69 @@ -2238,7 +2238,6 @@ CMPIData data; CMPIStatus rc; UtilStringBuffer *sb; - CMPIString *tmpString = NewCMPIString(NULL, NULL); int irc; BinRequestContext binCtx; BinResponseHdr *resp; @@ -2276,8 +2275,7 @@ inst = relocateSerializedInstance(resp->object[0].data); sb = UtilFactory->newStrinBuffer(1024); data = inst->ft->getProperty(inst, req->name, NULL); - data2xml(&data, NULL, tmpString, NULL, NULL, 0, NULL, 0, sb, NULL, 0, 0); - CMRelease(tmpString); + value2xml(data, sb, 1); rsegs=iMethodResponse(hdr, sb); if (resp) { free(resp); @@ -2289,10 +2287,8 @@ if (resp) { free(resp); } - CMRelease(tmpString); _SFCB_RETURN(rs); } - CMRelease(tmpString); closeProviderContext(&binCtx); _SFCB_RETURN(ctxErrResponse(hdr, &binCtx,0)); Index: contributions.txt =================================================================== RCS file: /cvsroot/sblim/sfcb/contributions.txt,v retrieving revision 1.69 retrieving revision 1.70 diff -u -d -r1.69 -r1.70 --- contributions.txt 30 Sep 2011 17:14:05 -0000 1.69 +++ contributions.txt 28 Mar 2012 15:44:30 -0000 1.70 @@ -194,3 +194,7 @@ Santosh Bidaralli, Dell ----------------------- 06/22/2011 [ 3324578 ] getInstance() up call does not close provider context + +Zane Bitter, Red Hat +-------------------- +03/28/2012 [ 3510458 ] Malformed XML response to GetProperty Index: ChangeLog =================================================================== RCS file: /cvsroot/sblim/sfcb/ChangeLog,v retrieving revision 1.746 retrieving revision 1.747 diff -u -d -r1.746 -r1.747 --- ChangeLog 28 Mar 2012 15:27:38 -0000 1.746 +++ ChangeLog 28 Mar 2012 15:44:30 -0000 1.747 @@ -1,3 +1,9 @@ +2012-03-28 Chris Buccella <buc...@li...> + + * cimXmlRequest.c: + [ 3510458 ] Malformed XML response to GetProperty + (patch by Zane Bitter) + 2012-03-28 Michael Chase-Salerno <br...@li...> * interopProvider.c: |
From: Michael Chase-S. <mc...@us...> - 2012-03-28 15:27:41
|
Update of /cvsroot/sblim/sfcb In directory vz-cvs-3.sog:/tmp/cvs-serv32679 Modified Files: ChangeLog NEWS interopProvider.c Log Message: 3512425 SequenceContext needs to be set at startup Index: NEWS =================================================================== RCS file: /cvsroot/sblim/sfcb/NEWS,v retrieving revision 1.667 retrieving revision 1.668 diff -u -d -r1.667 -r1.668 --- NEWS 26 Mar 2012 18:32:51 -0000 1.667 +++ NEWS 28 Mar 2012 15:27:38 -0000 1.668 @@ -58,6 +58,7 @@ - 3504607 CMPIRole Support in brokerUpc - 3506306 Fix count for InvokeMethod requests - 3498496 sfcb hangs and fails to respond to CIM requests +- 3512425 SequenceContext needs to be set at startup Changes in 1.3.13 ================= Index: interopProvider.c =================================================================== RCS file: /cvsroot/sblim/sfcb/interopProvider.c,v retrieving revision 1.55 retrieving revision 1.56 diff -u -d -r1.55 -r1.56 --- interopProvider.c 7 Mar 2012 20:59:42 -0000 1.55 +++ interopProvider.c 28 Mar 2012 15:27:38 -0000 1.56 @@ -38,6 +38,7 @@ #include "objectpath.h" #include <time.h> #include "instance.h" +#include "control.h" #define LOCALCLASSNAME "InteropProvider" @@ -703,12 +704,33 @@ enm = _broker->bft->enumerateInstances(_broker, ctx, op, NULL, &st); if(enm) { + // Get the IndicationService name for SequenceContext migration + CMPIObjectPath * isop = CMNewObjectPath(_broker, "root/interop", "CIM_IndicationService", NULL); + CMPIEnumeration * isenm = _broker->bft->enumerateInstances(_broker, ctx, isop, NULL, NULL); + CMPIData isinst = CMGetNext(isenm, NULL); + CMPIData mc = CMGetProperty(isinst.value.inst, "Name", NULL); + CMPIData ld; + // Loop through all the listeners + int ldcount=0; + char context[100]; while(enm->ft->hasNext(enm, &st) && (ci=(enm->ft->getNext(enm, &st)).value.inst)) { cop=CMGetObjectPath(ci,&st); - if (RIEnabled) { - // Reset the sequence numbers on sfcb restart + // check and set context for migrated listeners. CMPIInstance *ldi = _broker->bft->getInstance(_broker, ctxLocal, cop, NULL, NULL); + ld = CMGetProperty(ldi, "SequenceContext", NULL); + if (ld.state != CMPI_goodValue) { + _SFCB_TRACE(1,("--- adding SequenceContext to migrated cim_listenerdestination")); + // build and set the context string, we can't know the actual creation + // time, so just use SFCB start time + index. + ldcount++; + sprintf (context,"%s#%sM%d#",mc.value.string->ft->getCharPtr(mc.value.string,NULL),sfcBrokerStart,ldcount); + CMPIValue scontext; + scontext.string = sfcb_native_new_CMPIString(context, NULL, 0); + CMSetProperty(ldi, "SequenceContext", &scontext, CMPI_string); + } + + // Reset the sequence numbers on sfcb restart CMPIValue zarro = {.sint64 = -1 }; CMSetProperty(ldi, "LastSequenceNumber", &zarro, CMPI_sint64); CBModifyInstance(_broker, ctxLocal, cop, ldi, NULL); @@ -716,6 +738,7 @@ addHandler(ci,cop); } CMRelease(enm); + free(context); } _SFCB_TRACE(1,("--- checking for cim_indicationsubscription")); op=CMNewObjectPath(broker,"root/interop","cim_indicationsubscription",&st); Index: ChangeLog =================================================================== RCS file: /cvsroot/sblim/sfcb/ChangeLog,v retrieving revision 1.745 retrieving revision 1.746 diff -u -d -r1.745 -r1.746 --- ChangeLog 26 Mar 2012 18:33:08 -0000 1.745 +++ ChangeLog 28 Mar 2012 15:27:38 -0000 1.746 @@ -1,3 +1,8 @@ +2012-03-28 Michael Chase-Salerno <br...@li...> + + * interopProvider.c: + [ 3512425 ] SequenceContext needs to be set at startup + 2012-03-26 Narasimha Sharoff <nsh...@us...> * providerDrv.c: |
Update of /cvsroot/sblim/jsr48-client/src/org/sblim/cimclient/internal/cimxml/sax/node In directory vz-cvs-3.sog:/tmp/cvs-serv30703/src/org/sblim/cimclient/internal/cimxml/sax/node Modified Files: Tag: Experimental ValueObjectWithPathNode.java QualifiedNodeHandler.java MultiExpReqNode.java ExpMethodCallNode.java AbstractMethodCallNode.java InstancePathNode.java QualiDeclNode.java IMethodResponseNode.java MultiExpRspNode.java SimpleExpReqNode.java IReturnValueNode.java MultiReqNode.java MultiRspNode.java MethodResponseNode.java ValueObjectWithLocalPathNode.java ExpParamValueNode.java ClassPathNode.java ValueReferenceNode.java ExpMethodResponseNode.java NameSpacePathNode.java SimpleReqNode.java MessageNode.java CIMNode.java SimpleExpRspNode.java SimpleRspNode.java LocalInstancePathNode.java ValueRefArrayNode.java Log Message: 3511454 - SAX nodes not reinitialized properly Index: SimpleExpRspNode.java =================================================================== RCS file: /cvsroot/sblim/jsr48-client/src/org/sblim/cimclient/internal/cimxml/sax/node/SimpleExpRspNode.java,v retrieving revision 1.1.2.8 retrieving revision 1.1.2.9 diff -u -d -r1.1.2.8 -r1.1.2.9 --- SimpleExpRspNode.java 1 Jun 2009 17:01:10 -0000 1.1.2.8 +++ SimpleExpRspNode.java 27 Mar 2012 19:06:32 -0000 1.1.2.9 @@ -1,5 +1,5 @@ /** - * (C) Copyright IBM Corp. 2006, 2009 + * (C) Copyright IBM Corp. 2006, 2012 * * THIS FILE IS PROVIDED UNDER THE TERMS OF THE ECLIPSE PUBLIC LICENSE * ("AGREEMENT"). ANY USE, REPRODUCTION OR DISTRIBUTION OF THIS FILE @@ -19,6 +19,7 @@ * 2003590 2008-06-30 blaschke-oss Change licensing from CPL to EPL * 2524131 2009-01-21 raman_arora Upgrade client to JDK 1.5 (Phase 1) * 2797550 2009-06-01 raman_arora JSR48 compliance - add Java Generics + * 3511454 2012-03-27 blaschke-oss SAX nodes not reinitialized properly */ package org.sblim.cimclient.internal.cimxml.sax.node; @@ -57,7 +58,8 @@ */ @Override public void init(Attributes pAttribs, SAXSession pSession) { - // no attribs + this.iExpMethodRspNode = null; + // no attribs } /** @@ -101,7 +103,7 @@ } public Object readReturnValue() { - return this.iExpMethodRspNode.readReturnValue(); + return this.iExpMethodRspNode == null ? null : this.iExpMethodRspNode.readReturnValue(); } } Index: ValueRefArrayNode.java =================================================================== RCS file: /cvsroot/sblim/jsr48-client/src/org/sblim/cimclient/internal/cimxml/sax/node/ValueRefArrayNode.java,v retrieving revision 1.1.2.9 retrieving revision 1.1.2.10 diff -u -d -r1.1.2.9 -r1.1.2.10 --- ValueRefArrayNode.java 10 Apr 2009 16:01:10 -0000 1.1.2.9 +++ ValueRefArrayNode.java 27 Mar 2012 19:06:32 -0000 1.1.2.10 @@ -1,5 +1,5 @@ /** - * (C) Copyright IBM Corp. 2006, 2009 + * (C) Copyright IBM Corp. 2006, 2012 * * THIS FILE IS PROVIDED UNDER THE TERMS OF THE ECLIPSE PUBLIC LICENSE * ("AGREEMENT"). ANY USE, REPRODUCTION OR DISTRIBUTION OF THIS FILE @@ -20,6 +20,7 @@ * 2524131 2009-01-21 raman_arora Upgrade client to JDK 1.5 (Phase 1) * 2531371 2009-02-10 raman_arora Upgrade client to JDK 1.5 (Phase 2) * 2750520 2009-04-10 blaschke-oss Code cleanup from empty statement et al + * 3511454 2012-03-27 blaschke-oss SAX nodes not reinitialized properly */ package org.sblim.cimclient.internal.cimxml.sax.node; @@ -29,6 +30,7 @@ import javax.cim.CIMDataType; import javax.cim.CIMObjectPath; +import org.sblim.cimclient.GenericExts; import org.sblim.cimclient.internal.cimxml.sax.SAXSession; import org.xml.sax.Attributes; import org.xml.sax.SAXException; @@ -53,8 +55,7 @@ */ @Override public void init(Attributes pAttribs, SAXSession pSession) { - if (this.iCIMObjPathAL != null) this.iCIMObjPathAL.clear(); - else this.iCIMObjPathAL = null; + this.iCIMObjPathAL = GenericExts.initClearArrayList(this.iCIMObjPathAL); // no attributes } @@ -88,7 +89,7 @@ * @return CIMObjectPath */ public Object elementAt(int pIdx) { - return this.iCIMObjPathAL.get(pIdx); + return this.iCIMObjPathAL == null ? null : this.iCIMObjPathAL.get(pIdx); } public int size() { Index: IReturnValueNode.java =================================================================== RCS file: /cvsroot/sblim/jsr48-client/src/org/sblim/cimclient/internal/cimxml/sax/node/IReturnValueNode.java,v retrieving revision 1.1.2.9 retrieving revision 1.1.2.10 diff -u -d -r1.1.2.9 -r1.1.2.10 --- IReturnValueNode.java 2 Sep 2009 20:25:52 -0000 1.1.2.9 +++ IReturnValueNode.java 27 Mar 2012 19:06:32 -0000 1.1.2.10 @@ -1,5 +1,5 @@ /** - * (C) Copyright IBM Corp. 2006, 2009 + * (C) Copyright IBM Corp. 2006, 2012 * * THIS FILE IS PROVIDED UNDER THE TERMS OF THE ECLIPSE PUBLIC LICENSE * ("AGREEMENT"). ANY USE, REPRODUCTION OR DISTRIBUTION OF THIS FILE @@ -18,8 +18,9 @@ * 1720707 2007-05-17 ebak Conventional Node factory for CIM-XML SAX parser * 2003590 2008-06-30 blaschke-oss Change licensing from CPL to EPL * 2524131 2009-01-21 raman_arora Upgrade client to JDK 1.5 (Phase 1) - * 2531371 2009-02-10 raman_arora Upgrade client to JDK 1.5 (Phase 2) + * 2531371 2009-02-10 raman_arora Upgrade client to JDK 1.5 (Phase 2) * 2845211 2009-08-27 raman_arora Pull Enumeration Feature (SAX Parser) + * 3511454 2012-03-27 blaschke-oss SAX nodes not reinitialized properly */ package org.sblim.cimclient.internal.cimxml.sax.node; @@ -67,6 +68,7 @@ // currently it's not really necessary here, since the Node is // NonVolatile this.iChildNameEnum = null; + this.iChildValueLL = null; // no attribs } @@ -127,7 +129,7 @@ } public Object readReturnValue() { - return this.iChildValueLL.removeFirst(); + return this.iChildValueLL == null ? null : this.iChildValueLL.removeFirst(); } } Index: ExpMethodResponseNode.java =================================================================== RCS file: /cvsroot/sblim/jsr48-client/src/org/sblim/cimclient/internal/cimxml/sax/node/ExpMethodResponseNode.java,v retrieving revision 1.1.2.8 retrieving revision 1.1.2.9 diff -u -d -r1.1.2.8 -r1.1.2.9 --- ExpMethodResponseNode.java 14 Apr 2009 22:21:54 -0000 1.1.2.8 +++ ExpMethodResponseNode.java 27 Mar 2012 19:06:32 -0000 1.1.2.9 @@ -1,5 +1,5 @@ /** - * (C) Copyright IBM Corp. 2006, 2009 + * (C) Copyright IBM Corp. 2006, 2012 * * THIS FILE IS PROVIDED UNDER THE TERMS OF THE ECLIPSE PUBLIC LICENSE * ("AGREEMENT"). ANY USE, REPRODUCTION OR DISTRIBUTION OF THIS FILE @@ -19,6 +19,7 @@ * 2003590 2008-06-30 blaschke-oss Change licensing from CPL to EPL * 2524131 2009-01-21 raman_arora Upgrade client to JDK 1.5 (Phase 1) * 2763216 2009-04-14 blaschke-oss Code cleanup: visible spelling/grammar errors + * 3511454 2012-03-27 blaschke-oss SAX nodes not reinitialized properly */ package org.sblim.cimclient.internal.cimxml.sax.node; @@ -61,6 +62,8 @@ @Override public void init(Attributes pAttribs, SAXSession pSession) throws SAXException { this.iName = getCIMName(pAttribs); + this.iErrorNode = null; + this.iRetValNode = null; } /** @@ -99,7 +102,7 @@ } public CIMError getCIMError() { - return this.iErrorNode.getCIMError(); + return this.iErrorNode == null ? null : this.iErrorNode.getCIMError(); } public int getReturnValueCount() { Index: ValueObjectWithLocalPathNode.java =================================================================== RCS file: /cvsroot/sblim/jsr48-client/src/org/sblim/cimclient/internal/cimxml/sax/node/ValueObjectWithLocalPathNode.java,v retrieving revision 1.1.2.9 retrieving revision 1.1.2.10 diff -u -d -r1.1.2.9 -r1.1.2.10 --- ValueObjectWithLocalPathNode.java 23 Feb 2009 18:25:57 -0000 1.1.2.9 +++ ValueObjectWithLocalPathNode.java 27 Mar 2012 19:06:32 -0000 1.1.2.10 @@ -1,5 +1,5 @@ /** - * (C) Copyright IBM Corp. 2006, 2009 + * (C) Copyright IBM Corp. 2006, 2012 * * THIS FILE IS PROVIDED UNDER THE TERMS OF THE ECLIPSE PUBLIC LICENSE * ("AGREEMENT"). ANY USE, REPRODUCTION OR DISTRIBUTION OF THIS FILE @@ -18,7 +18,8 @@ * 1720707 2007-05-17 ebak Conventional Node factory for CIM-XML SAX parser * 2003590 2008-06-30 blaschke-oss Change licensing from CPL to EPL * 2524131 2009-01-21 raman_arora Upgrade client to JDK 1.5 (Phase 1) - * 2531371 2009-02-10 raman_arora Upgrade client to JDK 1.5 (Phase 2) + * 2531371 2009-02-10 raman_arora Upgrade client to JDK 1.5 (Phase 2) + * 3511454 2012-03-27 blaschke-oss SAX nodes not reinitialized properly */ package org.sblim.cimclient.internal.cimxml.sax.node; @@ -62,6 +63,8 @@ @Override public void init(Attributes pAttribs, SAXSession pSession) { this.iPathNodeNameEnum = this.iObjNodeNameEnum = null; + this.iObjPath = null; + this.iCIMObj = null; // no attributes } Index: ClassPathNode.java =================================================================== RCS file: /cvsroot/sblim/jsr48-client/src/org/sblim/cimclient/internal/cimxml/sax/node/ClassPathNode.java,v retrieving revision 1.1.2.8 retrieving revision 1.1.2.9 diff -u -d -r1.1.2.8 -r1.1.2.9 --- ClassPathNode.java 23 Feb 2009 18:25:57 -0000 1.1.2.8 +++ ClassPathNode.java 27 Mar 2012 19:06:32 -0000 1.1.2.9 @@ -1,5 +1,5 @@ /** - * (C) Copyright IBM Corp. 2006, 2009 + * (C) Copyright IBM Corp. 2006, 2012 * * THIS FILE IS PROVIDED UNDER THE TERMS OF THE ECLIPSE PUBLIC LICENSE * ("AGREEMENT"). ANY USE, REPRODUCTION OR DISTRIBUTION OF THIS FILE @@ -19,6 +19,7 @@ * 1742873 2007-06-25 ebak IPv6 ready cim-client * 2003590 2008-06-30 blaschke-oss Change licensing from CPL to EPL * 2524131 2009-01-21 raman_arora Upgrade client to JDK 1.5 (Phase 1) + * 3511454 2012-03-27 blaschke-oss SAX nodes not reinitialized properly */ package org.sblim.cimclient.internal.cimxml.sax.node; @@ -40,7 +41,7 @@ private String iLocalNameSpacePathStr; - private XMLHostStr iHostStr = new XMLHostStr(); + private XMLHostStr iHostStr; private String iClassNameStr; @@ -60,6 +61,7 @@ // reset this.iHasNameSpacePath = this.iHasClassName = false; this.iLocalNameSpacePathStr = this.iClassNameStr = null; + this.iHostStr = new XMLHostStr(); } /** Index: QualifiedNodeHandler.java =================================================================== RCS file: /cvsroot/sblim/jsr48-client/src/org/sblim/cimclient/internal/cimxml/sax/node/QualifiedNodeHandler.java,v retrieving revision 1.1.2.18 retrieving revision 1.1.2.19 diff -u -d -r1.1.2.18 -r1.1.2.19 --- QualifiedNodeHandler.java 29 Jul 2010 18:44:09 -0000 1.1.2.18 +++ QualifiedNodeHandler.java 27 Mar 2012 19:06:32 -0000 1.1.2.19 @@ -1,5 +1,5 @@ /** - * (C) Copyright IBM Corp. 2006, 2010 + * (C) Copyright IBM Corp. 2006, 2012 * * THIS FILE IS PROVIDED UNDER THE TERMS OF THE ECLIPSE PUBLIC LICENSE * ("AGREEMENT"). ANY USE, REPRODUCTION OR DISTRIBUTION OF THIS FILE @@ -20,10 +20,11 @@ * 2003590 2008-06-30 blaschke-oss Change licensing from CPL to EPL * 2013628 2008-07-30 rgummada SAXException when listing classes * 2524131 2009-01-21 raman_arora Upgrade client to JDK 1.5 (Phase 1) - * 2531371 2009-02-10 raman_arora Upgrade client to JDK 1.5 (Phase 2) + * 2531371 2009-02-10 raman_arora Upgrade client to JDK 1.5 (Phase 2) * 2797550 2009-06-01 raman_arora JSR48 compliance - add Java Generics * 2823494 2009-08-03 rgummada Change Boolean constructor to static * 2957387 2010-03-03 blaschke-oss EmbededObject XML attribute must not be all uppercases + * 3511454 2012-03-27 blaschke-oss SAX nodes not reinitialized properly */ package org.sblim.cimclient.internal.cimxml.sax.node; @@ -33,6 +34,7 @@ import javax.cim.CIMDataType; import javax.cim.CIMQualifier; +import org.sblim.cimclient.GenericExts; import org.sblim.cimclient.internal.cim.CIMQualifiedElementInterfaceImpl; /** @@ -69,11 +71,7 @@ * init - for reusing an existing QualifiedNodeHandler instance */ public void init() { - if (this.iQualiAL != null) { - this.iQualiAL.clear(); - } else { - this.iQualiAL = new ArrayList<CIMQualifier<?>>(); - } + this.iQualiAL = GenericExts.initClearArrayList(this.iQualiAL); this.iHasEmbObjQuali = this.iHasEmbInstQuali = this.iHasKeyQuali = this.iHasAssocQuali = false; this.iQualiImpl = null; } Index: SimpleReqNode.java =================================================================== RCS file: /cvsroot/sblim/jsr48-client/src/org/sblim/cimclient/internal/cimxml/sax/node/SimpleReqNode.java,v retrieving revision 1.1.2.8 retrieving revision 1.1.2.9 diff -u -d -r1.1.2.8 -r1.1.2.9 --- SimpleReqNode.java 23 Feb 2009 18:25:57 -0000 1.1.2.8 +++ SimpleReqNode.java 27 Mar 2012 19:06:32 -0000 1.1.2.9 @@ -1,5 +1,5 @@ /** - * (C) Copyright IBM Corp. 2006, 2009 + * (C) Copyright IBM Corp. 2006, 2012 * * THIS FILE IS PROVIDED UNDER THE TERMS OF THE ECLIPSE PUBLIC LICENSE * ("AGREEMENT"). ANY USE, REPRODUCTION OR DISTRIBUTION OF THIS FILE @@ -19,6 +19,7 @@ * 1720707 2007-05-17 ebak Conventional Node factory for CIM-XML SAX parser * 2003590 2008-06-30 blaschke-oss Change licensing from CPL to EPL * 2524131 2009-01-21 raman_arora Upgrade client to JDK 1.5 (Phase 1) + * 3511454 2012-03-27 blaschke-oss SAX nodes not reinitialized properly */ package org.sblim.cimclient.internal.cimxml.sax.node; @@ -51,7 +52,8 @@ */ @Override public void init(Attributes pAttribs, SAXSession pSession) { - // no attributes + this.iMethodCallNode = null; + // no attributes } /** Index: CIMNode.java =================================================================== RCS file: /cvsroot/sblim/jsr48-client/src/org/sblim/cimclient/internal/cimxml/sax/node/CIMNode.java,v retrieving revision 1.1.2.7 retrieving revision 1.1.2.8 diff -u -d -r1.1.2.7 -r1.1.2.8 --- CIMNode.java 23 Feb 2009 18:25:57 -0000 1.1.2.7 +++ CIMNode.java 27 Mar 2012 19:06:32 -0000 1.1.2.8 @@ -1,5 +1,5 @@ /** - * (C) Copyright IBM Corp. 2006, 2009 + * (C) Copyright IBM Corp. 2006, 2012 * * THIS FILE IS PROVIDED UNDER THE TERMS OF THE ECLIPSE PUBLIC LICENSE * ("AGREEMENT"). ANY USE, REPRODUCTION OR DISTRIBUTION OF THIS FILE @@ -18,6 +18,7 @@ * 1720707 2007-05-17 ebak Conventional Node factory for CIM-XML SAX parser * 2003590 2008-06-30 blaschke-oss Change licensing from CPL to EPL * 2524131 2009-01-21 raman_arora Upgrade client to JDK 1.5 (Phase 1) + * 3511454 2012-03-27 blaschke-oss SAX nodes not reinitialized properly */ package org.sblim.cimclient.internal.cimxml.sax.node; @@ -60,7 +61,7 @@ if (this.iCimVersion == null) { throw new SAXException("CIMVERSION attribute is mandatory!"); } this.iDtdVersion = pAttribs.getValue("DTDVERSION"); if (this.iDtdVersion == null) { throw new SAXException("DTDVERSION attribute is mandatory!"); } - + this.iContent = null; } /** Index: LocalInstancePathNode.java =================================================================== RCS file: /cvsroot/sblim/jsr48-client/src/org/sblim/cimclient/internal/cimxml/sax/node/LocalInstancePathNode.java,v retrieving revision 1.1.2.9 retrieving revision 1.1.2.10 diff -u -d -r1.1.2.9 -r1.1.2.10 --- LocalInstancePathNode.java 1 Jun 2009 17:01:10 -0000 1.1.2.9 +++ LocalInstancePathNode.java 27 Mar 2012 19:06:32 -0000 1.1.2.10 @@ -1,5 +1,5 @@ /** - * (C) Copyright IBM Corp. 2006, 2009 + * (C) Copyright IBM Corp. 2006, 2012 * * THIS FILE IS PROVIDED UNDER THE TERMS OF THE ECLIPSE PUBLIC LICENSE * ("AGREEMENT"). ANY USE, REPRODUCTION OR DISTRIBUTION OF THIS FILE @@ -18,8 +18,9 @@ * 1720707 2007-05-17 ebak Conventional Node factory for CIM-XML SAX parser * 2003590 2008-06-30 blaschke-oss Change licensing from CPL to EPL * 2524131 2009-01-21 raman_arora Upgrade client to JDK 1.5 (Phase 1) - * 2531371 2009-02-10 raman_arora Upgrade client to JDK 1.5 (Phase 2) + * 2531371 2009-02-10 raman_arora Upgrade client to JDK 1.5 (Phase 2) * 2797550 2009-06-01 raman_arora JSR48 compliance - add Java Generics + * 3511454 2012-03-27 blaschke-oss SAX nodes not reinitialized properly */ package org.sblim.cimclient.internal.cimxml.sax.node; @@ -66,6 +67,8 @@ public void init(Attributes pAttribs, SAXSession pSession) { this.iLocalPath = pSession.getDefLocalPath(); this.iHasLocalNameSpacePath = this.iHasInstanceName = false; + this.iNameSpaceStr = this.iClassNameStr = null; + this.iKeys = null; // no attributes } Index: NameSpacePathNode.java =================================================================== RCS file: /cvsroot/sblim/jsr48-client/src/org/sblim/cimclient/internal/cimxml/sax/node/NameSpacePathNode.java,v retrieving revision 1.1.2.9 retrieving revision 1.1.2.10 diff -u -d -r1.1.2.9 -r1.1.2.10 --- NameSpacePathNode.java 23 Feb 2009 18:25:57 -0000 1.1.2.9 +++ NameSpacePathNode.java 27 Mar 2012 19:06:32 -0000 1.1.2.10 @@ -1,5 +1,5 @@ /** - * (C) Copyright IBM Corp. 2006, 2009 + * (C) Copyright IBM Corp. 2006, 2012 * * THIS FILE IS PROVIDED UNDER THE TERMS OF THE ECLIPSE PUBLIC LICENSE * ("AGREEMENT"). ANY USE, REPRODUCTION OR DISTRIBUTION OF THIS FILE @@ -19,7 +19,8 @@ * 1742873 2007-06-25 ebak IPv6 ready cim-client * 2003590 2008-06-30 blaschke-oss Change licensing from CPL to EPL * 2524131 2009-01-21 raman_arora Upgrade client to JDK 1.5 (Phase 1) - * 2531371 2009-02-10 raman_arora Upgrade client to JDK 1.5 (Phase 2) + * 2531371 2009-02-10 raman_arora Upgrade client to JDK 1.5 (Phase 2) + * 3511454 2012-03-27 blaschke-oss SAX nodes not reinitialized properly */ package org.sblim.cimclient.internal.cimxml.sax.node; @@ -57,6 +58,7 @@ @Override public void init(Attributes pAttribs, SAXSession pSession) { this.iHasHost = this.iHasLocalNameSpacePath = false; + this.iHostStr = this.iLocalNameSpacePathStr = null; // no attributes } Index: IMethodResponseNode.java =================================================================== RCS file: /cvsroot/sblim/jsr48-client/src/org/sblim/cimclient/internal/cimxml/sax/node/IMethodResponseNode.java,v retrieving revision 1.1.2.9 retrieving revision 1.1.2.10 diff -u -d -r1.1.2.9 -r1.1.2.10 --- IMethodResponseNode.java 2 Sep 2009 20:25:52 -0000 1.1.2.9 +++ IMethodResponseNode.java 27 Mar 2012 19:06:32 -0000 1.1.2.10 @@ -1,5 +1,5 @@ /** - * (C) Copyright IBM Corp. 2006, 2009 + * (C) Copyright IBM Corp. 2006, 2012 * * THIS FILE IS PROVIDED UNDER THE TERMS OF THE ECLIPSE PUBLIC LICENSE * ("AGREEMENT"). ANY USE, REPRODUCTION OR DISTRIBUTION OF THIS FILE @@ -20,6 +20,7 @@ * 2524131 2009-01-21 raman_arora Upgrade client to JDK 1.5 (Phase 1) * 2763216 2009-04-14 blaschke-oss Code cleanup: visible spelling/grammar errors * 2845211 2009-08-27 raman_arora Pull Enumeration Feature (SAX Parser) + * 3511454 2012-03-27 blaschke-oss SAX nodes not reinitialized properly */ package org.sblim.cimclient.internal.cimxml.sax.node; @@ -77,6 +78,9 @@ @Override public void init(Attributes pAttribs, SAXSession pSession) throws SAXException { this.iName = getCIMName(pAttribs); + this.iErrorNode = null; + this.iRetValNode = null; + if (this.iCIMArgAL != null) this.iCIMArgAL.clear(); } /** Index: MultiExpRspNode.java =================================================================== RCS file: /cvsroot/sblim/jsr48-client/src/org/sblim/cimclient/internal/cimxml/sax/node/MultiExpRspNode.java,v retrieving revision 1.1.2.9 retrieving revision 1.1.2.10 diff -u -d -r1.1.2.9 -r1.1.2.10 --- MultiExpRspNode.java 14 Apr 2009 22:21:54 -0000 1.1.2.9 +++ MultiExpRspNode.java 27 Mar 2012 19:06:32 -0000 1.1.2.10 @@ -1,5 +1,5 @@ /** - * (C) Copyright IBM Corp. 2006, 2009 + * (C) Copyright IBM Corp. 2006, 2012 * * THIS FILE IS PROVIDED UNDER THE TERMS OF THE ECLIPSE PUBLIC LICENSE * ("AGREEMENT"). ANY USE, REPRODUCTION OR DISTRIBUTION OF THIS FILE @@ -20,6 +20,7 @@ * 2524131 2009-01-21 raman_arora Upgrade client to JDK 1.5 (Phase 1) * 2531371 2009-02-10 raman_arora Upgrade client to JDK 1.5 (Phase 2) * 2763216 2009-04-14 blaschke-oss Code cleanup: visible spelling/grammar errors + * 3511454 2012-03-27 blaschke-oss SAX nodes not reinitialized properly */ package org.sblim.cimclient.internal.cimxml.sax.node; @@ -55,7 +56,8 @@ */ @Override public void init(Attributes pAttribs, SAXSession pSession) { - // no attributes + if (this.iSimpleExpRspAList != null) this.iSimpleExpRspAList.clear(); + // no attributes } /** Index: MessageNode.java =================================================================== RCS file: /cvsroot/sblim/jsr48-client/src/org/sblim/cimclient/internal/cimxml/sax/node/MessageNode.java,v retrieving revision 1.1.2.7 retrieving revision 1.1.2.8 diff -u -d -r1.1.2.7 -r1.1.2.8 --- MessageNode.java 23 Feb 2009 18:25:57 -0000 1.1.2.7 +++ MessageNode.java 27 Mar 2012 19:06:32 -0000 1.1.2.8 @@ -1,5 +1,5 @@ /** - * (C) Copyright IBM Corp. 2006, 2009 + * (C) Copyright IBM Corp. 2006, 2012 * * THIS FILE IS PROVIDED UNDER THE TERMS OF THE ECLIPSE PUBLIC LICENSE * ("AGREEMENT"). ANY USE, REPRODUCTION OR DISTRIBUTION OF THIS FILE @@ -18,6 +18,7 @@ * 1720707 2007-05-17 ebak Conventional Node factory for CIM-XML SAX parser * 2003590 2008-06-30 blaschke-oss Change licensing from CPL to EPL * 2524131 2009-01-21 raman_arora Upgrade client to JDK 1.5 (Phase 1) + * 3511454 2012-03-27 blaschke-oss SAX nodes not reinitialized properly */ package org.sblim.cimclient.internal.cimxml.sax.node; @@ -64,6 +65,7 @@ this.iProtocolVersion = pAttribs.getValue("PROTOCOLVERSION"); if (this.iProtocolVersion == null) throw new SAXException( "PROTOCOLVERSION attribute is mandatory for MESSAGE node!"); + this.iAbstractMsgNode = null; } /** Index: ValueObjectWithPathNode.java =================================================================== RCS file: /cvsroot/sblim/jsr48-client/src/org/sblim/cimclient/internal/cimxml/sax/node/ValueObjectWithPathNode.java,v retrieving revision 1.1.2.9 retrieving revision 1.1.2.10 diff -u -d -r1.1.2.9 -r1.1.2.10 --- ValueObjectWithPathNode.java 23 Feb 2009 18:25:57 -0000 1.1.2.9 +++ ValueObjectWithPathNode.java 27 Mar 2012 19:06:32 -0000 1.1.2.10 @@ -1,5 +1,5 @@ /** - * (C) Copyright IBM Corp. 2006, 2009 + * (C) Copyright IBM Corp. 2006, 2012 * * THIS FILE IS PROVIDED UNDER THE TERMS OF THE ECLIPSE PUBLIC LICENSE * ("AGREEMENT"). ANY USE, REPRODUCTION OR DISTRIBUTION OF THIS FILE @@ -18,7 +18,8 @@ * 1720707 2007-05-17 ebak Conventional Node factory for CIM-XML SAX parser * 2003590 2008-06-30 blaschke-oss Change licensing from CPL to EPL * 2524131 2009-01-21 raman_arora Upgrade client to JDK 1.5 (Phase 1) - * 2531371 2009-02-10 raman_arora Upgrade client to JDK 1.5 (Phase 2) + * 2531371 2009-02-10 raman_arora Upgrade client to JDK 1.5 (Phase 2) + * 3511454 2012-03-27 blaschke-oss SAX nodes not reinitialized properly */ package org.sblim.cimclient.internal.cimxml.sax.node; @@ -61,6 +62,8 @@ @Override public void init(Attributes pAttribs, SAXSession pSession) { this.iPathNodeNameEnum = this.iObjNodeNameEnum = null; + this.iObjPath = null; + this.iCIMObj = null; // no attributes } Index: MultiRspNode.java =================================================================== RCS file: /cvsroot/sblim/jsr48-client/src/org/sblim/cimclient/internal/cimxml/sax/node/MultiRspNode.java,v retrieving revision 1.1.2.8 retrieving revision 1.1.2.9 diff -u -d -r1.1.2.8 -r1.1.2.9 --- MultiRspNode.java 23 Feb 2009 18:25:57 -0000 1.1.2.8 +++ MultiRspNode.java 27 Mar 2012 19:06:32 -0000 1.1.2.9 @@ -1,5 +1,5 @@ /** - * (C) Copyright IBM Corp. 2006, 2009 + * (C) Copyright IBM Corp. 2006, 2012 * * THIS FILE IS PROVIDED UNDER THE TERMS OF THE ECLIPSE PUBLIC LICENSE * ("AGREEMENT"). ANY USE, REPRODUCTION OR DISTRIBUTION OF THIS FILE @@ -18,7 +18,8 @@ * 1720707 2007-05-17 ebak Conventional Node factory for CIM-XML SAX parser * 2003590 2008-06-30 blaschke-oss Change licensing from CPL to EPL * 2524131 2009-01-21 raman_arora Upgrade client to JDK 1.5 (Phase 1) - * 2531371 2009-02-10 raman_arora Upgrade client to JDK 1.5 (Phase 2) + * 2531371 2009-02-10 raman_arora Upgrade client to JDK 1.5 (Phase 2) + * 3511454 2012-03-27 blaschke-oss SAX nodes not reinitialized properly */ package org.sblim.cimclient.internal.cimxml.sax.node; @@ -54,7 +55,8 @@ */ @Override public void init(Attributes pAttribs, SAXSession pSession) { - // no attribs + if (this.iSimpleRspAList != null) this.iSimpleRspAList.clear(); + // no attribs } /** Index: MultiReqNode.java =================================================================== RCS file: /cvsroot/sblim/jsr48-client/src/org/sblim/cimclient/internal/cimxml/sax/node/MultiReqNode.java,v retrieving revision 1.1.2.8 retrieving revision 1.1.2.9 diff -u -d -r1.1.2.8 -r1.1.2.9 --- MultiReqNode.java 23 Feb 2009 18:25:57 -0000 1.1.2.8 +++ MultiReqNode.java 27 Mar 2012 19:06:32 -0000 1.1.2.9 @@ -1,5 +1,5 @@ /** - * (C) Copyright IBM Corp. 2006, 2009 + * (C) Copyright IBM Corp. 2006, 2012 * * THIS FILE IS PROVIDED UNDER THE TERMS OF THE ECLIPSE PUBLIC LICENSE * ("AGREEMENT"). ANY USE, REPRODUCTION OR DISTRIBUTION OF THIS FILE @@ -18,7 +18,8 @@ * 1720707 2007-05-17 ebak Conventional Node factory for CIM-XML SAX parser * 2003590 2008-06-30 blaschke-oss Change licensing from CPL to EPL * 2524131 2009-01-21 raman_arora Upgrade client to JDK 1.5 (Phase 1) - * 2531371 2009-02-10 raman_arora Upgrade client to JDK 1.5 (Phase 2) + * 2531371 2009-02-10 raman_arora Upgrade client to JDK 1.5 (Phase 2) + * 3511454 2012-03-27 blaschke-oss SAX nodes not reinitialized properly */ package org.sblim.cimclient.internal.cimxml.sax.node; @@ -54,7 +55,8 @@ */ @Override public void init(Attributes pAttribs, SAXSession pSession) { - // no attributes + if (this.iSimpleReqAList != null) this.iSimpleReqAList.clear(); + // no attributes } /** Index: ExpParamValueNode.java =================================================================== RCS file: /cvsroot/sblim/jsr48-client/src/org/sblim/cimclient/internal/cimxml/sax/node/ExpParamValueNode.java,v retrieving revision 1.1.2.7 retrieving revision 1.1.2.8 diff -u -d -r1.1.2.7 -r1.1.2.8 --- ExpParamValueNode.java 23 Feb 2009 18:25:57 -0000 1.1.2.7 +++ ExpParamValueNode.java 27 Mar 2012 19:06:32 -0000 1.1.2.8 @@ -1,5 +1,5 @@ /** - * (C) Copyright IBM Corp. 2006, 2009 + * (C) Copyright IBM Corp. 2006, 2012 * * THIS FILE IS PROVIDED UNDER THE TERMS OF THE ECLIPSE PUBLIC LICENSE * ("AGREEMENT"). ANY USE, REPRODUCTION OR DISTRIBUTION OF THIS FILE @@ -18,6 +18,7 @@ * 1720707 2007-05-17 ebak Conventional Node factory for CIM-XML SAX parser * 2003590 2008-06-30 blaschke-oss Change licensing from CPL to EPL * 2524131 2009-01-21 raman_arora Upgrade client to JDK 1.5 (Phase 1) + * 3511454 2012-03-27 blaschke-oss SAX nodes not reinitialized properly */ package org.sblim.cimclient.internal.cimxml.sax.node; @@ -56,6 +57,7 @@ @Override public void init(Attributes pAttribs, SAXSession pSession) throws SAXException { this.iName = getCIMName(pAttribs); + this.iChildNode = null; } /** Index: SimpleExpReqNode.java =================================================================== RCS file: /cvsroot/sblim/jsr48-client/src/org/sblim/cimclient/internal/cimxml/sax/node/SimpleExpReqNode.java,v retrieving revision 1.1.2.7 retrieving revision 1.1.2.8 diff -u -d -r1.1.2.7 -r1.1.2.8 --- SimpleExpReqNode.java 23 Feb 2009 18:25:57 -0000 1.1.2.7 +++ SimpleExpReqNode.java 27 Mar 2012 19:06:32 -0000 1.1.2.8 @@ -1,5 +1,5 @@ /** - * (C) Copyright IBM Corp. 2006, 2009 + * (C) Copyright IBM Corp. 2006, 2012 * * THIS FILE IS PROVIDED UNDER THE TERMS OF THE ECLIPSE PUBLIC LICENSE * ("AGREEMENT"). ANY USE, REPRODUCTION OR DISTRIBUTION OF THIS FILE @@ -18,6 +18,7 @@ * 1720707 2007-05-17 ebak Conventional Node factory for CIM-XML SAX parser * 2003590 2008-06-30 blaschke-oss Change licensing from CPL to EPL * 2524131 2009-01-21 raman_arora Upgrade client to JDK 1.5 (Phase 1) + * 3511454 2012-03-27 blaschke-oss SAX nodes not reinitialized properly */ package org.sblim.cimclient.internal.cimxml.sax.node; @@ -50,7 +51,8 @@ */ @Override public void init(Attributes pAttribs, SAXSession pSession) { - // no attributes + this.iMethodCallNode = null; + // no attributes } /** Index: MultiExpReqNode.java =================================================================== RCS file: /cvsroot/sblim/jsr48-client/src/org/sblim/cimclient/internal/cimxml/sax/node/MultiExpReqNode.java,v retrieving revision 1.1.2.8 retrieving revision 1.1.2.9 diff -u -d -r1.1.2.8 -r1.1.2.9 --- MultiExpReqNode.java 23 Feb 2009 18:25:57 -0000 1.1.2.8 +++ MultiExpReqNode.java 27 Mar 2012 19:06:32 -0000 1.1.2.9 @@ -1,5 +1,5 @@ /** - * (C) Copyright IBM Corp. 2006, 2009 + * (C) Copyright IBM Corp. 2006, 2012 * * THIS FILE IS PROVIDED UNDER THE TERMS OF THE ECLIPSE PUBLIC LICENSE * ("AGREEMENT"). ANY USE, REPRODUCTION OR DISTRIBUTION OF THIS FILE @@ -18,7 +18,8 @@ * 1720707 2007-05-17 ebak Conventional Node factory for CIM-XML SAX parser * 2003590 2008-06-30 blaschke-oss Change licensing from CPL to EPL * 2524131 2009-01-21 raman_arora Upgrade client to JDK 1.5 (Phase 1) - * 2531371 2009-02-10 raman_arora Upgrade client to JDK 1.5 (Phase 2) + * 2531371 2009-02-10 raman_arora Upgrade client to JDK 1.5 (Phase 2) + * 3511454 2012-03-27 blaschke-oss SAX nodes not reinitialized properly */ package org.sblim.cimclient.internal.cimxml.sax.node; @@ -54,7 +55,8 @@ */ @Override public void init(Attributes pAttribs, SAXSession pSession) { - // no attributes + if (this.iSimpleExpReqAList != null) this.iSimpleExpReqAList.clear(); + // no attributes } /** Index: AbstractMethodCallNode.java =================================================================== RCS file: /cvsroot/sblim/jsr48-client/src/org/sblim/cimclient/internal/cimxml/sax/node/AbstractMethodCallNode.java,v retrieving revision 1.1.2.9 retrieving revision 1.1.2.10 diff -u -d -r1.1.2.9 -r1.1.2.10 --- AbstractMethodCallNode.java 1 Jun 2009 17:01:10 -0000 1.1.2.9 +++ AbstractMethodCallNode.java 27 Mar 2012 19:06:32 -0000 1.1.2.10 @@ -1,5 +1,5 @@ /** - * (C) Copyright IBM Corp. 2006, 2009 + * (C) Copyright IBM Corp. 2006, 2012 * * THIS FILE IS PROVIDED UNDER THE TERMS OF THE ECLIPSE PUBLIC LICENSE * ("AGREEMENT"). ANY USE, REPRODUCTION OR DISTRIBUTION OF THIS FILE @@ -19,7 +19,8 @@ * 2003590 2008-06-30 blaschke-oss Change licensing from CPL to EPL * 2524131 2009-01-21 raman_arora Upgrade client to JDK 1.5 (Phase 1) * 2531371 2009-02-10 raman_arora Upgrade client to JDK 1.5 (Phase 2) - * 2797550 2009-06-01 raman_arora JSR48 compliance - add Java Generics + * 2797550 2009-06-01 raman_arora JSR48 compliance - add Java Generics + * 3511454 2012-03-27 blaschke-oss SAX nodes not reinitialized properly */ package org.sblim.cimclient.internal.cimxml.sax.node; @@ -78,6 +79,10 @@ @Override public void init(Attributes pAttribs, SAXSession pSession) throws SAXException { this.iName = getCIMName(pAttribs); + this.iPath = null; + this.iRespDstNode = null; + this.iArgAL = null; + this.iArgA = null; } /** @@ -179,7 +184,7 @@ */ public CIMArgument<?> getArgument(int pIdx) { getCIMArguments(); - return this.iArgA[pIdx]; + return this.iArgA == null ? null : this.iArgA[pIdx]; } @Override Index: SimpleRspNode.java =================================================================== RCS file: /cvsroot/sblim/jsr48-client/src/org/sblim/cimclient/internal/cimxml/sax/node/SimpleRspNode.java,v retrieving revision 1.1.2.10 retrieving revision 1.1.2.11 diff -u -d -r1.1.2.10 -r1.1.2.11 --- SimpleRspNode.java 2 Sep 2009 20:25:52 -0000 1.1.2.10 +++ SimpleRspNode.java 27 Mar 2012 19:06:32 -0000 1.1.2.11 @@ -1,5 +1,5 @@ /** - * (C) Copyright IBM Corp. 2006, 2009 + * (C) Copyright IBM Corp. 2006, 2012 * * THIS FILE IS PROVIDED UNDER THE TERMS OF THE ECLIPSE PUBLIC LICENSE * ("AGREEMENT"). ANY USE, REPRODUCTION OR DISTRIBUTION OF THIS FILE @@ -20,6 +20,7 @@ * 2531371 2009-02-10 raman_arora Upgrade client to JDK 1.5 (Phase 2) * 2797550 2009-06-01 raman_arora JSR48 compliance - add Java Generics * 2845211 2009-08-27 raman_arora Pull Enumeration Feature (SAX Parser) + * 3511454 2012-03-27 blaschke-oss SAX nodes not reinitialized properly */ package org.sblim.cimclient.internal.cimxml.sax.node; @@ -60,7 +61,8 @@ */ @Override public void init(Attributes pAttribs, SAXSession pSession) { - // no attributes + this.iChildNode = null; + // no attributes } /** Index: InstancePathNode.java =================================================================== RCS file: /cvsroot/sblim/jsr48-client/src/org/sblim/cimclient/internal/cimxml/sax/node/InstancePathNode.java,v retrieving revision 1.1.2.9 retrieving revision 1.1.2.10 diff -u -d -r1.1.2.9 -r1.1.2.10 --- InstancePathNode.java 1 Jun 2009 17:01:10 -0000 1.1.2.9 +++ InstancePathNode.java 27 Mar 2012 19:06:32 -0000 1.1.2.10 @@ -1,5 +1,5 @@ /** - * (C) Copyright IBM Corp. 2006, 2009 + * (C) Copyright IBM Corp. 2006, 2012 * * THIS FILE IS PROVIDED UNDER THE TERMS OF THE ECLIPSE PUBLIC LICENSE * ("AGREEMENT"). ANY USE, REPRODUCTION OR DISTRIBUTION OF THIS FILE @@ -20,6 +20,7 @@ * 2003590 2008-06-30 blaschke-oss Change licensing from CPL to EPL * 2524131 2009-01-21 raman_arora Upgrade client to JDK 1.5 (Phase 1) * 2797550 2009-06-01 raman_arora JSR48 compliance - add Java Generics + * 3511454 2012-03-27 blaschke-oss SAX nodes not reinitialized properly */ package org.sblim.cimclient.internal.cimxml.sax.node; @@ -42,7 +43,7 @@ private String iLocalNameSpacePathStr; - private XMLHostStr iHostStr = new XMLHostStr(); + private XMLHostStr iHostStr; // INSTANCENAME private boolean iHasInstanceName; @@ -65,6 +66,9 @@ @Override public void init(Attributes pAttribs, SAXSession pSession) { this.iHasInstanceName = this.iHasInstancePath = false; + this.iLocalNameSpacePathStr = this.iClassNameStr = null; + this.iHostStr = new XMLHostStr(); + this.iKeys = null; } @Override Index: QualiDeclNode.java =================================================================== RCS file: /cvsroot/sblim/jsr48-client/src/org/sblim/cimclient/internal/cimxml/sax/node/QualiDeclNode.java,v retrieving revision 1.1.2.10 retrieving revision 1.1.2.11 diff -u -d -r1.1.2.10 -r1.1.2.11 --- QualiDeclNode.java 1 Jun 2009 17:01:09 -0000 1.1.2.10 +++ QualiDeclNode.java 27 Mar 2012 19:06:32 -0000 1.1.2.11 @@ -1,5 +1,5 @@ /** - * (C) Copyright IBM Corp. 2006, 2009 + * (C) Copyright IBM Corp. 2006, 2012 * * THIS FILE IS PROVIDED UNDER THE TERMS OF THE ECLIPSE PUBLIC LICENSE * ("AGREEMENT"). ANY USE, REPRODUCTION OR DISTRIBUTION OF THIS FILE @@ -19,8 +19,9 @@ * 1720707 2007-05-17 ebak Conventional Node factory for CIM-XML SAX parser * 2003590 2008-06-30 blaschke-oss Change licensing from CPL to EPL * 2524131 2009-01-21 raman_arora Upgrade client to JDK 1.5 (Phase 1) - * 2531371 2009-02-10 raman_arora Upgrade client to JDK 1.5 (Phase 2) + * 2531371 2009-02-10 raman_arora Upgrade client to JDK 1.5 (Phase 2) * 2797550 2009-06-01 raman_arora JSR48 compliance - add Java Generics + * 3511454 2012-03-27 blaschke-oss SAX nodes not reinitialized properly */ package org.sblim.cimclient.internal.cimxml.sax.node; @@ -100,7 +101,9 @@ @Override public void init(Attributes pAttribs, SAXSession pSession) throws SAXException { this.iHasScope = false; + this.iScope = 0; this.iValueNodeName = null; + this.iValue = null; this.iName = getCIMName(pAttribs); this.iType = getCIMType(pAttribs, true); this.iFlavor = getQualifierFlavor(pAttribs); Index: ValueReferenceNode.java =================================================================== RCS file: /cvsroot/sblim/jsr48-client/src/org/sblim/cimclient/internal/cimxml/sax/node/ValueReferenceNode.java,v retrieving revision 1.1.2.8 retrieving revision 1.1.2.9 diff -u -d -r1.1.2.8 -r1.1.2.9 --- ValueReferenceNode.java 23 Feb 2009 18:25:57 -0000 1.1.2.8 +++ ValueReferenceNode.java 27 Mar 2012 19:06:32 -0000 1.1.2.9 @@ -1,5 +1,5 @@ /** - * (C) Copyright IBM Corp. 2006, 2009 + * (C) Copyright IBM Corp. 2006, 2012 * * THIS FILE IS PROVIDED UNDER THE TERMS OF THE ECLIPSE PUBLIC LICENSE * ("AGREEMENT"). ANY USE, REPRODUCTION OR DISTRIBUTION OF THIS FILE @@ -18,7 +18,8 @@ * 1720707 2007-05-17 ebak Conventional Node factory for CIM-XML SAX parser * 2003590 2008-06-30 blaschke-oss Change licensing from CPL to EPL * 2524131 2009-01-21 raman_arora Upgrade client to JDK 1.5 (Phase 1) - * 2531371 2009-02-10 raman_arora Upgrade client to JDK 1.5 (Phase 2) + * 2531371 2009-02-10 raman_arora Upgrade client to JDK 1.5 (Phase 2) + * 3511454 2012-03-27 blaschke-oss SAX nodes not reinitialized properly */ package org.sblim.cimclient.internal.cimxml.sax.node; @@ -97,7 +98,7 @@ } public CIMDataType getType() { - return new CIMDataType(this.iCIMObjPath.getObjectName()); + return this.iCIMObjPath == null ? null : new CIMDataType(this.iCIMObjPath.getObjectName()); } public CIMObjectPath getCIMObjectPath() { Index: ExpMethodCallNode.java =================================================================== RCS file: /cvsroot/sblim/jsr48-client/src/org/sblim/cimclient/internal/cimxml/sax/node/ExpMethodCallNode.java,v retrieving revision 1.1.2.8 retrieving revision 1.1.2.9 diff -u -d -r1.1.2.8 -r1.1.2.9 --- ExpMethodCallNode.java 23 Feb 2009 18:25:57 -0000 1.1.2.8 +++ ExpMethodCallNode.java 27 Mar 2012 19:06:32 -0000 1.1.2.9 @@ -1,5 +1,5 @@ /** - * (C) Copyright IBM Corp. 2006, 2009 + * (C) Copyright IBM Corp. 2006, 2012 * * THIS FILE IS PROVIDED UNDER THE TERMS OF THE ECLIPSE PUBLIC LICENSE * ("AGREEMENT"). ANY USE, REPRODUCTION OR DISTRIBUTION OF THIS FILE @@ -18,7 +18,8 @@ * 1720707 2007-05-17 ebak Conventional Node factory for CIM-XML SAX parser * 2003590 2008-06-30 blaschke-oss Change licensing from CPL to EPL * 2524131 2009-01-21 raman_arora Upgrade client to JDK 1.5 (Phase 1) - * 2531371 2009-02-10 raman_arora Upgrade client to JDK 1.5 (Phase 2) + * 2531371 2009-02-10 raman_arora Upgrade client to JDK 1.5 (Phase 2) + * 3511454 2012-03-27 blaschke-oss SAX nodes not reinitialized properly */ package org.sblim.cimclient.internal.cimxml.sax.node; @@ -64,6 +65,7 @@ @Override public void init(Attributes pAttribs, SAXSession pSession) throws SAXException { this.iName = getCIMName(pAttribs); + if (this.iExpParamValNodeAList != null) this.iExpParamValNodeAList.clear(); } /** Index: MethodResponseNode.java =================================================================== RCS file: /cvsroot/sblim/jsr48-client/src/org/sblim/cimclient/internal/cimxml/sax/node/MethodResponseNode.java,v retrieving revision 1.1.2.11 retrieving revision 1.1.2.12 diff -u -d -r1.1.2.11 -r1.1.2.12 --- MethodResponseNode.java 2 Sep 2009 20:25:52 -0000 1.1.2.11 +++ MethodResponseNode.java 27 Mar 2012 19:06:32 -0000 1.1.2.12 @@ -1,5 +1,5 @@ /** - * (C) Copyright IBM Corp. 2006, 2009 + * (C) Copyright IBM Corp. 2006, 2012 * * THIS FILE IS PROVIDED UNDER THE TERMS OF THE ECLIPSE PUBLIC LICENSE * ("AGREEMENT"). ANY USE, REPRODUCTION OR DISTRIBUTION OF THIS FILE @@ -22,6 +22,7 @@ * 2763216 2009-04-14 blaschke-oss Code cleanup: visible spelling/grammar errors * 2797550 2009-06-01 raman_arora JSR48 compliance - add Java Generics * 2845211 2009-08-27 raman_arora Pull Enumeration Feature (SAX Parser) + * 3511454 2012-03-27 blaschke-oss SAX nodes not reinitialized properly */ package org.sblim.cimclient.internal.cimxml.sax.node; @@ -72,6 +73,9 @@ @Override public void init(Attributes pAttribs, SAXSession pSession) throws SAXException { this.iName = getCIMName(pAttribs); + this.iError = null; + this.iRetVal = null; + if (this.iCIMArgAL != null) this.iCIMArgAL.clear(); } /** |
From: Chris B. <buc...@us...> - 2012-03-26 19:39:38
|
Update of /cvsroot/sblim/sfcb In directory vz-cvs-3.sog:/tmp/cvs-serv8079 Modified Files: cimXmlRequest.c objectImpl.c Log Message: code cleanup: errant printf and unused var warning Index: objectImpl.c =================================================================== RCS file: /cvsroot/sblim/sfcb/objectImpl.c,v retrieving revision 1.54 retrieving revision 1.55 diff -u -d -r1.54 -r1.55 --- objectImpl.c 8 Mar 2012 06:26:23 -0000 1.54 +++ objectImpl.c 26 Mar 2012 19:39:36 -0000 1.55 @@ -494,7 +494,8 @@ { _SFCB_ENTER(TRACE_OBJECTIMPL, "removeClObject"); // fprintf(stderr, "replaceClString: %p replacing entry for we're skipping %d\n", hdr, (id-1)); - char *ts, *fs, *tmpstr = NULL; + char *ts, *fs; + // char *tmpstr = NULL; long i, l, u; ClStrBuf *fb; Index: cimXmlRequest.c =================================================================== RCS file: /cvsroot/sblim/sfcb/cimXmlRequest.c,v retrieving revision 1.67 retrieving revision 1.68 diff -u -d -r1.67 -r1.68 --- cimXmlRequest.c 16 Mar 2012 19:07:53 -0000 1.67 +++ cimXmlRequest.c 26 Mar 2012 19:39:36 -0000 1.68 @@ -2189,8 +2189,6 @@ _SFCB_TRACE(1, ("--- Provider context gotten")); if (irc == MSG_X_PROVIDER) { - fprintf(stderr, "cimXmlRequest: before invokeProvider, ctx.role is \"%s\"\n", ctx->role); - RespSegments rs; resp = invokeProvider(&binCtx); closeProviderContext(&binCtx); |
From: Narasimha S. <nsh...@us...> - 2012-03-26 18:33:10
|
Update of /cvsroot/sblim/sfcb In directory vz-cvs-3.sog:/tmp/cvs-serv31786 Modified Files: ChangeLog Log Message: [ 3498496 ] sfcb hangs and fails to respond to CIM requests Index: ChangeLog =================================================================== RCS file: /cvsroot/sblim/sfcb/ChangeLog,v retrieving revision 1.744 retrieving revision 1.745 diff -u -d -r1.744 -r1.745 --- ChangeLog 16 Mar 2012 19:07:53 -0000 1.744 +++ ChangeLog 26 Mar 2012 18:33:08 -0000 1.745 @@ -1,3 +1,8 @@ +2012-03-26 Narasimha Sharoff <nsh...@us...> + + * providerDrv.c: + [ 3498496 ] sfcb hangs and fails to respond to CIM requests + 2012-03-16 Chris Buccella <buc...@li...> * cimXmlRequest.c: |
From: Narasimha S. <nsh...@us...> - 2012-03-26 18:32:53
|
Update of /cvsroot/sblim/sfcb In directory vz-cvs-3.sog:/tmp/cvs-serv31766 Modified Files: NEWS Log Message: [ 3498496 ] sfcb hangs and fails to respond to CIM requests Index: NEWS =================================================================== RCS file: /cvsroot/sblim/sfcb/NEWS,v retrieving revision 1.666 retrieving revision 1.667 diff -u -d -r1.666 -r1.667 --- NEWS 16 Mar 2012 19:07:53 -0000 1.666 +++ NEWS 26 Mar 2012 18:32:51 -0000 1.667 @@ -57,6 +57,7 @@ - 3497209 oom panic: out of memory using fsp indprovider - 3504607 CMPIRole Support in brokerUpc - 3506306 Fix count for InvokeMethod requests +- 3498496 sfcb hangs and fails to respond to CIM requests Changes in 1.3.13 ================= |
From: Narasimha S. <nsh...@us...> - 2012-03-26 18:32:27
|
Update of /cvsroot/sblim/sfcb In directory vz-cvs-3.sog:/tmp/cvs-serv30618 Modified Files: providerDrv.c Log Message: [ 3498496 ] sfcb hangs and fails to respond to CIM requests Index: providerDrv.c =================================================================== RCS file: /cvsroot/sblim/sfcb/providerDrv.c,v retrieving revision 1.110 retrieving revision 1.111 diff -u -d -r1.110 -r1.111 --- providerDrv.c 12 Mar 2012 22:30:52 -0000 1.110 +++ providerDrv.c 26 Mar 2012 18:32:25 -0000 1.111 @@ -2416,7 +2416,7 @@ IndicationReq *req = (IndicationReq*)hdr; BinResponseHdr *resp=NULL; CMPIStatus rci = { CMPI_RC_OK, NULL }; - NativeSelectExp *se=NULL,**sef=&activFilters; + NativeSelectExp *se=NULL, *prev = NULL; CMPIObjectPath *path = relocateSerializedObjectPath(req->objectPath.data); CMPIContext *ctx = native_new_CMPIContext(MEM_TRACKED,info); CMPIResult *result = native_new_CMPIResult(0,1,NULL); @@ -2432,9 +2432,9 @@ _SFCB_TRACE(1, ("--- pid: %d activFilters %p",currentProc,activFilters)); if (info->indicationMI==NULL || activFilters==NULL) _SFCB_RETURN(resp); - for (se = activFilters; se; se = se->next) { + for (se = activFilters; se; prev = se, se = se->next) { + //_SFCB_TRACE(1, ("---- se->filterid:%p, req=>filterid:%p, se:%p, activFilters:%p, prev:%p", se->filterId, req->filterId, se, activFilters, prev)); if (se->filterId == req->filterId) { - *sef=se->next; if (activFilters==NULL) { _SFCB_TRACE(1, ("--- Calling disableIndications %s",info->providerName)); info->indicationEnabled=0; @@ -2458,6 +2458,16 @@ if (rci.rc==CMPI_RC_OK) { decreaseInUseSem(info->provIds.procId); resp->rc=1; + /*79580-3498496*/ + if (prev == NULL) { + activFilters = activFilters->next; + } + else { + prev->next = se->next; + } + _SFCB_TRACE(1, ("---- pid:%d, freeing: %p", currentProc, se)); + CMRelease((CMPISelectExp *)se); + _SFCB_RETURN(resp); } @@ -2465,8 +2475,6 @@ resp = errorResp(&rci); _SFCB_RETURN(resp); } - sef=&se->next; - CMRelease((CMPISelectExp*)se); } _SFCB_RETURN(resp); |
From: Dave B. <bla...@us...> - 2012-03-23 16:44:49
|
Update of /cvsroot/sblim/jsr48-client/src/javax/cim In directory vz-cvs-3.sog:/tmp/cvs-serv12055/src/javax/cim Modified Files: Tag: Experimental CIMObjectPath.java Log Message: 3510090 - Fix CIMObjectPath.toString() inconsistencies Index: CIMObjectPath.java =================================================================== RCS file: /cvsroot/sblim/jsr48-client/src/javax/cim/CIMObjectPath.java,v retrieving revision 1.11.2.16 retrieving revision 1.11.2.17 diff -u -d -r1.11.2.16 -r1.11.2.17 --- CIMObjectPath.java 2 Mar 2012 19:01:53 -0000 1.11.2.16 +++ CIMObjectPath.java 23 Mar 2012 16:44:46 -0000 1.11.2.17 @@ -27,6 +27,7 @@ * 2975975 2010-03-24 blaschke-oss TCK: CIMObjectPath(String) does not handle null * 3023141 2010-07-01 blaschke-oss CIMObjectPath uses # constructor instead of valueOf * 3496349 2012-03-02 blaschke-oss JSR48 1.0.0: add CIMObjectPath getKeyValue + * 3510090 2012-03-23 blaschke-oss Fix CIMObjectPath.toString() inconsistencies */ package javax.cim; @@ -665,7 +666,7 @@ */ @Override public String toString() { - return MOF.objectHandle(this, false, true); + return MOF.objectHandle(this, false, false); } } |
From: Dave B. <bla...@us...> - 2012-03-23 13:18:46
|
Update of /cvsroot/sblim/jsr48-client/src/org/sblim/cimclient/internal/cimxml In directory vz-cvs-3.sog:/tmp/cvs-serv27982/src/org/sblim/cimclient/internal/cimxml Modified Files: Tag: Experimental CimXmlSerializer.java Log Message: 3510321 - Handle CDATA in CimXmlSerializer Index: CimXmlSerializer.java =================================================================== RCS file: /cvsroot/sblim/jsr48-client/src/org/sblim/cimclient/internal/cimxml/CimXmlSerializer.java,v retrieving revision 1.1.2.8 retrieving revision 1.1.2.9 diff -u -d -r1.1.2.8 -r1.1.2.9 --- CimXmlSerializer.java 14 Apr 2009 22:21:54 -0000 1.1.2.8 +++ CimXmlSerializer.java 23 Mar 2012 13:18:43 -0000 1.1.2.9 @@ -1,5 +1,5 @@ /** - * (C) Copyright IBM Corp. 2007, 2009 + * (C) Copyright IBM Corp. 2007, 2012 * * THIS FILE IS PROVIDED UNDER THE TERMS OF THE ECLIPSE PUBLIC LICENSE * ("AGREEMENT"). ANY USE, REPRODUCTION OR DISTRIBUTION OF THIS FILE @@ -17,6 +17,7 @@ * 2003590 2008-06-30 blaschke-oss Change licensing from CPL to EPL * 2524131 2009-01-21 raman_arora Upgrade client to JDK 1.5 (Phase 1) * 2763216 2009-04-14 blaschke-oss Code cleanup: visible spelling/grammar errors + * 3510321 2012-03-23 blaschke-oss Handle CDATA in CimXmlSerializer */ package org.sblim.cimclient.internal.cimxml; @@ -320,7 +321,12 @@ pWriter.write("\""); break; case Node.TEXT_NODE: - pWriter.writeValue(pNode.getNodeValue()); + String value = pNode.getNodeValue(); + if (value != null && value.startsWith("<![CDATA[") && value.endsWith("]]>")) { + pWriter.write(value); + } else { + pWriter.writeValue(value); + } } } |
From: Dave H. <hel...@us...> - 2012-03-16 23:29:38
|
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 56496a5d8e82c3053409f1060f3c1c3fa5baa2af (commit) from 8291ca31eabb4fc700efa729b6021e122e14db2c (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 56496a5d8e82c3053409f1060f3c1c3fa5baa2af Author: Dave Heller <hel...@us...> Date: Fri Mar 16 19:20:12 2012 -0400 [ 3506453 ] Support peer cert verification for SSL indications ----------------------------------------------------------------------- Summary of changes: diff --git a/ChangeLog b/ChangeLog index 7dc0bb0..b8973c9 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,8 @@ +2012-03-16 Dave Heller <hel...@us...> + + * control.c, indCIMXMLExport.c, sfcb.cfg.pre.in: + [ 3506453 ] Support peer cert verification for SSL indications + 2012-03-15 Chris Buccella <buc...@li...> * brokerUpc.c: diff --git a/NEWS b/NEWS index 593b98d..7abe185 100644 --- a/NEWS +++ b/NEWS @@ -6,6 +6,7 @@ Everything in 1.3.13 and 1.3.14, plus: New features: - 3441679 Add a feature to validate CMPI types - 3497831 Updates to sfcb-ps test script +- 3506453 Support peer cert verification for SSL indications Bugs fixed: - 3495804 Cleanup: httpProcId still defined, wrong define in cimXmlGen diff --git a/control.c b/control.c index d84810d..108d227 100644 --- a/control.c +++ b/control.c @@ -108,6 +108,7 @@ Control init[] = { {"enableInterOp", 2, "true"}, {"sslClientTrustStore", 0, SFCB_CONFDIR "/client.pem"}, {"sslClientCertificate", 0, "ignore"}, + {"sslIndicationReceiverCert", 0, "ignore" }, {"certificateAuthLib", 0, "sfcCertificateAuthentication"}, {"localSocketPath", 0, "/tmp/sfcbLocalSocket"}, {"httpSocketPath", 0, "/tmp/sfcbHttpSocket"}, diff --git a/indCIMXMLExport.c b/indCIMXMLExport.c index 959c4e0..1c00e0d 100644 --- a/indCIMXMLExport.c +++ b/indCIMXMLExport.c @@ -150,7 +150,9 @@ genRequest(CurlData * cd, char *url, char **msg) { CURLcode rv; char *fnc, - *fnk; + *fnk, + *fnt, + *fnl; *msg = NULL; @@ -180,10 +182,38 @@ genRequest(CurlData * cd, char *url, char **msg) rv = curl_easy_setopt(cd->mHandle, CURLOPT_POST, 1); /* - * Disable SSL verification + * Enable endpoint cert verification as required */ - rv = curl_easy_setopt(cd->mHandle, CURLOPT_SSL_VERIFYHOST, 0); - rv = curl_easy_setopt(cd->mHandle, CURLOPT_SSL_VERIFYPEER, 0); + getControlChars("sslIndicationReceiverCert", &fnl); + for(;;) { + if (strcasecmp(fnl, "ignore") == 0) { + rv = curl_easy_setopt(cd->mHandle, CURLOPT_SSL_VERIFYPEER, 0); + rv = curl_easy_setopt(cd->mHandle, CURLOPT_SSL_VERIFYHOST, 0); + break; + } else if ((strcasecmp(fnl, "verify") == 0) || + (strcasecmp(fnl, "verifyhostname") == 0)) { + if (getControlChars("sslClientTrustStore", &fnt) == 0) { + rv = curl_easy_setopt(cd->mHandle, CURLOPT_CAINFO, fnt); + } else { + /* possible? */ + *msg=strdup("Cannot determine value of sslClientTrustStore parameter."); + return 3; + } + rv = curl_easy_setopt(cd->mHandle, CURLOPT_SSL_VERIFYPEER, 1); + if (strcasecmp(fnl, "verify") == 0) { + rv = curl_easy_setopt(cd->mHandle, CURLOPT_SSL_VERIFYHOST, 0); + break; + } else { /* verifyhostname */ + rv = curl_easy_setopt(cd->mHandle, CURLOPT_SSL_VERIFYHOST, 2); + break; + } + } else { + // Since we don't know user intent in this case, assume the strictest. + mlogf(M_ERROR,M_SHOW, + "--- ERROR: Invalid value for sslIndicationReceiverCert, setting to: verifyhostname.\n"); + fnl = "verifyhostname"; + } + } /* * set up client side cert usage @@ -228,7 +258,7 @@ genRequest(CurlData * cd, char *url, char **msg) rv = curl_easy_setopt(cd->mHandle, CURLOPT_FAILONERROR, 1); // Turn this on to enable debugging - // rv = curl_easy_setopt(mHandle, CURLOPT_VERBOSE, 1); + // rv = curl_easy_setopt(cd->mHandle, CURLOPT_VERBOSE, 1); return 0; } diff --git a/sfcb.cfg.pre.in b/sfcb.cfg.pre.in index 47a2acb..be7922a 100644 --- a/sfcb.cfg.pre.in +++ b/sfcb.cfg.pre.in @@ -172,15 +172,24 @@ enableHttps: @SFCB_CONF_HTTPS@ httpsPort: 5989 ## Filename containing the private key for the server's certificate. The file -## must be in PEM format and may not be passphrase-protected. +## must be in PEM format and may not be passphrase-protected. The file is +## relevant for both client connect and indications sent via https. +## For client connect: the file must be present if enableHttps is true. +## For indications: the file is required only if the indication receiver +## will attempt to verify the sender (sfcb) certificate. ## Default is @sysconfdir@/sfcb/file.pem sslKeyFilePath: @sysconfdir@/sfcb/file.pem ## Filename containing the server's certificate. Must be in PEM format. +## The file is relevant for both client connect and indications sent via https. +## For client connect: the file must be present if enableHttps is true. +## For indications: the file is required only if the indication receiver +## will attempt to verify the sender (sfcb) certificate. ## Default is @sysconfdir@/sfcb/server.pem sslCertificateFilePath: @sysconfdir@/sfcb/server.pem -## Filename containing list of certificates server accepts +## Filename containing list of certificates server accepts. +## The file is relevant client connect only. ## Default is @sysconfdir@/sfcb/clist.pem sslCertList: @sysconfdir@/sfcb/clist.pem @@ -192,8 +201,23 @@ sslCertList: @sysconfdir@/sfcb/clist.pem ## Default is ignore sslClientCertificate: ignore -## Location of the trust store. If sslClientCertificate is set to "require", +## How SFCB handles verification of the endpoint certificate when sending +## an indication via https. +## ignore - do not attempt to validate the endpoint certificate +## verify - validate the certificate against known CA certs in the trust store; +## do not send the indication if verification fails. +## verifyhostname - additionally validate the certificate CN (common name) +## against the indication handler Destination address; +## do not send the indication if verification fails. +## Default is ignore (always send the indication) +sslIndicationReceiverCert: ignore + +## Location of the trust store. Contains one or more CA certificates. +## The file is relevant for both client connect and indications sent via https. +## For client connect: if sslClientCertificate is set to "require", ## certificate presented must present valid according to the trust store. +## For indications: if sslIndicationReceiverCert is set to "verify" or +## "verifyhostname", the endpoint's certificate is checked against this file. ## Default: @sysconfdir@/sfcb/client.pem sslClientTrustStore: @sysconfdir@/sfcb/client.pem hooks/post-receive -- SFCB - Small Footprint CIM Broker |