Commit graph

5415 commits

Author SHA1 Message Date
Dan Williams
5a14d17792 libnm-util: remove 802.1x PSK functions and defines
There was never a property for it anyway, so it never got serialized
across D-Bus, because it was folded into the "password" property in
wpa_supplicant between 0.5 and 0.6.
2011-01-28 13:48:54 -06:00
Dan Williams
d2329ef5f7 libnm-util: remove deprecated 802.1x cert blob functions 2011-01-27 18:45:21 -06:00
Dan Williams
89fcc757a4 libnm-util: remove deprecated GSM bits 2011-01-27 18:38:45 -06:00
Dan Williams
0e6a5365d4 core: move secrets handling to NMSettingsConnection
It's the thing that owns the secrets anyway, and it simplifies things to
have the secrets handling there instead of half in NMActRequest and
half in NMManager.  It also means we can get rid of the ugly signals
that NMSettingsConnection had to emit to get agent's secrets, and
we can consolidate the requests for the persistent secrets that the
NMSettingsConnection owned into NMSettingsConnection itself instead
of also in NMAgentManager.

Since the NMActRequest and the NMVPNConnection classes already tracked
the underlying NMSettingsConnection representing the activation, its
trivial to just have them ask the NMSettingsConnection for secrets
instead of talking to the NMAgentManager.  Thus, only the
NMSettingsConnection now has to know about the agent manager, and it
presents a cleaner interface to other objects further up the chain,
instead of having bits of the secrets request splattered around the
activation request, the VPN connection, the NMManager, etc.
2011-01-27 10:41:02 -06:00
Dan Williams
37a9303c2e libnm-util: fix hashing connections and settings
The first-level hash table key should be the setting name itself,
not the GType name of the setting's GObject.  There's probably a
better way to do this to reduce that confusion.
2011-01-27 10:37:01 -06:00
Dan Williams
4427774d57 agents: filter agents by UID for user-requested connections
When a user makes an explicit request for secrets via GetSecrets
or activates a device, don't ask other users' agents for secrets.
Restrict secrets request to agents owned by the user that made the
initial activate or GetSecrets request.

Automatic activations still request secrets from any available agent.
2011-01-26 18:36:08 -06:00
Dan Williams
68812f61d9 settings: request secrets from agents when clients call GetSecrets
A client calling GetSecrets on the connection should also request
secrets from agents in that client's session.  ie, a connection
editor should be able to call GetSecrets, and get the secrets
stored by the agent in that session (the applet).
2011-01-26 17:13:15 -06:00
Dan Williams
75af6105b7 settings: update signal prototypes
No functional change, but makes the internal API clearer.
2011-01-26 15:24:41 -06:00
Dan Williams
e68e27aa75 libnm-util: add 'flags' argument to nm_connection_to_hash() and nm_setting_to_hash()
Simplifies code internally, and makes it easier for clients as well in
some cases where they want to control what ends up in the resulting
hash and what does not.
2011-01-26 14:14:37 -06:00
Dan Williams
6fc469d74a agent: pass setting name back in secrets callback 2011-01-26 13:32:25 -06:00
Dan Williams
b3959aefa3 core: rename NMSysconfigConnection -> NMSettingsConnection 2011-01-26 11:38:12 -06:00
Dan Williams
b92e3cca6e build: fix distcheck with gobject introspection enabled 2011-01-26 11:26:08 -06:00
Dan Williams
d1979ba63e secrets: simplify GetSecrets call flow
The Settings.Connection interface is now only provided by NetworkManager
itself since there is only one settings service.  NM can validate
requests for secrets internally and thus there's no need to lock down
GetSecrets using a separate D-Bus interface, since PolicyKit provides
that functionality on systems where this is desirable (ie multi-user).
Single-user systems that do not have PolicyKit will inherently trust
the user already, or if not D-Bus auth is flexible enough to lock
down the GetSecrets method individually even if it's not on a separate
D-Bus interface.

