Commit Graph

9141 Commits

Author SHA1 Message Date
Dan Williams
aeefde7513 ifcfg-rh: add testcase for empty Team port config
Add testcase for 3e70fb20d4.
2014-02-14 10:05:19 -06:00
Thomas Haller
a0e734764f core: add nm_utils_get_monotonic_timestamp_us() function
Signed-off-by: Thomas Haller <thaller@redhat.com>
2014-02-14 15:53:11 +01:00
Jiří Klimeš
3e70fb20d4 ifcfg-rh: allow missing (empty TEAM_CONFIG), which is valid configuration
When config is NULL libteam will use its own default configuration.

Commit 76c3bd9898 changed that and refused to
create 'team' setting making connection invalid. It didn't set an error as
well, which resulted in

 ifcfg-rh: parsing /etc/sysconfig/network-scripts/ifcfg-team ...
 ifcfg-rh:     error: (unknown)
 GLib-CRITICAL **: g_propagate_error: assertion `src != NULL' failed
2014-02-14 10:05:42 +01:00
Dan Winship
3fb13c63c3 core: don't block startup on assumed connections
If we are assuming a connection at startup, the NMManager:startup
state doesn't need to wait for that activation to complete, since the
underlying device isn't going to change its configuration as a result
of it.

(In particular, NM considers virbr0 to be stalled at
NM_DEVICE_STATE_IP_CONFIG when it assumes it, since if it has no real
slaves, it won't yet have carrier. But this shouldn't block startup.)
2014-02-13 16:40:12 -05:00
Jiří Klimeš
4401fd4ac7 tui: fix srcdir != builddir build 2014-02-13 18:28:30 +01:00
Jiří Klimeš
de15dafd1b tui: properly initialize InfiniBand transport-mode
We need to initialize transport-mode because default value is NULL,
which is not a valid mode.
2014-02-13 18:28:30 +01:00
Aleksander Morgado
3b76ae18a5 modem-manager: if building systemd support, assume it manages the MM lifecycle
We will not explicitly poke MM to start it if NetworkManager is built with
systemd support.

https://bugzilla.gnome.org/show_bug.cgi?id=703040
2014-02-13 12:06:17 -05:00
Dan Winship
64c5395cb1 build: improve our use of glib's version macros to catch more bugs
We were setting GLIB_VERSION_MAX_ALLOWED to 2.34, since we provide
reimplementations of a few 2.34 functions in nm-glib-compat.h. But
this was turning off warnings for the 2.34+ APIs we *didn't* have
compat versions of too.

Fix this by setting MAX_ALLOWED to 2.32 (same as MIN_REQUIRED), and
defining macros to wrap calls to compat-ified functions and disable
deprecation warnings around them.

This points out several places where we were accidentally using 2.34
APIs without noticing, which need to be fixed now.
2014-02-13 11:24:37 -05:00
Dan Winship
9c4d86ee80 libnm-util, libnm-glib: add versioned deprecation/availability macros
Add versioned NM_DEPRECATED_IN_* and NM_AVAILABLE_IN_* macros, and tag
new/deprecated functions accordingly. (All currently-deprecated
functions are assumed to have been deprecated in 0.9.10.)

Add NM_VERSION_MIN_REQUIRED and NM_VERSION_MAX_ALLOWED macros which
can be set to determine which versions will cause warnings.

With the current settings, external consumers of the
libnm-util/libnm-glib APIs will have MIN_REQUIRED and MAX_ALLOWED both
set to NM_VERSION_0_9_8 by default, meaning they will get warnings
about functions added in 0.9.10. NM internally sets
NM_VERSION_MAX_ALLOWED to NM_VERSION_NEXT_STABLE to ensure that it is
always allowed to use all APIs.
2014-02-13 11:24:37 -05:00
Dan Winship
95be722e54 libnm-util, libnm-glib: add some missing "Since: 0.9.10" tags
Based on diffing libnm-util.ver and libnm-glib.ver with their 0.9.8
versions.
2014-02-13 11:24:37 -05:00
Dan Williams
3856129158 trivial: don't open-code g_clear_pointer() 2014-02-13 09:31:48 -06:00
Dan Williams
6029ef92c2 libnm-glib: suppress warnings unless LIBNM_GLIB_DEBUG is set
Most of these warnings are things libnm-glib can't do anything
about, and they are pretty annoying when running nmcli or nmtui,
and libraries usually shouldn't print random warnings anyway.
So downgrade them to debug messages that can be enabled if we
need to see them.
2014-02-13 06:38:54 -06:00
Dan Williams
9cdbd6a401 trivial: remove unused nm-netlink-monitor
Obsoleted by the platform, no longer used.
2014-02-13 06:34:16 -06:00
Thomas Haller
71cce80f1f core: suppress error message ZONE_ALREADY_SET when adding firewalld zone
See also https://bugzilla.redhat.com/show_bug.cgi?id=886432, where
firewalld was changed, not to return ZONE_ALREADY_SET for 'changeZone'.
However, 'addInterface' can still fail with this error.

Suppress the following error lines:

  <debug> [1392290031.179280] [firewall-manager/nm-firewall-manager.c:117] nm_firewall_manager_add_or_change_zone(): (em1) firewall zone add -> (null)
  ...
  <warn> (em1) firewall zone add/change failed: (32) ZONE_ALREADY_SET

Signed-off-by: Thomas Haller <thaller@redhat.com>
2014-02-13 12:43:44 +01:00
Thomas Haller
c52decbfcb cli: show warning when setting band/channel for infra mode (rh #1000096)
The band/channel property is not considered when connecting to an
access point. Print a warning, when setting one of these values in edit
mode.

For now, don't forbid the user to make such setting. Also, because in
the future, wpa_supplicant might support this.

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

Signed-off-by: Thomas Haller <thaller@redhat.com>
2014-02-13 12:22:52 +01:00
Thomas Haller
2ca7c89298 core: fix hanging set_logging() dbus call by returning a result
Signed-off-by: Thomas Haller <thaller@redhat.com>
2014-02-12 21:31:19 +01:00
Jiří Klimeš
84721804cd cli: fix crash if active connection doesn't have a device (rh #1064333)
$ nmcli dev connect wlan0

This can happen for example when some other process disconnects
the connection being connected.
Also fix printing a message on success.

https://bugzilla.redhat.com/show_bug.cgi?id=1064333
2014-02-12 16:31:39 +01:00
Jiří Klimeš
31f7558e30 trivial: fix a typo in a comment 2014-02-10 16:27:12 +01:00
Thomas Haller
507599a2d2 trivial: fix whitespace and spelling error
Signed-off-by: Thomas Haller <thaller@redhat.com>
2014-02-10 11:18:40 +01:00
Stanislaw Gruszka
28dfb2e4a2 wifi: do not print dump inconsistency error for get scan command
Avoid printing "nl_recvmsgs() error: (-33) Dump inconsistency detected,
interrupted".  DUMP_INTR error is harmless for scan (see in code
comments).

Signed-off-by: Thomas Haller <thaller@redhat.com>
2014-02-10 11:18:40 +01:00
Stanislaw Gruszka
0cb256f5d7 core: normalize object paths on add_and_activate_connection
Without this patch I can not setup new hotspot connection.

Signed-off-by: Thomas Haller <thaller@redhat.com>
2014-02-10 11:02:10 +01:00
Nilamdyuti Goswami
66f02fc3f9 po: update Assamese (as) translation (bgo #723751)
https://bugzilla.gnome.org/show_bug.cgi?id=723751

Signed-off-by: Thomas Haller <thaller@redhat.com>
2014-02-06 14:31:41 +01:00
Thomas Haller
8da98026da build: include the git commit id of HEAD in ./configure
`make dist` packs the 'configure' file in the tarball, so this is
useful, to include the commit id into the release tarball.

Signed-off-by: Thomas Haller <thaller@redhat.com>
2014-02-05 17:13:23 +01:00
Ankitkumar Patel
918b0f2cd0 po: update Gujarati (gu) translation (bgo #723527)
https://bugzilla.gnome.org/show_bug.cgi?id=723527

Co-Authored-By: Sweta Kothari <swkothar@redhat.com>
Signed-off-by: Thomas Haller <thaller@redhat.com>
2014-02-04 23:02:38 +01:00
Dan Winship
dd58d9c703 build: drop the libndp submodule
libndp has existed for a while now. 1.0 was released six months
ago. So drop the submodule and just require an installed package.
2014-02-03 12:13:41 +01:00
Dan Winship
736bc1c7db man: NetworkManager.conf.5 fixes and updates
The [main] section is not mandatory.

Clarify in several places that the keyfile plugin is always used for
fallback, and that the [keyfile] section is normally only used if you
aren't using any other plugin.

Fix some erroneous references to "keyfile" and "ifdown" in the
ifupdown section.

Update the ifcfg-rh docs to list all currently-supported connection
types.

Swap the order of ifcfg-suse and ifupdown to make them alphabetical.
(Note that ifnet is currently missing.)

https://bugzilla.gnome.org/show_bug.cgi?id=720841
2014-02-03 10:54:11 +01:00
Dan Williams
e922c120a3 libnm-glib: zero 'secrets' to prevent crash getting secrets
If the GetSecrets call returned an error (eg, no secrets) then
'secrets' isn't set by dbus_g_proxy_end_call() and is garbage,
then gets freed.
2014-01-31 15:22:16 -06:00
Dan Williams
3eeeb9fe0d wifi: indicate to the kernel when critical protocols start/stop (bgo #723241)
Add support for the kernel's Wi-Fi critical protocol indication to make
DHCP and IPv6 SLAAC more reliable.

https://bugzilla.gnome.org/show_bug.cgi?id=723241
2014-01-31 14:34:55 -06:00
Dan Williams
d18f524984 wifi: add nl80211 Critical Protocol indication support
At critical times during the connection process, especially during
DHCP and EAPOL, the driver can increase the reliability of communication
in an attempt to increase the possibility of success.  This could be
done by suppressing bluetooth for a short period, or locking in a low
(and thus more reliable) bitrate, or enforcing some other interference
protection.  The 3.10 kernel added nl80211 support for this, so lets
use it if we can.
2014-01-31 14:11:28 -06:00
Dan Winship
07edeabbc3 trivial: fix a coverity warning
"reserved" is unsigned, so CLAMP(reserved, 0, 8) does an unnecessary
check.
2014-01-31 19:49:52 +01:00
Thomas Haller
6c2f96421b core/platform: fix wrong warning log in nm-linux-platform
According to documentation, nl_rtgen_request() returns 0 on success.
Due to a bug (fixed upstream) in older libnl versions, nl_rtgen_request()
returns the number of bytes sent, which caused logging although
succeeding.

Signed-off-by: Thomas Haller <thaller@redhat.com>
2014-01-31 14:54:33 +01:00
Thomas Haller
2e1db48e71 core: ensure proper handling of sysctl paths in NMDevice (set NULL on dispose)
Signed-off-by: Thomas Haller <thaller@redhat.com>
2014-01-31 14:52:14 +01:00
Shankar Prasad
61efa27cac po: update Kannada (kn) translation (bgo #723361)
https://bugzilla.gnome.org/show_bug.cgi?id=723361

Signed-off-by: Thomas Haller <thaller@redhat.com>
2014-01-31 13:41:46 +01:00
Thomas Haller
84ea5b6302 core: minor change of logging output about monotonic_timestamp
Make it more clear, what the current monotonic_timestamp is and
what's it's offset to CLOCK_BOOTTIME.

Signed-off-by: Thomas Haller <thaller@redhat.com>
2014-01-31 13:28:42 +01:00
Thomas Haller
5d6a5f8572 core/platform: add debug logging when adding/deleting addresses
Signed-off-by: Thomas Haller <thaller@redhat.com>
2014-01-30 20:31:29 +01:00
Thomas Haller
adbcd9a1f0 core: Merge branch 'th/get_monotonic_timestamp'
Add new functions nm_utils_get_monotonic_timestamp_*() to provide
means to get timestamps for calculating durations.
At several places, we used time() or clock_gettime() for that purpose.
Update and unify those places to make use of the new functions.

The new functions have the advantage, that the timestamps are guaranteed
to be positive and the timestamp is independent of clock adjustments.
Internally it uses CLOCK_BOOTTIME/clock_gettime.

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

Signed-off-by: Thomas Haller <thaller@redhat.com>
2014-01-30 19:55:49 +01:00
Thomas Haller
3c6438c984 core: use nm_utils_get_monotonic_timestamp_s for nm-device-ethernet.c (last_pppoe_time)
https://bugzilla.gnome.org/show_bug.cgi?id=720833

Signed-off-by: Thomas Haller <thaller@redhat.com>
2014-01-30 19:54:10 +01:00
Thomas Haller
16605be6b8 core: use nm_utils_get_monotonic_timestamp_s for autoconnect_retry_time
https://bugzilla.gnome.org/show_bug.cgi?id=720833

Signed-off-by: Thomas Haller <thaller@redhat.com>
2014-01-30 19:54:10 +01:00
Thomas Haller
5aba4eaf6b core: use nm_utils_get_monotonic_timestamp_ms for nm-netlink-monitor
https://bugzilla.gnome.org/show_bug.cgi?id=720833

Signed-off-by: Thomas Haller <thaller@redhat.com>
2014-01-30 19:54:10 +01:00
Thomas Haller
81aed04da4 core: use nm_utils_get_monotonic_timestamp_s for nm_ap_set_last_seen
https://bugzilla.gnome.org/show_bug.cgi?id=720833

Signed-off-by: Thomas Haller <thaller@redhat.com>
2014-01-30 19:51:45 +01:00
Thomas Haller
fc870cf110 core: use nm_utils_get_monotonic_timestamp_s in nm-device-wifi (scheduled_scan_time)
https://bugzilla.gnome.org/show_bug.cgi?id=720833

Signed-off-by: Thomas Haller <thaller@redhat.com>
2014-01-30 19:51:45 +01:00
Thomas Haller
f50ca4aed1 core: use nm_utils_get_monotonic_timestamp_s in nm-supplicant-interface
https://bugzilla.gnome.org/show_bug.cgi?id=720833

Signed-off-by: Thomas Haller <thaller@redhat.com>
2014-01-30 19:51:45 +01:00
Thomas Haller
0535aa44db core: use nm_utils_get_monotonic_timestamp_s for timestamp of NMPlatformIP[46]Address
https://bugzilla.gnome.org/show_bug.cgi?id=720833

Signed-off-by: Thomas Haller <thaller@redhat.com>
2014-01-30 19:51:45 +01:00
Thomas Haller
fca51f3717 core: add nm_utils_get_monotonic_timestamp_* functions
https://bugzilla.gnome.org/show_bug.cgi?id=720833

Signed-off-by: Thomas Haller <thaller@redhat.com>
2014-01-30 19:51:45 +01:00
Thomas Haller
8eb9cfe0aa core/dhcp: fix dispose() of NMDHCPClient to handle multiple invocations
Signed-off-by: Thomas Haller <thaller@redhat.com>
2014-01-30 19:39:38 +01:00
Dan Winship
aa1b262091 tui: properly initialize the IP4 and IP6 settings on new connections
We need to initialize the methods.
2014-01-30 11:43:15 -05:00
Dan Winship
54dab9caf9 tui: fix a crash when creating a new connection
Make all the signals RUN_FIRST instead of RUN_LAST. In particular,
this fixes a crash when creating a new connection and activating the
listbox directly, in which case nmt_newt_listbox_activated() was
running after NmtAddConnection:create_connection() had already quit
the form and unrealized the listbox.
2014-01-30 11:43:15 -05:00
Dan Winship
7b85fb6f78 ifcfg-rh: write SLAVE=yes on bond slave connections
For compatibility with the old network scripts.
2014-01-30 11:16:44 -05:00
Thomas Haller
3bb54e2084 core: Merge branch 'th/ipv6-privacy'
This branch fixes two things:

- autoconf addresses were added with a /128 prefix, instead of the
  announced /64. This was done on purpose, to stop the kernel from
  adding a prefix route for the whole /64 net (in case, where RA
  has onlink=0). NM adds these routes himself.

- temporary addresses (ipv6-privacy, rfc4941) did not work at all
  ever since NM is doing router discouvery in user space.

Both features need help from kernel and libnl. If those versions
do not support the new address flags (IFA_F_MANAGETEMPADDR and
IFA_F_NOPREFIXROUTE), NM will log a message behave as before:
adding /128 autoconf addresses and not private addresses.

autoconf addresses as /64:
https://bugzilla.redhat.com/show_bug.cgi?id=1044590
https://bugzilla.redhat.com/show_bug.cgi?id=1045118

ipv6-privacy:
https://bugzilla.gnome.org/show_bug.cgi?id=705170
https://bugzilla.redhat.com/show_bug.cgi?id=1003859
https://bugzilla.redhat.com/show_bug.cgi?id=1047139

Signed-off-by: Thomas Haller <thaller@redhat.com>
2014-01-30 17:06:27 +01:00
Thomas Haller
1dea271469 core/rdisc: add support for IPv6 privacy
Add support for ipv6-private addresses. This feature
needs support from the kernel and libnl.

If there is no system support, temporary addresses are
not supported. Log a warning in this case.

Depending on whether ipv6-privacy (use_tempaddr) is enabled,
we add the address flag IFA_F_MANAGETEMPADDR and the kernel
will add temporary addresses for us.

https://bugzilla.gnome.org/show_bug.cgi?id=705170
https://bugzilla.redhat.com/show_bug.cgi?id=1003859
https://bugzilla.redhat.com/show_bug.cgi?id=1047139

Signed-off-by: Thomas Haller <thaller@redhat.com>
2014-01-30 17:04:36 +01:00