From a093792cd0a3153e174386ebead6cd982db52a9b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ji=C5=99=C3=AD=20Klime=C5=A1?= Date: Thu, 26 Aug 2010 16:11:59 +0200 Subject: [PATCH 01/14] man: add "EXIT STATUS" section to nmcli man page --- man/nmcli.1.in | 20 +++++++++++++++++++- 1 file changed, 19 insertions(+), 1 deletion(-) diff --git a/man/nmcli.1.in b/man/nmcli.1.in index 056b5bdd40..260d076516 100644 --- a/man/nmcli.1.in +++ b/man/nmcli.1.in @@ -22,7 +22,7 @@ .\" .\" Copyright (C) 2010 Red Hat, Inc. .\" -.TH NMCLI "1" "14 April 2010" +.TH NMCLI "1" "26 August 2010" .SH NAME nmcli \- command-line tool for controlling NetworkManager @@ -312,10 +312,28 @@ No simple reference. .fi .RE +.SH EXIT STATUS +\fInmcli\fP exits with status 0 if it succeeds, a value greater than 0 is returned if errors occur. +.IP "0" 4 +Success - indicates the operation succeeded +.IP "1" 4 +Unknown or unspecified error +.IP "2" 4 +Invalid user input, wrong \fInmcli\fP invocation +.IP "3" 4 +Timeout expired (see commands with \fI\-\-timeout\fP option) +.IP "4" 4 +Connection activation failed +.IP "5" 4 +Connection deactivation failed +.IP "6" 4 +Disconnecting device failed + .SH BUGS There are probably some. If you find a bug, please report to https://bugzilla.gnome.org/ \- product \fINetworkManager\fP. .SH SEE ALSO .BR nm\-tool (1), +.BR nm\-online (1), .BR NetworkManager(8). From 9b54cb1ec617ea8bff86d6d74c06cef5a51e26c9 Mon Sep 17 00:00:00 2001 From: Patrik Martinsson Date: Thu, 26 Aug 2010 17:39:44 -0500 Subject: [PATCH 02/14] dispatcher: add dhcp4-change and dhcp6-change events (bgo #563654) New dispatcher events on DHCP lease changes. --- man/NetworkManager.8.in | 4 ++++ src/nm-device.c | 2 ++ 2 files changed, 6 insertions(+) diff --git a/man/NetworkManager.8.in b/man/NetworkManager.8.in index a6be073170..4f700e9a38 100644 --- a/man/NetworkManager.8.in +++ b/man/NetworkManager.8.in @@ -52,6 +52,10 @@ A VPN connection has been deactivated. .TP .I "hostname" The system hostname has been updated. Use gethostname(2) to retrieve it. +.I "dhcp4\-change" +The DHCPv4 lease has changed (renewed, rebound, etc). +.I "dhcp6\-change" +The DHCPv6 lease has changed (renewed, rebound, etc). .SH OPTIONS The following options are supported: .TP diff --git a/src/nm-device.c b/src/nm-device.c index d7c57fced2..9e8ccdf296 100644 --- a/src/nm-device.c +++ b/src/nm-device.c @@ -1344,6 +1344,7 @@ handle_dhcp_lease_change (NMDevice *device, gboolean ipv6) nm_dhcp_client_foreach_option (priv->dhcp6_client, dhcp6_add_option_cb, priv->dhcp6_config); + nm_utils_call_dispatcher ("dhcp6-change", connection, device, NULL); } else { nm_log_warn (LOGD_DHCP6, "(%s): failed to update IPv6 config in response to DHCP event.", nm_device_get_ip_iface (device)); @@ -1368,6 +1369,7 @@ handle_dhcp_lease_change (NMDevice *device, gboolean ipv6) nm_dhcp_client_foreach_option (priv->dhcp4_client, dhcp4_add_option_cb, priv->dhcp4_config); + nm_utils_call_dispatcher ("dhcp4-change", connection, device, NULL); } else { nm_log_warn (LOGD_DHCP6, "(%s): failed to update IPv4 config in response to DHCP event.", nm_device_get_ip_iface (device)); From a33843ac3df6abf8705fb12cc90b9505a166abfb Mon Sep 17 00:00:00 2001 From: Dan Williams Date: Tue, 31 Aug 2010 15:45:55 -0500 Subject: [PATCH 03/14] core: listen to UPower for suspend/resume signals This means you don't need pm-utils anymore, and that gnome-power-manager doesn't need to poke NM explicitly for suspend/resume operations. The old explicit sleep/wake request is still around for pm-utils or gpm to use, but NM will listen for UPower events and act on them regardless of what pm-utils or gpm do. --- src/nm-manager.c | 43 ++++++++++++++++++++++++++++++++++++++++++- 1 file changed, 42 insertions(+), 1 deletion(-) diff --git a/src/nm-manager.c b/src/nm-manager.c index 6e40cb5eeb..d4a73770a8 100644 --- a/src/nm-manager.c +++ b/src/nm-manager.c @@ -61,6 +61,8 @@ #define NM_AUTOIP_DBUS_SERVICE "org.freedesktop.nm_avahi_autoipd" #define NM_AUTOIP_DBUS_IFACE "org.freedesktop.nm_avahi_autoipd" +#define UPOWER_DBUS_SERVICE "org.freedesktop.UPower" + static gboolean impl_manager_get_devices (NMManager *manager, GPtrArray **devices, GError **err); static void impl_manager_activate_connection (NMManager *manager, const char *service_name, @@ -231,6 +233,7 @@ typedef struct { guint modem_removed_id; DBusGProxy *aipd_proxy; + DBusGProxy *upower_proxy; PolkitAuthority *authority; guint auth_changed_id; @@ -3354,6 +3357,9 @@ _internal_sleep (NMManager *self, gboolean do_sleep) { NMManagerPrivate *priv = NM_MANAGER_GET_PRIVATE (self); + if (priv->sleeping == do_sleep) + return; + nm_log_info (LOGD_SUSPEND, "%s requested (sleeping: %s enabled: %s)", do_sleep ? "sleep" : "wake", priv->sleeping ? "yes" : "no", @@ -3382,7 +3388,7 @@ sleep_auth_done_cb (NMAuthChain *chain, result = GPOINTER_TO_UINT (nm_auth_chain_get_data (chain, NM_AUTH_PERMISSION_SLEEP_WAKE)); if (error) { - nm_log_dbg (LOGD_CORE, "Sleep/wake request failed: %s", error->message); + nm_log_dbg (LOGD_SUSPEND, "Sleep/wake request failed: %s", error->message); ret_error = g_error_new (NM_MANAGER_ERROR, NM_MANAGER_ERROR_PERMISSION_DENIED, "Sleep/wake request failed: %s", @@ -3456,6 +3462,20 @@ impl_manager_sleep (NMManager *self, nm_auth_chain_add_call (chain, NM_AUTH_PERMISSION_SLEEP_WAKE, TRUE); } +static void +upower_sleeping_cb (DBusGProxy *proxy, gpointer user_data) +{ + nm_log_dbg (LOGD_SUSPEND, "Received UPower sleeping signal"); + _internal_sleep (NM_MANAGER (user_data), TRUE); +} + +static void +upower_resuming_cb (DBusGProxy *proxy, gpointer user_data) +{ + nm_log_dbg (LOGD_SUSPEND, "Received UPower resuming signal"); + _internal_sleep (NM_MANAGER (user_data), FALSE); +} + static void _internal_enable (NMManager *self, gboolean enable) { @@ -4294,6 +4314,9 @@ dispose (GObject *object) if (priv->bluez_mgr) g_object_unref (priv->bluez_mgr); + if (priv->upower_proxy) + g_object_unref (priv->upower_proxy); + if (priv->fw_monitor) { if (priv->fw_monitor_id) g_signal_handler_disconnect (priv->fw_monitor, priv->fw_monitor_id); @@ -4468,6 +4491,24 @@ nm_manager_init (NMManager *manager) } else nm_log_warn (LOGD_AUTOIP4, "could not initialize avahi-autoipd D-Bus proxy"); + /* upower sleep/wake handling */ + priv->upower_proxy = dbus_g_proxy_new_for_name (g_connection, + UPOWER_DBUS_SERVICE, + "/org/freedesktop/UPower", + "org.freedesktop.UPower"); + if (priv->upower_proxy) { + dbus_g_proxy_add_signal (priv->upower_proxy, "Sleeping", G_TYPE_INVALID); + dbus_g_proxy_connect_signal (priv->upower_proxy, "Sleeping", + G_CALLBACK (upower_sleeping_cb), + manager, NULL); + + dbus_g_proxy_add_signal (priv->upower_proxy, "Resuming", G_TYPE_INVALID); + dbus_g_proxy_connect_signal (priv->upower_proxy, "Resuming", + G_CALLBACK (upower_resuming_cb), + manager, NULL); + } else + nm_log_warn (LOGD_SUSPEND, "could not initialize UPower D-Bus proxy"); + priv->authority = polkit_authority_get_sync (NULL, &error); if (priv->authority) { priv->auth_changed_id = g_signal_connect (priv->authority, From d9c2755cfc85839ced4a8192ec5e49a3be1532c9 Mon Sep 17 00:00:00 2001 From: Dan Williams Date: Tue, 31 Aug 2010 15:47:16 -0500 Subject: [PATCH 04/14] core: clean up avahi-autiopd D-Bus proxy on exit --- src/nm-manager.c | 3 +++ 1 file changed, 3 insertions(+) diff --git a/src/nm-manager.c b/src/nm-manager.c index d4a73770a8..1e9c3c6133 100644 --- a/src/nm-manager.c +++ b/src/nm-manager.c @@ -4314,6 +4314,9 @@ dispose (GObject *object) if (priv->bluez_mgr) g_object_unref (priv->bluez_mgr); + if (priv->aipd_proxy) + g_object_unref (priv->aipd_proxy); + if (priv->upower_proxy) g_object_unref (priv->upower_proxy); From e86ef05d84749c5a15d7bcf30f78056ca205489c Mon Sep 17 00:00:00 2001 From: Dan Williams Date: Wed, 1 Sep 2010 17:08:10 -0500 Subject: [PATCH 05/14] wifi: ensure Enabled state is preserved regardless of rfkill (bgo #624479) Previously the "Enable Wireless" state was somewhat tied to rfkill state, in that when NM started up, rfkill state would take precedence over what was listed in the state file, and if you rmmodded your wifi driver and then modprobed it again after disabling wifi from the menu, wifi would magically become re-enabled becuase rfkill state changed. Fix that by creating a third wifi/wwan enable state that tracks the actual user preference instead of just the rfkill state so that when the user disables wifi it stays disabled, regardless of what happens with rfkill. --- src/nm-manager.c | 220 ++++++++++++++++++++++++++--------------------- 1 file changed, 124 insertions(+), 96 deletions(-) diff --git a/src/nm-manager.c b/src/nm-manager.c index 1e9c3c6133..abe30bf688 100644 --- a/src/nm-manager.c +++ b/src/nm-manager.c @@ -187,7 +187,8 @@ struct PendingActivation { }; typedef struct { - gboolean enabled; + gboolean user_enabled; + gboolean sw_enabled; gboolean hw_enabled; RfKillType rtype; const char *desc; @@ -1584,50 +1585,40 @@ write_value_to_state_file (const char *filename, return ret; } -static void -manager_set_radio_enabled (NMManager *manager, - RadioState *rstate, - gboolean enabled) +static gboolean +radio_enabled_for_rstate (RadioState *rstate) { - NMManagerPrivate *priv = NM_MANAGER_GET_PRIVATE (manager); + return rstate->user_enabled && rstate->sw_enabled && rstate->hw_enabled; +} + +static gboolean +radio_enabled_for_type (NMManager *self, RfKillType rtype) +{ + NMManagerPrivate *priv = NM_MANAGER_GET_PRIVATE (self); + + return radio_enabled_for_rstate (&priv->radio_states[rtype]); +} + +static void +manager_update_radio_enabled (NMManager *self, RadioState *rstate) +{ + NMManagerPrivate *priv = NM_MANAGER_GET_PRIVATE (self); GSList *iter; - GError *error = NULL; /* Do nothing for radio types not yet implemented */ if (!rstate->prop) return; - if (rstate->enabled == enabled) - return; - - /* Can't set wireless enabled if it's disabled in hardware */ - if (!rstate->hw_enabled && enabled) - return; - - rstate->enabled = enabled; - - g_object_notify (G_OBJECT (manager), rstate->prop); - - /* Update enabled key in state file */ - if (priv->state_file) { - if (!write_value_to_state_file (priv->state_file, - "main", rstate->key, - G_TYPE_BOOLEAN, (gpointer) &enabled, - &error)) { - nm_log_warn (LOGD_CORE, "writing to state file %s failed: (%d) %s.", - priv->state_file, - error ? error->code : -1, - (error && error->message) ? error->message : "unknown"); - } - } + g_object_notify (G_OBJECT (self), rstate->prop); /* Don't touch devices if asleep/networking disabled */ - if (manager_sleeping (manager)) + if (manager_sleeping (self)) return; /* enable/disable wireless devices as required */ for (iter = priv->devices; iter; iter = iter->next) { RfKillType devtype = RFKILL_TYPE_UNKNOWN; + gboolean enabled = radio_enabled_for_rstate (rstate); g_object_get (G_OBJECT (iter->data), NM_DEVICE_INTERFACE_RFKILL_TYPE, &devtype, NULL); if (devtype == rstate->rtype) { @@ -1749,6 +1740,21 @@ nm_manager_get_modem_enabled_state (NMManager *self) return wwan_state; } +static void +update_rstate_from_rfkill (RadioState *rstate, RfKillState rfkill) +{ + if (rfkill == RFKILL_UNBLOCKED) { + rstate->sw_enabled = TRUE; + rstate->hw_enabled = TRUE; + } else if (rfkill == RFKILL_SOFT_BLOCKED) { + rstate->sw_enabled = FALSE; + rstate->hw_enabled = TRUE; + } else if (rfkill == RFKILL_HARD_BLOCKED) { + rstate->sw_enabled = FALSE; + rstate->hw_enabled = FALSE; + } +} + static void manager_rfkill_update_one_type (NMManager *self, RadioState *rstate, @@ -1758,7 +1764,12 @@ manager_rfkill_update_one_type (NMManager *self, RfKillState udev_state = RFKILL_UNBLOCKED; RfKillState other_state = RFKILL_UNBLOCKED; RfKillState composite; - gboolean new_e = TRUE, new_he = TRUE; + gboolean old_enabled, new_enabled, old_rfkilled, new_rfkilled; + gboolean old_hwe; + + old_enabled = radio_enabled_for_rstate (rstate); + old_rfkilled = rstate->hw_enabled && rstate->sw_enabled; + old_hwe = rstate->hw_enabled; udev_state = nm_udev_manager_get_rfkill_state (priv->udev_mgr, rtype); @@ -1773,38 +1784,31 @@ manager_rfkill_update_one_type (NMManager *self, else composite = RFKILL_UNBLOCKED; - switch (composite) { - case RFKILL_UNBLOCKED: - new_e = TRUE; - new_he = TRUE; - break; - case RFKILL_SOFT_BLOCKED: - new_e = FALSE; - new_he = TRUE; - break; - case RFKILL_HARD_BLOCKED: - new_e = FALSE; - new_he = FALSE; - break; - default: - break; - } + update_rstate_from_rfkill (rstate, composite); if (rstate->desc) { - nm_log_dbg (LOGD_RFKILL, "%s hw-enabled %d enabled %d", - rstate->desc, new_he, new_e); + nm_log_dbg (LOGD_RFKILL, "%s hw-enabled %d sw-enabled %d", + rstate->desc, rstate->hw_enabled, rstate->sw_enabled); } - if (new_he != rstate->hw_enabled) { + /* Log new killswitch state */ + new_rfkilled = rstate->hw_enabled && rstate->sw_enabled; + if (old_rfkilled != new_rfkilled) { nm_log_info (LOGD_RFKILL, "%s now %s by radio killswitch", rstate->desc, - (new_e && new_he) ? "enabled" : "disabled"); + new_rfkilled ? "enabled" : "disabled"); + } - rstate->hw_enabled = new_he; + /* Send out property changed signal for HW enabled */ + if (rstate->hw_enabled != old_hwe) { if (rstate->hw_prop) g_object_notify (G_OBJECT (self), rstate->hw_prop); } - manager_set_radio_enabled (self, rstate, new_e); + + /* And finally update the actual device radio state itself */ + new_enabled = radio_enabled_for_rstate (rstate); + if (new_enabled != old_enabled) + manager_update_radio_enabled (self, rstate); } static void @@ -2014,7 +2018,7 @@ add_device (NMManager *self, NMDevice *device) NMConnection *existing = NULL; GHashTableIter iter; gpointer value; - gboolean managed = FALSE; + gboolean managed = FALSE, enabled = FALSE; iface = nm_device_get_ip_iface (device); g_assert (iface); @@ -2053,14 +2057,15 @@ add_device (NMManager *self, NMDevice *device) * then set this device's rfkill state based on the global state. */ nm_manager_rfkill_update (self, RFKILL_TYPE_WLAN); - nm_device_interface_set_enabled (NM_DEVICE_INTERFACE (device), - priv->radio_states[RFKILL_TYPE_WLAN].enabled); + enabled = radio_enabled_for_type (self, RFKILL_TYPE_WLAN); + nm_device_interface_set_enabled (NM_DEVICE_INTERFACE (device), enabled); } else if (NM_IS_DEVICE_MODEM (device)) { g_signal_connect (device, NM_DEVICE_MODEM_ENABLE_CHANGED, G_CALLBACK (manager_modem_enabled_changed), self); nm_manager_rfkill_update (self, RFKILL_TYPE_WWAN); + enabled = radio_enabled_for_type (self, RFKILL_TYPE_WWAN); /* Until we start respecting WWAN rfkill switches the modem itself * is the source of the enabled/disabled state, so the manager shouldn't * touch it here. @@ -3305,13 +3310,13 @@ do_sleep_wake (NMManager *self) */ for (i = 0; i < RFKILL_TYPE_MAX; i++) { RadioState *rstate = &priv->radio_states[i]; - gboolean enabled = (rstate->hw_enabled && rstate->enabled); + gboolean enabled = radio_enabled_for_rstate (rstate); RfKillType devtype = RFKILL_TYPE_UNKNOWN; if (rstate->desc) { - nm_log_dbg (LOGD_RFKILL, "%s %s devices (hw_enabled %d, enabled %d)", + nm_log_dbg (LOGD_RFKILL, "%s %s devices (hw_enabled %d, sw_enabled %d, user_enabled %d)", enabled ? "enabling" : "disabling", - rstate->desc, rstate->hw_enabled, rstate->enabled); + rstate->desc, rstate->hw_enabled, rstate->sw_enabled, rstate->user_enabled); } g_object_get (G_OBJECT (device), NM_DEVICE_INTERFACE_RFKILL_TYPE, &devtype, NULL); @@ -3879,34 +3884,21 @@ nm_manager_start (NMManager *self) /* Set initial radio enabled/disabled state */ for (i = 0; i < RFKILL_TYPE_MAX; i++) { RadioState *rstate = &priv->radio_states[i]; - gboolean enabled = TRUE, hw_enabled = TRUE; + RfKillState udev_state; if (!rstate->desc) continue; - switch (nm_udev_manager_get_rfkill_state (priv->udev_mgr, i)) { - case RFKILL_UNBLOCKED: - enabled = TRUE; - hw_enabled = TRUE; - break; - case RFKILL_SOFT_BLOCKED: - enabled = FALSE; - hw_enabled = TRUE; - break; - case RFKILL_HARD_BLOCKED: - enabled = FALSE; - hw_enabled = FALSE; - break; - default: - break; - } + udev_state = nm_udev_manager_get_rfkill_state (priv->udev_mgr, i); + update_rstate_from_rfkill (rstate, udev_state); - rstate->hw_enabled = hw_enabled; - nm_log_info (LOGD_RFKILL, "%s %s by radio killswitch; %s by state file", - rstate->desc, - (rstate->hw_enabled && enabled) ? "enabled" : "disabled", - (rstate->enabled) ? "enabled" : "disabled"); - manager_set_radio_enabled (self, rstate, rstate->enabled && enabled); + if (rstate->desc) { + nm_log_info (LOGD_RFKILL, "%s %s by radio killswitch; %s by state file", + rstate->desc, + (rstate->hw_enabled && rstate->sw_enabled) ? "enabled" : "disabled", + rstate->user_enabled ? "enabled" : "disabled"); + } + manager_update_radio_enabled (self, rstate); } /* Log overall networking status - enabled/disabled */ @@ -4188,8 +4180,8 @@ nm_manager_get (const char *config_file, priv->net_enabled = initial_net_enabled; - priv->radio_states[RFKILL_TYPE_WLAN].enabled = initial_wifi_enabled; - priv->radio_states[RFKILL_TYPE_WWAN].enabled = initial_wwan_enabled; + priv->radio_states[RFKILL_TYPE_WLAN].user_enabled = initial_wifi_enabled; + priv->radio_states[RFKILL_TYPE_WWAN].user_enabled = initial_wwan_enabled; g_signal_connect (priv->sys_settings, "notify::" NM_SYSCONFIG_SETTINGS_UNMANAGED_SPECS, G_CALLBACK (system_unmanaged_devices_changed_cb), singleton); @@ -4334,6 +4326,42 @@ dispose (GObject *object) G_OBJECT_CLASS (nm_manager_parent_class)->dispose (object); } +static void +manager_radio_user_toggled (NMManager *self, + RadioState *rstate, + gboolean enabled) +{ + NMManagerPrivate *priv = NM_MANAGER_GET_PRIVATE (self); + GError *error = NULL; + gboolean old_enabled, new_enabled; + + if (rstate->desc) { + nm_log_dbg (LOGD_RFKILL, "(%s): setting radio %s by user", + rstate->desc, + enabled ? "enabled" : "disabled"); + } + + /* Update enabled key in state file */ + if (priv->state_file) { + if (!write_value_to_state_file (priv->state_file, + "main", rstate->key, + G_TYPE_BOOLEAN, (gpointer) &enabled, + &error)) { + nm_log_warn (LOGD_CORE, "writing to state file %s failed: (%d) %s.", + priv->state_file, + error ? error->code : -1, + (error && error->message) ? error->message : "unknown"); + g_clear_error (&error); + } + } + + old_enabled = radio_enabled_for_rstate (rstate); + rstate->user_enabled = enabled; + new_enabled = radio_enabled_for_rstate (rstate); + if (new_enabled != old_enabled) + manager_update_radio_enabled (self, rstate); +} + static void set_property (GObject *object, guint prop_id, const GValue *value, GParamSpec *pspec) @@ -4347,14 +4375,14 @@ set_property (GObject *object, guint prop_id, priv->net_enabled = g_value_get_boolean (value); break; case PROP_WIRELESS_ENABLED: - manager_set_radio_enabled (NM_MANAGER (object), - &priv->radio_states[RFKILL_TYPE_WLAN], - g_value_get_boolean (value)); + manager_radio_user_toggled (NM_MANAGER (object), + &priv->radio_states[RFKILL_TYPE_WLAN], + g_value_get_boolean (value)); break; case PROP_WWAN_ENABLED: - manager_set_radio_enabled (NM_MANAGER (object), - &priv->radio_states[RFKILL_TYPE_WWAN], - g_value_get_boolean (value)); + manager_radio_user_toggled (NM_MANAGER (object), + &priv->radio_states[RFKILL_TYPE_WWAN], + g_value_get_boolean (value)); break; default: G_OBJECT_WARN_INVALID_PROPERTY_ID (object, prop_id, pspec); @@ -4378,13 +4406,13 @@ get_property (GObject *object, guint prop_id, g_value_set_boolean (value, priv->net_enabled); break; case PROP_WIRELESS_ENABLED: - g_value_set_boolean (value, priv->radio_states[RFKILL_TYPE_WLAN].enabled); + g_value_set_boolean (value, radio_enabled_for_type (self, RFKILL_TYPE_WLAN)); break; case PROP_WIRELESS_HARDWARE_ENABLED: g_value_set_boolean (value, priv->radio_states[RFKILL_TYPE_WLAN].hw_enabled); break; case PROP_WWAN_ENABLED: - g_value_set_boolean (value, priv->radio_states[RFKILL_TYPE_WWAN].enabled); + g_value_set_boolean (value, radio_enabled_for_type (self, RFKILL_TYPE_WWAN)); break; case PROP_WWAN_HARDWARE_ENABLED: g_value_set_boolean (value, priv->radio_states[RFKILL_TYPE_WWAN].hw_enabled); @@ -4416,7 +4444,7 @@ nm_manager_init (NMManager *manager) /* Initialize rfkill structures and states */ memset (priv->radio_states, 0, sizeof (priv->radio_states)); - priv->radio_states[RFKILL_TYPE_WLAN].enabled = TRUE; + priv->radio_states[RFKILL_TYPE_WLAN].user_enabled = TRUE; priv->radio_states[RFKILL_TYPE_WLAN].key = "WirelessEnabled"; priv->radio_states[RFKILL_TYPE_WLAN].prop = NM_MANAGER_WIRELESS_ENABLED; priv->radio_states[RFKILL_TYPE_WLAN].hw_prop = NM_MANAGER_WIRELESS_HARDWARE_ENABLED; @@ -4424,7 +4452,7 @@ nm_manager_init (NMManager *manager) priv->radio_states[RFKILL_TYPE_WLAN].other_enabled_func = nm_manager_get_ipw_rfkill_state; priv->radio_states[RFKILL_TYPE_WLAN].rtype = RFKILL_TYPE_WLAN; - priv->radio_states[RFKILL_TYPE_WWAN].enabled = TRUE; + priv->radio_states[RFKILL_TYPE_WWAN].user_enabled = TRUE; priv->radio_states[RFKILL_TYPE_WWAN].key = "WWANEnabled"; priv->radio_states[RFKILL_TYPE_WWAN].prop = NM_MANAGER_WWAN_ENABLED; priv->radio_states[RFKILL_TYPE_WWAN].hw_prop = NM_MANAGER_WWAN_HARDWARE_ENABLED; @@ -4432,7 +4460,7 @@ nm_manager_init (NMManager *manager) priv->radio_states[RFKILL_TYPE_WWAN].other_enabled_func = nm_manager_get_modem_enabled_state; priv->radio_states[RFKILL_TYPE_WWAN].rtype = RFKILL_TYPE_WWAN; - priv->radio_states[RFKILL_TYPE_WIMAX].enabled = TRUE; + priv->radio_states[RFKILL_TYPE_WIMAX].user_enabled = TRUE; priv->radio_states[RFKILL_TYPE_WIMAX].key = "WiMAXEnabled"; priv->radio_states[RFKILL_TYPE_WIMAX].prop = NULL; priv->radio_states[RFKILL_TYPE_WIMAX].hw_prop = NULL; From c0b7dc973462736fdf4ff647bde3e68da9525243 Mon Sep 17 00:00:00 2001 From: Michael Kotsarinis Date: Wed, 1 Sep 2010 17:12:34 -0500 Subject: [PATCH 06/14] po: update Greek translation (bgo #628541) --- po/el.po | 1610 ++++++++++++++++++++++++++++++++++++++++++++++++++---- 1 file changed, 1504 insertions(+), 106 deletions(-) diff --git a/po/el.po b/po/el.po index 7890d9b9ce..b8d1619cdc 100644 --- a/po/el.po +++ b/po/el.po @@ -6,21 +6,1186 @@ # Dimitris Glezos , 2006. # Jennie Petoumenou , 2008, 2009. # Tournaris Pavlos , 2009. +# Simos Xenitellis , 2010. +# msgid "" msgstr "" "Project-Id-Version: NetworkManager.HEAD\n" "Report-Msgid-Bugs-To: http://bugzilla.gnome.org/enter_bug.cgi?" "product=NetworkManager&component=general\n" -"POT-Creation-Date: 2009-08-27 03:24+0000\n" -"PO-Revision-Date: 2009-09-10 11:08+0200\n" -"Last-Translator: Tournaris Pavlos \n" -"Language-Team: Greek \n" +"POT-Creation-Date: 2010-08-10 03:25+0000\n" +"PO-Revision-Date: 2010-09-01 22:08+0300\n" +"Last-Translator: Simos Xenitellis \n" +"Language-Team: Greek \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" -"Plural-Forms: nplurals=2; plural=(n != 1);\n" +"Plural-Forms: nplurals=2; plural=n>1;\n" "X-Generator: Lokalize 0.3\n" +#: ../cli/src/connections.c:60 ../cli/src/connections.c:75 +#: ../cli/src/devices.c:88 ../cli/src/devices.c:101 ../cli/src/devices.c:111 +#: ../cli/src/devices.c:121 ../cli/src/devices.c:134 ../cli/src/devices.c:145 +#: ../cli/src/devices.c:156 ../cli/src/devices.c:165 ../cli/src/devices.c:174 +msgid "NAME" +msgstr "ΟΝΟΜΑ" + +#. 0 +#: ../cli/src/connections.c:61 ../cli/src/connections.c:76 +msgid "UUID" +msgstr "UUID" + +#. 1 +#: ../cli/src/connections.c:62 +msgid "DEVICES" +msgstr "ΣΥΣΚΕΥΕΣ" + +#. 2 +#: ../cli/src/connections.c:63 ../cli/src/connections.c:78 +msgid "SCOPE" +msgstr "ΕΥΡΟΣ" + +#. 3 +#: ../cli/src/connections.c:64 +msgid "DEFAULT" +msgstr "ΠΡΟΕΠΙΛΟΓΗ" + +#. 4 +#: ../cli/src/connections.c:65 +msgid "DBUS-SERVICE" +msgstr "ΥΠΗΡΕΣΙΑ DBUS" + +#. 5 +#: ../cli/src/connections.c:66 +msgid "SPEC-OBJECT" +msgstr "SPEC-OBJECT" + +#. 6 +#: ../cli/src/connections.c:67 +msgid "VPN" +msgstr "VPN" + +#. 1 +#. 0 +#. 1 +#: ../cli/src/connections.c:77 ../cli/src/devices.c:62 ../cli/src/devices.c:90 +msgid "TYPE" +msgstr "ΤΥΠΟΣ" + +#. 3 +#: ../cli/src/connections.c:79 +msgid "TIMESTAMP" +msgstr "TIMESTAMP" + +#. 4 +#: ../cli/src/connections.c:80 +msgid "TIMESTAMP-REAL" +msgstr "TIMESTAMP-ΠΡΑΓΜΑΤΙΚΟ" + +#. 5 +#: ../cli/src/connections.c:81 +msgid "AUTOCONNECT" +msgstr "ΑΥΤΟΜΑΤΗ-ΣΥΝΔΕΣΗ" + +#. 6 +#: ../cli/src/connections.c:82 +msgid "READONLY" +msgstr "ΜΟΝΟ-ΓΙΑ-ΑΝΑΓΝΩΣΗ" + +#: ../cli/src/connections.c:158 +#, c-format +msgid "" +"Usage: nmcli con { COMMAND | help }\n" +" COMMAND := { list | status | up | down }\n" +"\n" +" list [id | uuid | system | user]\n" +" status\n" +" up id | uuid [iface ] [ap ] [--nowait] [--timeout " +"]\n" +" down id | uuid \n" +msgstr "" +"Χρήση: nmcli con { COMMAND | help }\n" +" COMMAND := { list | status | up | down }\n" +"\n" +" list [id | uuid | system | user]\n" +" status\n" +" up id | uuid [iface ] [ap ] [--nowait] [--timeout " +"]\n" +" down id | uuid \n" + +#: ../cli/src/connections.c:198 ../cli/src/connections.c:537 +#, c-format +msgid "Error: 'con list': %s" +msgstr "Σφάλμα: 'con list': %s" + +#: ../cli/src/connections.c:200 ../cli/src/connections.c:539 +#, c-format +msgid "Error: 'con list': %s; allowed fields: %s" +msgstr "Σφάλμα: 'con list': %s; επιτρεπόμενα πεδία: %s" + +#: ../cli/src/connections.c:208 +msgid "Connection details" +msgstr "Λεπτομέρειες σύνδεσης" + +#: ../cli/src/connections.c:382 ../cli/src/connections.c:602 +#| msgid "System" +msgid "system" +msgstr "σύστημα" + +#: ../cli/src/connections.c:382 ../cli/src/connections.c:602 +msgid "user" +msgstr "χρήστης" + +#: ../cli/src/connections.c:384 +msgid "never" +msgstr "ποτέ" + +#. "CAPABILITIES" +#. Print header +#. "WIFI-PROPERTIES" +#: ../cli/src/connections.c:385 ../cli/src/connections.c:386 +#: ../cli/src/connections.c:603 ../cli/src/connections.c:606 +#: ../cli/src/devices.c:432 ../cli/src/devices.c:557 ../cli/src/devices.c:583 +#: ../cli/src/devices.c:584 ../cli/src/devices.c:585 ../cli/src/devices.c:586 +#: ../cli/src/devices.c:587 ../cli/src/settings.c:508 +#: ../cli/src/settings.c:551 ../cli/src/settings.c:652 +#: ../cli/src/settings.c:926 ../cli/src/settings.c:927 +#: ../cli/src/settings.c:929 ../cli/src/settings.c:931 +#: ../cli/src/settings.c:1056 ../cli/src/settings.c:1057 +#: ../cli/src/settings.c:1058 ../cli/src/settings.c:1137 +#: ../cli/src/settings.c:1138 ../cli/src/settings.c:1139 +#: ../cli/src/settings.c:1140 ../cli/src/settings.c:1141 +#: ../cli/src/settings.c:1142 ../cli/src/settings.c:1143 +#: ../cli/src/settings.c:1144 ../cli/src/settings.c:1145 +#: ../cli/src/settings.c:1146 ../cli/src/settings.c:1147 +#: ../cli/src/settings.c:1148 ../cli/src/settings.c:1149 +#: ../cli/src/settings.c:1224 +msgid "yes" +msgstr "ναι" + +#: ../cli/src/connections.c:385 ../cli/src/connections.c:386 +#: ../cli/src/connections.c:603 ../cli/src/connections.c:606 +#: ../cli/src/devices.c:432 ../cli/src/devices.c:557 ../cli/src/devices.c:583 +#: ../cli/src/devices.c:584 ../cli/src/devices.c:585 ../cli/src/devices.c:586 +#: ../cli/src/devices.c:587 ../cli/src/settings.c:508 +#: ../cli/src/settings.c:510 ../cli/src/settings.c:551 +#: ../cli/src/settings.c:652 ../cli/src/settings.c:926 +#: ../cli/src/settings.c:927 ../cli/src/settings.c:929 +#: ../cli/src/settings.c:931 ../cli/src/settings.c:1056 +#: ../cli/src/settings.c:1057 ../cli/src/settings.c:1058 +#: ../cli/src/settings.c:1137 ../cli/src/settings.c:1138 +#: ../cli/src/settings.c:1139 ../cli/src/settings.c:1140 +#: ../cli/src/settings.c:1141 ../cli/src/settings.c:1142 +#: ../cli/src/settings.c:1143 ../cli/src/settings.c:1144 +#: ../cli/src/settings.c:1145 ../cli/src/settings.c:1146 +#: ../cli/src/settings.c:1147 ../cli/src/settings.c:1148 +#: ../cli/src/settings.c:1149 ../cli/src/settings.c:1224 +msgid "no" +msgstr "όχι" + +#: ../cli/src/connections.c:458 ../cli/src/connections.c:501 +#| msgid "Modify system connections" +msgid "System connections" +msgstr "Συνδέσεις συστήματος" + +#: ../cli/src/connections.c:463 ../cli/src/connections.c:514 +#| msgid "Modify system connections" +msgid "User connections" +msgstr "Συνδέσεις χρήστη" + +#: ../cli/src/connections.c:475 ../cli/src/connections.c:1335 +#: ../cli/src/connections.c:1351 ../cli/src/connections.c:1360 +#: ../cli/src/connections.c:1371 ../cli/src/connections.c:1456 +#: ../cli/src/devices.c:962 ../cli/src/devices.c:972 ../cli/src/devices.c:1074 +#: ../cli/src/devices.c:1081 +#, c-format +msgid "Error: %s argument is missing." +msgstr "Σφάλμα: λείπει το όρισμα %s." + +#: ../cli/src/connections.c:488 +#, c-format +msgid "Error: %s - no such connection." +msgstr "Σφάλμα: %s - δεν υπάρχει τέτοια σύνδεση." + +#: ../cli/src/connections.c:520 ../cli/src/connections.c:1384 +#: ../cli/src/connections.c:1474 ../cli/src/devices.c:785 +#: ../cli/src/devices.c:852 ../cli/src/devices.c:986 ../cli/src/devices.c:1087 +#, c-format +msgid "Unknown parameter: %s\n" +msgstr "Άγνωστη παράμετρος: %s\n" + +#: ../cli/src/connections.c:529 +#, c-format +msgid "Error: no valid parameter specified." +msgstr "Σφάλμα: δεν ορίσθηκε έγκυρη παράμετρος." + +#: ../cli/src/connections.c:544 ../cli/src/connections.c:1577 +#: ../cli/src/devices.c:1293 ../cli/src/network-manager.c:274 +#, c-format +msgid "Error: %s." +msgstr "Σφάλμα: %s." + +#: ../cli/src/connections.c:650 +#, c-format +msgid "Error: 'con status': %s" +msgstr "Σφάλμα: 'con status': %s" + +#: ../cli/src/connections.c:652 +#, c-format +msgid "Error: 'con status': %s; allowed fields: %s" +msgstr "Σφάλμα: 'con status': %s; επιτρεπόμενα πεδία: %s" + +#: ../cli/src/connections.c:659 +#| msgid "Modify system connections" +msgid "Active connections" +msgstr "Ενεργές συνδέσεις" + +#: ../cli/src/connections.c:1027 +#, c-format +msgid "no active connection on device '%s'" +msgstr "δεν υπάρχει ενεργή σύνδεση στη συσκευή '%s'" + +#: ../cli/src/connections.c:1035 +#, c-format +msgid "no active connection or device" +msgstr "δεν πυάρχει ενεργή σύνδεση ή συσκευή" + +#: ../cli/src/connections.c:1085 +#, c-format +msgid "device '%s' not compatible with connection '%s'" +msgstr "η συσκευή '%s' δεν είναι συμβατή με τη σύνδεση '%s'" + +#: ../cli/src/connections.c:1087 +#, c-format +msgid "no device found for connection '%s'" +msgstr "δεν βρέθηκε συσκευή για τη σύνδεση '%s'" + +#: ../cli/src/connections.c:1098 +msgid "activating" +msgstr "ενεργοποίηση" + +#: ../cli/src/connections.c:1100 +msgid "activated" +msgstr "ενεργοποιήθηκε" + +#: ../cli/src/connections.c:1103 ../cli/src/connections.c:1126 +#: ../cli/src/connections.c:1159 ../cli/src/devices.c:246 +#: ../cli/src/devices.c:558 ../cli/src/network-manager.c:92 +#: ../cli/src/network-manager.c:145 ../cli/src/settings.c:473 +msgid "unknown" +msgstr "άγνωστη" + +#: ../cli/src/connections.c:1112 +msgid "VPN connecting (prepare)" +msgstr "Σύνδεση VPN (προετοιμασία)" + +#: ../cli/src/connections.c:1114 +msgid "VPN connecting (need authentication)" +msgstr "Σύνδεση VPN (απαιτείται πιστοποίηση)" + +#: ../cli/src/connections.c:1116 +msgid "VPN connecting" +msgstr "Σύνδεση VPN" + +#: ../cli/src/connections.c:1118 +msgid "VPN connecting (getting IP configuration)" +msgstr "Σύνδεση VPN (γίνεται λήψη ρυθμίσεων IP)" + +#: ../cli/src/connections.c:1120 +msgid "VPN connected" +msgstr "VPN συνδέθηκε" + +#: ../cli/src/connections.c:1122 +msgid "VPN connection failed" +msgstr "Σύνδεση VPN απέτυχε" + +#: ../cli/src/connections.c:1124 +msgid "VPN disconnected" +msgstr "VPN αποσυνδέθηκε" + +#: ../cli/src/connections.c:1135 +msgid "unknown reason" +msgstr "άγνωστη αιτία" + +#: ../cli/src/connections.c:1137 +msgid "none" +msgstr "κανένα" + +#: ../cli/src/connections.c:1139 +msgid "the user was disconnected" +msgstr "ο χρήστης αποσυνδέθηκε" + +#: ../cli/src/connections.c:1141 +msgid "the base network connection was interrupted" +msgstr "η βασική σύνδεση δικτύου διακόπηκε" + +#: ../cli/src/connections.c:1143 +msgid "the VPN service stopped unexpectedly" +msgstr "η υπηρεσία VPN σταμάτησε απρόσμενα" + +#: ../cli/src/connections.c:1145 +msgid "the VPN service returned invalid configuration" +msgstr "η υπηρεσία VPN επέστρεψε μη έγκυρη διαμόρφωση" + +#: ../cli/src/connections.c:1147 +msgid "the connection attempt timed out" +msgstr "έληξε το χρονικό όριο απόπειρας σύνδεσης" + +#: ../cli/src/connections.c:1149 +msgid "the VPN service did not start in time" +msgstr "η υπηρεσία VPN δεν ξεκίνησε εγκαίρως" + +#: ../cli/src/connections.c:1151 +msgid "the VPN service failed to start" +msgstr "η υπηρεσία VPN απέτυχε να εκκινήσει" + +#: ../cli/src/connections.c:1153 +msgid "no valid VPN secrets" +msgstr "δεν υπάρχουν έγκυρα μυστικά VPN" + +#: ../cli/src/connections.c:1155 +msgid "invalid VPN secrets" +msgstr "μη έγκυρα μυστικά VPN" + +#: ../cli/src/connections.c:1157 +msgid "the connection was removed" +msgstr "η σύνδεση αφαιρέθηκε" + +#: ../cli/src/connections.c:1171 +#, c-format +msgid "state: %s\n" +msgstr "κατάσταση: %s\n" + +#: ../cli/src/connections.c:1174 ../cli/src/connections.c:1200 +#, c-format +msgid "Connection activated\n" +msgstr "Ενεργοποιήθηκε η σύνδεση\n" + +#: ../cli/src/connections.c:1177 +#, c-format +msgid "Error: Connection activation failed." +msgstr "Σφάλμα: Αποτυχία ενεργοποίησης σύνδεσης." + +#: ../cli/src/connections.c:1196 +#, c-format +msgid "state: %s (%d)\n" +msgstr "κατάσταση: %s (%d)\n" + +#: ../cli/src/connections.c:1206 +#, c-format +msgid "Error: Connection activation failed: %s." +msgstr "Σφάλμα: Αποτυχία ενεργοποίησης σύνδεσης: %s." + +#: ../cli/src/connections.c:1223 ../cli/src/devices.c:909 +#, c-format +msgid "Error: Timeout %d sec expired." +msgstr "Σφάλμα: Έληξε το χρονικό όριο %d sec" + +#: ../cli/src/connections.c:1266 +#, c-format +msgid "Error: Connection activation failed: %s" +msgstr "Σφάλμα: Αποτυχία ενεργοποίησης σύνδεσης: %s" + +#: ../cli/src/connections.c:1280 +#, c-format +msgid "Error: Obtaining active connection for '%s' failed." +msgstr "Σφάλμα: Αποτυχία απόκτησης ενεργής σύνδεσης για '%s'." + +#: ../cli/src/connections.c:1289 +#, c-format +msgid "Active connection state: %s\n" +msgstr "Κατάσταση ενεργής σύνδεσης: %s\n" + +#: ../cli/src/connections.c:1290 +#, c-format +msgid "Active connection path: %s\n" +msgstr "Διαδρομή ενεργής σύνδεσης: %s\n" + +#: ../cli/src/connections.c:1344 ../cli/src/connections.c:1465 +#, c-format +msgid "Error: Unknown connection: %s." +msgstr "Σφάλμα: Άγνωστη σύνδεση: %s." + +#: ../cli/src/connections.c:1379 ../cli/src/devices.c:980 +#, c-format +msgid "Error: timeout value '%s' is not valid." +msgstr "Σφάλμα: η τιμή του χορνικού ορίου '%s' δεν είναι έγκυρη." + +#: ../cli/src/connections.c:1392 ../cli/src/connections.c:1482 +#, c-format +msgid "Error: id or uuid has to be specified." +msgstr "Σφάλμα: πρέπει να καθορισθεί id ή uuid " + +#: ../cli/src/connections.c:1412 +#, c-format +msgid "Error: No suitable device found: %s." +msgstr "Σφάλμα: Δεν βρέθηκε κατάλληλη συσκευή: %s." + +#: ../cli/src/connections.c:1414 +#, c-format +msgid "Error: No suitable device found." +msgstr "Σφάλμα: Δεν βρέθηκε κατάλληλη συσκευή." + +#: ../cli/src/connections.c:1509 +#, c-format +msgid "Warning: Connection not active\n" +msgstr "Προειδοποίηση: Η σύνδεση δεν είναι ενεργή\n" + +#: ../cli/src/connections.c:1566 +#, c-format +msgid "Error: 'con' command '%s' is not valid." +msgstr "Σφάλμα: η εντολή 'con' '%s' δεν είναι έγκυρη." + +#: ../cli/src/connections.c:1602 +#, c-format +msgid "Error: could not connect to D-Bus." +msgstr "Σφάλμα: αδυναμία σύνδεσης στο D-Bus." + +#: ../cli/src/connections.c:1609 +#, c-format +msgid "Error: Could not get system settings." +msgstr "Σφάλμα: Αδυναμία λήψης ρυθμίσεων συστήματος." + +#: ../cli/src/connections.c:1617 +#, c-format +msgid "Error: Could not get user settings." +msgstr "Σφάλμα: Αδυναμία λήψης ρυθμίσεων χρήστη." + +#: ../cli/src/connections.c:1627 +#, c-format +msgid "Error: Can't obtain connections: settings services are not running." +msgstr "" +"Σφάλμα: Αδυναμία απόκτησης συνδέσεων: οι υπηρεσίες ρυθμίσεων δεν εκτελούνται." + +#. 0 +#. 9 +#: ../cli/src/devices.c:61 ../cli/src/devices.c:89 ../cli/src/devices.c:184 +msgid "DEVICE" +msgstr "ΣΥΣΚΕΥΗ" + +#. 1 +#. 4 +#. 0 +#: ../cli/src/devices.c:63 ../cli/src/devices.c:93 +#: ../cli/src/network-manager.c:36 +msgid "STATE" +msgstr "ΚΑΤΑΣΤΑΣΗ" + +#: ../cli/src/devices.c:72 +msgid "GENERAL" +msgstr "ΓΕΝΙΚΑ" + +#. 0 +#: ../cli/src/devices.c:73 +msgid "CAPABILITIES" +msgstr "ΔΥΝΑΤΟΤΗΤΕΣ" + +#. 1 +#: ../cli/src/devices.c:74 +msgid "WIFI-PROPERTIES" +msgstr "ΙΔΙΟΤΗΤΕΣ-WIFI" + +#. 2 +#: ../cli/src/devices.c:75 +msgid "AP" +msgstr "AP" + +#. 3 +#: ../cli/src/devices.c:76 +msgid "WIRED-PROPERTIES" +msgstr "ΙΔΙΟΤΗΤΕΣ-ΕΝΣΥΡΜΑΤΗΣ" + +#. 4 +#: ../cli/src/devices.c:77 +msgid "IP4-SETTINGS" +msgstr "ΡΥΘΜΙΣΕΙΣ-IP4" + +#. 5 +#: ../cli/src/devices.c:78 +msgid "IP4-DNS" +msgstr "IP4-DNS" + +#. 6 +#: ../cli/src/devices.c:79 +msgid "IP6-SETTINGS" +msgstr "ΡΥΘΜΙΣΕΙΣ-IP6" + +#. 7 +#: ../cli/src/devices.c:80 +msgid "IP6-DNS" +msgstr "IP6-DNS" + +#. 2 +#: ../cli/src/devices.c:91 +msgid "DRIVER" +msgstr "ΟΔΗΓΟΣ" + +#. 3 +#: ../cli/src/devices.c:92 +msgid "HWADDR" +msgstr "ΔΙΕΥΘΥΝΣΗ-ΥΛΙΚΟΥ" + +#. 0 +#: ../cli/src/devices.c:102 +msgid "CARRIER-DETECT" +msgstr "ΑΝΙΧΝΕΥΣΗ-ΣΗΜΑΤΟΣ-ΓΡΑΜΜΗΣ" + +#. 1 +#: ../cli/src/devices.c:103 +msgid "SPEED" +msgstr "ΤΑΧΥΤΗΤΑ" + +#. 0 +#: ../cli/src/devices.c:112 +msgid "CARRIER" +msgstr "CARRIER" + +#. 0 +#: ../cli/src/devices.c:122 +msgid "WEP" +msgstr "WEP" + +#. 1 +#: ../cli/src/devices.c:123 +msgid "WPA" +msgstr "WPA" + +#. 2 +#: ../cli/src/devices.c:124 +msgid "WPA2" +msgstr "WPA2" + +#. 3 +#: ../cli/src/devices.c:125 +msgid "TKIP" +msgstr "TKIP" + +#. 4 +#: ../cli/src/devices.c:126 +msgid "CCMP" +msgstr "CCMP" + +#. 0 +#: ../cli/src/devices.c:135 ../cli/src/devices.c:146 +msgid "ADDRESS" +msgstr "ΔΙΕΥΘΥΝΣΗ" + +#. 1 +#: ../cli/src/devices.c:136 ../cli/src/devices.c:147 +msgid "PREFIX" +msgstr "ΠΡΟΘΕΜΑ" + +#. 2 +#: ../cli/src/devices.c:137 ../cli/src/devices.c:148 +msgid "GATEWAY" +msgstr "ΠΥΛΗ" + +#. 0 +#: ../cli/src/devices.c:157 ../cli/src/devices.c:166 +msgid "DNS" +msgstr "DNS" + +#. 0 +#: ../cli/src/devices.c:175 +msgid "SSID" +msgstr "SSID" + +#. 1 +#: ../cli/src/devices.c:176 +msgid "BSSID" +msgstr "BSSID" + +#. 2 +#: ../cli/src/devices.c:177 +msgid "MODE" +msgstr "ΛΕΙΤΟΥΡΓΙΑ" + +#. 3 +#: ../cli/src/devices.c:178 +msgid "FREQ" +msgstr "ΣΥΧΝΟΤΗΤΑ" + +#. 4 +#: ../cli/src/devices.c:179 +msgid "RATE" +msgstr "ΡΥΘΜΟΣ" + +#. 5 +#: ../cli/src/devices.c:180 +msgid "SIGNAL" +msgstr "ΣΗΜΑ" + +#. 6 +#: ../cli/src/devices.c:181 +msgid "SECURITY" +msgstr "ΑΣΦΑΛΕΙΑ" + +#. 7 +#: ../cli/src/devices.c:182 +msgid "WPA-FLAGS" +msgstr "ΕΠΙΛΟΓΕΣ-WPA" + +#. 8 +#: ../cli/src/devices.c:183 +msgid "RSN-FLAGS" +msgstr "ΕΠΙΛΟΓΕΣ-RSN" + +#. 10 +#: ../cli/src/devices.c:185 +msgid "ACTIVE" +msgstr "ΕΝΕΡΓΗ" + +#: ../cli/src/devices.c:208 +#, c-format +msgid "" +"Usage: nmcli dev { COMMAND | help }\n" +"\n" +" COMMAND := { status | list | disconnect | wifi }\n" +"\n" +" status\n" +" list [iface ]\n" +" disconnect iface [--nowait] [--timeout ]\n" +" wifi [list [iface ] [hwaddr ]]\n" +"\n" +msgstr "" +"Χρήση: nmcli dev { COMMAND | help }\n" +"\n" +" COMMAND := { status | list | disconnect | wifi }\n" +"\n" +" status\n" +" list [iface ]\n" +" disconnect iface [--nowait] [--timeout ]\n" +" wifi [list [iface ] [hwaddr ]]\n" +"\n" + +#: ../cli/src/devices.c:228 +msgid "unmanaged" +msgstr "χωρίς διαχείριση" + +#: ../cli/src/devices.c:230 +msgid "unavailable" +msgstr "μη διαθέσιμη" + +#: ../cli/src/devices.c:232 ../cli/src/network-manager.c:89 +msgid "disconnected" +msgstr "αποσυνδέθηκε" + +#: ../cli/src/devices.c:234 +msgid "connecting (prepare)" +msgstr "σύνδεση (προετοιμασία)" + +#: ../cli/src/devices.c:236 +msgid "connecting (configuring)" +msgstr "σύνδεση (διαμόρφωση)" + +#: ../cli/src/devices.c:238 +msgid "connecting (need authentication)" +msgstr "σύνδεση (απαιτείται πιστοποίηση)" + +#: ../cli/src/devices.c:240 +msgid "connecting (getting IP configuration)" +msgstr "σύνδεση (γίνεται λήψη ρυθμίσεων IP)" + +#: ../cli/src/devices.c:242 ../cli/src/network-manager.c:87 +msgid "connected" +msgstr "συνδέθηκε" + +#: ../cli/src/devices.c:244 +msgid "connection failed" +msgstr "αποτυχία σύνδεσης" + +#: ../cli/src/devices.c:267 ../cli/src/devices.c:424 +msgid "Unknown" +msgstr "Άγνωστο" + +#: ../cli/src/devices.c:299 +msgid "(none)" +msgstr "(κανένα)" + +#: ../cli/src/devices.c:324 +#, c-format +msgid "%s: error converting IP4 address 0x%X" +msgstr "%s: σφάλμα κατά τη μετατροπή της διεύθυνσης IP4 0x%X" + +#: ../cli/src/devices.c:393 +#, c-format +msgid "%u MHz" +msgstr "%u MHz" + +#: ../cli/src/devices.c:394 +#, c-format +msgid "%u MB/s" +msgstr "%u MB/s" + +#: ../cli/src/devices.c:403 +msgid "Encrypted: " +msgstr "Κρυπτογραφημένη:" + +#: ../cli/src/devices.c:408 +msgid "WEP " +msgstr "WEP " + +#: ../cli/src/devices.c:410 +msgid "WPA " +msgstr "WPA " + +#: ../cli/src/devices.c:412 +msgid "WPA2 " +msgstr "WPA2 " + +#: ../cli/src/devices.c:415 +msgid "Enterprise " +msgstr "Επιχείρηση " + +#: ../cli/src/devices.c:424 +msgid "Ad-Hoc" +msgstr "Ad-Hoc" + +#: ../cli/src/devices.c:424 +msgid "Infrastructure" +msgstr "Υποδομή" + +#: ../cli/src/devices.c:486 +#, c-format +msgid "Error: 'dev list': %s" +msgstr "Σφάλμα: 'dev list': %s" + +#: ../cli/src/devices.c:488 +#, c-format +msgid "Error: 'dev list': %s; allowed fields: %s" +msgstr "Σφάλμα: 'dev list': %s, επιτρεπόμενα πεδία: %s" + +#: ../cli/src/devices.c:497 +msgid "Device details" +msgstr "Λεπτομέρειες συσκευής" + +#: ../cli/src/devices.c:527 ../cli/src/devices.c:925 +msgid "(unknown)" +msgstr "(άγνωστο)" + +#: ../cli/src/devices.c:528 +msgid "unknown)" +msgstr "άγνωστο)" + +#: ../cli/src/devices.c:554 +#, c-format +msgid "%u Mb/s" +msgstr "%u Mb/s" + +#. Print header +#. "WIRED-PROPERTIES" +#: ../cli/src/devices.c:627 +msgid "on" +msgstr "on" + +#: ../cli/src/devices.c:627 +msgid "off" +msgstr "off" + +#: ../cli/src/devices.c:808 +#, c-format +msgid "Error: 'dev status': %s" +msgstr "Σφάλμα: 'dev status': %s" + +#: ../cli/src/devices.c:810 +#, c-format +msgid "Error: 'dev status': %s; allowed fields: %s" +msgstr "Σφάλμα: 'dev status': %s, επιτρεπόμενα πεδία: %s" + +#: ../cli/src/devices.c:817 +msgid "Status of devices" +msgstr "Κατάσταση συσκευών" + +#: ../cli/src/devices.c:845 +#, c-format +msgid "Error: '%s' argument is missing." +msgstr "Σφάλμα: Λείπει το όρισμα '%s' ." + +#: ../cli/src/devices.c:874 ../cli/src/devices.c:1013 +#: ../cli/src/devices.c:1136 +#, c-format +msgid "Error: Device '%s' not found." +msgstr "Σφάλμα: Δεν βρέθηκε η συσκευή '%s'." + +#: ../cli/src/devices.c:897 +#, c-format +msgid "Success: Device '%s' successfully disconnected." +msgstr "Επιτυχία: Η συσκευή '%s' αποσυνδέθηκε επιτυχώς." + +#: ../cli/src/devices.c:922 +#, c-format +msgid "Error: Device '%s' (%s) disconnecting failed: %s" +msgstr "Σφάλμα: Αποτυχία αποσύνδεσης συσκευής '%s' (%s): %s" + +#: ../cli/src/devices.c:930 +#, c-format +msgid "Device state: %d (%s)\n" +msgstr "Κατάσταση συσκευής: %d (%s)\n" + +#: ../cli/src/devices.c:994 +#, c-format +msgid "Error: iface has to be specified." +msgstr "Σφάλμα: πρέπει να καθορισθεί το iface." + +#: ../cli/src/devices.c:1112 +#, c-format +msgid "Error: 'dev wifi': %s" +msgstr "Σφάλμα: 'dev wifi': %s" + +#: ../cli/src/devices.c:1114 +#, c-format +msgid "Error: 'dev wifi': %s; allowed fields: %s" +msgstr "Σφάλμα: 'dev wifi': %s, επιτρεπόμενα πεδία: %s" + +#: ../cli/src/devices.c:1121 +msgid "WiFi scan list" +msgstr "Λίστα σάρωσης WiFi" + +#: ../cli/src/devices.c:1156 ../cli/src/devices.c:1210 +#, c-format +msgid "Error: Access point with hwaddr '%s' not found." +msgstr "Σφάλμα: δεν βρέθηκε σημείο πρόσβασης με hwaddr '%s'." + +#: ../cli/src/devices.c:1173 +#, c-format +msgid "Error: Device '%s' is not a WiFi device." +msgstr "Σφάλμα: Η συσκευή '%s' δεν είναι συσκευή WiFi." + +#: ../cli/src/devices.c:1237 +#, c-format +msgid "Error: 'dev wifi' command '%s' is not valid." +msgstr "Σφάλμα: η εντολή 'dev wifi' '%s' δεν είναι έγκυρη." + +#: ../cli/src/devices.c:1284 +#, c-format +msgid "Error: 'dev' command '%s' is not valid." +msgstr "Σφάλμα: η εντολή 'dev' '%s' δεν είναι έγκυρη." + +#: ../cli/src/network-manager.c:35 +msgid "RUNNING" +msgstr "ΕΚΤΕΛΕΙΤΑΙ" + +#. 1 +#: ../cli/src/network-manager.c:37 +msgid "WIFI-HARDWARE" +msgstr "ΥΛΙΚΟ WIFI" + +#. 2 +#: ../cli/src/network-manager.c:38 +msgid "WIFI" +msgstr "WIFI" + +#. 3 +#: ../cli/src/network-manager.c:39 +msgid "WWAN-HARDWARE" +msgstr "ΥΛΙΚΟ WWAN" + +#. 4 +#: ../cli/src/network-manager.c:40 +msgid "WWAN" +msgstr "WWAN" + +#: ../cli/src/network-manager.c:62 +#, c-format +msgid "" +"Usage: nmcli nm { COMMAND | help }\n" +"\n" +" COMMAND := { status | sleep | wakeup | wifi | wwan }\n" +"\n" +" status\n" +" sleep\n" +" wakeup\n" +" wifi [on|off]\n" +" wwan [on|off]\n" +"\n" +msgstr "" +"Χρήση: nmcli nm { COMMAND | help }\n" +"\n" +" COMMAND := { status | sleep | wakeup | wifi | wwan }\n" +"\n" +" status\n" +" sleep\n" +" wakeup\n" +" wifi [on|off]\n" +" wwan [on|off]\n" +"\n" + +#: ../cli/src/network-manager.c:83 +msgid "asleep" +msgstr "ύπνωση" + +#: ../cli/src/network-manager.c:85 +msgid "connecting" +msgstr "σύνδεση" + +#: ../cli/src/network-manager.c:125 +#, c-format +msgid "Error: 'nm status': %s" +msgstr "Σφάλμα: 'nm status': %s" + +#: ../cli/src/network-manager.c:127 +#, c-format +msgid "Error: 'nm status': %s; allowed fields: %s" +msgstr "Σφάλμα: 'nm status': %s, επιτρεπόμενα πεδία: %s" + +#: ../cli/src/network-manager.c:134 +msgid "NetworkManager status" +msgstr "Κατάσταση της Διαχείρισης Δικτύου" + +#. Print header +#: ../cli/src/network-manager.c:140 ../cli/src/network-manager.c:141 +#: ../cli/src/network-manager.c:142 ../cli/src/network-manager.c:143 +#: ../cli/src/network-manager.c:211 ../cli/src/network-manager.c:243 +msgid "enabled" +msgstr "ενεργοποιημένη" + +#: ../cli/src/network-manager.c:140 ../cli/src/network-manager.c:141 +#: ../cli/src/network-manager.c:142 ../cli/src/network-manager.c:143 +#: ../cli/src/network-manager.c:211 ../cli/src/network-manager.c:243 +msgid "disabled" +msgstr "απενεργοποιημένη" + +#: ../cli/src/network-manager.c:148 +msgid "running" +msgstr "εκτελείται" + +#: ../cli/src/network-manager.c:148 +msgid "not running" +msgstr "δεν εκτελείται" + +#: ../cli/src/network-manager.c:201 ../cli/src/network-manager.c:233 +#, c-format +msgid "Error: '--fields' value '%s' is not valid here; allowed fields: %s" +msgstr "" +"Σφάλμα: η τιμή '%s' του ορίσματος '--fields' δεν είναι έγκυρη εδώ. " +"Επιτρεπόμενα πεδία: %s" + +#: ../cli/src/network-manager.c:209 +msgid "WiFi enabled" +msgstr "Ασύρματο (WiFi) ενεργοποιημένο" + +#: ../cli/src/network-manager.c:220 +#, c-format +msgid "Error: invalid 'wifi' parameter: '%s'." +msgstr "Σφάλμα: μη έγκυρη παράμετρος 'wifi': '%s'." + +#: ../cli/src/network-manager.c:241 +msgid "WWAN enabled" +msgstr "WWAN ενεργοποιημένο" + +#: ../cli/src/network-manager.c:252 +#, c-format +msgid "Error: invalid 'wwan' parameter: '%s'." +msgstr "Σφάλμα: μη έγκυρη παράμετρος 'wwan': '%s'." + +#: ../cli/src/network-manager.c:263 +#, c-format +msgid "Error: 'nm' command '%s' is not valid." +msgstr "Σφάλμα: η 'nm' εντολή '%s' δεν είναι έγκυρη." + +#: ../cli/src/nmcli.c:69 +#, c-format +msgid "" +"Usage: %s [OPTIONS] OBJECT { COMMAND | help }\n" +"\n" +"OPTIONS\n" +" -t[erse] terse output\n" +" -p[retty] pretty output\n" +" -m[ode] tabular|multiline output mode\n" +" -f[ields] |all|common specify fields to output\n" +" -e[scape] yes|no escape columns separators in " +"values\n" +" -v[ersion] show program version\n" +" -h[elp] print this help\n" +"\n" +"OBJECT\n" +" nm NetworkManager status\n" +" con NetworkManager connections\n" +" dev devices managed by NetworkManager\n" +"\n" +msgstr "" +"Χρήση: %s [OPTIONS] OBJECT { COMMAND | help }\n" +"\n" +"OPTIONS\n" +" -t[erse] λιτή έξοδος\n" +" -p[retty] όμορφη έξοδος\n" +" -m[ode] tabular|multiline τρόπος εξόδου\n" +" -f[ields] |all|common καθορισμός πεδίων για έξοδο\n" +" -e[scape] yes|no escape διαχωριστικά στηλών στις " +"τιμές\n" +" -v[ersion] εμφάνιση έκδοσης ποργράμματος\n" +" -h[elp] εκτύπωση βοήθειας\n" +"\n" +"OBJECT\n" +" nm Κατάσταση του NetworkManager\n" +" con Συνδέσεις του NetworkManager\n" +" dev συσκευές που διαχειρίζεται ο NetworkManager\n" +"\n" + +#: ../cli/src/nmcli.c:113 +#, c-format +msgid "Error: Object '%s' is unknown, try 'nmcli help'." +msgstr "Σφάλμα: το αντικείμενο '%s' είναι άγνωστο, δοκιμάστε την 'nmcli help'." + +#: ../cli/src/nmcli.c:143 +#, c-format +msgid "Error: Option '--terse' is specified the second time." +msgstr "Σφάλμα: η επιλογή '--terse' καθορίζεται τη δεύτερη φορά." + +#: ../cli/src/nmcli.c:148 +#, c-format +msgid "Error: Option '--terse' is mutually exclusive with '--pretty'." +msgstr "" +"Σφάλμα: η επιλογή '--terse' είναι αμοιβαία αποκλειόμενη με την '--pretty'." + +#: ../cli/src/nmcli.c:156 +#, c-format +msgid "Error: Option '--pretty' is specified the second time." +msgstr "Σφάλμα: η επιλογή '--pretty' καθορίζεται τη δεύτερη φορά." + +#: ../cli/src/nmcli.c:161 +#, c-format +msgid "Error: Option '--pretty' is mutually exclusive with '--terse'." +msgstr "" +"Σφάλμα: η επιλογή '--pretty' είναι αμοιβαία αποκλειόμενη με την '--terse'." + +#: ../cli/src/nmcli.c:171 ../cli/src/nmcli.c:187 +#, c-format +msgid "Error: missing argument for '%s' option." +msgstr "Σφάλμα: απουσίας ορίσματος για τηνη επιλογή '%s'." + +#: ../cli/src/nmcli.c:180 ../cli/src/nmcli.c:196 +#, c-format +msgid "Error: '%s' is not valid argument for '%s' option." +msgstr "Σφάλμα: το '%s' δεν είναι έγκυρο όρισμα για την επιλογή '%s'." + +#: ../cli/src/nmcli.c:203 +#, c-format +msgid "Error: fields for '%s' options are missing." +msgstr "Σφάλμα: λείπουν πεδία για τις επιλογές '%s'." + +#: ../cli/src/nmcli.c:209 +#, c-format +msgid "nmcli tool, version %s\n" +msgstr "Εργαλείο nmcli, έκδοση %s\n" + +#: ../cli/src/nmcli.c:215 +#, c-format +msgid "Error: Option '%s' is unknown, try 'nmcli -help'." +msgstr "Σφάλμα: Η επιλογή '%s' είναι άγνωστη, δοκιμάστε 'nmcli -help'." + +#: ../cli/src/nmcli.c:234 +#, c-format +msgid "Caught signal %d, shutting down..." +msgstr "Ελήφθη σήμα %d, τερματισμός…" + +#: ../cli/src/nmcli.c:259 +#, c-format +msgid "Error: Could not connect to NetworkManager." +msgstr "Σφάλμα: Αδυναμία σύνδεσης στη Διαχείριση Δικτύου." + +#: ../cli/src/nmcli.c:275 +msgid "Success" +msgstr "Επιτυχία" + +#: ../cli/src/settings.c:411 +#, c-format +msgid "%d (hex-ascii-key)" +msgstr "%d (hex-ascii-key)" + +#: ../cli/src/settings.c:413 +#, c-format +msgid "%d (104/128-bit passphrase)" +msgstr "%d (104/128-bit φράση κλειδί)" + +#: ../cli/src/settings.c:416 +#, c-format +msgid "%d (unknown)" +msgstr "%d (άγνωστο)" + +#: ../cli/src/settings.c:442 +msgid "0 (unknown)" +msgstr "0 (άγνωστο)" + +#: ../cli/src/settings.c:448 +msgid "any, " +msgstr "οποιοδήποτε," + +#: ../cli/src/settings.c:450 +msgid "900 MHz, " +msgstr "900 MHz, " + +#: ../cli/src/settings.c:452 +msgid "1800 MHz, " +msgstr "1800 MHz, " + +#: ../cli/src/settings.c:454 +msgid "1900 MHz, " +msgstr "1900 MHz, " + +#: ../cli/src/settings.c:456 +msgid "850 MHz, " +msgstr "850 MHz, " + +#: ../cli/src/settings.c:458 +msgid "WCDMA 3GPP UMTS 2100 MHz, " +msgstr "WCDMA 3GPP UMTS 2100 MHz, " + +#: ../cli/src/settings.c:460 +msgid "WCDMA 3GPP UMTS 1800 MHz, " +msgstr "WCDMA 3GPP UMTS 1800 MHz, " + +#: ../cli/src/settings.c:462 +msgid "WCDMA 3GPP UMTS 1700/2100 MHz, " +msgstr "WCDMA 3GPP UMTS 1700/2100 MHz, " + +#: ../cli/src/settings.c:464 +msgid "WCDMA 3GPP UMTS 800 MHz, " +msgstr "WCDMA 3GPP UMTS 800 MHz, " + +#: ../cli/src/settings.c:466 +msgid "WCDMA 3GPP UMTS 850 MHz, " +msgstr "WCDMA 3GPP UMTS 850 MHz, " + +#: ../cli/src/settings.c:468 +msgid "WCDMA 3GPP UMTS 900 MHz, " +msgstr "WCDMA 3GPP UMTS 900 MHz, " + +#: ../cli/src/settings.c:470 +msgid "WCDMA 3GPP UMTS 1700 MHz, " +msgstr "WCDMA 3GPP UMTS 1700 MHz, " + +#: ../cli/src/settings.c:554 ../cli/src/settings.c:721 +msgid "auto" +msgstr "αυτόματα" + +#: ../cli/src/settings.c:716 ../cli/src/settings.c:719 +#: ../cli/src/settings.c:720 ../cli/src/utils.c:172 +msgid "not set" +msgstr "δεν ορίσθηκε" + +#: ../cli/src/utils.c:124 +#, c-format +msgid "field '%s' has to be alone" +msgstr "το πεδίο '%s' πρέπει να είναι μόνο του" + +#: ../cli/src/utils.c:127 +#, c-format +msgid "invalid field '%s'" +msgstr "μη έγκυρο πεδίο '%s'" + +#: ../cli/src/utils.c:146 +#, c-format +msgid "Option '--terse' requires specifying '--fields'" +msgstr "Η επιλογή '--terse' απαιτεί να καθορισθούν '--fields'" + +#: ../cli/src/utils.c:150 +#, c-format +msgid "Option '--terse' requires specific '--fields' option values , not '%s'" +msgstr "" +"Η επιλογή '--terse' απαιτεί να καθορισθούν συγκεκριμένες τιμές της επιλογής " +"'--fields', όχι '%s'" + #: ../libnm-util/crypto.c:120 #, c-format msgid "PEM key file had no end tag '%s'." @@ -109,8 +1274,9 @@ msgstr "Δεν επαρκεί η μνήμη για την αποθήκευση msgid "IV contains non-hexadecimal digits." msgstr "Το IV περιέχει μη δεκαεξαδικά ψηφία." -#: ../libnm-util/crypto.c:382 ../libnm-util/crypto_gnutls.c:143 -#: ../libnm-util/crypto_nss.c:169 +#: ../libnm-util/crypto.c:382 ../libnm-util/crypto_gnutls.c:148 +#: ../libnm-util/crypto_gnutls.c:266 ../libnm-util/crypto_nss.c:171 +#: ../libnm-util/crypto_nss.c:336 #, c-format msgid "Private key cipher '%s' was unknown." msgstr "Άγνωστος ο κρυπτογραφικός αλγόριθμος '%s' του ιδιωτικού κλειδιού." @@ -132,75 +1298,116 @@ msgstr "" "Δεν επαρκεί η μνήμη για την αποθήκευση του αποκρυπτογραφημένου ιδιωτικού " "κλειδιού." -#: ../libnm-util/crypto_gnutls.c:46 +#: ../libnm-util/crypto_gnutls.c:49 msgid "Failed to initialize the crypto engine." msgstr "Απέτυχε η αρχικοποίηση της μηχανής κρυπτογραφίας." -#: ../libnm-util/crypto_gnutls.c:90 +#: ../libnm-util/crypto_gnutls.c:93 #, c-format msgid "Failed to initialize the MD5 engine: %s / %s." msgstr "Απέτυχε η αρχικοποίηση της μηχανής MD5 : %s / %s." -#: ../libnm-util/crypto_gnutls.c:152 ../libnm-util/crypto_nss.c:178 +#: ../libnm-util/crypto_gnutls.c:156 +#, c-format +msgid "Invalid IV length (must be at least %zd)." +msgstr "Μη έγκυρο μήκος IV (πρέπει να είναι τουλάχιστον %zd)" + +#: ../libnm-util/crypto_gnutls.c:165 ../libnm-util/crypto_nss.c:188 #, c-format msgid "Not enough memory for decrypted key buffer." msgstr "" "Η μνήμη δεν επαρκεί για τις ανάγκες της ενδιάμεσης μνήμης του " "αποκρυπτογραφημένου κλειδιού." -#: ../libnm-util/crypto_gnutls.c:160 +#: ../libnm-util/crypto_gnutls.c:173 #, c-format msgid "Failed to initialize the decryption cipher context: %s / %s." msgstr "Απέτυχε η αρχικοποίηση του αλγορίθμου αποκρυπτογράφησης: %s / %s." -#: ../libnm-util/crypto_gnutls.c:169 +#: ../libnm-util/crypto_gnutls.c:182 #, c-format msgid "Failed to set symmetric key for decryption: %s / %s." msgstr "" "Απέτυχε ο ορισμός συμμετρικού κλειδιού για την αποκρυπτογράφηση: %s / %s." -#: ../libnm-util/crypto_gnutls.c:178 +#: ../libnm-util/crypto_gnutls.c:191 #, c-format msgid "Failed to set IV for decryption: %s / %s." msgstr "Απέτυχε ο ορισμός IV για την αποκρυπτογράφηση: %s / %s." -#: ../libnm-util/crypto_gnutls.c:187 +#: ../libnm-util/crypto_gnutls.c:200 #, c-format msgid "Failed to decrypt the private key: %s / %s." msgstr "Απέτυχε η αποκρυπτογράφηση του ιδιωτικού κλειδιού: %s / %s." -#: ../libnm-util/crypto_gnutls.c:200 +#: ../libnm-util/crypto_gnutls.c:210 ../libnm-util/crypto_nss.c:267 +#, c-format +#| msgid "Failed to decrypt the private key: %d." +msgid "Failed to decrypt the private key: unexpected padding length." +msgstr "" +"Απέτυχε η αποκρυπτογράφηση του ιδιωτικού κλειδιού: μη αναμενόμενο μήκος " +"συμπλήρωσης." + +#: ../libnm-util/crypto_gnutls.c:221 ../libnm-util/crypto_nss.c:278 #, c-format msgid "Failed to decrypt the private key." msgstr "Απέτυχε η αποκρυπτογράφηση του ιδιωτικού κλειδιού." -#: ../libnm-util/crypto_gnutls.c:235 +#: ../libnm-util/crypto_gnutls.c:286 ../libnm-util/crypto_nss.c:356 +#, c-format +msgid "Could not allocate memory for encrypting." +msgstr "Αδυναμία διάθεσης μνήμης για κρυπτογράφηση." + +#: ../libnm-util/crypto_gnutls.c:294 +#, c-format +#| msgid "Failed to initialize the decryption cipher context: %s / %s." +msgid "Failed to initialize the encryption cipher context: %s / %s." +msgstr "Απέτυχε η αρχικοποίηση του αλγορίθμου κρυπτογράφησης: %s / %s." + +#: ../libnm-util/crypto_gnutls.c:303 +#, c-format +#| msgid "Failed to set symmetric key for decryption: %s / %s." +msgid "Failed to set symmetric key for encryption: %s / %s." +msgstr "Απέτυχε ο ορισμός συμμετρικού κλειδιού για την κρυπτογράφηση: %s / %s." + +#: ../libnm-util/crypto_gnutls.c:313 +#, c-format +#| msgid "Failed to set IV for decryption: %s / %s." +msgid "Failed to set IV for encryption: %s / %s." +msgstr "Απέτυχε να ορισθεί το IV για την κρυπτογράφηση: %s / %s." + +#: ../libnm-util/crypto_gnutls.c:322 +#, c-format +#| msgid "Failed to decrypt the private key: %s / %s." +msgid "Failed to encrypt the data: %s / %s." +msgstr "Απέτυχε η κρυπτογράφηση των δεδομένων: %s / %s." + +#: ../libnm-util/crypto_gnutls.c:362 #, c-format msgid "Error initializing certificate data: %s" msgstr "Σφάλμα κατά την αρχικοποίηση των δεδομένων του πιστοποιητικού: %s" -#: ../libnm-util/crypto_gnutls.c:257 +#: ../libnm-util/crypto_gnutls.c:384 #, c-format msgid "Couldn't decode certificate: %s" msgstr "Αδύνατη η αποκωδικοποίηση του πιστοποιητικού: %s" -#: ../libnm-util/crypto_gnutls.c:281 +#: ../libnm-util/crypto_gnutls.c:408 #, c-format msgid "Couldn't initialize PKCS#12 decoder: %s" msgstr "Αδύνατη η αρχικοποίηση του αποκωδικοποιητή PKCS#12: %s" -#: ../libnm-util/crypto_gnutls.c:294 +#: ../libnm-util/crypto_gnutls.c:421 #, c-format msgid "Couldn't decode PKCS#12 file: %s" msgstr "Αδύνατη η αποκωδικοποίηση του αρχείου PKCS#12: %s" -#: ../libnm-util/crypto_gnutls.c:306 +#: ../libnm-util/crypto_gnutls.c:433 #, c-format msgid "Couldn't verify PKCS#12 file: %s" msgstr "Αδύνατη η διαπίστωση του αρχείου PKCS#12: %s" -#: ../libnm-util/crypto_nss.c:57 -#: ../system-settings/plugins/ifcfg-rh/crypto.c:52 +#: ../libnm-util/crypto_nss.c:56 #, c-format msgid "Failed to initialize the crypto engine: %d." msgstr "Απέτυχε η αρχικοποίηση της μηχανής κρυπτογραφίας: %d." @@ -210,136 +1417,142 @@ msgstr "Απέτυχε η αρχικοποίηση της μηχανής κρυ msgid "Failed to initialize the MD5 context: %d." msgstr "Απέτυχε η αρχικοποίηση του MD5 : %d." -#: ../libnm-util/crypto_nss.c:186 +#: ../libnm-util/crypto_nss.c:179 +#, c-format +msgid "Invalid IV length (must be at least %d)." +msgstr "Μη έγκυρο μήκος IV (πρέπει να είναι τουλάχιστον %d)" + +#: ../libnm-util/crypto_nss.c:196 #, c-format msgid "Failed to initialize the decryption cipher slot." msgstr "Απέτυχε η αρχικοποίηση του αλγορίθμου αποκρυπτογράφησης." -#: ../libnm-util/crypto_nss.c:196 +#: ../libnm-util/crypto_nss.c:206 #, c-format msgid "Failed to set symmetric key for decryption." msgstr "Απέτυχε ο ορισμός συμμετρικού κλειδιού για την αποκρυπτογράφηση." -#: ../libnm-util/crypto_nss.c:206 +#: ../libnm-util/crypto_nss.c:216 #, c-format msgid "Failed to set IV for decryption." msgstr "Απέτυχε ο ορισμός IV για την αποκρυπτογράφηση." -#: ../libnm-util/crypto_nss.c:214 +#: ../libnm-util/crypto_nss.c:224 #, c-format msgid "Failed to initialize the decryption context." msgstr "Απέτυχε η αρχικοποίηση της αποκρυπτογράφησης." -#: ../libnm-util/crypto_nss.c:227 +#: ../libnm-util/crypto_nss.c:237 #, c-format msgid "Failed to decrypt the private key: %d." msgstr "Απέτυχε η αποκρυπτογράφηση του ιδιωτικού κλειδιού: %d." -#: ../libnm-util/crypto_nss.c:239 +#: ../libnm-util/crypto_nss.c:245 +#, c-format +#| msgid "Failed to decrypt the private key: %d." +msgid "Failed to decrypt the private key: decrypted data too large." +msgstr "" +"Απέτυχε η αποκρυπτογράφηση του ιδιωτικού κλειδιού: τα αποκρυπτογραφημένα " +"δεδομένα είναι πάρα πολλά." + +#: ../libnm-util/crypto_nss.c:256 #, c-format msgid "Failed to finalize decryption of the private key: %d." msgstr "Απέτυχε η ολοκλήρωση της αποκρυπτογράφησης του ιδιωτικού κλειδιού: %d." -#: ../libnm-util/crypto_nss.c:284 +#: ../libnm-util/crypto_nss.c:364 +#, c-format +#| msgid "Failed to initialize the decryption cipher slot." +msgid "Failed to initialize the encryption cipher slot." +msgstr "Απέτυχε η αρχικοποίηση του αλγορίθμου κρυπτογράφησης." + +#: ../libnm-util/crypto_nss.c:372 +#, c-format +#| msgid "Failed to set symmetric key for decryption." +msgid "Failed to set symmetric key for encryption." +msgstr "Απέτυχε ο ορισμός συμμετρικού κλειδιού για την κρυπτογράφηση." + +#: ../libnm-util/crypto_nss.c:380 +#, c-format +#| msgid "Failed to set IV for decryption." +msgid "Failed to set IV for encryption." +msgstr "Απέτυχε ο ορισμός IV για την κρυπτογράφηση." + +#: ../libnm-util/crypto_nss.c:388 +#, c-format +#| msgid "Failed to initialize the decryption context." +msgid "Failed to initialize the encryption context." +msgstr "Απέτυχε η αρχικοποίηση του πλαισίου της κρυπτογράφησης." + +#: ../libnm-util/crypto_nss.c:396 +#, c-format +#| msgid "Failed to decrypt the private key: %d." +msgid "Failed to encrypt: %d." +msgstr "Αποτυχία κρυπτογράφησης: %d." + +#: ../libnm-util/crypto_nss.c:404 +#, c-format +msgid "Unexpected amount of data after encrypting." +msgstr "Μη αναμενόμενη ποσότητα δεδομένων μετά την κρυπτογράφηση." + +#: ../libnm-util/crypto_nss.c:447 #, c-format msgid "Couldn't decode certificate: %d" msgstr "Αδύνατη η αποκωδικοποίηση του πιστοποιητικού: %d" -#: ../libnm-util/crypto_nss.c:319 +#: ../libnm-util/crypto_nss.c:482 #, c-format msgid "Couldn't convert password to UCS2: %d" msgstr "Αδύνατη η μετατροπή του συνθηματικού σε UCS2: %d" -#: ../libnm-util/crypto_nss.c:347 +#: ../libnm-util/crypto_nss.c:510 #, c-format msgid "Couldn't initialize PKCS#12 decoder: %d" msgstr "Αδύνατη η αρχικοποίηση του αποκωδικοποιητή PKCS#12: %d" -#: ../libnm-util/crypto_nss.c:356 +#: ../libnm-util/crypto_nss.c:519 #, c-format msgid "Couldn't decode PKCS#12 file: %d" msgstr "Αδύνατη η αποκωδικοποίηση του αρχείου PKCS#12: %d" -#: ../libnm-util/crypto_nss.c:365 +#: ../libnm-util/crypto_nss.c:528 #, c-format msgid "Couldn't verify PKCS#12 file: %d" msgstr "Αδύνατη η διαπίστωση του αρχείου PKCS#12: %d" -#: ../src/nm-netlink-monitor.c:194 ../src/nm-netlink-monitor.c:464 -#, c-format -msgid "error processing netlink message: %s" -msgstr "σφάλμα κατά την επεξεργασία μηνύματος netlink: %s" +#: ../libnm-util/crypto_nss.c:557 +#| msgid "Could not decode private key." +msgid "Could not generate random data." +msgstr "Αδύνατη η δημιουργία τυχαίων δεδομένων." -#: ../src/nm-netlink-monitor.c:260 +#: ../libnm-util/nm-utils.c:1975 #, c-format -msgid "unable to allocate netlink handle for monitoring link status: %s" +#| msgid "Not enough memory to decrypt private key." +msgid "Not enough memory to make encryption key." +msgstr "Δεν επαρκεί η μνήμη για την δημιουργία κλειδιού κρυπτογράφησης." + +#: ../libnm-util/nm-utils.c:2085 +#| msgid "Not enough memory to store PEM file data." +msgid "Could not allocate memory for PEM file creation." +msgstr "Δεν επαρκεί η μνήμη για την δημιουργία αρχείου PEM." + +#: ../libnm-util/nm-utils.c:2097 +#, c-format +msgid "Could not allocate memory for writing IV to PEM file." +msgstr "Αδυναμία διάθεσης μνήμης για εγγραφή του IV στο αρχείο PEM." + +#: ../libnm-util/nm-utils.c:2109 +#, c-format +msgid "Could not allocate memory for writing encrypted key to PEM file." msgstr "" -"αδύνατη η δέσμευση χειριστή netlink για την παρακολούθηση της κατάστασης της " -"σύνδεσης: %s" +"Αδυναμία διάθεσης μνήμης για εγγραφή του κρυπτογραφημένου κλειδού στο αρχείο " +"PEM." -#: ../src/nm-netlink-monitor.c:270 +#: ../libnm-util/nm-utils.c:2128 #, c-format -msgid "unable to connect to netlink for monitoring link status: %s" -msgstr "" -"αδύνατη η σύνδεση με το netlink για την παρακολούθηση της κατάστασης της " -"σύνδεσης: %s" - -#: ../src/nm-netlink-monitor.c:278 -#, c-format -msgid "unable to join netlink group for monitoring link status: %s" -msgstr "" -"αδύνατη η ένταξη στην ομάδα του netlink για την παρακολούθηση της κατάστασης " -"της σύνδεσης: %s" - -#: ../src/nm-netlink-monitor.c:286 -#, c-format -msgid "unable to allocate netlink link cache for monitoring link status: %s" -msgstr "" -"αδύνατη η εκχώρηση λανθάνουσας μνήμης στη σύνδεση netlink για την " -"παρακολούθηση της κατάστασης της σύνδεσης δικτύου: %s" - -#: ../src/nm-netlink-monitor.c:494 -msgid "error occurred while waiting for data on socket" -msgstr "σφάλμα κατά την αναμονή για δεδομένα στην υποδοχή" - -#: ../src/NetworkManager.c:330 -#, c-format -msgid "Invalid option. Please use --help to see a list of valid options.\n" -msgstr "" -"Άκυρη επιλογή. Παρακαλώ χρησιμοποιήστε --help για να δείτε τη λίστα των " -"έγκυρων επιλογών.\n" - -#: ../src/dhcp-manager/nm-dhcp-dhclient.c:304 -msgid "# Created by NetworkManager\n" -msgstr "# Δημιουργήθηκε από το NetworkManager\n" - -#: ../src/dhcp-manager/nm-dhcp-dhclient.c:310 -#, c-format -msgid "" -"# Merged from %s\n" -"\n" -msgstr "" -"# Συγχωνεύθηκαν από το %s\n" -"\n" - -#: ../src/named-manager/nm-named-manager.c:315 -msgid "NOTE: the libc resolver may not support more than 3 nameservers." -msgstr "" -"ΣΗΜΕΙΩΣΗ: Ο libc resolver μπορεί να μην υποστηρίζει περισσότερους από 3 " -"εξυπηρετητές ονομάτων." - -#: ../src/named-manager/nm-named-manager.c:317 -msgid "The nameservers listed below may not be recognized." -msgstr "Οι κάτωθι εξυπηρετητές ονομάτων ίσως να μην αναγνωρίζονται." - -#: ../src/system-settings/nm-default-wired-connection.c:194 -#, c-format -msgid "Auto %s" -msgstr "Αυτόματο %s" - -#: ../system-settings/plugins/ifcfg-rh/reader.c:2446 -msgid "System" -msgstr "Σύστημα" +#| msgid "Not enough memory to store PEM file data." +msgid "Could not allocate memory for PEM file data." +msgstr "Δεν επαρκεί η μνήμη για τα δεδομένα του αρχείου PEM." #: ../policy/org.freedesktop.network-manager-settings.system.policy.in.h:1 msgid "Connection sharing via a protected WiFi network" @@ -363,7 +1576,6 @@ msgstr "" "Η πολιτική συστήματος δεν επιτρέπει τροποποίηση των ρυθμίσεων συστήματος" #: ../policy/org.freedesktop.network-manager-settings.system.policy.in.h:6 -#| msgid "System policy prevents modification of system settings" msgid "System policy prevents modification of the persistent system hostname" msgstr "" "Η πολιτική συστήματος δεν επιτρέπει τροποποίηση του πάγιου ονόματος " @@ -381,5 +1593,191 @@ msgstr "" "Η πολιτική συστήματος δεν επιτρέπει κοινή χρήση συνδέσεων μέσω ανοιχτού " "ασύρματου δικτύου" -#~ msgid "error updating link cache: %s" -#~ msgstr "σφάλμα κατά την ενημέρωση της λανθάνουσας μνήμης της σύνδεσης: %s" +#: ../policy/org.freedesktop.NetworkManager.policy.in.h:1 +msgid "Allow control of network connections" +msgstr "Να επιτρέπεται ο έλεγχος των συνδέσεων δικτύου" + +#: ../policy/org.freedesktop.NetworkManager.policy.in.h:2 +msgid "Allow use of user-specific connections" +msgstr "Να επιτρέπεται η χρήση συνδέσεων συγκεκριμένων για το χρήστη" + +#: ../policy/org.freedesktop.NetworkManager.policy.in.h:3 +msgid "Enable or disable WiFi devices" +msgstr "Ενεργοποίηση ή απενεργοποίηση συσκευών ασύρματης δικτύωσης (WiFi)" + +#: ../policy/org.freedesktop.NetworkManager.policy.in.h:4 +msgid "Enable or disable mobile broadband devices" +msgstr "" +"Ενεργοποίηση ή απενεργοποίηση συσκευών ευρυζωνικότητας κινητής τηλεφωνίας" + +#: ../policy/org.freedesktop.NetworkManager.policy.in.h:5 +msgid "Enable or disable system networking" +msgstr "Ενεργοποίηση ή απενεργοποίηση δικτύωσης συστήματος" + +#: ../policy/org.freedesktop.NetworkManager.policy.in.h:6 +msgid "" +"Put NetworkManager to sleep or wake it up (should only be used by system " +"power management)" +msgstr "" +"Θέση της Διαχείρισης δικτύου σε αδράνεια ή ενεργοποίησή της (πρέπει να " +"χρησιμοποιείται μόνο από τη διαχείριση ενέργειας του συστήματος)" + +#: ../policy/org.freedesktop.NetworkManager.policy.in.h:7 +#| msgid "System policy prevents modification of system settings" +msgid "System policy prevents control of network connections" +msgstr "Η πολιτική συστήματος δεν επιτρέπει τον έλεγχο των συνδέσεων δικτύου" + +#: ../policy/org.freedesktop.NetworkManager.policy.in.h:8 +#| msgid "System policy prevents sharing connections via an open WiFi network" +msgid "System policy prevents enabling or disabling WiFi devices" +msgstr "" +"Η πολιτική συστήματος δεν επιτρέπει ενεργοποίηση ή απενεργοποίηση συσκευών " +"ανοιχτού ασύρματου δικτύου (WiFi)" + +#: ../policy/org.freedesktop.NetworkManager.policy.in.h:9 +msgid "System policy prevents enabling or disabling mobile broadband devices" +msgstr "" +"Η πολιτική του συστήματος δεν επιτρέπει την ενεργοποίηση ή απενεργοποίηση " +"συσκευών ευρυζωνικότητας κινητής τηλεφωνίας" + +#: ../policy/org.freedesktop.NetworkManager.policy.in.h:10 +#| msgid "System policy prevents modification of system settings" +msgid "System policy prevents enabling or disabling system networking" +msgstr "" +"Η πολιτική συστήματος δεν επιτρέπει ενεργοποίηση ή απενεργοποίηση της " +"δικτύωσης του συστήματος" + +#: ../policy/org.freedesktop.NetworkManager.policy.in.h:11 +msgid "System policy prevents putting NetworkManager to sleep or waking it up" +msgstr "" +"Η πολιτική του συστήματος δεν επιτρέπει να τίθεται η διαχείριση δικτύου σε " +"αδράνεια ή να ενεργοποιείται." + +#: ../policy/org.freedesktop.NetworkManager.policy.in.h:12 +#| msgid "System policy prevents modification of system settings" +msgid "System policy prevents use of user-specific connections" +msgstr "" +"Η πολιτική συστήματος δεν επιτρέπει τη χρήση συνδέσεων συγκεκριμένων για " +"κάθε χρήστη" + +#: ../src/nm-netlink-monitor.c:100 ../src/nm-netlink-monitor.c:231 +#: ../src/nm-netlink-monitor.c:653 +#, c-format +msgid "error processing netlink message: %s" +msgstr "σφάλμα κατά την επεξεργασία μηνύματος netlink: %s" + +#: ../src/nm-netlink-monitor.c:214 +msgid "error occurred while waiting for data on socket" +msgstr "σφάλμα κατά την αναμονή για δεδομένα στην υποδοχή" + +#: ../src/nm-netlink-monitor.c:254 +#, c-format +msgid "unable to connect to netlink for monitoring link status: %s" +msgstr "" +"αδύνατη η σύνδεση με το netlink για την παρακολούθηση της κατάστασης της " +"σύνδεσης: %s" + +#: ../src/nm-netlink-monitor.c:265 +#, c-format +#| msgid "unable to allocate netlink handle for monitoring link status: %s" +msgid "unable to enable netlink handle credential passing: %s" +msgstr "unable to enable netlink handle credential passing: %s" + +#: ../src/nm-netlink-monitor.c:291 ../src/nm-netlink-monitor.c:353 +#, c-format +msgid "unable to allocate netlink handle for monitoring link status: %s" +msgstr "" +"αδύνατη η δέσμευση χειριστή netlink για την παρακολούθηση της κατάστασης της " +"σύνδεσης: %s" + +#: ../src/nm-netlink-monitor.c:376 +#, c-format +msgid "unable to allocate netlink link cache for monitoring link status: %s" +msgstr "" +"αδύνατη η εκχώρηση λανθάνουσας μνήμης στη σύνδεση netlink για την " +"παρακολούθηση της κατάστασης της σύνδεσης δικτύου: %s" + +#: ../src/nm-netlink-monitor.c:502 +#, c-format +#| msgid "unable to join netlink group for monitoring link status: %s" +msgid "unable to join netlink group: %s" +msgstr "αδύνατη η σύνδεση στην ομάδα του netlink: %s" + +#: ../src/nm-netlink-monitor.c:629 ../src/nm-netlink-monitor.c:642 +#, c-format +msgid "error updating link cache: %s" +msgstr "σφάλμα κατά την ενημέρωση της λανθάνουσας μνήμης της σύνδεσης: %s" + +#: ../src/main.c:502 +#, c-format +msgid "Invalid option. Please use --help to see a list of valid options.\n" +msgstr "" +"Άκυρη επιλογή. Παρακαλώ χρησιμοποιήστε --help για να δείτε τη λίστα των " +"έγκυρων επιλογών.\n" + +#: ../src/main.c:573 +#, c-format +#| msgid "Invalid option. Please use --help to see a list of valid options.\n" +msgid "%s. Please use --help to see a list of valid options.\n" +msgstr "" +"%s. Παρακαλώ χρησιμοποιήστε την επιλογή --help για να δείτε τη λίστα των " +"έγκυρων επιλογών.\n" + +#: ../src/dhcp-manager/nm-dhcp-dhclient.c:324 +msgid "# Created by NetworkManager\n" +msgstr "# Δημιουργήθηκε από το NetworkManager\n" + +#: ../src/dhcp-manager/nm-dhcp-dhclient.c:340 +#, c-format +msgid "" +"# Merged from %s\n" +"\n" +msgstr "" +"# Συγχωνεύθηκαν από το %s\n" +"\n" + +#: ../src/dhcp-manager/nm-dhcp-manager.c:284 +msgid "no usable DHCP client could be found." +msgstr "αδυναμία εύρεσης πελάτη DHCP που να μπορεί να χρησιμοποιηθεί." + +#: ../src/dhcp-manager/nm-dhcp-manager.c:293 +msgid "'dhclient' could be found." +msgstr "Εύρεση 'dhclient'." + +#: ../src/dhcp-manager/nm-dhcp-manager.c:303 +msgid "'dhcpcd' could be found." +msgstr "Εύρεση 'dhcpcd'." + +#: ../src/dhcp-manager/nm-dhcp-manager.c:311 +#, c-format +msgid "unsupported DHCP client '%s'" +msgstr "μη υποστηριζόμενος πελάτης DHCP '%s'" + +#: ../src/logging/nm-logging.c:146 +#, c-format +msgid "Unknown log level '%s'" +msgstr "Άγνωστο επίπεδο καταγραφής '%s'" + +#: ../src/logging/nm-logging.c:171 +#, c-format +msgid "Unknown log domain '%s'" +msgstr "Άγνωστος τομέας καταγραφής '%s'" + +#: ../src/named-manager/nm-named-manager.c:384 +msgid "NOTE: the libc resolver may not support more than 3 nameservers." +msgstr "" +"ΣΗΜΕΙΩΣΗ: Ο libc resolver μπορεί να μην υποστηρίζει περισσότερους από 3 " +"εξυπηρετητές ονομάτων." + +#: ../src/named-manager/nm-named-manager.c:386 +msgid "The nameservers listed below may not be recognized." +msgstr "Οι κάτωθι εξυπηρετητές ονομάτων ίσως να μην αναγνωρίζονται." + +#: ../src/system-settings/nm-default-wired-connection.c:157 +#, c-format +msgid "Auto %s" +msgstr "Αυτόματο %s" + +#: ../system-settings/plugins/ifcfg-rh/reader.c:3412 +msgid "System" +msgstr "Σύστημα" From 623f09c586d35790799f2c312ba71570e20a639e Mon Sep 17 00:00:00 2001 From: "Wulf C. Krueger" Date: Wed, 1 Sep 2010 17:25:03 -0500 Subject: [PATCH 07/14] build: don't install systemd files with --without-systemdsystemunitdir (bgo #628439) --- configure.ac | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/configure.ac b/configure.ac index 5b1fbd64ba..a7465da80a 100644 --- a/configure.ac +++ b/configure.ac @@ -242,8 +242,10 @@ AC_ARG_WITH([systemdsystemunitdir], AS_HELP_STRING([--with-systemdsystemunitdir=DIR], [Directory for systemd service files]), [], [with_systemdsystemunitdir=$($PKG_CONFIG --variable=systemdsystemunitdir systemd)]) -AC_SUBST([systemdsystemunitdir], [$with_systemdsystemunitdir]) -AM_CONDITIONAL(HAVE_SYSTEMD, [test -n "$with_systemdsystemunitdir"]) +if test "x$with_systemdsystemunitdir" != xno; then + AC_SUBST([systemdsystemunitdir], [$with_systemdsystemunitdir]) +fi +AM_CONDITIONAL(HAVE_SYSTEMD, [test -n "$with_systemdsystemunitdir" -a "x$with_systemdsystemunitdir" != xno ]) PKG_CHECK_MODULES(LIBNL, libnl-1 >= 1.0-pre8) AC_SUBST(LIBNL_CFLAGS) From b60a70217e666e15615d2db62acd7f0ef4932190 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ji=C5=99=C3=AD=20Klime=C5=A1?= Date: Fri, 3 Sep 2010 14:15:41 +0200 Subject: [PATCH 08/14] trivial: fix cut&paste error in a comment --- include/NetworkManager.h | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/include/NetworkManager.h b/include/NetworkManager.h index 9df444f27c..f58b84bcdd 100644 --- a/include/NetworkManager.h +++ b/include/NetworkManager.h @@ -16,7 +16,7 @@ * with this program; if not, write to the Free Software Foundation, Inc., * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. * - * (C) Copyright 2004 - 2008 Red Hat, Inc. + * (C) Copyright 2004 - 2010 Red Hat, Inc. */ #ifndef NETWORK_MANAGER_H @@ -246,7 +246,7 @@ typedef enum { /* Device is now managed */ NM_DEVICE_STATE_REASON_NOW_MANAGED = 2, - /* Device is now managed unmanaged */ + /* Device is now unmanaged */ NM_DEVICE_STATE_REASON_NOW_UNMANAGED = 3, /* The device could not be readied for configuration */ From 52d312da57b504e6cbe6a5283cea6ef3d11895a6 Mon Sep 17 00:00:00 2001 From: Dan Williams Date: Tue, 7 Sep 2010 18:17:10 -0500 Subject: [PATCH 09/14] trivial: remove long-obsolete NMLoadModules script --- test/NMLoadModules | 61 ---------------------------------------------- 1 file changed, 61 deletions(-) delete mode 100755 test/NMLoadModules diff --git a/test/NMLoadModules b/test/NMLoadModules deleted file mode 100755 index 0dc6a486cc..0000000000 --- a/test/NMLoadModules +++ /dev/null @@ -1,61 +0,0 @@ -#! /bin/bash -# Load kernel modules for all network devices - -CWD=`pwd` -cd /etc/sysconfig/network-scripts - -# find all the interfaces besides loopback. -# ignore aliases, alternative configurations, and editor backup files -interfaces=`ls ifcfg* | LANG=C egrep -v '(ifcfg-lo|:|rpmsave|rpmorig|rpmnew)' | \ - LANG=C egrep -v '(~|\.bak)$' | \ - LANG=C egrep 'ifcfg-[A-Za-z0-9\._-]+$' | \ - sed 's/^ifcfg-//g' | - sed 's/[0-9]/ &/' | LANG=C sort -k 1,1 -k 2n | sed 's/ //'` - -# bring up all other interfaces configured to come up at boot time -for i in $interfaces; do - eval $(LANG=C fgrep "DEVICE=" ifcfg-$i) - eval $(LANG=C fgrep "TYPE=" ifcfg-$i) - eval $(LANG=C fgrep "SLAVE=" ifcfg-$i) - eval $(LANG=C fgrep "BRIDGE=" ifcfg-$i) - - if [ -z "$DEVICE" ] ; then DEVICE="$i"; fi - - if [ "${DEVICE##cipcb}" != "$DEVICE" ] ; then - unset DEVICE TYPE SLAVE BRIDGE - continue - fi - - if [ "$TYPE" = "xDSL" ]; then - unset DEVICE TYPE SLAVE BRIDGE - continue - fi - - if [ -n "$BRIDGE" ]; then - unset DEVICE TYPE SLAVE BRIDGE - continue - fi - - if [ "${DEVICE%%.*}" != "$DEVICE" ] ; then - unset DEVICE TYPE SLAVE BRIDGE - continue - fi - - if [ "$SLAVE" = "yes" ]; then - unset DEVICE TYPE SLAVE BRIDGE - continue - fi - unset DEVICE TYPE SLAVE BRIDGE - - # Load the module - LC_ALL= LANG= /sbin/ip -o link | grep -q $i - if [ "$?" = "1" ]; then - alias=`modprobe -c | awk "/^(alias|install)[[:space:]]+$i[[:space:]]/ { print \\$3 }"` - if [ -n "$alias" -a "$alias" != "off" -a "$alias" != "/bin/true" ]; then - modprobe $alias > /dev/null 2>&1 - fi - fi - continue -done - -exit 0 From 9b2b809aaeb7843514d0a23b6d9cb6931c0546fa Mon Sep 17 00:00:00 2001 From: Dan Williams Date: Tue, 7 Sep 2010 21:50:20 -0500 Subject: [PATCH 10/14] core: rename NMNamedManager -> NMDnsManager --- configure.ac | 2 +- po/POTFILES.in | 2 +- po/ar.po | 4 +- po/as.po | 4 +- po/be@latin.po | 4 +- po/bg.po | 4 +- po/bn_IN.po | 4 +- po/ca.po | 4 +- po/cs.po | 4 +- po/de.po | 4 +- po/el.po | 4 +- po/en_GB.po | 4 +- po/es.po | 4 +- po/et.po | 4 +- po/eu.po | 4 +- po/fi.po | 4 +- po/fr.po | 4 +- po/gl.po | 4 +- po/gu.po | 4 +- po/hi.po | 4 +- po/hu.po | 4 +- po/id.po | 4 +- po/it.po | 4 +- po/ja.po | 4 +- po/kn.po | 4 +- po/ko.po | 4 +- po/lt.po | 4 +- po/ml.po | 4 +- po/mr.po | 4 +- po/nb.po | 4 +- po/nl.po | 4 +- po/oc.po | 4 +- po/or.po | 4 +- po/pa.po | 4 +- po/pl.po | 4 +- po/pt_BR.po | 4 +- po/ru.po | 4 +- po/sl.po | 4 +- po/sv.po | 4 +- po/ta.po | 4 +- po/te.po | 4 +- po/vi.po | 4 +- po/zh_CN.po | 4 +- po/zh_HK.po | 4 +- po/zh_TW.po | 4 +- src/Makefile.am | 6 +- src/backends/Makefile.am | 2 - src/dhcp-manager/Makefile.am | 3 +- .../Makefile.am | 8 +- .../nm-dns-manager.c} | 134 +++++++++--------- src/dns-manager/nm-dns-manager.h | 95 +++++++++++++ src/ip6-manager/Makefile.am | 3 +- src/main.c | 14 +- src/named-manager/nm-named-manager.h | 95 ------------- src/nm-device.c | 30 ++-- src/nm-policy.c | 38 ++--- src/nm-system.c | 1 - src/supplicant-manager/Makefile.am | 3 +- src/vpn-manager/Makefile.am | 2 +- src/vpn-manager/nm-vpn-connection.c | 18 +-- 60 files changed, 311 insertions(+), 317 deletions(-) rename src/{named-manager => dns-manager}/Makefile.am (64%) rename src/{named-manager/nm-named-manager.c => dns-manager/nm-dns-manager.c} (86%) create mode 100644 src/dns-manager/nm-dns-manager.h delete mode 100644 src/named-manager/nm-named-manager.h diff --git a/configure.ac b/configure.ac index a7465da80a..ac391c6037 100644 --- a/configure.ac +++ b/configure.ac @@ -489,7 +489,7 @@ src/Makefile src/tests/Makefile marshallers/Makefile src/logging/Makefile -src/named-manager/Makefile +src/dns-manager/Makefile src/vpn-manager/Makefile src/dhcp-manager/Makefile src/ip6-manager/Makefile diff --git a/po/POTFILES.in b/po/POTFILES.in index db1fbdfecf..f3421b4a60 100644 --- a/po/POTFILES.in +++ b/po/POTFILES.in @@ -18,7 +18,7 @@ src/main.c src/dhcp-manager/nm-dhcp-dhclient.c src/dhcp-manager/nm-dhcp-manager.c src/logging/nm-logging.c -src/named-manager/nm-named-manager.c +src/dns-manager/nm-dns-manager.c src/system-settings/nm-default-wired-connection.c system-settings/plugins/ifcfg-rh/reader.c system-settings/plugins/ifnet/connection_parser.c diff --git a/po/ar.po b/po/ar.po index 5796a044d7..f02091564b 100644 --- a/po/ar.po +++ b/po/ar.po @@ -67,11 +67,11 @@ msgid "" "\n" msgstr "" -#: ../src/named-manager/nm-named-manager.c:117 +#: ../src/dns-manager/nm-dns-manager.c:117 msgid "NOTE: the glibc resolver does not support more than 3 nameservers." msgstr "" -#: ../src/named-manager/nm-named-manager.c:119 +#: ../src/dns-manager/nm-dns-manager.c:119 msgid "The nameservers listed below may not be recognized." msgstr "" diff --git a/po/as.po b/po/as.po index 2f79166f07..46e41809b6 100644 --- a/po/as.po +++ b/po/as.po @@ -1590,11 +1590,11 @@ msgstr "অজ্ঞাত লগ স্তৰ '%s'" msgid "Unknown log domain '%s'" msgstr "অজ্ঞাত লগ ডোমেইন '%s'" -#: ../src/named-manager/nm-named-manager.c:343 +#: ../src/dns-manager/nm-dns-manager.c:343 msgid "NOTE: the libc resolver may not support more than 3 nameservers." msgstr "মন কৰিব: libc resolver ৰ দ্বাৰা ৩ তকৈ অধিক নামৰ সেৱক সমৰ্থিত ন'হ'বও পাৰে ।" -#: ../src/named-manager/nm-named-manager.c:345 +#: ../src/dns-manager/nm-dns-manager.c:345 msgid "The nameservers listed below may not be recognized." msgstr "নিম্নলিখিত নাম-সেৱকসমূহ চিনাক্ত ন'হ'বও পাৰে ।" diff --git a/po/be@latin.po b/po/be@latin.po index ab4d7705b0..8737643d16 100644 --- a/po/be@latin.po +++ b/po/be@latin.po @@ -55,11 +55,11 @@ msgid "Invalid option. Please use --help to see a list of valid options.\n" msgstr "" "Niapravilnaja opcyja. Kab pahladzieć śpis mahčymych opcyj, užyj --help.\n" -#: ../src/named-manager/nm-named-manager.c:218 +#: ../src/dns-manager/nm-dns-manager.c:218 msgid "NOTE: the glibc resolver does not support more than 3 nameservers." msgstr "UVAHA: resolver glibc nie padtrymlivaje bolš za 3 servery nazvaŭ." -#: ../src/named-manager/nm-named-manager.c:220 +#: ../src/dns-manager/nm-dns-manager.c:220 msgid "The nameservers listed below may not be recognized." msgstr "Niemahčyma paznać nastupnyja servery nazvaŭ." diff --git a/po/bg.po b/po/bg.po index a423af318e..7c8ad028e8 100644 --- a/po/bg.po +++ b/po/bg.po @@ -72,11 +72,11 @@ msgstr "" "# Слят от %s\n" "\n" -#: ../src/named-manager/nm-named-manager.c:117 +#: ../src/dns-manager/nm-dns-manager.c:117 msgid "NOTE: the glibc resolver does not support more than 3 nameservers." msgstr "БЕЛЕЖКА: стандартно glibc поддържа максимум 3 сървъра за имена." -#: ../src/named-manager/nm-named-manager.c:119 +#: ../src/dns-manager/nm-dns-manager.c:119 msgid "The nameservers listed below may not be recognized." msgstr "Сървърите за имена отдолу могат да не бъдат разпознати." diff --git a/po/bn_IN.po b/po/bn_IN.po index f6c295c975..cf275dad69 100644 --- a/po/bn_IN.po +++ b/po/bn_IN.po @@ -1587,13 +1587,13 @@ msgstr "লগের অজানা স্তর '%s'" msgid "Unknown log domain '%s'" msgstr "অজানা লগ ডোমেইন '%s'" -#: ../src/named-manager/nm-named-manager.c:343 +#: ../src/dns-manager/nm-dns-manager.c:343 msgid "NOTE: the libc resolver may not support more than 3 nameservers." msgstr "" "উল্লেখ্য: libc resolver দ্বারা ৩-টির বেশি নেম-সার্ভার সমর্থিত না হওয়ার সম্ভাবনা " "রয়েছে।" -#: ../src/named-manager/nm-named-manager.c:345 +#: ../src/dns-manager/nm-dns-manager.c:345 msgid "The nameservers listed below may not be recognized." msgstr "নিম্নলিখিত নেম-সার্ভারগুলি সনাক্ত না হওয়ার সম্ভাবনা রয়েছে।" diff --git a/po/ca.po b/po/ca.po index d3d9053df7..ebe35d5592 100644 --- a/po/ca.po +++ b/po/ca.po @@ -335,13 +335,13 @@ msgstr "" "# Fusionat des de %s\n" "\n" -#: ../src/named-manager/nm-named-manager.c:256 +#: ../src/dns-manager/nm-dns-manager.c:256 msgid "NOTE: the libc resolver may not support more than 3 nameservers." msgstr "" "NOTA: pot ser que el sistema de resolució de la libc no funcioni amb més de " "3 servidors de noms." -#: ../src/named-manager/nm-named-manager.c:258 +#: ../src/dns-manager/nm-dns-manager.c:258 msgid "The nameservers listed below may not be recognized." msgstr "Pot ser que no es reconeguin els servidors de noms llistats més avall." diff --git a/po/cs.po b/po/cs.po index 1be6b82e1a..4c59825e84 100644 --- a/po/cs.po +++ b/po/cs.po @@ -1335,12 +1335,12 @@ msgstr "Neznámá úroveň evidence „%s“" msgid "Unknown log domain '%s'" msgstr "Neznámá doména evidence „%s“" -#: ../src/named-manager/nm-named-manager.c:314 +#: ../src/dns-manager/nm-dns-manager.c:314 msgid "NOTE: the libc resolver may not support more than 3 nameservers." msgstr "" "Poznámka: překladač adres z libc nemůže podporovat více než 3 jmenné servery." -#: ../src/named-manager/nm-named-manager.c:316 +#: ../src/dns-manager/nm-dns-manager.c:316 msgid "The nameservers listed below may not be recognized." msgstr "Jmenné servery uvedené v následujícím seznamu nelze rozpoznat." diff --git a/po/de.po b/po/de.po index ef04aae232..89490d0d87 100644 --- a/po/de.po +++ b/po/de.po @@ -1341,13 +1341,13 @@ msgstr "Unbekannte Protokollstufe »%s«" msgid "Unknown log domain '%s'" msgstr "Unbekannte Protokolldomäne »%s«" -#: ../src/named-manager/nm-named-manager.c:343 +#: ../src/dns-manager/nm-dns-manager.c:343 msgid "NOTE: the libc resolver may not support more than 3 nameservers." msgstr "" "HINWEIS: Der libc-resolver unterstützt eventuell nicht mehr als drei " "Nameserver." -#: ../src/named-manager/nm-named-manager.c:345 +#: ../src/dns-manager/nm-dns-manager.c:345 msgid "The nameservers listed below may not be recognized." msgstr "Die nachfolgend gelisteten Nameserver werden eventuell nicht erkannt." diff --git a/po/el.po b/po/el.po index b8d1619cdc..cb9fa186b0 100644 --- a/po/el.po +++ b/po/el.po @@ -1763,13 +1763,13 @@ msgstr "Άγνωστο επίπεδο καταγραφής '%s'" msgid "Unknown log domain '%s'" msgstr "Άγνωστος τομέας καταγραφής '%s'" -#: ../src/named-manager/nm-named-manager.c:384 +#: ../src/dns-manager/nm-dns-manager.c:384 msgid "NOTE: the libc resolver may not support more than 3 nameservers." msgstr "" "ΣΗΜΕΙΩΣΗ: Ο libc resolver μπορεί να μην υποστηρίζει περισσότερους από 3 " "εξυπηρετητές ονομάτων." -#: ../src/named-manager/nm-named-manager.c:386 +#: ../src/dns-manager/nm-dns-manager.c:386 msgid "The nameservers listed below may not be recognized." msgstr "Οι κάτωθι εξυπηρετητές ονομάτων ίσως να μην αναγνωρίζονται." diff --git a/po/en_GB.po b/po/en_GB.po index 1e57470a60..ef279f8fab 100644 --- a/po/en_GB.po +++ b/po/en_GB.po @@ -318,11 +318,11 @@ msgstr "unable to connect to netlink: %s" msgid "unable to join netlink group: %s" msgstr "unable to join netlink group: %s" -#: ../src/named-manager/nm-named-manager.c:315 +#: ../src/dns-manager/nm-dns-manager.c:315 msgid "NOTE: the libc resolver may not support more than 3 nameservers." msgstr "NOTE: the libc resolver may not support more than 3 nameservers." -#: ../src/named-manager/nm-named-manager.c:317 +#: ../src/dns-manager/nm-dns-manager.c:317 msgid "The nameservers listed below may not be recognized." msgstr "The nameservers listed below may not be recognised." diff --git a/po/es.po b/po/es.po index 3bc6ef7b7f..36b63833b0 100644 --- a/po/es.po +++ b/po/es.po @@ -1712,13 +1712,13 @@ msgstr "Nivel de registro desconocido '%s'" msgid "Unknown log domain '%s'" msgstr "Dominio de registro desconocido '%s'" -#: ../src/named-manager/nm-named-manager.c:384 +#: ../src/dns-manager/nm-dns-manager.c:384 msgid "NOTE: the libc resolver may not support more than 3 nameservers." msgstr "" "NOTA: el 'resolver' de nombres de libc puede que no soporte más de 3 " "servidores de nombres." -#: ../src/named-manager/nm-named-manager.c:386 +#: ../src/dns-manager/nm-dns-manager.c:386 msgid "The nameservers listed below may not be recognized." msgstr "Puede que los servidores de nombres listados abajo no se reconozcan." diff --git a/po/et.po b/po/et.po index 3a57c8d12e..711c744817 100644 --- a/po/et.po +++ b/po/et.po @@ -76,11 +76,11 @@ msgstr "" "# Liidetud allikast %s\n" "\n" -#: ../src/named-manager/nm-named-manager.c:240 +#: ../src/dns-manager/nm-dns-manager.c:240 msgid "NOTE: the libc resolver may not support more than 3 nameservers." msgstr "MÄRKUS: libc lahendaja ei pruugi toetada rohkem kui 3 nimeserverit." -#: ../src/named-manager/nm-named-manager.c:242 +#: ../src/dns-manager/nm-dns-manager.c:242 msgid "The nameservers listed below may not be recognized." msgstr "Järgneva nimistu nimeservereid ei tuntud ära." diff --git a/po/eu.po b/po/eu.po index f2e96a504a..5a584ec367 100644 --- a/po/eu.po +++ b/po/eu.po @@ -1300,11 +1300,11 @@ msgstr "ezin da netlink-ekin konektatu: %s" msgid "unable to join netlink group: %s" msgstr "ezin da netlink taldearekin elkartu: %s" -#: ../src/named-manager/nm-named-manager.c:315 +#: ../src/dns-manager/nm-dns-manager.c:315 msgid "NOTE: the libc resolver may not support more than 3 nameservers." msgstr "OHARRA: libc-en ebaztaileak ez du 3 izen-zerbitzari baino gehiago onartzen." -#: ../src/named-manager/nm-named-manager.c:317 +#: ../src/dns-manager/nm-dns-manager.c:317 msgid "The nameservers listed below may not be recognized." msgstr "Azpian zerrendatutako izen-zenbitzariak ez dira ezagutuko." diff --git a/po/fi.po b/po/fi.po index 43d3524c56..31187e9fba 100644 --- a/po/fi.po +++ b/po/fi.po @@ -308,11 +308,11 @@ msgstr "" "# Yhdistetty tiedostosta %s\n" "\n" -#: ../src/named-manager/nm-named-manager.c:256 +#: ../src/dns-manager/nm-dns-manager.c:256 msgid "NOTE: the libc resolver may not support more than 3 nameservers." msgstr "HUOMAUTUS: libc-nimenselvennys ei ehkä tue kuin kolmea nimipalvelinta." -#: ../src/named-manager/nm-named-manager.c:258 +#: ../src/dns-manager/nm-dns-manager.c:258 msgid "The nameservers listed below may not be recognized." msgstr "Alla olevaa nimipalvelinluetteloa ei voitu tunnistaa." diff --git a/po/fr.po b/po/fr.po index f7cd9a2f76..25b6c76b8b 100644 --- a/po/fr.po +++ b/po/fr.po @@ -1611,13 +1611,13 @@ msgstr "Niveau de journalisation inconnu '%s'" msgid "Unknown log domain '%s'" msgstr "Domaine de journalisation inconnu '%s'" -#: ../src/named-manager/nm-named-manager.c:343 +#: ../src/dns-manager/nm-dns-manager.c:343 msgid "NOTE: the libc resolver may not support more than 3 nameservers." msgstr "" "NOTE : il se peut que le solveur libc ne prenne pas en charge plus de 3 " "serveurs de noms." -#: ../src/named-manager/nm-named-manager.c:345 +#: ../src/dns-manager/nm-dns-manager.c:345 msgid "The nameservers listed below may not be recognized." msgstr "Les serveurs de noms listés ci-dessous peuvent ne pas être reconnus." diff --git a/po/gl.po b/po/gl.po index ce3f609abe..4adefda785 100644 --- a/po/gl.po +++ b/po/gl.po @@ -1724,11 +1724,11 @@ msgstr "Nivel de rexistro «%s» descoñecido" msgid "Unknown log domain '%s'" msgstr "Dominio de rexistro «%s» descoñecido" -#: ../src/named-manager/nm-named-manager.c:384 +#: ../src/dns-manager/nm-dns-manager.c:384 msgid "NOTE: the libc resolver may not support more than 3 nameservers." msgstr "NOTE: o importador libc non permite máis de 3 nomes de servidores." -#: ../src/named-manager/nm-named-manager.c:386 +#: ../src/dns-manager/nm-dns-manager.c:386 msgid "The nameservers listed below may not be recognized." msgstr "Os nomes de servidores listados a seguir poden non ser recoñecidos" diff --git a/po/gu.po b/po/gu.po index 83fba507ed..3fa8cf3333 100644 --- a/po/gu.po +++ b/po/gu.po @@ -1588,11 +1588,11 @@ msgstr "અજ્ઞાત લોગ સ્તર '%s'" msgid "Unknown log domain '%s'" msgstr "અજ્ઞાત લોગ ડોમેઇન '%s'" -#: ../src/named-manager/nm-named-manager.c:343 +#: ../src/dns-manager/nm-dns-manager.c:343 msgid "NOTE: the libc resolver may not support more than 3 nameservers." msgstr "નોંધ: libc સુધારનાર એ ૩ નામ સર્વરો કરતા વધારે આધારને સમાવી શકતુ નથી." -#: ../src/named-manager/nm-named-manager.c:345 +#: ../src/dns-manager/nm-dns-manager.c:345 msgid "The nameservers listed below may not be recognized." msgstr "નીચે યાદી થયેલ નામસર્વરો એ ઓળખી શકાતા નથી." diff --git a/po/hi.po b/po/hi.po index ec0b512ae7..aab5c03467 100644 --- a/po/hi.po +++ b/po/hi.po @@ -1683,11 +1683,11 @@ msgstr "अज्ञात लॉग स्तर '%s'" msgid "Unknown log domain '%s'" msgstr "अज्ञात लॉग डोमेन '%s'" -#: ../src/named-manager/nm-named-manager.c:343 +#: ../src/dns-manager/nm-dns-manager.c:343 msgid "NOTE: the libc resolver may not support more than 3 nameservers." msgstr "नोट: libc समाधानकर्ता 3 नेमसर्वर से अधिक का समर्थन नहीं कर सकता है." -#: ../src/named-manager/nm-named-manager.c:345 +#: ../src/dns-manager/nm-dns-manager.c:345 msgid "The nameservers listed below may not be recognized." msgstr "नीचे सूची में दिया गया नेमसर्वर पहचाना नहीं जा सकता है." diff --git a/po/hu.po b/po/hu.po index 742cdb15b3..f71625495e 100644 --- a/po/hu.po +++ b/po/hu.po @@ -436,11 +436,11 @@ msgstr "nem lehet kapcsolódni a netlinkhez: %s" msgid "unable to join netlink group: %s" msgstr "nem lehet csatlakozni a netlink csoporthoz: %s" -#: ../src/named-manager/nm-named-manager.c:315 +#: ../src/dns-manager/nm-dns-manager.c:315 msgid "NOTE: the libc resolver may not support more than 3 nameservers." msgstr "MEGJEGYZÉS: a libc feloldó nem támogat háromnál több névkiszolgálót." -#: ../src/named-manager/nm-named-manager.c:317 +#: ../src/dns-manager/nm-dns-manager.c:317 msgid "The nameservers listed below may not be recognized." msgstr "Az alább felsorolt névkiszolgálók lehet, hogy nem kerülnek felismerésre." diff --git a/po/id.po b/po/id.po index 74f4c66418..b88792905f 100644 --- a/po/id.po +++ b/po/id.po @@ -1698,11 +1698,11 @@ msgstr "Aras log tak dikenal '%s'" msgid "Unknown log domain '%s'" msgstr "Ranah log tak dikenal '%s'" -#: ../src/named-manager/nm-named-manager.c:384 +#: ../src/dns-manager/nm-dns-manager.c:384 msgid "NOTE: the libc resolver may not support more than 3 nameservers." msgstr "CATATAN: resolver libc mungkin tak mendukung lebih dari 3 nameserver." -#: ../src/named-manager/nm-named-manager.c:386 +#: ../src/dns-manager/nm-dns-manager.c:386 msgid "The nameservers listed below may not be recognized." msgstr "Nameserver yang terdaftar di bawah mungkin tak dikenali." diff --git a/po/it.po b/po/it.po index 5c61af0ac5..dd24604d56 100644 --- a/po/it.po +++ b/po/it.po @@ -1602,11 +1602,11 @@ msgstr "Livello log '%s' sconosciuto" msgid "Unknown log domain '%s'" msgstr "Dominio log '%s' sconosciuto" -#: ../src/named-manager/nm-named-manager.c:343 +#: ../src/dns-manager/nm-dns-manager.c:343 msgid "NOTE: the libc resolver may not support more than 3 nameservers." msgstr "NOTA: il risolutore libc non supporta più di 3 server di nomi." -#: ../src/named-manager/nm-named-manager.c:345 +#: ../src/dns-manager/nm-dns-manager.c:345 msgid "The nameservers listed below may not be recognized." msgstr "I server di nomi elencati sotto non possono essere riconosciuti." diff --git a/po/ja.po b/po/ja.po index dad755239c..4b49f0089c 100644 --- a/po/ja.po +++ b/po/ja.po @@ -1590,11 +1590,11 @@ msgstr "不明なログインレベル '%s'" msgid "Unknown log domain '%s'" msgstr "不明なログドメイン '%s'" -#: ../src/named-manager/nm-named-manager.c:343 +#: ../src/dns-manager/nm-dns-manager.c:343 msgid "NOTE: the libc resolver may not support more than 3 nameservers." msgstr "注記: libc リゾルバは 3つ以上のネームサーバーをサポートできません。" -#: ../src/named-manager/nm-named-manager.c:345 +#: ../src/dns-manager/nm-dns-manager.c:345 msgid "The nameservers listed below may not be recognized." msgstr "以下の一覧にあるネームサーバーは認識されないかも知れません。" diff --git a/po/kn.po b/po/kn.po index fcdec5dd0e..54769baa77 100644 --- a/po/kn.po +++ b/po/kn.po @@ -1690,13 +1690,13 @@ msgstr "ಗೊತ್ತಿರದ ದಾಖಲೆ ಮಟ್ಟ '%s'" msgid "Unknown log domain '%s'" msgstr "ಗೊತ್ತಿರದ ದಾಖಲೆ ಡೊಮೈನ್ '%s'" -#: ../src/named-manager/nm-named-manager.c:350 +#: ../src/dns-manager/nm-dns-manager.c:350 msgid "NOTE: the libc resolver may not support more than 3 nameservers." msgstr "" "ಸೂಚನೆ: libc ಪರಿಹಾರಕವು(ರಿಸಾಲ್ವರ್) ೩ ನಾಮಪರಿಚಾರಕಗಳಿಗಿಂತ ಹೆಚ್ಚಿನವುಗಳನ್ನು " "ಬೆಂಬಲಿಸುವುದಿಲ್ಲ." -#: ../src/named-manager/nm-named-manager.c:352 +#: ../src/dns-manager/nm-dns-manager.c:352 msgid "The nameservers listed below may not be recognized." msgstr "ಈ ಕೆಳಗೆ ಸೂಚಿಸಲಾದ ನಾಮಪರಿಚಾರಕಗಳನ್ನು ಗುರುತಿಸಲಾಗಿಲ್ಲ." diff --git a/po/ko.po b/po/ko.po index ad463ab1d2..e2cc426bca 100644 --- a/po/ko.po +++ b/po/ko.po @@ -1590,11 +1590,11 @@ msgstr "알려지지 않은 로그 수준 '%s'" msgid "Unknown log domain '%s'" msgstr "알려지지 않은 로그 영역 '%s'" -#: ../src/named-manager/nm-named-manager.c:343 +#: ../src/dns-manager/nm-dns-manager.c:343 msgid "NOTE: the libc resolver may not support more than 3 nameservers." msgstr "주의: libc 주소 검색은 3개를 초과하는 네임서버를 지원하지 않을 수 있습니다." -#: ../src/named-manager/nm-named-manager.c:345 +#: ../src/dns-manager/nm-dns-manager.c:345 msgid "The nameservers listed below may not be recognized." msgstr "아래 열거된 네임서버를 인식하지 못할 수 있습니다." diff --git a/po/lt.po b/po/lt.po index 70212c828f..6c1d170c31 100644 --- a/po/lt.po +++ b/po/lt.po @@ -1686,13 +1686,13 @@ msgstr "Nežinomas žurnalo vedimo lygis „%s“" msgid "Unknown log domain '%s'" msgstr "Nežinoma žurnalo sritis „%s“" -#: ../src/named-manager/nm-named-manager.c:350 +#: ../src/dns-manager/nm-dns-manager.c:350 msgid "NOTE: the libc resolver may not support more than 3 nameservers." msgstr "" "PASTABA: libc adresų nustatymo funkcija gali nepalaikyti daugiau nei 3 vardų " "serverių." -#: ../src/named-manager/nm-named-manager.c:352 +#: ../src/dns-manager/nm-dns-manager.c:352 msgid "The nameservers listed below may not be recognized." msgstr "Žemiau pateikti vardų serveriai gali būti neatpažinti." diff --git a/po/ml.po b/po/ml.po index 6c1e92f7ce..0d9796f9fe 100644 --- a/po/ml.po +++ b/po/ml.po @@ -1586,11 +1586,11 @@ msgstr "അപരിചതമായ ലോഗ് ലവല്‍ '%s'" msgid "Unknown log domain '%s'" msgstr "അപരിചിതമായ ലോഗ് ഡൊമെയിന്‍ '%s'" -#: ../src/named-manager/nm-named-manager.c:343 +#: ../src/dns-manager/nm-dns-manager.c:343 msgid "NOTE: the libc resolver may not support more than 3 nameservers." msgstr "കുറിപ്പു്: libc റിസോള്‍വര്‍ 3 നെയിംസര്‍വറുകളില്‍ കൂടതല്‍ പിന്തുണയ്ക്കുന്നതല്ല." -#: ../src/named-manager/nm-named-manager.c:345 +#: ../src/dns-manager/nm-dns-manager.c:345 msgid "The nameservers listed below may not be recognized." msgstr "താഴെ പറഞ്ഞിരിക്കുന്ന നെയിംസര്‍വറുകള്‍ തിരിച്ചറിയപ്പെടുന്നവയല്ല." diff --git a/po/mr.po b/po/mr.po index c608ace4b3..67335ad2e3 100644 --- a/po/mr.po +++ b/po/mr.po @@ -1672,11 +1672,11 @@ msgstr "अपरिचीत लॉग स्तर '%s'" msgid "Unknown log domain '%s'" msgstr "अपरिचीत लॉग डोमेन '%s'" -#: ../src/named-manager/nm-named-manager.c:350 +#: ../src/dns-manager/nm-dns-manager.c:350 msgid "NOTE: the libc resolver may not support more than 3 nameservers." msgstr "NOTE: libc रिजॉलव्हर 3 पेक्षा जास्त नेमसर्व्हर्स् करीता समर्थन पुरवू शकणार नाही." -#: ../src/named-manager/nm-named-manager.c:352 +#: ../src/dns-manager/nm-dns-manager.c:352 msgid "The nameservers listed below may not be recognized." msgstr "खालिल यादीतील नेमसर्व्हर्स् अनोळखी राहतील." diff --git a/po/nb.po b/po/nb.po index fece349e5a..fdbcffebd8 100644 --- a/po/nb.po +++ b/po/nb.po @@ -76,11 +76,11 @@ msgstr "" "# Flettet fra %s\n" "\n" -#: ../src/named-manager/nm-named-manager.c:256 +#: ../src/dns-manager/nm-dns-manager.c:256 msgid "NOTE: the libc resolver may not support more than 3 nameservers." msgstr "MERK: libc navneoppslag støtter ikke flere enn 3 navnetjenere." -#: ../src/named-manager/nm-named-manager.c:258 +#: ../src/dns-manager/nm-dns-manager.c:258 msgid "The nameservers listed below may not be recognized." msgstr "Navnetjenere listet under vil kanskje ikke bli gjenkjent." diff --git a/po/nl.po b/po/nl.po index 0d9b571ace..758746fcd3 100644 --- a/po/nl.po +++ b/po/nl.po @@ -87,13 +87,13 @@ msgstr "" "# Samengevoegd vanuit %s\n" "\n" -#: ../src/named-manager/nm-named-manager.c:256 +#: ../src/dns-manager/nm-dns-manager.c:256 msgid "NOTE: the libc resolver may not support more than 3 nameservers." msgstr "" "Merk op: de resolver van libc ondersteunt mogelijkerwijs niet meer dan 3 " "nameservers." -#: ../src/named-manager/nm-named-manager.c:258 +#: ../src/dns-manager/nm-dns-manager.c:258 msgid "The nameservers listed below may not be recognized." msgstr "De naamservers hieronder worden mogelijk niet herkend." diff --git a/po/oc.po b/po/oc.po index df55c4a71e..bc7bc4a0d2 100644 --- a/po/oc.po +++ b/po/oc.po @@ -51,11 +51,11 @@ msgstr "" msgid "Invalid option. Please use --help to see a list of valid options.\n" msgstr "" -#: ../src/named-manager/nm-named-manager.c:117 +#: ../src/dns-manager/nm-dns-manager.c:117 msgid "NOTE: the glibc resolver does not support more than 3 nameservers." msgstr "" -#: ../src/named-manager/nm-named-manager.c:119 +#: ../src/dns-manager/nm-dns-manager.c:119 msgid "The nameservers listed below may not be recognized." msgstr "" diff --git a/po/or.po b/po/or.po index dbae3e0290..bba0d598c7 100644 --- a/po/or.po +++ b/po/or.po @@ -1688,11 +1688,11 @@ msgstr "ଅଜ୍ଞାତ ଲଗ ସ୍ତର '%s'" msgid "Unknown log domain '%s'" msgstr "ଅଜ୍ଞାତ ଲଗ ଡମେନ '%s'" -#: ../src/named-manager/nm-named-manager.c:384 +#: ../src/dns-manager/nm-dns-manager.c:384 msgid "NOTE: the libc resolver may not support more than 3 nameservers." msgstr "ଟିପ୍ପଣୀ: libc resolver 3 ରୁ ଅଧିକ nameserverଗୁଡ଼ିକୁ ସମର୍ଥନ କରିନପାରେ." -#: ../src/named-manager/nm-named-manager.c:386 +#: ../src/dns-manager/nm-dns-manager.c:386 msgid "The nameservers listed below may not be recognized." msgstr "ନିମ୍ନରେ ତାଲିକାଭୁକ୍ତ nameserverଗୁଡ଼ିକୁ ଚିହ୍ନି ହୋଇନପାରେ." diff --git a/po/pa.po b/po/pa.po index 482ddbf894..4894383b15 100644 --- a/po/pa.po +++ b/po/pa.po @@ -1680,11 +1680,11 @@ msgstr "ਅਣਜਾਣ ਲਾਗ ਲੈਵਲ '%s'" msgid "Unknown log domain '%s'" msgstr "ਅਣਜਾਣ ਲਾਗ ਡੋਮੇਨ '%s'" -#: ../src/named-manager/nm-named-manager.c:350 +#: ../src/dns-manager/nm-dns-manager.c:350 msgid "NOTE: the libc resolver may not support more than 3 nameservers." msgstr "ਨੋਟ: libc ਰਿਜ਼ੋਲਵਰ ੩ ਤੋਂ ਵੱਧ ਨੇਮ-ਸਰਵਰ ਲਈ ਸਹਾਇਕ ਨਹੀਂ ਹੋ ਸਕਦਾ ਹੈ।" -#: ../src/named-manager/nm-named-manager.c:352 +#: ../src/dns-manager/nm-dns-manager.c:352 msgid "The nameservers listed below may not be recognized." msgstr "ਹੇਠਾਂ ਦਿੱਤੇ ਨੇਮ-ਸਰਵਰ ਪਛਾਣੇ ਨਹੀਂ ਜਾ ਸਕਦੇ।" diff --git a/po/pl.po b/po/pl.po index 7ffa179913..cfa994a294 100644 --- a/po/pl.po +++ b/po/pl.po @@ -1563,11 +1563,11 @@ msgstr "nie można połączyć się z netlink: %s" msgid "unable to join netlink group: %s" msgstr "nie można dołączyć do grupy netlink: %s" -#: ../src/named-manager/nm-named-manager.c:315 +#: ../src/dns-manager/nm-dns-manager.c:315 msgid "NOTE: the libc resolver may not support more than 3 nameservers." msgstr "UWAGA: obsługa nazw libc nie obsługuje więcej niż 3 serwery nazw." -#: ../src/named-manager/nm-named-manager.c:317 +#: ../src/dns-manager/nm-dns-manager.c:317 msgid "The nameservers listed below may not be recognized." msgstr "Poniższe serwery nazw nie mogą nie zostać rozpoznane." diff --git a/po/pt_BR.po b/po/pt_BR.po index 13c7a27624..40919e8a6b 100644 --- a/po/pt_BR.po +++ b/po/pt_BR.po @@ -1311,13 +1311,13 @@ msgstr "Nível de registro \"%s\" desconhecido" msgid "Unknown log domain '%s'" msgstr "Domínio de registro \"%s\" desconhecido" -#: ../src/named-manager/nm-named-manager.c:343 +#: ../src/dns-manager/nm-dns-manager.c:343 msgid "NOTE: the libc resolver may not support more than 3 nameservers." msgstr "" "NOTA: o resolvedor da libc não tem suporte a mais do que 3 servidores de " "nomes." -#: ../src/named-manager/nm-named-manager.c:345 +#: ../src/dns-manager/nm-dns-manager.c:345 msgid "The nameservers listed below may not be recognized." msgstr "Os servidores de nomes listados abaixo podem não ser reconhecidos." diff --git a/po/ru.po b/po/ru.po index eaf0b8964c..2595ab3c6b 100644 --- a/po/ru.po +++ b/po/ru.po @@ -1594,13 +1594,13 @@ msgstr "Неизвестный уровень журналирования «%s msgid "Unknown log domain '%s'" msgstr "Неизвестный домен журналирования «%s»" -#: ../src/named-manager/nm-named-manager.c:343 +#: ../src/dns-manager/nm-dns-manager.c:343 msgid "NOTE: the libc resolver may not support more than 3 nameservers." msgstr "" "ВНИМАНИЕ: преобразователь имён glibc не поддерживает более трёх серверов " "имён." -#: ../src/named-manager/nm-named-manager.c:345 +#: ../src/dns-manager/nm-dns-manager.c:345 msgid "The nameservers listed below may not be recognized." msgstr "Нижеперечисленные сервера могут быть пропущены." diff --git a/po/sl.po b/po/sl.po index 425fd752e2..4f9809182c 100644 --- a/po/sl.po +++ b/po/sl.po @@ -446,11 +446,11 @@ msgstr "z netlink se ni mogoče povezati: %s" msgid "unable to join netlink group: %s" msgstr "skupini netlink se ni mogoče pridružiti: %s" -#: ../src/named-manager/nm-named-manager.c:315 +#: ../src/dns-manager/nm-dns-manager.c:315 msgid "NOTE: the libc resolver may not support more than 3 nameservers." msgstr "OPOMBA: libc razreševalnik morda ne podpira več kot 3 imenske strežnike." -#: ../src/named-manager/nm-named-manager.c:317 +#: ../src/dns-manager/nm-dns-manager.c:317 msgid "The nameservers listed below may not be recognized." msgstr "Imenski strežniki našteti spodaj morda ne bodo prepoznani." diff --git a/po/sv.po b/po/sv.po index 42b5e884ad..dc9869ed1f 100644 --- a/po/sv.po +++ b/po/sv.po @@ -1849,11 +1849,11 @@ msgstr "Okänd loggnivå \"%s\"" msgid "Unknown log domain '%s'" msgstr "Okänd loggdomän \"%s\"" -#: ../src/named-manager/nm-named-manager.c:384 +#: ../src/dns-manager/nm-dns-manager.c:384 msgid "NOTE: the libc resolver may not support more than 3 nameservers." msgstr "OBSERVERA: uppslag via glibc kanske inte har stöd för fler än 3 namnservrar." -#: ../src/named-manager/nm-named-manager.c:386 +#: ../src/dns-manager/nm-dns-manager.c:386 msgid "The nameservers listed below may not be recognized." msgstr "Namnservrarna listade nedan kanske inte kommer att kännas igen." diff --git a/po/ta.po b/po/ta.po index 1642030c33..8ab5caeb63 100644 --- a/po/ta.po +++ b/po/ta.po @@ -1594,11 +1594,11 @@ msgstr "தெரியாத பதிவு நிலை '%s'" msgid "Unknown log domain '%s'" msgstr "தெரியாத பதிவு டொமைன் '%s'" -#: ../src/named-manager/nm-named-manager.c:343 +#: ../src/dns-manager/nm-dns-manager.c:343 msgid "NOTE: the libc resolver may not support more than 3 nameservers." msgstr "குறிப்பு: இந்த libc மறுதீர்வாளர் 3 பெயர்சேவையர்களுக்கு மேல் துணைபுரியவதில்லை." -#: ../src/named-manager/nm-named-manager.c:345 +#: ../src/dns-manager/nm-dns-manager.c:345 msgid "The nameservers listed below may not be recognized." msgstr "கீழே பட்டியலிட்டப்படுள்ள பெயர்சேவையகங்கள் கண்டுபிடிக்கப்படவில்லை." diff --git a/po/te.po b/po/te.po index ec83618fff..cf05561417 100644 --- a/po/te.po +++ b/po/te.po @@ -1681,11 +1681,11 @@ msgstr "తెలియని లాగ్ స్థాయి '%s'" msgid "Unknown log domain '%s'" msgstr "తెలియని లాగ్ డొమైన్ '%s'" -#: ../src/named-manager/nm-named-manager.c:350 +#: ../src/dns-manager/nm-dns-manager.c:350 msgid "NOTE: the libc resolver may not support more than 3 nameservers." msgstr "గమనిక: libc రిజాల్వర్ 3 నామపు సేవికలకన్నా యెక్కువ వాటికి మద్దతివ్వలేదు." -#: ../src/named-manager/nm-named-manager.c:352 +#: ../src/dns-manager/nm-dns-manager.c:352 msgid "The nameservers listed below may not be recognized." msgstr "క్రిందన జాబితాచేసివున్న నామపుసేవికలు గుర్తించబడక పోవచ్చును." diff --git a/po/vi.po b/po/vi.po index cca7c1bf66..362d2f7a6b 100644 --- a/po/vi.po +++ b/po/vi.po @@ -57,11 +57,11 @@ msgid "Invalid option. Please use --help to see a list of valid options.\n" msgstr "" "Tùy chọn không hợp lệ. Hãy sử dụng tùy chọn trợ giúp « --help » để xem một danh sách các tùy chọn hợp lệ.\n" -#: ../src/named-manager/nm-named-manager.c:218 +#: ../src/dns-manager/nm-dns-manager.c:218 msgid "NOTE: the glibc resolver does not support more than 3 nameservers." msgstr "GHI CHÚ : hàm giải quyết glibc chỉ hỗ trợ đến 3 máy phục vụ tên." -#: ../src/named-manager/nm-named-manager.c:220 +#: ../src/dns-manager/nm-dns-manager.c:220 msgid "The nameservers listed below may not be recognized." msgstr "Những máy phục vụ tên được liệt kê dưới đây có lẽ không nhận ra được." diff --git a/po/zh_CN.po b/po/zh_CN.po index ccd64cd937..81e2e6b6a2 100644 --- a/po/zh_CN.po +++ b/po/zh_CN.po @@ -1682,11 +1682,11 @@ msgstr "未知日志等级 '%s'" msgid "Unknown log domain '%s'" msgstr "未知日志域 '%s'" -#: ../src/named-manager/nm-named-manager.c:384 +#: ../src/dns-manager/nm-dns-manager.c:384 msgid "NOTE: the libc resolver may not support more than 3 nameservers." msgstr "注意:libc 解析器可能不支持超过三个名字服务器。" -#: ../src/named-manager/nm-named-manager.c:386 +#: ../src/dns-manager/nm-dns-manager.c:386 msgid "The nameservers listed below may not be recognized." msgstr "以下列出的名字服务器可能无法被识别。" diff --git a/po/zh_HK.po b/po/zh_HK.po index c56c2781f9..662cabd985 100644 --- a/po/zh_HK.po +++ b/po/zh_HK.po @@ -44,11 +44,11 @@ msgstr "" "# Merged from %s\n" "\n" -#: ../src/named-manager/nm-named-manager.c:257 +#: ../src/dns-manager/nm-dns-manager.c:257 msgid "NOTE: the glibc resolver does not support more than 3 nameservers." msgstr "注意:glibc 解析器不支援 3 個以上的名稱伺服器。" -#: ../src/named-manager/nm-named-manager.c:259 +#: ../src/dns-manager/nm-dns-manager.c:259 msgid "The nameservers listed below may not be recognized." msgstr "下面列出的名稱伺服器可能不會被辨識。" diff --git a/po/zh_TW.po b/po/zh_TW.po index 4357e26699..25e81bbe1b 100644 --- a/po/zh_TW.po +++ b/po/zh_TW.po @@ -1591,11 +1591,11 @@ msgstr "不明日誌層級「%s」" msgid "Unknown log domain '%s'" msgstr "不明日誌網域「%s」" -#: ../src/named-manager/nm-named-manager.c:343 +#: ../src/dns-manager/nm-dns-manager.c:343 msgid "NOTE: the libc resolver may not support more than 3 nameservers." msgstr "注意:libc 解析器不支援 3 個以上的名稱伺服器。" -#: ../src/named-manager/nm-named-manager.c:345 +#: ../src/dns-manager/nm-dns-manager.c:345 msgid "The nameservers listed below may not be recognized." msgstr "下面列出的名稱伺服器可能不會被辨識。" diff --git a/src/Makefile.am b/src/Makefile.am index 72b23d083e..8c01df0fb4 100644 --- a/src/Makefile.am +++ b/src/Makefile.am @@ -1,6 +1,6 @@ SUBDIRS= \ logging \ - named-manager \ + dns-manager \ vpn-manager \ dhcp-manager \ ip6-manager \ @@ -18,7 +18,7 @@ INCLUDES = -I${top_srcdir} \ -I${top_srcdir}/include \ -I${top_builddir}/marshallers \ -I${top_srcdir}/src/logging \ - -I${top_srcdir}/src/named-manager \ + -I${top_srcdir}/src/dns-manager \ -I${top_srcdir}/src/vpn-manager \ -I${top_srcdir}/src/dhcp-manager \ -I${top_srcdir}/src/ip6-manager \ @@ -228,7 +228,7 @@ NetworkManager_CPPFLAGS = \ NetworkManager_LDADD = \ $(top_builddir)/marshallers/libmarshallers.la \ ./logging/libnm-logging.la \ - ./named-manager/libnamed-manager.la \ + ./dns-manager/libdns-manager.la \ ./vpn-manager/libvpn-manager.la \ ./dhcp-manager/libdhcp-manager.la \ ./ip6-manager/libip6-manager.la \ diff --git a/src/backends/Makefile.am b/src/backends/Makefile.am index c3485e5f9b..b35fafd72a 100644 --- a/src/backends/Makefile.am +++ b/src/backends/Makefile.am @@ -3,8 +3,6 @@ INCLUDES = \ -I${top_srcdir}/src/logging \ -I${top_srcdir}/include \ -I${top_srcdir}/src \ - -I${top_srcdir}/src/vpn-manager \ - -I${top_srcdir}/src/named-manager \ -I${top_srcdir}/libnm-util noinst_LTLIBRARIES = libnmbackend.la diff --git a/src/dhcp-manager/Makefile.am b/src/dhcp-manager/Makefile.am index 4c5408701e..e29c6718a3 100644 --- a/src/dhcp-manager/Makefile.am +++ b/src/dhcp-manager/Makefile.am @@ -4,8 +4,7 @@ INCLUDES = \ -I${top_builddir}/marshallers \ -I${top_srcdir}/src/logging \ -I${top_srcdir}/libnm-util \ - -I${top_srcdir}/src \ - -I${top_srcdir}/src/named-manager + -I${top_srcdir}/src noinst_LTLIBRARIES = libdhcp-manager.la diff --git a/src/named-manager/Makefile.am b/src/dns-manager/Makefile.am similarity index 64% rename from src/named-manager/Makefile.am rename to src/dns-manager/Makefile.am index a33f7d50a9..d1ea5f87e9 100644 --- a/src/named-manager/Makefile.am +++ b/src/dns-manager/Makefile.am @@ -4,17 +4,17 @@ INCLUDES = \ -I${top_srcdir}/src \ -I${top_srcdir}/include -noinst_LTLIBRARIES = libnamed-manager.la +noinst_LTLIBRARIES = libdns-manager.la -libnamed_manager_la_SOURCES = nm-named-manager.h nm-named-manager.c +libdns_manager_la_SOURCES = nm-dns-manager.h nm-dns-manager.c -libnamed_manager_la_CPPFLAGS = \ +libdns_manager_la_CPPFLAGS = \ $(DBUS_CFLAGS) \ $(GLIB_CFLAGS) \ -DNM_PKGDATADIR=\"$(pkgdatadir)\" \ -DNM_LOCALSTATEDIR=\"$(localstatedir)\" -libnamed_manager_la_LIBADD = \ +libdns_manager_la_LIBADD = \ $(top_builddir)/src/logging/libnm-logging.la \ $(DBUS_LIBS) \ $(GLIB_LIBS) diff --git a/src/named-manager/nm-named-manager.c b/src/dns-manager/nm-dns-manager.c similarity index 86% rename from src/named-manager/nm-named-manager.c rename to src/dns-manager/nm-dns-manager.c index aea23b4e3b..6b4b67543c 100644 --- a/src/named-manager/nm-named-manager.c +++ b/src/dns-manager/nm-dns-manager.c @@ -36,7 +36,7 @@ #include -#include "nm-named-manager.h" +#include "nm-dns-manager.h" #include "nm-ip4-config.h" #include "nm-ip6-config.h" #include "nm-logging.h" @@ -53,14 +53,14 @@ #define ADDR_BUF_LEN 50 -G_DEFINE_TYPE(NMNamedManager, nm_named_manager, G_TYPE_OBJECT) +G_DEFINE_TYPE(NMDnsManager, nm_dns_manager, G_TYPE_OBJECT) -#define NM_NAMED_MANAGER_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), \ - NM_TYPE_NAMED_MANAGER, \ - NMNamedManagerPrivate)) +#define NM_DNS_MANAGER_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), \ + NM_TYPE_DNS_MANAGER, \ + NMDnsManagerPrivate)) -struct NMNamedManagerPrivate { +struct NMDnsManagerPrivate { NMIP4Config *ip4_vpn_config; NMIP4Config *ip4_device_config; NMIP6Config *ip6_vpn_config; @@ -76,13 +76,13 @@ struct NMNamedManagerPrivate { }; -NMNamedManager * -nm_named_manager_get (void) +NMDnsManager * +nm_dns_manager_get (void) { - static NMNamedManager * singleton = NULL; + static NMDnsManager * singleton = NULL; if (!singleton) - singleton = NM_NAMED_MANAGER (g_object_new (NM_TYPE_NAMED_MANAGER, NULL)); + singleton = NM_DNS_MANAGER (g_object_new (NM_TYPE_DNS_MANAGER, NULL)); else g_object_ref (singleton); @@ -92,11 +92,11 @@ nm_named_manager_get (void) GQuark -nm_named_manager_error_quark (void) +nm_dns_manager_error_quark (void) { static GQuark quark = 0; if (!quark) - quark = g_quark_from_static_string ("nm_named_manager_error"); + quark = g_quark_from_static_string ("nm_dns_manager_error"); return quark; } @@ -284,7 +284,7 @@ dispatch_netconfig (const char *domain, // resolv.conf. Assuming netconfig works in the obvious way, then // there are various failure modes, such as, eg, bringing up a VPN on // eth0, then bringing up wlan0, then bringing down the VPN. Because - // NMNamedManager would have claimed that the VPN DNS server was also + // NMDnsManager would have claimed that the VPN DNS server was also // part of the wlan0 config, it will remain in resolv.conf after the // VPN goes down, even though it is presumably no longer reachable // at that point. @@ -353,10 +353,10 @@ write_resolv_conf (FILE *f, const char *domain, if (fprintf (f, "%s","# Generated by NetworkManager\n") < 0) { g_set_error (error, - NM_NAMED_MANAGER_ERROR, - NM_NAMED_MANAGER_ERROR_SYSTEM, - "Could not write " RESOLV_CONF ": %s\n", - g_strerror (errno)); + NM_DNS_MANAGER_ERROR, + NM_DNS_MANAGER_ERROR_SYSTEM, + "Could not write " RESOLV_CONF ": %s\n", + g_strerror (errno)); return FALSE; } @@ -428,11 +428,11 @@ dispatch_resolvconf (const char *domain, nm_log_info (LOGD_DNS, "(%s): writing resolv.conf to %s", iface, RESOLVCONF_PATH); if ((f = popen (cmd, "w")) == NULL) g_set_error (error, - NM_NAMED_MANAGER_ERROR, - NM_NAMED_MANAGER_ERROR_SYSTEM, - "Could not write to %s: %s\n", - RESOLVCONF_PATH, - g_strerror (errno)); + NM_DNS_MANAGER_ERROR, + NM_DNS_MANAGER_ERROR_SYSTEM, + "Could not write to %s: %s\n", + RESOLVCONF_PATH, + g_strerror (errno)); else { retval = write_resolv_conf (f, domain, searches, nameservers, error); retval &= (pclose (f) == 0); @@ -486,8 +486,8 @@ update_resolv_conf (const char *domain, old_errno = errno; if ((f = fopen (RESOLV_CONF, "w")) == NULL) { g_set_error (error, - NM_NAMED_MANAGER_ERROR, - NM_NAMED_MANAGER_ERROR_SYSTEM, + NM_DNS_MANAGER_ERROR, + NM_DNS_MANAGER_ERROR_SYSTEM, "Could not open %s: %s\nCould not open %s: %s\n", tmp_resolv_conf_realpath, g_strerror (old_errno), @@ -509,8 +509,8 @@ update_resolv_conf (const char *domain, * since its error is more important. */ g_set_error (error, - NM_NAMED_MANAGER_ERROR, - NM_NAMED_MANAGER_ERROR_SYSTEM, + NM_DNS_MANAGER_ERROR, + NM_DNS_MANAGER_ERROR_SYSTEM, "Could not close %s: %s\n", tmp_resolv_conf_realpath, g_strerror (errno)); @@ -523,8 +523,8 @@ update_resolv_conf (const char *domain, if (*error == NULL && do_rename) { if (rename (tmp_resolv_conf_realpath, resolv_conf_realpath) < 0) { g_set_error (error, - NM_NAMED_MANAGER_ERROR, - NM_NAMED_MANAGER_ERROR_SYSTEM, + NM_DNS_MANAGER_ERROR, + NM_DNS_MANAGER_ERROR_SYSTEM, "Could not replace " RESOLV_CONF ": %s\n", g_strerror (errno)); } @@ -537,9 +537,9 @@ out: } static gboolean -rewrite_resolv_conf (NMNamedManager *mgr, const char *iface, GError **error) +rewrite_resolv_conf (NMDnsManager *mgr, const char *iface, GError **error) { - NMNamedManagerPrivate *priv; + NMDnsManagerPrivate *priv; NMResolvConfData rc; GSList *iter; const char *domain = NULL; @@ -553,7 +553,7 @@ rewrite_resolv_conf (NMNamedManager *mgr, const char *iface, GError **error) g_return_val_if_fail (error != NULL, FALSE); g_return_val_if_fail (*error == NULL, FALSE); - priv = NM_NAMED_MANAGER_GET_PRIVATE (mgr); + priv = NM_DNS_MANAGER_GET_PRIVATE (mgr); if (iface) { g_free (priv->last_iface); @@ -669,25 +669,25 @@ rewrite_resolv_conf (NMNamedManager *mgr, const char *iface, GError **error) } gboolean -nm_named_manager_add_ip4_config (NMNamedManager *mgr, - const char *iface, - NMIP4Config *config, - NMNamedIPConfigType cfg_type) +nm_dns_manager_add_ip4_config (NMDnsManager *mgr, + const char *iface, + NMIP4Config *config, + NMDnsIPConfigType cfg_type) { - NMNamedManagerPrivate *priv; + NMDnsManagerPrivate *priv; GError *error = NULL; g_return_val_if_fail (mgr != NULL, FALSE); g_return_val_if_fail (iface != NULL, FALSE); g_return_val_if_fail (config != NULL, FALSE); - priv = NM_NAMED_MANAGER_GET_PRIVATE (mgr); + priv = NM_DNS_MANAGER_GET_PRIVATE (mgr); switch (cfg_type) { - case NM_NAMED_IP_CONFIG_TYPE_VPN: + case NM_DNS_IP_CONFIG_TYPE_VPN: priv->ip4_vpn_config = config; break; - case NM_NAMED_IP_CONFIG_TYPE_BEST_DEVICE: + case NM_DNS_IP_CONFIG_TYPE_BEST_DEVICE: priv->ip4_device_config = config; break; default: @@ -707,18 +707,18 @@ nm_named_manager_add_ip4_config (NMNamedManager *mgr, } gboolean -nm_named_manager_remove_ip4_config (NMNamedManager *mgr, - const char *iface, - NMIP4Config *config) +nm_dns_manager_remove_ip4_config (NMDnsManager *mgr, + const char *iface, + NMIP4Config *config) { - NMNamedManagerPrivate *priv; + NMDnsManagerPrivate *priv; GError *error = NULL; g_return_val_if_fail (mgr != NULL, FALSE); g_return_val_if_fail (iface != NULL, FALSE); g_return_val_if_fail (config != NULL, FALSE); - priv = NM_NAMED_MANAGER_GET_PRIVATE (mgr); + priv = NM_DNS_MANAGER_GET_PRIVATE (mgr); /* Can't remove it if it wasn't in the list to begin with */ if (!g_slist_find (priv->configs, config)) @@ -743,27 +743,27 @@ nm_named_manager_remove_ip4_config (NMNamedManager *mgr, } gboolean -nm_named_manager_add_ip6_config (NMNamedManager *mgr, - const char *iface, - NMIP6Config *config, - NMNamedIPConfigType cfg_type) +nm_dns_manager_add_ip6_config (NMDnsManager *mgr, + const char *iface, + NMIP6Config *config, + NMDnsIPConfigType cfg_type) { - NMNamedManagerPrivate *priv; + NMDnsManagerPrivate *priv; GError *error = NULL; g_return_val_if_fail (mgr != NULL, FALSE); g_return_val_if_fail (iface != NULL, FALSE); g_return_val_if_fail (config != NULL, FALSE); - priv = NM_NAMED_MANAGER_GET_PRIVATE (mgr); + priv = NM_DNS_MANAGER_GET_PRIVATE (mgr); switch (cfg_type) { - case NM_NAMED_IP_CONFIG_TYPE_VPN: + case NM_DNS_IP_CONFIG_TYPE_VPN: /* FIXME: not quite yet... */ - g_return_val_if_fail (cfg_type != NM_NAMED_IP_CONFIG_TYPE_VPN, FALSE); + g_return_val_if_fail (cfg_type != NM_DNS_IP_CONFIG_TYPE_VPN, FALSE); priv->ip6_vpn_config = config; break; - case NM_NAMED_IP_CONFIG_TYPE_BEST_DEVICE: + case NM_DNS_IP_CONFIG_TYPE_BEST_DEVICE: priv->ip6_device_config = config; break; default: @@ -783,18 +783,18 @@ nm_named_manager_add_ip6_config (NMNamedManager *mgr, } gboolean -nm_named_manager_remove_ip6_config (NMNamedManager *mgr, - const char *iface, - NMIP6Config *config) +nm_dns_manager_remove_ip6_config (NMDnsManager *mgr, + const char *iface, + NMIP6Config *config) { - NMNamedManagerPrivate *priv; + NMDnsManagerPrivate *priv; GError *error = NULL; g_return_val_if_fail (mgr != NULL, FALSE); g_return_val_if_fail (iface != NULL, FALSE); g_return_val_if_fail (config != NULL, FALSE); - priv = NM_NAMED_MANAGER_GET_PRIVATE (mgr); + priv = NM_DNS_MANAGER_GET_PRIVATE (mgr); /* Can't remove it if it wasn't in the list to begin with */ if (!g_slist_find (priv->configs, config)) @@ -819,10 +819,10 @@ nm_named_manager_remove_ip6_config (NMNamedManager *mgr, } void -nm_named_manager_set_hostname (NMNamedManager *mgr, +nm_dns_manager_set_hostname (NMDnsManager *mgr, const char *hostname) { - NMNamedManagerPrivate *priv = NM_NAMED_MANAGER_GET_PRIVATE (mgr); + NMDnsManagerPrivate *priv = NM_DNS_MANAGER_GET_PRIVATE (mgr); GError *error = NULL; const char *filtered = NULL; @@ -854,30 +854,30 @@ nm_named_manager_set_hostname (NMNamedManager *mgr, static void -nm_named_manager_init (NMNamedManager *mgr) +nm_dns_manager_init (NMDnsManager *mgr) { } static void -nm_named_manager_finalize (GObject *object) +nm_dns_manager_finalize (GObject *object) { - NMNamedManagerPrivate *priv = NM_NAMED_MANAGER_GET_PRIVATE (object); + NMDnsManagerPrivate *priv = NM_DNS_MANAGER_GET_PRIVATE (object); g_slist_foreach (priv->configs, (GFunc) g_object_unref, NULL); g_slist_free (priv->configs); g_free (priv->hostname); g_free (priv->last_iface); - G_OBJECT_CLASS (nm_named_manager_parent_class)->finalize (object); + G_OBJECT_CLASS (nm_dns_manager_parent_class)->finalize (object); } static void -nm_named_manager_class_init (NMNamedManagerClass *klass) +nm_dns_manager_class_init (NMDnsManagerClass *klass) { GObjectClass *object_class = G_OBJECT_CLASS (klass); - object_class->finalize = nm_named_manager_finalize; + object_class->finalize = nm_dns_manager_finalize; - g_type_class_add_private (object_class, sizeof (NMNamedManagerPrivate)); + g_type_class_add_private (object_class, sizeof (NMDnsManagerPrivate)); } diff --git a/src/dns-manager/nm-dns-manager.h b/src/dns-manager/nm-dns-manager.h new file mode 100644 index 0000000000..0002d69990 --- /dev/null +++ b/src/dns-manager/nm-dns-manager.h @@ -0,0 +1,95 @@ +/* -*- Mode: C; tab-width: 4; indent-tabs-mode: t; c-basic-offset: 4 -*- */ +/* NetworkManager -- Network link manager + * + * This program is free software; you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation; either version 2 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License along + * with this program; if not, write to the Free Software Foundation, Inc., + * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. + * + * Copyright (C) 2004 - 2005 Colin Walters + * Copyright (C) 2004 - 2010 Red Hat, Inc. + * Copyright (C) 2005 - 2008 Novell, Inc. + * and others + */ + +#ifndef NM_DNS_MANAGER_H +#define NM_DNS_MANAGER_H + +#include "config.h" +#include +#include +#include "nm-ip4-config.h" +#include "nm-ip6-config.h" + +typedef enum { + NM_DNS_MANAGER_ERROR_SYSTEM, + NM_DNS_MANAGER_ERROR_INVALID_NAMESERVER, + NM_DNS_MANAGER_ERROR_INVALID_HOST, + NM_DNS_MANAGER_ERROR_INVALID_ID +} NMDnsManagerError; + +typedef enum { + NM_DNS_IP_CONFIG_TYPE_DEFAULT = 0, + NM_DNS_IP_CONFIG_TYPE_BEST_DEVICE, + NM_DNS_IP_CONFIG_TYPE_VPN +} NMDnsIPConfigType; + +#define NM_DNS_MANAGER_ERROR nm_dns_manager_error_quark () +GQuark nm_dns_manager_error_quark (void); + +G_BEGIN_DECLS + +#define NM_TYPE_DNS_MANAGER (nm_dns_manager_get_type ()) +#define NM_DNS_MANAGER(o) (G_TYPE_CHECK_INSTANCE_CAST ((o), NM_TYPE_DNS_MANAGER, NMDnsManager)) +#define NM_DNS_MANAGER_CLASS(k) (G_TYPE_CHECK_CLASS_CAST((k), NM_TYPE_DNS_MANAGER, NMDnsManagerClass)) +#define NM_IS_DNS_MANAGER(o) (G_TYPE_CHECK_INSTANCE_TYPE ((o), NM_TYPE_DNS_MANAGER)) +#define NM_IS_DNS_MANAGER_CLASS(k) (G_TYPE_CHECK_CLASS_TYPE ((k), NM_TYPE_DNS_MANAGER)) +#define NM_DNS_MANAGER_GET_CLASS(o) (G_TYPE_INSTANCE_GET_CLASS ((o), NM_TYPE_DNS_MANAGER, NMDnsManagerClass)) + +typedef struct NMDnsManagerPrivate NMDnsManagerPrivate; + +typedef struct { + GObject parent; +} NMDnsManager; + +typedef struct { + GObjectClass parent; +} NMDnsManagerClass; + +GType nm_dns_manager_get_type (void); + +NMDnsManager * nm_dns_manager_get (void); + +gboolean nm_dns_manager_add_ip4_config (NMDnsManager *mgr, + const char *iface, + NMIP4Config *config, + NMDnsIPConfigType cfg_type); + +gboolean nm_dns_manager_remove_ip4_config (NMDnsManager *mgr, + const char *iface, + NMIP4Config *config); + +gboolean nm_dns_manager_add_ip6_config (NMDnsManager *mgr, + const char *iface, + NMIP6Config *config, + NMDnsIPConfigType cfg_type); + +gboolean nm_dns_manager_remove_ip6_config (NMDnsManager *mgr, + const char *iface, + NMIP6Config *config); + +void nm_dns_manager_set_hostname (NMDnsManager *mgr, + const char *hostname); + +G_END_DECLS + +#endif /* NM_DNS_MANAGER_H */ diff --git a/src/ip6-manager/Makefile.am b/src/ip6-manager/Makefile.am index c2f5591429..b56b197e75 100644 --- a/src/ip6-manager/Makefile.am +++ b/src/ip6-manager/Makefile.am @@ -4,8 +4,7 @@ INCLUDES = \ -I${top_builddir}/marshallers \ -I${top_srcdir}/libnm-util \ -I${top_srcdir}/src/logging \ - -I${top_srcdir}/src \ - -I${top_srcdir}/src/named-manager + -I${top_srcdir}/src noinst_LTLIBRARIES = libip6-manager.la diff --git a/src/main.c b/src/main.c index aea2eef233..01bca9dc3e 100644 --- a/src/main.c +++ b/src/main.c @@ -41,7 +41,7 @@ #include "nm-manager.h" #include "nm-policy.h" #include "nm-system.h" -#include "nm-named-manager.h" +#include "nm-dns-manager.h" #include "nm-dbus-manager.h" #include "nm-supplicant-manager.h" #include "nm-dhcp-manager.h" @@ -446,7 +446,7 @@ main (int argc, char *argv[]) gboolean success; NMPolicy *policy = NULL; NMVPNManager *vpn_manager = NULL; - NMNamedManager *named_mgr = NULL; + NMDnsManager *dns_mgr = NULL; NMDBusManager *dbus_mgr = NULL; NMSupplicantManager *sup_mgr = NULL; NMDHCPManager *dhcp_mgr = NULL; @@ -663,9 +663,9 @@ main (int argc, char *argv[]) goto done; } - named_mgr = nm_named_manager_get (); - if (!named_mgr) { - nm_log_err (LOGD_CORE, "failed to start the named manager."); + dns_mgr = nm_dns_manager_get (); + if (!dns_mgr) { + nm_log_err (LOGD_CORE, "failed to start the DNS manager."); goto done; } @@ -733,8 +733,8 @@ done: if (vpn_manager) g_object_unref (vpn_manager); - if (named_mgr) - g_object_unref (named_mgr); + if (dns_mgr) + g_object_unref (dns_mgr); if (dhcp_mgr) g_object_unref (dhcp_mgr); diff --git a/src/named-manager/nm-named-manager.h b/src/named-manager/nm-named-manager.h deleted file mode 100644 index 27d5bc259d..0000000000 --- a/src/named-manager/nm-named-manager.h +++ /dev/null @@ -1,95 +0,0 @@ -/* -*- Mode: C; tab-width: 4; indent-tabs-mode: t; c-basic-offset: 4 -*- */ -/* NetworkManager -- Network link manager - * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 2 of the License, or - * (at your option) any later version. - * - * This program is distributed in the hope that it will be useful, - * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. - * - * You should have received a copy of the GNU General Public License along - * with this program; if not, write to the Free Software Foundation, Inc., - * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. - * - * Copyright (C) 2004 - 2005 Colin Walters - * Copyright (C) 2004 - 2010 Red Hat, Inc. - * Copyright (C) 2005 - 2008 Novell, Inc. - * and others - */ - -#ifndef __NM_NAMED_MANAGER_H__ -#define __NM_NAMED_MANAGER_H__ - -#include "config.h" -#include -#include -#include "nm-ip4-config.h" -#include "nm-ip6-config.h" - -typedef enum { - NM_NAMED_MANAGER_ERROR_SYSTEM, - NM_NAMED_MANAGER_ERROR_INVALID_NAMESERVER, - NM_NAMED_MANAGER_ERROR_INVALID_HOST, - NM_NAMED_MANAGER_ERROR_INVALID_ID -} NMNamedManagerError; - -typedef enum { - NM_NAMED_IP_CONFIG_TYPE_DEFAULT = 0, - NM_NAMED_IP_CONFIG_TYPE_BEST_DEVICE, - NM_NAMED_IP_CONFIG_TYPE_VPN -} NMNamedIPConfigType; - -#define NM_NAMED_MANAGER_ERROR nm_named_manager_error_quark () -GQuark nm_named_manager_error_quark (void); - -G_BEGIN_DECLS - -#define NM_TYPE_NAMED_MANAGER (nm_named_manager_get_type ()) -#define NM_NAMED_MANAGER(o) (G_TYPE_CHECK_INSTANCE_CAST ((o), NM_TYPE_NAMED_MANAGER, NMNamedManager)) -#define NM_NAMED_MANAGER_CLASS(k) (G_TYPE_CHECK_CLASS_CAST((k), NM_TYPE_NAMED_MANAGER, NMNamedManagerClass)) -#define NM_IS_NAMED_MANAGER(o) (G_TYPE_CHECK_INSTANCE_TYPE ((o), NM_TYPE_NAMED_MANAGER)) -#define NM_IS_NAMED_MANAGER_CLASS(k) (G_TYPE_CHECK_CLASS_TYPE ((k), NM_TYPE_NAMED_MANAGER)) -#define NM_NAMED_MANAGER_GET_CLASS(o) (G_TYPE_INSTANCE_GET_CLASS ((o), NM_TYPE_NAMED_MANAGER, NMNamedManagerClass)) - -typedef struct NMNamedManagerPrivate NMNamedManagerPrivate; - -typedef struct { - GObject parent; -} NMNamedManager; - -typedef struct { - GObjectClass parent; -} NMNamedManagerClass; - -GType nm_named_manager_get_type (void); - -NMNamedManager * nm_named_manager_get (void); - -gboolean nm_named_manager_add_ip4_config (NMNamedManager *mgr, - const char *iface, - NMIP4Config *config, - NMNamedIPConfigType cfg_type); - -gboolean nm_named_manager_remove_ip4_config (NMNamedManager *mgr, - const char *iface, - NMIP4Config *config); - -gboolean nm_named_manager_add_ip6_config (NMNamedManager *mgr, - const char *iface, - NMIP6Config *config, - NMNamedIPConfigType cfg_type); - -gboolean nm_named_manager_remove_ip6_config (NMNamedManager *mgr, - const char *iface, - NMIP6Config *config); - -void nm_named_manager_set_hostname (NMNamedManager *mgr, - const char *hostname); - -G_END_DECLS - -#endif /* __NM_NAMED_MANAGER_H__ */ diff --git a/src/nm-device.c b/src/nm-device.c index 9e8ccdf296..ad1976b03c 100644 --- a/src/nm-device.c +++ b/src/nm-device.c @@ -42,7 +42,7 @@ #include "nm-system.h" #include "nm-dhcp-manager.h" #include "nm-dbus-manager.h" -#include "nm-named-manager.h" +#include "nm-dns-manager.h" #include "nm-utils.h" #include "nm-logging.h" #include "nm-netlink-monitor.h" @@ -3021,7 +3021,7 @@ nm_device_set_ip4_config (NMDevice *self, NMIP4Config *old_config = NULL; gboolean success = TRUE; NMIP4ConfigCompareFlags diff = NM_IP4_COMPARE_FLAG_ALL; - NMNamedManager *named_mgr; + NMDnsManager *dns_mgr; g_return_val_if_fail (NM_IS_DEVICE (self), FALSE); g_return_val_if_fail (reason != NULL, FALSE); @@ -3038,10 +3038,10 @@ nm_device_set_ip4_config (NMDevice *self, if (diff == NM_IP4_COMPARE_FLAG_NONE) return TRUE; - named_mgr = nm_named_manager_get (); + dns_mgr = nm_dns_manager_get (); if (old_config) { - /* Remove any previous IP4 Config from the named manager */ - nm_named_manager_remove_ip4_config (named_mgr, ip_iface, old_config); + /* Remove any previous IP4 Config from the DNS manager */ + nm_dns_manager_remove_ip4_config (dns_mgr, ip_iface, old_config); g_object_unref (old_config); priv->ip4_config = NULL; } @@ -3060,13 +3060,13 @@ nm_device_set_ip4_config (NMDevice *self, if (!nm_ip4_config_get_dbus_path (new_config)) nm_ip4_config_export (new_config); - /* Add the DNS information to the named manager */ - nm_named_manager_add_ip4_config (named_mgr, ip_iface, new_config, NM_NAMED_IP_CONFIG_TYPE_DEFAULT); + /* Add the DNS information to the DNS manager */ + nm_dns_manager_add_ip4_config (dns_mgr, ip_iface, new_config, NM_DNS_IP_CONFIG_TYPE_DEFAULT); nm_device_update_ip4_address (self); } } - g_object_unref (named_mgr); + g_object_unref (dns_mgr); g_object_notify (G_OBJECT (self), NM_DEVICE_INTERFACE_IP4_CONFIG); @@ -3124,7 +3124,7 @@ nm_device_set_ip6_config (NMDevice *self, NMIP6Config *old_config = NULL; gboolean success = TRUE; NMIP6ConfigCompareFlags diff = NM_IP6_COMPARE_FLAG_ALL; - NMNamedManager *named_mgr; + NMDnsManager *dns_mgr; g_return_val_if_fail (NM_IS_DEVICE (self), FALSE); g_return_val_if_fail (reason != NULL, FALSE); @@ -3141,10 +3141,10 @@ nm_device_set_ip6_config (NMDevice *self, if (diff == NM_IP6_COMPARE_FLAG_NONE) return TRUE; - named_mgr = nm_named_manager_get (); + dns_mgr = nm_dns_manager_get (); if (old_config) { - /* Remove any previous IP6 Config from the named manager */ - nm_named_manager_remove_ip6_config (named_mgr, ip_iface, old_config); + /* Remove any previous IP6 Config from the DNS manager */ + nm_dns_manager_remove_ip6_config (dns_mgr, ip_iface, old_config); g_object_unref (old_config); priv->ip6_config = NULL; } @@ -3163,11 +3163,11 @@ nm_device_set_ip6_config (NMDevice *self, if (!nm_ip6_config_get_dbus_path (new_config)) nm_ip6_config_export (new_config); - /* Add the DNS information to the named manager */ - nm_named_manager_add_ip6_config (named_mgr, ip_iface, new_config, NM_NAMED_IP_CONFIG_TYPE_DEFAULT); + /* Add the DNS information to the DNS manager */ + nm_dns_manager_add_ip6_config (dns_mgr, ip_iface, new_config, NM_DNS_IP_CONFIG_TYPE_DEFAULT); } } - g_object_unref (named_mgr); + g_object_unref (dns_mgr); g_object_notify (G_OBJECT (self), NM_DEVICE_INTERFACE_IP6_CONFIG); diff --git a/src/nm-policy.c b/src/nm-policy.c index 410a9bfc3d..28864a8780 100644 --- a/src/nm-policy.c +++ b/src/nm-policy.c @@ -39,7 +39,7 @@ #include "nm-setting-ip4-config.h" #include "nm-setting-connection.h" #include "nm-system.h" -#include "nm-named-manager.h" +#include "nm-dns-manager.h" #include "nm-vpn-manager.h" #include "nm-policy-hosts.h" #include "nm-policy-hostname.h" @@ -236,14 +236,14 @@ _set_hostname (NMPolicy *policy, char ip6_addr[INET6_ADDRSTRLEN + 1]; if (change_hostname) { - NMNamedManager *named_mgr; + NMDnsManager *dns_mgr; g_free (policy->cur_hostname); policy->cur_hostname = g_strdup (new_hostname); - named_mgr = nm_named_manager_get (); - nm_named_manager_set_hostname (named_mgr, policy->cur_hostname); - g_object_unref (named_mgr); + dns_mgr = nm_dns_manager_get (); + nm_dns_manager_set_hostname (dns_mgr, policy->cur_hostname); + g_object_unref (dns_mgr); } /* Get the default IPv4 and IPv6 addresses so we can assign @@ -453,10 +453,10 @@ update_system_hostname (NMPolicy *policy, NMDevice *best4, NMDevice *best6) static void update_ip4_routing_and_dns (NMPolicy *policy, gboolean force_update) { - NMNamedIPConfigType dns_type = NM_NAMED_IP_CONFIG_TYPE_BEST_DEVICE; + NMDnsIPConfigType dns_type = NM_DNS_IP_CONFIG_TYPE_BEST_DEVICE; NMDevice *best = NULL; NMActRequest *best_req = NULL; - NMNamedManager *named_mgr; + NMDnsManager *dns_mgr; GSList *devices = NULL, *iter, *vpns; NMIP4Config *ip4_config = NULL; NMIP4Address *addr; @@ -513,7 +513,7 @@ update_ip4_routing_and_dns (NMPolicy *policy, gboolean force_update) nm_device_get_ip_iface (parent), nm_ip4_config_get_mss (parent_ip4)); - dns_type = NM_NAMED_IP_CONFIG_TYPE_VPN; + dns_type = NM_DNS_IP_CONFIG_TYPE_VPN; } g_object_unref (candidate); } @@ -529,7 +529,7 @@ update_ip4_routing_and_dns (NMPolicy *policy, gboolean force_update) nm_system_replace_default_ip4_route (ip_iface, nm_ip4_address_get_gateway (addr), nm_ip4_config_get_mss (ip4_config)); - dns_type = NM_NAMED_IP_CONFIG_TYPE_BEST_DEVICE; + dns_type = NM_DNS_IP_CONFIG_TYPE_BEST_DEVICE; } if (!ip_iface || !ip4_config) { @@ -553,9 +553,9 @@ update_ip4_routing_and_dns (NMPolicy *policy, gboolean force_update) nm_act_request_set_default (req, FALSE); } - named_mgr = nm_named_manager_get (); - nm_named_manager_add_ip4_config (named_mgr, ip_iface, ip4_config, dns_type); - g_object_unref (named_mgr); + dns_mgr = nm_dns_manager_get (); + nm_dns_manager_add_ip4_config (dns_mgr, ip_iface, ip4_config, dns_type); + g_object_unref (dns_mgr); /* Now set new default active connection _after_ updating DNS info, so that * if the connection is shared dnsmasq picks up the right stuff. @@ -580,10 +580,10 @@ out: static void update_ip6_routing_and_dns (NMPolicy *policy, gboolean force_update) { - NMNamedIPConfigType dns_type = NM_NAMED_IP_CONFIG_TYPE_BEST_DEVICE; + NMDnsIPConfigType dns_type = NM_DNS_IP_CONFIG_TYPE_BEST_DEVICE; NMDevice *best = NULL; NMActRequest *best_req = NULL; - NMNamedManager *named_mgr; + NMDnsManager *dns_mgr; GSList *devices = NULL, *iter; #if NOT_YET GSList *vpns; @@ -638,7 +638,7 @@ update_ip6_routing_and_dns (NMPolicy *policy, gboolean force_update) nm_device_get_ip_iface (parent), nm_ip6_config_get_mss (parent_ip4)); - dns_type = NM_NAMED_IP_CONFIG_TYPE_VPN; + dns_type = NM_DNS_IP_CONFIG_TYPE_VPN; } g_object_unref (candidate); } @@ -655,7 +655,7 @@ update_ip6_routing_and_dns (NMPolicy *policy, gboolean force_update) nm_system_replace_default_ip6_route (ip_iface, nm_ip6_address_get_gateway (addr)); - dns_type = NM_NAMED_IP_CONFIG_TYPE_BEST_DEVICE; + dns_type = NM_DNS_IP_CONFIG_TYPE_BEST_DEVICE; } if (!ip_iface || !ip6_config) { @@ -679,9 +679,9 @@ update_ip6_routing_and_dns (NMPolicy *policy, gboolean force_update) nm_act_request_set_default6 (req, FALSE); } - named_mgr = nm_named_manager_get (); - nm_named_manager_add_ip6_config (named_mgr, ip_iface, ip6_config, dns_type); - g_object_unref (named_mgr); + dns_mgr = nm_dns_manager_get (); + nm_dns_manager_add_ip6_config (dns_mgr, ip_iface, ip6_config, dns_type); + g_object_unref (dns_mgr); /* Now set new default active connection _after_ updating DNS info, so that * if the connection is shared dnsmasq picks up the right stuff. diff --git a/src/nm-system.c b/src/nm-system.c index 24c31c2772..0911b82182 100644 --- a/src/nm-system.c +++ b/src/nm-system.c @@ -44,7 +44,6 @@ #include "nm-system.h" #include "nm-device.h" -#include "nm-named-manager.h" #include "NetworkManagerUtils.h" #include "nm-utils.h" #include "nm-logging.h" diff --git a/src/supplicant-manager/Makefile.am b/src/supplicant-manager/Makefile.am index e59ae84319..359fc70ae5 100644 --- a/src/supplicant-manager/Makefile.am +++ b/src/supplicant-manager/Makefile.am @@ -5,8 +5,7 @@ INCLUDES = \ -I${top_srcdir}/src/logging \ -I${top_srcdir}/include \ -I${top_srcdir}/libnm-util \ - -I${top_builddir}/marshallers \ - -I${top_srcdir}/src/named-manager + -I${top_builddir}/marshallers noinst_LTLIBRARIES = libsupplicant-manager.la diff --git a/src/vpn-manager/Makefile.am b/src/vpn-manager/Makefile.am index 2d755128da..b0692d70c3 100644 --- a/src/vpn-manager/Makefile.am +++ b/src/vpn-manager/Makefile.am @@ -5,7 +5,7 @@ INCLUDES = \ -I${top_srcdir}/src/logging \ -I${top_srcdir}/src \ -I${top_builddir}/marshallers \ - -I${top_srcdir}/src/named-manager \ + -I${top_srcdir}/src/dns-manager \ -DVPN_NAME_FILES_DIR=\""$(sysconfdir)/NetworkManager/VPN"\" diff --git a/src/vpn-manager/nm-vpn-connection.c b/src/vpn-manager/nm-vpn-connection.c index 227932adc5..d496e48ee3 100644 --- a/src/vpn-manager/nm-vpn-connection.c +++ b/src/vpn-manager/nm-vpn-connection.c @@ -44,7 +44,7 @@ #include "nm-properties-changed-signal.h" #include "nm-dbus-glib-types.h" #include "NetworkManagerUtils.h" -#include "nm-named-manager.h" +#include "nm-dns-manager.h" #include "nm-netlink-monitor.h" #include "nm-glib-compat.h" @@ -543,15 +543,15 @@ nm_vpn_connection_ip4_config_get (DBusGProxy *proxy, nm_system_device_set_up_down_with_iface (priv->ip_iface, TRUE, NULL); if (nm_system_apply_ip4_config (priv->ip_iface, config, 0, NM_IP4_COMPARE_FLAG_ALL)) { - NMNamedManager *named_mgr; + NMDnsManager *dns_mgr; /* Add any explicit route to the VPN gateway through the parent device */ priv->gw_route = nm_system_add_ip4_vpn_gateway_route (priv->parent_dev, config); /* Add the VPN to DNS */ - named_mgr = nm_named_manager_get (); - nm_named_manager_add_ip4_config (named_mgr, priv->ip_iface, config, NM_NAMED_IP_CONFIG_TYPE_VPN); - g_object_unref (named_mgr); + dns_mgr = nm_dns_manager_get (); + nm_dns_manager_add_ip4_config (dns_mgr, priv->ip_iface, config, NM_DNS_IP_CONFIG_TYPE_VPN); + g_object_unref (dns_mgr); priv->ip4_config = config; @@ -899,12 +899,12 @@ vpn_cleanup (NMVPNConnection *connection) if (priv->ip4_config) { NMIP4Config *parent_config; - NMNamedManager *named_mgr; + NMDnsManager *dns_mgr; /* Remove attributes of the VPN's IP4 Config */ - named_mgr = nm_named_manager_get (); - nm_named_manager_remove_ip4_config (named_mgr, priv->ip_iface, priv->ip4_config); - g_object_unref (named_mgr); + dns_mgr = nm_dns_manager_get (); + nm_dns_manager_remove_ip4_config (dns_mgr, priv->ip_iface, priv->ip4_config); + g_object_unref (dns_mgr); /* Remove any previously added VPN gateway host route */ if (priv->gw_route) From e8d294232087fd5486b9b63c1ab0286d8a5baccb Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ji=C5=99=C3=AD=20Klime=C5=A1?= Date: Thu, 9 Sep 2010 14:22:34 +0200 Subject: [PATCH 11/14] man: nmcli man page update - added ENVIRONMENT VARIABLES section --- man/nmcli.1.in | 28 +++++++++++++++++++++++++++- 1 file changed, 27 insertions(+), 1 deletion(-) diff --git a/man/nmcli.1.in b/man/nmcli.1.in index 260d076516..2fc99dc87b 100644 --- a/man/nmcli.1.in +++ b/man/nmcli.1.in @@ -22,7 +22,7 @@ .\" .\" Copyright (C) 2010 Red Hat, Inc. .\" -.TH NMCLI "1" "26 August 2010" +.TH NMCLI "1" "9 September 2010" .SH NAME nmcli \- command-line tool for controlling NetworkManager @@ -312,6 +312,32 @@ No simple reference. .fi .RE +.SH ENVIRONMENT VARIABLES +\fInmcli\fP's behavior is affected by the following environment variables. +.IP "LC_ALL" 13 +If set to a non-empty string value, override the values of all the other +internationalization variables. +.IP "LC_MESSAGES" 13 +Determines the locale to be used for internationalised messages. +.IP "LANG" 13 +Provides a default value for the internationalization variables that are unset +or null. + +.RE +Notes about localization: +.br +Be aware that \fInmcli\fP is localized and that's why the output depends on +your environment. It's important to realize that especially when you parse the +output. +.br +Call \fInmcli\fP as \fBLC_ALL=C nmcli\fP to be sure the locale is +set to "C" while executing in a script. + +\fBLC_ALL\fP, \fBLC_MESSAGES\fP, \fBLANG\fP variables specify the LC_MESSAGES +locale category (in that order), which determines the language that \fInmcli\fP +uses for messages. The "C" locale is used if none of these variables are set, +and this locale uses English messages. + .SH EXIT STATUS \fInmcli\fP exits with status 0 if it succeeds, a value greater than 0 is returned if errors occur. .IP "0" 4 From 958024cb684a08103aa2116dca0f627683ebe9ac Mon Sep 17 00:00:00 2001 From: Dan Williams Date: Mon, 13 Sep 2010 11:02:26 -0500 Subject: [PATCH 12/14] bluetooth: requery default adapter when Bluez actually starts --- src/bluez-manager/nm-bluez-manager.c | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/src/bluez-manager/nm-bluez-manager.c b/src/bluez-manager/nm-bluez-manager.c index fe027c4ff5..59849d3bd5 100644 --- a/src/bluez-manager/nm-bluez-manager.c +++ b/src/bluez-manager/nm-bluez-manager.c @@ -251,11 +251,13 @@ name_owner_changed_cb (NMDBusManager *dbus_mgr, gboolean old_owner_good = (old_owner && strlen (old_owner)); gboolean new_owner_good = (new_owner && strlen (new_owner)); - /* Can't handle the signal if its not from the supplicant service */ + /* Can't handle the signal if its not from the Bluez */ if (strcmp (BLUEZ_SERVICE, name)) return; - if (old_owner_good && !new_owner_good) + if (!old_owner_good && new_owner_good) + query_default_adapter (self); + else if (old_owner_good && !new_owner_good) remove_all_devices (self, TRUE); } From a33c3330bef581e51b2d3095222eba6679427f9a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ji=C5=99=C3=AD=20Klime=C5=A1?= Date: Thu, 16 Sep 2010 16:15:32 +0200 Subject: [PATCH 13/14] man: document 'no-auto-default' option in NetworkManager.conf.5 --- man/NetworkManager.conf.5.in | 19 ++++++++++++++++++- 1 file changed, 18 insertions(+), 1 deletion(-) diff --git a/man/NetworkManager.conf.5.in b/man/NetworkManager.conf.5.in index c3af611675..44d6da1be0 100644 --- a/man/NetworkManager.conf.5.in +++ b/man/NetworkManager.conf.5.in @@ -2,7 +2,7 @@ .\" .\" Copyright (C) 2010 Red Hat, Inc. .\" -.TH "NetworkManager.conf" "5" "1 February 2010" "" +.TH "NetworkManager.conf" "5" "16 September 2010" "" .SH NAME NetworkManager.conf \- NetworkManager configuration file .SH SYNOPSIS @@ -87,6 +87,23 @@ This key sets up what DHCP client NetworkManager will use. Presently \fIdhclient\fP and \fIdhcpcd\fP are supported. The client configured here should be available on your system too. If this key is missing, available DHCP clients are looked for in this order: dhclient, dhcpcd. +.TP +.B no-auto-default=\fI\fP,\fI\fP,... +Set devices for which NetworkManager shouldn't create default wired connection +(Auto eth0). NetworkManager creates a default wired connection for any wired +device that is managed and doesn't have a connection configured. List a device +in this option to inhibit creating the default connection for the device. +.br +When the default wired connection is deleted or saved to a new persistent connection +by a plugin, the MAC address of the wired device is automatically added to this list +to prevent creating the default connection for that device again. +Devices are specified by their MAC addresses, in lowercase. Multiple +entries are separated by commas. +.br +Example: +.nf +no-auto-default=00:22:68:5c:5d:c4,00:1e:65:ff:aa:ee +.fi .SS [keyfile] This section contains keyfile-specific options and thus only has effect when using \fIkeyfile\fP plugin. .TP From c40d79ae9727232701abcad94682187cf7122554 Mon Sep 17 00:00:00 2001 From: Dan Williams Date: Thu, 16 Sep 2010 15:43:22 -0500 Subject: [PATCH 14/14] keyfile: be chattier, especially about parsing errors This should help people debug issues with keyfile not recognizing files since it'll actually print out something when it fails to parse stuff. Also logs changes, new connections, and deletions. --- system-settings/plugins/keyfile/Makefile.am | 3 +- system-settings/plugins/keyfile/io/reader.c | 179 ++++++++++-------- system-settings/plugins/keyfile/io/reader.h | 2 +- .../plugins/keyfile/nm-keyfile-connection.c | 104 +++++----- .../plugins/keyfile/nm-keyfile-connection.h | 2 +- system-settings/plugins/keyfile/plugin.c | 115 +++++++---- .../plugins/keyfile/tests/test-keyfile.c | 26 +-- 7 files changed, 243 insertions(+), 188 deletions(-) diff --git a/system-settings/plugins/keyfile/Makefile.am b/system-settings/plugins/keyfile/Makefile.am index ca4d3cd3f3..a49b51b2c0 100644 --- a/system-settings/plugins/keyfile/Makefile.am +++ b/system-settings/plugins/keyfile/Makefile.am @@ -23,7 +23,8 @@ libnm_settings_plugin_keyfile_la_CPPFLAGS = \ $(DBUS_CFLAGS) \ -DSYSCONFDIR=\"$(sysconfdir)\" \ -DG_DISABLE_DEPRECATED \ - -DKEYFILE_DIR=\""$(keyfiledir)"\" + -DKEYFILE_DIR=\""$(keyfiledir)"\" \ + -DKEYFILE_PLUGIN_NAME=\""keyfile"\" libnm_settings_plugin_keyfile_la_LDFLAGS = -module -avoid-version libnm_settings_plugin_keyfile_la_LIBADD = \ diff --git a/system-settings/plugins/keyfile/io/reader.c b/system-settings/plugins/keyfile/io/reader.c index 50c3efe850..55ef12706c 100644 --- a/system-settings/plugins/keyfile/io/reader.c +++ b/system-settings/plugins/keyfile/io/reader.c @@ -40,6 +40,7 @@ #include #include #include +#include #include "nm-dbus-glib-types.h" #include "reader.h" @@ -986,108 +987,126 @@ read_vpn_secrets (GKeyFile *file, NMSettingVPN *s_vpn) } NMConnection * -connection_from_file (const char *filename) +connection_from_file (const char *filename, GError **error) { GKeyFile *key_file; struct stat statbuf; gboolean bad_owner, bad_permissions; NMConnection *connection = NULL; - GError *err = NULL; + NMSettingConnection *s_con; + NMSettingBluetooth *s_bt; + NMSetting *setting; + gchar **groups; + gsize length; + int i; + gboolean vpn_secrets = FALSE; + const char *ctype, *tmp; + GError *verify_error = NULL; - if (stat (filename, &statbuf) != 0 || !S_ISREG (statbuf.st_mode)) + if (stat (filename, &statbuf) != 0 || !S_ISREG (statbuf.st_mode)) { + g_set_error_literal (error, + NM_SETTINGS_INTERFACE_ERROR, + NM_SETTINGS_INTERFACE_ERROR_INTERNAL_ERROR, + "File did not exist or was not a regular file"); return NULL; + } bad_owner = getuid () != statbuf.st_uid; bad_permissions = statbuf.st_mode & 0077; if (bad_owner || bad_permissions) { - g_warning ("Ignoring insecure configuration file '%s'", filename); + g_set_error (error, + NM_SETTINGS_INTERFACE_ERROR, + NM_SETTINGS_INTERFACE_ERROR_INTERNAL_ERROR, + "File permissions (%o) or owner (%d) were insecure", + statbuf.st_mode, statbuf.st_uid); return NULL; } key_file = g_key_file_new (); - if (g_key_file_load_from_file (key_file, filename, G_KEY_FILE_NONE, &err)) { - NMSettingConnection *s_con; - NMSettingBluetooth *s_bt; - NMSetting *setting; - gchar **groups; - gsize length; - int i; - gboolean vpn_secrets = FALSE; - const char *ctype, *tmp; + if (!g_key_file_load_from_file (key_file, filename, G_KEY_FILE_NONE, error)) + goto out; - connection = nm_connection_new (); + connection = nm_connection_new (); - groups = g_key_file_get_groups (key_file, &length); - for (i = 0; i < length; i++) { - /* Only read out secrets when needed */ - if (!strcmp (groups[i], VPN_SECRETS_GROUP)) { - vpn_secrets = TRUE; - continue; - } - - setting = read_setting (key_file, groups[i]); - if (setting) - nm_connection_add_setting (connection, setting); + groups = g_key_file_get_groups (key_file, &length); + for (i = 0; i < length; i++) { + /* Only read out secrets when needed */ + if (!strcmp (groups[i], VPN_SECRETS_GROUP)) { + vpn_secrets = TRUE; + continue; } - /* Make sure that we have the base device type setting even if - * the keyfile didn't include it, which can happen when the base - * device type setting is all default values (like ethernet). - */ - s_con = (NMSettingConnection *) nm_connection_get_setting (connection, NM_TYPE_SETTING_CONNECTION); - if (s_con) { - ctype = nm_setting_connection_get_connection_type (s_con); - setting = nm_connection_get_setting_by_name (connection, ctype); - if (ctype) { - gboolean add_serial = FALSE; - NMSetting *new_setting = NULL; - - if (!setting && !strcmp (ctype, NM_SETTING_WIRED_SETTING_NAME)) - new_setting = nm_setting_wired_new (); - else if (!strcmp (ctype, NM_SETTING_BLUETOOTH_SETTING_NAME)) { - s_bt = (NMSettingBluetooth *) nm_connection_get_setting (connection, NM_TYPE_SETTING_BLUETOOTH); - if (s_bt) { - tmp = nm_setting_bluetooth_get_connection_type (s_bt); - if (tmp && !strcmp (tmp, NM_SETTING_BLUETOOTH_TYPE_DUN)) - add_serial = TRUE; - } - } else if (!strcmp (ctype, NM_SETTING_GSM_SETTING_NAME)) - add_serial = TRUE; - else if (!strcmp (ctype, NM_SETTING_CDMA_SETTING_NAME)) - add_serial = TRUE; - - /* Bluetooth DUN, GSM, and CDMA connections require a serial setting */ - if (add_serial && !nm_connection_get_setting (connection, NM_TYPE_SETTING_SERIAL)) - new_setting = nm_setting_serial_new (); - - if (new_setting) - nm_connection_add_setting (connection, new_setting); - } - } - - /* Serial connections require a PPP setting too */ - if (nm_connection_get_setting (connection, NM_TYPE_SETTING_SERIAL)) { - if (!nm_connection_get_setting (connection, NM_TYPE_SETTING_PPP)) - nm_connection_add_setting (connection, nm_setting_ppp_new ()); - } - - /* Handle vpn secrets after the 'vpn' setting was read */ - if (vpn_secrets) { - NMSettingVPN *s_vpn; - - s_vpn = (NMSettingVPN *) nm_connection_get_setting (connection, NM_TYPE_SETTING_VPN); - if (s_vpn) - read_vpn_secrets (key_file, s_vpn); - } - - g_strfreev (groups); - } else { - g_warning ("Error parsing file '%s': %s", filename, err->message); - g_error_free (err); + setting = read_setting (key_file, groups[i]); + if (setting) + nm_connection_add_setting (connection, setting); } - g_key_file_free (key_file); + /* Make sure that we have the base device type setting even if + * the keyfile didn't include it, which can happen when the base + * device type setting is all default values (like ethernet). + */ + s_con = (NMSettingConnection *) nm_connection_get_setting (connection, NM_TYPE_SETTING_CONNECTION); + if (s_con) { + ctype = nm_setting_connection_get_connection_type (s_con); + setting = nm_connection_get_setting_by_name (connection, ctype); + if (ctype) { + gboolean add_serial = FALSE; + NMSetting *new_setting = NULL; + if (!setting && !strcmp (ctype, NM_SETTING_WIRED_SETTING_NAME)) + new_setting = nm_setting_wired_new (); + else if (!strcmp (ctype, NM_SETTING_BLUETOOTH_SETTING_NAME)) { + s_bt = (NMSettingBluetooth *) nm_connection_get_setting (connection, NM_TYPE_SETTING_BLUETOOTH); + if (s_bt) { + tmp = nm_setting_bluetooth_get_connection_type (s_bt); + if (tmp && !strcmp (tmp, NM_SETTING_BLUETOOTH_TYPE_DUN)) + add_serial = TRUE; + } + } else if (!strcmp (ctype, NM_SETTING_GSM_SETTING_NAME)) + add_serial = TRUE; + else if (!strcmp (ctype, NM_SETTING_CDMA_SETTING_NAME)) + add_serial = TRUE; + + /* Bluetooth DUN, GSM, and CDMA connections require a serial setting */ + if (add_serial && !nm_connection_get_setting (connection, NM_TYPE_SETTING_SERIAL)) + new_setting = nm_setting_serial_new (); + + if (new_setting) + nm_connection_add_setting (connection, new_setting); + } + } + + /* Serial connections require a PPP setting too */ + if (nm_connection_get_setting (connection, NM_TYPE_SETTING_SERIAL)) { + if (!nm_connection_get_setting (connection, NM_TYPE_SETTING_PPP)) + nm_connection_add_setting (connection, nm_setting_ppp_new ()); + } + + /* Handle vpn secrets after the 'vpn' setting was read */ + if (vpn_secrets) { + NMSettingVPN *s_vpn; + + s_vpn = (NMSettingVPN *) nm_connection_get_setting (connection, NM_TYPE_SETTING_VPN); + if (s_vpn) + read_vpn_secrets (key_file, s_vpn); + } + + g_strfreev (groups); + + /* Verify the connection */ + if (!nm_connection_verify (connection, &verify_error)) { + g_set_error (error, + NM_SETTINGS_INTERFACE_ERROR, + NM_SETTINGS_INTERFACE_ERROR_INTERNAL_ERROR, + "invalid or missing connection property '%s'", + (verify_error && verify_error->message) ? verify_error->message : "(unknown)"); + g_clear_error (&verify_error); + g_object_unref (connection); + connection = NULL; + } + +out: + g_key_file_free (key_file); return connection; } diff --git a/system-settings/plugins/keyfile/io/reader.h b/system-settings/plugins/keyfile/io/reader.h index beac866a25..0982c87043 100644 --- a/system-settings/plugins/keyfile/io/reader.h +++ b/system-settings/plugins/keyfile/io/reader.h @@ -27,6 +27,6 @@ #include #include -NMConnection *connection_from_file (const char *filename); +NMConnection *connection_from_file (const char *filename, GError **error); #endif /* _KEYFILE_PLUGIN_READER_H */ diff --git a/system-settings/plugins/keyfile/nm-keyfile-connection.c b/system-settings/plugins/keyfile/nm-keyfile-connection.c index 1c90961bef..2d234fd5dd 100644 --- a/system-settings/plugins/keyfile/nm-keyfile-connection.c +++ b/system-settings/plugins/keyfile/nm-keyfile-connection.c @@ -16,7 +16,7 @@ * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. * * Copyright (C) 2008 Novell, Inc. - * Copyright (C) 2008 Red Hat, Inc. + * Copyright (C) 2008 - 2010 Red Hat, Inc. */ #include @@ -26,6 +26,7 @@ #include #include +#include "nm-system-config-interface.h" #include "nm-dbus-glib-types.h" #include "nm-keyfile-connection.h" #include "reader.h" @@ -53,13 +54,55 @@ enum { }; NMKeyfileConnection * -nm_keyfile_connection_new (const char *filename) +nm_keyfile_connection_new (const char *filename, GError **error) { + GObject *object; + NMKeyfileConnectionPrivate *priv; + NMSettingConnection *s_con; + NMConnection *tmp; + g_return_val_if_fail (filename != NULL, NULL); - return (NMKeyfileConnection *) g_object_new (NM_TYPE_KEYFILE_CONNECTION, - NM_KEYFILE_CONNECTION_FILENAME, filename, - NULL); + tmp = connection_from_file (filename, error); + if (!tmp) + return NULL; + + object = (GObject *) g_object_new (NM_TYPE_KEYFILE_CONNECTION, + NM_KEYFILE_CONNECTION_FILENAME, filename, + NULL); + if (!object) { + g_object_unref (tmp); + return NULL; + } + + priv = NM_KEYFILE_CONNECTION_GET_PRIVATE (object); + g_assert (priv->filename); + + /* Update our settings with what was read from the file */ + nm_sysconfig_connection_update (NM_SYSCONFIG_CONNECTION (object), tmp, FALSE, NULL); + g_object_unref (tmp); + + /* if for some reason the connection didn't have a UUID, add one */ + s_con = (NMSettingConnection *) nm_connection_get_setting (NM_CONNECTION (object), NM_TYPE_SETTING_CONNECTION); + if (s_con && !nm_setting_connection_get_uuid (s_con)) { + GError *write_error = NULL; + char *uuid; + + uuid = nm_utils_uuid_generate (); + g_object_set (s_con, NM_SETTING_CONNECTION_UUID, uuid, NULL); + g_free (uuid); + + if (!write_connection (NM_CONNECTION (object), KEYFILE_DIR, 0, 0, NULL, &write_error)) { + PLUGIN_WARN (KEYFILE_PLUGIN_NAME, + "Couldn't update connection %s with a UUID: (%d) %s", + nm_setting_connection_get_id (s_con), + write_error ? write_error->code : -1, + (write_error && write_error->message) ? write_error->message : "(unknown)"); + g_propagate_error (error, write_error); + } + } + + return NM_KEYFILE_CONNECTION (object); } const char * @@ -122,56 +165,6 @@ nm_keyfile_connection_init (NMKeyfileConnection *connection) { } -static GObject * -constructor (GType type, - guint n_construct_params, - GObjectConstructParam *construct_params) -{ - GObject *object; - NMKeyfileConnectionPrivate *priv; - NMSettingConnection *s_con; - NMConnection *tmp; - - object = G_OBJECT_CLASS (nm_keyfile_connection_parent_class)->constructor (type, n_construct_params, construct_params); - - if (!object) - return NULL; - - priv = NM_KEYFILE_CONNECTION_GET_PRIVATE (object); - - g_assert (priv->filename); - - tmp = connection_from_file (priv->filename); - if (!tmp) { - g_object_unref (object); - return NULL; - } - - nm_sysconfig_connection_update (NM_SYSCONFIG_CONNECTION (object), tmp, FALSE, NULL); - g_object_unref (tmp); - - /* if for some reason the connection didn't have a UUID, add one */ - s_con = (NMSettingConnection *) nm_connection_get_setting (NM_CONNECTION (object), NM_TYPE_SETTING_CONNECTION); - if (s_con && !nm_setting_connection_get_uuid (s_con)) { - GError *error = NULL; - char *uuid; - - uuid = nm_utils_uuid_generate (); - g_object_set (s_con, NM_SETTING_CONNECTION_UUID, uuid, NULL); - g_free (uuid); - - if (!write_connection (NM_CONNECTION (object), KEYFILE_DIR, 0, 0, NULL, &error)) { - g_warning ("Couldn't update connection %s with a UUID: (%d) %s", - nm_setting_connection_get_id (s_con), - error ? error->code : 0, - (error && error->message) ? error->message : "unknown"); - g_error_free (error); - } - } - - return object; -} - static void finalize (GObject *object) { @@ -225,7 +218,6 @@ nm_keyfile_connection_class_init (NMKeyfileConnectionClass *keyfile_connection_c g_type_class_add_private (keyfile_connection_class, sizeof (NMKeyfileConnectionPrivate)); /* Virtual methods */ - object_class->constructor = constructor; object_class->set_property = set_property; object_class->get_property = get_property; object_class->finalize = finalize; diff --git a/system-settings/plugins/keyfile/nm-keyfile-connection.h b/system-settings/plugins/keyfile/nm-keyfile-connection.h index 3b4e050c2f..68e795a6ce 100644 --- a/system-settings/plugins/keyfile/nm-keyfile-connection.h +++ b/system-settings/plugins/keyfile/nm-keyfile-connection.h @@ -45,7 +45,7 @@ typedef struct { GType nm_keyfile_connection_get_type (void); -NMKeyfileConnection *nm_keyfile_connection_new (const char *filename); +NMKeyfileConnection *nm_keyfile_connection_new (const char *filename, GError **error); const char *nm_keyfile_connection_get_filename (NMKeyfileConnection *self); diff --git a/system-settings/plugins/keyfile/plugin.c b/system-settings/plugins/keyfile/plugin.c index 36f47ccdc5..f48edbeb4c 100644 --- a/system-settings/plugins/keyfile/plugin.c +++ b/system-settings/plugins/keyfile/plugin.c @@ -16,7 +16,7 @@ * 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA. * * Copyright (C) 2008 Novell, Inc. - * Copyright (C) 2008 Red Hat, Inc. + * Copyright (C) 2008 - 2010 Red Hat, Inc. */ #include @@ -40,7 +40,7 @@ #include "writer.h" #define KEYFILE_PLUGIN_NAME "keyfile" -#define KEYFILE_PLUGIN_INFO "(c) 2007 - 2008 Red Hat, Inc. To report bugs please use the NetworkManager mailing list." +#define KEYFILE_PLUGIN_INFO "(c) 2007 - 2010 Red Hat, Inc. To report bugs please use the NetworkManager mailing list." #define CONF_FILE SYSCONFDIR "/NetworkManager/NetworkManager.conf" #define OLD_CONF_FILE SYSCONFDIR "/NetworkManager/nm-system-settings.conf" @@ -74,31 +74,49 @@ read_connections (NMSystemConfigInterface *config) { SCPluginKeyfilePrivate *priv = SC_PLUGIN_KEYFILE_GET_PRIVATE (config); GDir *dir; - GError *err = NULL; + GError *error = NULL; + const char *item; - dir = g_dir_open (KEYFILE_DIR, 0, &err); - if (dir) { - const char *item; - - while ((item = g_dir_read_name (dir))) { - NMKeyfileConnection *connection; - char *full_path; - - full_path = g_build_filename (KEYFILE_DIR, item, NULL); - connection = nm_keyfile_connection_new (full_path); - if (connection) { - g_hash_table_insert (priv->hash, - (gpointer) nm_keyfile_connection_get_filename (connection), - connection); - } - g_free (full_path); - } - - g_dir_close (dir); - } else { - g_warning ("Can not read directory '%s': %s", KEYFILE_DIR, err->message); - g_error_free (err); + dir = g_dir_open (KEYFILE_DIR, 0, &error); + if (!dir) { + PLUGIN_WARN (KEYFILE_PLUGIN_NAME, "Cannot read directory '%s': (%d) %s", + KEYFILE_DIR, + error ? error->code : -1, + error && error->message ? error->message : "(unknown)"); + g_clear_error (&error); + return; } + + while ((item = g_dir_read_name (dir))) { + NMKeyfileConnection *connection; + char *full_path; + + full_path = g_build_filename (KEYFILE_DIR, item, NULL); + PLUGIN_PRINT (KEYFILE_PLUGIN_NAME, "parsing %s ... ", item); + connection = nm_keyfile_connection_new (full_path, &error); + if (connection) { + NMSettingConnection *s_con; + const char *cid; + + s_con = (NMSettingConnection *) nm_connection_get_setting (NM_CONNECTION (connection), NM_TYPE_SETTING_CONNECTION); + g_assert (s_con); + + cid = nm_setting_connection_get_id (s_con); + g_assert (cid); + + g_hash_table_insert (priv->hash, + (gpointer) nm_keyfile_connection_get_filename (connection), + connection); + + PLUGIN_PRINT (KEYFILE_PLUGIN_NAME, " read connection '%s'", cid); + } else { + PLUGIN_PRINT (KEYFILE_PLUGIN_NAME, " error: %s", + (error && error->message) ? error->message : "(unknown)"); + g_clear_error (&error); + } + g_free (full_path); + } + g_dir_close (dir); } typedef struct { @@ -147,17 +165,33 @@ update_connection_settings (NMKeyfileConnection *orig, /* Monitoring */ +static void +remove_connection (SCPluginKeyfile *self, + NMKeyfileConnection *connection, + const char *name) +{ + g_return_if_fail (connection != NULL); + g_return_if_fail (name != NULL); + + /* Removing from the hash table should drop the last reference */ + g_object_ref (connection); + g_hash_table_remove (SC_PLUGIN_KEYFILE_GET_PRIVATE (self)->hash, name); + g_signal_emit_by_name (connection, "removed"); + g_object_unref (connection); +} + static void dir_changed (GFileMonitor *monitor, - GFile *file, - GFile *other_file, - GFileMonitorEvent event_type, - gpointer user_data) + GFile *file, + GFile *other_file, + GFileMonitorEvent event_type, + gpointer user_data) { NMSystemConfigInterface *config = NM_SYSTEM_CONFIG_INTERFACE (user_data); SCPluginKeyfilePrivate *priv = SC_PLUGIN_KEYFILE_GET_PRIVATE (config); char *name; NMKeyfileConnection *connection; + GError *error = NULL; name = g_file_get_path (file); connection = g_hash_table_lookup (priv->hash, name); @@ -165,27 +199,32 @@ dir_changed (GFileMonitor *monitor, switch (event_type) { case G_FILE_MONITOR_EVENT_DELETED: if (connection) { - /* Removing from the hash table should drop the last reference */ - g_object_ref (connection); - g_hash_table_remove (priv->hash, name); - g_signal_emit_by_name (connection, "removed"); - g_object_unref (connection); + PLUGIN_PRINT (KEYFILE_PLUGIN_NAME, "removed %s.", name); + remove_connection (SC_PLUGIN_KEYFILE (config), connection, name); } break; case G_FILE_MONITOR_EVENT_CREATED: case G_FILE_MONITOR_EVENT_CHANGES_DONE_HINT: + PLUGIN_PRINT (KEYFILE_PLUGIN_NAME, "updating %s", name); + if (connection) { /* Update */ NMKeyfileConnection *tmp; - tmp = (NMKeyfileConnection *) nm_keyfile_connection_new (name); + tmp = nm_keyfile_connection_new (name, &error); if (tmp) { update_connection_settings (connection, tmp); g_object_unref (tmp); + } else { + /* Error; remove the connection */ + PLUGIN_PRINT (KEYFILE_PLUGIN_NAME, " error: %s", + (error && error->message) ? error->message : "(unknown)"); + g_clear_error (&error); + remove_connection (SC_PLUGIN_KEYFILE (config), connection, name); } } else { /* New */ - connection = nm_keyfile_connection_new (name); + connection = nm_keyfile_connection_new (name, &error); if (connection) { NMSettingConnection *s_con; const char *connection_uuid; @@ -234,6 +273,10 @@ dir_changed (GFileMonitor *monitor, connection); g_signal_emit_by_name (config, NM_SYSTEM_CONFIG_INTERFACE_CONNECTION_ADDED, connection); } + } else { + PLUGIN_PRINT (KEYFILE_PLUGIN_NAME, " error: %s", + (error && error->message) ? error->message : "(unknown)"); + g_clear_error (&error); } } break; diff --git a/system-settings/plugins/keyfile/tests/test-keyfile.c b/system-settings/plugins/keyfile/tests/test-keyfile.c index 81e17440c9..18daad1974 100644 --- a/system-settings/plugins/keyfile/tests/test-keyfile.c +++ b/system-settings/plugins/keyfile/tests/test-keyfile.c @@ -85,7 +85,7 @@ test_read_valid_wired_connection (void) NMIP6Address *ip6_addr; NMIP6Route *ip6_route; - connection = connection_from_file (TEST_WIRED_FILE); + connection = connection_from_file (TEST_WIRED_FILE, NULL); ASSERT (connection != NULL, "connection-read", "failed to read %s", TEST_WIRED_FILE); @@ -587,7 +587,7 @@ test_write_wired_connection (void) const char *address2_gw = "1.2.1.1"; const char *route1 = "10.10.10.2"; const char *route1_nh = "10.10.10.1"; - const char *route2 = "0.0.0.0"; + const char *route2 = "1.1.1.1"; const char *route2_nh = "1.2.1.1"; const char *dns6_1 = "1::cafe"; const char *dns6_2 = "2::cafe"; @@ -595,7 +595,7 @@ test_write_wired_connection (void) const char *address6_2 = "dcba::beef"; const char *route6_1 = "1:2:3:4:5:6:7:8"; const char *route6_1_nh = "8:7:6:5:4:3:2:1"; - const char *route6_2 = "::"; + const char *route6_2 = "2001::1000"; const char *route6_2_nh = "2001::1111"; guint64 timestamp = 0x12345678L; @@ -704,7 +704,7 @@ test_write_wired_connection (void) "connection-write", "didn't get keyfile name back after writing connection"); /* Read the connection back in and compare it to the one we just wrote out */ - reread = connection_from_file (testfile); + reread = connection_from_file (testfile, NULL); ASSERT (reread != NULL, "connection-write", "failed to re-read test connection"); ASSERT (nm_connection_compare (connection, reread, NM_SETTING_COMPARE_FLAG_EXACT) == TRUE, @@ -737,7 +737,7 @@ test_read_ip6_wired_connection (void) const char *expected6_gw1 = "abcd:1234:ffff::cdd1"; NMIP6Address *ip6_addr; - connection = connection_from_file (TEST_WIRED_IP6_FILE); + connection = connection_from_file (TEST_WIRED_IP6_FILE, NULL); ASSERT (connection != NULL, "connection-read", "failed to read %s", TEST_WIRED_IP6_FILE); @@ -964,7 +964,7 @@ test_write_ip6_wired_connection (void) "connection-write", "didn't get keyfile name back after writing connection"); /* Read the connection back in and compare it to the one we just wrote out */ - reread = connection_from_file (testfile); + reread = connection_from_file (testfile, NULL); ASSERT (reread != NULL, "connection-write", "failed to re-read test connection"); ASSERT (nm_connection_compare (connection, reread, NM_SETTING_COMPARE_FLAG_EXACT) == TRUE, @@ -993,7 +993,7 @@ test_read_wired_mac_case (void) const char *expected_id = "Test Wired Connection MAC Case"; const char *expected_uuid = "4e80a56d-c99f-4aad-a6dd-b449bc398c57"; - connection = connection_from_file (TEST_WIRED_MAC_CASE_FILE); + connection = connection_from_file (TEST_WIRED_MAC_CASE_FILE, NULL); ASSERT (connection != NULL, "connection-read", "failed to read %s", TEST_WIRED_MAC_CASE_FILE); @@ -1079,7 +1079,7 @@ test_read_valid_wireless_connection (void) const guint64 expected_timestamp = 1226604314; guint64 timestamp; - connection = connection_from_file (TEST_WIRELESS_FILE); + connection = connection_from_file (TEST_WIRELESS_FILE, NULL); ASSERT (connection != NULL, "connection-read", "failed to read %s", TEST_WIRELESS_FILE); @@ -1282,7 +1282,7 @@ test_write_wireless_connection (void) "connection-write", "didn't get keyfile name back after writing connection"); /* Read the connection back in and compare it to the one we just wrote out */ - reread = connection_from_file (testfile); + reread = connection_from_file (testfile, NULL); ASSERT (reread != NULL, "connection-write", "failed to re-read test connection"); ASSERT (nm_connection_compare (connection, reread, NM_SETTING_COMPARE_FLAG_EXACT) == TRUE, @@ -1317,7 +1317,7 @@ test_read_bt_dun_connection (void) const char *expected_username = "ISP@CINGULARGPRS.COM"; const char *expected_password = "CINGULAR1"; - connection = connection_from_file (TEST_BT_DUN_FILE); + connection = connection_from_file (TEST_BT_DUN_FILE, NULL); ASSERT (connection != NULL, "connection-read", "failed to read %s", TEST_BT_DUN_FILE); @@ -1567,7 +1567,7 @@ test_write_bt_dun_connection (void) "connection-write", "didn't get keyfile name back after writing connection"); /* Read the connection back in and compare it to the one we just wrote out */ - reread = connection_from_file (testfile); + reread = connection_from_file (testfile, NULL); ASSERT (reread != NULL, "connection-write", "failed to re-read test connection"); ASSERT (nm_connection_compare (connection, reread, NM_SETTING_COMPARE_FLAG_EXACT) == TRUE, @@ -1601,7 +1601,7 @@ test_read_gsm_connection (void) const char *expected_network_id = "24005"; const char *expected_pin = "2345"; - connection = connection_from_file (TEST_GSM_FILE); + connection = connection_from_file (TEST_GSM_FILE, NULL); ASSERT (connection != NULL, "connection-read", "failed to read %s", TEST_GSM_FILE); @@ -1829,7 +1829,7 @@ test_write_gsm_connection (void) "connection-write", "didn't get keyfile name back after writing connection"); /* Read the connection back in and compare it to the one we just wrote out */ - reread = connection_from_file (testfile); + reread = connection_from_file (testfile, NULL); ASSERT (reread != NULL, "connection-write", "failed to re-read test connection"); ASSERT (nm_connection_compare (connection, reread, NM_SETTING_COMPARE_FLAG_EXACT) == TRUE,