Sun Feb 15 11:31:51 2009 UTC ()
Add a patch from the "net-snmp" repository to close the vulnerability
reported in SA33884/CVE-2008-6123.


(tron)
diff -r1.75 -r1.76 pkgsrc/net/net-snmp/Makefile
diff -r1.51 -r1.52 pkgsrc/net/net-snmp/distinfo
diff -r0 -r1.7 pkgsrc/net/net-snmp/patches/patch-ad

cvs diff -r1.75 -r1.76 pkgsrc/net/net-snmp/Makefile (switch to unified diff)

--- pkgsrc/net/net-snmp/Makefile 2008/11/02 08:30:07 1.75
+++ pkgsrc/net/net-snmp/Makefile 2009/02/15 11:31:51 1.76
@@ -1,140 +1,141 @@ @@ -1,140 +1,141 @@
1# $NetBSD: Makefile,v 1.75 2008/11/02 08:30:07 adam Exp $ 1# $NetBSD: Makefile,v 1.76 2009/02/15 11:31:51 tron Exp $
2 2
3DISTNAME= net-snmp-5.4.2.1 3DISTNAME= net-snmp-5.4.2.1
 4PKGREVISION= 1
4CATEGORIES= net 5CATEGORIES= net
5MASTER_SITES= ${MASTER_SITE_SOURCEFORGE:=net-snmp/} 6MASTER_SITES= ${MASTER_SITE_SOURCEFORGE:=net-snmp/}
6 7
7MAINTAINER= adam@NetBSD.org 8MAINTAINER= adam@NetBSD.org
8HOMEPAGE= http://www.net-snmp.org/ 9HOMEPAGE= http://www.net-snmp.org/
9COMMENT= Extensible SNMP implementation 10COMMENT= Extensible SNMP implementation
10 11
11CONFLICTS= ucd-snmp-[0-9]* 12CONFLICTS= ucd-snmp-[0-9]*
12CONFLICTS+= nocol-[0-9]* # bin/snmpget bin/snmpwalk 13CONFLICTS+= nocol-[0-9]* # bin/snmpget bin/snmpwalk
13 14
14USE_LIBTOOL= yes 15USE_LIBTOOL= yes
15GNU_CONFIGURE= yes 16GNU_CONFIGURE= yes
16 17
17MAKE_JOBS_SAFE= NO 18MAKE_JOBS_SAFE= NO
18 19
19MAKE_ENV+= OPSYS=${OPSYS} 20MAKE_ENV+= OPSYS=${OPSYS}
20 21
21# The self-test of Perl modules only works after installation because perl 22# The self-test of Perl modules only works after installation because perl
22# can't load the shared libraries from WRKSRC/ 23# can't load the shared libraries from WRKSRC/
23# Until this is fixed you can test them after installation by doing 24# Until this is fixed you can test them after installation by doing
24# `make test TEST_TARGET=perltest' 25# `make test TEST_TARGET=perltest'
25TEST_TARGET= test 26TEST_TARGET= test
26 27
27.include "../../mk/bsd.prefs.mk" 28.include "../../mk/bsd.prefs.mk"
28 29
29.if ${OPSYS} == "DragonFly" 30.if ${OPSYS} == "DragonFly"
30MAKE_ENV+= MIB_SYSTEM_LIBS=-lkinfo 31MAKE_ENV+= MIB_SYSTEM_LIBS=-lkinfo
31.endif 32.endif
32 33
33.if ${OPSYS} == "NetBSD" 34.if ${OPSYS} == "NetBSD"
34OSVERSION_SPECIFIC= YES 35OSVERSION_SPECIFIC= YES
35. if empty(CFLAGS:U:M*-Dnetbsd1*) 36. if empty(CFLAGS:U:M*-Dnetbsd1*)
36CFLAGS+= -Dnetbsd1 37CFLAGS+= -Dnetbsd1
37. endif 38. endif
38.endif 39.endif
39 40
40.if (${OPSYS} == "NetBSD") || !exists(/usr/bin/lpstat) 41.if (${OPSYS} == "NetBSD") || !exists(/usr/bin/lpstat)
41CONFIGURE_ENV+= ac_cv_path_LPSTAT_PATH=no 42CONFIGURE_ENV+= ac_cv_path_LPSTAT_PATH=no
42.endif 43.endif
43 44
44NET_SNMP_SYS_CONTACT?= default_user@contact.domain 45NET_SNMP_SYS_CONTACT?= default_user@contact.domain
45NET_SNMP_SYS_LOCATION?= defaultlocation 46NET_SNMP_SYS_LOCATION?= defaultlocation
46NET_SNMP_PERSISTENTDIR?= ${VARBASE}/net-snmp 47NET_SNMP_PERSISTENTDIR?= ${VARBASE}/net-snmp
47NET_SNMP_MIBDIRS?= \$$HOME/.snmp/mibs:${PREFIX}/share/snmp/mibs:${PREFIX}/lib/tcl/tnm2.1.10/mibs:/usr/local/share/snmp/mibs 48NET_SNMP_MIBDIRS?= \$$HOME/.snmp/mibs:${PREFIX}/share/snmp/mibs:${PREFIX}/lib/tcl/tnm2.1.10/mibs:/usr/local/share/snmp/mibs
48 49
49BUILD_DEFS+= NET_SNMP_SYS_CONTACT 50BUILD_DEFS+= NET_SNMP_SYS_CONTACT
50BUILD_DEFS+= NET_SNMP_SYS_LOCATION 51BUILD_DEFS+= NET_SNMP_SYS_LOCATION
51BUILD_DEFS+= NET_SNMP_PERSISTENTDIR 52BUILD_DEFS+= NET_SNMP_PERSISTENTDIR
52BUILD_DEFS+= NET_SNMP_MIBDIRS 53BUILD_DEFS+= NET_SNMP_MIBDIRS
53 54
54CONFIGURE_ARGS+= --enable-shared 55CONFIGURE_ARGS+= --enable-shared
55CONFIGURE_ARGS+= --with-defaults 56CONFIGURE_ARGS+= --with-defaults
56CONFIGURE_ARGS+= --sysconfdir=${PKG_SYSCONFDIR} 57CONFIGURE_ARGS+= --sysconfdir=${PKG_SYSCONFDIR}
57CONFIGURE_ARGS+= --with-libwrap=${BUILDLINK_PREFIX.tcp_wrappers}/lib 58CONFIGURE_ARGS+= --with-libwrap=${BUILDLINK_PREFIX.tcp_wrappers}/lib
58CONFIGURE_ARGS+= --with-sys-contact=${NET_SNMP_SYS_CONTACT:Q} 59CONFIGURE_ARGS+= --with-sys-contact=${NET_SNMP_SYS_CONTACT:Q}
59CONFIGURE_ARGS+= --with-sys-location=${NET_SNMP_SYS_LOCATION:Q} 60CONFIGURE_ARGS+= --with-sys-location=${NET_SNMP_SYS_LOCATION:Q}
60# 61#
61# NOTE: if you specify a logfile then this file will be written to by 62# NOTE: if you specify a logfile then this file will be written to by
62# default and although it can be disabled on the command line, the 63# default and although it can be disabled on the command line, the
63# daemon must be stopped to cycle it properly. Remember rc.d/snmpd 64# daemon must be stopped to cycle it properly. Remember rc.d/snmpd
64# will use '-s' to enable standard syslog logging anyway. 65# will use '-s' to enable standard syslog logging anyway.
65# 66#
66CONFIGURE_ARGS+= --with-logfile=none 67CONFIGURE_ARGS+= --with-logfile=none
67CONFIGURE_ARGS+= --with-persistent-directory=${NET_SNMP_PERSISTENTDIR} 68CONFIGURE_ARGS+= --with-persistent-directory=${NET_SNMP_PERSISTENTDIR}
68.if !empty(NET_SNMP_MIBDIRS) 69.if !empty(NET_SNMP_MIBDIRS)
69CONFIGURE_ARGS+= --with-mibdirs=${NET_SNMP_MIBDIRS:Q} 70CONFIGURE_ARGS+= --with-mibdirs=${NET_SNMP_MIBDIRS:Q}
70.endif 71.endif
71.if ${OPSYS} == "NetBSD" 72.if ${OPSYS} == "NetBSD"
72CONFIGURE_ARGS+= --with-mib-modules="smux host ucd-snmp/diskio" 73CONFIGURE_ARGS+= --with-mib-modules="smux host ucd-snmp/diskio"
73.else 74.else
74CONFIGURE_ARGS+= --with-mib-modules="smux host" 75CONFIGURE_ARGS+= --with-mib-modules="smux host"
75.endif 76.endif
76.if !empty(MACHINE_PLATFORM:MDarwin-[567].*) 77.if !empty(MACHINE_PLATFORM:MDarwin-[567].*)
77CONFIGURE_ARGS+= --with-out-mib-modules="ucd-snmp/diskio mibII" 78CONFIGURE_ARGS+= --with-out-mib-modules="ucd-snmp/diskio mibII"
78.endif 79.endif
79.if !empty(MACHINE_PLATFORM:MDarwin-9.*) 80.if !empty(MACHINE_PLATFORM:MDarwin-9.*)
80CONFIGURE_ARGS+= --with-mib-modules="host ucd-snmp/diskio" 81CONFIGURE_ARGS+= --with-mib-modules="host ucd-snmp/diskio"
81CONFIGURE_ARGS+= --with-out-mib-modules="mibII/icmp host/hr_swrun" 82CONFIGURE_ARGS+= --with-out-mib-modules="mibII/icmp host/hr_swrun"
82CONFIGURE_ARGS+= --enable-as-needed 83CONFIGURE_ARGS+= --enable-as-needed
83CONFIGURE_ARGS+= --without-kmem-usage 84CONFIGURE_ARGS+= --without-kmem-usage
84CONFIGURE_ARGS+= --without-rpm 85CONFIGURE_ARGS+= --without-rpm
85.endif 86.endif
86# 87#
87# Using "dummy" values is technically not compliant with SNMP specs, but 88# Using "dummy" values is technically not compliant with SNMP specs, but
88# otherwise, some tools, e.g. net/tcl-scotty, net/tkined, may ignore results 89# otherwise, some tools, e.g. net/tcl-scotty, net/tkined, may ignore results
89# when they shouldn't. 90# when they shouldn't.
90# 91#
91CONFIGURE_ARGS+= --with-dummy-values 92CONFIGURE_ARGS+= --with-dummy-values
92# 93#
93# Install the UCD-SNMP look-alike headers and libraries to ease porting of 94# Install the UCD-SNMP look-alike headers and libraries to ease porting of
94# older software to use net-snmp. 95# older software to use net-snmp.
95# 96#
96CONFIGURE_ARGS+= --enable-ucd-snmp-compatibility 97CONFIGURE_ARGS+= --enable-ucd-snmp-compatibility
97# 98#
98# Enable the perl modules build and installation 99# Enable the perl modules build and installation
99# 100#
100PERL5_CONFIGURE= no 101PERL5_CONFIGURE= no
101PERL5_PACKLIST= auto/Bundle/NetSNMP/.packlist 102PERL5_PACKLIST= auto/Bundle/NetSNMP/.packlist
102CONFIGURE_ARGS+= --with-perl-modules=${MAKE_PARAMS:Q} 103CONFIGURE_ARGS+= --with-perl-modules=${MAKE_PARAMS:Q}
103CONFIGURE_ENV+= PERLPROG=${PERL5:Q} 104CONFIGURE_ENV+= PERLPROG=${PERL5:Q}
104 105
105.include "options.mk" 106.include "options.mk"
106 107
107# Handle ${PREFIX}/share/snmp in the DEINSTALL script since it may contain 108# Handle ${PREFIX}/share/snmp in the DEINSTALL script since it may contain
108# leftover config files or pidfiles after deinstallation. 109# leftover config files or pidfiles after deinstallation.
109# 110#
110REQD_DIRS= ${PREFIX}/share/snmp 111REQD_DIRS= ${PREFIX}/share/snmp
111RCD_SCRIPTS= snmpd snmptrapd 112RCD_SCRIPTS= snmpd snmptrapd
112 113
113USE_TOOLS+= sh:run 114USE_TOOLS+= sh:run
114REPLACE_INTERPRETER+= bash 115REPLACE_INTERPRETER+= bash
115REPLACE.bash.old= /bin/bash 116REPLACE.bash.old= /bin/bash
116REPLACE.bash.new= ${SH} 117REPLACE.bash.new= ${SH}
117REPLACE_FILES.bash= local/mib2c-update 118REPLACE_FILES.bash= local/mib2c-update
118 119
119INSTALLATION_DIRS+= share/examples/net-snmp 120INSTALLATION_DIRS+= share/examples/net-snmp
120 121
121post-extract: 122post-extract:
122.if ${OPSYS} == "DragonFly" 123.if ${OPSYS} == "DragonFly"
123 cp ${FILESDIR}/cpu_dragonfly.c ${WRKSRC}/agent/mibgroup/hardware/cpu/cpu_nlist.c 124 cp ${FILESDIR}/cpu_dragonfly.c ${WRKSRC}/agent/mibgroup/hardware/cpu/cpu_nlist.c
124.endif 125.endif
125 126
126post-wrapper: 127post-wrapper:
127.if !empty(MACHINE_PLATFORM:MNetBSD-1.5.[123]*-i386) 128.if !empty(MACHINE_PLATFORM:MNetBSD-1.5.[123]*-i386)
128 mkdir ${BUILDLINK_DIR}/include/sys 129 mkdir ${BUILDLINK_DIR}/include/sys
129 cp ${FILESDIR}/disklabel.h ${BUILDLINK_DIR}/include/sys 130 cp ${FILESDIR}/disklabel.h ${BUILDLINK_DIR}/include/sys
130.endif 131.endif
131 132
132post-install: 133post-install:
133 ${INSTALL_DATA} ${WRKSRC}/EXAMPLE.conf \ 134 ${INSTALL_DATA} ${WRKSRC}/EXAMPLE.conf \
134 ${PREFIX}/share/examples/net-snmp/EXAMPLE.conf 135 ${PREFIX}/share/examples/net-snmp/EXAMPLE.conf
135 ${INSTALL_SCRIPT} ${WRKSRC}/agent/snmp_perl.pl \ 136 ${INSTALL_SCRIPT} ${WRKSRC}/agent/snmp_perl.pl \
136 ${PREFIX}/share/snmp/ 137 ${PREFIX}/share/snmp/
137 138
138.include "../../lang/perl5/module.mk" 139.include "../../lang/perl5/module.mk"
139.include "../../security/tcp_wrappers/buildlink3.mk" 140.include "../../security/tcp_wrappers/buildlink3.mk"
140.include "../../mk/bsd.pkg.mk" 141.include "../../mk/bsd.pkg.mk"

