Commit graph

2039 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
5f0b5091b4 nm-sysconfig-connection: flatten DBus handlers
NMExportedConnection originally implemented its DBus method call
handlers as virtual functions, primarily so that system and user
settings services could implement them differently.
NMIfupdownConnection also depended on GetSecrets being virtual, so this
was retained when NMExportedConnection was flattened into
NMSysconfigConnection.

However, it turns out that NMIfupdownConnection doesn't really need
these functions to be virtual; it's more appropriate to override the
methods of NMSettingsConnectionInterface (which are used by the DBus
handlers).  Indeed, we really don't want settings plugins to override
the DBus handlers, as we must authorize the caller before doing anything
else.  So we can save a bunch of code and devirtualize these handlers.
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
Daniel Gnoutcheff
da6816a03b nm-glib/DBus: merge nm-settings{,-system} iface
Much as with nm-remote-settings and nm-remote-settings-system, the
removal of user settings services means there is no more need for
separate interfaces for user and system settings services.

In libnm-glib, this commit merges everything in
nm-settings-system-interface into nm-settings-interface.  Alongside with
that, we merge everything in the
org.freedesktop.NetworkManagerSettings.System DBus interface into
org.freedesktop.NetworkManagerSettings.
2010-08-06 13:05:46 -04:00
Daniel Gnoutcheff
215640c590 libnm-glib: remove nm-settings-service
Now that we have only one settings service, there is no more need to
have common settings service code in libnm-glib. So we can simplify
things somewhat my moving everything from nm-settings-service into
nm-sysconfig-settings.
2010-08-06 13:05:46 -04:00
Daniel Gnoutcheff
67ba32cd29 Remove use-user-connections polkit action 2010-08-06 13:05:46 -04:00
Daniel Gnoutcheff
d503c09466 DBus API: removing user settings support
Remove bits from the external DBus API that were once needed for user
settings support.
2010-08-06 13:05:46 -04:00
Daniel Gnoutcheff
fa8c9304b5 libnm-*: remove user settings support
Remove code related to "connection scope" and such. Later, we will also
do lots of code flattening and simplification that's possible now that
user settings are gone.
2010-08-06 13:05:46 -04:00
Daniel Gnoutcheff
5fda5283b9 core: remove internal API refs. to user settings
Remove all references to connection scope and user-settings services
from the various internal APIs of the daemon. The external DBus API
remains unchanged, albeit in stub form for scope stuff.
2010-08-06 13:05:46 -04:00
Daniel Gnoutcheff
443c95a6b9 nm-manager: start removing user settings services
It turns out that user settings services are strange and complicated
beasts. We will remove support for them, and we will later implement
security mechanisms on the system settings service that will do what
user settings services were intended to do.

This commit is a bulk removal of nm-manager's internal support code for
user settings services. The external API is largely unchanged, but
errors are returned if anyone ties to do something with user settings.

