Package: network-manager / 0.9.10.0-7

Metadata

Package Version Patches format
network-manager 0.9.10.0-7 3.0 (quilt)

Patch series

view the series file
Patch File delta Description
0001 Debian specific tweaks for NetworkManager systemd se.patch | (download)

data/NetworkManager.service.in | 2 0 + 2 - 0 !
1 file changed, 2 deletions(-)

 debian specific tweaks for networkmanager systemd service file

This patch is needed to avoid a dependency loop which is generated
by early boot (rcS) SysV init scripts depending on the $network LSB
system facility (either directly or indirectly via $remote_fs).

The $network LSB system facility is mapped to network.target.

Those rcS SysV init scripts are started in sysinit.target,
NetworkManager.service is started via multi-user.target, which depends
on sysinit.target.

As long as we have rcS SysV init scripts which such a dependency on
$remote_fs or $network we can not make NetworkManager.service a provider
for network.target.

0002 Force online state with unmanaged devices.patch | (download)

src/nm-manager.c | 121 121 + 0 - 0 !
1 file changed, 121 insertions(+)

 force online state with unmanaged devices

If we have unmanaged devices in /e/n/i, monitor the ifupdown state file
and in case we find active interfaces besides lo, forcefully set the
online state to CONNECTED.

Bug-Debian: http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=512286

0003 Don t setup Sleep Monitor if not booted with systemd.patch | (download)

configure.ac | 3 2 + 1 - 0 !
src/Makefile.am | 2 2 + 0 - 0 !
src/nm-sleep-monitor-systemd.c | 5 5 + 0 - 0 !
3 files changed, 9 insertions(+), 1 deletion(-)

 don't setup sleep monitor if not booted with systemd

NetworkManager uses systemd for suspend/resume support. It listens for
the PrepareForSleep and Resume D-Bus signal sent by logind/systemd and
deactivates the interfaces on sleep and reactivates them on resume.
With a standalone logind we don't get a Resume signal and
NetworkManager remains in sleep mode where the devices are unmanaged.
As a workaround, skip the Sleep Monitor setup if not booted with
systemd.

Closes: #742933

0004 Use symlinks for nmtui.patch | (download)

configure.ac | 2 2 + 0 - 0 !
tui/Makefile.am | 2 1 + 1 - 0 !
2 files changed, 3 insertions(+), 1 deletion(-)

 use symlinks for nmtui

Make /usr/bin/nmtui-* symbolic links to /usr/bin/nmtui.

0005 Mark virtual ethernet interfaces as unmanaged.patch | (download)

src/devices/nm-device-ethernet.c | 41 41 + 0 - 0 !
1 file changed, 41 insertions(+)

 mark virtual ethernet interfaces as unmanaged

We do not want to interfere with VBox and VMware network interfaces, so ignore
any virtual ethernet interfaces and mark them as unmanaged.

0006 tui fix Wi Fi section of nmtui connect list in non U.patch | (download)

tui/newt/nmt-newt-section.c | 10 5 + 5 - 0 !
tui/nmt-connect-connection-list.c | 37 29 + 8 - 0 !
2 files changed, 34 insertions(+), 13 deletions(-)

 tui: fix wi-fi section of "nmtui connect" list in non-utf-8 locales

In locales where the Wi-Fi signal-strength characters couldn't be
represented (eg, LANG=C), the entire Wi-Fi SSID + signal strength
string would fail to convert, causing the Wi-Fi section of the
connection list to show up as a series of blank lines.

Fix this by testing beforehand whether the characters can convert, and
falling back to plain ASCII if not. (And also, fix the similar code in
nmt-newt-section.c, which got broken when nmt_newt_locale_from_utf8()
was changed to never return NULL.)

Also, for paranoia, represent the signal-strength strings via \nnn
escapes rather than actual UTF-8 data, to guarantee that they get
compiled to the expected values even if the source files get
re-encoded.

https://bugzilla.gnome.org/show_bug.cgi?id=733007

(cherry picked from commit dd2e751b071edda8dc2ee7d60a53fda329f95dde)

0007 core fix checks for default routes by comparing the .patch | (download)

src/nm-ip4-config.c | 5 3 + 2 - 0 !
src/nm-ip6-config.c | 5 3 + 2 - 0 !
src/platform/nm-linux-platform.c | 4 2 + 2 - 0 !
src/platform/nm-platform.h | 3 3 + 0 - 0 !
4 files changed, 11 insertions(+), 6 deletions(-)

 core: fix checks for default routes by comparing the prefix length