cvs diff -r1.51 -r1.52 pkgsrc/net/net-snmp/distinfo (switch to unified diff)

--- pkgsrc/net/net-snmp/distinfo 2008/11/02 08:30:07 1.51
+++ pkgsrc/net/net-snmp/distinfo 2009/02/15 11:31:51 1.52
@@ -1,43 +1,44 @@ @@ -1,43 +1,44 @@
1$NetBSD: distinfo,v 1.51 2008/11/02 08:30:07 adam Exp $ 1$NetBSD: distinfo,v 1.52 2009/02/15 11:31:51 tron Exp $
2 2
3SHA1 (net-snmp-5.4.2.1.tar.gz) = 4f2df9ea62344fe840f493d0e08abe5de3697862 3SHA1 (net-snmp-5.4.2.1.tar.gz) = 4f2df9ea62344fe840f493d0e08abe5de3697862
4RMD160 (net-snmp-5.4.2.1.tar.gz) = 2148c42d486ed88f9cfc3ca1d50c68abcd7e3d63 4RMD160 (net-snmp-5.4.2.1.tar.gz) = 2148c42d486ed88f9cfc3ca1d50c68abcd7e3d63
5Size (net-snmp-5.4.2.1.tar.gz) = 5185390 bytes 5Size (net-snmp-5.4.2.1.tar.gz) = 5185390 bytes
6SHA1 (patch-aa) = 34f85e513ace26c1c2b05bb1c4b72a23491861cf 6SHA1 (patch-aa) = 34f85e513ace26c1c2b05bb1c4b72a23491861cf
7SHA1 (patch-ab) = 3227eeb8b54b37813d8b6949f8c6ddc446038bf2 7SHA1 (patch-ab) = 3227eeb8b54b37813d8b6949f8c6ddc446038bf2
8SHA1 (patch-ac) = becbd7d3f7bbd16d6ddd1a6ea5467a127553caa4 8SHA1 (patch-ac) = becbd7d3f7bbd16d6ddd1a6ea5467a127553caa4
 9SHA1 (patch-ad) = 4af27886f93bf018f6794c3f8b8dcb9b08389163
