Commit graph

555 commits

Author SHA1 Message Date
Dan Williams
b3ca1e56c1 Merge remote-tracking branch 'origin/agent-secrets' 2011-08-23 09:34:55 -05:00
Dan Williams
2a5617c22b docs: update documentation for nm_utils_security_valid() 2011-08-22 20:33:07 -05:00
Dan Williams
a8eaa4a3ea docs: fix a wrong variable name in code documentation 2011-08-22 20:33:07 -05:00
Dan Williams
e3cc3366b2 docs: fix a prototype causing doc generation warnings 2011-08-22 20:33:07 -05:00
Evan Broder
4f38f02add settings: add 802.1X setting properties for subject and altsubject matches
Includes subject_match and phase2_subject_match (string) parameters,
and altsubject_matches and phase2_altsubject_matches (list of string)
parameters.

subject_match is matched against a substring of the subject from the
certificate presented by the remote authentication server. If this
option is unset, no subject verification is performed.

altsubject_matches are each tested against the alternate subject name
(altSubjectName) of the certificate presented by the remote
authentication server. If this option is unset, no verification of the
altSubjectName is performed.
2011-08-19 18:20:41 -05:00
Dan Williams
2b2404bbef settings: preserve agent secrets the right way
What we want to do here is keep separate caches of system and
agent secrets.  For system secrets, we cache them because NM
periodically clears secrets using nm_connection_clear_secrets() to
ensure they don't stay around in memory, and that transient secrets
get requested again when they are needed.  For agent secrets, we
only want them during activation, but a connection read from disk
will not include agent secrets becuase by definition they aren't
stored in system settings along with the connection.  Thus we need
to keep the agent/transient secrets somewhere for the duration of
the activation to ensure they don't get deleted.

This removes the copy-back hack in update_auth_cb() which copied
agent/transient secrets back into the connection over top of the
transient secrets that had been copied back in
nm_settings_connection_replace_settings().  No reason to copy
them twice if we keep an agent/transient secrets hash and do
the right thing with it.
2011-08-16 16:19:23 -05:00
Dan Williams
e2d88f59e6 settings: preserve agent secrets over Update operation
The core problem was that the Update would trigger a write to
disk to save the connection's new settings, which called
nm_settings_connection_replace_settings().  Which saved existing
transient (agent/unsaved) secrets, replaced settings with the
new ones from Update(), then copied back the old transient
secrets.  This was to ensure that changes triggered from getting
agent secrets during activation (which might write the connection
out to disk if new system secrets were provided, which triggered
an inotify read-back of the connection, which blew away the
transient secrets just returned from the agent) didn't blow away
transient secrets.  Unfortunately that fix was too general.

As a quick hack for now, copy the new secrets and re-apply them
after nm_connection_replace_settings() has run.  We'll do the
actual fix later, but it's more involved and needs more testing
so we don't want to apply it this close to release.
2011-08-16 15:48:38 -05:00
Dan Williams
0cb27772f3 docs: update VPN setting 'user-name' property documentation
Lamarque wanted clarification about how it's supposed to be used.
2011-08-12 10:23:25 -05:00
Mathieu Trudel-Lapierre
36db194ae9 libnm-util: default to allowing IPv6 connections to fail
Allow IPv6 connections to fail by changing the default value of the may-fail
property for ipv6 settings to TRUE.

