diff -urbN rancid.orig/Makefile rancid/Makefile --- rancid.orig/Makefile 2015-06-08 02:19:43.000000000 +0100 +++ rancid/Makefile 2015-06-09 16:14:32.000000000 +0100 @@ -3,7 +3,7 @@ PORTNAME= rancid PORTVERSION= 2.3.8 -PORTREVISION= 3 +PORTREVISION= 4 CATEGORIES= net-mgmt MASTER_SITES= ftp://ftp.shrubbery.net/pub/rancid/ diff -urbN rancid.orig/files/patch-bin__flogin.in rancid/files/patch-bin__flogin.in --- rancid.orig/files/patch-bin__flogin.in 1970-01-01 01:00:00.000000000 +0100 +++ rancid/files/patch-bin__flogin.in 2015-06-09 16:13:49.000000000 +0100 @@ -0,0 +1,11 @@ +--- bin/flogin.in.orig 2015-06-09 16:08:17.000000000 +0100 ++++ bin/flogin.in 2015-06-09 15:59:02.000000000 +0100 +@@ -84,7 +84,7 @@ + # Sometimes routers take awhile to answer (the default is 10 sec) + set timeoutdflt 45 + # +-set send_human {.4 .4 .7 .3 5} ++set send_human {.01 .01 100 .01 2} + + # Find the user in the ENV, or use the unix userid. + if {[ info exists env(CISCO_USER) ]} { diff -urbN rancid.orig/files/patch-bin__rancid.in rancid/files/patch-bin__rancid.in --- rancid.orig/files/patch-bin__rancid.in 1970-01-01 01:00:00.000000000 +0100 +++ rancid/files/patch-bin__rancid.in 2015-06-09 16:13:57.000000000 +0100 @@ -0,0 +1,45 @@ +--- bin/rancid.in.orig 2015-06-09 15:46:07.000000000 +0100 ++++ bin/rancid.in 2015-06-09 15:57:24.000000000 +0100 +@@ -162,13 +162,38 @@ + @sorted_lines; + } + +-# These two routines will sort based upon IP addresses ++# ipaddrval(IPaddr) converts and IPv4/v6 address to a string for comparison. + sub ipaddrval { +- my(@a) = ($_[0] =~ m#^(\d+)\.(\d+)\.(\d+)\.(\d+)$#); +- $a[3] + 256 * ($a[2] + 256 * ($a[1] +256 * $a[0])); ++ my($a) = @_; ++ my($norder); ++ ++ if ($a =~ /:/) { ++ my($l); ++ if ($a =~ /\//) { ++ ($a, $l) = split(/\//, $a); ++ } else { ++ $l = 128; ++ } ++ $norder = inet_pton(AF_INET6, $a); ++ return unpack("H*", $norder) . unpack("H*", pack("C", $l)); ++ } else { ++ my($l); ++ if ($a =~ /\//) { ++ ($a, $l) = split(/\//, $a); ++ } else { ++ $l = 32; ++ } ++ $norder = inet_pton(AF_INET, $a); ++ return(unpack("H*", $norder) . unpack("H*", pack("C", $l))); ++ } ++ ++ # otherwise return the original key value, so as not to sort on null ++ return($_[0]); + } ++ ++# sortbyipaddr(IPaddr, IPaddr) compares two IPv4/v6 addresses like strcmp(). + sub sortbyipaddr { +- &ipaddrval($a) <=> &ipaddrval($b); ++ &ipaddrval($a) cmp &ipaddrval($b); + } + + # This routine parses "show version" diff -urbN rancid.orig/files/patch-bin__xrrancid.in rancid/files/patch-bin__xrrancid.in --- rancid.orig/files/patch-bin__xrrancid.in 1970-01-01 01:00:00.000000000 +0100 +++ rancid/files/patch-bin__xrrancid.in 2015-06-09 16:13:53.000000000 +0100 @@ -0,0 +1,11 @@ +--- bin/xrrancid.in.orig 2015-06-09 15:58:36.000000000 +0100 ++++ bin/xrrancid.in 2015-06-09 16:03:53.000000000 +0100 +@@ -590,7 +590,7 @@ + next; + } + # Filter debugging file dlbg.txt & dlbg.txt-1 only on ASR9k w/ XR +- if ($proc =~ /ASR9K/ && /dlbg\.txt/) { ++ if ($proc =~ /ASR9K/ && (/dlbg\.txt/ || /uptime_cont/ || /temp_cont/ || /volt_cont/)) { + next; + } + if (/.*\((\d+) bytes free\)/) {