diff options
author | Thomas Haller <thaller@redhat.com> | 2016-10-04 16:32:09 +0200 |
---|---|---|
committer | Thomas Haller <thaller@redhat.com> | 2016-10-05 14:46:18 +0200 |
commit | 29b576bd70bf169e20ca4e6d2b05075957876de9 (patch) | |
tree | f4577739282d63de9b2c51b8335febc3430ea987 | |
parent | a93fee0844dacb38901087c239f9ca9604d82921 (diff) | |
download | NetworkManager-29b576bd70bf169e20ca4e6d2b05075957876de9.tar.gz |
proxy: cleanup handling of proxy-method
The numeric value of NM_SETTING_PROXY_METHOD_NONE should be zero,
as that is the more natural default.
Also, cast all uses of the enum values in g_object_set() to
(int).
-rw-r--r-- | clients/cli/devices.c | 2 | ||||
-rw-r--r-- | clients/cli/settings.c | 8 | ||||
-rw-r--r-- | libnm-core/nm-setting-proxy.c | 19 | ||||
-rw-r--r-- | libnm-core/nm-setting-proxy.h | 8 | ||||
-rw-r--r-- | src/settings/plugins/ifcfg-rh/reader.c | 5 | ||||
-rw-r--r-- | src/settings/plugins/ifcfg-rh/writer.c | 2 |
6 files changed, 27 insertions, 17 deletions
diff --git a/clients/cli/devices.c b/clients/cli/devices.c index 5409452f36..f9d0f4ef4b 100644 --- a/clients/cli/devices.c +++ b/clients/cli/devices.c @@ -3482,7 +3482,7 @@ do_device_wifi_hotspot (NmCli *nmc, int argc, char **argv) s_proxy = (NMSettingProxy *) nm_setting_proxy_new (); nm_connection_add_setting (connection, NM_SETTING (s_proxy)); - g_object_set (s_proxy, NM_SETTING_PROXY_METHOD, NM_SETTING_PROXY_METHOD_NONE, NULL); + g_object_set (s_proxy, NM_SETTING_PROXY_METHOD, (int) NM_SETTING_PROXY_METHOD_NONE, NULL); /* Activate the connection now */ nmc->nowait_flag = (nmc->timeout == 0); diff --git a/clients/cli/settings.c b/clients/cli/settings.c index dd777b2b2b..9491b7f33f 100644 --- a/clients/cli/settings.c +++ b/clients/cli/settings.c @@ -2133,18 +2133,18 @@ static gboolean nmc_property_proxy_set_method (NMSetting *setting, const char *prop, const char *val, GError **error) { - NMSettingProxyMethod method; + int method; gboolean ret; ret = nm_utils_enum_from_str (nm_setting_proxy_method_get_type(), val, - (int *) &method, NULL); + &method, NULL); if (!ret) { gs_free const char **values = NULL; gs_free char *values_str = NULL; values = nm_utils_enum_get_values (nm_setting_proxy_method_get_type (), - NM_SETTING_PROXY_METHOD_AUTO, + NM_SETTING_PROXY_METHOD_NONE, G_MAXINT); values_str = g_strjoinv (",", (char **) values); g_set_error (error, 1, 0, _("invalid method '%s', use one of %s"), @@ -2559,7 +2559,7 @@ nmc_setting_custom_init (NMSetting *setting) NULL); } else if (NM_IS_SETTING_PROXY (setting)) { g_object_set (NM_SETTING_PROXY (setting), - NM_SETTING_PROXY_METHOD, NM_SETTING_PROXY_METHOD_NONE, + NM_SETTING_PROXY_METHOD, (int) NM_SETTING_PROXY_METHOD_NONE, NULL); } else if (NM_IS_SETTING_TUN (setting)) { g_object_set (NM_SETTING_TUN (setting), diff --git a/libnm-core/nm-setting-proxy.c b/libnm-core/nm-setting-proxy.c index 1cfd7cd491..2e4dca1e65 100644 --- a/libnm-core/nm-setting-proxy.c +++ b/libnm-core/nm-setting-proxy.c @@ -153,7 +153,19 @@ verify (NMSetting *setting, NMConnection *connection, GError **error) NMSettingProxyMethod method; method = priv->method; - if (method == NM_SETTING_PROXY_METHOD_NONE) { + + if (!NM_IN_SET (method, + NM_SETTING_PROXY_METHOD_NONE, + NM_SETTING_PROXY_METHOD_AUTO)) { + g_set_error (error, + NM_CONNECTION_ERROR, + NM_CONNECTION_ERROR_INVALID_PROPERTY, + _("invalid proxy method")); + g_prefix_error (error, "%s.%s: ", NM_SETTING_PROXY_SETTING_NAME, NM_SETTING_PROXY_PAC_URL); + return FALSE; + } + + if (method != NM_SETTING_PROXY_METHOD_AUTO) { if (priv->pac_url) { g_set_error (error, NM_CONNECTION_ERROR, @@ -188,9 +200,6 @@ verify (NMSetting *setting, NMConnection *connection, GError **error) static void nm_setting_proxy_init (NMSettingProxy *setting) { - NMSettingProxyPrivate *priv = NM_SETTING_PROXY_GET_PRIVATE (setting); - - priv->method = NM_SETTING_PROXY_METHOD_NONE; } static void @@ -207,7 +216,7 @@ finalize (GObject *object) static void get_property (GObject *object, guint prop_id, - GValue *value, GParamSpec *pspec) + GValue *value, GParamSpec *pspec) { NMSettingProxy *setting = NM_SETTING_PROXY (object); diff --git a/libnm-core/nm-setting-proxy.h b/libnm-core/nm-setting-proxy.h index c51359fb22..2009dfab98 100644 --- a/libnm-core/nm-setting-proxy.h +++ b/libnm-core/nm-setting-proxy.h @@ -32,16 +32,16 @@ G_BEGIN_DECLS /** * NMSettingProxyMethod: - * @NM_SETTING_PROXY_METHOD_AUTO: DHCP obtained Proxy/ Manual override - * @NM_SETTING_PROXY_METHOD_NONE: No Proxy for the Connection + * @NM_SETTING_PROXY_METHOD_NONE: No Proxy for the Connection + * @NM_SETTING_PROXY_METHOD_AUTO: DHCP obtained Proxy/ Manual override * * The Proxy method. * * Since: 1.6 */ typedef enum { - NM_SETTING_PROXY_METHOD_AUTO = 0, - NM_SETTING_PROXY_METHOD_NONE + NM_SETTING_PROXY_METHOD_NONE = 0, + NM_SETTING_PROXY_METHOD_AUTO = 1, } NMSettingProxyMethod; #define NM_TYPE_SETTING_PROXY (nm_setting_proxy_get_type ()) diff --git a/src/settings/plugins/ifcfg-rh/reader.c b/src/settings/plugins/ifcfg-rh/reader.c index bf15d32d29..dd7ea3cefa 100644 --- a/src/settings/plugins/ifcfg-rh/reader.c +++ b/src/settings/plugins/ifcfg-rh/reader.c @@ -922,7 +922,7 @@ make_proxy_setting (shvarFile *ifcfg, GError **error) switch (method) { case NM_SETTING_PROXY_METHOD_AUTO: g_object_set (s_proxy, - NM_SETTING_PROXY_METHOD, NM_SETTING_PROXY_METHOD_AUTO, + NM_SETTING_PROXY_METHOD, (int) NM_SETTING_PROXY_METHOD_AUTO, NULL); value = svGetValue (ifcfg, "PAC_URL", FALSE); @@ -942,8 +942,9 @@ make_proxy_setting (shvarFile *ifcfg, GError **error) break; case NM_SETTING_PROXY_METHOD_NONE: g_object_set (s_proxy, - NM_SETTING_PROXY_METHOD, NM_SETTING_PROXY_METHOD_NONE, + NM_SETTING_PROXY_METHOD, (int) NM_SETTING_PROXY_METHOD_NONE, NULL); + break; } value = svGetValue (ifcfg, "BROWSER_ONLY", FALSE); diff --git a/src/settings/plugins/ifcfg-rh/writer.c b/src/settings/plugins/ifcfg-rh/writer.c index 383337c77f..8dc4cbe2af 100644 --- a/src/settings/plugins/ifcfg-rh/writer.c +++ b/src/settings/plugins/ifcfg-rh/writer.c @@ -2030,7 +2030,7 @@ write_proxy_setting (NMConnection *connection, shvarFile *ifcfg, GError **error) break; case NM_SETTING_PROXY_METHOD_NONE: svSetValue (ifcfg, "PROXY_METHOD", "none", FALSE); - /* Write nothing more */ + break; } browser_only = nm_setting_proxy_get_browser_only (s_proxy); |