Commit graph

307 commits

Author SHA1 Message Date
Daniel Gnoutcheff
7f8dc06dff remove nm-settings-connection-interface
NMSettingsConnectionInterface was created to allow the daemon and NM
clients to have common code that handled both system and user
connections. It's no longer needed now that user settings services are
gone.

This concludes the flattening of libnm-glib.
2010-08-06 20:53:37 -04:00
Daniel Gnoutcheff
bbd4c23213 split nm_sysconfig_connection_update
The various "update" functions implemented by NMSysconfigConnection have
become confusing.  Depending on how you count, we've wound up with about
4 functions that all share the name "update" but nonetheless do
different things.  These functions used to be distributed over several
interfaces implemented by NMSysconfigConnection, but now that we've
removed NMExportedConnection and are about to remove
NMSettingsConnectionInterface, they will be all crammed into a single
interface and will be even more confusing than before.  It's time to
give better names to these guys.

The renames planned are:

- nm_settings_connection_interface_update() -->
    nm_sysconfig_connection_commit_changes()

- nm_sysconfig_connection_update() with signal_update==FALSE -->
    nm_sysconfig_connection_replace_settings()

- nm_sysconfig_connection_update() with signal_update==TRUE -->
    nm_sysconfig_connection_replace_and_commit()

This commit performs the last two renames.  The first will be performed
when removing NMSettingsConnectionInterface.

We also have nm_sysconfig_connection_replace_and_commit() have an
async-ish API that accepts a callback. This fits nicely with the
async-ish API of nm_settings_connection_interface_update(), and it lets
us clean up pk_update_cb() a bit.
2010-08-06 13:05:47 -04:00
Daniel Gnoutcheff
a4af7967c9 ifupdown: get_secrets: don't override DBus handler
ifupdown only supports secrets for wireless connections, so attempts to
get non-wireless secrets need to fail. Previously, this was accomplished
by overriding NMSysconfigSettingsClass->get_secrets, the handler for
DBus GetSecrets() method calls. This had some problems:

- It created an information leak. The first thing the
  NMSysconfigConnection implementation does is verify that the caller is
  authorized to get secrets information, but nm-ifupdown-connection ends
  up performing its additional check before authorization happens. Thus,
  unauthorized users are able to determine that some connections don't
  have secrets.  This will become more significant when secrets handling
  is revamped.

- We'd really like to devirtualize these DBus method call handlers.
  They were inherited from from NMRemoteConnection, where we needed
  these functions to be virtual so that user and system settings
  services could implement them differently.  That is no longer needed.
  ifupdown was the last place were we actually "needed" these functions
  to be virtual.

With this commit, we fix these problems by overriding
nm_settings_connection_interface_get_secrets instead.
2010-08-06 13:05:47 -04:00
Daniel Gnoutcheff
c2f4b10ab5 libnm-glib: remove NMSettingsInterface
NMSettingsInterface was created to allow code to operate on a settings
service without caring about what kind of settings service it was. Now
that we have just one settings service, this is no longer needed.

