Commit graph

13308 commits

Author SHA1 Message Date
Thomas Haller 25751f9c57 platform: add NMIPAddr struct 2015-11-01 17:28:08 +01:00
Thomas Haller f5171089af platform/trivial: move code 2015-11-01 17:28:08 +01:00
Thomas Haller a0229badd8 platform: only convert link-type to string once in nm_platform_link_to_string() 2015-11-01 17:28:08 +01:00
Thomas Haller b931b09601 platform: move nm_platform_tun_get_properties() to NMPlatform base class
This function only accesses sysctl function to retrieve the tun-properties.
sysctl is already defined in the base class and equally inherited by linux
and fake platform. Move the implementation there.
2015-11-01 17:28:08 +01:00
Thomas Haller c91a4617a1 nmp-object: allow missing implementations for certain virtual functions
We will add classes that don't implement all virtual functions.
E.g. a non-hashable class.

Be more resilient and allow for missing implementation.
2015-11-01 17:28:08 +01:00
Thomas Haller 3ae7692d31 nmp-object: remove unused nl_type field from NMPClass 2015-11-01 17:28:08 +01:00
Thomas Haller 0fd3c4e24c nmp-object/trivial: move code 2015-11-01 17:28:08 +01:00
Thomas Haller 250b1293f3 nmp-object: refactor nmp_object_copy() not to call virtual cmd_obj_copy() function for plain data 2015-11-01 17:28:08 +01:00
Thomas Haller c40e9d764d nmp-object: implement nmp_object_equal() based on cmp()
For link objects, nmp_object_cmp() did not consider the private fields and
thus behaved different then nmp_object_equal(). This is wrong.

Implement nmp_object_equal() based on compare.
2015-11-01 17:28:08 +01:00
Thomas Haller a2d59f5f10 platform: add buffer argument to platform to-string functions
Arguably, it is more convenient to use the static buffer as
it saves typing.

But having such a low-level function use a static buffer also
limits the way how to use it. As it was, you could not avoid
using the static buffer.

E.g. you cannot do:

  char buf[100];

  _LOGD ("nmp-object: %s; platform-link: %s",
         nmp_object_to_string (nmpobj, buf, sizeof(buf)),
         nm_platform_link_to_string (link));

This will fail for non-obvious reasons because both
to-string functions end up using the same static buffer.

Also change the to-string implementations to accept NULL
as valid and return it as "(null)".

https://bugzilla.gnome.org/show_bug.cgi?id=756427
2015-11-01 17:28:08 +01:00
Thomas Haller 7e2710fcd0 build: no longer link against libnl-genl-3 library 2015-11-01 17:28:07 +01:00
Thomas Haller 98c37fed43 wifi: reimplement use of libnl-genl-3 library 2015-11-01 17:28:07 +01:00
Thomas Haller a2e58e6e91 wifi/trivial: fix whitespace and indention in "wifi-utils-nl80211.c" 2015-11-01 17:28:07 +01:00
Thomas Haller 59af27ddb9 dnsmasq/tests: minor refactoring in test 2015-11-01 17:28:07 +01:00
Thomas Haller abd607257b macros: add nm_sprintf_buf() helper macro 2015-11-01 17:28:07 +01:00
Thomas Haller 204fcd33d8 macros: add nm_clear_g_cancellable() utility 2015-11-01 17:28:07 +01:00
Thomas Haller 88a2f1c93b tests: handle no_expect_message also for tests without assert-logging 2015-11-01 17:28:07 +01:00
Thomas Haller d5ef08e01e tests: add nmtst_rand_perm() utility 2015-11-01 17:28:07 +01:00
Thomas Haller 09983442bd tests: add nmtst_assert_ip4_address() and nmtst_assert_ip6_address() utility method 2015-11-01 17:28:07 +01:00
Thomas Haller 59ae981b22 platform: fix reading dst-port and src-port-range for vxlan
This was broken since introducing vxlan support.
2015-11-01 17:28:07 +01:00
Thomas Haller 1a6f4d08ba vpn-connection: fix parsing IPv4 routes
Fixes: 3b145a33b7
2015-11-01 17:23:24 +01:00
Lubomir Rintel 6a5595fc1a merge: branch 'lr/tunnelled-route'
https://bugzilla.gnome.org/show_bug.cgi?id=757287
2015-11-01 11:31:23 +01:00
Lubomir Rintel 3b145a33b7 vpn-connections: allow the plugin to specify route preferred src
Tunnelled VPNs can need that so that correct source address is used for tunnel
routes.
2015-11-01 11:28:10 +01:00
Lubomir Rintel 698f54456f platform: correct the type for route.pref_src
It's an IPv4 address.
2015-11-01 11:28:10 +01:00
Lubomir Rintel 5c1c577c31 vpn-connections: set ifname for tunelled VPN configuration
The configuration is going to be applied on the parent interface.

