ports/core (3.1): inetutils: update to 1.9.3
commit 0be5d884c112d80bf17233f6533c59f88bf8974b Author: Juergen Daubert <jue@jue.li> Date: Sun May 17 14:46:10 2015 +0200 inetutils: update to 1.9.3 diff --git a/inetutils/.md5sum b/inetutils/.md5sum index d5eb6b8..ebeaa80 100644 --- a/inetutils/.md5sum +++ b/inetutils/.md5sum @@ -1,3 +1,4 @@ +63afd1bd27e883d1b026d921a4ef2784 ifconfig-default_behaviour.patch 87fdb9f85d8fc140b2f873e8e4e18440 inetd dd0d71e008809420edada02dda7a3149 inetd.conf -aa1a9a132259db83e66c1f3265065ba2 inetutils-1.9.2.tar.gz +491a75cb382ce3f68122e4556addfcae inetutils-1.9.3.tar.gz diff --git a/inetutils/Pkgfile b/inetutils/Pkgfile index 02da170..7a608ad 100644 --- a/inetutils/Pkgfile +++ b/inetutils/Pkgfile @@ -4,14 +4,17 @@ # Depends on: readline name=inetutils -version=1.9.2 -release=4 +version=1.9.3 +release=1 source=(http://ftp.gnu.org/gnu/inetutils/inetutils-$version.tar.gz \ - inetd.conf inetd) + inetd.conf inetd ifconfig-default_behaviour.patch) build() { cd inetutils-$version + # http://article.gmane.org/gmane.comp.gnu.inetutils.bugs/3909 + patch -p1 -i $SRC/ifconfig-default_behaviour.patch + ./configure --prefix=/usr \ --libexecdir=/usr/sbin \ --mandir=/usr/man \ diff --git a/inetutils/ifconfig-default_behaviour.patch b/inetutils/ifconfig-default_behaviour.patch new file mode 100644 index 0000000..8b4251a --- /dev/null +++ b/inetutils/ifconfig-default_behaviour.patch @@ -0,0 +1,54 @@ +commit ddfc1fda581f61f5154a9dd5827e49584409ee86 +Author: Mats Erik Andersson <gnu@gisladisker.se> +Date: Sun May 17 00:58:17 2015 +0200 + + ifconfig: Regression during interface selection. + + Correctly implement the default behaviour of printing + all interfaces in state `UP'. The regression appeared + in version 1.9.3 when 32-bit wide flags were implemented. + +diff --git a/ifconfig/printif.c b/ifconfig/printif.c +index cc4d7a1..615a630 100644 +--- a/ifconfig/printif.c ++++ b/ifconfig/printif.c +@@ -481,22 +481,29 @@ fh_ifdisplay_query (format_data_t form, int argc, char *argv[]) + int n; + + #ifdef SIOCGIFFLAGS +- int f; +- int rev; +- unsigned int uflags = (unsigned short) form->ifr->ifr_flags; ++ /* Request for all, or for a specified interface? */ ++ n = all_option || ifs_cmdline; ++ if (!n) ++ { ++ /* Otherwise, only interfaces in state `UP' are displayed. */ ++ int rev = 0; ++ int f = if_nameztoflag ("UP", &rev); ++ ++ n = f && ioctl (form->sfd, SIOCGIFFLAGS, form->ifr) == 0; ++ if (n) { ++ unsigned int uflags = (unsigned short) form->ifr->ifr_flags; + + # ifdef ifr_flagshigh +- uflags |= (unsigned short) form->ifr->ifr_flagshigh << 16; ++ uflags |= (unsigned short) form->ifr->ifr_flagshigh << 16; + # endif /* ifr_flagshigh */ + +- n = !(all_option || ifs_cmdline +- || ((f = if_nameztoflag ("UP", &rev)) +- && ioctl (form->sfd, SIOCGIFFLAGS, form->ifr) == 0 +- && (f & uflags))); ++ n = n && (f & uflags); ++ }; ++ } + #else +- n = 0; ++ n = 1; /* Display all of them. */ + #endif +- select_arg (form, argc, argv, n); ++ select_arg (form, argc, argv, !n); + } + + void
participants (1)
-
crux@crux.nu