From 9c202e3e860b3be9e1f8882630b69affbb130102 Mon Sep 17 00:00:00 2001 From: Michael Biebl Date: Sun, 3 Feb 2013 14:49:22 +0100 Subject: Imported Upstream version 0.9.7.995 --- src/backends/NetworkManagerGeneric.c | 177 ----------------------------------- 1 file changed, 177 deletions(-) delete mode 100644 src/backends/NetworkManagerGeneric.c (limited to 'src/backends/NetworkManagerGeneric.c') diff --git a/src/backends/NetworkManagerGeneric.c b/src/backends/NetworkManagerGeneric.c deleted file mode 100644 index eae6f733..00000000 --- a/src/backends/NetworkManagerGeneric.c +++ /dev/null @@ -1,177 +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. - * - * (C) Copyright 2004 - 2012 Red Hat, Inc. - * (C) Copyright 2006 Timothee Lecomte - */ - -#ifdef HAVE_CONFIG_H -#include -#endif - -#include -#include -#include -#include -#include -#include - -#include "NetworkManagerGeneric.h" -#include "nm-system.h" -#include "NetworkManagerUtils.h" -#include "nm-logging.h" -#include "nm-netlink-compat.h" -#include "nm-netlink-monitor.h" -#include "nm-netlink-utils.h" - -/* Because of a bug in libnl, rtnl.h should be included before route.h */ -#include - -#include -#include - -/* - * nm_generic_enable_loopback - * - * Bring up the loopback interface - * - */ -void nm_generic_enable_loopback (void) -{ - struct nl_sock * nlh = NULL; - struct rtnl_addr * addr = NULL; - struct nl_addr * nl_addr = NULL; - guint32 binaddr = 0; - int iface_idx = -1; - int err; - - nlh = nm_netlink_get_default_handle (); - if (!nlh) - return; - - iface_idx = nm_netlink_iface_to_index ("lo"); - if (iface_idx < 0) - return; - - nm_system_iface_set_up (iface_idx, TRUE, NULL); - - addr = rtnl_addr_alloc (); - if (!addr) - return; - - binaddr = htonl (0x7f000001); /* 127.0.0.1 */ - nl_addr = nl_addr_build (AF_INET, &binaddr, sizeof(binaddr)); - if (!nl_addr) - goto out; - rtnl_addr_set_local (addr, nl_addr); - nl_addr_put (nl_addr); - - binaddr = htonl (0x7fffffff); /* 127.255.255.255 */ - nl_addr = nl_addr_build (AF_INET, &binaddr, sizeof(binaddr)); - if (!nl_addr) - goto out; - rtnl_addr_set_broadcast (addr, nl_addr); - nl_addr_put (nl_addr); - - rtnl_addr_set_prefixlen (addr, 8); - rtnl_addr_set_ifindex (addr, iface_idx); - rtnl_addr_set_scope (addr, RT_SCOPE_HOST); - rtnl_addr_set_label (addr, "lo"); - - err = rtnl_addr_add (nlh, addr, 0); - if (err && (err != -NLE_EXIST)) { - nm_log_warn (LOGD_CORE, "error setting loopback address: (%d) %s", - err, nl_geterror (err)); - } -out: - if (addr) - rtnl_addr_put (addr); -} - -/* - * nm_generic_update_dns - * - * Make glibc/nscd aware of any changes to the resolv.conf file by - * restarting nscd. - * - */ -void nm_generic_update_dns (void) -{ -} - -/* - * nm_generic_ipv6_use_tempaddr - * - * Get net.ipv6.conf.default.use_tempaddr value from /etc/sysctl.conf or - * /lib/sysctl.d/sysctl.conf - * - */ -int nm_generic_ipv6_use_tempaddr (void) -{ - char *contents = NULL; - gsize len = 0; - const char *group_name = "[forged_group]\n"; - char *sysctl_data = NULL; - GKeyFile *keyfile; - GError *error = NULL; - int tmp, ret = -1; - - /* Read file contents to a string. */ - if (!g_file_get_contents ("/etc/sysctl.conf", &contents, &len, NULL)) - if (!g_file_get_contents ("/lib/sysctl.d/sysctl.conf", &contents, &len, NULL)) - return -1; - - /* Prepend a group so that we can use GKeyFile parser. */ - sysctl_data = g_strdup_printf ("%s%s", group_name, contents); - - keyfile = g_key_file_new (); - if (keyfile == NULL) - goto done; - - if (!g_key_file_load_from_data (keyfile, sysctl_data, len + strlen (group_name), G_KEY_FILE_NONE, NULL)) - goto done; - - tmp = g_key_file_get_integer (keyfile, "forged_group", "net.ipv6.conf.default.use_tempaddr", &error); - if (error == NULL) - ret = tmp; - -done: - g_free (contents); - g_free (sysctl_data); - g_clear_error (&error); - g_key_file_free (keyfile); - - return ret; -} - -#ifdef TARGET_GENERIC -void nm_backend_enable_loopback (void) -{ - nm_generic_enable_loopback (); -} - -void nm_backend_update_dns (void) -{ - nm_generic_update_dns (); -} - -int nm_backend_ipv6_use_tempaddr (void) -{ - return nm_generic_ipv6_use_tempaddr (); -} -#endif - -- cgit 1.3.0-6-gf8a5