Feature #609: Generate event when network mask on interface is corrected
authorzev <zev@radensolutions.com>
Fri, 29 Aug 2014 18:41:33 +0000 (21:41 +0300)
committerzev <zev@radensolutions.com>
Fri, 29 Aug 2014 18:41:33 +0000 (21:41 +0300)
include/netxmsdb.h
include/nxevent.h
sql/events.in
src/server/core/interface.cpp
src/server/tools/nxdbmgr/upgrade.cpp

index 3ff12e8..8c6f9a7 100644 (file)
@@ -23,6 +23,6 @@
 #ifndef _netxmsdb_h
 #define _netxmsdb_h
 
-#define DB_FORMAT_VERSION   334
+#define DB_FORMAT_VERSION   335
 
 #endif
index 23d6fc9..bd1faec 100644 (file)
@@ -1,4 +1,4 @@
-/* 
+/*
 ** NetXMS - Network Management System
 ** Copyright (C) 2003-2012 Victor Kirhenshtein
 **
 #define EVENT_AP_ADOPTED                  72
 #define EVENT_AP_UNADOPTED                73
 #define EVENT_AP_DOWN                     74
+#define EVENT_IF_MASK_CHANGED             75
 
 #define EVENT_SNMP_UNMATCHED_TRAP         500
 #define EVENT_SNMP_COLD_START             501
index 04c67a1..87efa37 100644 (file)
@@ -162,7 +162,7 @@ INSERT INTO event_cfg (event_code,event_name,severity,flags,message,description)
        );
 INSERT INTO event_cfg (event_code,event_name,severity,flags,message,description) VALUES
        (
-               EVENT_NODE_WARNING, 'SYS_NODE_WARNING', 
+               EVENT_NODE_WARNING, 'SYS_NODE_WARNING',
                EVENT_SEVERITY_WARNING, 1,
                'Node status changed to WARNING',
                'Generated when node status changed to "Warning".' CONCAT CRLF CONCAT
@@ -180,7 +180,7 @@ INSERT INTO event_cfg (event_code,event_name,severity,flags,message,description)
        );
 INSERT INTO event_cfg (event_code,event_name,severity,flags,message,description) VALUES
        (
-               EVENT_NODE_MAJOR, 'SYS_NODE_MAJOR', 
+               EVENT_NODE_MAJOR, 'SYS_NODE_MAJOR',
                EVENT_SEVERITY_MAJOR, 1,
                'Node status changed to MAJOR',
                'Generated when node status changed to "Major Problem".' CONCAT CRLF CONCAT
@@ -189,7 +189,7 @@ INSERT INTO event_cfg (event_code,event_name,severity,flags,message,description)
        );
 INSERT INTO event_cfg (event_code,event_name,severity,flags,message,description) VALUES
        (
-               EVENT_NODE_CRITICAL, 'SYS_NODE_CRITICAL', 
+               EVENT_NODE_CRITICAL, 'SYS_NODE_CRITICAL',
                EVENT_SEVERITY_CRITICAL, 1,
                'Node status changed to CRITICAL',
                'Generated when node status changed to critical.' CONCAT CRLF CONCAT
@@ -226,7 +226,7 @@ INSERT INTO event_cfg (event_code,event_name,severity,flags,message,description)
        );
 INSERT INTO event_cfg (event_code,event_name,severity,flags,message,description) VALUES
        (
-               EVENT_SNMP_FAIL, 'SYS_SNMP_UNREACHABLE', 
+               EVENT_SNMP_FAIL, 'SYS_SNMP_UNREACHABLE',
                EVENT_SEVERITY_WARNING, 1,
                'SNMP agent is not responding',
                'Generated when node''s SNMP agent is not responding.' CONCAT CRLF CONCAT
@@ -292,7 +292,7 @@ INSERT INTO event_cfg (event_code,event_name,severity,flags,message,description)
        );
 INSERT INTO event_cfg (event_code,event_name,severity,flags,message,description) VALUES
        (
-               EVENT_THREAD_HANGS, 'SYS_THREAD_HANG', 
+               EVENT_THREAD_HANGS, 'SYS_THREAD_HANG',
                EVENT_SEVERITY_CRITICAL, 1,
                'Thread "%1" is not responding',
                'Generated when one of the system threads hangs or stops unexpectedly.' CONCAT CRLF CONCAT
@@ -310,7 +310,7 @@ INSERT INTO event_cfg (event_code,event_name,severity,flags,message,description)
        );
 INSERT INTO event_cfg (event_code,event_name,severity,flags,message,description) VALUES
        (
-               EVENT_SMTP_FAILURE, 'SYS_SMTP_FAILURE', 
+               EVENT_SMTP_FAILURE, 'SYS_SMTP_FAILURE',
                EVENT_SEVERITY_WARNING, 1,
                'Unable to send e-mail to <%3>: %2',
                'Generated when server is unable to send e-mail.' CONCAT CRLF CONCAT
@@ -322,7 +322,7 @@ INSERT INTO event_cfg (event_code,event_name,severity,flags,message,description)
        );
 INSERT INTO event_cfg (event_code,event_name,severity,flags,message,description) VALUES
        (
-               EVENT_MAC_ADDR_CHANGED, 'SYS_MAC_ADDR_CHANGED', 
+               EVENT_MAC_ADDR_CHANGED, 'SYS_MAC_ADDR_CHANGED',
                EVENT_SEVERITY_WARNING, 1,
                'MAC address for interface %3 changed from %4 to %5',
                'Generated when server detects change of interface''s MAC address.' CONCAT CRLF CONCAT
@@ -335,7 +335,7 @@ INSERT INTO event_cfg (event_code,event_name,severity,flags,message,description)
        );
 INSERT INTO event_cfg (event_code,event_name,severity,flags,message,description) VALUES
        (
-               EVENT_INCORRECT_NETMASK, 'SYS_INCORRECT_NETMASK', 
+               EVENT_INCORRECT_NETMASK, 'SYS_INCORRECT_NETMASK',
                EVENT_SEVERITY_MINOR, 1,
                'Invalid network mask %4 on interface "%3", should be %5',
                'Generated when server detects invalid network mask on an interface.' CONCAT CRLF CONCAT
@@ -399,7 +399,7 @@ INSERT INTO event_cfg (event_code,event_name,severity,flags,message,description)
        );
 INSERT INTO event_cfg (event_code,event_name,severity,flags,message,description) VALUES
        (
-               EVENT_SMS_FAILURE, 'SYS_SMS_FAILURE', 
+               EVENT_SMS_FAILURE, 'SYS_SMS_FAILURE',
                EVENT_SEVERITY_WARNING, 1,
                'Unable to send SMS to phone %1',
                'Generated when server is unable to send SMS.' CONCAT CRLF CONCAT
@@ -867,6 +867,21 @@ INSERT INTO event_cfg (event_code,event_name,severity,flags,message,description)
                '    7) Access point serial number'
        );
 
+   INSERT INTO event_cfg (event_code,event_name,severity,flags,message,description) VALUES
+      (
+         EVENT_IF_MASK_CHANGED, 'SYS_IF_MASK_CHANGED',
+         EVENT_SEVERITY_NORMAL, 1,
+         'Interface "%2" changed mask from %6 to %4 (IP Addr: %3/%4, IfIndex: %5)',
+         'Generated when when network mask on interface is corrected.' CONCAT CRLF CONCAT
+         'Parameters:' CONCAT CRLF CONCAT
+         '   1) Interface object ID' CONCAT CRLF CONCAT
+         '   2) Interface name' CONCAT CRLF CONCAT
+         '   3) Interface IP address' CONCAT CRLF CONCAT
+         '   4) Interface netmask' CONCAT CRLF CONCAT
+         '   5) Interface index' CONCAT CRLF CONCAT
+         '   6) Interface old mask'
+      );
+
 /*
 ** SNMP traps
 */
