network-manager-applet r781 - in trunk: . src src/connection-editor
- From: dcbw svn gnome org
- To: svn-commits-list gnome org
- Subject: network-manager-applet r781 - in trunk: . src src/connection-editor
- Date: Mon, 7 Jul 2008 19:09:03 +0000 (UTC)
Author: dcbw
Date: Mon Jul 7 19:09:03 2008
New Revision: 781
URL: http://svn.gnome.org/viewvc/network-manager-applet?rev=781&view=rev
Log:
2008-07-07 Dan Williams <dcbw redhat com>
* src/connection-editor/page-ip4.c
src/applet-dialogs.c
- Update for change from netmask -> prefix (requires NM svn3812 or later)
Modified:
trunk/ChangeLog
trunk/src/applet-dialogs.c
trunk/src/connection-editor/page-ip4.c
Modified: trunk/src/applet-dialogs.c
==============================================================================
--- trunk/src/applet-dialogs.c (original)
+++ trunk/src/applet-dialogs.c Mon Jul 7 19:09:03 2008
@@ -35,6 +35,7 @@
#include <nm-setting-wired.h>
#include <nm-setting-8021x.h>
#include <nm-setting-ip4-config.h>
+#include <nm-utils.h>
#include <gtk/gtk.h>
#include <gtk/gtkwidget.h>
@@ -237,7 +238,7 @@
NMIP4Config *ip4_config;
const GArray *dns;
NMSettingIP4Address *def_addr;
- guint32 hostmask, network, bcast;
+ guint32 hostmask, network, bcast, netmask;
int row = 0;
table = GTK_TABLE (gtk_table_new (12, 2, FALSE));
@@ -347,8 +348,9 @@
row++;
/* Broadcast */
- network = ntohl (def_addr->address) & ntohl (def_addr->netmask);
- hostmask = ~ntohl (def_addr->netmask);
+ netmask = nm_utils_ip4_prefix_to_netmask (def_addr->prefix);
+ network = ntohl (def_addr->address) & ntohl (netmask);
+ hostmask = ~ntohl (netmask);
bcast = htonl (network | hostmask);
gtk_table_attach_defaults (table,
@@ -359,12 +361,12 @@
1, 2, row, row + 1);
row++;
- /* Netmask */
+ /* Prefix */
gtk_table_attach_defaults (table,
create_info_label (_("Subnet Mask:")),
0, 1, row, row + 1);
gtk_table_attach_defaults (table,
- create_info_label (ip4_address_as_string (def_addr->netmask)),
+ create_info_label (ip4_address_as_string (netmask)),
1, 2, row, row + 1);
row++;
Modified: trunk/src/connection-editor/page-ip4.c
==============================================================================
--- trunk/src/connection-editor/page-ip4.c (original)
+++ trunk/src/connection-editor/page-ip4.c Mon Jul 7 19:09:03 2008
@@ -21,6 +21,8 @@
*/
#include <string.h>
+#include <errno.h>
+#include <stdlib.h>
#include <gtk/gtk.h>
#include <glib/gi18n.h>
@@ -67,7 +69,7 @@
#define IP4_METHOD_SHARED 4
#define COL_ADDRESS 0
-#define COL_NETMASK 1
+#define COL_PREFIX 1
#define COL_GATEWAY 2
static void
@@ -174,9 +176,7 @@
ip_string = inet_ntoa (tmp_addr);
gtk_list_store_set (store, &model_iter, COL_ADDRESS, g_strdup (ip_string), -1);
- tmp_addr.s_addr = addr->netmask;
- ip_string = inet_ntoa (tmp_addr);
- gtk_list_store_set (store, &model_iter, COL_NETMASK, g_strdup (ip_string), -1);
+ gtk_list_store_set (store, &model_iter, COL_PREFIX, g_strdup_printf ("%d", addr->prefix), -1);
tmp_addr.s_addr = addr->gateway;
ip_string = inet_ntoa (tmp_addr);
@@ -488,16 +488,16 @@
gtk_tree_view_column_set_expand (GTK_TREE_VIEW_COLUMN (column), TRUE);
gtk_tree_view_column_set_clickable (GTK_TREE_VIEW_COLUMN (column), TRUE);
- /* Netmask column */
+ /* Prefix column */
renderer = gtk_cell_renderer_text_new ();
g_object_set (renderer, "editable", TRUE, NULL);
g_signal_connect (renderer, "edited", G_CALLBACK (cell_edited), self);
- g_object_set_data (G_OBJECT (renderer), "column", GUINT_TO_POINTER (COL_NETMASK));
+ g_object_set_data (G_OBJECT (renderer), "column", GUINT_TO_POINTER (COL_PREFIX));
g_signal_connect (renderer, "editing-started", G_CALLBACK (cell_editing_started), store);
offset = gtk_tree_view_insert_column_with_attributes (priv->addr_list,
- -1, _("Netmask"), renderer,
- "text", COL_NETMASK,
+ -1, _("Prefix"), renderer,
+ "text", COL_PREFIX,
NULL);
column = gtk_tree_view_get_column (GTK_TREE_VIEW (priv->addr_list), offset - 1);
gtk_tree_view_column_set_expand (GTK_TREE_VIEW_COLUMN (column), TRUE);
@@ -585,14 +585,15 @@
addresses = g_ptr_array_sized_new (1);
while (valid) {
char *str_address = NULL;
- char *str_netmask = NULL;
+ char *str_prefix = NULL;
char *str_gateway = NULL;
- struct in_addr tmp_addr, tmp_netmask, tmp_gateway = { 0 };
+ struct in_addr tmp_addr, tmp_gateway = { 0 };
GArray *addr;
- guint32 empty_val = 0;
+ guint32 empty_val = 0, prefix;
+ long int tmp_prefix;
gtk_tree_model_get (model, &tree_iter, COL_ADDRESS, &str_address, -1);
- gtk_tree_model_get (model, &tree_iter, COL_NETMASK, &str_netmask, -1);
+ gtk_tree_model_get (model, &tree_iter, COL_PREFIX, &str_prefix, -1);
gtk_tree_model_get (model, &tree_iter, COL_GATEWAY, &str_gateway, -1);
if (!str_address || !inet_aton (str_address, &tmp_addr)) {
@@ -601,11 +602,20 @@
goto next;
}
- if (!str_netmask || !inet_aton (str_netmask, &tmp_netmask)) {
- g_warning ("%s: IPv4 netmask '%s' missing or invalid!",
- __func__, str_netmask ? str_netmask : "<none>");
+ if (!str_prefix) {
+ g_warning ("%s: IPv4 prefix '%s' missing!",
+ __func__, str_prefix ? str_prefix : "<none>");
+ goto next;
+ }
+
+ errno = 0;
+ tmp_prefix = strtol (str_prefix, NULL, 10);
+ if (errno || tmp_prefix < 0 || tmp_prefix > 32) {
+ g_warning ("%s: IPv4 prefix '%s' invalid!",
+ __func__, str_prefix ? str_prefix : "<none>");
goto next;
}
+ prefix = (guint32) tmp_prefix;
/* Gateway is optional... */
if (str_gateway && !inet_aton (str_gateway, &tmp_gateway)) {
@@ -616,7 +626,7 @@
addr = g_array_sized_new (FALSE, TRUE, sizeof (guint32), 3);
g_array_append_val (addr, tmp_addr.s_addr);
- g_array_append_val (addr, tmp_netmask.s_addr);
+ g_array_append_val (addr, prefix);
if (tmp_gateway.s_addr)
g_array_append_val (addr, tmp_gateway.s_addr);
else
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]