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)
------------------------------------------------------------------------------
Want fast and easy access to all the code in your enterprise? Index and
search up to 200,000 lines of code with a free copy of Black Duck
Code Sight - the same software that powers the world's largest code
search on Ohloh, the Black Duck Open Hub! Try it now.
http://p.sf.net/sfu/bds
_______________________________________________
Opensaf-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/opensaf-devel