This makes sure connections created manually using nm-connection-editor
will default to having the "Require ..." checkbox unchecked; in other words,
IPv6 timing out will still allow the interface to be configured if
IPv4 succeeds.
2011-07-20 23:56:48 -05:00
Dan Williams
5fb8efbb19 docs: another trivial doc fix 2011-07-19 12:27:44 -05:00
Dan Williams
809e791f02 docs: trivial doc fix 2011-07-19 12:22:08 -05:00
Dan Williams
50df7397a5 docs: document the VPN setting 2011-07-19 12:06:47 -05:00
Dan Williams
2a020de944 docs: document PPP setting 2011-07-19 11:34:11 -05:00
Dan Williams
86854167d6 libnm-util: add some missing GObject introspection annotations 2011-07-19 11:14:01 -05:00
Dan Williams
2c401887aa docs: document the PPPoE setting 2011-07-19 11:08:38 -05:00
Dan Williams
d45e9cb062 libnm-util: rename symbol to fix export check
The export check looks for symbols that begin with "nm_" (except
for GObject class stuff) which indicate that the symbol should be
exported.  If the symbols is 'l' (local) as reported by objdump
that probably means we forgot to add it to the .ver file and it
really should be exported.  nm_gvalue_dup() shouldn't be exported
though, so rename it such that it's obviously internal.
2011-07-19 09:56:46 -05:00
Dan Williams
664204e56c docs: document the IP6Config setting 2011-07-05 19:27:46 -05:00
Dan Williams
39b2d78ee3 libnm-util: enforce IPv4 prefix range validity
Prefixes are between 1 and 32 inclusive so we might as well
enforce that.
2011-07-05 19:26:57 -05:00
Dan Williams
24855b02ec libnm-util: fix up another GObject introspection annotation 2011-07-05 18:23:37 -05:00
Dan Williams
55f55781a8 docs: update Serial setting documentation 2011-07-05 18:17:08 -05:00
Dan Williams
2de340ab7a docs: fix some Wireless Security setting documentation 2011-07-05 18:13:51 -05:00
Dan Williams
223532c385 docs: update CDMA setting documentation 2011-07-05 18:11:35 -05:00
Dan Williams
af1b556ee1 docs: update Wireless Security setting documentation 2011-07-05 18:09:14 -05:00
Dan Williams
ea3f60add4 libnm-util: fix up some GObject introspection annotations 2011-07-05 17:34:48 -05:00
Dan Williams
d0187fbbc6 docs: update Wireless setting documentation 2011-07-05 17:09:00 -05:00
Dan Williams
853b6f117f docs: update Wired setting documentation 2011-07-05 16:54:07 -05:00
Dan Williams
05336474d7 docs: document the IP4Config setting 2011-07-05 15:25:08 -05:00
Dan Williams
bf1d93153c docs: update Setting object documentation 2011-07-05 14:26:52 -05:00
Dan Williams
2da074db78 docs: update GSM setting documentation 2011-07-05 14:19:54 -05:00
Dan Williams
7568b78ce1 docs: document Bluetooth setting more fully 2011-07-05 14:18:55 -05:00
Dan Williams
8f48bc92e9 libnm-util: more 802.1x setting documentation updates 2011-07-02 15:47:15 -05:00
Dan Williams
479bd2b12e libnm-util: update 802.1x setting documentation 2011-07-02 15:38:41 -05:00
Dan Williams
2943453bf8 libnm-util: update WiMAX setting documentation 2011-07-02 15:38:27 -05:00
Jiří Klimeš
a6733c8b4f core: add MAC address blacklisting feature for WiFi and ethernet connections
"mac-address-blacklist" property is added to the ethernet and WiFi connections.
It is the MAC addresses list of devices on which the connection won't be
activated.

Original patch (NM_0_8 branch) from Thomas Bechtold <thomasbechtold@jpberlin.de>
2011-06-30 16:46:26 +02:00
Jiří Klimeš
c32914fa3b libnm-util: remove unused D-Bus dbus_g_bus_get() call from test-secrets.c 2011-06-14 16:22:09 +02:00
Jiří Klimeš
80df1e3aca libnm-util: remove unused D-Bus dbus_g_bus_get() call from test-secrets.c 2011-06-14 16:17:05 +02:00
Jiří Klimeš
31f8b65931 libnm-util: remove unused D-Bus dbus_g_bus_get() call from test-setting-8021x.c 2011-06-14 16:14:40 +02:00
Jiří Klimeš
28b5809cbe libnm-util: remove unused D-Bus dbus_g_bus_get() call from test-settings-defaults.c 2011-06-14 16:10:40 +02:00
Aleksander Morgado
33e6997599 libnm-util: added missing U2600 GSM band enumeration 2011-06-13 10:38:32 -05:00
Dan Williams
864db9f9e8 libnm-util: add new compare flags for ignoring various types of secrets
It turns out we need a way to ignore transient (agent-owned or unsaved)
secrets during connection comparison.  For example, if the user is
connecting to a network where the password is not saved, other
changes could trigger a writeout of that connection to disk when
connecting, which would the connection back in due to inotify, and the
re-read connection would then no longer be recognized as the same as
the in-memory connection due to the transient secret which obviously
wasn't read in from disk.

