diff options
-rw-r--r-- | main/net-snmp/APKBUILD | 20 | ||||
-rw-r--r-- | main/net-snmp/netsnmp-arp-netlink-fix.patch | 19 | ||||
-rw-r--r-- | main/net-snmp/netsnmp-swinst-crash.patch | 12 |
3 files changed, 50 insertions, 1 deletions
diff --git a/main/net-snmp/APKBUILD b/main/net-snmp/APKBUILD index 6968721dc..3928e0b96 100644 --- a/main/net-snmp/APKBUILD +++ b/main/net-snmp/APKBUILD @@ -2,7 +2,7 @@ # Maintainer: Carlo Landmeter <clandmeter@gmail.com> pkgname=net-snmp pkgver=5.7.1 -pkgrel=0 +pkgrel=1 pkgdesc="Simple Network Management Protocol" url="http://www.net-snmp.org/" arch="all" @@ -12,6 +12,8 @@ depends_dev="openssl-dev" makedepends="perl-dev openssl-dev" subpackages="$pkgname-doc $pkgname-dev $pkgname-tools" source="http://downloads.sourceforge.net/$pkgname/$pkgname-$pkgver.tar.gz + netsnmp-arp-netlink-fix.patch + netsnmp-swinst-crash.patch snmpd.initd snmpd.confd snmptrapd.initd @@ -20,6 +22,20 @@ source="http://downloads.sourceforge.net/$pkgname/$pkgname-$pkgver.tar.gz _builddir="$srcdir/$pkgname-$pkgver" +prepare() { + local i + cd "$_builddir" + # patches goes here + for i in $source; do + case $i in + *.patch|*.diff) + msg "Applying $i..." + patch -p1 -i "$srcdir"/$i || return 1 + ;; + esac + done +} + build() { cd "$_builddir" @@ -69,6 +85,8 @@ tools() { md5sums="c95d08fd5d93df0c11a2e1bdf0e01e0b net-snmp-5.7.1.tar.gz +58bdd8a68042be16c22d8b4b40d3ec9c netsnmp-arp-netlink-fix.patch +bd7dc10ffb5839e35ec37effcc53c2ad netsnmp-swinst-crash.patch 198a4a7b80557fa8112394df5ec9914e snmpd.initd 96510a2f3bc9f21648b03f7e8d76c0d3 snmpd.confd 7ce3e9e880fc6313ae87eb000bae4bda snmptrapd.initd diff --git a/main/net-snmp/netsnmp-arp-netlink-fix.patch b/main/net-snmp/netsnmp-arp-netlink-fix.patch new file mode 100644 index 000000000..269f509da --- /dev/null +++ b/main/net-snmp/netsnmp-arp-netlink-fix.patch @@ -0,0 +1,19 @@ +--- net-snmp-5.7.1/agent/mibgroup/ip-mib/data_access/arp_netlink.c ++++ /home/fabled//net-snmp-5.7.1.patched/agent/mibgroup/ip-mib/data_access/arp_netlink.c +@@ -43,7 +43,7 @@ + if (cache_timeout != NULL) + *cache_timeout = 5; + if (cache_flags != NULL) +- *cache_flags |= NETSNMP_CACHE_RESET_TIMER_ON_USE; ++ *cache_flags |= NETSNMP_CACHE_RESET_TIMER_ON_USE | NETSNMP_CACHE_DONT_FREE_BEFORE_LOAD; + access->cache_expired = cache_expired; + + DEBUGMSGTL(("access:netlink:arp", "create arp cache\n")); +@@ -131,6 +131,7 @@ + unregister_readfd(fd); + close(fd); + access->arch_magic = NULL; ++ access->synchronized = 0; + } + return 0; + } diff --git a/main/net-snmp/netsnmp-swinst-crash.patch b/main/net-snmp/netsnmp-swinst-crash.patch new file mode 100644 index 000000000..5502ddb28 --- /dev/null +++ b/main/net-snmp/netsnmp-swinst-crash.patch @@ -0,0 +1,12 @@ +--- net-snmp-5.7.1/agent/mibgroup/host/data_access/swinst_pkginfo.c ++++ /home/fabled//net-snmp-5.7.1.patched/agent/mibgroup/host/data_access/swinst_pkginfo.c +@@ -140,7 +140,8 @@ + memcpy( entry->swDate, cp, date_len ); + entry->swDate_len = date_len; + } +- closedir( d ); ++ if (d != NULL) ++ closedir( d ); + + DEBUGMSGTL(("swinst:load:arch"," loaded %d entries\n", + (int)CONTAINER_SIZE(container))); |