More work needs to be done in order to handle errors and permission
settings in an appropriate manner.
2010-08-06 13:05:47 -04:00
Daniel Gnoutcheff
aee48901f4 Merged NM{Exported,Sysconfig}Connection
In continuation of the theme, the removal of user settings services
means that the distinction between NMSysconfigConnection and
NMExportedConnection is no longer needed. Merge NMExportedConnection
into NMSysconfigConnection.
2010-08-06 13:05:46 -04:00
Dan Williams
0ebeaaf1cb ifcfg-rh: clarify comment about unmanaged connections 2010-08-04 16:59:24 -05:00
Dan Williams
4cdf7468d3 ifcfg-rh: ensure BRIDGE and VLAN connections get completely ignored
Unlike NM_CONTROLLED=no connections we don't even want to both with
these when their devices aren't supposed to be managed.
2010-08-04 16:55:52 -05:00
Dan Williams
007e134594 ifcfg-rh: testcases for unmanaged BRIDGE and VLAN 2010-08-04 16:42:38 -05:00
Dan Williams
5e88c45925 ifcfg-rh: use IFCFG_PLUGIN_ERROR instead of ifcfg_plugin_error_quark ()
Trivial cleanup.
2010-08-04 16:27:34 -05:00
Dan Williams
b103cd34fa ifcfg-rh: be more careful about rewriting ifcfg files
Kind of a hack for now, would be better to push down a flag about
whether the update request came in from D-Bus, internally, or from
inotify, but that's a lot more invasive.
2010-08-04 16:23:36 -05:00
Dan Williams
49103db979 ifcfg-rh: require fewer parameters to connection_from_file() 2010-08-04 16:23:18 -05:00
Dan Williams
b66d5dd3e6 ifcfg-rh: treat BRIDGE and VLAN connections as unmanaged (rh #619863)
Treat them as unmanaged for now so that they dont' need NM_CONTROLLEd=no
which would require further configuration when NM does start to support
these configs.
2010-08-04 16:01:01 -05:00
Daniel Gnoutcheff
75822319bd ifupdown: fix connection class inheritance
NMIfupdownConnection really is a subclass of NMSysconfigConnection (as
declared via the G_DEFINE_TYPE macro in nm-ifconfig-connection.c), but
the header incorrectly used NMExportedConnection* in the class and
instance structs. We got away with it because NMSysconfigConnection*
didn't contain anything other than the stuff inherited from
NMExportedConnection*, but it would have caused much trouble if we did
add something.
2010-08-04 01:54:10 -05:00
Dan Williams
43c6800b35 ifcfg-rh: ignore BRIDGE and VLAN configs until we support them (rh #619863) 2010-08-03 16:17:45 -07:00
Dan Williams
4898f8cd3d Merge remote branch 'origin/zvm' 2010-08-03 15:49:31 -07:00
Pablo Castellano
ce5c0d5ac6 build: enable AM_SILENT_RULES (bgo #625263) 2010-08-03 12:58:46 -07:00
Dan Williams
3dcf858c04 Merge remote branch 'origin/master' into zvm 2010-07-28 08:59:47 -07:00
Daniel Gnoutcheff
2ffa6a830e keyfile: correctly send the 'update' signal
For exported connections, nm_settings_connection_interface_update() is
supposed to cause the emission of a
NM_SETTINGS_CONNECTION_INTERFACE_UPDATED signal.  This is usually done
by chaining up to the NMExportedConnection implementation of this
method, which actually emits the signal.  However, the
NMKeyfileConnection implementation usually forgot to do this.  Rewrite
so that we always chain up after successfully saving settings.
2010-07-28 02:28:45 -07:00
Dan Williams
4d43ce8fa0 Merge remote branch 'origin/master' into zvm 2010-07-27 23:24:10 -07:00
Dan Williams
bebf8d48b0 Revert "ip6: remove standalone DHCP method since DHCPv6 can't provide gateways" (rh #612445)
This reverts commit a729d2f649.

Turns out this is a valid IP config method that some sites use.
2010-07-27 21:43:42 -07:00
Dan Williams
fbdb963f04 ifcfg-rh: fix testcase format string
From Andrey Borzenkov <arvidjaar@gmail.com>
2010-07-22 16:26:34 -07:00
Dan Williams
16bccfd672 core: handle s390 options more cleanly
There are so many... so handle them as a table of key/value pairs
instead of having separate functions for each one.  At the moment
nothing but subchannels is used internally, but this allows plugins
to preserve options that NM doesn't care about when reading/writing
system configuration.
2010-06-29 00:37:14 -07:00
Dan Williams
cdf8c079ef ifcfg-rh: read and write various s390 settings 2010-06-25 23:46:47 -07:00
Dan Williams
ac9d2804bd Merge remote branch 'origin/master' into zvm 2010-06-25 19:57:30 -07:00
Dan Williams
91ab673b5c ifcfg-rh: ensure SSIDs don't get double-quoted when written out (rh #606518) 2010-06-25 09:56:53 -07:00
Jiří Klimeš
1b49f941a6 core: MAC address spoofing/cloning (rh #447827) (bgo #553771)
This commit implements MAC cloning feature in NetworkManager. To support that,
'PermHwAddress' property is added into *.Device.Wired and *.Device.Wireless
interfaces. The permanent MAC address is obtained when creating the device, and
is used for 'locking' connections to the device. If a cloned MAC is specified
in connection to be activated, the MAC is set to the interface in stage1. While
disconecting, the permanent MAC is set back to the interface.
2010-06-22 14:21:25 +02:00
Jiří Klimeš
a8e0c2637b ifcfg-rh: test case for WEP ASCII keys 2010-06-22 12:51:02 +02:00
Dan Williams
0b41797b49 s390: replace 'zvm' with s390
ZVM isn't the right terminology here.  s390 is.
2010-06-17 21:24:14 -07:00
Dan Williams
a5d8872c3e Merge remote branch 'origin/master' into zvm 2010-06-17 21:14:09 -07:00
Jiří Klimeš
4e02c67a94 ifcfg-rh: fix reading/writing ASCII WEP keys
ifcfg-rh plugin didn't prepend 's:' prefix when writing out ASCII WEP
keys. That rendered the keys file invalid. Moreover, the reading part
was incorrect too not having recognized correct ASCII keys.
2010-06-17 14:57:25 +02:00
Dan Williams
e22346b9d0 ifcfg-rh: handle z/VM subchannels (rh #591533) 2010-05-26 17:35:57 -07:00
Dan Williams
c9ee78f238 keyfile: add testcases for plain GSM connections 2010-05-26 01:19:21 -07:00
Dan Williams
11d63b63f2 keyfile: fixups for msising settings for mobile broadband 2010-05-26 01:03:38 -07:00
Dan Williams
d422ce42c4 keyfile: add testcase for BT DUN connection 2010-05-26 00:39:58 -07:00
Dan Williams
23736bc73c keyfile: add required PPP setting for serial-based connections 2010-05-26 00:34:12 -07:00
Dan Williams
7b6a898967 keyfile: ensure wired setting gets added if it's all default values
If the wired setting isn't modified at all from the default values
it won't get written out anymore after 12dcc07b74,
so make sure we include it when necessary.
2010-05-26 00:10:42 -07:00
Dan Williams
12dcc07b74 keyfile: don't write out default values 2010-05-25 23:34:39 -07:00
Dan Williams
61448016f4 keyfile: parse Bluetooth addresses as MAC addresses 2010-05-25 23:34:09 -07:00
Dan Williams
a729d2f649 ip6: remove standalone DHCP method since DHCPv6 can't provide gateways
All IPv6 enabled sites are expected to provide router advertisement
support apparently.  If standalone DHCP is really used in the wild
then we can clearly re-enable it later.
2010-05-20 10:24:13 -07:00
Dan Williams
719738d133 keyfile: fix for IPv6 address gateways 2010-05-03 04:53:13 -07:00
Dan Williams
0ab71998ce ifcfg-rh: test implicit may-fail configuration 2010-05-03 04:12:18 -07:00
Dan Williams
13e1aaa423 ifcfg-rh: add support for non-fatal IP configuration failure 2010-05-03 01:33:55 -07:00
Dan Williams
7b38686dbd Merge remote branch 'origin/master' into ip6only 2010-04-23 14:34:39 -07:00
Dan Williams
f20f7294f6 ifcfg-rh: fix handling of WEP passphrases (rh #581718)
ifcfg-rh wasn't updated for WEP passphrases after that capability
got added.  Can't use KEY for passphrases since there's no way
to distinguish some WEP passphrases from some WEP Hex and ASCII
keys, so we use KEY_PASSPHRASE instead.
2010-04-23 14:20:10 -07:00
Dan Williams
24bd77dc92 ifcfg-rh: missing IP4 setting means DHCP 2010-04-23 12:55:05 -07:00
Dan Williams
eafb1a6725 Merge remote branch 'origin/master' into ip6only 2010-04-22 14:20:24 -07:00
Dan Williams
5a9b7b42d1 ifcfg-rh: return valid errors to dbus-glib (rh #581794) 2010-04-22 14:19:50 -07:00
Dan Williams
b04ebe5cc3 keyfile: fix writing IPv6 addresses with new format 2010-04-19 16:55:40 -07:00
Dan Williams
fe25e20f6a ifcfg-rh: handle disabled IPv4 correctly
Instead of not including the IP4 setting, set its method to disabled.
In reality either one is legal, but including the IP4 setting wtih
the method set to 'disabled' is more explicit.
2010-04-15 14:52:43 -07:00
Dan Williams
dc7fe96e3f ifcfg-rh: fix IPv6-only configurations (rh #538499) 2010-04-12 16:24:07 -07:00