summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTim Niemueller <tim@niemueller.de>2006-08-19 15:11:29 +0000
committerTim Niemueller <tim@niemueller.de>2006-08-19 15:11:29 +0000
commit160f524eab0e5c8ae49ca30bdc4befad10e19b68 (patch)
tree8dec0ee8ef4a606643725a719ada31339fdaa960
parent9efcd59c6f63d870ae03beb4ce6601d53c73d6e8 (diff)
downloadNetworkManager-160f524eab0e5c8ae49ca30bdc4befad10e19b68.tar.gz
2006-08-19 Tim Niemueller <tim@niemueller.de>
* src/backends/NetworkManagerArch.c src/backends/NetworkManagerDebian.c src/backends/NetworkManagerGeneric.c src/backends/NetworkManagerGeneric.h src/backends/NetworkManagerGentoo.c src/backends/NetworkManagerPaldo.c src/backends/NetworkManagerRedHat.c src/backends/NetworkManagerSlackware.c src/backends/NetworkManagerSuSE.c: Removed hooks for old dialup support git-svn-id: http://svn-archive.gnome.org/svn/NetworkManager/branches/SoC_2006@1971 4912f4e0-d625-0410-9fb7-b9a5a253dbdc
-rw-r--r--src/backends/NetworkManagerArch.c111
-rw-r--r--src/backends/NetworkManagerDebian.c106
-rw-r--r--src/backends/NetworkManagerGeneric.c19
-rw-r--r--src/backends/NetworkManagerGeneric.h5
-rw-r--r--src/backends/NetworkManagerGentoo.c26
-rw-r--r--src/backends/NetworkManagerPaldo.c29
-rw-r--r--src/backends/NetworkManagerRedHat.c209
-rw-r--r--src/backends/NetworkManagerSlackware.c26
-rw-r--r--src/backends/NetworkManagerSuSE.c214
9 files changed, 4 insertions, 741 deletions
diff --git a/src/backends/NetworkManagerArch.c b/src/backends/NetworkManagerArch.c
index dbfd00f7f2..5aa43dd930 100644
--- a/src/backends/NetworkManagerArch.c
+++ b/src/backends/NetworkManagerArch.c
@@ -48,7 +48,7 @@
#include "nm-device.h"
#include "nm-device-802-3-ethernet.h"
#include "nm-device-802-11-wireless.h"
-#include "NetworkManagerDialup.h"
+#include "NetworkManagerDialupConfig.h"
#include "interface_parser.h"
#include "nm-utils.h"
@@ -682,115 +682,6 @@ NMIP4Config *nm_system_device_new_ip4_system_config (NMDevice *dev)
return new_config;
}
-void nm_system_deactivate_all_dialup (GSList *list)
-{
- GSList *elt;
-
- for (elt = list; elt; elt = g_slist_next (elt))
- {
- NMDialUpConfig *config = (NMDialUpConfig *) elt->data;
- char *cmd;
-
- cmd = g_strdup_printf ("/sbin/ifconfig %s down", (char *) config->data);
- nm_spawn_process (cmd);
- g_free (cmd);
- }
-}
-
-gboolean nm_system_deactivate_dialup (GSList *list, const char *dialup)
-{
- GSList *elt;
- gboolean ret = FALSE;
-
- for (elt = list; elt; elt = g_slist_next (elt))
- {
- NMDialUpConfig *config = (NMDialUpConfig *) elt->data;
- if (strcmp (dialup, config->name) == 0)
- {
- char *cmd;
-
- nm_info ("Deactivating dialup device %s (%s) ...", dialup, (char *) config->data);
- cmd = g_strdup_printf ("/sbin/ifconfig %s down", (char *) config->data);
- nm_spawn_process (cmd);
- g_free (cmd);
- ret = TRUE;
- break;
- }
- }
-
- return ret;
-}
-
-gboolean nm_system_activate_dialup (GSList *list, const char *dialup)
-{
- GSList *elt;
- gboolean ret = FALSE;
-
- for (elt = list; elt; elt = g_slist_next (elt))
- {
- NMDialUpConfig *config = (NMDialUpConfig *) elt->data;
- if (strcmp (dialup, config->name) == 0)
- {
- char *cmd;
-
- nm_info ("Activating dialup device %s (%s) ...", dialup, (char *) config->data);
- cmd = g_strdup_printf ("/sbin/ifconfig %s up", (char *) config->data);
- nm_spawn_process (cmd);
- g_free (cmd);
- ret = TRUE;
- break;
- }
- }
-
- return ret;
-}
-
-GSList * nm_system_get_dialup_config (void)
-{
- const char *buf;
- if_block *curr_device;
- gboolean error = FALSE;
- GError *err;
- unsigned int i = 0;
- size_t len;
- GSList *list = NULL;
-#if 0 // PORT me
- if_block *curr;
- ifparser_init();
-
- /* FIXME: get all ppp(and others?) lines from /e/n/i here */
- curr = ifparser_getfirst();
- while (curr!=NULL)
- {
- NMDialUpConfig *config;
- if (strcmp(curr->type,"iface")==0)
- {
- buf = ifparser_getkey(curr,"inet");
- if (buf && strcmp (buf, "ppp")==0)
- {
- config = g_malloc (sizeof (NMDialUpConfig));
- config->name = g_strdup_printf ("Modem (#%d)", i++);
- config->data = g_strdup (curr->name); /* interface name */
-
- list = g_slist_append (list, config);
-
- nm_info ("Found dial up configuration for %s: %s", config->name, (char *) config->data);
- }
- }
- curr = curr->next;
- }
- ifparser_destroy();
-
- /* Hack: Go back and remove the "(#0)" if there is only one device */
- if (i == 1)
- {
- NMDialUpConfig *config = (NMDialUpConfig *) list->data;
- g_free (config->name);
- config->name = g_strdup ("Modem");
- }
-#endif
- return list;
-}
/*
* nm_system_activate_nis
diff --git a/src/backends/NetworkManagerDebian.c b/src/backends/NetworkManagerDebian.c
index d3cb58dc5f..3e6ea0d283 100644
--- a/src/backends/NetworkManagerDebian.c
+++ b/src/backends/NetworkManagerDebian.c
@@ -37,7 +37,7 @@
#include "nm-device.h"
#include "nm-device-802-3-ethernet.h"
#include "nm-device-802-11-wireless.h"
-#include "NetworkManagerDialup.h"
+#include "NetworkManagerDialupConfig.h"
#include "interface_parser.h"
#include "nm-utils.h"
@@ -400,110 +400,6 @@ NMIP4Config *nm_system_device_new_ip4_system_config (NMDevice *dev)
return new_config;
}
-void nm_system_deactivate_all_dialup (GSList *list)
-{
- GSList *elt;
-
- for (elt = list; elt; elt = g_slist_next (elt))
- {
- NMDialUpConfig *config = (NMDialUpConfig *) elt->data;
- char *cmd;
-
- cmd = g_strdup_printf ("/sbin/ifdown %s", (char *) config->data);
- nm_spawn_process (cmd);
- g_free (cmd);
- }
-}
-
-gboolean nm_system_deactivate_dialup (GSList *list, const char *dialup)
-{
- GSList *elt;
- gboolean ret = FALSE;
-
- for (elt = list; elt; elt = g_slist_next (elt))
- {
- NMDialUpConfig *config = (NMDialUpConfig *) elt->data;
- if (strcmp (dialup, config->name) == 0)
- {
- char *cmd;
-
- nm_info ("Deactivating dialup device %s (%s) ...", dialup, (char *) config->data);
- cmd = g_strdup_printf ("/sbin/ifdown %s", (char *) config->data);
- nm_spawn_process (cmd);
- g_free (cmd);
- ret = TRUE;
- break;
- }
- }
-
- return ret;
-}
-
-gboolean nm_system_activate_dialup (GSList *list, const char *dialup)
-{
- GSList *elt;
- gboolean ret = FALSE;
-
- for (elt = list; elt; elt = g_slist_next (elt))
- {
- NMDialUpConfig *config = (NMDialUpConfig *) elt->data;
- if (strcmp (dialup, config->name) == 0)
- {
- char *cmd;
-
- nm_info ("Activating dialup device %s (%s) ...", dialup, (char *) config->data);
- cmd = g_strdup_printf ("/sbin/ifup %s", (char *) config->data);
- nm_spawn_process (cmd);
- g_free (cmd);
- ret = TRUE;
- break;
- }
- }
-
- return ret;
-}
-
-GSList * nm_system_get_dialup_config (void)
-{
- const char *buf;
- unsigned int i = 0;
- GSList *list = NULL;
- if_block *curr;
- ifparser_init();
-
- /* FIXME: get all ppp(and others?) lines from /e/n/i here */
- curr = ifparser_getfirst();
- while(curr!=NULL)
- {
- NMDialUpConfig *config;
- if (strcmp(curr->type,"iface")==0)
- {
- buf = ifparser_getkey(curr,"inet");
- if (buf && strcmp (buf, "ppp")==0)
- {
- config = g_malloc (sizeof (NMDialUpConfig));
- config->name = g_strdup_printf ("Modem (#%d)", i++);
- config->data = g_strdup (curr->name); /* interface name */
-
- list = g_slist_append (list, config);
-
- nm_info ("Found dial up configuration for %s: %s", config->name, (char *) config->data);
- }
- }
- curr = curr->next;
- }
- ifparser_destroy();
-
- /* Hack: Go back and remove the "(#0)" if there is only one device */
- if (i == 1)
- {
- NMDialUpConfig *config = (NMDialUpConfig *) list->data;
- g_free (config->name);
- config->name = g_strdup ("Modem");
- }
-
- return list;
-}
/*
* nm_system_activate_nis
diff --git a/src/backends/NetworkManagerGeneric.c b/src/backends/NetworkManagerGeneric.c
index 1b683a725a..6b7aa3df77 100644
--- a/src/backends/NetworkManagerGeneric.c
+++ b/src/backends/NetworkManagerGeneric.c
@@ -424,25 +424,6 @@ NMIP4Config *nm_generic_device_new_ip4_system_config (NMDevice *dev)
return NULL;
}
-void nm_generic_deactivate_all_dialup (GSList *list)
-{
-}
-
-gboolean nm_generic_deactivate_dialup (GSList *list, const char *dialup)
-{
- return FALSE;
-}
-
-gboolean nm_generic_activate_dialup (GSList *list, const char *dialup)
-{
- return FALSE;
-}
-
-GSList * nm_generic_get_dialup_config (void)
-{
- return NULL;
-}
-
/*
* nm_generic_activate_nis
*
diff --git a/src/backends/NetworkManagerGeneric.h b/src/backends/NetworkManagerGeneric.h
index e3aaffdc71..956ed653ab 100644
--- a/src/backends/NetworkManagerGeneric.h
+++ b/src/backends/NetworkManagerGeneric.h
@@ -76,11 +76,6 @@ gboolean nm_generic_device_set_up_down_with_iface (NMDevice *dev, const char *
gboolean nm_generic_device_update_resolv_conf (void *data, int len, const char *domain_name);
-GSList * nm_generic_get_dialup_config (void);
-void nm_generic_deactivate_all_dialup (GSList *list);
-gboolean nm_generic_activate_dialup (GSList *list, const char *dialup);
-gboolean nm_generic_deactivate_dialup (GSList *list, const char *dialup);
-
void nm_generic_set_hostname (NMIP4Config *config);
void nm_generic_activate_nis (NMIP4Config *config);
void nm_generic_shutdown_nis (void);
diff --git a/src/backends/NetworkManagerGentoo.c b/src/backends/NetworkManagerGentoo.c
index 0ecbe53c7b..dd7ed2e082 100644
--- a/src/backends/NetworkManagerGentoo.c
+++ b/src/backends/NetworkManagerGentoo.c
@@ -467,32 +467,6 @@ gboolean nm_system_device_get_disabled (NMDevice *dev)
return FALSE;
}
-void nm_system_deactivate_all_dialup (GSList *list)
-{
-}
-
-gboolean nm_system_deactivate_dialup (GSList *list, const char *dialup)
-{
- return FALSE;
-}
-
-gboolean nm_system_activate_dialup (GSList *list, const char *dialup)
-{
- return FALSE;
-}
-
-/*
- * nm_system_get_dialup_config
- *
- * Enumerate dial up options on this system, allocate NMDialUpConfig's,
- * fill them out, and return.
- *
- */
-GSList * nm_system_get_dialup_config (void)
-{
- return NULL;
-}
-
/*
* nm_system_activate_nis
*
diff --git a/src/backends/NetworkManagerPaldo.c b/src/backends/NetworkManagerPaldo.c
index 29b8f1664b..b2dbbd8326 100644
--- a/src/backends/NetworkManagerPaldo.c
+++ b/src/backends/NetworkManagerPaldo.c
@@ -518,35 +518,6 @@ NMIP4Config *nm_system_device_new_ip4_system_config (NMDevice *dev)
}
-void nm_system_deactivate_all_dialup (GSList *list)
-{
- /* FIXME: implement for paldo */
-}
-
-
-gboolean nm_system_deactivate_dialup (GSList *list, const char *dialup)
-{
- /* FIXME: implement for paldo */
-
- return FALSE;
-}
-
-
-gboolean nm_system_activate_dialup (GSList *list, const char *dialup)
-{
- /* FIXME: implement for paldo */
-
- return FALSE;
-}
-
-
-GSList * nm_system_get_dialup_config (void)
-{
- /* FIXME: implement for paldo */
-
- return NULL;
-}
-
/*
* nm_system_activate_nis
*
diff --git a/src/backends/NetworkManagerRedHat.c b/src/backends/NetworkManagerRedHat.c
index 0acf3eee64..1c80912f2f 100644
--- a/src/backends/NetworkManagerRedHat.c
+++ b/src/backends/NetworkManagerRedHat.c
@@ -33,7 +33,7 @@
#include "nm-device.h"
#include "nm-device-802-3-ethernet.h"
#include "nm-device-802-11-wireless.h"
-#include "NetworkManagerDialup.h"
+#include "NetworkManagerDialupConfig.h"
#include "nm-utils.h"
#include "shvar.h"
@@ -543,213 +543,6 @@ NMIP4Config *nm_system_device_new_ip4_system_config (NMDevice *dev)
}
-void nm_system_deactivate_all_dialup (GSList *list)
-{
- GSList *l;
-
- for (l = list; l; l = g_slist_next(l))
- {
- NMDialUpConfig *config = (NMDialUpConfig *) l->data;
- char *cmd;
-
- cmd = g_strdup_printf ("/sbin/ifdown %s", (char *)config->data);
- nm_spawn_process (cmd);
- g_free(cmd);
- }
-}
-
-
-gboolean nm_system_deactivate_dialup (GSList *list, const char *dialup)
-{
- GSList *l;
- gboolean ret = FALSE;
-
- for (l = list; l; l = g_slist_next (l))
- {
- NMDialUpConfig *config = (NMDialUpConfig *) l->data;
- if (strcmp (dialup, config->name) == 0)
- {
- char *cmd;
- int status;
-
- nm_info ("Dectivating dialup device %s (%s) ...", dialup, (char *) config->data);
- cmd = g_strdup_printf ("/sbin/ifdown %s", (char *) config->data);
- status = nm_spawn_process (cmd);
- g_free (cmd);
- if (status == 0) {
- ret = TRUE;
- } else {
- /* FIXME: Decode errors into something sensible */
- nm_warning ("Couldn't deactivate dialup device %s (%s) - %d", dialup, (char *) config->data, status);
- ret = FALSE;
- }
- break;
- }
- }
- return ret;
-}
-
-
-gboolean nm_system_activate_dialup (GSList *list, const char *dialup)
-{
- GSList *l;
- gboolean ret = FALSE;
-
- for (l = list; l; l = g_slist_next (l))
- {
- NMDialUpConfig *config = (NMDialUpConfig *) l->data;
- if (strcmp (dialup, config->name) == 0)
- {
- char *cmd;
- int status;
-
- nm_info ("Activating dialup device %s (%s) ...", dialup, (char *) config->data);
- cmd = g_strdup_printf ("/sbin/ifup %s", (char *) config->data);
- status = nm_spawn_process (cmd);
- g_free (cmd);
- if (status == 0) {
- ret = TRUE;
- } else {
- /* FIXME: Decode errors into something sensible */
- nm_warning ("Couldn't activate dialup device %s (%s) - %d", dialup, (char *) config->data, status);
- ret = FALSE;
- }
- break;
- }
- }
- return ret;
-}
-
-
-static gboolean is_valid_cfg(const char *cfg)
-{
- char *exts[] = { ".rpmsave", ".rpmorig", ".rpmnew", "~", ".bak", NULL };
- int x;
-
- if (!g_str_has_prefix (cfg, "ifcfg-"))
- return FALSE;
- for (x = 0 ; exts[x] ; x++) {
- if (g_str_has_suffix(cfg,exts[x]))
- return FALSE;
- }
- return TRUE;
-}
-
-static char *get_config_name(const char *cfg)
-{
- char *ret = NULL;
- shvarFile *cfg_file;
- char *path, *tmp;
- gboolean is_dialup = FALSE;
-
- path = g_strdup_printf ("/etc/sysconfig/network-scripts/%s", cfg);
- cfg_file = svNewFile (path);
- g_free (path);
- if (!cfg_file)
- return NULL;
-
-
- /* Check for a dialup TYPE */
- tmp = svGetValue (cfg_file, "TYPE");
- if (tmp)
- {
- if ((strcmp (tmp, "Modem") == 0) ||
- (strcmp (tmp, "ISDN") == 0))
- is_dialup = TRUE;
- free(tmp);
- }
-
- /* Check for a dialup BOOTPROTO */
- tmp = svGetValue (cfg_file, "BOOTPROTO");
- if (tmp)
- {
- if ((strcmp (tmp, "dialup") == 0))
- is_dialup = TRUE;
- free(tmp);
- }
-
- /* Check for a dialup device name */
- if (g_str_has_prefix(cfg+6, "ppp") || g_str_has_prefix(cfg+6, "ippp"))
- is_dialup = TRUE;
-
- if (!is_dialup)
- goto out_close;
-
- /* PROVIDER isn't actually used, but s-c-network writes it. */
- tmp = svGetValue (cfg_file, "PROVIDER");
- if (tmp)
- {
- ret = tmp;
- goto out_close;
- }
-
- /* NAME isn't used either... */
- tmp = svGetValue (cfg_file, "NAME");
- if (tmp)
- {
- ret = tmp;
- goto out_close;
- }
-
- tmp = svGetValue (cfg_file, "WVDIALSECT");
- if (tmp)
- {
- ret = tmp;
- goto out_close;
- }
-
- /* Fallback - use the config*/
- ret = strdup(cfg + 6);
-
-out_close:
- svCloseFile (cfg_file);
- return ret;
-
-}
-
-GSList * nm_system_get_dialup_config (void)
-{
- GSList *list = NULL;
- GDir *dir;
- GError *err;
- const char *entry;
-
- dir = g_dir_open ("/etc/sysconfig/network-scripts", 0, &err);
- if (!dir)
- {
- nm_warning ("Could not open directory /etc/sysconfig/network-scripts: %s", err->message);
- return NULL;
- }
-
- while ((entry = g_dir_read_name(dir)))
- {
- NMDialUpConfig *config;
- char *buf;
-
- if (!is_valid_cfg(entry))
- continue;
-
- buf = get_config_name(entry);
-
- if (!buf)
- continue;
-
- config = g_malloc (sizeof (NMDialUpConfig));
- config->name = g_strdup_printf ("%s via Modem", buf);
- config->data = g_strdup (entry + 6);
- list = g_slist_append (list, config);
-
- nm_info ("Found dial up configuration for %s: %s", config->name, (char *) config->data);
-
- free (buf);
-
- }
-
- g_dir_close (dir);
-
- return list;
-}
-
/*
* nm_system_activate_nis
*
diff --git a/src/backends/NetworkManagerSlackware.c b/src/backends/NetworkManagerSlackware.c
index 5523c37005..24ea03e6b7 100644
--- a/src/backends/NetworkManagerSlackware.c
+++ b/src/backends/NetworkManagerSlackware.c
@@ -265,32 +265,6 @@ void nm_system_flush_arp_cache (void)
nm_generic_flush_arp_cache ();
}
-void nm_system_deactivate_all_dialup (GSList *list)
-{
-}
-
-gboolean nm_system_deactivate_dialup (GSList *list, const char *dialup)
-{
- return FALSE;
-}
-
-gboolean nm_system_activate_dialup (GSList *list, const char *dialup)
-{
- return FALSE;
-}
-
-/*
- * nm_system_get_dialup_config
- *
- * Enumerate dial up options on this system, allocate NMDialUpConfig's,
- * fill them out, and return.
- *
- */
-GSList * nm_system_get_dialup_config (void)
-{
- return NULL;
-}
-
void nm_system_device_free_system_config (NMDevice *dev, void *system_config_data)
{
}
diff --git a/src/backends/NetworkManagerSuSE.c b/src/backends/NetworkManagerSuSE.c
index b6f0d3c16b..9aac6860a2 100644
--- a/src/backends/NetworkManagerSuSE.c
+++ b/src/backends/NetworkManagerSuSE.c
@@ -51,7 +51,7 @@
#include "cipher-wpa-psk-passphrase.h"
#include "nm-device-802-3-ethernet.h"
#include "nm-device-802-11-wireless.h"
-#include "NetworkManagerDialup.h"
+#include "NetworkManagerDialupConfig.h"
#include "nm-utils.h"
#include "shvar.h"
@@ -728,218 +728,6 @@ NMIP4Config *nm_system_device_new_ip4_system_config (NMDevice *dev)
return new_config;
}
-
-void nm_system_deactivate_all_dialup (GSList *list)
-{
- GSList *elt;
-
- for (elt = list; elt; elt = g_slist_next (elt))
- {
- NMDialUpConfig *config = (NMDialUpConfig *) elt->data;
- char *cmd;
-
- if (config->type == NM_DIALUP_TYPE_ISDN)
- {
- cmd = g_strdup_printf ("/sbin/isdnctrl hangup %s", (char *) config->data);
- nm_spawn_process (cmd);
- g_free (cmd);
- }
-
- cmd = g_strdup_printf ("/sbin/ifdown %s", (char *) config->data);
- nm_spawn_process (cmd);
- g_free (cmd);
- }
-}
-
-
-gboolean nm_system_deactivate_dialup (GSList *list, const char *dialup)
-{
- GSList *elt;
- gboolean ret = FALSE;
-
- for (elt = list; elt; elt = g_slist_next (elt))
- {
- NMDialUpConfig *config = (NMDialUpConfig *) elt->data;
- if (strcmp (dialup, config->name) == 0)
- {
- char *cmd;
-
- nm_info ("Deactivating dialup device %s (%s) ...", dialup, (char *) config->data);
-
- cmd = g_strdup_printf ("/sbin/ifdown %s", (char *) config->data);
- nm_spawn_process (cmd);
- g_free (cmd);
-
- if (config->type == NM_DIALUP_TYPE_ISDN)
- {
- cmd = g_strdup_printf ("/sbin/isdnctrl hangup %s", (char *) config->data);
- nm_spawn_process (cmd);
- g_free (cmd);
- }
-
- ret = TRUE;
- break;
- }
- }
-
- return ret;
-}
-
-
-gboolean nm_system_activate_dialup (GSList *list, const char *dialup)
-{
- GSList *elt;
- gboolean ret = FALSE;
-
- for (elt = list; elt; elt = g_slist_next (elt))
- {
- NMDialUpConfig *config = (NMDialUpConfig *) elt->data;
- if (strcmp (dialup, config->name) == 0)
- {
- char *cmd;
-
- nm_info ("Activating dialup device %s (%s) ...", dialup, (char *) config->data);
-
- cmd = g_strdup_printf ("/sbin/ifup %s", (char *) config->data);
- nm_spawn_process (cmd);
- g_free (cmd);
-
- if (config->type == NM_DIALUP_TYPE_ISDN)
- {
- cmd = g_strdup_printf ("/sbin/isdnctrl dial %s", (char *) config->data);
- nm_spawn_process (cmd);
- g_free (cmd);
- }
-
- ret = TRUE;
- break;
- }
- }
-
- return ret;
-}
-
-
-/*
- * verify_and_return_provider - given a provider identifier, verify that it is able to dial without
- * prompting and return the provider name. On failure, return NULL. Caller is responsible for
- * free'ing the return.
-*/
-static char * verify_and_return_provider (const char *provider)
-{
- shvarFile *file;
- char *name, *buf = NULL;
- int ret;
-
- name = g_strdup_printf (SYSCONFDIR"/sysconfig/network/providers/%s", provider);
-
- file = svNewFile (name);
- if (!file)
- goto out_gfree;
-
- buf = svGetValue (file, "ASKPASSWORD");
- if (!buf)
- goto out_close;
- ret = strcmp (buf, "no");
- free (buf);
- if (ret)
- {
- buf = NULL;
- goto out_close;
- }
-
- buf = svGetValue (file, "PROVIDER");
-
-out_close:
- svCloseFile (file);
-out_gfree:
- g_free (name);
-
- return buf;
-}
-
-
-/*
- * nm_system_get_dialup_config
- *
- * Enumerate dial up options on this system, allocate NMDialUpConfig's,
- * fill them out, and return.
- *
- */
-GSList * nm_system_get_dialup_config (void)
-{
- GSList *list = NULL;
- const char *dentry;
- GError *err = NULL;
- GDir *dir;
-
- dir = g_dir_open (SYSCONFDIR "/sysconfig/network", 0, &err);
- if (!dir)
- {
- nm_warning ("Could not open directory " SYSCONFDIR "/sysconfig/network: %s", err->message);
- return NULL;
- }
-
- while ((dentry = g_dir_read_name (dir)))
- {
- NMDialUpConfig *config;
- shvarFile *modem_file;
- char *name, *buf, *provider_name;
- int modem;
-
- /* we only want modems and isdn */
- if (g_str_has_prefix (dentry, "ifcfg-modem"))
- modem = 1;
- else if (g_str_has_prefix (dentry, "ifcfg-ippp"))
- modem = 0;
- else
- continue;
-
- /* open the configuration file */
- name = g_strdup_printf (SYSCONFDIR"/sysconfig/network/%s", dentry);
- modem_file = svNewFile (name);
- if (!modem_file)
- goto out_gfree;
- /* get the name of the provider used for this entry */
- buf = svGetValue (modem_file, "PROVIDER");
- if (!buf)
- goto out_close;
-
- provider_name = verify_and_return_provider (buf);
- if (!provider_name)
- goto out_free;
-
- config = g_malloc (sizeof (NMDialUpConfig));
- config->data = g_strdup (dentry + 6); /* skip the "ifcfg-" prefix */
- if (modem)
- {
- config->name = g_strdup_printf ("%s via modem (%s)", provider_name, (char *) config->data);
- config->type = NM_DIALUP_TYPE_MODEM;
- } else
- {
- config->name = g_strdup_printf ("%s via ISDN (%s)", provider_name, (char *) config->data);
- config->type = NM_DIALUP_TYPE_ISDN;
- }
-
- list = g_slist_append (list, config);
-
- nm_info ("Found dial up configuration for %s: %s", config->name, (char *) config->data);
-
- free (provider_name);
-out_free:
- free (buf);
-out_close:
- svCloseFile (modem_file);
-out_gfree:
- g_free (name);
- }
-
- g_dir_close (dir);
-
- return list;
-}
-
-
/*
* nm_system_activate_nis
*