Adding these compare flags allows the code to not bother writing the
connection out to disk when the only difference between the on-disk
and in-memory connections are secrets that shouldn't get written to
disk anyway.
2011-06-07 18:22:48 -05:00
Jiří Klimeš
a70d87d84e trivial: put all prototypes inside G_BEGIN_DECLS and G_END_DECLS 2011-05-31 14:06:13 +02:00
Dan Williams
78ce088843 libnm-util: remove some left-over debugging code 2011-05-26 22:19:35 -05:00
Dan Williams
ef71c5cca1 libnm-util: make VPN secret and data iterators change-safe
Let callbacks add/remove data items and secrets during iteration.
2011-05-20 18:58:35 -05:00
Dan Williams
487cd8a301 libnm-util: fix possible crash passing in NULL secret flags 2011-05-18 17:47:03 -05:00
Dan Williams
7b41be489c libnm-util: allow _ as a valid character for GSM APNs
The ETSI specs state that valid characters are only ASCII alphanumeric
characters, but then state that APNs should generally follow DNS
naming rules.  Well, that means a lot more characters are allowed,
but modems don't like many of them.  So let's slowly allow more
characters as people find ones that actually are used.  The restriction
was originally put in place to disallow spaces, because they
certainly aren't allowed APN characters and modems and the
network puke when they see spaces.
2011-05-17 10:49:44 -05:00
Dan Williams
5deb993ff6 libnm-util: recognize PKCS#8 private keys and check passwords (bgo #649326)
Neither gnutls nor NSS fully support PKCS#8 so we don't have complete
support here, but at least recognize the keys and make an attempt to
check the private key if we can.
2011-05-13 14:22:06 -05:00
Dan Williams
9ff4914ccc libnm-util: fix some GObject Introspection annotations
Unfortunately, GObject Introspection can no longer describe deeper
types, like those inside nested hash tables, which NM uses extensively
for the NMConnection type and other places.  So we have to remove
those descriptions.  But this moves us back into compliance with
GOI annotation formats.
2011-05-10 13:24:07 -05:00
Dan Williams
ab56b8e925 libnm-util: clarify certificate and key argument names
Clarify that these are supposed to be paths in the argument name;
this shouldn't break API as it's just an argument rename.  Helps
users figure out what the argument should be without as much trouble
as 'value', which is what it was before.
2011-05-10 12:44:01 -05:00
Dan Williams
4ae83f2d93 libnm-util: remove unused #include 2011-05-09 13:34:21 -05:00
Dan Williams
07c9de48df libnm-util: fix symbol export checks to catch un-exported ones too
The current check caught stuff in the .ver file that was outdated, but
didn't quite get stuff that was supposed to be exported but wasn't,
in some cases.  Update the regex to ensure that symbols that are
not exported, but that start with "nm_" (and aren't GObject
boilerplate) get flagged during the check.

Update internal code to return to a previous pattern of treating symbols
that start with "_" internal, and expecting symbols that start with
"nm_" to be exported.

Also fixes cases where random glibc symbols would get flagged:

00040ff4 l     O *ABS*  00000000              .hidden _GLOBAL_OFFSET_TABLE_
00041380 l     O .data  00000000              .hidden __dso_handle
000406e8 l     O .dtors 00000000              .hidden __DTOR_END__
0000fbe4 l     F .text  00000000              .hidden __i686.get_pc_thunk.cx
0002f980 l     F .text  00000014              .hidden __stack_chk_fail_local
0000b1e7 l     F .text  00000000              .hidden __i686.get_pc_thunk.bx
00040e60 l     O *ABS*  00000000              .hidden _DYNAMIC
2011-05-05 12:26:17 -05:00