9SHA1 (patch-ae) = 721e62bb42b6d3787f36316cf2628cd71ae6a6ce 10SHA1 (patch-ae) = 721e62bb42b6d3787f36316cf2628cd71ae6a6ce
10SHA1 (patch-af) = 15a18d1a8f3a8ffaba5facb37420668791944d29 11SHA1 (patch-af) = 15a18d1a8f3a8ffaba5facb37420668791944d29
11SHA1 (patch-ag) = 7021f7238c37635c9c32ceca681fd42aa125437f 12SHA1 (patch-ag) = 7021f7238c37635c9c32ceca681fd42aa125437f
12SHA1 (patch-ah) = 9ad04b5c0046a82c4e601e4f3abb2dd491846489 13SHA1 (patch-ah) = 9ad04b5c0046a82c4e601e4f3abb2dd491846489
13SHA1 (patch-ai) = c57baca06856187115db39fd50668203dad0a94c 14SHA1 (patch-ai) = c57baca06856187115db39fd50668203dad0a94c
14SHA1 (patch-aj) = 30c28c4801cea33d54e68bbde603e7d531dfb2f8 15SHA1 (patch-aj) = 30c28c4801cea33d54e68bbde603e7d531dfb2f8
15SHA1 (patch-ak) = cccad21d4f56e79799a433ef7bf0e8ff4e917afb 16SHA1 (patch-ak) = cccad21d4f56e79799a433ef7bf0e8ff4e917afb
16SHA1 (patch-al) = 2609e273d557e1ce06c1295d86965fe26ac7ff08 17SHA1 (patch-al) = 2609e273d557e1ce06c1295d86965fe26ac7ff08
17SHA1 (patch-am) = 84fc1131fb2699ab45b161a07017253e23a8ad08 18SHA1 (patch-am) = 84fc1131fb2699ab45b161a07017253e23a8ad08
18SHA1 (patch-an) = 167f23c62c085efc96a25bc2be5dca3c746dde6f 19SHA1 (patch-an) = 167f23c62c085efc96a25bc2be5dca3c746dde6f
19SHA1 (patch-da) = 7466445c8388492344acdee236b153cb5f5b45e1 20SHA1 (patch-da) = 7466445c8388492344acdee236b153cb5f5b45e1
20SHA1 (patch-db) = bec0bee1860ee42ba64b4c07df2280e206eaf582 21SHA1 (patch-db) = bec0bee1860ee42ba64b4c07df2280e206eaf582
21SHA1 (patch-dc) = 3f668032cbef42b44ee908b3c973af619ce0a689 22SHA1 (patch-dc) = 3f668032cbef42b44ee908b3c973af619ce0a689
22SHA1 (patch-dd) = 08da0d1da485959549ac461e5cbb7030f800e643 23SHA1 (patch-dd) = 08da0d1da485959549ac461e5cbb7030f800e643
23SHA1 (patch-de) = b505cef8542b30b3d28f5b3e61c473076e242d24 24SHA1 (patch-de) = b505cef8542b30b3d28f5b3e61c473076e242d24
24SHA1 (patch-df) = 2509d2dbf4fab3174e7719fa260505961dbbd352 25SHA1 (patch-df) = 2509d2dbf4fab3174e7719fa260505961dbbd352
25SHA1 (patch-dg) = 6e6e396add0613dd76e3b8618008a7ebf8103c7c 26SHA1 (patch-dg) = 6e6e396add0613dd76e3b8618008a7ebf8103c7c
26SHA1 (patch-dh) = c9a776d6574df008adae52a2f08930e0662f70b3 27SHA1 (patch-dh) = c9a776d6574df008adae52a2f08930e0662f70b3
27SHA1 (patch-di) = e0e1039c1adbf10ae56c50998ff74b39193e7348 28SHA1 (patch-di) = e0e1039c1adbf10ae56c50998ff74b39193e7348
28SHA1 (patch-dl) = e464597dcade165978cea80a51d66bbb8d19e4db 29SHA1 (patch-dl) = e464597dcade165978cea80a51d66bbb8d19e4db
29SHA1 (patch-dm) = 05c182f5bc1751ea0a0bcc7e21f24684b3c4933a 30SHA1 (patch-dm) = 05c182f5bc1751ea0a0bcc7e21f24684b3c4933a
30SHA1 (patch-dn) = b0c40b7dc7311c446016750cf3bb6e42e1aef9be 31SHA1 (patch-dn) = b0c40b7dc7311c446016750cf3bb6e42e1aef9be
31SHA1 (patch-do) = 7a69e6e81cbddbb7fc610f4260fe521a5e4c2348 32SHA1 (patch-do) = 7a69e6e81cbddbb7fc610f4260fe521a5e4c2348
32SHA1 (patch-dp) = 3ecdfa78a5c7a86715d3fd3ab8bbd0208a0d685d 33SHA1 (patch-dp) = 3ecdfa78a5c7a86715d3fd3ab8bbd0208a0d685d
33SHA1 (patch-dq) = 619d94d9937098b684ee8d0f1a3a92dfdff2155c 34SHA1 (patch-dq) = 619d94d9937098b684ee8d0f1a3a92dfdff2155c
34SHA1 (patch-dr) = 9f962834da29776f43ee1483aca00625bb58674b 35SHA1 (patch-dr) = 9f962834da29776f43ee1483aca00625bb58674b
35SHA1 (patch-ds) = 0ce73a2d5b5b4b9629b7e49e9d4e655ec0f89055 36SHA1 (patch-ds) = 0ce73a2d5b5b4b9629b7e49e9d4e655ec0f89055
36SHA1 (patch-dt) = bd1884af6fb3743e79ab926fcd952068cb9a3642 37SHA1 (patch-dt) = bd1884af6fb3743e79ab926fcd952068cb9a3642
37SHA1 (patch-du) = c3c053c95c24c3fecfdcb7dfe649168a866206ba 38SHA1 (patch-du) = c3c053c95c24c3fecfdcb7dfe649168a866206ba
38SHA1 (patch-eg) = 421ccf1c810a2b03d7ff10fe38e8a3eea62d9836 39SHA1 (patch-eg) = 421ccf1c810a2b03d7ff10fe38e8a3eea62d9836
39SHA1 (patch-eh) = c2dbd651a0fcf6e20b8a9eee68f0ab30763af912 40SHA1 (patch-eh) = c2dbd651a0fcf6e20b8a9eee68f0ab30763af912
40SHA1 (patch-ei) = 7eb4899b08b73c79f1eb8616bcebad38c0fbe148 41SHA1 (patch-ei) = 7eb4899b08b73c79f1eb8616bcebad38c0fbe148
41SHA1 (patch-el) = f80dc7058b8a60e3be53e5673538f6eb2d173b68 42SHA1 (patch-el) = f80dc7058b8a60e3be53e5673538f6eb2d173b68
42SHA1 (patch-ep) = 91029b17538360ba09e8e74943d2c4481f89a33a 43SHA1 (patch-ep) = 91029b17538360ba09e8e74943d2c4481f89a33a
43SHA1 (patch-es) = c26c048ccbda7e4d28cb0a2263cdaa71befb4f96 44SHA1 (patch-es) = c26c048ccbda7e4d28cb0a2263cdaa71befb4f96

