osaf/tools/safntf/include/ntfclient.h | 1 +
osaf/tools/safntf/ntfread/Makefile.am | 6 ++-
osaf/tools/safntf/ntfread/ntfread.c | 23 ++++-------
osaf/tools/safntf/ntfsend/Makefile.am | 6 ++-
osaf/tools/safntf/ntfsend/ntfsend.c | 29 ++++----------
osaf/tools/safntf/ntfsubscribe/Makefile.am | 6 ++-
osaf/tools/safntf/ntfsubscribe/ntfsubscribe.c | 4 ++
osaf/tools/safntf/src/Makefile.am | 1 +
osaf/tools/safntf/src/ntfclient.c | 53 ++++++++++++--------------
9 files changed, 59 insertions(+), 70 deletions(-)
diff --git a/osaf/tools/safntf/include/ntfclient.h
b/osaf/tools/safntf/include/ntfclient.h
--- a/osaf/tools/safntf/include/ntfclient.h
+++ b/osaf/tools/safntf/include/ntfclient.h
@@ -23,6 +23,7 @@
#include <saNtf.h>
#include "ntfsv_msg.h"
+#include "ntfsv_mem.h"
/* Defines */
#define DEFAULT_FLAG 0x0001
diff --git a/osaf/tools/safntf/ntfread/Makefile.am
b/osaf/tools/safntf/ntfread/Makefile.am
--- a/osaf/tools/safntf/ntfread/Makefile.am
+++ b/osaf/tools/safntf/ntfread/Makefile.am
@@ -23,6 +23,7 @@ bin_PROGRAMS = ntfread
ntfread_CPPFLAGS = \
$(AM_CPPFLAGS) \
+ -DSA_EXTENDED_NAME_SOURCE \
-I$(top_srcdir)/osaf/tools/safntf/include \
-I$(top_srcdir)/osaf/libs/common/ntfsv/include
@@ -30,6 +31,7 @@ ntfread_SOURCES = \
ntfread.c
ntfread_LDADD = \
+ $(top_builddir)/osaf/tools/safntf/src/libntfclient.la \
+ $(top_builddir)/osaf/libs/common/ntfsv/libntfsv_common.la \
$(top_builddir)/osaf/libs/core/libopensaf_core.la \
- $(top_builddir)/osaf/libs/saf/libSaNtf/libSaNtf.la \
- $(top_builddir)/osaf/tools/safntf/src/libntfclient.la
+ $(top_builddir)/osaf/libs/saf/libSaNtf/libSaNtf.la
diff --git a/osaf/tools/safntf/ntfread/ntfread.c
b/osaf/tools/safntf/ntfread/ntfread.c
--- a/osaf/tools/safntf/ntfread/ntfread.c
+++ b/osaf/tools/safntf/ntfread/ntfread.c
@@ -67,8 +67,8 @@ static SaUint16T nNyObj = 0;
static SaUint16T nCId = 0;
static SaNtfEventTypeT eType = 0;
-static SaNameT nObj = {0};
-static SaNameT nyObj = {0};
+static SaNameT nObj;
+static SaNameT nyObj;
static SaNtfClassIdT cId;
/* common alarm and security alarm */
@@ -272,6 +272,10 @@ int main(int argc, char *argv[]) {
verbose = 0;
progname = argv[0];
+ if (setenv("SA_ENABLE_EXTENDED_NAMES", "1", 1) != 0) {
+ LOG_ER("Failed to enable Extended SaNameT");
+ exit(EXIT_FAILURE);
+ }
/* Check options */
while (1) {
c = getopt_long(argc, argv, "b:c:d:hE:e:i:klN:n:op:s:v",
@@ -314,22 +318,11 @@ int main(int argc, char *argv[]) {
filterAlarm = false;
break;
case 'N':
- nyObj.length = (SaUint16T)strlen(optarg);
- if (SA_MAX_NAME_LENGTH < nyObj.length) {
- fprintf(stderr, "notifyingObject too long\n");
- exit(EXIT_FAILURE);
- }
- (void)memcpy(nyObj.value, optarg, nyObj.length);
+ saAisNameLend(optarg, &nyObj);
nNyObj = 1;
break;
case 'n':
- nObj.length = (SaUint16T)strlen(optarg);
- if (SA_MAX_NAME_LENGTH < nObj.length) {
- fprintf(stderr,
- "notificationObject too long\n");
- exit(EXIT_FAILURE);
- }
- (void)memcpy(nObj.value, optarg, nObj.length);
+ saAisNameLend(optarg, &nObj);
nNnObj = 1;
break;
case 'o':
diff --git a/osaf/tools/safntf/ntfsend/Makefile.am
b/osaf/tools/safntf/ntfsend/Makefile.am
--- a/osaf/tools/safntf/ntfsend/Makefile.am
+++ b/osaf/tools/safntf/ntfsend/Makefile.am
@@ -23,6 +23,7 @@ bin_PROGRAMS = ntfsend
ntfsend_CPPFLAGS = \
$(AM_CPPFLAGS) \
+ -DSA_EXTENDED_NAME_SOURCE \
-I$(top_srcdir)/osaf/tools/safntf/include \
-I$(top_srcdir)/osaf/libs/common/ntfsv/include
@@ -30,6 +31,7 @@ ntfsend_SOURCES = \
ntfsend.c
ntfsend_LDADD = \
+ $(top_builddir)/osaf/tools/safntf/src/libntfclient.la \
+ $(top_builddir)/osaf/libs/common/ntfsv/libntfsv_common.la \
$(top_builddir)/osaf/libs/core/libopensaf_core.la \
- $(top_builddir)/osaf/libs/saf/libSaNtf/libSaNtf.la \
- $(top_builddir)/osaf/tools/safntf/src/libntfclient.la
+ $(top_builddir)/osaf/libs/saf/libSaNtf/libSaNtf.la
diff --git a/osaf/tools/safntf/ntfsend/ntfsend.c
b/osaf/tools/safntf/ntfsend/ntfsend.c
--- a/osaf/tools/safntf/ntfsend/ntfsend.c
+++ b/osaf/tools/safntf/ntfsend/ntfsend.c
@@ -186,12 +186,8 @@ static void fillInDefaultValues(saNotifi
(void)strncpy(notificationParams->additionalText,
DEFAULT_ADDITIONAL_TEXT,
notificationAllocationParams->lengthAdditionalText);
- notificationParams->notificationObject.length =
strlen(DEFAULT_NOTIFICATION_OBJECT);
- (void)memcpy(notificationParams->notificationObject.value,
- DEFAULT_NOTIFICATION_OBJECT,
notificationParams->notificationObject.length);
- notificationParams->notifyingObject.length =
strlen(DEFAULT_NOTIFYING_OBJECT);
- (void)memcpy(notificationParams->notifyingObject.value,
- DEFAULT_NOTIFYING_OBJECT,
notificationParams->notifyingObject.length);
+ saAisNameLend(DEFAULT_NOTIFICATION_OBJECT,
¬ificationParams->notificationObject);
+ saAisNameLend(DEFAULT_NOTIFYING_OBJECT,
¬ificationParams->notifyingObject);
notificationParams->notificationClassId.vendorId = ERICSSON_VENDOR_ID;
notificationParams->notificationClassId.majorId = 0;
notificationParams->notificationClassId.minorId = 0;
@@ -802,6 +798,11 @@ int main(int argc, char *argv[])
{0, 0, 0, 0}
};
+ if (setenv("SA_ENABLE_EXTENDED_NAMES", "1", 1) != 0) {
+ LOG_ER("Failed to enable Extended SaNameT");
+ exit(EXIT_FAILURE);
+ }
+
fillInDefaultValues(&myNotificationAllocationParams,
&myNotificationFilterAllocationParams,
&myNotificationParams);
@@ -831,22 +832,10 @@ int main(int argc, char *argv[])
getVendorId(&myNotificationParams.notificationClassId);
break;
case 'n':
- myNotificationParams.notificationObject.length
= (SaUint16T)strlen(optarg);
- if (SA_MAX_NAME_LENGTH <
myNotificationParams.notificationObject.length) {
- fprintf(stderr, "notificationObject too
long\n");
- exit(EXIT_FAILURE);
- }
-
(void)memcpy(myNotificationParams.notificationObject.value,
- optarg,
myNotificationParams.notificationObject.length);
+ saAisNameLend(optarg,
&myNotificationParams.notificationObject);
break;
case 'N':
- myNotificationParams.notifyingObject.length =
(SaUint16T)strlen(optarg);
- if (SA_MAX_NAME_LENGTH <
myNotificationParams.notifyingObject.length) {
- fprintf(stderr, "notifyingObject too
long\n");
- exit(EXIT_FAILURE);
- }
-
(void)memcpy(myNotificationParams.notifyingObject.value,
- optarg,
myNotificationParams.notifyingObject.length);
+ saAisNameLend(optarg,
&myNotificationParams.notifyingObject);
break;
case 'e':
myNotificationParams.eventType =
(SaNtfEventTypeT)atoi(optarg);
diff --git a/osaf/tools/safntf/ntfsubscribe/Makefile.am
b/osaf/tools/safntf/ntfsubscribe/Makefile.am
--- a/osaf/tools/safntf/ntfsubscribe/Makefile.am
+++ b/osaf/tools/safntf/ntfsubscribe/Makefile.am
@@ -23,6 +23,7 @@ bin_PROGRAMS = ntfsubscribe
ntfsubscribe_CPPFLAGS = \
$(AM_CPPFLAGS) \
+ -DSA_EXTENDED_NAME_SOURCE \
-I$(top_srcdir)/osaf/tools/safntf/include \
-I$(top_srcdir)/osaf/libs/common/ntfsv/include
@@ -31,6 +32,7 @@ ntfsubscribe_SOURCES = \
ntfsubscribe_LDADD = \
+ $(top_builddir)/osaf/tools/safntf/src/libntfclient.la \
+ $(top_builddir)/osaf/libs/common/ntfsv/libntfsv_common.la \
$(top_builddir)/osaf/libs/core/libopensaf_core.la \
- $(top_builddir)/osaf/libs/saf/libSaNtf/libSaNtf.la \
- $(top_builddir)/osaf/tools/safntf/src/libntfclient.la
+ $(top_builddir)/osaf/libs/saf/libSaNtf/libSaNtf.la
diff --git a/osaf/tools/safntf/ntfsubscribe/ntfsubscribe.c
b/osaf/tools/safntf/ntfsubscribe/ntfsubscribe.c
--- a/osaf/tools/safntf/ntfsubscribe/ntfsubscribe.c
+++ b/osaf/tools/safntf/ntfsubscribe/ntfsubscribe.c
@@ -283,6 +283,10 @@ int main(int argc, char *argv[])
verbose = 0;
progname = argv[0];
+ if (setenv("SA_ENABLE_EXTENDED_NAMES", "1", 1) != 0) {
+ LOG_ER("Failed to enable Extended SaNameT");
+ exit(EXIT_FAILURE);
+ }
/* Check options */
while (1) {
c = getopt_long(argc, argv, "acosyht:v", long_options, NULL);
diff --git a/osaf/tools/safntf/src/Makefile.am
b/osaf/tools/safntf/src/Makefile.am
--- a/osaf/tools/safntf/src/Makefile.am
+++ b/osaf/tools/safntf/src/Makefile.am
@@ -22,6 +22,7 @@ noinst_LTLIBRARIES = libntfclient.la
libntfclient_la_CPPFLAGS = \
$(AM_CPPFLAGS) \
+ -DSA_EXTENDED_NAME_SOURCE \
-I$(top_srcdir)/osaf/libs/saf/include \
-I$(top_srcdir)/osaf/tools/safntf/include \
-I$(top_srcdir)/osaf/libs/common/ntfsv/include
diff --git a/osaf/tools/safntf/src/ntfclient.c
b/osaf/tools/safntf/src/ntfclient.c
--- a/osaf/tools/safntf/src/ntfclient.c
+++ b/osaf/tools/safntf/src/ntfclient.c
@@ -509,7 +509,7 @@ static void print_attribute_value(SaNtfN
const SaUint16T max_size = 20;
SaAisErrorT rc;
SaUint8T *bin_ptr;
- char tmp_str[SA_MAX_NAME_LENGTH+1];
+ char* tmp_str;
int i;
switch ((int)attributeType) {
@@ -538,12 +538,11 @@ static void print_attribute_value(SaNtfN
(void **)&str_ptr,
&data_size);
if (rc == SA_AIS_OK) {
- if (data_size > (SA_MAX_NAME_LENGTH+1)) {
- data_size = SA_MAX_NAME_LENGTH;
- }
- snprintf(tmp_str,data_size+1,"%s",str_ptr);
- printf(" Attribute Value: \"%s\"\n",
- tmp_str);
+ tmp_str = (char*) malloc(data_size + 1);
+ memcpy(tmp_str, str_ptr, data_size);
+ tmp_str[data_size] = '\0';
+ printf(" Attribute Value: \"%s\"\n", tmp_str);
+ free(tmp_str);
} else
fprintf(stderr, "saNtfPtrValGet Error "
"%d\n", rc);
@@ -635,8 +634,7 @@ static void print_header(const SaNtfNoti
SaNtfSubscriptionIdT subscriptionId,
SaNtfNotificationTypeT notificationType)
{
- char tmpObj[SA_MAX_NAME_LENGTH + 1];
-
+ char *temp_str;
if (verbose) {
printf("notificationID = %d\n",
(int)*(notificationHeader->notificationId));
@@ -648,25 +646,20 @@ static void print_header(const SaNtfNoti
print_event_type(*notificationHeader->eventType, notificationType);
if (verbose)
- printf("notificationObject.length = %u\n",
- notificationHeader->notificationObject->length);
+ printf("notificationObject.length = %zu\n",
+
ntfs_sanamet_length(notificationHeader->notificationObject));
+
+ temp_str = ntfs_sanamet_strdup(notificationHeader->notificationObject);
+ printf("notificationObject = \"%s\"\n", temp_str);
+ free(temp_str);
+
+ if (verbose)
+ printf("notifyingObject.length = %zu\n",
+
ntfs_sanamet_length(notificationHeader->notifyingObject));
- strncpy(tmpObj,
- (char *)notificationHeader->notificationObject->value,
- notificationHeader->notificationObject->length);
- tmpObj[notificationHeader->notificationObject->length] = '\0';
- printf("notificationObject = \"%s\"\n", tmpObj);
-
- strncpy(tmpObj,
- (char *)notificationHeader->notifyingObject->value,
- notificationHeader->notifyingObject->length);
- tmpObj[notificationHeader->notifyingObject->length] = '\0';
-
- if (verbose)
- printf("notifyingObject.length = %u\n",
- notificationHeader->notifyingObject->length);
-
- printf("notifyingObject = \"%s\"\n", tmpObj);
+ temp_str = ntfs_sanamet_strdup(notificationHeader->notifyingObject);
+ printf("notifyingObject = \"%s\"\n", temp_str);
+ free(temp_str);
/* Notification Class ID in compact dot notation */
if (notificationHeader->notificationClassId->vendorId ==
@@ -698,6 +691,7 @@ void print_additional_info(SaNtfNotifica
{
int i;
SaNameT *dataPtr;
+ char *temp_str;
SaStringT info_value_str;
SaUint16T dataSize;
SaAisErrorT rc;
@@ -716,8 +710,9 @@ void print_additional_info(SaNtfNotifica
(void **)&dataPtr,
&dataSize);
if (rc == SA_AIS_OK) {
- printf(" infoValue = \"%s\"\n",
- dataPtr->value);
+ temp_str = ntfs_sanamet_strdup(dataPtr);
+ printf(" infoValue = \"%s\"\n",
temp_str);
+ free(temp_str);
} else
fprintf(stderr, "saNtfPtrValGet Error "
"%d\n", rc);
------------------------------------------------------------------------------
Open source business process management suite built on Java and Eclipse
Turn processes into business applications with Bonita BPM Community Edition
Quickly connect people, data, and systems into organized workflows
Winner of BOSSIE, CODIE, OW2 and Gartner awards
http://p.sf.net/sfu/Bonitasoft
_______________________________________________
Opensaf-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/opensaf-devel