Package: release.debian.org Severity: normal User: release.debian....@packages.debian.org Usertags: unblock
Please unblock package netscript-2.4 2 serious bugs have been fixed in 5.4.8: #717871 netscript: fails to install due to insserv rejecting the script header: There is a loop between service networking and netscript if started This is due to the ifupdown providing insserv support for $network, and netscript-2.4 also doing the same. Both packages configure networking. The setting for $network is configured in /etc/insserv/insserv.conf, but there is no way of overriding that, is there? This is fixed by removing init.d support for insserv/sysvinit, and depending on systemd-sysv #773772/#773773 netscript-2.4: Interace names with '-' in them cannot be set up, and network configuration fails. Netscript overloads variable names by adding the interface name at the start. '-' are not acceptable parts of /bin/bash environment variable names. The changes for this convert '-' in interface names to '_', which also should be done to interface names in /etc/netscript/network.conf This bug was fixed in 5.4.7 and I forgot to put a 'Closes' in the changelog and had to close #773772/3 via the bugs.debian.org control interface. A small fix involving quoting misplacement to do with bridge configuration is also in 5.4.8. I know this is a minor change that fixes an 'Important' level bug I found. I am the upstream author for Netscript and a Debian Developer (since the early 2000s), and upstream is actually released directly into Debian, hence no -1 -2 package release levels. It was one of my first Debian packages. I would release it differently now. It has functional heurestics that would be nice to have in ifupdown. The useful iptables handling is available as a seperate package netscript-ipfilter, which is better than iptables-persistent as it has history, and 'helper' chains. The above fixes are all minor 5.4.x version bug fixes. Note that new 5.x functionality has been added. Please unblock the package, even though it has the bridge handling quoting fixes. All the above has been tested on an openstack server on Jessie/unstable I am setting up to learn about Openstack Changlog entries for 5.4.7 and 5.4.8 (include/attach the debdiff against the package in testing) unblock netscript-2.4/5.4.8 -- System Information: Debian Release: 8.0 APT prefers unstable APT policy: (500, 'unstable') Architecture: amd64 (x86_64) Foreign Architectures: i386 Kernel: Linux 3.16.0-4-amd64 (SMP w/8 CPU cores) Locale: LANG=en_NZ.utf8, LC_CTYPE=en_NZ.utf8 (charmap=UTF-8)
diff -Nru netscript-2.4-5.4.6/debian/changelog netscript-2.4-5.4.8/debian/changelog --- netscript-2.4-5.4.6/debian/changelog 2014-12-22 19:48:40.000000000 +1300 +++ netscript-2.4-5.4.8/debian/changelog 2014-12-23 18:05:08.000000000 +1300 @@ -1,6 +1,21 @@ +netscript-2.4 (5.4.8) unstable; urgency=medium + + * Remove sysvint/inserv support for package. (Closes: #771871) + Revert totally removing ifupdown emulation/Provides as this breaks too + many things. This just removes the dependency loop in /etc/init.d files + which is unfixable. + + -- Matthew Grant <m...@mattgrant.net.nz> Tue, 23 Dec 2014 17:50:04 +1300 + +netscript-2.4 (5.4.7) unstable; urgency=medium + + * Convert '-' in interface names to '_' (Closes: #773772) + + -- Matthew Grant <m...@mattgrant.net.nz> Mon, 22 Dec 2014 21:10:30 +1300 + netscript-2.4 (5.4.6) unstable; urgency=medium - * Remove ifupdown emulation (Closes: #771871) + * Remove ifupdown emulation -- Matthew Grant <m...@mattgrant.net.nz> Mon, 22 Dec 2014 19:48:20 +1300 diff -Nru netscript-2.4-5.4.6/debian/control netscript-2.4-5.4.8/debian/control --- netscript-2.4-5.4.6/debian/control 2014-12-22 19:50:08.000000000 +1300 +++ netscript-2.4-5.4.8/debian/control 2014-12-23 18:06:20.000000000 +1300 @@ -7,8 +7,8 @@ Package: netscript-2.4 Architecture: all -Depends: iproute2 | iproute (>= 20001007), bridge-utils (>= 0.9.3), iptables, netbase, bash (>= 2.03), isc-dhcp-client | dhcpcd | pump, ${misc:Depends} -Provides: netscript +Depends: iproute2 | iproute (>= 20001007), bridge-utils (>= 0.9.3), iptables, netbase, bash (>= 2.03), isc-dhcp-client | dhcpcd | pump, systemd-sysv, ${misc:Depends} +Provides: netscript, ifupdown Conflicts: netscript, netscript-2.2, ifupdown, netscript-ipfilter Replaces: netscript, ifupdown Suggests: whereami, dnsmasq, resolvconf, wpasupplicant, wicd, quagga, radvd, bird diff -Nru netscript-2.4-5.4.6/debian/netscript-2.4.links netscript-2.4-5.4.8/debian/netscript-2.4.links --- netscript-2.4-5.4.6/debian/netscript-2.4.links 2014-12-22 19:46:26.000000000 +1300 +++ netscript-2.4-5.4.8/debian/netscript-2.4.links 2014-12-23 17:43:57.000000000 +1300 @@ -2,3 +2,7 @@ usr/share/man/man5/netscript-2.4.conf.5.gz usr/share/man/man5/if.conf.5.gz usr/share/man/man5/netscript-2.4.conf.5.gz usr/share/man/man5/qos.conf.5.gz usr/share/man/man5/netscript-2.4.conf.5.gz usr/share/man/man5/ipfilter.conf.5.gz +usr/share/man/man8/netscript.8.gz usr/share/man/man8/ifup.8.gz +usr/share/man/man8/netscript.8.gz usr/share/man/man8/ifdown.8.gz +sbin/netscript sbin/ifup +sbin/netscript sbin/ifdown diff -Nru netscript-2.4-5.4.6/debian/README.Debian netscript-2.4-5.4.8/debian/README.Debian --- netscript-2.4-5.4.6/debian/README.Debian 2014-12-22 18:00:21.000000000 +1300 +++ netscript-2.4-5.4.8/debian/README.Debian 2014-12-23 18:39:52.000000000 +1300 @@ -1,21 +1,7 @@ netscript-2.4 for Debian ---------------------- -This package is still experimental, and under rapid evolution so it does not -come with much documentation. It is designed to work best with a router -software like zebra. - -Install a router flavour kernel, or one generated from the accompanying -kernel configuration. - -To configure kernel run: - -make mrproper -cp /usr/share/doc/2.2.x-kernel.config .config -make menuconfig - -and configure your kernel, save configuration, make dep; make bzImage; -make modules as usual. +It is designed to work best with a router software like quagga or bird. Most of the interface level configuration you will need will be found in /etc/netscript/network.conf including lower level protocol @@ -35,12 +21,8 @@ CONFIGURATION ------------- -NB: To get this package working, for sysvinit: - -you will HAVE to edit /etc/network/interfaces removing/commenting out all -interfacesi (or declaure as inet/inet6 manual'), and edit -/etc/default/networking by inserting 'exit 0' near the top before the first -commands in the file. +Sysvinit is no longer supported, thanks to ome irresolvable boot order +dependency loops with the ifupdown package. For systemd: @@ -48,11 +30,16 @@ systemctl mask ifupdown systemctl mask ifup\@.service +Or saving /etc/network/interfaces and purging ifupdown should suffice. +A lot cleaner. + +cp /etc/network/interfaces /tmp +dpkg --purge ifupdown +cp /tmp/interfaces /etc/network + You may also want to mask all the NetworkManager services as well, it likes configuring things that are not in /etc/network/interfaces. -should suffice. A lot cleaner. - You may also want to disable inetd and/or portmap from starting up, but check that you have something like ssh setup to run in daemon mode first before doing inetd! The commands would be: diff -Nru netscript-2.4-5.4.6/if.conf netscript-2.4-5.4.8/if.conf --- netscript-2.4-5.4.6/if.conf 2014-12-22 18:34:08.000000000 +1300 +++ netscript-2.4-5.4.8/if.conf 2014-12-22 21:06:59.000000000 +1300 @@ -9,7 +9,7 @@ # ############################################################################### -SED_IFSTR='s/\([A-Za-z]*\)[0-9]*$/\1/' +SED_IFSTR='s/\([-A-Za-z]*\)[0-9]*$/\1/' SED_IPV4STR='s/^.*inet \([0-9]\+\.[0-9]\+\.[0-9]\+\.[0-9]\+[/0-9]\+\) .*$/\1/' SED_IPV6STR='s/^.*inet6 \([0-9a-f]\+\:.*\:[0-9a-f]\+[/0-9]\+\) .*$/\1/' SED_IPV6ADDR="sed -e 's/:0\+\([0-9a-fA-F]\+\)/:\1/g' | sed -e 's/^0\+\([0-9a-fA-F]\+\)/\1/'| sed -e 's/\(:0\)\+:\(:0\)*\|\(:0\)*:\(:0\)\+/:/'" @@ -116,36 +116,37 @@ if_up () { local ADDR + local IF_NODASH=`echo "$1" | sed -e 's/\-/_/g'` # sort out a few things to make life easier - here so that you # can see what is done and so that you can add anything if needed - eval IPADDR=\${"$1"_IPADDR:-""} # I am also a good genius - eval MASKLEN=\${"$1"_MASKLEN:-""} - eval BROADCAST=\${"$1"_BROADCAST:-""} - eval PTPADDR=\${"$1"_PTPADDR:-""} - eval IP_EXTRA_ADDRS=\${"$1"_IP_EXTRA_ADDRS:-""} - eval MTU=\${"$1"_MTU:-""} - eval MULTICAST=\${"$1"_MULTICAST:-""} - eval HB_TICKLE=\${"$1"_HB_TICKLE:-""} - eval BRIDGE=\${"$1"_BRIDGE:-""} - eval RESOLVCONF=\${"$1"_RESOLVCONF:-""} - eval local DEFAULT_GW=\${"$1"_DEFAULT_GW:-""} - eval local FAIRQ=\${"$1"_FAIRQ:-""} - eval local TXQLEN=\${"$1"_TXQLEN:-""} - eval local IP_SPOOF=\${"$1"_IP_SPOOF:-""} - eval local IP_KRNL_LOGMARTIANS=\${"$1"_IP_KRNL_LOGMARTIANS:-""} - eval local IP_SHARED_MEDIA=\${"$1"_IP_SHARED_MEDIA:-""} - eval local IP_SEND_REDIRECTS=\${"$1"_IP_SEND_REDIRECTS:-""} - eval local PROXY_ARP=\${"$1"_PROXY_ARP:-""} - eval IPV6_ACCEPT_REDIRECTS=\${"$1"_IPV6_ACCEPT_REDIRECTS:-""} - eval IPV6_ACCEPT_RA=\${"$1"_IPV6_ACCEPT_RA:-""} - eval IPV6_ACCEPT_RA_PINFO=\${"$1"_IPV6_ACCEPT_RA_PINFO:-""} - eval IPV6_ACCEPT_RA_RT_INFO_MAX_PLEN=\${"$1"_IPV6_ACCEPT_RA_RT_INFO_MAX_PLEN:-""} - eval IPV6_DISABLE=\${"$1"_IPV6_DISABLE:-""} - eval IPV6_FWDING=\${"$1"_IPV6_FWDING:-""} - eval IPV6_PRIVACY=\${"$1"_IPV6_PRIVACY:-""} - eval IPV6_ROUTER_SOLICITATIONS=\${"$1"_IPV6_ROUTER_SOLICITATIONS:-""} - eval IPV6_MTU=\${"$1"_IPV6_MTU:-""} + eval IPADDR=\${"${IF_NODASH}"_IPADDR:-""} # I am also a good genius + eval MASKLEN=\${"${IF_NODASH}"_MASKLEN:-""} + eval BROADCAST=\${"${IF_NODASH}"_BROADCAST:-""} + eval PTPADDR=\${"${IF_NODASH}"_PTPADDR:-""} + eval IP_EXTRA_ADDRS=\${"${IF_NODASH}"_IP_EXTRA_ADDRS:-""} + eval MTU=\${"${IF_NODASH}"_MTU:-""} + eval MULTICAST=\${"${IF_NODASH}"_MULTICAST:-""} + eval HB_TICKLE=\${"${IF_NODASH}"_HB_TICKLE:-""} + eval BRIDGE=\${"${IF_NODASH}"_BRIDGE:-""} + eval RESOLVCONF=\${"${IF_NODASH}"_RESOLVCONF:-""} + eval local DEFAULT_GW=\${"${IF_NODASH}"_DEFAULT_GW:-""} + eval local FAIRQ=\${"${IF_NODASH}"_FAIRQ:-""} + eval local TXQLEN=\${"${IF_NODASH}"_TXQLEN:-""} + eval local IP_SPOOF=\${"${IF_NODASH}"_IP_SPOOF:-""} + eval local IP_KRNL_LOGMARTIANS=\${"${IF_NODASH}"_IP_KRNL_LOGMARTIANS:-""} + eval local IP_SHARED_MEDIA=\${"${IF_NODASH}"_IP_SHARED_MEDIA:-""} + eval local IP_SEND_REDIRECTS=\${"${IF_NODASH}"_IP_SEND_REDIRECTS:-""} + eval local PROXY_ARP=\${"${IF_NODASH}"_PROXY_ARP:-""} + eval IPV6_ACCEPT_REDIRECTS=\${"${IF_NODASH}"_IPV6_ACCEPT_REDIRECTS:-""} + eval IPV6_ACCEPT_RA=\${"${IF_NODASH}"_IPV6_ACCEPT_RA:-""} + eval IPV6_ACCEPT_RA_PINFO=\${"${IF_NODASH}"_IPV6_ACCEPT_RA_PINFO:-""} + eval IPV6_ACCEPT_RA_RT_INFO_MAX_PLEN=\${"${IF_NODASH}"_IPV6_ACCEPT_RA_RT_INFO_MAX_PLEN:-""} + eval IPV6_DISABLE=\${"${IF_NODASH}"_IPV6_DISABLE:-""} + eval IPV6_FWDING=\${"${IF_NODASH}"_IPV6_FWDING:-""} + eval IPV6_PRIVACY=\${"${IF_NODASH}"_IPV6_PRIVACY:-""} + eval IPV6_ROUTER_SOLICITATIONS=\${"${IF_NODASH}"_IPV6_ROUTER_SOLICITATIONS:-""} + eval IPV6_MTU=\${"${IF_NODASH}"_IPV6_MTU:-""} if [ -n "DEFAULT_GW" -a -z "$IPV4_DEFAULT_GW" ]; then IPV4_DEFAULT_GW="$DEFAULT_GW" IPV4_DEFAULT_GWDEV="$1" diff -Nru netscript-2.4-5.4.6/netscript netscript-2.4-5.4.8/netscript --- netscript-2.4-5.4.6/netscript 2014-12-22 18:34:08.000000000 +1300 +++ netscript-2.4-5.4.8/netscript 2014-12-22 21:06:59.000000000 +1300 @@ -326,7 +326,8 @@ return 0 ;; esac - eval local IF_CHAIN_AUTO=\"\${"$1"_IF_CHAIN_AUTO:-""}\" + local IF_NODASH=`echo "$1" | sed -e 's/\-/_/g'` + eval local IF_CHAIN_AUTO=\"\${"${IF_NODASH}"_IF_CHAIN_AUTO:-""}\" if_up $1 && vb echo -n " $1" for IF in $IF_CHAIN_AUTO; do if_up $IF && vb echo -n " $IF" @@ -366,8 +367,9 @@ ;; esac local REV_IF_CHAIN - eval local IF_CHAIN=\"\${"$1"_IF_CHAIN:-""}\" - eval local IF_CHAIN_AUTO=\"\${"$1"_IF_CHAIN_AUTO:-""}\" + local IF_NODASH=`echo "$1" | sed -e 's/\-/_/g'` + eval local IF_CHAIN=\"\${"${IF_NODASH}"_IF_CHAIN:-""}\" + eval local IF_CHAIN_AUTO=\"\${"${IF_NODASH}"_IF_CHAIN_AUTO:-""}\" IF_CHAIN="$IF_CHAIN_AUTO $IF_CHAIN" for IF in $IF_CHAIN; do REV_IF_CHAIN="$REV_IF_CHAIN $IF" @@ -543,16 +545,15 @@ esac BRG_DEVLIST=`brctl show | sed -e '1d' | grep '^[-a-zA-Z0-9_]' | sed -e 's/^\([a-zA-Z0-9_\-]\+\)[ ].*$/\1/'` - for BRG in $BRG_DEVLIST; do - ANS=`echo $BRG_LIST | grep $BRG` + ANS=`echo "$BRG_LIST" | grep "$BRG"` if [ -z "$ANS" ]; then - qt ip link set dev $BRG down - brctl delbr $BRG + qt ip link set dev "$BRG" down + brctl delbr "$BRG" fi done for BRG in $BRG_LIST; do - brctl addbr $BRG > /dev/null 2>&1 + brctl addbr "$BRG" > /dev/null 2>&1 done brg_unbind_netfilter @@ -574,9 +575,9 @@ BRG=$3 fi [ -z "$BRG" ] && return 0 - ANS="echo $BRG_LIST | grep $BRG" + ANS=`echo "$BRG_LIST" | grep "$BRG"` if [ -n "$ANS" ]; then - brctl addif $BRG $1 > /dev/null 2>&1 + brctl addif "$BRG" $1 > /dev/null 2>&1 [ -z "$4" ] && ifv6_setproc $1 disable_ipv6 YES fi ;; diff -Nru netscript-2.4-5.4.6/netscript.ppp.ip-down netscript-2.4-5.4.8/netscript.ppp.ip-down --- netscript-2.4-5.4.6/netscript.ppp.ip-down 2014-12-22 18:34:08.000000000 +1300 +++ netscript-2.4-5.4.8/netscript.ppp.ip-down 2014-12-22 21:06:59.000000000 +1300 @@ -12,8 +12,9 @@ . /etc/netscript/qos.conf REV_PPP_CHAIN='' -eval PPP_CHAIN=\"\${"$PPP_IFACE"_PPP_CHAIN:-""}\" -eval PPP_CHAIN_AUTO=\"\${"$PPP_IFACE"_PPP_CHAIN_AUTO:-""}\" +IF_NODASH=`echo "$PPP_IFACE" | sed -e 's/\-/_/g'` +eval PPP_CHAIN=\"\${"${IF_NODASH}"_PPP_CHAIN:-""}\" +eval PPP_CHAIN_AUTO=\"\${"${IF_NODASH}"_PPP_CHAIN_AUTO:-""}\" PPP_CHAIN="$PPP_CHAIN_AUTO $PPP_CHAIN" for IF in $PPP_CHAIN; do REV_PPP_CHAIN="$REV_PPP_CHAIN $IF" diff -Nru netscript-2.4-5.4.6/netscript.ppp.ip-up netscript-2.4-5.4.8/netscript.ppp.ip-up --- netscript-2.4-5.4.6/netscript.ppp.ip-up 2014-12-22 18:34:08.000000000 +1300 +++ netscript-2.4-5.4.8/netscript.ppp.ip-up 2014-12-22 21:06:59.000000000 +1300 @@ -16,7 +16,9 @@ ip_QoS $PPP_IFACE fi -eval TXQLEN=\${"$PPP_IFACE"_TXQLEN:-""} +IF_NODASH=`echo "$PPP_IFACE" | sed -e 's/\-/_/g'` + +eval TXQLEN=\${"${IF_NODASH}"_TXQLEN:-""} [ -z "$TXQLEN" ] && eval TXQLEN=\${ppp_TXQLEN:-""} [ -n "$TXQLEN" ] \ && ip link set dev $PPP_IFACE txqlen $TXQLEN @@ -28,7 +30,7 @@ ${PPP_IFACE}_network_ppp $PPP_IFACE fi -eval PPP_CHAIN_AUTO=\"\${"$PPP_IFACE"_PPP_CHAIN_AUTO:-""}\" +eval PPP_CHAIN_AUTO=\"\${"${IF_NODASH}"_PPP_CHAIN_AUTO:-""}\" for IF in $PPP_CHAIN_AUTO; do if_up $IF done diff -Nru netscript-2.4-5.4.6/qos.conf netscript-2.4-5.4.8/qos.conf --- netscript-2.4-5.4.6/qos.conf 2014-12-22 18:34:08.000000000 +1300 +++ netscript-2.4-5.4.8/qos.conf 2014-12-22 21:06:59.000000000 +1300 @@ -57,19 +57,20 @@ } ip_QoS () { + local IF_NODASH=`echo "$1" | sed -e 's/\-/_/g'` # Set some vaiables - eval local HNDL1=\${"$1"_HNDL1:-""} - eval local HNDL2=\${"$1"_HNDL2:-""} - eval local FAIRQ=\${"$1"_FAIRQ:-""} - eval local BNDWIDTH=\${"$1"_BNDWIDTH:-""} - eval local PXMTU=\${"$1"_PXMTU:-""} - eval local CARATE=\${"$1"_CARATE:-""} - eval local IARATE=\${"$1"_IARATE:-""} - eval local IABURST=\${"$1"_IABURST:-""} - eval local SPQUEUE=\${"$1"_SPQUEUE:-""} - eval local PEAKRATE=\${"$1"_PEAKRATE:-"$BNDWIDTH"} - eval local BULKRATE=\${"$1"_BULKRATE:-"$CARATE"} + eval local HNDL1=\${"${IF_NODASH}"_HNDL1:-""} + eval local HNDL2=\${"${IF_NODASH}"_HNDL2:-""} + eval local FAIRQ=\${"${IF_NODASH}"_FAIRQ:-""} + eval local BNDWIDTH=\${"${IF_NODASH}"_BNDWIDTH:-""} + eval local PXMTU=\${"${IF_NODASH}"_PXMTU:-""} + eval local CARATE=\${"${IF_NODASH}"_CARATE:-""} + eval local IARATE=\${"${IF_NODASH}"_IARATE:-""} + eval local IABURST=\${"${IF_NODASH}"_IABURST:-""} + eval local SPQUEUE=\${"${IF_NODASH}"_SPQUEUE:-""} + eval local PEAKRATE=\${"${IF_NODASH}"_PEAKRATE:-"$BNDWIDTH"} + eval local BULKRATE=\${"${IF_NODASH}"_BULKRATE:-"$CARATE"} if [ ! -x /sbin/tc ]; then return 1