(file) Return to snmpDeliverTrap_netsnmp.cpp CVS log (file) (dir) Up to [Pegasus] / pegasus / src / Pegasus / Handler / snmpIndicationHandler

Diff for /pegasus/src/Pegasus/Handler/snmpIndicationHandler/snmpDeliverTrap_netsnmp.cpp between version 1.12 and 1.20

version 1.12, 2007/01/11 16:21:59 version 1.20, 2008/10/14 17:37:18
Line 60 
Line 60 
     // Initializes the SNMP library     // Initializes the SNMP library
     init_snmp("snmpIndicationHandler");     init_snmp("snmpIndicationHandler");
  
       // don't load/save persistent file
   #ifdef NETSNMP_DS_LIB_DONT_PERSIST_STATE
       netsnmp_ds_set_boolean(NETSNMP_DS_LIBRARY_ID,
           NETSNMP_DS_LIB_DONT_PERSIST_STATE, 1);
   #endif
   
     // windows32 specific initialization (is a NOOP on unix)     // windows32 specific initialization (is a NOOP on unix)
     SOCK_STARTUP;     SOCK_STARTUP;
  
Line 70 
Line 76 
 { {
     PEG_METHOD_ENTER(TRC_IND_HANDLER, "snmpDeliverTrap_netsnmp::terminate");     PEG_METHOD_ENTER(TRC_IND_HANDLER, "snmpDeliverTrap_netsnmp::terminate");
  
       // Shuts down the application, and appropriate clean up
       snmp_shutdown("snmpIndicationHandler");
   
     SOCK_CLEANUP;     SOCK_CLEANUP;
  
     PEG_METHOD_EXIT();     PEG_METHOD_EXIT();
Line 97 
Line 106 
     struct snmp_pdu* snmpPdu;     struct snmp_pdu* snmpPdu;
  
     // Creates a SNMP session     // Creates a SNMP session
     _createSession(targetHost, portNumber, securityName,      _createSession(targetHost, targetHostFormat, portNumber, securityName,
                    sessionHandle, sessionPtr);                    sessionHandle, sessionPtr);
  
     try     try
Line 119 
Line 128 
     }     }
     catch (Exception& e)     catch (Exception& e)
     {     {
         PEG_TRACE_STRING(TRC_DISCARDED_DATA, Tracer::LEVEL2, e.getMessage());          Logger::put_l(Logger::STANDARD_LOG, System::CIMSERVER, Logger::WARNING,
               MessageLoaderParms(
         Logger::put_l(Logger::STANDARD_LOG, System::CIMSERVER,  
                       Logger::WARNING,  
                       _MSG_PACK_CIM_PROPERTY_TO_PDU_FAILED_KEY,                       _MSG_PACK_CIM_PROPERTY_TO_PDU_FAILED_KEY,
                       _MSG_PACK_CIM_PROPERTY_TO_PDU_FAILED,                       _MSG_PACK_CIM_PROPERTY_TO_PDU_FAILED,
                       e.getMessage());                  e.getMessage()));
     }     }
     catch (...)     catch (...)
     {     {
         PEG_TRACE_STRING(TRC_DISCARDED_DATA, Tracer::LEVEL2,          PEG_TRACE_CSTRING(TRC_DISCARDED_DATA, Tracer::LEVEL2,
             "Snmp Indication Handler failed to pack a CIM "             "Snmp Indication Handler failed to pack a CIM "
                 "Property into the SNMP PDU: Unknown exception.");                 "Property into the SNMP PDU: Unknown exception.");
     }     }
Line 149 
Line 156 
  
         free(errStr);         free(errStr);
  
           snmp_free_pdu(snmpPdu);
   
         _destroySession(sessionHandle);         _destroySession(sessionHandle);
  
         PEG_METHOD_EXIT();         PEG_METHOD_EXIT();
Line 165 
Line 174 
 // Creates a SNMP session // Creates a SNMP session
 void snmpDeliverTrap_netsnmp::_createSession( void snmpDeliverTrap_netsnmp::_createSession(
     const String& targetHost,     const String& targetHost,
       Uint16 targetHostFormat,
     Uint32 portNumber,     Uint32 portNumber,
     const String& securityName,     const String& securityName,
     void*& sessionHandle,     void*& sessionHandle,
Line 188 
Line 198 
         // peername has format: targetHost:portNumber         // peername has format: targetHost:portNumber
         snmpSession.peername =         snmpSession.peername =
             (char*)malloc((size_t)(strlen(targetHostCStr) + 1 + 32));             (char*)malloc((size_t)(strlen(targetHostCStr) + 1 + 32));
   
           if (targetHostFormat == _IPV6_ADDRESS)
           {
               sprintf(snmpSession.peername, "udp6:[%s]:%u",
                   (const char*)targetHostCStr,
                   portNumber);
           }
           else
           {
         sprintf(snmpSession.peername, "%s:%u",         sprintf(snmpSession.peername, "%s:%u",
             (const char*)targetHostCStr,             (const char*)targetHostCStr,
             portNumber);             portNumber);
           }
  
         sessionHandle = snmp_sess_open(&snmpSession);         sessionHandle = snmp_sess_open(&snmpSession);
     }     }
