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

Diff for /pegasus/src/Pegasus/Handler/snmpIndicationHandler/snmpDeliverTrap_emanate.cpp between version 1.5 and 1.6

version 1.5, 2002/03/27 21:27:35 version 1.6, 2002/04/17 22:46:33
Line 116 
Line 116 
  
     // TRAP OID: getting trapOid     // TRAP OID: getting trapOid
     char* _trapOid = trapOid.allocateCString();     char* _trapOid = trapOid.allocateCString();
       _trapOid[strlen(_trapOid)-1] = '\0';
     OID *sendtrapOid = MakeOIDFromDot(_trapOid);     OID *sendtrapOid = MakeOIDFromDot(_trapOid);
  
     // Destination : converting destination into Transport     // Destination : converting destination into Transport
Line 246 
Line 247 
     }     }
  
     char* _vbOid;     char* _vbOid;
     char* _vbType;  
     char* _vbValue;     char* _vbValue;
  
     for(Uint32 i = 0; i < vbOids.size(); i++)     for(Uint32 i = 0; i < vbOids.size(); i++)
     {     {
         _vbOid = vbOids[i].allocateCString();         _vbOid = vbOids[i].allocateCString();
         _vbType = vbTypes[i].allocateCString();  
         _vbValue = vbValues[i].allocateCString();         _vbValue = vbValues[i].allocateCString();
  
         if ((object = MakeOIDFromDot(_vbOid)) == NULL)         if ((object = MakeOIDFromDot(_vbOid)) == NULL)
Line 261 
Line 260 
             return;             return;
         }         }
  
         if (strcmp(_vbType,"OctetString") == 0)          if (vbTypes[i] == String("OctetString"))
         {         {
             newValue = CloneOctetString(MakeOctetStringFromText(_vbValue));             newValue = CloneOctetString(MakeOctetStringFromText(_vbValue));
             if (newValue == NULL)             if (newValue == NULL)
Line 280 
Line 279 
         }         }
         else         else
         {         {
             newValue = CloneOctetString(MakeOctetString(              int vbvalue = atoi(_vbValue);
                 (unsigned char *) _vbValue, strlen(_vbValue)));              void* value = &vbvalue;
  
             if (newValue == NULL)             if (newValue == NULL)
             {             {
Line 291 
Line 290 
             if ((vb2 = MakeVarBindWithValue(object,             if ((vb2 = MakeVarBindWithValue(object,
                 (OID *) NULL,                 (OID *) NULL,
                 INTEGER_TYPE,                 INTEGER_TYPE,
                 newValue)) == NULL)                  value)) == NULL)
             {             {
                 cout << "Invalid Integer Value: " << vbValues[i] << endl;                 cout << "Invalid Integer Value: " << vbValues[i] << endl;
                 return;                 return;
Line 311 
Line 310 
         FreeOID(object);         FreeOID(object);
     }     }
  
     delete [] _vbType;  
     delete [] _vbValue;     delete [] _vbValue;
     delete [] _vbOid;     delete [] _vbOid;
  
     vb3->next_var = NULL;     vb3->next_var = NULL;
  
     // Now sending the trap     // Now sending the trap
     if (trapType == String("SNMPGeneric"))      if (trapType == String("SNMPv1"))
     {  
         cout << genTrap << endl;  
         cout << specTrap << endl;  
         PrintVarBindList(vb);  
         //PrintOID(enterpriseOid);  
         cout << _trapOid << endl;  
         cout << "Sending SNMP generic trap : " << trapOid << endl;  
   
         do_trap(genTrap, specTrap, vb, enterpriseOid, _trapOid);  
   
         FreeVarBindList(vb);  
         FreeVarBindList(vb2);  
     }  
     else if (trapType == String("SNMPv1"))  
     {     {
         cout << "Sending SNMPv1 Trap : " << trapOid << endl;  
         SendNotificationToDestSMIv1Params(         SendNotificationToDestSMIv1Params(
             1,                                  // notifyType - TRAP             1,                                  // notifyType - TRAP
             genTrap,                            // genTrap             genTrap,                            // genTrap
Line 350 
Line 333 
             SR_SECURITY_MODEL_V1,               // securityModel             SR_SECURITY_MODEL_V1,               // securityModel
             &global_ti,                         // Transport Info             &global_ti,                         // Transport Info
             0);                                 // cfg_chk             0);                                 // cfg_chk
   
         FreeVarBindList(vb);  
         FreeVarBindList(vb2);  
     }     }
     else if (trapType == String("SNMPv2"))     else if (trapType == String("SNMPv2"))
     {     {
         cout << "Sending SNMPv2 Trap : " << trapOid << endl;  
         SendNotificationToDestSMIv2Params(         SendNotificationToDestSMIv2Params(
             2,                                  // notifyType - NOTIFICATION              1,                                  // notifyType - NOTIFICATION
             sendtrapOid,                        // snmpTrapOID             sendtrapOid,                        // snmpTrapOID
             agent_addr,                         // agent_addr             agent_addr,                         // agent_addr
             vb,                                 // vb             vb,                                 // vb
Line 380 
Line 359 
         exit(2);         exit(2);
     }     }
  
       FreeVarBindList(vb);
       FreeVarBindList(vb2);
       FreeVarBindList(vb3);
   
     delete [] _trapOid;     delete [] _trapOid;
 } }
  


Legend:
Removed from v.1.5  
changed lines
  Added in v.1.6

No CVS admin address has been configured
Powered by
ViewCVS 0.9.2