At some places, we considered a default route to be a route with
destination network 0.0.0.0 (::). This is wrong because a default route
is a route with plen==0.

This is for example relevant for OpenVPN which adds two routes
0.0.0.0/1 and 128.0.0.0/1 to hijack the default route. We should
not treat 0.0.0.0/1 as default route, instead  NM should treat
it as any other subnet route (even if it effectively routes large
parts).

Signed-off-by: Thomas Haller <thaller@redhat.com>

(cherry picked from commit 06703c1670d0f96834b268920b09792e22fdb4c4)

0008 Use the correct path when calling dnssec trigger scr.patch | (download)

src/dns-manager/nm-dns-unbound.c | 2 1 + 1 - 0 !
1 file changed, 1 insertion(+), 1 deletion(-)

 use the correct path when calling dnssec-trigger-script

Debian systems don't have /usr/libexec, so the script is installed in
0009 Support building against libsystemd library.patch | (download)

configure.ac | 10 7 + 3 - 0 !
1 file changed, 7 insertions(+), 3 deletions(-)

 support building against libsystemd library

In systemd v209, the various libraries were merged into a single
libsystemd library [1].
Add support for building against this new library and fall back to the
old library names if not found.

[1] http://lists.freedesktop.org/archives/systemd-devel/2014-February/017146.html

0010 tui fix requesting and displaying secrets.patch | (download)

tui/nmt-editor.c | 18 16 + 2 - 0 !
1 file changed, 16 insertions(+), 2 deletions(-)

 tui: fix requesting and displaying secrets

nmt_sync_op_complete_pointer() completes the operation after the
caller of this function returns.  This means that any values passed
to this function must either be allocated from its caller, or
referenced by the caller.

nm_remote_connection_get_secrets() owns the 'secrets' hash passed
to the callback, and it is destroyed when the callback returns.
So nmtui's got_secrets() must copy the hash to ensure the data
sticks around for nmt_sync_op_wait_pointer() later.

(cherry picked from commit 240a9a92ae28ee3e794567d3bf00f1d7b365fa0d)

0011 tui fix updating of NmtPasswordFields passwords bgo .patch | (download)

