Sophie

Sophie

distrib > Scientific%20Linux > 5x > x86_64 > by-pkgid > c0394d3068b44395994f031447c8052d > files > 18

net-snmp-5.3.2.2-7.el5_4.2.src.rpm

--- net-snmp-5.3.2.2/agent/mibgroup/mibII/ipAddr.c.ip-size	2006-09-08 18:09:51.000000000 +0200
+++ net-snmp-5.3.2.2/agent/mibgroup/mibII/ipAddr.c	2008-07-10 16:44:12.000000000 +0200
@@ -202,6 +202,7 @@ var_ipAddrEntry(struct variable *vp,
 #endif
     static struct ifnet ifnet;
 #endif                          /* hpux11 */
+    static in_addr_t	addr_ret;
 
     /*
      * fill in object part of name for current (less sizeof instance part) 
@@ -295,13 +296,15 @@ var_ipAddrEntry(struct variable *vp,
     case IPADADDR:
        *var_len = sizeof(uint32_t);
 #ifdef hpux11
-        long_return = lowin_ifaddr.Addr;
-        return (u_char *) & long_return;
+        addr_ret = lowin_ifaddr.Addr;
+        *var_len = sizeof(addr_ret);
+        return (u_char *) & addr_ret;
 #elif defined(linux) || defined(sunV3)
         *var_len = sizeof(((struct sockaddr_in *) &lowin_ifnet.if_addr)->sin_addr.s_addr);
         return (u_char *) & ((struct sockaddr_in *) &lowin_ifnet.if_addr)->
             sin_addr.s_addr;
 #else
+        *var_len = sizeof(((struct sockaddr_in *) &lowin_ifaddr.ia_addr)->sin_addr.s_addr);
         return (u_char *) & ((struct sockaddr_in *) &lowin_ifaddr.
                              ia_addr)->sin_addr.s_addr;
 #endif
@@ -311,15 +314,17 @@ var_ipAddrEntry(struct variable *vp,
     case IPADNETMASK:
        *var_len = sizeof(uint32_t);
 #ifdef hpux11
-        long_return = lowin_ifaddr.NetMask;
-        return (u_char *) & long_return;
+        addr_ret = lowin_ifaddr.NetMask;
+        *var_len = sizeof(addr_ret);
+        return (u_char *) & addr_ret;
 #elif defined(linux)
         *var_len = sizeof(((struct sockaddr_in *) &lowin_ifnet.ia_subnetmask)->sin_addr.s_addr);
         return (u_char *) & ((struct sockaddr_in *) &lowin_ifnet.
                              ia_subnetmask)->sin_addr.s_addr;
 #elif !defined(sunV3)
-        long_return = lowin_ifaddr.ia_subnetmask;
-        return (u_char *) & long_return;
+        addr_ret = lowin_ifaddr.ia_subnetmask;
+        *var_len = sizeof(addr_ret);
+        return (u_char *) & addr_ret;
 #endif
     case IPADBCASTADDR:
 #ifdef hpux11
@@ -625,7 +630,7 @@ var_ipAddrEntry(struct variable * vp,
     static mib2_ipAddrEntry_t Lowentry;
     int             Found = 0;
     req_e           req_type;
-    static uint32_t ipaddr_return;
+    static in_addr_t addr_ret;
 
     /*
      * fill in object part of name for current (less sizeof instance part) 
@@ -693,17 +698,18 @@ var_ipAddrEntry(struct variable * vp,
     switch (vp->magic) {
     case IPADADDR:
 	*var_len = sizeof(uint32_t);
-        ipaddr_return = Lowentry.ipAdEntAddr;
-        return (u_char *) & ipaddr_return;
+        addr_ret = Lowentry.ipAdEntAddr;
+        *var_len = sizeof(addr_ret);
+        return (u_char *) & addr_ret;
     case IPADIFINDEX:
         long_return =
             Interface_Index_By_Name(Lowentry.ipAdEntIfIndex.o_bytes,
                                     Lowentry.ipAdEntIfIndex.o_length);
         return (u_char *) & long_return;
     case IPADNETMASK:
-	*var_len = sizeof(uint32_t);
-        ipaddr_return = Lowentry.ipAdEntNetMask;
-        return (u_char *) & ipaddr_return;
+        *var_len = sizeof(addr_ret);
+        addr_ret = Lowentry.ipAdEntNetMask;
+        return (u_char *) & addr_ret;
     case IPADBCASTADDR:
 	long_return = Lowentry.ipAdEntBcastAddr;
 	return (u_char *) & long_return;
@@ -865,7 +871,8 @@ var_ipAddrEntry(struct variable *vp,
     u_char         *cp;
     int             lowinterface = -1;
     int             i, interface;
-
+    static in_addr_t	addr_ret;
+    
     /*
      * fill in object part of name for current (less sizeof instance part) 
      */
@@ -914,18 +921,18 @@ var_ipAddrEntry(struct variable *vp,
     *var_len = sizeof(long_return);
     switch (vp->magic) {
     case IPADADDR:
-       *var_len = sizeof(uint32_t);
-        long_return = ifs[i].addr.s_addr;
-        return (u_char *) & long_return;
+        addr_ret = ifs[i].addr.s_addr;
+        *var_len = sizeof(addr_ret);
+        return (u_char *) & addr_ret;
 
     case IPADIFINDEX:
         long_return = ifs[i].index;
         return (u_char *) & long_return;
 
     case IPADNETMASK:
-       *var_len = sizeof(uint32_t);
-        long_return = ifs[i].mask.s_addr;
-        return (u_char *) & long_return;
+        addr_ret = ifs[i].mask.s_addr;
+        *var_len = sizeof(addr_ret);
+        return (u_char *) & addr_ret;
 
     case IPADBCASTADDR:
         long_return = ntohl(ifs[i].bcast.s_addr) & 1;
@@ -970,7 +977,8 @@ var_ipAddrEntry(struct variable *vp,
     DWORD           status = NO_ERROR;
     DWORD           statusRetry = NO_ERROR;
     DWORD           dwActualSize = 0;
-
+    static in_addr_t 	addr_ret;
+    
     /*
      * fill in object part of name for current (less sizeof instance part) 
      */
@@ -1025,9 +1033,9 @@ var_ipAddrEntry(struct variable *vp,
     *var_len = sizeof(long_return);
     switch (vp->magic) {
     case IPADADDR:
-       *var_len = sizeof(uint32_t);
-        long_return = pIpAddrTable->table[i].dwAddr;
-        return (u_char *) & long_return;
+    	addr_ret = pIpAddrTable->table[i].dwAddr;
+    	*var_len = sizeof(addr_ret);
+        return (u_char *) & addr_ret;
 
     case IPADIFINDEX:
         long_return = pIpAddrTable->table[i].dwIndex;
@@ -1035,10 +1043,10 @@ var_ipAddrEntry(struct variable *vp,
         return (u_char *) & long_return;
 
     case IPADNETMASK:
-       *var_len = sizeof(uint32_t);
-        long_return = pIpAddrTable->table[i].dwMask;
+        addr_ret = pIpAddrTable->table[i].dwMask;
+    	*var_len = sizeof(addr_ret);
         free(pIpAddrTable);
-        return (u_char *) & long_return;
+        return (u_char *) & addr_ret;
 
     case IPADBCASTADDR:
         long_return = pIpAddrTable->table[i].dwBCastAddr;
diff -up net-snmp-5.3.2.2/agent/mibgroup/mibII/udpTable.c.ip-size net-snmp-5.3.2.2/agent/mibgroup/mibII/udpTable.c
--- net-snmp-5.3.2.2/agent/mibgroup/mibII/udpTable.c.ip-size	2006-09-08 18:09:51.000000000 +0200
+++ net-snmp-5.3.2.2/agent/mibgroup/mibII/udpTable.c	2008-07-10 16:35:39.000000000 +0200
@@ -188,7 +188,8 @@ udpTable_handler(netsnmp_mib_handler    
     netsnmp_table_request_info *table_info;
     UDPTABLE_ENTRY_TYPE	  *entry;
     oid      subid;
-    long     port,addr;
+    long     port;
+    in_addr_t addr;
 
     DEBUGMSGTL(("mibII/udpTable", "Handler - mode %s\n",
                     se_find_label_in_slist("agent_mode", reqinfo->mode)));
@@ -360,7 +361,8 @@ udpTable_next_entry( void **loop_context
                      netsnmp_iterator_info *data)
 {
     UDPTABLE_ENTRY_TYPE	 *entry = (UDPTABLE_ENTRY_TYPE *)*loop_context;
-    long port, addr;
+    long port;
+    in_addr_t addr;
 
     if (!entry)
         return NULL;
@@ -373,7 +375,7 @@ udpTable_next_entry( void **loop_context
                               (u_char*)&IN6_EXTRACT_V4ADDR(&entry->pcb.inp_laddr),
                                  sizeof(IN6_EXTRACT_V4ADDR(&entry->pcb.inp_laddr)));
 #else
-    addr = UDP_ADDRESS_TO_NETWORK_ORDER((u_long)entry->UDPTABLE_LOCALADDRESS);
+    addr = UDP_ADDRESS_TO_NETWORK_ORDER((in_addr_t)entry->UDPTABLE_LOCALADDRESS);
     snmp_set_var_value(index, (u_char *)&addr,
                                  sizeof(entry->UDPTABLE_LOCALADDRESS));
 #endif
iff -up net-snmp-5.3.2.2/include/net-snmp/types.h.ip-size net-snmp-5.3.2.2/include/net-snmp/types.h
--- net-snmp-5.3.2.2/include/net-snmp/types.h.ip-size	2007-07-04 00:36:42.000000000 +0200
+++ net-snmp-5.3.2.2/include/net-snmp/types.h	2008-07-10 16:35:39.000000000 +0200
@@ -60,7 +60,7 @@ typedef u_int socklen_t;
 #endif
 
 #ifndef HAVE_IN_ADDR_T
-typedef u_int in_addr_t;
+typedef uint32_t in_addr_t;
 #endif
 
 #ifndef HAVE_SSIZE_T