diff options
author | Robert Piasek <dagger@gentoo.org> | 2010-12-17 12:30:16 +0000 |
---|---|---|
committer | Robert Piasek <dagger@gentoo.org> | 2010-12-17 12:30:16 +0000 |
commit | 03cfdbb01d3b5b503cfbbdebee87120ddc47c853 (patch) | |
tree | 1ea60c581de34746068d858b3d5267168de656d9 /net-misc/networkmanager | |
parent | Version bump (diff) | |
download | gentoo-2-03cfdbb01d3b5b503cfbbdebee87120ddc47c853.tar.gz gentoo-2-03cfdbb01d3b5b503cfbbdebee87120ddc47c853.tar.bz2 gentoo-2-03cfdbb01d3b5b503cfbbdebee87120ddc47c853.zip |
Update backport patch
(Portage version: 2.1.9.25/cvs/Linux x86_64)
Diffstat (limited to 'net-misc/networkmanager')
-rw-r--r-- | net-misc/networkmanager/ChangeLog | 6 | ||||
-rw-r--r-- | net-misc/networkmanager/files/networkmanager-0.8.2-1.patch | 210 |
2 files changed, 5 insertions, 211 deletions
diff --git a/net-misc/networkmanager/ChangeLog b/net-misc/networkmanager/ChangeLog index 975e9c0e0716..b4935f0d8278 100644 --- a/net-misc/networkmanager/ChangeLog +++ b/net-misc/networkmanager/ChangeLog @@ -1,6 +1,10 @@ # ChangeLog for net-misc/networkmanager # Copyright 1999-2010 Gentoo Foundation; Distributed under the GPL v2 -# $Header: /var/cvsroot/gentoo-x86/net-misc/networkmanager/ChangeLog,v 1.90 2010/12/17 12:17:05 dagger Exp $ +# $Header: /var/cvsroot/gentoo-x86/net-misc/networkmanager/ChangeLog,v 1.91 2010/12/17 12:30:16 dagger Exp $ + + 17 Dec 2010; Robert Piasek <dagger@gentoo.org> + files/networkmanager-0.8.2-1.patch: + Updated backport patch *networkmanager-0.8.2-r2 (17 Dec 2010) diff --git a/net-misc/networkmanager/files/networkmanager-0.8.2-1.patch b/net-misc/networkmanager/files/networkmanager-0.8.2-1.patch index f1d891d7c89e..1df40193debb 100644 --- a/net-misc/networkmanager/files/networkmanager-0.8.2-1.patch +++ b/net-misc/networkmanager/files/networkmanager-0.8.2-1.patch @@ -172,213 +172,3 @@ index ce13da3..9c3662f 100644 } -- cgit v0.8.3-6-g21f6 -From 41167ce95603b56a39f808b9f14389bc8db3ea8c Mon Sep 17 00:00:00 2001 -From: Jiří Klimeš <jklimes@redhat.com> -Date: Wed, 10 Nov 2010 15:21:25 +0000 -Subject: keyfile: ignore temporary files (bgo #602868) - -Ignore temporary files created by vim editor and temporary files created -internally by g_file_set_contents() (mkstemp()) when writing connections. ---- -diff --git a/system-settings/plugins/keyfile/Makefile.am b/system-settings/plugins/keyfile/Makefile.am -index c519adc..128775e 100644 ---- a/system-settings/plugins/keyfile/Makefile.am -+++ b/system-settings/plugins/keyfile/Makefile.am -@@ -16,6 +16,8 @@ libkeyfile_io_la_SOURCES = \ - writer.c \ - writer.h \ - errors.c \ -+ utils.c \ -+ utils.h \ - common.h - - libkeyfile_io_la_CPPFLAGS = \ -diff --git a/system-settings/plugins/keyfile/common.h b/system-settings/plugins/keyfile/common.h -index 7d94a70..6c8f9ce 100644 ---- a/system-settings/plugins/keyfile/common.h -+++ b/system-settings/plugins/keyfile/common.h -@@ -23,6 +23,9 @@ - - #include <glib.h> - -+#define SWP_TAG ".swp" -+#define SWPX_TAG ".swpx" -+ - #define KEYFILE_PLUGIN_NAME "keyfile" - #define KEYFILE_PLUGIN_INFO "(c) 2007 - 2010 Red Hat, Inc. To report bugs please use the NetworkManager mailing list." - -diff --git a/system-settings/plugins/keyfile/plugin.c b/system-settings/plugins/keyfile/plugin.c -index f57a4b6..5a927ce 100644 ---- a/system-settings/plugins/keyfile/plugin.c -+++ b/system-settings/plugins/keyfile/plugin.c -@@ -39,6 +39,7 @@ - #include "nm-keyfile-connection.h" - #include "writer.h" - #include "common.h" -+#include "utils.h" - - #define CONF_FILE SYSCONFDIR "/NetworkManager/NetworkManager.conf" - #define OLD_CONF_FILE SYSCONFDIR "/NetworkManager/nm-system-settings.conf" -@@ -89,6 +90,9 @@ read_connections (NMSystemConfigInterface *config) - NMKeyfileConnection *connection; - char *full_path; - -+ if (utils_should_ignore_file (item)) -+ continue; -+ - 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); -@@ -192,6 +196,11 @@ dir_changed (GFileMonitor *monitor, - GError *error = NULL; - - name = g_file_get_path (file); -+ if (utils_should_ignore_file (name)) { -+ g_free (name); -+ return; -+ } -+ - connection = g_hash_table_lookup (priv->hash, name); - - switch (event_type) { -diff --git a/system-settings/plugins/keyfile/utils.c b/system-settings/plugins/keyfile/utils.c -new file mode 100644 -index 0000000..de64f79 ---- a/dev/null -+++ b/system-settings/plugins/keyfile/utils.c -@@ -0,0 +1,97 @@ -+/* -*- Mode: C; tab-width: 4; indent-tabs-mode: t; c-basic-offset: 4 -*- */ -+/* NetworkManager system settings service -+ * -+ * 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 2010 Red Hat, Inc. -+ */ -+ -+#include <glib.h> -+#include <stdlib.h> -+#include <string.h> -+#include "utils.h" -+ -+ -+static const char temp_letters[] = -+"abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789"; -+ -+/* -+ * Check '.[a-zA-Z0-9]{6}' file suffix used for temporary files by g_file_set_contents() (mkstemp()). -+ */ -+static gboolean -+check_mkstemp_suffix (const char *path) -+{ -+ const char *ptr; -+ -+ g_return_val_if_fail (path != NULL, FALSE); -+ -+ /* Matches *.[a-zA-Z0-9]{6} suffix of mkstemp()'s temporary files */ -+ ptr = strrchr (path, '.'); -+ if (ptr && (strspn (ptr + 1, temp_letters) == 6) && (! ptr[7])) -+ return TRUE; -+ return FALSE; -+} -+ -+static gboolean -+check_prefix (const char *base, const char *tag) -+{ -+ int len, tag_len; -+ -+ g_return_val_if_fail (base != NULL, TRUE); -+ g_return_val_if_fail (tag != NULL, TRUE); -+ -+ len = strlen (base); -+ tag_len = strlen (tag); -+ if ((len > tag_len) && !strncasecmp (base, tag, tag_len)) -+ return TRUE; -+ return FALSE; -+} -+ -+static gboolean -+check_suffix (const char *base, const char *tag) -+{ -+ int len, tag_len; -+ -+ g_return_val_if_fail (base != NULL, TRUE); -+ g_return_val_if_fail (tag != NULL, TRUE); -+ -+ len = strlen (base); -+ tag_len = strlen (tag); -+ if ((len > tag_len) && !strcasecmp (base + len - tag_len, tag)) -+ return TRUE; -+ return FALSE; -+} -+ -+gboolean -+utils_should_ignore_file (const char *filename) -+{ -+ char *base; -+ gboolean ignore = FALSE; -+ -+ g_return_val_if_fail (filename != NULL, TRUE); -+ -+ base = g_path_get_basename (filename); -+ g_return_val_if_fail (base != NULL, TRUE); -+ -+ /* Ignore files with certain patterns */ -+ if ( (check_prefix (base, ".") && check_suffix (base, SWP_TAG)) /* vim temporary files: .filename.swp */ -+ || (check_prefix (base, ".") && check_suffix (base, SWPX_TAG)) /* vim temporary files: .filename.swpx */ -+ || check_mkstemp_suffix (base)) /* temporary files created by mkstemp() */ -+ ignore = TRUE; -+ -+ g_free (base); -+ return ignore; -+} -+ -diff --git a/system-settings/plugins/keyfile/utils.h b/system-settings/plugins/keyfile/utils.h -new file mode 100644 -index 0000000..3c1a610 ---- a/dev/null -+++ b/system-settings/plugins/keyfile/utils.h -@@ -0,0 +1,30 @@ -+/* -*- Mode: C; tab-width: 4; indent-tabs-mode: t; c-basic-offset: 4 -*- */ -+/* NetworkManager system settings service -+ * -+ * 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 2010 Red Hat, Inc. -+ */ -+ -+#ifndef _UTILS_H_ -+#define _UTILS_H_ -+ -+#include <glib.h> -+#include "common.h" -+ -+gboolean utils_should_ignore_file (const char *filename); -+ -+#endif /* _UTILS_H_ */ -+ --- -cgit v0.8.3-6-g21f6 |