index b48151e..a39c1a4 100644 (file)
@@ -835,10 +835,14 @@ void Interface::setIpAddr(UINT32 dwNewAddr)
  */
 void Interface::setIpNetMask(UINT32 dwNetMask)
 {
+   UINT32 oldNetMask = m_dwIpNetMask;
    LockData();
    m_dwIpNetMask = dwNetMask;
    Modify();
    UnlockData();
+   PostEvent(EVENT_IF_MASK_CHANGED, m_dwId, "dsaada", m_dwId,
+                m_szName, m_dwIpAddr,
+                m_dwIpNetMask, m_dwIfIndex, oldNetMask);
 }
 
 /**
index 8662f48..d791c5c 100644 (file)
@@ -388,6 +388,21 @@ static BOOL RecreateTData(const TCHAR *className, bool multipleTables, bool inde
 }
 
 /**
+ * Upgrade from V334 to V335
+ */
+static BOOL H_UpgradeFromV334(int currVersion, int newVersion)
+{
+   CHK_EXEC(SQLQuery(
+               _T("INSERT INTO event_cfg (event_code,event_name,severity,flags,message,description) VALUES ")
+               _T("(75, 'SYS_IF_MASK_CHANGED',0,1,'Interface \"%2\" changed mask from %6 to %4 (IP Addr: %3/%4, IfIndex: %5)',")
+               _T("'Generated when when network mask on interface is corrected.\r\n")
+               _T("Parameters:\r\n    1) Interface object ID\r\n    2) Interface name\r\n    3) Interface IP address\r\n ")
+               _T("    4) Interface netmask\r\n    5) Interface index\r\n    6) Interface old mask')")));
+   CHK_EXEC(SQLQuery(_T("UPDATE metadata SET var_value='335' WHERE var_name='SchemaVersion'")));
+   return TRUE;
+}
+
+/**
  * Upgrade from V333 to V334
  */
 static BOOL H_UpgradeFromV333(int currVersion, int newVersion)
@@ -8099,6 +8114,7 @@ static struct
    { 331, 332, H_UpgradeFromV331 },
    { 332, 333, H_UpgradeFromV332 },
    { 333, 334, H_UpgradeFromV333 },
+   { 334, 335, H_UpgradeFromV334 },
    { 0, 0, NULL }
 };