If we didn't do this, an attempt to add a route would result in an assertion
failure:

  nm-ip4-config.c:1475:nm_ip4_config_add_route: assertion failed: (priv->ifindex)
2015-11-01 11:28:10 +01:00
Lubomir Rintel 6e5fbf096a test: don't fail if setting /sys as a slave mount doesn't succeed
Maybe it's not mounted in the first place. We could be running in a chroot
without /sys mounted, etc.

Also, the error message was wrong.
2015-10-31 22:38:24 +01:00
Thomas Haller ea00693b00 systemd/lldp: avoid compiler warnings in lldp_tfl_package_read* functions
gcc 5.1.1 wrongly warns about uninitialized variable @r2 when compiling
with -Og. Refactor the code to avoid the warnings.

Related: https://github.com/systemd/systemd/pull/1735
2015-10-31 14:39:04 +01:00
Thomas Haller da7cc97f5e libnm/tests: avoid invalid compiler warning about uninitialized variable
make[5]: Entering directory './NetworkManager/libnm-core/tests'
    CC       test-general.o
  test-general.c: In function ‘test_g_hash_table_get_keys_as_array’:
  test-general.c:4552:69: error: ‘length’ may be used uninitialized in this function [-Werror=maybe-uninitialized]
  test-general.c:4543:8: note: ‘length’ was declared here
    guint length;
          ^
