osaf/services/saf/ntfsv/ntfs/Makefile.am | 1 + osaf/services/saf/ntfsv/ntfs/NtfFilter.cc | 34 +++++++++++++++++------------- osaf/services/saf/ntfsv/ntfs/NtfLogger.cc | 5 +++- osaf/services/saf/ntfsv/ntfs/ntfs_evt.c | 5 ++- osaf/services/saf/ntfsv/ntfs/ntfs_main.c | 5 ++++ 5 files changed, 32 insertions(+), 18 deletions(-)
diff --git a/osaf/services/saf/ntfsv/ntfs/Makefile.am b/osaf/services/saf/ntfsv/ntfs/Makefile.am --- a/osaf/services/saf/ntfsv/ntfs/Makefile.am +++ b/osaf/services/saf/ntfsv/ntfs/Makefile.am @@ -39,6 +39,7 @@ osaf_execbindir = $(pkglibdir) osaf_execbin_PROGRAMS = osafntfd osafntfd_CPPFLAGS = \ + -DSA_EXTENDED_NAME_SOURCE \ $(AM_CPPFLAGS) \ -I$(top_srcdir)/osaf/libs/common/ntfsv/include \ -I$(top_srcdir)/osaf/tools/saflog/include diff --git a/osaf/services/saf/ntfsv/ntfs/NtfFilter.cc b/osaf/services/saf/ntfsv/ntfs/NtfFilter.cc --- a/osaf/services/saf/ntfsv/ntfs/NtfFilter.cc +++ b/osaf/services/saf/ntfsv/ntfs/NtfFilter.cc @@ -24,6 +24,7 @@ */ #include "NtfFilter.hh" +#include <string> #include "logtrace.h" #include "ntfsv_mem.h" @@ -115,22 +116,25 @@ bool NtfFilter::checkSourceIndicator(SaU */ bool NtfFilter::cmpSaNameT(SaNameT *n, SaNameT *n2) { - if (n->length != n2->length) { - if (n->length < n2->length) { - char *rv, *p = strndup((char*)n->value, n->length); - char *p2 = strndup((char*)n2->value, n2->length); - rv = strstr(p2,p); - free(p); - free(p2); - if (rv) - return true; - } - return false; - } + bool rc; + char *str2, *str; + size_t length, length2; - if(memcmp(n->value, n2->value, n2->length) == 0) - return true; - return false; + rc = false; + str = ntfs_sanamet_strdup(n); + length = strlen(str); + str2 = ntfs_sanamet_strdup(n2); + length2 = strlen(str2); + + if (length != length2) { + if (length < length2) + rc = strstr(str2, str) != NULL; + } else if(memcmp(str, str2, length) == 0) + rc = true; + + free(str); + free(str2); + return rc; } /** diff --git a/osaf/services/saf/ntfsv/ntfs/NtfLogger.cc b/osaf/services/saf/ntfsv/ntfs/NtfLogger.cc --- a/osaf/services/saf/ntfsv/ntfs/NtfLogger.cc +++ b/osaf/services/saf/ntfsv/ntfs/NtfLogger.cc @@ -21,12 +21,14 @@ */ #include <sys/poll.h> +#include "saAis.h" #include "saLog.h" #include "NtfAdmin.hh" #include "NtfLogger.hh" #include "ntfs_com.h" #include "logtrace.h" #include "ntfsv_mem.h" +#include "osaf_extended_name.h" /* ======================================================================== * DEFINITIONS @@ -270,7 +272,8 @@ SaAisErrorT NtfLogger::logNotification(N SaAisErrorT NtfLogger::initLog() { SaAisErrorT result; - SaNameT alarmStreamName = {sizeof(SA_LOG_STREAM_ALARM), SA_LOG_STREAM_ALARM}; + SaNameT alarmStreamName; + osaf_extended_name_lend(SA_LOG_STREAM_ALARM, &alarmStreamName); int first_try = 1; TRACE_ENTER(); diff --git a/osaf/services/saf/ntfsv/ntfs/ntfs_evt.c b/osaf/services/saf/ntfsv/ntfs/ntfs_evt.c --- a/osaf/services/saf/ntfsv/ntfs/ntfs_evt.c +++ b/osaf/services/saf/ntfsv/ntfs/ntfs_evt.c @@ -20,6 +20,7 @@ #include <limits.h> #include "ntfs.h" #include "ntfsv_enc_dec.h" +#include "ntfsv_mem.h" #include "ntfs_imcnutil.h" @@ -341,10 +342,10 @@ static void print_header(SaNtfNotificati TRACE_1("eventType = %d", (int)*notificationHeader->eventType); /* Notification Object */ - TRACE_1("notificationObject.length = %u\n", notificationHeader->notificationObject->length); + TRACE_1("notificationObject.length = %zu\n", ntfs_sanamet_length(notificationHeader->notificationObject)); /* Notifying Object */ - TRACE_1("notifyingObject->length = %u\n", notificationHeader->notifyingObject->length); + TRACE_1("notifyingObject->length = %zu\n", ntfs_sanamet_length(notificationHeader->notifyingObject)); /* Notification Class ID */ TRACE_1("VendorID = %d\nmajorID = %d\nminorID = %d\n", diff --git a/osaf/services/saf/ntfsv/ntfs/ntfs_main.c b/osaf/services/saf/ntfsv/ntfs/ntfs_main.c --- a/osaf/services/saf/ntfsv/ntfs/ntfs_main.c +++ b/osaf/services/saf/ntfsv/ntfs/ntfs_main.c @@ -180,6 +180,11 @@ static uint32_t initialize() uint32_t rc = NCSCC_RC_SUCCESS;; TRACE_ENTER(); + /* Set extended SaNameT environment var*/ + if (setenv("SA_ENABLE_EXTENDED_NAMES", "1", 1) != 0) { + LOG_ER("Failed to enable Extended SaNameT"); + goto done; + } /* Determine how this process was started, by NID or AMF */ if (getenv("SA_AMF_COMPONENT_NAME") == NULL) ------------------------------------------------------------------------------ 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 Opensaf-devel@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/opensaf-devel