Line 206 
Line 226 
  
         free(errStr);         free(errStr);
  
           free(snmpSession.peername);
   
         PEG_METHOD_EXIT();         PEG_METHOD_EXIT();
  
         throw PEGASUS_CIM_EXCEPTION_L(CIM_ERR_FAILED,         throw PEGASUS_CIM_EXCEPTION_L(CIM_ERR_FAILED,
Line 227 
Line 249 
  
             free(errStr);             free(errStr);
  
               free(snmpSession.peername);
   
             throw PEGASUS_CIM_EXCEPTION_L(CIM_ERR_FAILED, MessageLoaderParms(             throw PEGASUS_CIM_EXCEPTION_L(CIM_ERR_FAILED, MessageLoaderParms(
                 _MSG_GET_SESSION_POINTER_FAILED_KEY,                 _MSG_GET_SESSION_POINTER_FAILED_KEY,
                 exceptionStr));                 exceptionStr));
Line 327 
Line 351 
             }             }
             catch (CIMException& e)             catch (CIMException& e)
             {             {
                 PEG_TRACE_STRING(TRC_DISCARDED_DATA, Tracer::LEVEL2,  
                     e.getMessage());  
                 Logger::put_l(                 Logger::put_l(
                     Logger::STANDARD_LOG, System::CIMSERVER, Logger::WARNING,                     Logger::STANDARD_LOG, System::CIMSERVER, Logger::WARNING,
                       MessageLoaderParms(
                     _MSG_PACK_TRAP_INFO_INTO_PDU_FAILED_KEY,                     _MSG_PACK_TRAP_INFO_INTO_PDU_FAILED_KEY,
                     _MSG_PACK_TRAP_INFO_INTO_PDU_FAILED,                     _MSG_PACK_TRAP_INFO_INTO_PDU_FAILED,
                     e.getMessage());                          e.getMessage()));
             }             }
  
             break;             break;
Line 373 
Line 396 
             {             {
                 String errMsg = snmp_api_errstring(retCode);                 String errMsg = snmp_api_errstring(retCode);
  
                 PEG_TRACE_STRING(TRC_DISCARDED_DATA, Tracer::LEVEL2,  
                     "Failed to add sysUpTime to pdu: " + errMsg);  
                 Logger::put_l(                 Logger::put_l(
                     Logger::STANDARD_LOG, System::CIMSERVER, Logger::WARNING,                     Logger::STANDARD_LOG, System::CIMSERVER, Logger::WARNING,
                       MessageLoaderParms(
                     _MSG_ADD_SYSUPTIME_TO_PDU_FAILED_KEY,                     _MSG_ADD_SYSUPTIME_TO_PDU_FAILED_KEY,
                     _MSG_ADD_SYSUPTIME_TO_PDU_FAILED,                     _MSG_ADD_SYSUPTIME_TO_PDU_FAILED,
                     errMsg);                          errMsg));
             }             }
  
             // Add snmp trap to the PDU             // Add snmp trap to the PDU
Line 395 
Line 417 
             {             {
                 String errMsg = snmp_api_errstring(retCode);                 String errMsg = snmp_api_errstring(retCode);
  
                 PEG_TRACE_STRING(TRC_DISCARDED_DATA, Tracer::LEVEL2,  
                     "Failed to add snmp trap to pdu: " + errMsg);  
                 Logger::put_l(                 Logger::put_l(
                     Logger::STANDARD_LOG, System::CIMSERVER, Logger::WARNING,                     Logger::STANDARD_LOG, System::CIMSERVER, Logger::WARNING,
                       MessageLoaderParms(
                     _MSG_ADD_SNMP_TRAP_TO_PDU_FAILED_KEY,                     _MSG_ADD_SNMP_TRAP_TO_PDU_FAILED_KEY,
                     _MSG_ADD_SNMP_TRAP_TO_PDU_FAILED,                     _MSG_ADD_SNMP_TRAP_TO_PDU_FAILED,
                     errMsg);                          errMsg));
             }             }
  
             break;             break;


Legend:
Removed from v.1.12  
changed lines
  Added in v.1.20

No CVS admin address has been configured
Powered by
ViewCVS 0.9.2