2015-10-31 13:42:51 +01:00
Jiří Klimeš 6cd5cc595f dispatcher: fix abort in case of an error (rh #1275813)
request_free() can be called on an error.

Oct 27 20:27:46 localhost.localdomain nm-dispatcher[2328]: #1 'pre-up': completed: invalid request: Missing or invalid required value path!
Oct 27 20:27:46 localhost.localdomain nm-dispatcher[2328]: **
Oct 27 20:27:46 localhost.localdomain nm-dispatcher[2328]: ERROR:nm-dispatcher.c:203:request_free: assertion failed (request->num_scripts_done == request->scripts->len): (0 == 1)

Fixes: 1999723241

https://bugzilla.redhat.com/show_bug.cgi?id=1275813
2015-10-30 14:00:15 +01:00
Martin Pitt b42098f4d0 systemd: stop blocking network.target in NetworkManager-wait-online.service
network.target is a very early boot target which basically says "I can start
opening sockets now". It has nothing to do with being connected to the internet
and is often required by early boot services as well.

Drop the unnecessary and wrong Wants=/Before=network.target to avoid dependency
cycles and boot delays.

https://bugzilla.gnome.org/show_bug.cgi?id=746039
https://launchpad.net/1430280
2015-10-30 11:37:09 +01:00
Martin Pitt c8ca35bff9 systemd: install NetworkManager-wait-online.service into network-online.target
This unit "implements" network-online.target, which is fairly independent from
multi-user.target, so specify the correct install target.

https://bugzilla.gnome.org/show_bug.cgi?id=746039
https://launchpad.net/1430280
2015-10-30 11:37:09 +01:00
Mathieu Trudel-Lapierre 65f6b17cbd libnm-glib: properly handle demarshalling 64-bit integers.
You can't use g_value_get_(u)int for gint64/guint64.
2015-10-30 11:36:13 +01:00
Lubomir Rintel a07f1000ba dns-unbound: use the correct path when calling dnssec-trigger-script
Debian systems don't have /usr/libexec, so the script is installed in
a different path.

Based on a patch from Arto Jantunen <viiru@debian.org>
2015-10-30 11:15:51 +01:00
Beniamino Galvani c24c5895f3 man: fix indentation in nmcli manual page
Fixes: 721e917cb6
2015-10-29 14:00:32 +01:00
Beniamino Galvani d9d77d054d platform: fix gcc warning about comparison between enums
gcc complains with the following warning:

"comparison between 'enum <anonymous>' and 'enum vlan_flags'"

Cast one side of the comparison to avoid that.

Fixes: ee7414ebc8
2015-10-27 18:26:04 +01:00
Thomas Haller d07cf5c96c vlan: merge branch 'jk/vlan-assume-and-fixes'
https://bugzilla.gnome.org/show_bug.cgi?id=754433
2015-10-27 17:26:38 +01:00
Thomas Haller ee7414ebc8 platform: NM defines for vlan header flags equal the linux headers 2015-10-27 17:24:52 +01:00
Jiří Klimeš 6142dc960b tests: add a testcase for matching VLAN connections 2015-10-27 17:17:06 +01:00
Jiří Klimeš 689de5c94a vlan: (all) add VLAN MVRP flag
http://patchwork.ozlabs.org/patch/219364/
2015-10-27 17:17:05 +01:00
Jiří Klimeš 93b8871f56 libnm: sort INGRESS_PRIORITY_MAP, EGRESS_PRIORITY_MAP properties
This fixes comparing the properties.

Priority map { 1:2, 2:5 } is actually the same as { 2:5, 1:2 }.
2015-10-27 17:17:05 +01:00
Jiří Klimeš 704930a045 libnm: do not add duplicates to VLAN priority mappings 2015-10-27 16:31:29 +01:00
Jiří Klimeš 48b8f57468 platform: remove unnecessary rtnl_link_set_type (change, "vlan")
The type is set by build_rtnl_link().
2015-10-27 16:29:18 +01:00
Jiří Klimeš 22a0136bcb ifcfg-rh: read/write VLAN GVRP flags with GVRP= ifcfg file variable
initscripts uses GVRP variable for the flag (since 2011):
https://git.fedorahosted.org/cgit/initscripts.git/commit/?id=f662d4777625cd3bedea19cccabea7741a8b45c9

But continue reading "GVRP" from VLAN_FLAG= if GVRP= is missing.
2015-10-27 16:26:37 +01:00
Jiří Klimeš db62fc9d72 platform: fix adding VLAN flags
We need to unset flags first.
2015-10-27 16:23:10 +01:00
Lubomir Rintel 3385dcdc5a gitignore: ignore more generated D-Bus glue 2015-10-27 15:31:13 +01:00
Dan Williams 0e3086e8b8 bluetooth: fix missing 'connected' notifications (rh #1255284)
Because Bluez5 dropped DUN support, NM must do that manually which
includes emulating the "connected" property for Bluetooth devices when
DUN is used.  It does this by setting priv->connected = TRUE in
nm_bluez_device_connect_finish().

But for PAN, when NM does process the 'connected' property change
notification, priv->connected is already TRUE and
_take_variant_property_connected() does nothing.  Hence the
corresponding GObject property notification is not emitted,
nm-device-bt.c::check_connect_continue() will never return success, and
the activation times out.

To fix this, ensure that GObject notifications are emitted when the
device is connected, even if emulated internally.

https://mail.gnome.org/archives/networkmanager-list/2015-October/msg00053.html
https://bugzilla.redhat.com/show_bug.cgi?id=1255284
2015-10-25 19:47:43 +01:00
Lubomir Rintel 3621c2dd1e agent-manager: fix up bad cherry-pick from 1.0
Fixes: 5d1cac81a0
2015-10-23 18:54:09 +02:00
Lubomir Rintel a5feb44a44 libnm,vpn-service-plugin: remove old connect timer when adding new one
If the plugin didn't succeed connecting once, don't let the old timer fire
during a subsequent connection.

https://bugzilla.redhat.com/show_bug.cgi?id=1271973
2015-10-23 18:24:45 +02:00
Lubomir Rintel 842889bc5b libnm-glib,vpn-plugin: remove old connect timer when adding new one
If the plugin didn't succeed connecting once, don't let the old timer fire
during a subsequent connection.

https://bugzilla.redhat.com/show_bug.cgi?id=1271973
2015-10-23 18:24:07 +02:00
Lubomir Rintel 5d1cac81a0 agent-manager: cancel secrets requests on an error
It might be that the user didn't supply the secrets in time and the dbus call
timed out. The agent should now hide the secrets dialog and we must let it know.

https://bugzilla.redhat.com/show_bug.cgi?id=1272023
2015-10-23 18:21:25 +02:00