[Pkg-utopia-commits] r820 - in
packages/unstable/networkmanager/debian: . patches
Michael Biebl
mbiebl-guest at costa.debian.org
Wed May 10 00:36:23 UTC 2006
Author: mbiebl-guest
Date: 2006-05-10 00:36:14 +0000 (Wed, 10 May 2006)
New Revision: 820
Added:
packages/unstable/networkmanager/debian/patches/10-interface_parser_fixes.patch
Modified:
packages/unstable/networkmanager/debian/README.Debian
packages/unstable/networkmanager/debian/changelog
Log:
Fix the /etc/network/interfaces parser:
- Only add data to an existing block (prevents segfault)
- Support mapping and allow-* stanzas.
Modified: packages/unstable/networkmanager/debian/README.Debian
===================================================================
--- packages/unstable/networkmanager/debian/README.Debian 2006-05-10 00:33:27 UTC (rev 819)
+++ packages/unstable/networkmanager/debian/README.Debian 2006-05-10 00:36:14 UTC (rev 820)
@@ -11,9 +11,12 @@
Configuration
~~~~~~~~~~~~~
-Only devices that are not listed in /etc/network/interfaces or which have been
-configured "auto" and "dhcp" (with no other options) are managed by NM.
+Only devices that are *not* listed in /etc/network/interfaces or which have
+been configured "auto" and "dhcp" (with no other options) are managed by NM.
+This way you can setup a custom (static) configuration for a device and NM
+will not try to override this setting.
+
Examples:
1.)
Modified: packages/unstable/networkmanager/debian/changelog
===================================================================
--- packages/unstable/networkmanager/debian/changelog 2006-05-10 00:33:27 UTC (rev 819)
+++ packages/unstable/networkmanager/debian/changelog 2006-05-10 00:36:14 UTC (rev 820)
@@ -11,13 +11,15 @@
not handled by NM. This makes it possible to configure interfaces
statically and have NM not messing with them.
Updated README.Debian to reflect these changes.
- - Added 09-nm_bad_mutex_free.patch. Otherwise NM crashes if devices are
- listed in /etc/network/interfaces.
+ - Added 09-nm_bad_mutex_free.patch. Otherwise NM crashes if a device is
+ disabled.
* Added 07-libnm_glib_reconnect_dbus.patch which makes libnm_glib sleep
between unsuccessful connection attempts to dbus. (Closes: #366010)
* Bumped Standards-Version to 3.7.2, no further changes required.
* Removed *.la files from the dev packages as we also ship pkg-config files
which are a better alternative.
+ * Added 10-interface_parser_fixes.patch which fixes several problems with
+ the /etc/network/interfaces parser. (Closes: #355564)
-- Michael Biebl <biebl at teco.edu> Fri, 5 May 2006 18:01:47 +0200
Added: packages/unstable/networkmanager/debian/patches/10-interface_parser_fixes.patch
===================================================================
--- packages/unstable/networkmanager/debian/patches/10-interface_parser_fixes.patch 2006-05-10 00:33:27 UTC (rev 819)
+++ packages/unstable/networkmanager/debian/patches/10-interface_parser_fixes.patch 2006-05-10 00:36:14 UTC (rev 820)
@@ -0,0 +1,90 @@
+Index: src/backends/interface_parser.c
+===================================================================
+RCS file: /cvs/gnome/NetworkManager/src/backends/interface_parser.c,v
+retrieving revision 1.6
+diff -u -3 -p -r1.6 interface_parser.c
+--- src/backends/interface_parser.c 24 Oct 2005 15:04:28 -0000 1.6
++++ src/backends/interface_parser.c 9 May 2006 23:06:35 -0000
+@@ -50,6 +50,10 @@ void add_block(const char *type, const c
+
+ void add_data(const char *key,const char *data)
+ {
++ // Check if there is a block where we can attach our data
++ if (first == NULL)
++ return;
++
+ if_data *ret = (if_data*)calloc(1,sizeof(struct _if_data));
+ ret->key = g_strdup(key);
+ ret->data = g_strdup(data);
+@@ -73,6 +77,10 @@ void ifparser_init(void)
+ {
+ FILE *inp = fopen(INTERFACES,"r");
+ int ret = 0;
++ char *line;
++ char *space;
++ char rline[255];
++
+ if (inp == NULL)
+ {
+ nm_warning ("Error: Can't open %s\n",INTERFACES);
+@@ -81,10 +89,16 @@ void ifparser_init(void)
+ first = last = NULL;
+ while(1)
+ {
+- char *line,rline[255],*space;
++ line = space = NULL;
+ ret = fscanf(inp,"%255[^\n]\n",rline);
+ if (ret == EOF)
+ break;
++ // If the line did not match, skip it
++ if (ret == 0) {
++ fgets(rline, 255, inp);
++ continue;
++ }
++
+ line = rline;
+ while(line[0] == ' ')
+ line++;
+@@ -94,18 +108,19 @@ void ifparser_init(void)
+ SPACE_OR_TAB(line,space)
+ if (space == NULL)
+ {
+- nm_warning ("Error: Can't parse interface line '%s'\n",line);
++ nm_warning ("Error: Can't parse interface line '%s'\n",line);
+ continue;
+ }
+ space[0] = '\0';
+
+-
++ // There are four different stanzas:
++ // iface, mapping, auto and allow-*. Create a block for each of them.
+ if (strcmp(line,"iface")==0)
+ {
+ char *space2 = strchr(space+1,' ');
+ if (space2 == NULL)
+ {
+- nm_warning ("Error: Can't parse iface line '%s'\n",space+1);
++ nm_warning ("Error: Can't parse iface line '%s'\n",space+1);
+ continue;
+ }
+ space2[0]='\0';
+@@ -116,7 +131,7 @@ void ifparser_init(void)
+ space = strchr(space2+1,' ');
+ if (space == NULL)
+ {
+- nm_warning ("Error: Can't parse data '%s'\n",space2+1);
++ nm_warning ("Error: Can't parse data '%s'\n",space2+1);
+ continue;
+ }
+ space[0] = '\0';
+@@ -124,6 +139,10 @@ void ifparser_init(void)
+ }
+ }
+ else if (strcmp(line,"auto")==0)
++ add_block(line,space+1);
++ else if (strcmp(line,"mapping")==0)
++ add_block(line,space+1);
++ else if (strncmp(line,"allow-",6)==0)
+ add_block(line,space+1);
+ else
+ add_data(line,space+1);
More information about the Pkg-utopia-commits
mailing list