Commit graph

11731 commits

Author SHA1 Message Date
Thomas Haller
cbfa00219e test: add nmtst_assert_resolve_relative_path_equals() function 2015-03-12 18:12:25 +01:00
Thomas Haller
ad4e6f7fad build/trivial: cleanup Makefile.am by sorting EXTRA_DIST entries 2015-03-12 18:12:25 +01:00
Thomas Haller
0429ed85ad libgsystem: update copy of gsystem-local-alloc.h
Taken from libgsystem:src/gsystem-local-alloc.c
(commit ad3a28c5f2520d0688730aa83eaee815fb9a5762).
2015-03-12 18:09:29 +01:00
Jiří Klimeš
ae3f452994 cli: fix memory leaks when asking for arguments 2015-03-12 15:32:40 +01:00
Jiří Klimeš
f8366c8b1c cli: fix TAB completion for multiple connections in 'nmcli con down/delete' 2015-03-12 15:32:40 +01:00
Jiří Klimeš
661ef3cd46 cli: don't return empty strings in nmc_string_to_arg_array()
and unquote strings in the array if required.
2015-03-12 15:32:39 +01:00
Thomas Haller
65729cb740 route-manager: fix memleaks in nm_route_manager_ip4_route_sync()
Fixes: 4c3ba29b40
2015-03-12 13:51:06 +01:00
Srdjan Grubor
0e1fe1fe4e examples: update Python NM example to print detailed connection state
Current Python NM example has a very crude connection state output
and the global NM connectivity is not used in them either.

https://bugzilla.gnome.org/show_bug.cgi?id=746045
2015-03-12 10:39:00 +01:00
Dan Williams
a5891299b9 core: quit if manager startup completed before starting the mainloop 2015-03-11 09:17:01 -05:00
Dan Williams
cb17be1e12 man: note that dhcp=internal is required for configure-and-quit=true 2015-03-10 15:30:02 -05:00
Dan Williams
fce2fa57a5 wifi: fix recognition of AP RSN capabilities
Stupid C&P error made everything look like WPA1.

Fixes: 59c8192b22
2015-03-10 13:47:36 -05:00
Dan Williams
e5e0fa566b supplicant: disconnect properties handler on dispose
The supplicant interface's proxy may outlive the interface object
itself, so we must ensure that all signal handlers are disconnected.
Fixes a crash on suspend/resume.

Fixes: 59c8192b22
2015-03-10 08:37:40 -05:00
Petr Vorel
4213c17b44 examples: python: print into stderr
https://mail.gnome.org/archives/networkmanager-list/2015-March/msg00024.html