Work remaining includes some possible flattening of nm-manager's
internal code, along with code removal and API changes in other modules.
2010-08-06 13:05:46 -04:00
Dan Williams
c050e036c3 dhcp: make sure disabled DHCP clients aren't used (gentoo #330319)
If the client was disabled with --with-dhclient=no or
--with-dhcpcd=no, then it's corresponding _PATH will be an empty
string.  In that case we want to ignore that client completely
since it was disabled at build time.
2010-08-05 15:29:23 -05:00
Dan Williams
4e1eb09fed core: quiet annoying libnl error about route deletion (rh #612991) 2010-08-03 17:07:38 -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
b9c1404769 debian: don't require ifup for enabling loopback (bgo #625427)
But use it if it's installed.
2010-08-03 11:36:59 -07:00
Dan Williams
3dcf858c04 Merge remote branch 'origin/master' into zvm 2010-07-28 08:59:47 -07:00
Daniel Drake
64182e27d7 wifi: ensure scanning property is updated on supplicant interface state changes
The wifi device is considered to be 'scanning' if the supplicant emits
the scanning signal or if it's in the scanning state; but the code
didn't correctly handle notifications when the supplicant was in the
scanning state.
2010-07-28 02:09:26 -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
af2be00b8c Revert "core: fail connections if IP configuration expires" (rh #616084) (rh #590874)
This reverts commit b172519045.

When something like NTP updates the system clock, that can cause
dhclient to expire the lease, and at that point we just want NM
to let dhclient re-aquire the lease instead of failing the
whole connection.
2010-07-27 20:31:27 -07:00
Dan Williams
0a700de047 core: read nm-system-settings.conf first (rh #606160)
Even though we prefer NetworkManager.conf, we need to check the
old nm-system-settings.conf first to preserve compat with older
setups.  In package managed systems dropping a NetworkManager.conf
onto the system would make NM use it instead of nm-system-settings.conf,
changing behavior during an upgrade.  We don't want that.
2010-07-21 16:47:31 -07:00
Dan Williams
81f030fe5b core: don't require PPP setting for PPPoE connections (bgo #623744)
The PPP setting will usually be all defaults anyway, so lets just
created it when needed if it doesn't yet exist.  Fixes an error
where the connection editor couldn't edit system DSL connections
because it tried to request secrets for the PPP setting that didn't
actually exist in the connection because the 'keyfile' plugin
wouldn't save all-default settings, thus that setting wouldn't
exist when read back in.
2010-07-21 15:55:33 -07:00
Dan Williams
d533c807e6 system-settings: return InvalidSetting when secrets setting doesn't exist (bgo #623744)
So that clients can handle the error intelligently; it's not
really a fatal error.
2010-07-21 15:54:44 -07:00
Bin Li
ce7d37ad80 dns: fix race waiting for netconfig 2010-07-16 12:54:39 -07:00
Dan Williams
786ac623ab dns: send NIS servers and domain to SUSE's netconfig 2010-07-16 12:44:50 -07:00
Dan Williams
e780145a8f dhcp4: handle NIS servers and domains 2010-07-16 11:28:39 -07:00
Dan Williams
4880cc68b2 wifi: work around wl.o frequency reporting for active AP matching
Some proprietary drivers (wl.o) report tuned frequency (like when
scanning) instead of the associated AP's frequency.  This is a great
example of how WEXT is underspecified.  We use frequency to find the
active AP in the scan list because some configurations use the same
SSID/BSSID on the 2GHz and 5GHz bands simultaneously, and we need to
make sure we get the right AP in the right band.  This configuration
is uncommon though, and the frequency check penalizes closed drivers we
can't fix.  Because we're not total dicks, ignore the frequency condition
if the associated BSSID/SSID exists only in one band since that's most
likely the AP we want.
2010-07-15 00:00:42 -07:00
Dan Williams
8ee43c76f0 Merge remote branch 'origin/master' into zvm 2010-07-12 18:23:02 -07:00
Dan Williams
a1174a683e core: fix compilation on glib < 2.23.4
Where G_FILE_MONITOR_EVENT_MOVED isn't defined yet.
2010-07-12 18:21:27 -07:00
Dan Williams
664ccd4464 Revert "core: fix compilation on glib < 2.23.4"
This reverts commit 8a1fe31b31.

This commit was not intended to be pushed, as it's not ready yet
and isn't even my commit (thus attribution is wrong).
2010-07-12 18:20:09 -07:00
Dan Williams
ecb6c69d2b Merge remote branch 'origin/master' into zvm 2010-07-12 17:49:59 -07:00
Michael Biebl
c8c161780a dhcp: use ISC DHCPv4 paths now that v4 is nominally required 2010-07-09 11:33:27 -07:00
Dan Williams
8a1fe31b31 core: fix compilation on glib < 2.23.4
Where G_FILE_MONITOR_EVENT_MOVED isn't defined yet.
2010-07-02 10:42:32 -07:00
Dan Williams
62d03cf33e core: better missing firmware handling when firmware appears (rh #609587)
Monitor the kernel firmware directory (set at configure-time with
--with-kernel-firmware-dir=<path>) for changes, and if there
are any, try bringing up devices that are missing firmware.
2010-07-01 10:32:11 -07:00
Dan Williams
e1b46b870a Merge remote branch 'origin/master' into zvm 2010-06-30 15:00:42 -07:00
Dan Williams
c38d1c28ff core: fix potential use-after-free resetting IPv6 accept_ra value 2010-06-30 13:37:34 -07:00
Dan Williams
e04281fdc7 Merge remote branch 'origin/master' into zvm 2010-06-28 22:46:22 -07:00
Dan Williams
26312c087e core: simplify DHCP hostname handling
Reduce memory usage by not duplicating the IP4 setting.
2010-06-28 17:17:24 -07:00
Dan Williams
3d4b6163b9 dhcp: try /etc/dhcp too for !SUSE && !DEBIAN && !GENTOO (rh #607759) 2010-06-28 11:18:12 -07:00
Jiří Klimeš
d83872f46d ipv6: fix a crash when getting 'nameservers' property over D-Bus
dbus-send --system --print-reply --dest=org.freedesktop.NetworkManager /org/freedesktop/NetworkManager/IP6Config/0 org.freedesktop.DBus.Properties.Get string:org.freedesktop.NetworkManager string:Nameservers
2010-06-28 18:46:59 +02:00
Dan Williams
4142c6e905 Merge remote branch 'origin/master' into zvm 2010-06-27 08:58:25 -07:00
Dan Williams
0ea9329b6e wifi: don't request periodic scans when connection is BSSID-locked (bgo #513820)
In this case the large user of periodic scanning, intra-ESS roaming,
isn't used due to the specific AP lock, so don't scan periodically.
2010-06-26 10:03:48 -07:00
Dan Williams
74a221ab36 core: respect s390 subchannels for auto-activation and config matching 2010-06-26 00:15:11 -07:00
Dan Williams
7975295442 core: trivial subchannels logging cleanup 2010-06-25 21:46:57 -07:00
Dan Williams
d08b7895fb core: build composite subchannels for unmanaged spec matching 2010-06-25 21:44:01 -07:00
Dan Williams
ac9d2804bd Merge remote branch 'origin/master' into zvm 2010-06-25 19:57:30 -07:00
Dan Williams
3f089fe41d core: grab s390 subchannels when available 2010-06-25 19:49:39 -07:00
Dan Williams
157959a1c5 core: fall back to current MAC address if permanent one is invalid
Not all drivers will return errors when even when they don't provide
the GPERMADDR ethtool call; sometimes you'll get 00:00:00:00:00:00
which is clearly not right.  In this case, fall back to the current
HW address just like if the ethtool GPERMADDR call failed.
2010-06-24 15:18:53 -07:00