diff options
Diffstat (limited to 'net-mgmt/net-snmp/files/patch-snmpUCDIPv6Domain.c')
-rw-r--r-- | net-mgmt/net-snmp/files/patch-snmpUCDIPv6Domain.c | 17 |
1 files changed, 11 insertions, 6 deletions
diff --git a/net-mgmt/net-snmp/files/patch-snmpUCDIPv6Domain.c b/net-mgmt/net-snmp/files/patch-snmpUCDIPv6Domain.c index e871d417b40e..e830283e3d4a 100644 --- a/net-mgmt/net-snmp/files/patch-snmpUCDIPv6Domain.c +++ b/net-mgmt/net-snmp/files/patch-snmpUCDIPv6Domain.c @@ -1,12 +1,14 @@ ---- snmplib/snmpUDPIPv6Domain.c.orig 2007-08-20 17:06:42.000000000 +0900 -+++ snmplib/snmpUDPIPv6Domain.c 2007-12-21 09:58:31.316414938 +0900 -@@ -103,13 +103,21 @@ +Index: snmplib/snmpUDPIPv6Domain.c +diff -u -p snmplib/snmpUDPIPv6Domain.c.orig snmplib/snmpUDPIPv6Domain.c +--- snmplib/snmpUDPIPv6Domain.c.orig Mon Aug 20 17:06:42 2007 ++++ snmplib/snmpUDPIPv6Domain.c Fri Jan 11 13:39:36 2008 +@@ -103,13 +103,24 @@ netsnmp_udp6_fmtaddr(netsnmp_transport * if (to == NULL) { return strdup("UDP/IPv6: unknown"); } else { - char addr[INET6_ADDRSTRLEN]; - char tmp[INET6_ADDRSTRLEN + 18]; -+ char tmp[NI_MAXHOST]; ++ char addr[NI_MAXHOST], tmp[NI_MAXHOST + NI_MAXSERV + 12]; - sprintf(tmp, "UDP/IPv6: [%s]:%hu", - inet_ntop(AF_INET6, (void *) &(to->sin6_addr), addr, @@ -20,10 +22,13 @@ +#ifndef NI_WITHSCOPEID +#define NI_WITHSCOPEID 0 +#endif -+ if (getnameinfo(to, sizeof(struct sockaddr_in6), tmp, sizeof(tmp), -+ NULL, 0, NI_NUMERICHOST | NI_WITHSCOPEID)) { ++ if (getnameinfo((struct sockaddr *)to, sizeof(struct sockaddr_in6), ++ addr, sizeof(addr), NULL, 0, ++ NI_NUMERICHOST | NI_WITHSCOPEID)) { + return strdup("UDP/IPv6: unknown"); + } ++ snprintf(tmp, sizeof(tmp), "UDP/IPv6: [%s]:%hu", addr, ++ ntohs(to->sin6_port)); + return strdup(tmp); } } |