Signed-off-by: Petr Vorel <petr.vorel@gmail.com>
2015-03-10 12:17:59 +01:00
Thomas Haller
2171084378 examples/trvial: replace tabs by whitespace in python example 2015-03-10 12:17:23 +01:00
Lubomir Rintel
d5fc88e573 nm-device: merge branch 'lr/ipv6-mtu-rh1194007'
Don't allow setting MTU to invalid values.
2015-03-09 18:21:21 +01:00
Lubomir Rintel
7ba2a058f2 nm-device: avoid improper IPv6 MTU configuration
Ensure it's always (before address configuration starts and on updates) >= 1280
and not higher than the device MTU.
2015-03-09 18:21:01 +01:00
Lubomir Rintel
1bc202af02 nm-device: move device MTU setting from IP4Config to NMDevice
Just a refactoring, no functional change. This will make it easier to
coordinate the device MTU with IPv6 MTU.
2015-03-09 18:21:01 +01:00
Lubomir Rintel
4d6bf4eef3 nm-device: set ipv6 mtu at config commit time
Just a refactoring, doesn't make any actual difference. It is consistent with
IPv4 and will make it easier to implement a policy to recover from incorrect
MTUs settings.
2015-03-09 18:21:01 +01:00
Lubomir Rintel
6c5d93b847 route-manager: refactor: a readability improvement 2015-03-09 14:13:02 +01:00
Jiří Klimeš
6b5de0ab5f examples: add a Python example deactivating connections by type (bgo #732826)
https://bugzilla.gnome.org/show_bug.cgi?id=732826
2015-03-05 15:59:52 +01:00
Jiří Klimeš
489f80e3c0 examples: add a Lua example deactivating connections by type (bgo #732826)
https://bugzilla.gnome.org/show_bug.cgi?id=732826
2015-03-05 15:59:32 +01:00
Thomas Haller
e45054ec9e build: fix typo in configure script failing detection of libsystemd
Also revert 068e9210ec.

Fixes: ce6d5580f5
2015-03-04 16:50:17 +01:00
Thomas Haller
02130cc157 supplicant: remove unused variable 2015-03-04 16:42:45 +01:00
Pavel Šimerda
068e9210ec session: check for libsystemd-logind and fallback to libsystemd
The previous change turned out to be wrong despite it was nothing more
than a reversion of the respective lines.

Acked-By: Thomas Haller <thaller@redhat.com>
2015-03-04 15:56:27 +01:00
Pavel Šimerda
ce6d5580f5 session: check for libsystemd and fallback to libsystemd-login
Acked-By: Michael Biebl <biebl@debian.org>
Acked-By: Lubomir Rintel <lkundrak@v3.sk>
2015-03-04 15:35:47 +01:00
Thomas Haller
2e788fac45 dhcp: sd-dhcp6-client: delay setting the DUID and don't fail constructor
reimport systemd dhcp code to bring patch cc22955cfefb4bd6e7a135f1ec95fb5a07ba9ce3.

    sd-dhcp6-client: delay setting the DUID and don't fail constructor

    sd_dhcp6_client_new() tried to set the DUID based on the machine id.
    If the host has no /etc/machine-id, the constructor would fail
    making it impossible to create an sd_dhcp6_client instance.

    Relax this and create a DUID only later as needed. This way a caller
    caller can workaround a missing machine-id file and set a DUID of his
    choosing via sd_dhcp6_client_set_duid().

Conflicts:
	src/dhcp-manager/systemd-dhcp/src/libsystemd-network/sd-dhcp6-client.c
2015-03-04 11:52:26 +01:00
Thomas Haller
bd3dc1f7f3 dhcp: update systemd DHCP code
This is a direct dump from systemd git on 2015-03-04, git commit
cc22955cfefb4bd6e7a.  Only relevant files were included.

    SYSTEMD_DIR=../systemd
    COMMIT=cc22955cfefb4bd6e7a135f1ec95fb5a07ba9ce3

    (
       cd "$SYSTEMD_DIR"
       git checkout "$COMMIT"
       git reset --hard
       git clean -fdx
    )
    /bin/cp "$SYSTEMD_DIR"/src/libsystemd/sd-id128/sd-id128.c ./src/dhcp-manager/systemd-dhcp/src/libsystemd/sd-id128/sd-id128.c
    /bin/cp "$SYSTEMD_DIR"/src/libsystemd-network/dhcp-identifier.c ./src/dhcp-manager/systemd-dhcp/src/libsystemd-network/dhcp-identifier.c
    /bin/cp "$SYSTEMD_DIR"/src/libsystemd-network/dhcp-identifier.h ./src/dhcp-manager/systemd-dhcp/src/libsystemd-network/dhcp-identifier.h
    /bin/cp "$SYSTEMD_DIR"/src/libsystemd-network/dhcp-internal.h ./src/dhcp-manager/systemd-dhcp/src/libsystemd-network/dhcp-internal.h
    /bin/cp "$SYSTEMD_DIR"/src/libsystemd-network/dhcp-lease-internal.h ./src/dhcp-manager/systemd-dhcp/src/libsystemd-network/dhcp-lease-internal.h
    /bin/cp "$SYSTEMD_DIR"/src/libsystemd-network/dhcp-network.c ./src/dhcp-manager/systemd-dhcp/src/libsystemd-network/dhcp-network.c
    /bin/cp "$SYSTEMD_DIR"/src/libsystemd-network/dhcp-option.c ./src/dhcp-manager/systemd-dhcp/src/libsystemd-network/dhcp-option.c
    /bin/cp "$SYSTEMD_DIR"/src/libsystemd-network/dhcp-packet.c ./src/dhcp-manager/systemd-dhcp/src/libsystemd-network/dhcp-packet.c
    /bin/cp "$SYSTEMD_DIR"/src/libsystemd-network/dhcp-protocol.h ./src/dhcp-manager/systemd-dhcp/src/libsystemd-network/dhcp-protocol.h
    /bin/cp "$SYSTEMD_DIR"/src/libsystemd-network/dhcp6-internal.h ./src/dhcp-manager/systemd-dhcp/src/libsystemd-network/dhcp6-internal.h
    /bin/cp "$SYSTEMD_DIR"/src/libsystemd-network/dhcp6-lease-internal.h ./src/dhcp-manager/systemd-dhcp/src/libsystemd-network/dhcp6-lease-internal.h
    /bin/cp "$SYSTEMD_DIR"/src/libsystemd-network/dhcp6-network.c ./src/dhcp-manager/systemd-dhcp/src/libsystemd-network/dhcp6-network.c
    /bin/cp "$SYSTEMD_DIR"/src/libsystemd-network/dhcp6-option.c ./src/dhcp-manager/systemd-dhcp/src/libsystemd-network/dhcp6-option.c
    /bin/cp "$SYSTEMD_DIR"/src/libsystemd-network/dhcp6-protocol.h ./src/dhcp-manager/systemd-dhcp/src/libsystemd-network/dhcp6-protocol.h
    /bin/cp "$SYSTEMD_DIR"/src/libsystemd-network/network-internal.c ./src/dhcp-manager/systemd-dhcp/src/libsystemd-network/network-internal.c
    /bin/cp "$SYSTEMD_DIR"/src/libsystemd-network/network-internal.h ./src/dhcp-manager/systemd-dhcp/src/libsystemd-network/network-internal.h
    /bin/cp "$SYSTEMD_DIR"/src/libsystemd-network/sd-dhcp-client.c ./src/dhcp-manager/systemd-dhcp/src/libsystemd-network/sd-dhcp-client.c
    /bin/cp "$SYSTEMD_DIR"/src/libsystemd-network/sd-dhcp-lease.c ./src/dhcp-manager/systemd-dhcp/src/libsystemd-network/sd-dhcp-lease.c
    /bin/cp "$SYSTEMD_DIR"/src/libsystemd-network/sd-dhcp6-client.c ./src/dhcp-manager/systemd-dhcp/src/libsystemd-network/sd-dhcp6-client.c
    /bin/cp "$SYSTEMD_DIR"/src/libsystemd-network/sd-dhcp6-lease.c ./src/dhcp-manager/systemd-dhcp/src/libsystemd-network/sd-dhcp6-lease.c
    /bin/cp "$SYSTEMD_DIR"/src/shared/async.h ./src/dhcp-manager/systemd-dhcp/src/shared/async.h
    /bin/cp "$SYSTEMD_DIR"/src/shared/fileio.c ./src/dhcp-manager/systemd-dhcp/src/shared/fileio.c
    /bin/cp "$SYSTEMD_DIR"/src/shared/fileio.h ./src/dhcp-manager/systemd-dhcp/src/shared/fileio.h
    /bin/cp "$SYSTEMD_DIR"/src/shared/list.h ./src/dhcp-manager/systemd-dhcp/src/shared/list.h
    /bin/cp "$SYSTEMD_DIR"/src/shared/log.h ./src/dhcp-manager/systemd-dhcp/src/shared/log.h
    /bin/cp "$SYSTEMD_DIR"/src/shared/macro.h ./src/dhcp-manager/systemd-dhcp/src/shared/macro.h
    /bin/cp "$SYSTEMD_DIR"/src/shared/path-util.c ./src/dhcp-manager/systemd-dhcp/src/shared/path-util.c
    /bin/cp "$SYSTEMD_DIR"/src/shared/path-util.h ./src/dhcp-manager/systemd-dhcp/src/shared/path-util.h
    /bin/cp "$SYSTEMD_DIR"/src/shared/refcnt.h ./src/dhcp-manager/systemd-dhcp/src/shared/refcnt.h
    /bin/cp "$SYSTEMD_DIR"/src/shared/siphash24.c ./src/dhcp-manager/systemd-dhcp/src/shared/siphash24.c
    /bin/cp "$SYSTEMD_DIR"/src/shared/siphash24.h ./src/dhcp-manager/systemd-dhcp/src/shared/siphash24.h
    /bin/cp "$SYSTEMD_DIR"/src/shared/socket-util.h ./src/dhcp-manager/systemd-dhcp/src/shared/socket-util.h
    /bin/cp "$SYSTEMD_DIR"/src/shared/sparse-endian.h ./src/dhcp-manager/systemd-dhcp/src/shared/sparse-endian.h
    /bin/cp "$SYSTEMD_DIR"/src/shared/strv.c ./src/dhcp-manager/systemd-dhcp/src/shared/strv.c
    /bin/cp "$SYSTEMD_DIR"/src/shared/strv.h ./src/dhcp-manager/systemd-dhcp/src/shared/strv.h
    /bin/cp "$SYSTEMD_DIR"/src/shared/time-util.c ./src/dhcp-manager/systemd-dhcp/src/shared/time-util.c
    /bin/cp "$SYSTEMD_DIR"/src/shared/time-util.h ./src/dhcp-manager/systemd-dhcp/src/shared/time-util.h
    /bin/cp "$SYSTEMD_DIR"/src/shared/utf8.c ./src/dhcp-manager/systemd-dhcp/src/shared/utf8.c
    /bin/cp "$SYSTEMD_DIR"/src/shared/utf8.h ./src/dhcp-manager/systemd-dhcp/src/shared/utf8.h
    /bin/cp "$SYSTEMD_DIR"/src/shared/util.c ./src/dhcp-manager/systemd-dhcp/src/shared/util.c
    /bin/cp "$SYSTEMD_DIR"/src/shared/util.h ./src/dhcp-manager/systemd-dhcp/src/shared/util.h
    /bin/cp "$SYSTEMD_DIR"/src/shared/unaligned.h ./src/dhcp-manager/systemd-dhcp/src/shared/unaligned.h
    /bin/cp "$SYSTEMD_DIR"/src/shared/in-addr-util.c ./src/dhcp-manager/systemd-dhcp/src/shared/in-addr-util.c
    /bin/cp "$SYSTEMD_DIR"/src/shared/in-addr-util.h ./src/dhcp-manager/systemd-dhcp/src/shared/in-addr-util.h
    /bin/cp "$SYSTEMD_DIR"/src/systemd/_sd-common.h ./src/dhcp-manager/systemd-dhcp/src/systemd/_sd-common.h
    /bin/cp "$SYSTEMD_DIR"/src/systemd/sd-dhcp-client.h ./src/dhcp-manager/systemd-dhcp/src/systemd/sd-dhcp-client.h
    /bin/cp "$SYSTEMD_DIR"/src/systemd/sd-dhcp-lease.h ./src/dhcp-manager/systemd-dhcp/src/systemd/sd-dhcp-lease.h
    /bin/cp "$SYSTEMD_DIR"/src/systemd/sd-dhcp6-client.h ./src/dhcp-manager/systemd-dhcp/src/systemd/sd-dhcp6-client.h
    /bin/cp "$SYSTEMD_DIR"/src/systemd/sd-dhcp6-lease.h ./src/dhcp-manager/systemd-dhcp/src/systemd/sd-dhcp6-lease.h
    /bin/cp "$SYSTEMD_DIR"/src/systemd/sd-event.h ./src/dhcp-manager/systemd-dhcp/src/systemd/sd-event.h
    /bin/cp "$SYSTEMD_DIR"/src/systemd/sd-id128.h ./src/dhcp-manager/systemd-dhcp/src/systemd/sd-id128.h
2015-03-04 11:45:01 +01:00
Dan Williams
231b0390a5 vpn: convert NMVpnConnection <-> VPN service communication to GDBus (bgo #745307)
Of special note is the new D-Bus rule to allow root to talk to
org.freedesktop.NetworkManager.VPN.Plugin, without which NetworkManager
would not hear signals from the VPN plugins.  Oddly, this worked
fine with dbus-glib...

https://bugzilla.gnome.org/show_bug.cgi?id=745307
2015-03-03 15:04:46 -06:00
Dan Williams
19c0de8b88 merge: replace usage of dbus-glib in supplicant code with GDBus (bgo #744598) 2015-03-03 15:00:14 -06:00
Dan Williams
9adbc05e1b supplicant: remove unused nm-call-store.c/.h 2015-03-03 14:56:26 -06:00
Dan Williams
59c8192b22 supplicant: convert interface/config to GDBus 2015-03-03 14:56:25 -06:00
Dan Williams
47fe1b3196 supplicant: clean up some whitespace 2015-03-03 14:56:24 -06:00
Dan Williams
7ed2d7a809 supplicant: make NMSupplicantInterface independent of NMSupplicantManager
The Interface held a reference to the manager to listen for the 'available'
signal.  Instead of that, let's make the child unaware of the master to
keep the inheritance cleaner.
2015-03-03 14:56:24 -06:00
Dan Williams
0e8f5b2e57 supplicant: clean up NMSupplicantInterface::dispose() 2015-03-03 14:56:24 -06:00
Dan Williams
9f5f141100 supplicant: convert NMSupplicantManager to GDBus 2015-03-03 14:56:24 -06:00
Dan Williams
742b28fb1f supplicant: clean up NMSupplicantManager::dispose() 2015-03-03 14:56:23 -06:00
Thomas Haller
0681b625fb dhcp: revert "remove local modifications initializing cleanup variables"
rpmbuild buils NM with -fexceptions, which causes -Wmaybe-uninitialized
warnings for auto variables that have a cleanup function.

Maybe we should not build RPM packages with -fexceptions,
but anyway, for now just fix the build.

This reverts partly commit 4a58425dbf
and adds more fixes of uninitialized variables.
2015-03-03 14:09:32 +01:00
Thomas Haller
4e07f61173 dhcp: merge branch 'th/systemd-dhcp-integration' (bgo #742719)
Update internal dhcp library with new code from upstream systemd.

  HEAD=117cb022b13cedf4035e2a778b8d61528075a8b4
  MERGE=$(git rev-list --merges -n1 $HEAD)

  # how did we modify the systemd code?
  git diffs $MERGE^1 $HEAD -- :/src/dhcp-manager/systemd-dhcp/

  # what changed in systemd since last merge:
  git diffs $MERGE^2 $HEAD -- :/src/dhcp-manager/systemd-dhcp/src/libsystemd-network/

https://bugzilla.gnome.org/show_bug.cgi?id=742719
2015-03-03 12:37:17 +01:00
Thomas Haller
117cb022b1 dhcp: add prefix to logging lines from systemd library 2015-03-03 11:19:22 +01:00
Thomas Haller
1391bdfa61 dhcp: avoid compilation error in macro.h due to undefined __STDC_VERSION__ variable for -std=gnu99
systemd compiles with -std=gnu99, while we compile our sources with
-std=gnu89. Hence __STDC_VERSION__ is not defined.

As we define -std=gnu98 as CFLAGS with --enable-more-warnings, we cannot
overwrite it via libsystemd_dhcp_la_CFLAGS because the (user provided)
CFLAGS takes precedence.
2015-03-03 11:19:22 +01:00
Thomas Haller
2dcb097e99 dhcp: include sys/resource.h in nm-sd-adapt.h
As we don't provide "missing.h" header from systemd,
we lack some includes. Include <sys/resource.h> in nm-sd-adapt.h
for struct rlimit.
2015-03-03 11:19:22 +01:00
Thomas Haller
fd31714121 dhcp: include net/if_arp.h in nm-sd-adapt.h
sd-dhcp6-client.c uses ARPHRD_ETHER and more from net/if_arp.h.
In upstream systemd code, that header is included indirectly via
udev.h. As we don't include udev.h, include net/if_arp.h
directly in the adapter.
2015-03-03 11:19:22 +01:00
Thomas Haller
974546d9c9 dhcp: remove sd_dhcp6_client_set_ifname() function
This function was added to inject the ifname to the dhcp6 client.
As dhcp_identifier_set_iaid() now looks up the name itself by calling
if_indextoname(), this is no longer needed.
2015-03-03 11:19:22 +01:00
Thomas Haller
9f2f751349 dhcp: add systemd's dhcp-identifier.c for dhcp_identifier_set_duid_en()
Also patch dhcp_identifier_set_iaid() to get the ifname via
if_indextoname(), instead of udev.

This also makes our local modification sd_dhcp6_client_set_ifname()
obsolete, which will be removed next.
2015-03-03 11:18:12 +01:00
Thomas Haller
c140f4599d dhcp: add systemd's sd-id128.c for sd_id128_get_machine() 2015-03-03 11:13:51 +01:00
Thomas Haller
887a1ab397 dhcp: add systemd's path-util.c for path_kill_slashes()
tempfn_xxxxxx() now uses path_kill_slashes(). Add path-util.c
from systemd source to provide it.
2015-03-03 11:13:51 +01:00
Thomas Haller
7d440b7006 dhcp: add systemd's 'log.h' to provide logging macros
The 'log.h' header from systemd implements most logging commands based on a
few fundamental logging commands. Reuse 'log.h' for most parts and let the
adapter only redefine the necessary commands.
2015-03-03 11:13:51 +01:00
Thomas Haller
2d860b3f05 dhcp: comment-out unused systemd utility functions 2015-03-03 11:13:51 +01:00
Thomas Haller
22afaab1c5 dhcp: comment-in now needed string_table_lookup() function in util.c 2015-03-03 11:13:51 +01:00
Thomas Haller
cdd71569b0 dhcp: comment-in now needed filename_is_valid() function in util.c 2015-03-03 11:13:51 +01:00