Commit graph

18818 commits

Author SHA1 Message Date
Josef Andersson
80687ed0ce po: update Swedish (sv) translation (bgo #790018)
Reviewed-by: Anders Jonsson <anders.jonsson@norsjovallen.se>

https://bugzilla.gnome.org/show_bug.cgi?id=790018
2017-11-07 19:26:07 +01:00
Thomas Haller
f4458dd157 examples: add python example using VPN import code
Show how to load and use the VPN plugins from python.
2017-11-06 18:37:05 +01:00
Beniamino Galvani
29a576496e ifcfg-rh: persist the connection type for TeamPort connections
Currently the ifcfg-rh plugin doesn't explicitly store the connection
type for team slaves and is only able to read back ethernet and vlan
connections.

Leave this unchanged for ethernet and vlan slaves, but store the TYPE
variable for other connection types (Wi-Fi and Infiniband) so that we
can properly determine their type when the connection is read.
2017-11-06 16:40:57 +01:00
Thomas Haller
84878ac4e4 build: fix glib-compile-resources for unsupported --internal flag
Travis' version of glib-compile-resources does not support the
--internal flag:

    GEN      libnm/fake-typelib/typelibs.c
  Unknown option --internal
  make: *** [libnm/fake-typelib/typelibs.c] Error 1

We don't really need it anyway, because we have a linker version
script, that controls symbol visibility.

Fixes: 4d1f090aed
2017-11-06 14:47:27 +01:00
Piotr Drąg
b7b052c41e po: update Polish (pl) translation (bgo #789874)
https://bugzilla.gnome.org/show_bug.cgi?id=789874
2017-11-06 12:28:23 +01:00
Thomas Haller
5986d92053 doc: fix type on documentation for NMSettingOvsPort:bond-updelay
Fixes: 8a1ae40a80

https://bugzilla.gnome.org/show_bug.cgi?id=789880
2017-11-06 12:26:31 +01:00
Lubomir Rintel
a172b901d5 build: make dist with fake typelibs
Fixes: 4d1f090aed
2017-11-06 12:01:48 +01:00
Thomas Haller
cc993aa020 logging: configure dnsmasq's logging in shared mode via nm-logging 2017-11-06 12:00:28 +01:00
Thomas Haller
43da186ec3 man: document PROXY logging domain 2017-11-06 12:00:28 +01:00
Lubomir Rintel
4d1f090aed libnm: register empty NMClient and NetworkManager when loading libnm with GIR
Register empty "NMClient" and "NetworkManager" GIR modules as soon as libnm is
loaded witch gnome-introspection. This prevents the real modules from being
loaded because they would in turn load libnm-glib and abort() and crash.

In particular this prevents the GNOME shell from crashing with
libnm-glib abort and allows gracefully disabling the extensions which
use the obsolete library.

Test:

  $ cat test.js
  const NM = imports.gi.NM;
  print (NM.SecretAgentGetSecretsFlags.ALLOW_INTERACTION);

  const NMClient = imports.gi.NMClient;
  print (NMClient.SecretAgentGetSecretsFlags.ALLOW_INTERACTION);

Before:

  $ gjs test.js
  1

  (gjs:16253): libnm-util-ERROR **: libnm symbols detected; Mixing libnm with libnm-util/libnm-glib is not supported
  Trace/breakpoint trap (core dumped)
  $

After:

  $ gjs test.js
  1
  Gjs-Message: JS WARNING: [test.js 5]: reference to undefined property "SecretAgentGetSecretsFlags"

  (gjs:16228): Gjs-WARNING **: JS ERROR: TypeError: NMClient.SecretAgentGetSecretsFlags is undefined
  @test.js:5:1

  JS_EvaluateScript() failed
2017-11-06 11:47:05 +01:00
Lubomir Rintel
d529641756 examples/js: add a javascript example
Converted from python/gi/get_ip.py.
2017-11-06 11:47:05 +01:00
Beniamino Galvani
cec215147a shared: update version macros for 1.11
Fixes: c2c44d16f4
2017-11-03 17:05:04 +01:00
Beniamino Galvani
c2c44d16f4 release: bump version to 1.11.0 (development) 2017-11-03 16:05:12 +01:00
Beniamino Galvani
de6b348bfc release: bump version to 1.9.90 (1.10-rc1) 2017-11-03 15:46:53 +01:00
Beniamino Galvani
affeeb5a23 NEWS: update for a release candidate 2017-11-03 15:46:02 +01:00
Beniamino Galvani
db41380c15 ndisc: fix ordering of gateways
Insert the new gateway at the end when it has the least preference.

Fixes the following runtime error:
 src/ndisc/nm-ndisc.c:204:_ASSERT_data_gateways: assertion failed:
 (_preference_to_priority (item_prev->preference) >=
 _preference_to_priority (item->preference))
2017-11-03 10:44:48 +01:00
Beniamino Galvani
4a9ec4d39b clients: merge branch 'bg/cli-agent-race-rh1438476'
https://bugzilla.redhat.com/show_bug.cgi?id=1438476
2017-11-02 15:26:07 +01:00
Beniamino Galvani
61b666902b cli: enable secret-agent only after activation
Change the activation procedure for connections that require secrets
in the following way:

 - nmcli creates a secret-agent and leaves it disabled so that
   incoming requests are queued
 - nmcli calls ActivateConnection()
 - when the method returns success, the secret-agent gets enabled and
   all queued requests are processed

When the user activates a connection which is already auto-activating,
NM will deactivate the current active-connection and will call
CancelGetSecrets() for it before the new ActivateConnection()
returns. In this way, when the secret-agent is enabled by nmcli, we
have the guarantee that there aren't any queued requests for
the deactivating connections.

https://bugzilla.redhat.com/show_bug.cgi?id=1438476
2017-11-02 15:25:59 +01:00
Beniamino Galvani
a25db64f7c clients: implement CancelGetSecrets() secret-agent API 2017-11-02 15:25:59 +01:00
Thomas Haller
28b97f02f6 systemd: let "NetworkManager-wait-online.service" require "NetworkManager.service"
`systemctl start network-online.target` should suffice to start
"NetworkManager.service".

That would work because
 - "network-online.target" has "Wants=NetworkManager-wait-online.service"
 - "NetworkManager-wait-online.service" has "Require=NetworkManager.service".

But previously, "NetworkManager-wait-online.service" would just
fail with missing dependency.

See also https://github.com/systemd/systemd/pull/6065 which does the
same for networkd's wait-online serice, and see rh#1452866 for a
use-case.

Related: https://bugzilla.redhat.com/show_bug.cgi?id=1452866
2017-11-02 15:21:42 +01:00
Beniamino Galvani
efe815737b contrib/rpm: fix builds without ovs support
Don't compile ovs support when the RPM is built --without=ovs, to fix
the following error:

error: Installed (but unpackaged) file(s) found:
   /usr/lib/systemd/system/NetworkManager.service.d/NetworkManager-ovs.conf
   /usr/lib64/NetworkManager/libnm-device-plugin-ovs.so
   /usr/share/man/man7/nm-openvswitch.7.gz

Fixes: 830a5a14cb
2017-11-02 11:54:18 +01:00
Thomas Haller
eed8ea458b all: merge branch 'th/autoconnect-rh1401515-2'
Related: https://bugzilla.redhat.com/show_bug.cgi?id=1401515
2017-11-02 11:42:57 +01:00
Thomas Haller
72756994d4 wifi: use connection.auth-retries to handle authentication in NMDeviceWifi 2017-11-02 11:41:01 +01:00
Thomas Haller
32acaccf2a device: move tracking auth_retry to NMDevice
It will be also used by NMDeviceWifi. It might waste a 4 bytes for device types
that don't require authentication. But it deduplicates code.
2017-11-02 11:41:01 +01:00
Thomas Haller
6705c71263 ifcfg-rh: use svSetValueInt64_cond() in write_connection_setting() 2017-11-02 11:41:01 +01:00
Thomas Haller
2730dc60de all: move setting 802-1x.auth-retries to connection.auth-retries
The number of authentication retires is useful also for passwords aside
802-1x settings. For example, src/devices/wifi/nm-device-wifi.c also has
a retry counter and uses a hard-coded value of 3.

Move the setting, so that it can be used in general. Although it is still
not implemented for other settings.

This is an API and ABI break.
2017-11-02 11:41:01 +01:00
Lubomir Rintel
c81005b846 libnm/client: proxy *_enabled and metered properties to the right object
They're provided by the Manager, not by the RemoteSettings.
2017-11-02 09:04:42 +01:00
Thomas Haller
53dea38834 ifcfg-rh: refactor write_object() to avoid coverity warning
Coverity detects that the "if (blob)" condition must always be true.
Reorder the code, to avoid the warning. It's a bit clearer this way
anyway.
2017-10-31 20:15:04 +01:00
Thomas Haller
76b913a210 ovs: add backward compatibility wrapper for json_object_foreach() macro 2017-10-31 20:02:48 +01:00
Thomas Haller
b84f63265f core: merge branch 'th/autoconnect-rh1401515' (part 1)
Some cleanup of handling autoconnect behavior.

The introduction of NMSetting8021x:auth-retries property,
changes behavior in that password retries are no longer
controlled by NMSettingConnection:autoconnect-retries property.

https://bugzilla.redhat.com/show_bug.cgi?id=1401515
2017-10-31 19:44:03 +01:00
Thomas Haller
cb2aa6bd4c policy: move blocking autoconnect from NMDeviceModem to NMPolicy
Only NMPolicy should be concerned with handling autoconnect, and
blocking it.

Move the code. Note that there is a slight possible change in
behavior, as the order of when the connection is blocked changes,
based on the different times when the device changed signal gets
executed. But that shouldn't be a problem.
2017-10-31 19:35:33 +01:00
Thomas Haller
3828ba3b0e policy: inline can_autoconnect check in auto_activate_device() 2017-10-31 19:35:33 +01:00
Thomas Haller
1a9d4869ed policy: move nm_settings_connection_can_autoconnect() to policy
Step by step, we move all tracking of autoconnect to NMPolicy.
2017-10-31 19:35:33 +01:00
Thomas Haller
e62e52dfe1 device: handle authentication retries using 802-1x.auth-retries setting
Since commit 4a6fd0e83e (device: honor the
connection.autoconnect-retries for 802.1X) and the related bug bgo#723084,
we reuse the autoconnect-retries setting to control the retry count
for requesting passwords.

I think that is wrong. These are two different settings, we should not
reuse the autoconnect retry counter while the device is still active.

For example, the user might wish to set autoconnect-retries to infinity
(zero). In that case, we would retry indefinitly to request a password.
That could be problematic, if there is a different issue with the
connection, that makes it appear tha the password is wrong.
A full re-activation might succeed, but we would never stop retrying
to authenticate. Instead, we should have two different settings for
retrying to authenticate and to autoconnect.

This is a change in behavior compared to 1.8.
2017-10-31 19:35:33 +01:00
Thomas Haller
89e518db5a libnm,cli,ifcfg-rh: add NMSetting8021x:auth-retries property 2017-10-31 19:35:33 +01:00
Thomas Haller
ef60cf890f docs: clearify documentation of connection.autoconnect-retries 2017-10-31 19:35:33 +01:00
Thomas Haller
18f2d272ba settings: add and use nm_settings_connection_autoconnect_retries_try_next() 2017-10-31 19:35:33 +01:00
Thomas Haller
361a199a06 device: move resetting autoconnect retries from subtype to NMDevice 2017-10-31 19:35:28 +01:00
Thomas Haller
447dc874ce config: remove nm_config_data_get_value_cached()
It has almost no callers, and it is a bit of a strange API. Let's
not cache the last accessed value inside NMConfigData. Instead, free
it right after use. It was not reused anyway, it only hangs around
as convenience for the caller.
2017-10-31 19:14:07 +01:00
Thomas Haller
262159be00 config: add nm_config_data_get_value_int64() util 2017-10-31 19:14:07 +01:00
Thomas Haller
ec9bff293b settings/trivial: rename settings-connection's autoconnect functions
Names like
  - nm_settings_connection_get_autoconnect_retries
  - nm_settings_connection_set_autoconnect_retries
  - nm_settings_connection_reset_autoconnect_retries
are about the same thing, but they are cumbersome to grep
because they share not a common prefix.

Rename them from SUBJECT_VERB_OBJECT to SUBJECT_OBJECT_VERB,
which sounds odd in English, but seems preferred to me.
Now you can grep for "nm_settings_connection_autoconnect_retries_" to
get all accessors of the retry count, or "nm_settings_connection_autoconnect_"
to get all accessors related to autoconnect in general.
2017-10-31 19:14:07 +01:00
Lubomir Rintel
f0a23bf999 Revert "device: log device type too"
I didn't really mean to include it as it doesn't make any sense at this
point and makes the logs a bit more messy.

This reverts commit 340e35c09d.
2017-10-31 18:48:41 +01:00
Lubomir Rintel
bc83bec253 device: avoid touching sysctls for devices without platform link
Since 32b3eb1181 [core: merge IPv4 and IPv6 implementation of
nm_utils_ip4_property_path()], nm_utils_sysctl_ip_conf_path() introduced
in cd271d5cb1 [core: add nm_utils_sysctl_ip_conf_is_path() util] is used to
cunstruct sysctl paths and it is way less tolerant towards using something
that is not an interface name in the path.

It's always been incorrect to assume the ifname is a linux link name and
it resulted it ugly, if benign, sysctl access attempts such as
"/sys/class/net/28:B2:BD:5D:23:AB/phys_port_id" etc.

Now it triggers an assertion failure. Let's guard all such accesses.

Fixes: 32b3eb1181
Fixes: cd271d5cb1
2017-10-31 18:46:17 +01:00
Beniamino Galvani
5f97430e21 ifcfg-rh: remove password-raw keys file after test
Fixes: a83ab252ee
2017-10-31 14:44:39 +01:00
Lubomir Rintel
47ebb98630 devices/ovs/ovsdb: fix 32bit builds
So that we work well on VAXen.
2017-10-31 10:57:05 +01:00
Beniamino Galvani
a83ab252ee ifcfg-rh: add support for 802-1x.password-raw property
When the ifcfg-rh plugin writes a 802-1x setting it currently ignores
the password-raw property and so the password disappears when the
connection is saved. Add support for the property.
2017-10-31 10:19:49 +01:00
Lubomir Rintel
eee1553288 devices/ovs/ovsdb: fix build with old Jansson 2017-10-31 09:21:30 +01:00
Lubomir Rintel
b23f8ceb34 build: always include data/NetworkManager-ovs.conf in dist 2017-10-31 09:11:54 +01:00
Thomas Haller
d7d9759d56 docs: fix typo in NMSettingBridge:group-forward-mask doc
Fixes: 17ec3aef2f

https://bugzilla.gnome.org/show_bug.cgi?id=789662
2017-10-30 21:49:50 +01:00
Lubomir Rintel
79168a5434 merge: branch 'lr/ovs'
https://bugzilla.redhat.com/show_bug.cgi?id=1470282
2017-10-30 21:48:22 +01:00