Commit Graph

7207 Commits

Author SHA1 Message Date
Dan Williams
752d17cf9d wimax: more NSP property type fixes
Forgot this in the last commit.
2011-01-04 16:48:25 -06:00
Dan Williams
8c2932fc2b wimax: fix NSP property type confusion
Just make them all uints.
2011-01-04 16:45:00 -06:00
Dan Williams
a6697a16d3 wimax: remove files forgotten in last commit
The nm-wimax-manager stuff is no longer needed.
2011-01-04 09:12:12 -06:00
Dan Williams
9e80c1e85d wimax: make WiMAX mostly work
Heavily modify Inaky's Intel WiMAX SDK glue (originally from connman)
to be more generic and more thread-safe, and suitable for use with
NetworkManager instead of rolling our own client code.  Rewrite the
NMDeviceWimax code to mostly work.

Still to be done: actual connection logic, DHCP handling, spawning
wimaxd if it's not started yet
2011-01-03 23:55:38 -06:00
Dan Williams
76c7d2f95c logging: add WiMAX log domain 2011-01-02 22:16:22 -06:00
Dan Williams
c28850ed52 wimax: fix up WiMAX radio enable/disable and add polkit permission 2011-01-02 17:34:23 -06:00
Dan Williams
0587ef1179 Merge remote branch 'origin/master' into wimax 2011-01-02 17:24:23 -06:00
Dan Williams
15a9f29a14 core: handle D-Bus disconnect better on exit
We're just going to quit here anyway, so we don't need to
make sure the property filter is unregistered.  Fixes a
crash on exit if D-Bus has quit before NM has.
2011-01-02 10:49:36 -06:00
Dan Williams
81cb867e9f policy: don't update hostname on exit
It's a leftover from when /etc/hosts got fixed up, and since that
isn't being done anymore, there's no reason to touch the hostname
on exit.  It will already have been updated in response to device
deactivation (if the hostname was DHCP-provided for example) so
it shouldn't need to be touched on exit.

This also removes a potential crash on shutdown when systemd or
another startup manager kills D-Bus before NetworkManager, which
made the dispatcher code angry (which got executed on hostname
change).
2011-01-02 10:24:23 -06:00
Dan Williams
2bee736df1 modem: handle IP Method changes after modem has been created
Some modems don't know their IP method when they are created, but
will update it later.  Handle the changed signal for that.
2011-01-01 18:00:50 -06:00
Dan Williams
136139f699 policy: only autoactivate connections visible to some user
If the connection is restricted to certain users, don't auto-activate
that connection unless at least one of those users is logged in.
2010-12-23 08:14:18 -06:00
Dan Williams
f7e27ea239 settings: allow settings service to return partial secrets
This allows the admin to define generic secrets for all users the
connection is visible to, but allows user-specific secrets as well.
2010-12-22 15:12:12 -06:00
Dan Williams
08ba12929d dhclient: add testcase for multiline 'also require' statements 2010-12-19 12:10:57 -06:00
Dan Williams
e079f25a2b dhclient: explicitly request WPAD option (bgo #368423) 2010-12-17 23:09:20 -06:00
Dan Williams
297e3c6463 dhclient: split out dhclient config merging and add testcases 2010-12-17 23:09:20 -06:00
Dan Williams
39eed50e47 policy: stop touching /etc/hosts
Handling of /etc/hosts is highly site- and admin- specific in
many more complex cases, and it's exceedingly hard and error-
prone for NetworkManager to handle all those cases.  So remove
this functionality entirely.  That's not a big loss, as it
turns out there's a much more elegant solution.

The only requirement is that the machine's hostname map back
to an IP address owned by the machine.  That requirement can
be satisifed by nss-myhostname or even possibly the distro's
installer.  If the user does not want nss-myhostname then it
can be uninstalled.  Distros should use a "recommends" feature
in their packaging system so that the NetworkManager package
does *not* have a hard requirement on nss-myhostname.  Thus
everyone is happy; things Just Work when nss-myhostname is
installed, but more advanced users can uninstall it and
customize /etc/hosts as they wish.

Another alternative is a dispatcher script that listents for
the 'hostname' event, and updates /etc/hosts according to the
administrator's preference.
2010-12-17 09:28:49 -06:00
Dan Williams
6f37a967eb dns: direct IPv4 reverse DNS queries to split DNS servers
When split DNS is used for a local caching nameserver, make sure
that reverse DNS queries for hosts within the VPN tunnel are directed
to the VPN's nameservers, not to the public upstream nameservers.
2010-12-16 17:49:22 -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
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
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
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
85fa487a48 tests: fix missing Makefile dep 2010-12-14 10:51:00 -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
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
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
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
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
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š
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
Dan Williams
4b37101ef4 core: suppress error message when user settings service is not active
Don't bother trying to initialize the user settings proxy when it
isn't even active.  Would trigger a warning to syslog if PolicyKit
permissions changed via changes to /usr/share/polkit-1/actions/.
2010-11-23 22:17:21 -06:00
Dan Williams
608783c5b7 core: handle device removal when properties are unreadable
By the time we get the udev device removal notification we may not
be able to read properties, since the device has already been
removed from sysfs.  That means we can't get the ifindex, so we need
to fall back to the interface name.  But we always want to prefer
the ifindex since that will never change as long as the device is
connected, unlike the interface name.
2010-11-23 13:11:44 -06:00