File Added: pkgsrc/net/net-snmp/patches/Attic/patch-ad
$NetBSD: patch-ad,v 1.7 2009/02/15 11:31:51 tron Exp $

Patch for CVE-2008-6123, taken from here:

http://net-snmp.svn.sourceforge.net/viewvc/net-snmp/branches/V5-4-patches/net-snmp/snmplib/snmpUDPDomain.c?r1=17312&r2=17367&pathrev=17367

--- snmplib/snmpUDPDomain.c.orig	2007-10-11 21:46:30.000000000 +0100
+++ snmplib/snmpUDPDomain.c	2009-02-15 11:21:10.000000000 +0000
@@ -107,9 +107,9 @@
             sprintf(tmp, "UDP: [%s]->unknown",
                     inet_ntoa(addr_pair->local_addr));
         } else {
-            sprintf(tmp, "UDP: [%s]->", inet_ntoa(addr_pair->local_addr));
-            sprintf(tmp + strlen(tmp), "[%s]:%hd",
+            sprintf(tmp, "UDP: [%s]:%hu->",
                     inet_ntoa(to->sin_addr), ntohs(to->sin_port));
+            sprintf(tmp + strlen(tmp), "[%s]", inet_ntoa(addr_pair->local_addr));
         }
         return strdup(tmp);
     }