summaryrefslogtreecommitdiff
path: root/net-mgmt/net-snmp/files/patch-snmpUCDIPv6Domain.c
diff options
context:
space:
mode:
Diffstat (limited to 'net-mgmt/net-snmp/files/patch-snmpUCDIPv6Domain.c')
-rw-r--r--net-mgmt/net-snmp/files/patch-snmpUCDIPv6Domain.c17
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);
}
}