Commit graph

5431 commits

Author SHA1 Message Date
Dan Williams
7e5ab41d13 build: remove random leftover bits of GConf stuff 2010-12-15 18:03:49 -06:00
Dan Williams
9c7afa193c libnm-glib: fix export of NMDHCP6Config symbols
Found by Giovanni Campagna <gcampagna@src.gnome.org>
2010-12-15 17:53:13 -06:00
Pierre Ossman
83bc663914 ip6: support for DNS Search List option (bgo #637077)
RFC6101 adds the DNS Search List option to router advertisements. This
allows stateless configuration of suffixes to try when doing DNS lookups.
Make sure we catch these when provided by the kernel and reconfigure
things appropriately.

NOTE: this commit depends on a kernel patch:

http://marc.info/?l=linux-netdev&m=129216173321352&w=2
2010-12-15 17:44:20 -06:00
Pierre Ossman
4e8cb2f193 ip6: restructure RDNSS code to be RFC compliant (bgo #637075)
RFC5006/RFC6106 specifies fairly clearly how to handle multiple RDDNS options.
Unfortunately the previous code didn't deal with this and hence would
misbehave in all but the simplest setups. The new code should be fully
compliant with the following exceptions:

- Router lifetime not respected
- No "sufficient number" management.
- DHCPv6 servers might not be prioritised over RDDNS ones.
2010-12-15 17:37:14 -06:00
Pierre Ossman
8229107589 ip6: rdnss structure needs to be packed (bgo #637075)
The code assumes this structure is packed, so let's make sure it actually is.
2010-12-15 17:30:35 -06:00
Kristjan SCHMIDT
5281c92311 po: add Esperanto translation (bgo #637011) 2010-12-15 15:18:28 -06:00
Dan Williams
4f058e2dc4 agent: ask secret agents for secrets when connection doesn't have any
Filter registered agents for each secrets request to ensure that the
connection for which secrets are requested is visible to that agent,
and add that agent to the queue.  Ask each agent in the queue until
one returns usable secrets.  Ensure that if new agents register
or existing agents quit during the secrets request, that the queue
is updated accordingly, and ensure that an agent that's already
been asked for secrets, unregisters, and re-registers before the
secrets request is comple, isn't asked for secrets twice.
2010-12-14 15:34:34 -06:00
Dan Williams
5e19b02f0b dbus: allow NetworkManager to talk to secret agents 2010-12-14 15:32:12 -06:00
Dan Williams
9df9abb06f tests: make agent tester stick around until Ctl+C 2010-12-14 15:31:53 -06:00
Dan Williams
16a8a951e9 ifcfg-rh: PSK isn't necessary for valid WPA connection
We'll ask secret agents for it if it's not stored in the connection.
2010-12-14 15:26:40 -06:00
Dan Williams
ca1338007c tests: add secret agent API test tool 2010-12-14 15:04:14 -06:00
Dan Williams
fc82bbc412 agent: allow the '.' character in agent identifiers 2010-12-14 11:19:39 -06:00
Dan Williams
81bc9c8572 libnm-glib: allow the '.' character in agent identifiers 2010-12-14 11:19:19 -06:00
Dan Williams
ffac6b33c6 agent: fix infinite loop checking agent identifier 2010-12-14 11:14:24 -06:00
Dan Williams
585a4a1351 agent: actually register D-Bus introspection
So that the agent manager can get exported on the bus.
2010-12-14 11:12:56 -06:00
Dan Williams
84abb13554 libnm-glib: fix infinite loop checking agent identifier 2010-12-14 11:12:24 -06:00
Dan Williams
85fa487a48 tests: fix missing Makefile dep 2010-12-14 10:51:00 -06:00
Dan Williams
1496f8056f libnm-glib: add secret agent base class 2010-12-14 00:03:22 -06:00
Dan Williams
62a2c34e27 core: simplify secrets handling during activation
Instead of a bizare mechanism of signals back to the manager
object that used to be required because of the user/system settings
split, let each place that needs secrets request those secrets
itself.  This flattens the secrets request process a ton and
the code flow significantly.

Previously the get secrets flow was something like this:

nm_act_request_get_secrets ()
    nm_secrets_provider_interface_get_secrets ()
        emits manager-get-secrets signal
            provider_get_secerts ()
                system_get_secrets ()
                    system_get_secrets_idle_cb ()
                        nm_sysconfig_connection_get_secrets ()
                            system_get_secrets_reply_cb ()
                                nm_secrets_provider_interface_get_secrets_result ()
                                    signal failure or success

now instead we do something like this:

nm_agent_manager_get_secrets ()
    nm_agent_manager_get_secrets ()
        request_start_secrets ()
            nm_sysconfig_connection_get_secrets ()
                return failure or success to callback
2010-12-13 21:14:23 -06:00
Jiří Klimeš
d4ac3cd593 libnm-util: fix a memory leaks in nm_setting_to_string() 2010-12-13 20:55:02 +01:00
Jiří Klimeš
a6dccad94c examples: trivial comment fix 2010-12-13 17:13:16 +01:00
Jiří Klimeš
1beb2632a0 examples: fix double free() error in get-active-connections 2010-12-13 16:36:46 +01:00
Jiří Klimeš
ca6e6b620d examples: add C examples for listing connections from system settings service 2010-12-13 16:18:35 +01:00
Dan Williams
58088129f7 settings: only use one hint nm_sysconfig_connection_get_secrets()
Never used more than one anyway.
2010-12-12 21:29:13 -06:00
Dan Williams
ff101f4946 settings: remove callback from nm_sysconfig_connection_get_secrets()
No reason it needs to use the callback pattern anymore.
2010-12-12 21:17:34 -06:00
Dan Williams
e3ba9162c2 supplicant: fix state handling after READY has been reached
We only want to prevent regression to > READY after READY has
been reached, since the interface state will track the supplicant
connection state which legitimately jumps around.
2010-12-11 12:33:15 -06:00
Dan Williams
ea16af7c18 supplicant: fix up return arguments for Disconnect and RemoveNetwork 2010-12-11 12:31:10 -06:00
Dan Williams
1cd17ac896 supplicant: fix leak updating BSS properties 2010-12-11 11:59:40 -06:00
Dan Williams
fd5e8c2f05 core: fix leak parsing config file 2010-12-10 18:50:49 -06:00
Dan Williams
e716e7507b agent: log agent registration 2010-12-10 13:32:45 -06:00
Dan Williams
a30cf19858 agent: add agent manager and minimal agent class 2010-12-10 12:38:19 -06:00
Dan Williams
66291ec204 logging: LOGD_USER_SET -> LOGD_AGENTS 2010-12-10 12:36:02 -06:00
Dan Williams
cf7cc2492d logging: LOGD_SYS_SET -> LOGD_SETTINGS 2010-12-10 12:32:22 -06:00
Dan Williams
0a8f7aeb56 core: use #defines for NMDBusManager signal names
Helps catch typos at compile time instead of runtime.
2010-12-10 11:36:55 -06:00
Dan Williams
ffb808f4c4 core: fix possible leak in error path 2010-12-10 10:46:09 -06:00
Michael Biebl
898e08eef1 ifupdown: Allow to mark bridge ports as unmanaged (debian #530335)
Parse bridge configurations in /etc/network/interfaces and add
interfaces defined via bridge_ports to well_known_interfaces. This
allows to mark those interfaces as unmanaged if managed=false.
The "all" keyword and regexes are not supported and simply skipped.

Example:
iface br0 inet manual
	bridge_ports eth0 eth1 (→ eth0/1 will be marked as unmanaged)

See also:
http://manpages.ubuntu.com/manpages/maverick/man5/bridge-utils-interfaces.5.html

Bug-Debian: http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=530335
2010-12-09 00:15:17 -06:00
Michael Biebl
1939209759 ifupdown: Correctly mark unmanaged devices (debian #569215)
If we find a "iface ..." line, add the interface to
well_known_interfaces no matter if there is a connection for it or not.

Otherwise we fail to mark devices as unmageded in cases like

iface wlan0 inet manual
	wpa-roam /etc/wpa_supplicant/wpa_supplicant.conf

as NM does not know how to parse such a interface configuration.

Bug-Debian: http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=569215
2010-12-09 00:13:37 -06:00
Dan Williams
a752140c8f Merge remote branch 'origin/new-supplicant'
This branch now requires wpa_supplicant 0.7 or later with the new
D-Bus interface enabled.  It also prefers the "nl80211" supplicant
driver over the WEXT one, but will ask the supplicant to fall back
to the WEXT driver if the device in question does not support the
kernel's nl80211/cfg80211 stack.
2010-12-07 14:23:39 -06:00
Dan Williams
12345affa5 wifi: move wireless_qual_to_percent() to get rid of prototype
Now that it's only used in one place we can get rid of the prototype.
2010-12-07 14:18:44 -06:00
Dan Williams
af406bdc96 libnm-glib: actually define the "ip-interface" property
Looks like it got left out of 6ab5a9597a
2010-12-07 14:12:55 -06:00
Dan Williams
a08dd2c39d supplicant: fix handling when supplicant cannot be service activated
If the supplicant cannot be service activated, wait until it shows up
on the bus instead of sitting around doing nothing.  This fixes a small
regression introduced when the _READY state was added to the supplicant
interface object.
2010-12-07 13:58:49 -06:00
Dan Williams
9e9a46b405 wifi: remove useless warning 2010-12-06 15:55:30 -06:00
Dan Williams
e821e61992 examples: update comments 2010-12-06 12:27:50 -06:00
Dan Williams
c602487ff3 test: add C example for printing active connection details 2010-12-06 12:14:06 -06:00
Dan Williams
fd3e8e4576 examples: build C examples 2010-12-06 12:12:52 -06:00
Canek Peláez Valdés
740dc88cb3 gentoo: handle both systemd and OpenRC loopback init at runtime
See Gentoo #318365
2010-12-06 09:36:28 -06:00
Andrey Borzenkov
bfbf5ef374 ifcfg-rh: fix missing connections when an unmanaged interface was present
Don't emit "unmanaged-specs-changed" signal in read_one_connection(),
because it causes that next connections are not listed (get_connections() is
called prematurely and only connections read so far are available).
Steps to reproduce the bug:
1) create ifcfg-fake
DEVICE=loremipsum
HWADDR=01:02:03:04:05:06
NM_CONTROLLED=no
2) restart NetworkManager
3) only connections read *before* ifcfg-fake are available

Thanks to Robert Vogelgesang <vogel@users.sourceforge.net> for updating
the patch and analysis!
2010-12-06 15:55:48 +01:00
Dan Williams
9d077444a9 settings: remove settings dict from connection 'updated' signal
New connections should not be pushed out in the Updated signal
because signals cannot be restricted to particular clients, and
some clients may not have permission to view the connection.

Upon receiving the Updated signal, clients should re-read the
connection using GetSettings to ensure that the client still
has permissions to view the connection, and to get the updated
settings.
2010-12-02 14:34:38 -06:00
Jiří Klimeš
6903571160 ifcfg-rh: allow missing and 0.0.0.0 GATEWAYn lines in ifcfg-routes (rh #647992)
GATEWAY0=0.0.0.0 was erroneously denied. Also, missing GATEWAY0 entry caused
ifcfg-rh plugin to regard the connection as invalid. The commit fixes that and
makes it behave in accordance with initscripts.
2010-11-24 17:24:28 +01:00
Jiří Klimeš
f6f8ef2f8a dns: fix a crash due to uninitialized nis_domain (novell #655685)
Reported and tested by Raymond Wooninck. Thanks!
2010-11-24 12:51:08 +01:00