tui/nmt-password-fields.c | 4 4 + 0 - 0 !
1 file changed, 4 insertions(+)

 tui: fix updating of nmtpasswordfields passwords (bgo #733002)

The actual entry is a sub-widget, and was getting updated when the
user changed the password, but those changes were not being
propagated to the NmtPasswordFields object's 'password' property.

https://bugzilla.gnome.org/show_bug.cgi?id=733002

(cherry picked from commit 82b0ea87075144650979d344f34c09c7111c4a4e)

0012 fix arping path.patch | (download)

src/devices/nm-device.c | 2 1 + 1 - 0 !
1 file changed, 1 insertion(+), 1 deletion(-)

 fix arping path

Debian provides two arping implementations:
/usr/sbin/arping, shipped by the arping package,
/usr/bin/arping, shipped by the iputils-arping package.

They aren't completely command line compatible, so we choose the one
which upstream (Fedora) is using, i.e. iputils-arping.

Closes: #755039

0013 fix dhclient abnormal exit due to SIGPIPE.patch | (download)

src/dhcp-manager/nm-dhcp-dhclient.c | 8 7 + 1 - 0 !
src/dhcp-manager/nm-dhcp-dhcpcd.c | 3 2 + 1 - 0 !
2 files changed, 9 insertions(+), 2 deletions(-)

 [patch 1/2] dhcp: fix dhclient abnormal exit due to sigpipe (bgo
 #735962)

DHCP client may be killed by SIGPIPE when attempting to write to a broken pipe.
This can be observed, for example, when journald is restarted.

Fix that by redirecting both stdout and stderr to /dev/null. The client logs
into syslog anyway. When NetworkManager is run with '--debug' we duplicate
syslog to stderr, so the messages goes to terminal as well.

Testcase:
- start a NetworkManager service by systemd
- activate an DHCP ethernet connection
- sudo systemctl restart systemd-journald.service
- reactive the ethernet connection (nmcli con up <my-eth>)
- DHCP client is killed by SIGPIPE right after its startup:
    <info> (enp0s25): DHCPv4 client pid 13959 exited with status -1
    <warn> DHCP client died abnormally

Another possible fix would be ignoring SIGPIPE in the DHCP client as it is not
useful in most cases. E.g. systemd ignores SIGPIPE for its services, by
default:
http://cgit.freedesktop.org/systemd/systemd/commit/?id=353e12c2f4a9e96a47eb80b80d2ffb7bc1d44a1b

https://bugzilla.gnome.org/show_bug.cgi?id=735962

Conflicts:
	src/dhcp-manager/nm-dhcp-dhclient.c
	src/dhcp-manager/nm-dhcp-dhcpcd.c

0014 log DHCLIENT exit status better.patch | (download)

src/dhcp-manager/nm-dhcp-client.c | 35 22 + 13 - 0 !
1 file changed, 22 insertions(+), 13 deletions(-)

 [patch 2/2] dhcp: log dhcp client exit status better

Conflicts:
	src/dhcp-manager/nm-dhcp-client.c

0015 core don t override external route metrics.patch | (download)

src/devices/nm-device.c | 16 12 + 4 - 0 !
1 file changed, 12 insertions(+), 4 deletions(-)

 [patch 1/2] core: don't override external route metrics (bgo #738268)

A generated connection contains a copy of the device's existing
configuration, so it's entirely redundant to merge the connection
back into the device's IP config.  But even though that should
result in no changes to the IP config, NMSettingIPxConfig treats a
route metric of '0' as the device priority, while NMIPxConfig
allows 0 as a valid route metric.  Since the setting values
are preferred (they are supposed to be user-supplied and thus
override anythign else, but in this case they are generated and
thus not user-supplied) external routes with a metric of 0 are
overwritten with the device priority metric.

https://bugzilla.gnome.org/show_bug.cgi?id=738268
(cherry picked from commit 8283672451d0b07655a8423af0e17fd26c07a0d1)

0016 core tell systemd to restart NetworkManager.service .patch | (download)

data/NetworkManager.service.in | 1 1 + 0 - 0 !
1 file changed, 1 insertion(+)

 [patch 2/2] core: tell systemd to restart networkmanager.service if
 it exited with failure (bgo #741587)

Crashed NetworkManager.service was not restarted by systemd.

Signed-off-by: Mikko Rapeli <mikko.rapeli@iki.fi>

https://bugzilla.gnome.org/show_bug.cgi?id=741587

(cherry picked from commit fe95185f6f9f0e3bd3a71024b8b916bca2dc397f)

0017 Check at runtime whether to start ModemManager.patch | (download)

src/devices/wwan/nm-modem-manager.c | 16 6 + 10 - 0 !
1 file changed, 6 insertions(+), 10 deletions(-)

 check at runtime whether to start modemmanager

This makes NetworkManager use runtime detection to manage the
ModemManager lifecycle when not run by systemd. Under systemd, we expect
the ModemManager service to be started by systemd, under non-systemd, we
use the dbus activation feature to start ModemManager.

Closes: #770871

0018 core do not assert when a device is enslaved externa.patch | (download)

src/devices/nm-device.c | 4 0 + 4 - 0 !
src/nm-active-connection.c | 4 2 + 2 - 0 !
2 files changed, 2 insertions(+), 6 deletions(-)

 core: do not assert when a device is enslaved externally (rh
 #1167345)

Test case:
 # ip link add name BR type bridge
 # brctl addif BR eth0

Monitoring external master/slave changes was intruduced by
08e0cfb484dfc6aa6342871158ffe752c7c50f03.

https://bugzilla.redhat.com/show_bug.cgi?id=1167345

(cherry picked from commit c9b9229c2e7de2bbb12e493a868921b7a788ee92)

0019 Don t make NetworkManager D Bus activatable.patch | (download)

data/Makefile.am | 7 0 + 7 - 0 !
data/NetworkManager.service.in | 1 0 + 1 - 0 !
2 files changed, 8 deletions(-)

 don't make networkmanager d-bus activatable

If the NetworkManager daemon has been stopped manually we don't want it
to be autostarted by a client request.

0020 Don t block network.target on NetworkManager wait on.patch | (download)

data/Makefile.am | 4 0 + 4 - 0 !
data/NetworkManager-wait-online.service.in | 7 4 + 3 - 0 !
2 files changed, 4 insertions(+), 7 deletions(-)

 don't block network.target on networkmanager-wait-online.service

network.target is supposed to be a passive unit which is pulled in my
the network management service.

Also, we want NetworkManager-wait-online.service be hooked up in
network-online.target, not multi-user.target.

While at it, add a few other smaller fixes, like the addition of
Documentation= and RemainAfterExit=yes

http://www.freedesktop.org/wiki/Software/systemd/NetworkTarget/
https://bugzilla.gnome.org/show_bug.cgi?id=746039