Second, since only clients like connection editors or applets will be
calling the GetSecrets method, there's no need for 'hints' or
'request_new' arguments here since this  method should never trigger
an interactive secrets request.  Only NM should send those requests
when it knows it needs to ask the user, either during connection or
after validating the incoming GetSecrets request.  A connection editor
type application should never be able to trigger the normal
"What's your passphrase" dialog thats provided by the secret agent
for that user's session.
2011-01-26 10:17:07 -06:00
Dan Williams
4b6a86d748 dbus: remove obsolete interfaces from permissions 2011-01-26 09:58:22 -06:00
Dan Williams
9806a92eaa trivial: fix some possible uninitialized variable usage in error cases 2011-01-25 15:41:14 -06:00
Dan Williams
b7259fd2a8 Merge remote branch 'origin/master' into rm-userset 2011-01-25 15:41:03 -06:00
Dan Williams
bc6fc7b910 vpn: fix VPN active connection D-Bus API handling (bgo #569294)
Due to limitations in dbus-glib, where one GObject cannot have more
than one introspection XML object attached to it, we used to include
more than one <interface> in the VPNConnection object introspection
XML.  This was suboptimal for two reasons:

1) it duplicated the Connection.Active introspection XML which
made it harder for clients to use the introspection data in a
dynamic fashion, besides looking ugly in the docs

2) not many other programs use this feature of dbus-glib, which
means it didn't get a lot of testing, and broke, which sucks
for NM.

