Bug#775537: unblock: macchanger/1.7.0-5.1
Package: release.debian.org
Severity: normal
User: release.debian.org@packages.debian.org
Usertags: unblock
Please unblock package macchanger
This reverts a change in the default behaviour from wheezy (#768189)
and fixes a possible failure mode in randomisation (#775005), both
of which bugs are RC.
Ben.
diff -Nru macchanger-1.7.0/debian/changelog macchanger-1.7.0/debian/changelog
--- macchanger-1.7.0/debian/changelog 2014-11-29 12:50:42.000000000 +0000
+++ macchanger-1.7.0/debian/changelog 2015-01-16 23:22:14.000000000 +0000
@@ -1,3 +1,23 @@
+macchanger (1.7.0-5.1) unstable; urgency=medium
+
+ * Non-maintainer upload
+ * Check for random device read errors (Closes: #775005)
+
+ -- Ben Hutchings <ben@decadent.org.uk> Fri, 16 Jan 2015 23:22:13 +0000
+
+macchanger (1.7.0-5) unstable; urgency=low
+
+ * fix maintainer-script-without-set-e config
+ * improved language for debconf question from Justin B Rye
+
+ -- Hans-Christoph Steiner <hans@eds.org> Thu, 18 Dec 2014 12:50:47 +0100
+
+macchanger (1.7.0-4) unstable; urgency=low
+
+ * add debconf option to prompt whether to automatically run (Closes: #768189)
+
+ -- Hans-Christoph Steiner <hans@eds.org> Mon, 15 Dec 2014 12:07:44 +0100
+
macchanger (1.7.0-3.2) unstable; urgency=medium
* Non-maintainer upload.
diff -Nru macchanger-1.7.0/debian/config macchanger-1.7.0/debian/config
--- macchanger-1.7.0/debian/config 1970-01-01 01:00:00.000000000 +0100
+++ macchanger-1.7.0/debian/config 2014-12-15 13:18:23.000000000 +0000
@@ -0,0 +1,25 @@
+#!/bin/sh
+
+set -e
+
+# Source debconf library.
+. /usr/share/debconf/confmodule
+
+
+if [ -f /etc/default/macchanger ]; then
+ ENABLE_ON_POST_UP_DOWN=false
+ . /etc/default/macchanger
+
+ if [ "$ENABLE_ON_POST_UP_DOWN" = "true" ]; then
+ db_set macchanger/automatically_run true
+ else
+ db_set macchanger/automatically_run false
+ fi
+fi
+
+db_input high macchanger/automatically_run || true
+db_go
+
+#DEBHELPER#
+
+exit 0
diff -Nru macchanger-1.7.0/debian/default macchanger-1.7.0/debian/default
--- macchanger-1.7.0/debian/default 1970-01-01 01:00:00.000000000 +0100
+++ macchanger-1.7.0/debian/default 2014-12-15 13:11:01.000000000 +0000
@@ -0,0 +1,11 @@
+# before bringing up any network interface, run macchanger. Careful, this is
+# not guaranteed to prevent leaking your real MAC address before the new one
+# gets assigned!
+#
+ENABLE_ON_POST_UP_DOWN=false
+
+
+# by default, macchanger runs on all network interfaces but loopback (lo). If
+# you only want it to run on specific network interfaces, set them here:
+#
+#ENABLE_INTERFACES="wlan0"
diff -Nru macchanger-1.7.0/debian/gbp.conf macchanger-1.7.0/debian/gbp.conf
--- macchanger-1.7.0/debian/gbp.conf 1970-01-01 01:00:00.000000000 +0100
+++ macchanger-1.7.0/debian/gbp.conf 2014-12-18 11:53:33.000000000 +0000
@@ -0,0 +1,6 @@
+[DEFAULT]
+upstream-branch = upstream
+debian-branch = master
+upstream-tag = upstream/%(version)s
+debian-tag = debian/%(version)s
+sign-tags = True
diff -Nru macchanger-1.7.0/debian/if-pre-up.d/macchanger macchanger-1.7.0/debian/if-pre-up.d/macchanger
--- macchanger-1.7.0/debian/if-pre-up.d/macchanger 2014-11-29 12:50:42.000000000 +0000
+++ macchanger-1.7.0/debian/if-pre-up.d/macchanger 1970-01-01 01:00:00.000000000 +0100
@@ -1,32 +0,0 @@
-#!/bin/sh
-#
-# randomize MAC address before connecting to wifi or ethernet
-#
-# This script should always be run in if-pre-up.d, but unfortunately
-# NetworkManager does not run if-pre-up.d scripts before it sets up a network
-# connection (https://bugzilla.gnome.org/show_bug.cgi?id=387832).
-# if-post-down.d scripts are run, so there is a symlink to this script
-# there. That means when running network config from the terminal, macchanger
-# will be run twice, but it'll only be run in if-post-down.d when using
-# NetworkManager.
-
-package=macchanger
-
-. /etc/default/${package}
-
-LOGFILE=/var/log/${package}.log
-
-if [ "$ENABLE_ON_POST_DOWN" != "yes" ]; then
- echo "disabled in /etc/default/${package}" >> $LOGFILE
- exit
-fi
-
-echo "IFACE = $IFACE" >> $LOGFILE
-
-# quit if we're called for the loopback
-if [ "$IFACE" = lo ]; then
- echo "ignoring loopback" >> $LOGFILE
- exit 0
-fi
-
-/usr/bin/${package} -e $IFACE >> $LOGFILE 2>&1
diff -Nru macchanger-1.7.0/debian/ifupdown.sh macchanger-1.7.0/debian/ifupdown.sh
--- macchanger-1.7.0/debian/ifupdown.sh 1970-01-01 01:00:00.000000000 +0100
+++ macchanger-1.7.0/debian/ifupdown.sh 2014-12-15 13:07:56.000000000 +0000
@@ -0,0 +1,32 @@
+#!/bin/sh
+#
+# randomize MAC address before connecting to wifi or ethernet
+#
+# This script should always be run in if-pre-up.d, but unfortunately
+# NetworkManager does not run if-pre-up.d scripts before it sets up a network
+# connection (https://bugzilla.gnome.org/show_bug.cgi?id=387832).
+# if-post-down.d scripts are run, so there is a symlink to this script
+# there. That means when running network config from the terminal, macchanger
+# will be run twice, but it'll only be run in if-post-down.d when using
+# NetworkManager.
+
+package=macchanger
+
+. /etc/default/${package}
+
+LOGFILE=/var/log/${package}.log
+
+if [ "$ENABLE_ON_POST_UP_DOWN" != "true" ]; then
+ echo "disabled in /etc/default/${package}" >> $LOGFILE
+ exit
+fi
+
+echo "IFACE = $IFACE" >> $LOGFILE
+
+# quit if we're called for the loopback
+if [ "$IFACE" = lo ]; then
+ echo "ignoring loopback" >> $LOGFILE
+ exit 0
+fi
+
+/usr/bin/${package} -e $IFACE >> $LOGFILE 2>&1
diff -Nru macchanger-1.7.0/debian/install macchanger-1.7.0/debian/install
--- macchanger-1.7.0/debian/install 2014-11-29 12:50:42.000000000 +0000
+++ macchanger-1.7.0/debian/install 2014-12-15 10:44:29.000000000 +0000
@@ -1,2 +1,2 @@
-debian/if-pre-up.d/macchanger etc/network/if-pre-up.d/
+debian/ifupdown.sh etc/macchanger/
debian/logrotate.d/macchanger etc/logrotate.d/
diff -Nru macchanger-1.7.0/debian/links macchanger-1.7.0/debian/links
--- macchanger-1.7.0/debian/links 2014-11-29 12:50:42.000000000 +0000
+++ macchanger-1.7.0/debian/links 2014-12-15 11:07:20.000000000 +0000
@@ -1 +1,2 @@
-etc/network/if-pre-up.d/macchanger etc/network/if-post-down.d/macchanger
+etc/macchanger/ifupdown.sh etc/network/if-pre-up.d/macchanger
+etc/macchanger/ifupdown.sh etc/network/if-post-down.d/macchanger
diff -Nru macchanger-1.7.0/debian/macchanger.default macchanger-1.7.0/debian/macchanger.default
--- macchanger-1.7.0/debian/macchanger.default 2014-11-29 12:50:42.000000000 +0000
+++ macchanger-1.7.0/debian/macchanger.default 1970-01-01 01:00:00.000000000 +0100
@@ -1,11 +0,0 @@
-# before bringing up any network interface, run macchanger. Careful, this is
-# not guaranteed to prevent leaking your real MAC address before the new one
-# gets assigned!
-#
-ENABLE_ON_POST_DOWN=yes
-
-
-# by default, macchanger runs on all network interfaces but loopback (lo). If
-# you only want it to run on specific network interfaces, set them here:
-#
-#ENABLE_INTERFACES="wlan0"
diff -Nru macchanger-1.7.0/debian/patches/check-random-device-read-errors.patch macchanger-1.7.0/debian/patches/check-random-device-read-errors.patch
--- macchanger-1.7.0/debian/patches/check-random-device-read-errors.patch 1970-01-01 01:00:00.000000000 +0100
+++ macchanger-1.7.0/debian/patches/check-random-device-read-errors.patch 2015-01-16 23:03:34.000000000 +0000
@@ -0,0 +1,47 @@
+Description: Check for random device read errors
+ In some cases it is possible to open /dev/hwrng but not to read from it.
+ We need to check for errors and move on to the next possible random device
+ in this case.
+Author: Ben Hutchings <ben@decadent.org.uk>
+Bug-Debian: https://bugs.debian.org/775005
+
+---
+--- a/src/main.c
++++ b/src/main.c
+@@ -91,17 +91,29 @@ print_mac (const char *s, const mac_t *m
+ static void
+ random_seed (void)
+ {
++ static const char *const dev_names[] = {
++ "/dev/hwrng",
++ "/dev/random",
++ "/dev/urandom",
++ NULL,
++ };
+ int fd;
+ struct timeval tv;
+ unsigned int seed;
++ const char *const *name;
++ ssize_t read_len = 0;
+
+- if ((fd = open("/dev/hwrng", O_RDONLY)) >= 0 ||
+- (fd = open("/dev/random", O_RDONLY)) >= 0 ||
+- (fd = open("/dev/urandom", O_RDONLY)) >= 0)
+- {
+- read (fd, &seed, sizeof(seed));
+- close (fd);
+- } else {
++ for (name = dev_names; *name; name++) {
++ fd = open(*name, O_RDONLY);
++ if (fd >= 0) {
++ read_len = read (fd, &seed, sizeof(seed));
++ close (fd);
++ if (read_len == sizeof(seed))
++ break;
++ }
++ }
++
++ if (read_len != sizeof(seed)) {
+ gettimeofday (&tv, NULL);
+ seed = (getpid() << 16) ^ tv.tv_sec ^ tv.tv_usec;
+ }
diff -Nru macchanger-1.7.0/debian/patches/series macchanger-1.7.0/debian/patches/series
--- macchanger-1.7.0/debian/patches/series 2014-11-29 12:50:42.000000000 +0000
+++ macchanger-1.7.0/debian/patches/series 2015-01-16 22:51:05.000000000 +0000
@@ -1,3 +1,4 @@
02-fix_usage_message.patch
06-update_OUI_list.patch
08-fix_random_MAC_choice.patch
+check-random-device-read-errors.patch
diff -Nru macchanger-1.7.0/debian/po/POTFILES.in macchanger-1.7.0/debian/po/POTFILES.in
--- macchanger-1.7.0/debian/po/POTFILES.in 1970-01-01 01:00:00.000000000 +0100
+++ macchanger-1.7.0/debian/po/POTFILES.in 2014-12-15 11:45:10.000000000 +0000
@@ -0,0 +1 @@
+[type: gettext/rfc822deb] templates
diff -Nru macchanger-1.7.0/debian/po/templates.pot macchanger-1.7.0/debian/po/templates.pot
--- macchanger-1.7.0/debian/po/templates.pot 1970-01-01 01:00:00.000000000 +0100
+++ macchanger-1.7.0/debian/po/templates.pot 2014-12-18 12:38:02.000000000 +0000
@@ -0,0 +1,33 @@
+# SOME DESCRIPTIVE TITLE.
+# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
+# This file is distributed under the same license as the PACKAGE package.
+# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
+#
+#, fuzzy
+msgid ""
+msgstr ""
+"Project-Id-Version: macchanger\n"
+"Report-Msgid-Bugs-To: macchanger@packages.debian.org\n"
+"POT-Creation-Date: 2014-12-18 13:38+0100\n"
+"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
+"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
+"Language-Team: LANGUAGE <LL@li.org>\n"
+"Language: \n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=CHARSET\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#. Type: boolean
+#. Description
+#: ../templates:1001
+msgid "Change MAC automatically?"
+msgstr ""
+
+#. Type: boolean
+#. Description
+#: ../templates:1001
+msgid ""
+"Please specify whether macchanger should be set up to run automatically "
+"every time a network device is brought up or down. This gives a new MAC "
+"address whenever you attach an ethernet cable or reenable wifi."
+msgstr ""
diff -Nru macchanger-1.7.0/debian/postinst macchanger-1.7.0/debian/postinst
--- macchanger-1.7.0/debian/postinst 1970-01-01 01:00:00.000000000 +0100
+++ macchanger-1.7.0/debian/postinst 2014-12-15 13:07:56.000000000 +0000
@@ -0,0 +1,50 @@
+#!/bin/sh
+# postinst script for macchanger
+
+set -e
+
+. /usr/share/debconf/confmodule
+
+# summary of how this script can be called:
+# * <postinst> `configure' <most-recently-configured-version>
+# * <old-postinst> `abort-upgrade' <new version>
+# * <conflictor's-postinst> `abort-remove' `in-favour' <package>
+# <new-version>
+# * <postinst> `abort-remove'
+# * <deconfigured's-postinst> `abort-deconfigure' `in-favour'
+# <failed-install-package> <version> `removing'
+# <conflicting-package> <version>
+# for details, see http://www.debian.org/doc/debian-policy/ or
+# the debian-policy package
+
+case "$1" in
+ configure)
+ # Update /etc/default file based on config
+ if [ -f /etc/default/macchanger ] ; then
+ # rename old variable to new name
+ sed -i 's,ENABLE_ON_POST_DOWN,ENABLE_ON_POST_UP_DOWN,g' /etc/default/macchanger
+
+ db_get macchanger/automatically_run
+ # set variable based on $RET
+ if grep -E ^ENABLE_ON_POST_UP_DOWN= /etc/default/macchanger > /dev/null; then
+ sed -i "s/^ENABLE_ON_POST_UP_DOWN=.*$/ENABLE_ON_POST_UP_DOWN=$RET/g" /etc/default/macchanger
+ else
+ echo "ENABLE_ON_POST_UP_DOWN=$RET" >> /etc/default/macchanger
+ fi
+ else
+ echo "/etc/default/macchanger not found, configuration failed." >&2
+ fi
+ ;;
+
+ abort-upgrade|abort-remove|abort-deconfigure)
+ ;;
+
+ *)
+ echo "postinst called with unknown argument \`$1'" >&2
+ exit 1
+ ;;
+esac
+
+#DEBHELPER#
+
+exit 0
diff -Nru macchanger-1.7.0/debian/templates macchanger-1.7.0/debian/templates
--- macchanger-1.7.0/debian/templates 1970-01-01 01:00:00.000000000 +0100
+++ macchanger-1.7.0/debian/templates 2014-12-15 18:31:15.000000000 +0000
@@ -0,0 +1,7 @@
+Template: macchanger/automatically_run
+Type: boolean
+Default: false
+_Description: Change MAC automatically?
+ Please specify whether macchanger should be set up to run automatically
+ every time a network device is brought up or down. This gives a new MAC
+ address whenever you attach an ethernet cable or reenable wifi.
--- END ---
unblock macchanger/1.7.0-5.1
-- System Information:
Debian Release: 8.0
APT prefers unstable
APT policy: (500, 'unstable'), (500, 'testing'), (500, 'stable'), (1, 'experimental')
Architecture: i386 (x86_64)
Foreign Architectures: amd64
Kernel: Linux 3.16.0-4-amd64 (SMP w/4 CPU cores)
Locale: LANG=en_GB.utf8, LC_CTYPE=en_GB.utf8 (charmap=UTF-8)
Shell: /bin/sh linked to /bin/dash
Init: systemd (via /run/systemd/system)
Reply to: