Package: release.debian.org Severity: normal User: release.debian....@packages.debian.org Usertags: pu
Hello, this is my first s-p-u request ever, please point out any mistakes I might have made. Also please double-check whether this bug/fix can be considered stable release material at all. Andre Beck discovered in Bug#715365 that the torrus version shipped with Wheezy (2.03) has some problems with SNMPv1-only targets. He identified two upstream commits (one before 2.04, one before 2.05) that apply cleanly on 2.03 and fix the problem for him. We have had 2.07 in jessie/sid including both commits for some weeks now. Andre tested both the patches locally for some time and tested a previous version of the new package (different only in the version number and the changelog entry). I also tested it locally and did not find any negative side effects. So, with your permission, I'd like to upload torrus/2.03-2+deb7u1 to stable-proposed-updates for inclusion in a stable release. Diff attached. Thanks, Bernhard
diff --git a/debian/changelog b/debian/changelog index 6f32367..c0c4a17 100644 --- a/debian/changelog +++ b/debian/changelog @@ -1,3 +1,17 @@ +torrus (2.03-2+deb7u1) stable-proposed-updates; urgency=low + + * Fix SNMPv1 issues (Closes: #715365) + * debian/patches/20_collector_snmpv1.patch: + upstream commit 2f468f3e0aef02657b066baa98504dc98e841888 + (Bugfix in collector: maxrepetitions is unsupported in SNMPv1) + * debian/patches/20_walksnmptable_snmpv1.patch: + upstream commit 5985de2ace378ff8179ab9229470bd321728d061 + (Bugfix in walkSnmpTable(): maxrepetitions is only applicable in + SNMPv2 or v3) + Thanks to Andre Beck for identifying and testing the necessary commits. + + -- Bernhard Schmidt <berni+...@birkenwald.de> Sat, 13 Jul 2013 21:31:44 +0200 + torrus (2.03-2) unstable; urgency=low [ Bernhard Schmidt ] diff --git a/debian/patches/20_collector_snmpv1.patch b/debian/patches/20_collector_snmpv1.patch new file mode 100644 index 0000000..7a3b278 --- /dev/null +++ b/debian/patches/20_collector_snmpv1.patch @@ -0,0 +1,36 @@ +commit 2f468f3e0aef02657b066baa98504dc98e841888 +Author: Stanislav Sinyagin <ssinya...@k-open.com> +Date: Thu Oct 4 21:27:58 2012 +0200 + + Bugfix in collector: maxrepetitions is unsupported in SNMPv1 + +diff --git a/perllib/Torrus/Collector/SNMP.pm b/perllib/Torrus/Collector/SNMP.pm +index cf4c42d..0d13746 100644 +--- a/perllib/Torrus/Collector/SNMP.pm ++++ b/perllib/Torrus/Collector/SNMP.pm +@@ -609,11 +609,20 @@ sub lookupMap + + # Retrieve the map table + +- my $maxrepetitions = $collector->param($token, 'snmp-maxrepetitions'); +- $session->get_table( -baseoid => $map, +- -maxrepetitions => $maxrepetitions, +- -callback => [\&mapLookupCallback, +- $collector, $hosthash, $map] ); ++ { ++ my @arg = ( -baseoid => $map, ++ -callback => [\&mapLookupCallback, ++ $collector, $hosthash, $map] ); ++ ++ if( $session->version() > 0 ) ++ { ++ my $maxrepetitions = ++ $collector->param($token, 'snmp-maxrepetitions'); ++ push( @arg, '-maxrepetitions', $maxrepetitions ); ++ } ++ ++ $session->get_table( @arg ); ++ } + + $mapLookupScheduled{$maphash} = 1; + diff --git a/debian/patches/20_walksnmptable_snmpv1.patch b/debian/patches/20_walksnmptable_snmpv1.patch new file mode 100644 index 0000000..e921121 --- /dev/null +++ b/debian/patches/20_walksnmptable_snmpv1.patch @@ -0,0 +1,38 @@ +commit 5985de2ace378ff8179ab9229470bd321728d061 +Author: Stanislav Sinyagin <ssinya...@k-open.com> +Date: Thu May 3 20:00:32 2012 +0200 + + Bugfix in walkSnmpTable(): maxrepetitions is only applicable in SNMPv2 or v3 + +diff --git a/perllib/Torrus/DevDiscover.pm b/perllib/Torrus/DevDiscover.pm +index c2459c3..b41347b 100644 +--- a/perllib/Torrus/DevDiscover.pm ++++ b/perllib/Torrus/DevDiscover.pm +@@ -594,7 +594,7 @@ sub buildConfig + { + &{$reg->{$devtype}{'buildConfig'}} + ( $devdetails, $cb, $devNode, $self->{'globalData'} ); +- } ++ } + + $cb->{'statistics'}{'hosts'}++; + } +@@ -732,10 +732,15 @@ sub walkSnmpTable + + my $session = $self->session(); + my $base = $self->oiddef( $oidname ); ++ ++ my @arg = ( -baseoid => $base ); ++ ++ if( $session->version() > 0 ) ++ { ++ push(@arg, -maxrepetitions => $self->{'maxrepetitions'}); ++ } + +- my $table = $session->get_table +- ( -baseoid => $base, +- -maxrepetitions => $self->{'maxrepetitions'} ); ++ my $table = $session->get_table( @arg ); + + if( not defined($table) ) + { diff --git a/debian/patches/series b/debian/patches/series index 370fcba..18c6194 100644 --- a/debian/patches/series +++ b/debian/patches/series @@ -3,4 +3,6 @@ 03_doc-userguide.patch 04_doc-installation.patch 10_rrdup_notify.patch +20_collector_snmpv1.patch +20_walksnmptable_snmpv1.patch 99_log_sighup.patch
signature.asc
Description: Digital signature