To fix this issue, create a base class for NMVpnConnection that
handles the Connection.Active API, and make NMVpnConnection itself
handle just the VPN pieces that it layers on top.  This  makes
dbus-glib happy because we aren't using two <interface> blocks
in the same introspection XML, and it makes the NM code more
robust because we can re-use the existing Connection.Active
introspection XML in the NMVpnConnectionBase class.
2011-01-25 12:41:03 -06:00
Dan Williams
d884aadc3d doc: fix distcheck by cleaning generated files
Today, for some reason, the generated files are no longer cleaned up
or ignored during distcheck, so clean them up ourselves.  Not sure what
changed.
2011-01-25 12:40:18 -06:00
Dan Williams
398993e2f4 build: turn off set-but-not-used variable warnings in new GCC 2011-01-24 15:57:33 -06:00
Dan Williams
1e3a6c1311 ifcfg-rh: fix possible uninitialized variable usage 2011-01-24 15:55:10 -06:00
Dan Williams
a74189fd04 ifcfg-rh: fix possible uninitialized variable usage 2011-01-24 15:48:35 -06:00
Joan Duran
60ef505a70 po: update Catalan translation (bgo #640350) 2011-01-24 16:47:39 +01:00
Giovanni Campagna
3ebecd2a29 introspection: add GObject introspection support (bgo #637032)
Add the necessary annotations (the mininum required, that is those
on return values. NULL parameters or container types may require
more), and the Autotools stuff to get a NetworkManager GIR for
libnm-util and a NMClient for libnm-glib.
2011-01-21 14:46:09 -06:00
Giovanni Campagna
9067356856 core: fix policy handling of connections-loaded signal 2011-01-21 14:20:38 -06:00
Giovanni Campagna
c6bfe8edb6 libnm-glib: update symbol visibility list 2011-01-21 14:15:38 -06:00
Jiří Klimeš
36afce10a4 cli: add support for WWAN connections for 'nmcli con up' (bgo #640020) 2011-01-20 16:45:12 +01:00
Dan Williams
5dd4f1ea01 libnm-util: fix possible crash in nm_setting_update_secrets()
If a pointer to a valid GError was not passed the function could
crash.  Make it simpler and fix the possible crash by just converting
to hash table iters instead.
2011-01-19 18:17:40 -06:00
Dan Williams
ec55e32ee6 agent: pass the right call-id in the secrets callback 2011-01-19 17:17:41 -06:00
Dan Williams
8ff556be3c agent: fix current agent removal if agent goes away
The current agent isn't in the 'pending' list, so don't check
the list for the agent and bail if it's not found since that
won't handle the current agent going away.
2011-01-19 17:16:21 -06:00
Dan Williams
7ddf9c5e72 libnm-glib: implement NMSecretAgent autoregistration
Handles registering with NM and re-registering if NM restarts.
2011-01-19 16:59:01 -06:00
Dan Williams
85409427be agent: add some debug logging 2011-01-19 16:58:26 -06:00
Dan Williams
223c00fdee core: don't require connection path for AddAndActivate
There is no path yet since we haven't added the connection yet.
2011-01-18 20:40:58 -06:00
Dan Williams
c804909f83 wired: clear wired secrets tries counter when appropriate
If NM asks for secrets, and then a client calls ActivateDevice on
that same connection, the secrets tries counter doesn't get reset
and NM then thinks we need completely new secrets when we really
don't since the old secrets request isn't valid anymore.

Also ensure the secrets tries gets reset on success and failure
to match behavior of wifi.
2011-01-18 18:35:35 -06:00
Dan Williams
9f7f02b3b8 wifi: clear wireless secrets tries counter when deactivating
If NM asks for secrets, and then a client calls ActivateDevice on
that same connection, the secrets tries counter doesn't get reset
and NM then thinks we need completely new secrets when we really
don't since the old secrets request isn't valid anymore.

Found by Evan Broder
2011-01-18 18:29:56 -06:00
Dan Williams
68ab26143b core: use GetSecrets flags everywhere 2011-01-18 14:57:44 -06:00
Dan Williams
9cf13cc3e1 agent: request_new -> flags
Use some flags to modify GetSecrets behavior instead of just the
request_new boolean.
2011-01-18 14:17:18 -06:00
Dan Williams
519b1ea61d keyfile: namespace commonly-named functions (bgo #639537)
Now that keyfile is built in, we may have symbol naming conflicts
with the other plugins where code was copied & pasted around.  Fix
that by namespacing common function names in the keyfile plugin.

Thanks to Giovanni Campagna for pinpointing the issue.
2011-01-18 13:22:00 -06:00
Dan Williams
cc88e4e51c trivial: fix a few small issues in the NMSecretAgent class 2011-01-18 13:21:02 -06:00
Dan Williams
30c7308e9d libnm-glib: implement agent secrets request cancelation 2011-01-18 13:20:34 -06:00
Dan Williams
a2f36e8bd4 agent: add CancelGetSecrets D-Bus API
Allows NM to signal to an agent that an in-progress secrets
request is no longer needed.  This could happen if the device
for which the request was started was removed, disabled, or the
network being connected to changed, or whatever.
2011-01-18 13:19:29 -06:00
Alexander Shopov
d53da82ab0 po: update Bulgarian translation (bgo #639780) 2011-01-18 12:35:46 +01:00
Dan Williams
7fa1a62cd3 libnm-glib: don't crash when adding new connections that aren't waited upon
If we're not waiting for this connection to show up after an
AddConnection operation, we don't need to touch anything
addinfo-related.
2011-01-17 23:19:25 -06:00
Dan Williams
e041fabcfd ifcfg-rh: don't try to parse non-ifcfg files at startup 2011-01-17 23:12:24 -06:00
Dan Williams
3e8547ff1b ifcfg-rh: fix crash on ignored file change
Don't crash when a file we don't care about changes.
2011-01-17 23:11:51 -06:00
Dan Williams
1187922adf core: lack of an IPv4 setting indicates DHCP (novell #664640)
It shouldn't assert.
2011-01-14 14:02:02 -06:00
Dan Williams
bb35e0a9e2 libnm-glib: make a few forgotten functions visible
Oops.
2011-01-13 17:29:54 -06:00
Dan Williams
61cc2494ad libnm-glib: add helper functions and callbacks to Secret Agent API
First, remove anything dbus-glib related from the public API and use
callbacks to handle returning secrets requested by D-Bus.  Second,
add helper functions so local code can use the same API to request
secrets.
2011-01-13 14:18:29 -06:00
Dan Williams
24915553fd libnm-glib: keep symbol visibility list alphabetized 2011-01-13 14:18:03 -06:00
Dan Williams
acd16ceeed api: fix argument direction for SecretAgent API calls 2011-01-13 14:08:36 -06:00
Dan Williams
7779a3f151 libnm-glib: add NM_SECRET_AGENT_ERROR_NO_SECRETS 2011-01-13 13:43:26 -06:00