[gnome-network] Ubuntu (new upstream) gnome-nettool 3.0.0-0ubuntu1



This e-mail has been sent due to an upload to Ubuntu of a new upstream
version which still contains Ubuntu changes.  It contains the difference
between the Ubuntu version and the equivalent base version in Debian, note
that this difference may include the upstream changes.
Format: 1.8
Date: Mon, 16 May 2011 17:08:33 +0200
Source: gnome-nettool
Binary: gnome-nettool
Architecture: source
Version: 3.0.0-0ubuntu1
Distribution: oneiric
Urgency: low
Maintainer: Ubuntu Desktop Team <ubuntu-desktop lists ubuntu com>
Changed-By: Rodrigo Moya <rodrigo moya canonical com>
Description: 
 gnome-nettool - network information tool for GNOME
Changes: 
 gnome-nettool (3.0.0-0ubuntu1) oneiric; urgency=low
 .
   * Rebase from Debian, remaining Ubuntu changes:
   * debian/control:
     - Build-Depend on dh-autoreconf, gnome-common and liblaunchpad-integration-3.0-dev
     - Standards-Version is 3.9.2
     - Depend on iputils-tracepath instead of tcptraceroute
   * debian/patches/02_lpi.patch:
     - Patch for Launchpad integration
   * debian/patches/03_use_tracepath.patch:
     - Use tracepath instead of tcptraceroute or traceroute
   * debian/patches/04_menu_change.patch:
     - Move from Utilities to Settings
   * debian/rules:
     - Include autoreconf.mk
     - Don't include check-dist.mk, as it's used for uploading to experimental
    * debian/watch:
      - Allow downloading unstable releases
 .
 gnome-nettool (3.0.0-1) experimental; urgency=low
 .
   [ Jean Schurger ]
   * New upstream release.
     + debian/control.in
       - Update build-dependencies, especially for Gnome 3
       - Updated Standards-Version
     + debian/patches
       - Removed network-manager (fixed upstream)
       - Refreshed 01_ping_icmp_req.patch
       - Added UI fix patch 02_fix_ui.patch
       - Added interface display patch 03_fix_ifaces.patch
 .
   [ Jordi Mallach ]
   * Include check-dist.mk.
   * Add libglib2.0-dev to Build-Depends for GIO.
   * Bump Standards-Version to 3.9.2, with no further changes.
Checksums-Sha1: 
 b5912227e2b864a0b677193956cb80f18285b3e5 1692 gnome-nettool_3.0.0-0ubuntu1.dsc
 f90cbd22bbe108e5c303f57e7e4c58cad604f31d 11606 gnome-nettool_3.0.0-0ubuntu1.debian.tar.gz
Checksums-Sha256: 
 5df1aa4433ade8bf3f62c20449deeb1bf349c36429bb0b53283640ee6e453e84 1692 gnome-nettool_3.0.0-0ubuntu1.dsc
 1badb4ae6d1e210fc37722da041d7e60a47eaf9a4981acf3f974744ed07b742d 11606 gnome-nettool_3.0.0-0ubuntu1.debian.tar.gz
Files: 
 76a62c58088ccfefdd9d44b331e4a5fd 1692 gnome optional gnome-nettool_3.0.0-0ubuntu1.dsc
 a1a0db8f2dee054916fc7dade6b6fbeb 11606 gnome optional gnome-nettool_3.0.0-0ubuntu1.debian.tar.gz
Original-Maintainer: Debian GNOME Maintainers <pkg-gnome-maintainers lists alioth debian org>
diff -pruN 3.0.0-1/configure.ac 3.0.0-0ubuntu1/configure.ac
--- 3.0.0-1/configure.ac	2011-04-04 09:21:33.000000000 +0100
+++ 3.0.0-0ubuntu1/configure.ac	2011-05-16 23:07:39.000000000 +0100
@@ -35,6 +35,7 @@ GTK_REQUIRED=2.90.4
 
 PKG_CHECK_MODULES(NETTOOL,
 		  gtk+-3.0 >= $GTK_REQUIRED
+		  launchpad-integration-3.0
 		  gio-2.0 >= $GIO_REQUIRED
 		  gmodule-export-2.0
 		  gnome-doc-utils
diff -pruN 3.0.0-1/data/gnome-nettool.desktop.in.in 3.0.0-0ubuntu1/data/gnome-nettool.desktop.in.in
--- 3.0.0-1/data/gnome-nettool.desktop.in.in	2010-12-02 09:26:14.000000000 +0000
+++ 3.0.0-0ubuntu1/data/gnome-nettool.desktop.in.in	2011-05-16 23:07:39.000000000 +0100
@@ -5,7 +5,7 @@ Exec=gnome-nettool
 Icon=gnome-nettool
 Terminal=false
 Type=Application
-Categories=System;Utility;GNOME;GTK;
+Categories=System;Settings;GNOME;GTK;
 StartupNotify=true
 X-GNOME-Bugzilla-Bugzilla=GNOME
 X-GNOME-Bugzilla-Product=gnome-nettool
diff -pruN 3.0.0-1/data/gnome-nettool.ui 3.0.0-0ubuntu1/data/gnome-nettool.ui
--- 3.0.0-1/data/gnome-nettool.ui	2011-05-17 00:23:12.000000000 +0100
+++ 3.0.0-0ubuntu1/data/gnome-nettool.ui	2011-05-16 23:07:39.000000000 +0100
@@ -158,6 +158,7 @@
         </menu>
         <menu action="help1">
           <menuitem action="m_help_contents"/>
+          <placeholder name="LaunchpadItems"/>
           <menuitem action="m_about"/>
         </menu>
       </menubar>
diff -pruN 3.0.0-1/debian/changelog 3.0.0-0ubuntu1/debian/changelog
--- 3.0.0-1/debian/changelog	2011-04-21 17:53:23.000000000 +0100
+++ 3.0.0-0ubuntu1/debian/changelog	2011-05-16 16:36:25.000000000 +0100
@@ -1,3 +1,24 @@
+gnome-nettool (3.0.0-0ubuntu1) oneiric; urgency=low
+
+  * Rebase from Debian, remaining Ubuntu changes:
+  * debian/control:
+    - Build-Depend on dh-autoreconf, gnome-common and liblaunchpad-integration-3.0-dev
+    - Standards-Version is 3.9.2
+    - Depend on iputils-tracepath instead of tcptraceroute
+  * debian/patches/02_lpi.patch:
+    - Patch for Launchpad integration
+  * debian/patches/03_use_tracepath.patch:
+    - Use tracepath instead of tcptraceroute or traceroute
+  * debian/patches/04_menu_change.patch:
+    - Move from Utilities to Settings
+  * debian/rules:
+    - Include autoreconf.mk
+    - Don't include check-dist.mk, as it's used for uploading to experimental
+   * debian/watch:
+     - Allow downloading unstable releases
+
+ -- Rodrigo Moya <rodrigo moya canonical com>  Mon, 16 May 2011 17:08:33 +0200
+
 gnome-nettool (3.0.0-1) experimental; urgency=low
 
   [ Jean Schurger ]
diff -pruN 3.0.0-1/debian/control 3.0.0-0ubuntu1/debian/control
--- 3.0.0-1/debian/control	2011-04-21 17:56:13.000000000 +0100
+++ 3.0.0-0ubuntu1/debian/control	2011-05-16 16:36:27.000000000 +0100
@@ -6,19 +6,24 @@
 Source: gnome-nettool
 Section: gnome
 Priority: optional
-Maintainer: Debian GNOME Maintainers <pkg-gnome-maintainers lists alioth debian org>
+Maintainer: Ubuntu Desktop Team <ubuntu-desktop lists ubuntu com>
+XSBC-Original-Maintainer: Debian GNOME Maintainers <pkg-gnome-maintainers lists alioth debian org>
 Build-Depends: autotools-dev,
                cdbs (>= 0.4.41),
                debhelper (>= 5),
                dh-buildinfo,
+               dh-autoreconf,
+               gnome-common,
                gnome-pkg-tools (>= 0.10),
                intltool (>= 0.40.0),
                libglib2.0-dev (>= 2.25.10),
                libgtk-3-dev (>= 3.0.3),
                libgtop2-dev,
                gnome-doc-utils,
-               docbook-xml
-Uploaders: Jordi Mallach <jordi debian org>, Josselin Mouette <joss debian org>
+               docbook-xml,
+               liblaunchpad-integration-dev
+Uploaders: Debian GNOME Maintainers <pkg-gnome-maintainers lists alioth debian org>, Jordi Mallach <jordi debian org>, Josselin Mouette <joss debian org>
+Vcs-Bzr: https://code.launchpad.net/~ubuntu-desktop/gnome-nettool/ubuntu
 Standards-Version: 3.9.2
 Homepage: http://projects.gnome.org/gnome-network/
 
@@ -30,7 +35,7 @@ Depends: ${shlibs:Depends},
          dnsutils,
          net-tools,
          iputils-ping | ping,
-         tcptraceroute,
+         iputils-tracepath,
          whois
 Suggests: gnome-system-tools
 Conflicts: gnome-network (<= 1.99.5)
@@ -40,7 +45,7 @@ Description: network information tool fo
     * ifconfig
     * ping
     * netstat
-    * traceroute
+    * tracepath
     * port scanning
     * DNS lookup
     * finger
diff -pruN 3.0.0-1/debian/control.in 3.0.0-0ubuntu1/debian/control.in
--- 3.0.0-1/debian/control.in	2011-04-21 17:52:08.000000000 +0100
+++ 3.0.0-0ubuntu1/debian/control.in	2011-05-16 16:36:25.000000000 +0100
@@ -1,19 +1,24 @@
 Source: gnome-nettool
 Section: gnome
 Priority: optional
-Maintainer: Debian GNOME Maintainers <pkg-gnome-maintainers lists alioth debian org>
+Maintainer: Ubuntu Desktop Team <ubuntu-desktop lists ubuntu com>
+XSBC-Original-Maintainer: Debian GNOME Maintainers <pkg-gnome-maintainers lists alioth debian org>
 Build-Depends: autotools-dev,
                cdbs (>= 0.4.41),
                debhelper (>= 5),
                dh-buildinfo,
+               dh-autoreconf,
+               gnome-common,
                gnome-pkg-tools (>= 0.10),
                intltool (>= 0.40.0),
                libglib2.0-dev (>= 2.25.10),
                libgtk-3-dev (>= 3.0.3),
                libgtop2-dev,
                gnome-doc-utils,
-               docbook-xml
+               docbook-xml,
+               liblaunchpad-integration-dev
 Uploaders: @GNOME_TEAM@
+Vcs-Bzr: https://code.launchpad.net/~ubuntu-desktop/gnome-nettool/ubuntu
 Standards-Version: 3.9.2
 Homepage: http://projects.gnome.org/gnome-network/
 
@@ -25,7 +30,7 @@ Depends: ${shlibs:Depends},
          dnsutils,
          net-tools,
          iputils-ping | ping,
-         tcptraceroute,
+         iputils-tracepath,
          whois
 Suggests: gnome-system-tools
 Conflicts: gnome-network (<= 1.99.5)
@@ -35,7 +40,7 @@ Description: network information tool fo
     * ifconfig
     * ping
     * netstat
-    * traceroute
+    * tracepath
     * port scanning
     * DNS lookup
     * finger
diff -pruN 3.0.0-1/debian/gnome-nettool.debhelper.log 3.0.0-0ubuntu1/debian/gnome-nettool.debhelper.log
--- 3.0.0-1/debian/gnome-nettool.debhelper.log	1970-01-01 01:00:00.000000000 +0100
+++ 3.0.0-0ubuntu1/debian/gnome-nettool.debhelper.log	2011-05-16 16:36:27.000000000 +0100
@@ -0,0 +1 @@
+dh_autoreconf_clean
diff -pruN 3.0.0-1/debian/patches/02_lpi.patch 3.0.0-0ubuntu1/debian/patches/02_lpi.patch
--- 3.0.0-1/debian/patches/02_lpi.patch	1970-01-01 01:00:00.000000000 +0100
+++ 3.0.0-0ubuntu1/debian/patches/02_lpi.patch	2011-05-16 16:36:25.000000000 +0100
@@ -0,0 +1,57 @@
+Description: Add Launchpad integration
+Author: ?
+
+Index: gnome-nettool-2.91.2/configure.ac
+===================================================================
+--- gnome-nettool-2.91.2.orig/configure.ac	2010-12-02 16:09:49.000000000 +1100
++++ gnome-nettool-2.91.2/configure.ac	2010-12-02 16:10:12.971171760 +1100
+@@ -35,6 +35,7 @@
+ 
+ PKG_CHECK_MODULES(NETTOOL,
+ 		  gtk+-3.0 >= $GTK_REQUIRED
++		  launchpad-integration-3.0
+ 		  gio-2.0 >= $GIO_REQUIRED
+ 		  gmodule-export-2.0
+ 		  gnome-doc-utils
+Index: gnome-nettool-2.91.2/src/main.c
+===================================================================
+--- gnome-nettool-2.91.2.orig/src/main.c	2010-12-02 16:09:49.000000000 +1100
++++ gnome-nettool-2.91.2/src/main.c	2010-12-02 16:10:36.531172047 +1100
+@@ -24,6 +24,7 @@
+ 
+ #include <string.h>
+ #include <glib/gi18n.h>
++#include <launchpad-integration.h>
+ 
+ #include <glibtop.h>
+ 
+@@ -57,6 +58,7 @@
+ 	GtkBuilder *builder;
+ 	GtkWidget *notebook;
+ 	GtkWidget *statusbar;
++	GtkUIManager *ui;
+ 	const gchar *dialog = UI_DIR "gnome-nettool.ui";
+ 	Netinfo *pinger;
+ 	Netinfo *tracer;
+@@ -218,6 +220,9 @@
+ 	g_object_set_data (G_OBJECT (notebook), "whois", whois);
+ 	
+ 	menu_beep = GTK_ACTION (gtk_builder_get_object (builder, "m_beep"));
++	ui = GTK_UI_MANAGER (gtk_builder_get_object (builder, "uimanager1"));
++	g_object_ref (ui);
++	launchpad_integration_add_ui (ui, "/ui/menubar1/help1/LaunchpadItems");
+ 
+ 	g_signal_connect (G_OBJECT (menu_beep), "activate",
+ 			  G_CALLBACK (on_beep_activate),
+Index: gnome-nettool-2.91.2/data/gnome-nettool.ui
+===================================================================
+--- gnome-nettool-2.91.2.orig/data/gnome-nettool.ui	2010-12-02 16:09:49.000000000 +1100
++++ gnome-nettool-2.91.2/data/gnome-nettool.ui	2010-12-02 16:09:57.663172001 +1100
+@@ -158,6 +158,7 @@
+         </menu>
+         <menu action="help1">
+           <menuitem action="m_help_contents"/>
++          <placeholder name="LaunchpadItems"/>
+           <menuitem action="m_about"/>
+         </menu>
+       </menubar>
diff -pruN 3.0.0-1/debian/patches/03_use_tracepath.patch 3.0.0-0ubuntu1/debian/patches/03_use_tracepath.patch
--- 3.0.0-1/debian/patches/03_use_tracepath.patch	1970-01-01 01:00:00.000000000 +0100
+++ 3.0.0-0ubuntu1/debian/patches/03_use_tracepath.patch	2011-05-16 16:36:25.000000000 +0100
@@ -0,0 +1,105 @@
+Description: Use tracepath instead of tcptraceroute or traceroute
+Author: ?
+
+diff -Nur -x '*.orig' -x '*~' gnome-nettool-2.20.0/src/traceroute.c gnome-nettool-2.20.0.new/src/traceroute.c
+--- gnome-nettool-2.20.0/src/traceroute.c	2007-09-14 22:35:51.000000000 +0200
++++ gnome-nettool-2.20.0.new/src/traceroute.c	2007-11-21 15:10:11.000000000 +0100
+@@ -71,20 +71,16 @@
+ 	switch (netinfo_get_ip_version (netinfo))
+ 	{
+ 	case IPV4:
+-		program = util_find_program_in_path ("tcptraceroute", NULL);
++
+ #ifdef DEBUG
+-		g_print ("tcptraceroute: %s\n", program);
++		g_print ("tracepath: %s\n", program);
+ #endif /* DEBUG */
+-		if (program != NULL) {
+-			program_name = g_strdup ("tcptraceroute");
+-		} else {
+-			program = util_find_program_dialog ("traceroute", parent);
+-			program_name = g_strdup ("traceroute");
+-		}
++		program = util_find_program_dialog ("tracepath", parent);
++		program_name = g_strdup ("tracepath");
+ 		break;
+ 	case IPV6:
+-		program = util_find_program_in_path ("traceroute6", NULL);
+-		program_name = g_strdup ("traceroute6");
++		program = util_find_program_in_path ("tracepath6", NULL);
++		program_name = g_strdup ("tracepath6");
+ 		break;
+ 	default:
+ 		program = NULL;
+@@ -93,8 +89,7 @@
+ 
+ 	if (program != NULL) {
+ 		command =
+-                  g_strdup_printf ("%s %s %s %s", program, program_name,
+-                                   TCPTRACEROUTE_OPTIONS, host);
++                  g_strdup_printf ("%s %s %s", program, program_name, host);
+ 	
+ 		netinfo->command_line = g_strsplit (command, " ", -1);
+ 	
+@@ -217,7 +212,7 @@
+ 	
+ 	count = sscanf (line, TRACE_FORMAT,
+ 			&(data)->hop_count, data->hostname, data->ip,
+-			data->rtt1, data->rtt2/*, data->rtt3*/);
++			data->rtt1/*, data->rtt2, data->rtt3*/);
+ 	
+ 	if (count == TRACE_NUM_ARGS) {
+ 		return count;
+@@ -225,7 +220,7 @@
+ 
+ 	if (count == TRACE_NUM_ERR) {
+ 		g_sprintf (data->rtt1, "*");
+-		g_sprintf (data->rtt2, "*");
++		//g_sprintf (data->rtt2, "*");
+ 		return TRACE_NUM_ARGS;
+ 	}
+ 	/* The last line is different, because it has a 
+@@ -235,14 +230,14 @@
+ 
+ 	count = sscanf (line, TRACE_FORMAT_OPEN,
+ 			&(data)->hop_count, data->hostname, data->ip,
+-			data->rtt1, data->rtt2/*, data->rtt3*/);
++			data->rtt1/*, data->rtt2, data->rtt3*/);
+ 
+ 	if (count == TRACE_NUM_ARGS) {
+ 		return count;
+ 	} else {
+ 		count = sscanf (line, TRACE_FORMAT_CLOSE,
+ 				&(data)->hop_count, data->hostname,
+-				data->ip, data->rtt1, data->rtt2 /*,
++				data->ip, data->rtt1/*, data->rtt2,
+ 				data->rtt3*/);
+ 	}
+ 
+@@ -301,7 +296,7 @@
+ 	    gtk_tree_view_column_new_with_attributes
+ 	    (_("Time 2"), renderer, "text", TRACE_RTT2, NULL);
+ 	g_object_set (G_OBJECT (renderer), "xalign", 1.0, NULL);
+-	gtk_tree_view_append_column (widget, column);
++	//gtk_tree_view_append_column (widget, column);
+ 
+ 	model = GTK_TREE_MODEL (gtk_list_store_new
+ 				(TRACE_NUM_COLUMNS,
+diff -Nur -x '*.orig' -x '*~' gnome-nettool-2.20.0/src/traceroute.h gnome-nettool-2.20.0.new/src/traceroute.h
+--- gnome-nettool-2.20.0/src/traceroute.h	2007-09-14 22:35:51.000000000 +0200
++++ gnome-nettool-2.20.0.new/src/traceroute.h	2007-11-21 15:11:06.000000000 +0100
+@@ -23,12 +23,12 @@
+ 
+ #include "nettool.h"
+ 
+-#define TRACE_FORMAT "%d %s %s %s ms %s ms"
++#define TRACE_FORMAT "%d: %s %s %sms"
+ #define TRACE_FORMAT_CLOSE "%d %s %s [closed] %s ms %s ms"
+ #define TRACE_FORMAT_OPEN "%d %s %s [open] %s ms %s ms"
+ #define TRACE_SELECT_DEVICE "Selected device %s address %s port %d for outgoing packets"
+ #define TRACE_TRACE_PATH "Tracing the path to %s (146.83.195.14) on TCP port 80 %d hops max"
+-#define TRACE_NUM_ARGS 5
++#define TRACE_NUM_ARGS 4
+ #define TRACE_NUM_ERR  3
+ 
+ /* Try 40 hops maximum and send only 1 packet */
diff -pruN 3.0.0-1/debian/patches/04_menu_change.patch 3.0.0-0ubuntu1/debian/patches/04_menu_change.patch
--- 3.0.0-1/debian/patches/04_menu_change.patch	1970-01-01 01:00:00.000000000 +0100
+++ 3.0.0-0ubuntu1/debian/patches/04_menu_change.patch	2011-05-16 16:36:25.000000000 +0100
@@ -0,0 +1,16 @@
+Description: Move from Utilities to Settings
+Author: ?
+
+Index: gnome-nettool-2.31.6/data/gnome-nettool.desktop.in.in
+===================================================================
+--- gnome-nettool-2.31.6.orig/data/gnome-nettool.desktop.in.in	2010-07-02 06:40:09.000000000 +1000
++++ gnome-nettool-2.31.6/data/gnome-nettool.desktop.in.in	2010-08-17 16:55:08.640563002 +1000
+@@ -5,7 +5,7 @@
+ Icon=gnome-nettool
+ Terminal=false
+ Type=Application
+-Categories=System;Utility;GNOME;GTK;
++Categories=System;Settings;GNOME;GTK;
+ StartupNotify=true
+ X-GNOME-Bugzilla-Bugzilla=GNOME
+ X-GNOME-Bugzilla-Product=gnome-nettool
diff -pruN 3.0.0-1/debian/patches/series 3.0.0-0ubuntu1/debian/patches/series
--- 3.0.0-1/debian/patches/series	2011-04-17 10:31:32.000000000 +0100
+++ 3.0.0-0ubuntu1/debian/patches/series	2011-05-16 16:36:25.000000000 +0100
@@ -1,3 +1,6 @@
 01_ping_icmp_req.patch
+02_lpi.patch
 02_fix_ui.patch
+03_use_tracepath.patch
 03_fix_ifaces.patch
+04_menu_change.patch
diff -pruN 3.0.0-1/debian/rules 3.0.0-0ubuntu1/debian/rules
--- 3.0.0-1/debian/rules	2011-04-21 17:46:43.000000000 +0100
+++ 3.0.0-0ubuntu1/debian/rules	2011-05-16 16:36:25.000000000 +0100
@@ -8,8 +8,8 @@ export DH_ALWAYS_EXCLUDE=CVS:.svn
 include /usr/share/cdbs/1/rules/debhelper.mk
 include /usr/share/cdbs/1/rules/utils.mk
 include /usr/share/cdbs/1/class/gnome.mk
+include /usr/share/cdbs/1/rules/autoreconf.mk
 include /usr/share/gnome-pkg-tools/1/rules/uploaders.mk
-include /usr/share/gnome-pkg-tools/1/rules/check-dist.mk
 -include /usr/share/gnome-pkg-tools/1/rules/gnome-get-source.mk
 
 # Compile options
diff -pruN 3.0.0-1/debian/watch 3.0.0-0ubuntu1/debian/watch
--- 3.0.0-1/debian/watch	2011-04-17 10:31:34.000000000 +0100
+++ 3.0.0-0ubuntu1/debian/watch	2011-05-16 16:36:25.000000000 +0100
@@ -1,4 +1,4 @@
 version=2
-http://ftp.gnome.org/pub/GNOME/sources/gnome-nettool/([\d\.]+)[02468]/ \
+http://ftp.gnome.org/pub/GNOME/sources/gnome-nettool/([\d\.]+)\d/ \
 	gnome-nettool-(.*)\.tar\.gz \
 	debian uupdate
diff -pruN 3.0.0-1/.pc/02_fix_ui.patch/data/gnome-nettool.ui 3.0.0-0ubuntu1/.pc/02_fix_ui.patch/data/gnome-nettool.ui
--- 3.0.0-1/.pc/02_fix_ui.patch/data/gnome-nettool.ui	2011-01-11 10:32:42.000000000 +0000
+++ 3.0.0-0ubuntu1/.pc/02_fix_ui.patch/data/gnome-nettool.ui	2011-05-16 23:07:39.000000000 +0100
@@ -158,6 +158,7 @@
         </menu>
         <menu action="help1">
           <menuitem action="m_help_contents"/>
+          <placeholder name="LaunchpadItems"/>
           <menuitem action="m_about"/>
         </menu>
       </menubar>
diff -pruN 3.0.0-1/.pc/02_lpi.patch/configure.ac 3.0.0-0ubuntu1/.pc/02_lpi.patch/configure.ac
--- 3.0.0-1/.pc/02_lpi.patch/configure.ac	1970-01-01 01:00:00.000000000 +0100
+++ 3.0.0-0ubuntu1/.pc/02_lpi.patch/configure.ac	2011-04-04 09:21:33.000000000 +0100
@@ -0,0 +1,104 @@
+AC_PREREQ([2.64])
+AC_INIT([GNOME Nettool],
+        [3.0.0],
+        [http://bugzilla.gnome.org/enter_bug.cgi?product=gnome-nettool],
+        [gnome-nettool],
+        [http://projects.gnome.org/gnome-network/]) #FIXME: website should be updated, it is even yet named gnome-network
+
+AC_CONFIG_HEADERS([config.h])
+AC_CONFIG_SRCDIR([src/ping.c])
+AC_CONFIG_MACRO_DIR([m4])
+
+AM_INIT_AUTOMAKE([1.11.1 foreign])
+AM_MAINTAINER_MODE([enable])
+# Support silent build rules, requires at least automake-1.11. Disable
+# by either passing --disable-silent-rules to configure or passing V=1
+# to make
+AM_SILENT_RULES([yes])
+
+# Check for programs
+AC_PROG_CC
+
+# Initialize libtool
+LT_PREREQ([2.2])
+LT_INIT
+
+# Check headers
+AC_CHECK_HEADERS(sys/sockio.h)
+AC_CHECK_HEADERS(sys/socket.h ifaddrs.h,,AC_MSG_ERROR(Required header not found: $ac_header))
+
+dnl ******************************************
+dnl ** pkg-config dependacy checks          **
+dnl ******************************************
+GIO_REQUIRED=2.25.10
+GTK_REQUIRED=2.90.4
+
+PKG_CHECK_MODULES(NETTOOL,
+		  gtk+-3.0 >= $GTK_REQUIRED
+		  gio-2.0 >= $GIO_REQUIRED
+		  gmodule-export-2.0
+		  gnome-doc-utils
+		  libgtop-2.0)
+AC_SUBST(NETTOOL_CFLAGS)
+AC_SUBST(NETTOOL_LIBS)
+
+dnl
+dnl Translations
+dnl
+IT_PROG_INTLTOOL([0.40.0])
+
+GETTEXT_PACKAGE=gnome-nettool
+AC_SUBST(GETTEXT_PACKAGE)
+AC_DEFINE_UNQUOTED(GETTEXT_PACKAGE,"$GETTEXT_PACKAGE",[The gettext package])
+AM_GLIB_GNU_GETTEXT
+
+GNOME_DOC_INIT
+
+dnl
+dnl GSettings stuff
+dnl
+GLIB_GSETTINGS
+
+dnl
+dnl Debugging flags
+dnl
+GNOME_COMPILE_WARNINGS([maximum])
+CFLAGS="$CFLAGS $WARN_CFLAGS"
+
+set_debug=no
+AC_ARG_ENABLE(debug,
+[  --enable-debug       Lots of noisy debug messages],
+set_debug="$enableval")
+
+AC_MSG_CHECKING(if debug messages are enabled)
+if test "$set_debug" != "no"; then
+        AC_MSG_RESULT(yes)
+        CFLAGS="-DGRD_DEBUG $CFLAGS"
+else
+        AC_MSG_RESULT(no)
+fi
+
+AC_SUBST(CFLAGS)
+AC_SUBST(CPPFLAGS)
+AC_SUBST(LDFLAGS)
+
+AC_CONFIG_FILES([
+Makefile
+data/Makefile
+data/gnome-nettool.desktop.in
+help/Makefile
+pixmaps/Makefile
+pixmaps/icons/Makefile
+pixmaps/icons/16x16/Makefile
+pixmaps/icons/16x16/apps/Makefile
+pixmaps/icons/22x22/Makefile
+pixmaps/icons/22x22/apps/Makefile
+pixmaps/icons/24x24/Makefile
+pixmaps/icons/24x24/apps/Makefile
+pixmaps/icons/32x32/Makefile
+pixmaps/icons/32x32/apps/Makefile
+pixmaps/icons/scalable/Makefile
+pixmaps/icons/scalable/apps/Makefile
+po/Makefile.in
+src/Makefile])
+AC_OUTPUT
diff -pruN 3.0.0-1/.pc/02_lpi.patch/data/gnome-nettool.ui 3.0.0-0ubuntu1/.pc/02_lpi.patch/data/gnome-nettool.ui
--- 3.0.0-1/.pc/02_lpi.patch/data/gnome-nettool.ui	1970-01-01 01:00:00.000000000 +0100
+++ 3.0.0-0ubuntu1/.pc/02_lpi.patch/data/gnome-nettool.ui	2011-01-11 10:32:42.000000000 +0000
@@ -0,0 +1,2532 @@
+<?xml version="1.0"?>
+<!--*- mode: xml -*-->
+<interface>
+  <object class="GtkAdjustment" id="adjustment1">
+    <property name="upper">99</property>
+    <property name="lower">1</property>
+    <property name="page_increment">10</property>
+    <property name="step_increment">1</property>
+    <property name="page_size">0</property>
+    <property name="value">5</property>
+  </object>
+  <object class="GtkListStore" id="model1">
+    <columns>
+      <column type="gchararray"/>
+    </columns>
+    <data>
+      <row>
+        <col id="0" translatable="yes">Host</col>
+      </row>
+    </data>
+  </object>
+  <object class="GtkListStore" id="model2">
+    <columns>
+      <column type="gchararray"/>
+    </columns>
+    <data>
+      <row>
+        <col id="0" translatable="yes">Host</col>
+      </row>
+    </data>
+  </object>
+  <object class="GtkListStore" id="model3">
+    <columns>
+      <column type="gchararray"/>
+    </columns>
+    <data>
+      <row>
+        <col id="0" translatable="yes">Host</col>
+      </row>
+    </data>
+  </object>
+  <object class="GtkListStore" id="model4">
+    <columns>
+      <column type="gchararray"/>
+    </columns>
+    <data>
+      <row>
+        <col id="0" translatable="yes">Host</col>
+      </row>
+    </data>
+  </object>
+  <object class="GtkListStore" id="model5">
+    <columns>
+      <column type="gchararray"/>
+    </columns>
+    <data>
+      <row>
+        <col id="0" translatable="yes">Host</col>
+      </row>
+    </data>
+  </object>
+  <object class="GtkListStore" id="model6">
+    <columns>
+      <column type="gchararray"/>
+    </columns>
+    <data>
+      <row>
+        <col id="0" translatable="yes">User</col>
+      </row>
+    </data>
+  </object>
+  <object class="GtkListStore" id="model7">
+    <columns>
+      <column type="gchararray"/>
+    </columns>
+    <data>
+      <row>
+        <col id="0" translatable="yes">Host</col>
+      </row>
+    </data>
+  </object>
+  <object class="GtkUIManager" id="uimanager1">
+    <child>
+      <object class="GtkActionGroup" id="actiongroup1">
+        <child>
+          <object class="GtkAction" id="tool1">
+            <property name="name">tool1</property>
+            <property name="label" translatable="yes">_Tool</property>
+          </object>
+        </child>
+        <child>
+          <object class="GtkToggleAction" id="m_beep">
+            <property name="name">m_beep</property>
+            <property name="label" translatable="yes">Beep on ping</property>
+          </object>
+        </child>
+        <child>
+          <object class="GtkAction" id="m_quit">
+            <property name="stock_id">gtk-quit</property>
+            <property name="name">m_quit</property>
+            <signal handler="gn_quit_app" name="activate"/>
+          </object>
+        </child>
+        <child>
+          <object class="GtkAction" id="edit1">
+            <property name="name">edit1</property>
+            <property name="label" translatable="yes">_Edit</property>
+          </object>
+        </child>
+        <child>
+          <object class="GtkAction" id="m_copy">
+            <property name="name">m_copy</property>
+            <property name="label" translatable="yes">Copy as text _report</property>
+            <signal handler="on_copy_activate" name="activate" object="notebook"/>
+          </object>
+        </child>
+        <child>
+          <object class="GtkAction" id="m_clear_history">
+            <property name="stock_id">gtk-clear</property>
+            <property name="name">m_clear_history</property>
+            <property name="label" translatable="yes">Clear _History</property>
+            <signal handler="on_clear_history_activate" name="activate" object="notebook"/>
+          </object>
+        </child>
+        <child>
+          <object class="GtkAction" id="help1">
+            <property name="name">help1</property>
+            <property name="label" translatable="yes">_Help</property>
+          </object>
+        </child>
+        <child>
+          <object class="GtkAction" id="m_help_contents">
+            <property name="stock_id">gtk-help</property>
+            <property name="name">m_help_contents</property>
+            <signal handler="on_help_activate" name="activate" object="main_window"/>
+          </object>
+        </child>
+        <child>
+          <object class="GtkAction" id="m_about">
+            <property name="stock_id">gtk-about</property>
+            <property name="name">m_about</property>
+            <signal after="yes" handler="on_about_activate" name="activate" object="main_window"/>
+          </object>
+        </child>
+      </object>
+    </child>
+    <ui>
+      <menubar name="menubar1">
+        <menu action="tool1">
+          <menuitem action="m_beep"/>
+          <separator/>
+          <menuitem action="m_quit"/>
+        </menu>
+        <menu action="edit1">
+          <menuitem action="m_copy"/>
+          <separator/>
+          <menuitem action="m_clear_history"/>
+        </menu>
+        <menu action="help1">
+          <menuitem action="m_help_contents"/>
+          <menuitem action="m_about"/>
+        </menu>
+      </menubar>
+    </ui>
+  </object>
+  <object class="GtkWindow" id="main_window">
+    <property name="visible">True</property>
+    <property comments="Dear Translator: This is the Window Title" name="title" translatable="yes">Devices - Network Tools</property>
+    <child>
+      <object class="GtkVBox" id="vbox_main">
+        <property name="visible">True</property>
+        <child>
+          <object class="GtkMenuBar" constructor="uimanager1" id="menubar1">
+            <property name="visible">True</property>
+          </object>
+          <packing>
+            <property name="expand">False</property>
+            <property name="fill">False</property>
+          </packing>
+        </child>
+        <child>
+          <object class="GtkNotebook" id="notebook">
+            <property name="visible">True</property>
+            <property name="can_focus">True</property>
+            <property name="border_width">4</property>
+            <signal handler="on_page_switch" name="switch_page"/>
+            <child>
+              <object class="GtkVBox" id="vbox_info">
+                <property name="visible">True</property>
+                <property name="border_width">6</property>
+                <property name="spacing">6</property>
+                <child>
+                  <object class="GtkHBox" id="hbox33">
+                    <property name="visible">True</property>
+                    <property name="border_width">6</property>
+                    <property name="spacing">12</property>
+                    <child>
+                      <object class="GtkLabel" id="info_combo_label">
+                        <property name="visible">True</property>
+                        <property name="label" translatable="yes">_Network device:</property>
+                        <property name="use_underline">True</property>
+                      </object>
+                      <packing>
+                        <property name="expand">False</property>
+                        <property name="fill">False</property>
+                      </packing>
+                    </child>
+                    <child>
+                      <object class="GtkComboBox" id="info_combo">
+                        <property name="visible">True</property>
+                        <property name="can_focus">True</property>
+                        <property name="can_default">True</property>
+                        <property name="has_default">True</property>
+                        <accessibility>
+                          <relation target="info_combo_label" type="labelled-by"/>
+                        </accessibility>
+                      </object>
+                      <packing>
+                        <property name="position">1</property>
+                      </packing>
+                    </child>
+                    <child>
+                      <object class="GtkButton" id="info_configure_button">
+                        <property name="visible">True</property>
+                        <property name="can_focus">True</property>
+                        <child>
+                          <object class="GtkAlignment" id="alignment33">
+                            <property name="visible">True</property>
+                            <property name="xscale">0</property>
+                            <property name="yscale">0</property>
+                            <child>
+                              <object class="GtkHBox" id="hbox44">
+                                <property name="visible">True</property>
+                                <property name="spacing">2</property>
+                                <child>
+                                  <object class="GtkImage" id="image13">
+                                    <property name="visible">True</property>
+                                    <property name="stock">gtk-preferences</property>
+                                  </object>
+                                  <packing>
+                                    <property name="expand">False</property>
+                                    <property name="fill">False</property>
+                                  </packing>
+                                </child>
+                                <child>
+                                  <object class="GtkLabel" id="label122">
+                                    <property name="visible">True</property>
+                                    <property name="label" translatable="yes">_Configure</property>
+                                    <property name="use_underline">True</property>
+                                  </object>
+                                  <packing>
+                                    <property name="expand">False</property>
+                                    <property name="fill">False</property>
+                                    <property name="position">1</property>
+                                  </packing>
+                                </child>
+                              </object>
+                            </child>
+                          </object>
+                        </child>
+                      </object>
+                      <packing>
+                        <property name="expand">False</property>
+                        <property name="fill">False</property>
+                        <property name="position">2</property>
+                      </packing>
+                    </child>
+                  </object>
+                  <packing>
+                    <property name="expand">False</property>
+                  </packing>
+                </child>
+                <child>
+                  <object class="GtkFrame" id="info_ipv6_frame">
+                    <property name="visible">True</property>
+                    <property name="label_xalign">0</property>
+                    <property name="shadow_type">GTK_SHADOW_NONE</property>
+                    <child>
+                      <object class="GtkAlignment" id="alignment17">
+                        <property name="visible">True</property>
+                        <property name="left_padding">12</property>
+                        <child>
+                          <object class="GtkScrolledWindow" id="scrolledwindow8">
+                            <property name="visible">True</property>
+                            <property name="can_focus">True</property>
+                            <property name="border_width">6</property>
+                            <property name="hscrollbar_policy">GTK_POLICY_AUTOMATIC</property>
+                            <property name="vscrollbar_policy">GTK_POLICY_AUTOMATIC</property>
+                            <property name="shadow_type">GTK_SHADOW_IN</property>
+                            <child>
+                              <object class="GtkTreeView" id="info_list_ip_addr">
+                                <property name="height_request">120</property>
+                                <property name="visible">True</property>
+                                <property name="can_focus">True</property>
+                                <property name="rules_hint">True</property>
+                                <property name="enable_search">False</property>
+                              </object>
+                            </child>
+                          </object>
+                        </child>
+                      </object>
+                    </child>
+                    <child type="label">
+                      <object class="GtkLabel" id="label96">
+                        <property name="visible">True</property>
+                        <property name="label" translatable="yes">&lt;b&gt;IP Information&lt;/b&gt;</property>
+                        <property name="use_markup">True</property>
+                      </object>
+                    </child>
+                  </object>
+                  <packing>
+                    <property name="expand">False</property>
+                    <property name="position">1</property>
+                  </packing>
+                </child>
+                <child>
+                  <object class="GtkHBox" id="hbox_info_detail">
+                    <property name="visible">True</property>
+                    <property name="spacing">4</property>
+                    <child>
+                      <object class="GtkVBox" id="vbox16">
+                        <property name="visible">True</property>
+                        <child>
+                          <object class="GtkFrame" id="frame11">
+                            <property name="visible">True</property>
+                            <property name="label_xalign">0</property>
+                            <property name="shadow_type">GTK_SHADOW_NONE</property>
+                            <child>
+                              <object class="GtkAlignment" id="alignment32">
+                                <property name="visible">True</property>
+                                <property name="left_padding">12</property>
+                                <child>
+                                  <object class="GtkTable" id="table13">
+                                    <property name="visible">True</property>
+                                    <property name="border_width">6</property>
+                                    <property name="n_rows">5</property>
+                                    <property name="n_columns">2</property>
+                                    <property name="column_spacing">6</property>
+                                    <property name="row_spacing">6</property>
+                                    <child>
+                                      <object class="GtkLabel" id="label_hw_address">
+                                        <property name="visible">True</property>
+                                        <property name="xalign">0</property>
+                                        <property name="label" translatable="yes">Hardware address:</property>
+                                        <accessibility>
+                                          <relation target="info_hw_address" type="label-for"/>
+                                        </accessibility>
+                                      </object>
+                                      <packing>
+                                        <property name="x_options">GTK_FILL</property>
+                                        <property name="y_options"/>
+                                      </packing>
+                                    </child>
+                                    <child>
+                                      <object class="GtkLabel" id="label_multicast">
+                                        <property name="visible">True</property>
+                                        <property name="xalign">0</property>
+                                        <property name="label" translatable="yes">Multicast:</property>
+                                        <accessibility>
+                                          <relation target="info_multicast" type="label-for"/>
+                                        </accessibility>
+                                      </object>
+                                      <packing>
+                                        <property name="top_attach">1</property>
+                                        <property name="bottom_attach">2</property>
+                                        <property name="x_options">GTK_FILL</property>
+                                        <property name="y_options"/>
+                                      </packing>
+                                    </child>
+                                    <child>
+                                      <object class="GtkLabel" id="label_mtu">
+                                        <property name="visible">True</property>
+                                        <property name="xalign">0</property>
+                                        <property name="label" translatable="yes">MTU:</property>
+                                        <accessibility>
+                                          <relation target="info_mtu" type="label-for"/>
+                                        </accessibility>
+                                      </object>
+                                      <packing>
+                                        <property name="top_attach">2</property>
+                                        <property name="bottom_attach">3</property>
+                                        <property name="x_options">GTK_FILL</property>
+                                        <property name="y_options"/>
+                                      </packing>
+                                    </child>
+                                    <child>
+                                      <object class="GtkLabel" id="label_link_speed">
+                                        <property name="visible">True</property>
+                                        <property name="xalign">0</property>
+                                        <property name="label" translatable="yes">Link speed:</property>
+                                        <accessibility>
+                                          <relation target="info_link_speed" type="label-for"/>
+                                        </accessibility>
+                                      </object>
+                                      <packing>
+                                        <property name="top_attach">3</property>
+                                        <property name="bottom_attach">4</property>
+                                        <property name="x_options">GTK_FILL</property>
+                                        <property name="y_options"/>
+                                      </packing>
+                                    </child>
+                                    <child>
+                                      <object class="GtkLabel" id="label_state">
+                                        <property name="visible">True</property>
+                                        <property name="xalign">0</property>
+                                        <property name="label" translatable="yes">State:</property>
+                                        <accessibility>
+                                          <relation target="info_state" type="label-for"/>
+                                        </accessibility>
+                                      </object>
+                                      <packing>
+                                        <property name="top_attach">4</property>
+                                        <property name="bottom_attach">5</property>
+                                        <property name="x_options">GTK_FILL</property>
+                                        <property name="y_options"/>
+                                      </packing>
+                                    </child>
+                                    <child>
+                                      <object class="GtkLabel" id="info_hw_address">
+                                        <property name="visible">True</property>
+                                        <property name="xalign">0</property>
+                                        <property name="label" translatable="yes">Not Available</property>
+                                        <property name="justify">GTK_JUSTIFY_RIGHT</property>
+                                        <property name="selectable">True</property>
+                                        <accessibility>
+                                          <relation target="label_hw_address" type="labelled-by"/>
+                                        </accessibility>
+                                      </object>
+                                      <packing>
+                                        <property name="left_attach">1</property>
+                                        <property name="right_attach">2</property>
+                                        <property name="x_options">GTK_FILL</property>
+                                        <property name="y_options"/>
+                                      </packing>
+                                    </child>
+                                    <child>
+                                      <object class="GtkLabel" id="info_multicast">
+                                        <property name="visible">True</property>
+                                        <property name="xalign">0</property>
+                                        <property name="label" translatable="yes">Not Available</property>
+                                        <property name="selectable">True</property>
+                                        <accessibility>
+                                          <relation target="label_multicast" type="labelled-by"/>
+                                        </accessibility>
+                                      </object>
+                                      <packing>
+                                        <property name="left_attach">1</property>
+                                        <property name="right_attach">2</property>
+                                        <property name="top_attach">1</property>
+                                        <property name="bottom_attach">2</property>
+                                        <property name="x_options">GTK_FILL</property>
+                                        <property name="y_options"/>
+                                      </packing>
+                                    </child>
+                                    <child>
+                                      <object class="GtkLabel" id="info_mtu">
+                                        <property name="visible">True</property>
+                                        <property name="xalign">0</property>
+                                        <property name="label" translatable="yes">Not Available</property>
+                                        <property name="selectable">True</property>
+                                        <accessibility>
+                                          <relation target="label_mtu" type="labelled-by"/>
+                                        </accessibility>
+                                      </object>
+                                      <packing>
+                                        <property name="left_attach">1</property>
+                                        <property name="right_attach">2</property>
+                                        <property name="top_attach">2</property>
+                                        <property name="bottom_attach">3</property>
+                                        <property name="x_options">GTK_FILL</property>
+                                        <property name="y_options"/>
+                                      </packing>
+                                    </child>
+                                    <child>
+                                      <object class="GtkLabel" id="info_link_speed">
+                                        <property name="visible">True</property>
+                                        <property name="xalign">0</property>
+                                        <property name="label" translatable="yes">Not Available</property>
+                                        <property name="selectable">True</property>
+                                        <accessibility>
+                                          <relation target="label_link_speed" type="labelled-by"/>
+                                        </accessibility>
+                                      </object>
+                                      <packing>
+                                        <property name="left_attach">1</property>
+                                        <property name="right_attach">2</property>
+                                        <property name="top_attach">3</property>
+                                        <property name="bottom_attach">4</property>
+                                        <property name="x_options">GTK_FILL</property>
+                                        <property name="y_options"/>
+                                      </packing>
+                                    </child>
+                                    <child>
+                                      <object class="GtkLabel" id="info_state">
+                                        <property name="visible">True</property>
+                                        <property name="xalign">0</property>
+                                        <property name="label" translatable="yes">Not Available</property>
+                                        <property name="selectable">True</property>
+                                        <accessibility>
+                                          <relation target="label_state" type="labelled-by"/>
+                                        </accessibility>
+                                      </object>
+                                      <packing>
+                                        <property name="left_attach">1</property>
+                                        <property name="right_attach">2</property>
+                                        <property name="top_attach">4</property>
+                                        <property name="bottom_attach">5</property>
+                                        <property name="x_options">GTK_FILL</property>
+                                        <property name="y_options"/>
+                                      </packing>
+                                    </child>
+                                  </object>
+                                </child>
+                              </object>
+                            </child>
+                            <child type="label">
+                              <object class="GtkLabel" id="label121">
+                                <property name="visible">True</property>
+                                <property name="label" translatable="yes">&lt;b&gt;Interface Information&lt;/b&gt;</property>
+                                <property name="use_markup">True</property>
+                              </object>
+                            </child>
+                          </object>
+                        </child>
+                      </object>
+                      <packing>
+                        <property name="expand">False</property>
+                      </packing>
+                    </child>
+                    <child>
+                      <object class="GtkVBox" id="vbox17">
+                        <property name="visible">True</property>
+                        <child>
+                          <object class="GtkFrame" id="frame4">
+                            <property name="visible">True</property>
+                            <property name="label_xalign">0</property>
+                            <property name="shadow_type">GTK_SHADOW_NONE</property>
+                            <child>
+                              <object class="GtkAlignment" id="alignment16">
+                                <property name="visible">True</property>
+                                <property name="left_padding">12</property>
+                                <child>
+                                  <object class="GtkTable" id="table_statitics">
+                                    <property name="visible">True</property>
+                                    <property name="border_width">6</property>
+                                    <property name="n_rows">7</property>
+                                    <property name="n_columns">2</property>
+                                    <property name="column_spacing">6</property>
+                                    <property name="row_spacing">6</property>
+                                    <child>
+                                      <object class="GtkLabel" id="label_tx_bytes">
+                                        <property name="visible">True</property>
+                                        <property name="xalign">0</property>
+                                        <property name="label" translatable="yes">Transmitted bytes:</property>
+                                        <accessibility>
+                                          <relation target="info_tx_bytes" type="label-for"/>
+                                        </accessibility>
+                                      </object>
+                                      <packing>
+                                        <property name="x_options">GTK_FILL</property>
+                                        <property name="y_options"/>
+                                      </packing>
+                                    </child>
+                                    <child>
+                                      <object class="GtkLabel" id="label_rx_bytes">
+                                        <property name="visible">True</property>
+                                        <property name="xalign">0</property>
+                                        <property name="label" translatable="yes">Received bytes:</property>
+                                        <accessibility>
+                                          <relation target="info_rx_bytes" type="label-for"/>
+                                        </accessibility>
+                                      </object>
+                                      <packing>
+                                        <property name="top_attach">3</property>
+                                        <property name="bottom_attach">4</property>
+                                        <property name="x_options">GTK_FILL</property>
+                                        <property name="y_options"/>
+                                      </packing>
+                                    </child>
+                                    <child>
+                                      <object class="GtkLabel" id="info_rx_bytes">
+                                        <property name="visible">True</property>
+                                        <property name="xalign">0</property>
+                                        <property name="label" translatable="yes">Not Available</property>
+                                        <property name="selectable">True</property>
+                                        <accessibility>
+                                          <relation target="label_rx_bytes" type="labelled-by"/>
+                                        </accessibility>
+                                      </object>
+                                      <packing>
+                                        <property name="left_attach">1</property>
+                                        <property name="right_attach">2</property>
+                                        <property name="top_attach">3</property>
+                                        <property name="bottom_attach">4</property>
+                                        <property name="x_options">GTK_FILL</property>
+                                        <property name="y_options"/>
+                                      </packing>
+                                    </child>
+                                    <child>
+                                      <object class="GtkLabel" id="info_tx_bytes">
+                                        <property name="visible">True</property>
+                                        <property name="xalign">0</property>
+                                        <property name="label" translatable="yes">Not Available</property>
+                                        <property name="selectable">True</property>
+                                        <accessibility>
+                                          <relation target="label_tx_bytes" type="labelled-by"/>
+                                        </accessibility>
+                                      </object>
+                                      <packing>
+                                        <property name="left_attach">1</property>
+                                        <property name="right_attach">2</property>
+                                        <property name="x_options">GTK_FILL</property>
+                                        <property name="y_options"/>
+                                      </packing>
+                                    </child>
+                                    <child>
+                                      <object class="GtkLabel" id="info_tx_errors">
+                                        <property name="visible">True</property>
+                                        <property name="xalign">0</property>
+                                        <property name="label" translatable="yes">Not Available</property>
+                                        <property name="selectable">True</property>
+                                        <accessibility>
+                                          <relation target="label_tx_errors" type="labelled-by"/>
+                                        </accessibility>
+                                      </object>
+                                      <packing>
+                                        <property name="left_attach">1</property>
+                                        <property name="right_attach">2</property>
+                                        <property name="top_attach">2</property>
+                                        <property name="bottom_attach">3</property>
+                                        <property name="x_options">GTK_FILL</property>
+                                        <property name="y_options"/>
+                                      </packing>
+                                    </child>
+                                    <child>
+                                      <object class="GtkLabel" id="label_tx_errors">
+                                        <property name="visible">True</property>
+                                        <property name="xalign">0</property>
+                                        <property name="label" translatable="yes">Transmission errors:</property>
+                                        <accessibility>
+                                          <relation target="info_tx_errors" type="label-for"/>
+                                        </accessibility>
+                                      </object>
+                                      <packing>
+                                        <property name="top_attach">2</property>
+                                        <property name="bottom_attach">3</property>
+                                        <property name="x_options">GTK_FILL</property>
+                                        <property name="y_options"/>
+                                      </packing>
+                                    </child>
+                                    <child>
+                                      <object class="GtkLabel" id="info_tx">
+                                        <property name="visible">True</property>
+                                        <property name="xalign">0</property>
+                                        <property name="label" translatable="yes">Not Available</property>
+                                        <property name="selectable">True</property>
+                                        <accessibility>
+                                          <relation target="label_tx" type="labelled-by"/>
+                                        </accessibility>
+                                      </object>
+                                      <packing>
+                                        <property name="left_attach">1</property>
+                                        <property name="right_attach">2</property>
+                                        <property name="top_attach">1</property>
+                                        <property name="bottom_attach">2</property>
+                                        <property name="x_options">GTK_FILL</property>
+                                        <property name="y_options"/>
+                                      </packing>
+                                    </child>
+                                    <child>
+                                      <object class="GtkLabel" id="label_tx">
+                                        <property name="visible">True</property>
+                                        <property name="xalign">0</property>
+                                        <property name="label" translatable="yes">Transmitted packets:</property>
+                                        <accessibility>
+                                          <relation target="info_rx" type="label-for"/>
+                                        </accessibility>
+                                      </object>
+                                      <packing>
+                                        <property name="top_attach">1</property>
+                                        <property name="bottom_attach">2</property>
+                                        <property name="x_options">GTK_FILL</property>
+                                        <property name="y_options"/>
+                                      </packing>
+                                    </child>
+                                    <child>
+                                      <object class="GtkLabel" id="info_rx">
+                                        <property name="visible">True</property>
+                                        <property name="xalign">0</property>
+                                        <property name="label" translatable="yes">Not Available</property>
+                                        <property name="selectable">True</property>
+                                        <accessibility>
+                                          <relation target="label_rx" type="labelled-by"/>
+                                        </accessibility>
+                                      </object>
+                                      <packing>
+                                        <property name="left_attach">1</property>
+                                        <property name="right_attach">2</property>
+                                        <property name="top_attach">4</property>
+                                        <property name="bottom_attach">5</property>
+                                        <property name="x_options">GTK_FILL</property>
+                                        <property name="y_options"/>
+                                      </packing>
+                                    </child>
+                                    <child>
+                                      <object class="GtkLabel" id="label_rx">
+                                        <property name="visible">True</property>
+                                        <property name="xalign">0</property>
+                                        <property name="label" translatable="yes">Received packets:</property>
+                                        <accessibility>
+                                          <relation target="info_rx" type="label-for"/>
+                                        </accessibility>
+                                      </object>
+                                      <packing>
+                                        <property name="top_attach">4</property>
+                                        <property name="bottom_attach">5</property>
+                                        <property name="x_options">GTK_FILL</property>
+                                        <property name="y_options"/>
+                                      </packing>
+                                    </child>
+                                    <child>
+                                      <object class="GtkLabel" id="info_rx_errors">
+                                        <property name="visible">True</property>
+                                        <property name="xalign">0</property>
+                                        <property name="label" translatable="yes">Not Available</property>
+                                        <property name="selectable">True</property>
+                                        <accessibility>
+                                          <relation target="label_rx_errors" type="labelled-by"/>
+                                        </accessibility>
+                                      </object>
+                                      <packing>
+                                        <property name="left_attach">1</property>
+                                        <property name="right_attach">2</property>
+                                        <property name="top_attach">5</property>
+                                        <property name="bottom_attach">6</property>
+                                        <property name="x_options">GTK_FILL</property>
+                                        <property name="y_options"/>
+                                      </packing>
+                                    </child>
+                                    <child>
+                                      <object class="GtkLabel" id="label_rx_errors">
+                                        <property name="visible">True</property>
+                                        <property name="xalign">0</property>
+                                        <property name="label" translatable="yes">Reception errors:</property>
+                                        <accessibility>
+                                          <relation target="info_rx_errors" type="label-for"/>
+                                        </accessibility>
+                                      </object>
+                                      <packing>
+                                        <property name="top_attach">5</property>
+                                        <property name="bottom_attach">6</property>
+                                        <property name="x_options">GTK_FILL</property>
+                                        <property name="y_options"/>
+                                      </packing>
+                                    </child>
+                                    <child>
+                                      <object class="GtkLabel" id="info_collisions">
+                                        <property name="visible">True</property>
+                                        <property name="xalign">0</property>
+                                        <property name="label" translatable="yes">Not Available</property>
+                                        <property name="selectable">True</property>
+                                        <accessibility>
+                                          <relation target="label_collisions" type="labelled-by"/>
+                                        </accessibility>
+                                      </object>
+                                      <packing>
+                                        <property name="left_attach">1</property>
+                                        <property name="right_attach">2</property>
+                                        <property name="top_attach">6</property>
+                                        <property name="bottom_attach">7</property>
+                                        <property name="x_options">GTK_FILL</property>
+                                        <property name="y_options"/>
+                                      </packing>
+                                    </child>
+                                    <child>
+                                      <object class="GtkLabel" id="label_collisions">
+                                        <property name="visible">True</property>
+                                        <property name="xalign">0</property>
+                                        <property name="label" translatable="yes">Collisions:</property>
+                                        <property name="justify">GTK_JUSTIFY_RIGHT</property>
+                                        <accessibility>
+                                          <relation target="info_collisions" type="label-for"/>
+                                        </accessibility>
+                                      </object>
+                                      <packing>
+                                        <property name="top_attach">6</property>
+                                        <property name="bottom_attach">7</property>
+                                        <property name="x_options">GTK_FILL</property>
+                                        <property name="y_options"/>
+                                      </packing>
+                                    </child>
+                                  </object>
+                                </child>
+                              </object>
+                            </child>
+                            <child type="label">
+                              <object class="GtkLabel" id="label95">
+                                <property name="visible">True</property>
+                                <property name="label" translatable="yes">&lt;b&gt;Interface Statistics&lt;/b&gt;</property>
+                                <property name="use_markup">True</property>
+                              </object>
+                            </child>
+                          </object>
+                          <packing>
+                            <property name="expand">False</property>
+                          </packing>
+                        </child>
+                      </object>
+                      <packing>
+                        <property name="expand">False</property>
+                        <property name="position">1</property>
+                      </packing>
+                    </child>
+                  </object>
+                  <packing>
+                    <property name="expand">False</property>
+                    <property name="fill">False</property>
+                    <property name="position">2</property>
+                  </packing>
+                </child>
+              </object>
+            </child>
+            <child type="tab">
+              <object class="GtkLabel" id="device">
+                <property name="visible">True</property>
+                <property name="can_focus">True</property>
+                <property name="label" translatable="yes">Devices</property>
+              </object>
+              <packing>
+                <property name="tab_fill">False</property>
+              </packing>
+            </child>
+            <child>
+              <object class="GtkVBox" id="vbox_ping">
+                <property name="visible">True</property>
+                <property name="border_width">6</property>
+                <property name="spacing">6</property>
+                <child>
+                  <object class="GtkVBox" id="vbox18">
+                    <property name="visible">True</property>
+                    <property name="border_width">6</property>
+                    <property name="spacing">12</property>
+                    <child>
+                      <object class="GtkTable" id="table6">
+                        <property name="visible">True</property>
+                        <property name="n_rows">2</property>
+                        <property name="n_columns">2</property>
+                        <property name="column_spacing">6</property>
+                        <property name="row_spacing">6</property>
+                        <child>
+                          <object class="GtkHBox" id="hbox25">
+                            <property name="visible">True</property>
+                            <property name="spacing">12</property>
+                            <child>
+                              <object class="GtkHBox" id="hbox9">
+                                <property name="visible">True</property>
+                                <property name="spacing">6</property>
+                                <child>
+                                  <object class="GtkRadioButton" id="ping_limited">
+                                    <property name="visible">True</property>
+                                    <property name="can_focus">True</property>
+                                    <property name="label" translatable="yes">Only</property>
+                                    <property name="use_underline">True</property>
+                                    <property name="draw_indicator">True</property>
+                                  </object>
+                                  <packing>
+                                    <property name="expand">False</property>
+                                    <property name="fill">False</property>
+                                  </packing>
+                                </child>
+                                <child>
+                                  <object class="GtkSpinButton" id="ping_count">
+                                    <property name="visible">True</property>
+                                    <property name="can_focus">True</property>
+                                    <property name="adjustment">adjustment1</property>
+                                    <property name="climb_rate">1</property>
+                                    <accessibility>
+                                      <relation target="ping_count_label" type="labelled-by"/>
+                                    </accessibility>
+                                  </object>
+                                  <packing>
+                                    <property name="expand">False</property>
+                                    <property name="fill">False</property>
+                                    <property name="position">1</property>
+                                  </packing>
+                                </child>
+                                <child>
+                                  <object class="GtkLabel" id="ping_count_label">
+                                    <property name="visible">True</property>
+                                    <property name="label" translatable="yes">requests</property>
+                                  </object>
+                                  <packing>
+                                    <property name="expand">False</property>
+                                    <property name="fill">False</property>
+                                    <property name="position">2</property>
+                                  </packing>
+                                </child>
+                              </object>
+                              <packing>
+                                <property name="expand">False</property>
+                              </packing>
+                            </child>
+                            <child>
+                              <object class="GtkRadioButton" id="ping_unlimited">
+                                <property name="visible">True</property>
+                                <property name="can_focus">True</property>
+                                <property name="label" translatable="yes">Unlimited requests</property>
+                                <property name="use_underline">True</property>
+                                <property name="draw_indicator">True</property>
+                                <property name="group">ping_limited</property>
+                              </object>
+                              <packing>
+                                <property name="expand">False</property>
+                                <property name="fill">False</property>
+                                <property name="position">1</property>
+                              </packing>
+                            </child>
+                          </object>
+                          <packing>
+                            <property name="left_attach">1</property>
+                            <property name="right_attach">2</property>
+                            <property name="top_attach">1</property>
+                            <property name="bottom_attach">2</property>
+                            <property name="x_options">GTK_FILL</property>
+                            <property name="y_options">GTK_FILL</property>
+                          </packing>
+                        </child>
+                        <child>
+                          <object class="GtkLabel" id="label109">
+                            <property name="visible">True</property>
+                            <property name="xalign">0</property>
+                            <property name="label" translatable="yes">Send:</property>
+                          </object>
+                          <packing>
+                            <property name="top_attach">1</property>
+                            <property name="bottom_attach">2</property>
+                            <property name="x_options">GTK_FILL</property>
+                            <property name="y_options"/>
+                          </packing>
+                        </child>
+                        <child>
+                          <object class="GtkComboBox" id="ping_host">
+                            <property name="visible">True</property>
+                            <property name="can_focus">True</property>
+                            <property name="has_entry">True</property>
+                            <accessibility>
+                              <relation target="ping_host_label" type="labelled-by"/>
+                            </accessibility>
+                            <child internal-child="entry">
+                              <object class="GtkEntry" id="comboboxentry-entry1">
+                                <property name="has_tooltip">True</property>
+                                <property name="tooltip_text" translatable="yes">Enter the network address to ping. For example: www.domain.com or 192.168.2.1</property>
+                                <accessibility>
+
+                                </accessibility>
+                                <child internal-child="accessible">
+                                  <object class="AtkObject" id="a11y-comboboxentry-entry11">
+                                    <property name="AtkObject::accessible_name" translatable="yes">Network address</property>
+                                  </object>
+                                </child>
+                              </object>
+                            </child>
+                            <property name="model">model1</property>
+                            <child>
+                              <object class="GtkCellRendererText" id="renderer1"/>
+                              <attributes>
+                                <attribute name="text">0</attribute>
+                              </attributes>
+                            </child>
+                            <child internal-child="accessible">
+                              <object class="AtkObject" id="a11y-ping_host1">
+                                <property name="AtkObject::accessible_name" translatable="yes">Network address</property>
+                              </object>
+                            </child>
+                          </object>
+                          <packing>
+                            <property name="left_attach">1</property>
+                            <property name="right_attach">2</property>
+                            <property name="y_options">GTK_FILL</property>
+                          </packing>
+                        </child>
+                        <child>
+                          <object class="GtkLabel" id="ping_host_label">
+                            <property name="visible">True</property>
+                            <property name="label" translatable="yes">_Network address:</property>
+                            <property name="use_underline">True</property>
+                            <accessibility>
+                              <relation target="ping_host" type="label-for"/>
+                            </accessibility>
+                          </object>
+                          <packing>
+                            <property name="x_options">GTK_FILL</property>
+                            <property name="y_options"/>
+                          </packing>
+                        </child>
+                      </object>
+                      <packing>
+                        <property name="expand">False</property>
+                        <property name="fill">False</property>
+                      </packing>
+                    </child>
+                    <child>
+                      <object class="GtkHButtonBox" id="hbuttonbox2">
+                        <property name="visible">True</property>
+                        <property name="layout_style">GTK_BUTTONBOX_END</property>
+                        <child>
+                          <object class="GtkButton" id="ping_button">
+                            <property name="visible">True</property>
+                            <property name="can_focus">True</property>
+                            <property name="can_default">True</property>
+                            <child>
+                              <object class="GtkAlignment" id="alignment5">
+                                <property name="visible">True</property>
+                                <property name="xscale">0</property>
+                                <property name="yscale">0</property>
+                                <child>
+                                  <object class="GtkHBox" id="hbox12">
+                                    <property name="visible">True</property>
+                                    <property name="spacing">2</property>
+                                    <child>
+                                      <object class="GtkImage" id="image5">
+                                        <property name="visible">True</property>
+                                        <property name="stock">gtk-ok</property>
+                                      </object>
+                                      <packing>
+                                        <property name="expand">False</property>
+                                        <property name="fill">False</property>
+                                      </packing>
+                                    </child>
+                                    <child>
+                                      <object class="GtkLabel" id="label27">
+                                        <property name="visible">True</property>
+                                        <property name="label" translatable="yes">Ping</property>
+                                        <property name="use_underline">True</property>
+                                      </object>
+                                      <packing>
+                                        <property name="expand">False</property>
+                                        <property name="fill">False</property>
+                                        <property name="position">1</property>
+                                      </packing>
+                                    </child>
+                                  </object>
+                                </child>
+                              </object>
+                            </child>
+                          </object>
+                        </child>
+                      </object>
+                      <packing>
+                        <property name="position">1</property>
+                      </packing>
+                    </child>
+                  </object>
+                  <packing>
+                    <property name="expand">False</property>
+                  </packing>
+                </child>
+                <child>
+                  <object class="GtkHBox" id="hbox35">
+                    <property name="visible">True</property>
+                    <property name="spacing">6</property>
+                    <child>
+                      <object class="GtkFrame" id="frame8">
+                        <property name="visible">True</property>
+                        <property name="label_xalign">0</property>
+                        <property name="shadow_type">GTK_SHADOW_NONE</property>
+                        <child>
+                          <object class="GtkAlignment" id="alignment20">
+                            <property name="visible">True</property>
+                            <property name="left_padding">12</property>
+                            <child>
+                              <object class="GtkTable" id="table1">
+                                <property name="visible">True</property>
+                                <property name="border_width">6</property>
+                                <property name="n_rows">3</property>
+                                <property name="n_columns">3</property>
+                                <property name="column_spacing">6</property>
+                                <property name="row_spacing">6</property>
+                                <child>
+                                  <object class="GtkLabel" id="ping_maximum">
+                                    <property name="visible">True</property>
+                                    <property name="xalign">0</property>
+                                    <property name="label" translatable="yes">0.0</property>
+                                    <property name="selectable">True</property>
+                                    <accessibility>
+                                      <relation target="label_maximum" type="labelled-by"/>
+                                    </accessibility>
+                                  </object>
+                                  <packing>
+                                    <property name="left_attach">1</property>
+                                    <property name="right_attach">2</property>
+                                    <property name="top_attach">2</property>
+                                    <property name="bottom_attach">3</property>
+                                    <property name="x_options">GTK_FILL</property>
+                                    <property name="y_options"/>
+                                  </packing>
+                                </child>
+                                <child>
+                                  <object class="GtkLabel" id="ping_average">
+                                    <property name="visible">True</property>
+                                    <property name="xalign">0</property>
+                                    <property name="label" translatable="yes">0.0</property>
+                                    <property name="selectable">True</property>
+                                    <accessibility>
+                                      <relation target="label_average" type="labelled-by"/>
+                                    </accessibility>
+                                  </object>
+                                  <packing>
+                                    <property name="left_attach">1</property>
+                                    <property name="right_attach">2</property>
+                                    <property name="top_attach">1</property>
+                                    <property name="bottom_attach">2</property>
+                                    <property name="x_options">GTK_FILL</property>
+                                    <property name="y_options"/>
+                                  </packing>
+                                </child>
+                                <child>
+                                  <object class="GtkLabel" id="ping_minimum">
+                                    <property name="visible">True</property>
+                                    <property name="xalign">0</property>
+                                    <property name="label" translatable="yes">0.0</property>
+                                    <property name="selectable">True</property>
+                                    <accessibility>
+                                      <relation target="label_minimum" type="labelled-by"/>
+                                    </accessibility>
+                                  </object>
+                                  <packing>
+                                    <property name="left_attach">1</property>
+                                    <property name="right_attach">2</property>
+                                    <property name="x_options">GTK_FILL</property>
+                                    <property name="y_options"/>
+                                  </packing>
+                                </child>
+                                <child>
+                                  <object class="GtkLabel" id="label39">
+                                    <property name="visible">True</property>
+                                    <property name="xalign">0</property>
+                                    <property comments="Translators: this is the abbreviation for milliseconds" name="label" translatable="yes">ms</property>
+                                  </object>
+                                  <packing>
+                                    <property name="left_attach">2</property>
+                                    <property name="right_attach">3</property>
+                                    <property name="top_attach">2</property>
+                                    <property name="bottom_attach">3</property>
+                                    <property name="x_options">GTK_FILL</property>
+                                    <property name="y_options"/>
+                                  </packing>
+                                </child>
+                                <child>
+                                  <object class="GtkLabel" id="label38">
+                                    <property name="visible">True</property>
+                                    <property name="xalign">0</property>
+                                    <property name="label" translatable="yes">ms</property>
+                                  </object>
+                                  <packing>
+                                    <property name="left_attach">2</property>
+                                    <property name="right_attach">3</property>
+                                    <property name="top_attach">1</property>
+                                    <property name="bottom_attach">2</property>
+                                    <property name="x_options">GTK_FILL</property>
+                                    <property name="y_options"/>
+                                  </packing>
+                                </child>
+                                <child>
+                                  <object class="GtkLabel" id="label37">
+                                    <property name="visible">True</property>
+                                    <property name="xalign">0</property>
+                                    <property name="label" translatable="yes">ms</property>
+                                  </object>
+                                  <packing>
+                                    <property name="left_attach">2</property>
+                                    <property name="right_attach">3</property>
+                                    <property name="x_options">GTK_FILL</property>
+                                    <property name="y_options"/>
+                                  </packing>
+                                </child>
+                                <child>
+                                  <object class="GtkLabel" id="label_maximum">
+                                    <property name="visible">True</property>
+                                    <property name="xalign">0</property>
+                                    <property name="label" translatable="yes">Maximum:</property>
+                                    <accessibility>
+                                      <relation target="ping_maximum" type="label-for"/>
+                                    </accessibility>
+                                  </object>
+                                  <packing>
+                                    <property name="top_attach">2</property>
+                                    <property name="bottom_attach">3</property>
+                                    <property name="x_options">GTK_FILL</property>
+                                    <property name="y_options"/>
+                                  </packing>
+                                </child>
+                                <child>
+                                  <object class="GtkLabel" id="label_average">
+                                    <property name="visible">True</property>
+                                    <property name="xalign">0</property>
+                                    <property name="label" translatable="yes">Average:</property>
+                                    <accessibility>
+                                      <relation target="ping_average" type="label-for"/>
+                                    </accessibility>
+                                  </object>
+                                  <packing>
+                                    <property name="top_attach">1</property>
+                                    <property name="bottom_attach">2</property>
+                                    <property name="x_options">GTK_FILL</property>
+                                    <property name="y_options"/>
+                                  </packing>
+                                </child>
+                                <child>
+                                  <object class="GtkLabel" id="label_minimum">
+                                    <property name="visible">True</property>
+                                    <property name="xalign">0</property>
+                                    <property name="label" translatable="yes">Minimum:</property>
+                                    <accessibility>
+                                      <relation target="ping_minimum" type="label-for"/>
+                                    </accessibility>
+                                  </object>
+                                  <packing>
+                                    <property name="x_options">GTK_FILL</property>
+                                    <property name="y_options"/>
+                                  </packing>
+                                </child>
+                              </object>
+                            </child>
+                          </object>
+                        </child>
+                        <child type="label">
+                          <object class="GtkLabel" id="label99">
+                            <property name="visible">True</property>
+                            <property name="label" translatable="yes">&lt;b&gt;Round Trip Time Statistics&lt;/b&gt;</property>
+                            <property name="use_markup">True</property>
+                          </object>
+                        </child>
+                      </object>
+                      <packing>
+                        <property name="expand">False</property>
+                      </packing>
+                    </child>
+                    <child>
+                      <object class="GtkFrame" id="frame9">
+                        <property name="visible">True</property>
+                        <property name="label_xalign">0</property>
+                        <property name="shadow_type">GTK_SHADOW_NONE</property>
+                        <child>
+                          <object class="GtkAlignment" id="alignment21">
+                            <property name="visible">True</property>
+                            <property name="left_padding">12</property>
+                            <child>
+                              <object class="GtkTable" id="table2">
+                                <property name="visible">True</property>
+                                <property name="border_width">6</property>
+                                <property name="n_rows">3</property>
+                                <property name="n_columns">2</property>
+                                <property name="column_spacing">6</property>
+                                <property name="row_spacing">6</property>
+                                <child>
+                                  <object class="GtkLabel" id="label_packets_transmitted">
+                                    <property name="visible">True</property>
+                                    <property name="xalign">0</property>
+                                    <property name="label" translatable="yes">Packets transmitted:</property>
+                                    <accessibility>
+                                      <relation target="ping_packets_transmitted" type="label-for"/>
+                                    </accessibility>
+                                  </object>
+                                  <packing>
+                                    <property name="x_options">GTK_FILL</property>
+                                    <property name="y_options"/>
+                                  </packing>
+                                </child>
+                                <child>
+                                  <object class="GtkLabel" id="ping_packets_success">
+                                    <property name="visible">True</property>
+                                    <property name="xalign">0</property>
+                                    <property name="label" translatable="yes">0%</property>
+                                    <property name="selectable">True</property>
+                                    <accessibility>
+                                      <relation target="label_packets_success" type="labelled-by"/>
+                                    </accessibility>
+                                  </object>
+                                  <packing>
+                                    <property name="left_attach">1</property>
+                                    <property name="right_attach">2</property>
+                                    <property name="top_attach">2</property>
+                                    <property name="bottom_attach">3</property>
+                                    <property name="x_options">GTK_FILL</property>
+                                    <property name="y_options"/>
+                                  </packing>
+                                </child>
+                                <child>
+                                  <object class="GtkLabel" id="ping_packets_received">
+                                    <property name="visible">True</property>
+                                    <property name="xalign">0</property>
+                                    <property name="label" translatable="yes">0</property>
+                                    <property name="selectable">True</property>
+                                    <accessibility>
+                                      <relation target="label_packets_received" type="labelled-by"/>
+                                    </accessibility>
+                                  </object>
+                                  <packing>
+                                    <property name="left_attach">1</property>
+                                    <property name="right_attach">2</property>
+                                    <property name="top_attach">1</property>
+                                    <property name="bottom_attach">2</property>
+                                    <property name="x_options">GTK_FILL</property>
+                                    <property name="y_options"/>
+                                  </packing>
+                                </child>
+                                <child>
+                                  <object class="GtkLabel" id="ping_packets_transmitted">
+                                    <property name="visible">True</property>
+                                    <property name="xalign">0</property>
+                                    <property name="label" translatable="yes">0</property>
+                                    <property name="selectable">True</property>
+                                    <accessibility>
+                                      <relation target="label_packets_transmitted" type="labelled-by"/>
+                                    </accessibility>
+                                  </object>
+                                  <packing>
+                                    <property name="left_attach">1</property>
+                                    <property name="right_attach">2</property>
+                                    <property name="x_options">GTK_FILL</property>
+                                    <property name="y_options"/>
+                                  </packing>
+                                </child>
+                                <child>
+                                  <object class="GtkLabel" id="label_packets_success">
+                                    <property name="visible">True</property>
+                                    <property name="xalign">0</property>
+                                    <property name="label" translatable="yes">Successful packets:</property>
+                                    <accessibility>
+                                      <relation target="ping_packets_success" type="label-for"/>
+                                    </accessibility>
+                                  </object>
+                                  <packing>
+                                    <property name="top_attach">2</property>
+                                    <property name="bottom_attach">3</property>
+                                    <property name="x_options">GTK_FILL</property>
+                                    <property name="y_options"/>
+                                  </packing>
+                                </child>
+                                <child>
+                                  <object class="GtkLabel" id="label_packets_received">
+                                    <property name="visible">True</property>
+                                    <property name="xalign">0</property>
+                                    <property name="label" translatable="yes">Packets received:</property>
+                                    <accessibility>
+                                      <relation target="ping_packets_received" type="label-for"/>
+                                    </accessibility>
+                                  </object>
+                                  <packing>
+                                    <property name="top_attach">1</property>
+                                    <property name="bottom_attach">2</property>
+                                    <property name="x_options">GTK_FILL</property>
+                                    <property name="y_options"/>
+                                  </packing>
+                                </child>
+                              </object>
+                            </child>
+                          </object>
+                        </child>
+                        <child type="label">
+                          <object class="GtkLabel" id="label100">
+                            <property name="visible">True</property>
+                            <property name="label" translatable="yes">&lt;b&gt;Transmission Statistics&lt;/b&gt;</property>
+                            <property name="use_markup">True</property>
+                          </object>
+                        </child>
+                      </object>
+                      <packing>
+                        <property name="expand">False</property>
+                        <property name="position">1</property>
+                      </packing>
+                    </child>
+                  </object>
+                  <packing>
+                    <property name="expand">False</property>
+                    <property name="fill">False</property>
+                    <property name="position">2</property>
+                  </packing>
+                </child>
+                <child>
+                  <object class="GtkDrawingArea" id="ping_graph">
+                    <property name="visible">True</property>
+                  </object>
+                  <packing>
+                    <property name="position">3</property>
+                  </packing>
+                </child>
+                <child>
+                  <object class="GtkExpander" id="expander1">
+                    <property name="visible">True</property>
+                    <property name="can_focus">True</property>
+                    <child>
+                      <object class="GtkScrolledWindow" id="scrolledwindow">
+                        <property name="visible">True</property>
+                        <property name="can_focus">True</property>
+                        <property name="border_width">6</property>
+                        <property name="hscrollbar_policy">GTK_POLICY_AUTOMATIC</property>
+                        <property name="vscrollbar_policy">GTK_POLICY_AUTOMATIC</property>
+                        <property name="shadow_type">GTK_SHADOW_IN</property>
+                        <child>
+                          <object class="GtkTreeView" id="ping_output">
+                            <property name="visible">True</property>
+                            <property name="can_focus">True</property>
+                            <property name="border_width">6</property>
+                            <property name="enable_search">False</property>
+                          </object>
+                        </child>
+                      </object>
+                    </child>
+                    <child type="label">
+                      <object class="GtkLabel" id="label123">
+                        <property name="visible">True</property>
+                        <property name="label" translatable="yes">Details</property>
+                      </object>
+                    </child>
+                  </object>
+                  <packing>
+                    <property name="expand">False</property>
+                    <property name="pack_type">GTK_PACK_END</property>
+                    <property name="position">1</property>
+                  </packing>
+                </child>
+              </object>
+            </child>
+            <child type="tab">
+              <object class="GtkLabel" id="ping">
+                <property name="visible">True</property>
+                <property name="label" translatable="yes">Ping</property>
+              </object>
+              <packing>
+                <property name="position">1</property>
+                <property name="tab_fill">False</property>
+              </packing>
+            </child>
+            <child>
+              <object class="GtkVBox" id="vbox_netstat">
+                <property name="visible">True</property>
+                <property name="border_width">6</property>
+                <property name="spacing">6</property>
+                <child>
+                  <object class="GtkVBox" id="vbox19">
+                    <property name="visible">True</property>
+                    <property name="border_width">6</property>
+                    <property name="spacing">12</property>
+                    <child>
+                      <object class="GtkHBox" id="hbox43">
+                        <property name="visible">True</property>
+                        <property name="spacing">6</property>
+                        <child>
+                          <object class="GtkLabel" id="label110">
+                            <property name="visible">True</property>
+                            <property name="yalign">0</property>
+                            <property name="label" translatable="yes">Display:</property>
+                          </object>
+                          <packing>
+                            <property name="expand">False</property>
+                            <property name="fill">False</property>
+                          </packing>
+                        </child>
+                        <child>
+                          <object class="GtkVBox" id="vbox7">
+                            <property name="visible">True</property>
+                            <property name="spacing">6</property>
+                            <child>
+                              <object class="GtkRadioButton" id="netstat_routing">
+                                <property name="visible">True</property>
+                                <property name="can_focus">True</property>
+                                <property name="label" translatable="yes">Routing Table Information</property>
+                                <property name="use_underline">True</property>
+                                <property name="active">True</property>
+                                <property name="draw_indicator">True</property>
+                              </object>
+                              <packing>
+                                <property name="expand">False</property>
+                                <property name="fill">False</property>
+                              </packing>
+                            </child>
+                            <child>
+                              <object class="GtkRadioButton" id="netstat_protocol">
+                                <property name="visible">True</property>
+                                <property name="can_focus">True</property>
+                                <property name="label" translatable="yes">Active Network Services</property>
+                                <property name="use_underline">True</property>
+                                <property name="draw_indicator">True</property>
+                                <property name="group">netstat_routing</property>
+                              </object>
+                              <packing>
+                                <property name="expand">False</property>
+                                <property name="fill">False</property>
+                                <property name="position">1</property>
+                              </packing>
+                            </child>
+                            <child>
+                              <object class="GtkRadioButton" id="netstat_multicast">
+                                <property name="visible">True</property>
+                                <property name="can_focus">True</property>
+                                <property name="label" translatable="yes">Multicast Information</property>
+                                <property name="use_underline">True</property>
+                                <property name="draw_indicator">True</property>
+                                <property name="group">netstat_routing</property>
+                              </object>
+                              <packing>
+                                <property name="expand">False</property>
+                                <property name="fill">False</property>
+                                <property name="position">2</property>
+                              </packing>
+                            </child>
+                          </object>
+                          <packing>
+                            <property name="position">1</property>
+                          </packing>
+                        </child>
+                      </object>
+                      <packing>
+                        <property name="padding">4</property>
+                      </packing>
+                    </child>
+                    <child>
+                      <object class="GtkHButtonBox" id="hbuttonbox4">
+                        <property name="visible">True</property>
+                        <property name="layout_style">GTK_BUTTONBOX_END</property>
+                        <child>
+                          <object class="GtkButton" id="netstat_button">
+                            <property name="visible">True</property>
+                            <property name="can_focus">True</property>
+                            <property name="can_default">True</property>
+                            <child>
+                              <object class="GtkAlignment" id="alignment8">
+                                <property name="visible">True</property>
+                                <property name="xscale">0</property>
+                                <property name="yscale">0</property>
+                                <child>
+                                  <object class="GtkHBox" id="hbox16">
+                                    <property name="visible">True</property>
+                                    <property name="spacing">2</property>
+                                    <child>
+                                      <object class="GtkImage" id="image7">
+                                        <property name="visible">True</property>
+                                        <property name="stock">gtk-ok</property>
+                                      </object>
+                                      <packing>
+                                        <property name="expand">False</property>
+                                        <property name="fill">False</property>
+                                      </packing>
+                                    </child>
+                                    <child>
+                                      <object class="GtkLabel" id="label31">
+                                        <property name="visible">True</property>
+                                        <property name="label" translatable="yes">Netstat</property>
+                                        <property name="use_underline">True</property>
+                                      </object>
+                                      <packing>
+                                        <property name="expand">False</property>
+                                        <property name="fill">False</property>
+                                        <property name="position">1</property>
+                                      </packing>
+                                    </child>
+                                  </object>
+                                </child>
+                              </object>
+                            </child>
+                          </object>
+                        </child>
+                      </object>
+                      <packing>
+                        <property name="position">1</property>
+                      </packing>
+                    </child>
+                  </object>
+                  <packing>
+                    <property name="expand">False</property>
+                  </packing>
+                </child>
+                <child>
+                  <object class="GtkScrolledWindow" id="scrolledwindow2">
+                    <property name="visible">True</property>
+                    <property name="can_focus">True</property>
+                    <property name="border_width">6</property>
+                    <property name="hscrollbar_policy">GTK_POLICY_AUTOMATIC</property>
+                    <property name="vscrollbar_policy">GTK_POLICY_AUTOMATIC</property>
+                    <property name="shadow_type">GTK_SHADOW_IN</property>
+                    <child>
+                      <object class="GtkTreeView" id="netstat_output">
+                        <property name="visible">True</property>
+                        <property name="can_focus">True</property>
+                        <property name="tooltip-text" translatable="yes">Output for net stat</property>
+                        <property name="enable_search">False</property>
+                        <accessibility>
+
+                        </accessibility>
+                        <child internal-child="accessible">
+                          <object class="AtkObject" id="a11y-netstat_output1">
+                            <property name="AtkObject::accessible_name" translatable="yes">Netstat output</property>
+                          </object>
+                        </child>
+                      </object>
+                    </child>
+                  </object>
+                  <packing>
+                    <property name="position">1</property>
+                  </packing>
+                </child>
+              </object>
+            </child>
+            <child type="tab">
+              <object class="GtkLabel" id="netstat">
+                <property name="visible">True</property>
+                <property name="label" translatable="yes">Netstat</property>
+              </object>
+              <packing>
+                <property name="position">2</property>
+                <property name="tab_fill">False</property>
+              </packing>
+            </child>
+            <child>
+              <object class="GtkVBox" id="vbox_traceroute">
+                <property name="visible">True</property>
+                <property name="border_width">6</property>
+                <property name="spacing">6</property>
+                <child>
+                  <object class="GtkVBox" id="vbox20">
+                    <property name="visible">True</property>
+                    <property name="border_width">6</property>
+                    <property name="spacing">12</property>
+                    <child>
+                      <object class="GtkHBox" id="hbox36">
+                        <property name="visible">True</property>
+                        <property name="spacing">6</property>
+                        <child>
+                          <object class="GtkLabel" id="traceroute_host_label">
+                            <property name="visible">True</property>
+                            <property name="label" translatable="yes">_Network address:</property>
+                            <property name="use_underline">True</property>
+                          </object>
+                          <packing>
+                            <property name="expand">False</property>
+                            <property name="fill">False</property>
+                          </packing>
+                        </child>
+                        <child>
+                          <object class="GtkComboBox" id="traceroute_host">
+                            <property name="visible">True</property>
+                            <property name="can_focus">True</property>
+                            <property name="has_entry">True</property>
+                            <child internal-child="entry">
+                              <object class="GtkEntry" id="comboboxentry-entry2">
+                                <property name="has_tooltip">True</property>
+                                <property name="tooltip_text" translatable="yes">Enter the network address to scan for open ports. For example: www.domain.com or 192.168.2.1</property>
+                                <accessibility>
+                                  <relation target="traceroute_host_label" type="labelled-by"/>
+                                </accessibility>
+                              </object>
+                            </child>
+                            <property name="model">model2</property>
+                            <child>
+                              <object class="GtkCellRendererText" id="renderer2"/>
+                              <attributes>
+                                <attribute name="text">0</attribute>
+                              </attributes>
+                            </child>
+                          </object>
+                          <packing>
+                            <property name="position">1</property>
+                          </packing>
+                        </child>
+                      </object>
+                    </child>
+                    <child>
+                      <object class="GtkHButtonBox" id="hbuttonbox3">
+                        <property name="visible">True</property>
+                        <property name="layout_style">GTK_BUTTONBOX_END</property>
+                        <child>
+                          <object class="GtkButton" id="traceroute_button">
+                            <property name="visible">True</property>
+                            <property name="can_focus">True</property>
+                            <property name="can_default">True</property>
+                            <child>
+                              <object class="GtkAlignment" id="alignment7">
+                                <property name="visible">True</property>
+                                <property name="xscale">0</property>
+                                <property name="yscale">0</property>
+                                <child>
+                                  <object class="GtkHBox" id="hbox15">
+                                    <property name="visible">True</property>
+                                    <property name="spacing">2</property>
+                                    <child>
+                                      <object class="GtkImage" id="image6">
+                                        <property name="visible">True</property>
+                                        <property name="stock">gtk-ok</property>
+                                      </object>
+                                      <packing>
+                                        <property name="expand">False</property>
+                                        <property name="fill">False</property>
+                                      </packing>
+                                    </child>
+                                    <child>
+                                      <object class="GtkLabel" id="label30">
+                                        <property name="visible">True</property>
+                                        <property name="label" translatable="yes">Trace</property>
+                                        <property name="use_underline">True</property>
+                                      </object>
+                                      <packing>
+                                        <property name="expand">False</property>
+                                        <property name="fill">False</property>
+                                        <property name="position">1</property>
+                                      </packing>
+                                    </child>
+                                  </object>
+                                </child>
+                              </object>
+                            </child>
+                          </object>
+                        </child>
+                      </object>
+                      <packing>
+                        <property name="position">1</property>
+                      </packing>
+                    </child>
+                  </object>
+                  <packing>
+                    <property name="expand">False</property>
+                  </packing>
+                </child>
+                <child>
+                  <object class="GtkScrolledWindow" id="scrolledwindow3">
+                    <property name="visible">True</property>
+                    <property name="can_focus">True</property>
+                    <property name="border_width">6</property>
+                    <property name="hscrollbar_policy">GTK_POLICY_AUTOMATIC</property>
+                    <property name="vscrollbar_policy">GTK_POLICY_AUTOMATIC</property>
+                    <property name="shadow_type">GTK_SHADOW_IN</property>
+                    <child>
+                      <object class="GtkTreeView" id="traceroute_output">
+                        <property name="visible">True</property>
+                        <property name="can_focus">True</property>
+                        <property name="tooltip-text" translatable="yes">Output for traceroute</property>
+                        <property name="enable_search">False</property>
+                        <accessibility>
+
+                        </accessibility>
+                        <child internal-child="accessible">
+                          <object class="AtkObject" id="a11y-traceroute_output1">
+                            <property name="AtkObject::accessible_name" translatable="yes">Traceroute output</property>
+                          </object>
+                        </child>
+                      </object>
+                    </child>
+                  </object>
+                  <packing>
+                    <property name="position">1</property>
+                  </packing>
+                </child>
+              </object>
+            </child>
+            <child type="tab">
+              <object class="GtkLabel" id="traceroute">
+                <property name="visible">True</property>
+                <property name="has_tooltip">True</property>
+                <property name="tooltip_text" translatable="yes">Enter the network address to trace a route to. For example: www.domain.com or 192.168.2.1</property>
+                <property name="label" translatable="yes">Traceroute</property>
+              </object>
+              <packing>
+                <property name="position">3</property>
+                <property name="tab_fill">False</property>
+              </packing>
+            </child>
+            <child>
+              <object class="GtkVBox" id="vbox_scan">
+                <property name="visible">True</property>
+                <property name="border_width">6</property>
+                <property name="spacing">6</property>
+                <child>
+                  <object class="GtkVBox" id="vbox21">
+                    <property name="visible">True</property>
+                    <property name="border_width">6</property>
+                    <property name="spacing">12</property>
+                    <child>
+                      <object class="GtkHBox" id="hbox37">
+                        <property name="visible">True</property>
+                        <property name="spacing">6</property>
+                        <child>
+                          <object class="GtkLabel" id="scan_host_label">
+                            <property name="visible">True</property>
+                            <property name="label" translatable="yes">_Network address:</property>
+                            <property name="use_underline">True</property>
+                          </object>
+                          <packing>
+                            <property name="expand">False</property>
+                            <property name="fill">False</property>
+                          </packing>
+                        </child>
+                        <child>
+                          <object class="GtkComboBox" id="scan_host">
+                            <property name="visible">True</property>
+                            <property name="can_focus">True</property>
+                            <property name="has_entry">True</property>
+                            <child internal-child="entry">
+                              <object class="GtkEntry" id="comboboxentry-entry3">
+                                <property name="has_tooltip">True</property>
+                                <property name="tooltip_text" translatable="yes">Enter the network address to scan for open ports. For example: www.domain.com or 192.168.2.1</property>
+                                <accessibility>
+
+                                </accessibility>
+                                <child internal-child="accessible">
+                                  <object class="AtkObject" id="a11y-comboboxentry-entry31">
+                                    <property name="AtkObject::accessible_name" translatable="yes">Network address</property>
+                                  </object>
+                                </child>
+                              </object>
+                            </child>
+                            <property name="model">model3</property>
+                            <child>
+                              <object class="GtkCellRendererText" id="renderer3"/>
+                              <attributes>
+                                <attribute name="text">0</attribute>
+                              </attributes>
+                            </child>
+                          </object>
+                          <packing>
+                            <property name="position">1</property>
+                          </packing>
+                        </child>
+                      </object>
+                    </child>
+                    <child>
+                      <object class="GtkHButtonBox" id="hbuttonbox5">
+                        <property name="visible">True</property>
+                        <property name="layout_style">GTK_BUTTONBOX_END</property>
+                        <child>
+                          <object class="GtkButton" id="scan_button">
+                            <property name="visible">True</property>
+                            <property name="can_focus">True</property>
+                            <property name="can_default">True</property>
+                            <child>
+                              <object class="GtkAlignment" id="alignment9">
+                                <property name="visible">True</property>
+                                <property name="xscale">0</property>
+                                <property name="yscale">0</property>
+                                <child>
+                                  <object class="GtkHBox" id="hbox18">
+                                    <property name="visible">True</property>
+                                    <property name="spacing">2</property>
+                                    <child>
+                                      <object class="GtkImage" id="image8">
+                                        <property name="visible">True</property>
+                                        <property name="stock">gtk-ok</property>
+                                      </object>
+                                      <packing>
+                                        <property name="expand">False</property>
+                                        <property name="fill">False</property>
+                                      </packing>
+                                    </child>
+                                    <child>
+                                      <object class="GtkLabel" id="label47">
+                                        <property name="visible">True</property>
+                                        <property name="label" translatable="yes">Scan</property>
+                                        <property name="use_underline">True</property>
+                                      </object>
+                                      <packing>
+                                        <property name="expand">False</property>
+                                        <property name="fill">False</property>
+                                        <property name="position">1</property>
+                                      </packing>
+                                    </child>
+                                  </object>
+                                </child>
+                              </object>
+                            </child>
+                          </object>
+                        </child>
+                      </object>
+                      <packing>
+                        <property name="position">1</property>
+                      </packing>
+                    </child>
+                  </object>
+                  <packing>
+                    <property name="expand">False</property>
+                  </packing>
+                </child>
+                <child>
+                  <object class="GtkScrolledWindow" id="scrolledwindow4">
+                    <property name="visible">True</property>
+                    <property name="can_focus">True</property>
+                    <property name="border_width">6</property>
+                    <property name="hscrollbar_policy">GTK_POLICY_AUTOMATIC</property>
+                    <property name="vscrollbar_policy">GTK_POLICY_AUTOMATIC</property>
+                    <property name="shadow_type">GTK_SHADOW_IN</property>
+                    <child>
+                      <object class="GtkTreeView" id="scan_output">
+                        <property name="visible">True</property>
+                        <property name="can_focus">True</property>
+                        <property name="tooltip-text" translatable="yes">Output for port scan</property>
+                        <property name="enable_search">False</property>
+                        <accessibility>
+
+                        </accessibility>
+                        <child internal-child="accessible">
+                          <object class="AtkObject" id="a11y-scan_output1">
+                            <property name="AtkObject::accessible_name" translatable="yes">Port scan output</property>
+                          </object>
+                        </child>
+                      </object>
+                    </child>
+                  </object>
+                  <packing>
+                    <property name="position">1</property>
+                  </packing>
+                </child>
+              </object>
+            </child>
+            <child type="tab">
+              <object class="GtkLabel" id="scan">
+                <property name="visible">True</property>
+                <property name="label" translatable="yes">Port Scan</property>
+              </object>
+              <packing>
+                <property name="position">4</property>
+                <property name="tab_fill">False</property>
+              </packing>
+            </child>
+            <child>
+              <object class="GtkVBox" id="vbox_lookup">
+                <property name="visible">True</property>
+                <property name="border_width">6</property>
+                <property name="spacing">6</property>
+                <child>
+                  <object class="GtkVBox" id="vbox23">
+                    <property name="visible">True</property>
+                    <property name="border_width">6</property>
+                    <property name="spacing">12</property>
+                    <child>
+                      <object class="GtkTable" id="table7">
+                        <property name="visible">True</property>
+                        <property name="n_rows">2</property>
+                        <property name="n_columns">2</property>
+                        <property name="column_spacing">6</property>
+                        <property name="row_spacing">6</property>
+                        <child>
+                          <object class="GtkComboBox" id="lookup_type">
+                            <property name="visible">True</property>
+                            <property name="can_focus">True</property>
+                          </object>
+                          <packing>
+                            <property name="left_attach">1</property>
+                            <property name="right_attach">2</property>
+                            <property name="top_attach">1</property>
+                            <property name="bottom_attach">2</property>
+                            <property name="x_options">GTK_FILL</property>
+                            <property name="y_options">GTK_FILL</property>
+                          </packing>
+                        </child>
+                        <child>
+                          <object class="GtkLabel" id="lookup_type_label">
+                            <property name="visible">True</property>
+                            <property name="xalign">0</property>
+                            <property name="label" translatable="yes">_Information type:</property>
+                            <property name="use_underline">True</property>
+                          </object>
+                          <packing>
+                            <property name="top_attach">1</property>
+                            <property name="bottom_attach">2</property>
+                            <property name="x_options">GTK_FILL</property>
+                            <property name="y_options"/>
+                          </packing>
+                        </child>
+                        <child>
+                          <object class="GtkComboBox" id="lookup_host">
+                            <property name="visible">True</property>
+                            <property name="can_focus">True</property>
+                            <property name="has_entry">True</property>
+                            <child internal-child="entry">
+                              <object class="GtkEntry" id="comboboxentry-entry4">
+                                <property name="has_tooltip">True</property>
+                                <property name="tooltip_text" translatable="yes">Enter the network address to lookup. For example: www.domain.com or 192.168.2.1</property>
+                                <accessibility>
+
+                                </accessibility>
+                                <child internal-child="accessible">
+                                  <object class="AtkObject" id="a11y-comboboxentry-entry41">
+                                    <property name="AtkObject::accessible_name" translatable="yes">Network address</property>
+                                  </object>
+                                </child>
+                              </object>
+                            </child>
+                            <property name="model">model4</property>
+                            <child>
+                              <object class="GtkCellRendererText" id="renderer4"/>
+                              <attributes>
+                                <attribute name="text">0</attribute>
+                              </attributes>
+                            </child>
+                          </object>
+                          <packing>
+                            <property name="left_attach">1</property>
+                            <property name="right_attach">2</property>
+                            <property name="y_options">GTK_FILL</property>
+                          </packing>
+                        </child>
+                        <child>
+                          <object class="GtkLabel" id="lookup_host_label">
+                            <property name="visible">True</property>
+                            <property name="xalign">0</property>
+                            <property name="label" translatable="yes">_Network address:</property>
+                            <property name="use_underline">True</property>
+                          </object>
+                          <packing>
+                            <property name="x_options">GTK_FILL</property>
+                            <property name="y_options"/>
+                          </packing>
+                        </child>
+                      </object>
+                      <packing>
+                        <property name="expand">False</property>
+                        <property name="fill">False</property>
+                      </packing>
+                    </child>
+                    <child>
+                      <object class="GtkHButtonBox" id="hbuttonbox6">
+                        <property name="visible">True</property>
+                        <property name="layout_style">GTK_BUTTONBOX_END</property>
+                        <child>
+                          <object class="GtkButton" id="lookup_button">
+                            <property name="visible">True</property>
+                            <property name="can_focus">True</property>
+                            <property name="can_default">True</property>
+                            <child>
+                              <object class="GtkAlignment" id="alignment10">
+                                <property name="visible">True</property>
+                                <property name="xscale">0</property>
+                                <property name="yscale">0</property>
+                                <child>
+                                  <object class="GtkHBox" id="hbox27">
+                                    <property name="visible">True</property>
+                                    <property name="spacing">2</property>
+                                    <child>
+                                      <object class="GtkImage" id="image9">
+                                        <property name="visible">True</property>
+                                        <property name="stock">gtk-ok</property>
+                                      </object>
+                                      <packing>
+                                        <property name="expand">False</property>
+                                        <property name="fill">False</property>
+                                      </packing>
+                                    </child>
+                                    <child>
+                                      <object class="GtkLabel" id="label68">
+                                        <property name="visible">True</property>
+                                        <property name="label" translatable="yes">Lookup</property>
+                                        <property name="use_underline">True</property>
+                                      </object>
+                                      <packing>
+                                        <property name="expand">False</property>
+                                        <property name="fill">False</property>
+                                        <property name="position">1</property>
+                                      </packing>
+                                    </child>
+                                  </object>
+                                </child>
+                              </object>
+                            </child>
+                          </object>
+                        </child>
+                      </object>
+                      <packing>
+                        <property name="position">1</property>
+                      </packing>
+                    </child>
+                  </object>
+                  <packing>
+                    <property name="expand">False</property>
+                  </packing>
+                </child>
+                <child>
+                  <object class="GtkScrolledWindow" id="scrolledwindow5">
+                    <property name="visible">True</property>
+                    <property name="can_focus">True</property>
+                    <property name="border_width">6</property>
+                    <property name="hscrollbar_policy">GTK_POLICY_AUTOMATIC</property>
+                    <property name="vscrollbar_policy">GTK_POLICY_AUTOMATIC</property>
+                    <property name="shadow_type">GTK_SHADOW_IN</property>
+                    <child>
+                      <object class="GtkTreeView" id="lookup_output">
+                        <property name="visible">True</property>
+                        <property name="can_focus">True</property>
+                        <property name="tooltip-text" translatable="yes">Output for lookup</property>
+                        <accessibility>
+
+                        </accessibility>
+                        <child internal-child="accessible">
+                          <object class="AtkObject" id="a11y-lookup_output1">
+                            <property name="AtkObject::accessible_name" translatable="yes">Lookup output</property>
+                          </object>
+                        </child>
+                      </object>
+                    </child>
+                  </object>
+                  <packing>
+                    <property name="position">1</property>
+                  </packing>
+                </child>
+              </object>
+            </child>
+            <child type="tab">
+              <object class="GtkLabel" id="lookup">
+                <property name="visible">True</property>
+                <property name="label" translatable="yes">Lookup</property>
+              </object>
+              <packing>
+                <property name="position">5</property>
+                <property name="tab_fill">False</property>
+              </packing>
+            </child>
+            <child>
+              <object class="GtkVBox" id="vbox_finger">
+                <property name="visible">True</property>
+                <property name="border_width">6</property>
+                <property name="spacing">6</property>
+                <child>
+                  <object class="GtkVBox" id="vbox24">
+                    <property name="visible">True</property>
+                    <property name="border_width">6</property>
+                    <property name="spacing">12</property>
+                    <child>
+                      <object class="GtkTable" id="table8">
+                        <property name="visible">True</property>
+                        <property name="n_rows">2</property>
+                        <property name="n_columns">2</property>
+                        <property name="column_spacing">6</property>
+                        <property name="row_spacing">6</property>
+                        <child>
+                          <object class="GtkComboBox" id="finger_host">
+                            <property name="visible">True</property>
+                            <property name="can_focus">True</property>
+                            <property name="has_entry">True</property>
+                            <child internal-child="entry">
+                              <object class="GtkEntry" id="comboboxentry-entry6">
+                                <property name="has_tooltip">True</property>
+                                <property name="tooltip_text" translatable="yes">Enter the network address to finger that user. For example: www.domain.com or 192.168.2.1</property>
+                                <accessibility>
+
+                                </accessibility>
+                                <child internal-child="accessible">
+                                  <object class="AtkObject" id="a11y-comboboxentry-entry61">
+                                    <property name="AtkObject::accessible_name" translatable="yes">Network address</property>
+                                  </object>
+                                </child>
+                              </object>
+                            </child>
+                            <property name="model">model5</property>
+                            <child>
+                              <object class="GtkCellRendererText" id="renderer5"/>
+                              <attributes>
+                                <attribute name="text">0</attribute>
+                              </attributes>
+                            </child>
+                          </object>
+                          <packing>
+                            <property name="left_attach">1</property>
+                            <property name="right_attach">2</property>
+                            <property name="top_attach">1</property>
+                            <property name="bottom_attach">2</property>
+                            <property name="x_options">GTK_FILL</property>
+                            <property name="y_options">GTK_FILL</property>
+                          </packing>
+                        </child>
+                        <child>
+                          <object class="GtkComboBox" id="finger_user">
+                            <property name="visible">True</property>
+                            <property name="can_focus">True</property>
+                            <property name="has_entry">True</property>
+                            <child internal-child="entry">
+                              <object class="GtkEntry" id="comboboxentry-entry5">
+                                <property name="has_tooltip">True</property>
+                                <property name="tooltip_text" translatable="yes">Enter the user to finger</property>
+                                <accessibility>
+
+                                </accessibility>
+                                <child internal-child="accessible">
+                                  <object class="AtkObject" id="a11y-comboboxentry-entry51">
+                                    <property name="AtkObject::accessible_name" translatable="yes">User name</property>
+                                  </object>
+                                </child>
+                              </object>
+                            </child>
+                            <property name="model">model6</property>
+                            <child>
+                              <object class="GtkCellRendererText" id="renderer6"/>
+                              <attributes>
+                                <attribute name="text">0</attribute>
+                              </attributes>
+                            </child>
+                          </object>
+                          <packing>
+                            <property name="left_attach">1</property>
+                            <property name="right_attach">2</property>
+                            <property name="y_options">GTK_FILL</property>
+                          </packing>
+                        </child>
+                        <child>
+                          <object class="GtkLabel" id="finger_host_label">
+                            <property name="visible">True</property>
+                            <property name="xalign">0</property>
+                            <property name="label" translatable="yes">_Network address:</property>
+                            <property name="use_underline">True</property>
+                          </object>
+                          <packing>
+                            <property name="top_attach">1</property>
+                            <property name="bottom_attach">2</property>
+                            <property name="x_options">GTK_FILL</property>
+                            <property name="y_options"/>
+                          </packing>
+                        </child>
+                        <child>
+                          <object class="GtkLabel" id="finger_user_label">
+                            <property name="visible">True</property>
+                            <property name="xalign">0</property>
+                            <property name="label" translatable="yes">_Username:</property>
+                            <property name="use_underline">True</property>
+                          </object>
+                          <packing>
+                            <property name="x_options">GTK_FILL</property>
+                            <property name="y_options"/>
+                          </packing>
+                        </child>
+                      </object>
+                      <packing>
+                        <property name="expand">False</property>
+                        <property name="fill">False</property>
+                      </packing>
+                    </child>
+                    <child>
+                      <object class="GtkHButtonBox" id="hbuttonbox7">
+                        <property name="visible">True</property>
+                        <property name="layout_style">GTK_BUTTONBOX_END</property>
+                        <child>
+                          <object class="GtkButton" id="finger_button">
+                            <property name="visible">True</property>
+                            <property name="can_focus">True</property>
+                            <property name="can_default">True</property>
+                            <child>
+                              <object class="GtkAlignment" id="alignment11">
+                                <property name="visible">True</property>
+                                <property name="xscale">0</property>
+                                <property name="yscale">0</property>
+                                <child>
+                                  <object class="GtkHBox" id="hbox30">
+                                    <property name="visible">True</property>
+                                    <property name="spacing">2</property>
+                                    <child>
+                                      <object class="GtkImage" id="image10">
+                                        <property name="visible">True</property>
+                                        <property name="stock">gtk-ok</property>
+                                      </object>
+                                      <packing>
+                                        <property name="expand">False</property>
+                                        <property name="fill">False</property>
+                                      </packing>
+                                    </child>
+                                    <child>
+                                      <object class="GtkLabel" id="label78">
+                                        <property name="visible">True</property>
+                                        <property name="label" translatable="yes">Finger</property>
+                                        <property name="use_underline">True</property>
+                                      </object>
+                                      <packing>
+                                        <property name="expand">False</property>
+                                        <property name="fill">False</property>
+                                        <property name="position">1</property>
+                                      </packing>
+                                    </child>
+                                  </object>
+                                </child>
+                              </object>
+                            </child>
+                          </object>
+                        </child>
+                      </object>
+                      <packing>
+                        <property name="position">1</property>
+                      </packing>
+                    </child>
+                  </object>
+                  <packing>
+                    <property name="expand">False</property>
+                  </packing>
+                </child>
+                <child>
+                  <object class="GtkScrolledWindow" id="scrolledwindow6">
+                    <property name="visible">True</property>
+                    <property name="can_focus">True</property>
+                    <property name="border_width">6</property>
+                    <property name="hscrollbar_policy">GTK_POLICY_AUTOMATIC</property>
+                    <property name="vscrollbar_policy">GTK_POLICY_AUTOMATIC</property>
+                    <property name="shadow_type">GTK_SHADOW_IN</property>
+                    <child>
+                      <object class="GtkTextView" id="finger_output">
+                        <property name="visible">True</property>
+                        <property name="can_focus">True</property>
+                        <property name="tooltip-text" translatable="yes">Output for finger</property>
+                        <property name="editable">False</property>
+                        <accessibility>
+
+                        </accessibility>
+                        <child internal-child="accessible">
+                          <object class="AtkObject" id="a11y-finger_output1">
+                            <property name="AtkObject::accessible_name" translatable="yes">Finger output</property>
+                          </object>
+                        </child>
+                      </object>
+                    </child>
+                  </object>
+                  <packing>
+                    <property name="position">1</property>
+                  </packing>
+                </child>
+              </object>
+            </child>
+            <child type="tab">
+              <object class="GtkLabel" id="finger">
+                <property name="visible">True</property>
+                <property name="label" translatable="yes">Finger</property>
+              </object>
+              <packing>
+                <property name="position">6</property>
+                <property name="tab_fill">False</property>
+              </packing>
+            </child>
+            <child>
+              <object class="GtkVBox" id="vbox_whois">
+                <property name="visible">True</property>
+                <property name="border_width">6</property>
+                <property name="spacing">6</property>
+                <child>
+                  <object class="GtkVBox" id="vbox22">
+                    <property name="visible">True</property>
+                    <property name="border_width">6</property>
+                    <property name="spacing">12</property>
+                    <child>
+                      <object class="GtkHBox" id="hbox38">
+                        <property name="visible">True</property>
+                        <property name="spacing">6</property>
+                        <child>
+                          <object class="GtkLabel" id="whois_host_label">
+                            <property name="visible">True</property>
+                            <property name="label" translatable="yes">_Domain address:</property>
+                            <property name="use_underline">True</property>
+                          </object>
+                          <packing>
+                            <property name="expand">False</property>
+                            <property name="fill">False</property>
+                          </packing>
+                        </child>
+                        <child>
+                          <object class="GtkComboBox" id="whois_host">
+                            <property name="visible">True</property>
+                            <property name="can_focus">True</property>
+                            <property name="has_entry">True</property>
+                            <child internal-child="entry">
+                              <object class="GtkEntry" id="comboboxentry-entry7">
+                                <property name="has_tooltip">True</property>
+                                <property name="tooltip_text" translatable="yes">Enter a domain address to lookup its whois information. For example: www.domain.com or 192.168.2.1</property>
+                                <accessibility>
+
+                                </accessibility>
+                                <child internal-child="accessible">
+                                  <object class="AtkObject" id="a11y-comboboxentry-entry71">
+                                    <property name="AtkObject::accessible_name" translatable="yes">Domain address</property>
+                                  </object>
+                                </child>
+                              </object>
+                            </child>
+                            <property name="model">model7</property>
+                            <child>
+                              <object class="GtkCellRendererText" id="renderer7"/>
+                              <attributes>
+                                <attribute name="text">0</attribute>
+                              </attributes>
+                            </child>
+                          </object>
+                          <packing>
+                            <property name="position">1</property>
+                          </packing>
+                        </child>
+                      </object>
+                    </child>
+                    <child>
+                      <object class="GtkHButtonBox" id="hbuttonbox8">
+                        <property name="visible">True</property>
+                        <property name="layout_style">GTK_BUTTONBOX_END</property>
+                        <child>
+                          <object class="GtkButton" id="whois_button">
+                            <property name="visible">True</property>
+                            <property name="can_focus">True</property>
+                            <property name="can_default">True</property>
+                            <child>
+                              <object class="GtkAlignment" id="alignment12">
+                                <property name="visible">True</property>
+                                <property name="xscale">0</property>
+                                <property name="yscale">0</property>
+                                <child>
+                                  <object class="GtkHBox" id="hbox32">
+                                    <property name="visible">True</property>
+                                    <property name="spacing">2</property>
+                                    <child>
+                                      <object class="GtkImage" id="image11">
+                                        <property name="visible">True</property>
+                                        <property name="stock">gtk-ok</property>
+                                      </object>
+                                      <packing>
+                                        <property name="expand">False</property>
+                                        <property name="fill">False</property>
+                                      </packing>
+                                    </child>
+                                    <child>
+                                      <object class="GtkLabel" id="label85">
+                                        <property name="visible">True</property>
+                                        <property name="label" translatable="yes">Whois</property>
+                                        <property name="use_underline">True</property>
+                                      </object>
+                                      <packing>
+                                        <property name="expand">False</property>
+                                        <property name="fill">False</property>
+                                        <property name="position">1</property>
+                                      </packing>
+                                    </child>
+                                  </object>
+                                </child>
+                              </object>
+                            </child>
+                          </object>
+                        </child>
+                      </object>
+                      <packing>
+                        <property name="position">1</property>
+                      </packing>
+                    </child>
+                  </object>
+                  <packing>
+                    <property name="expand">False</property>
+                  </packing>
+                </child>
+                <child>
+                  <object class="GtkScrolledWindow" id="scrolledwindow7">
+                    <property name="visible">True</property>
+                    <property name="can_focus">True</property>
+                    <property name="border_width">6</property>
+                    <property name="hscrollbar_policy">GTK_POLICY_AUTOMATIC</property>
+                    <property name="vscrollbar_policy">GTK_POLICY_AUTOMATIC</property>
+                    <property name="shadow_type">GTK_SHADOW_IN</property>
+                    <child>
+                      <object class="GtkTextView" id="whois_output">
+                        <property name="visible">True</property>
+                        <property name="can_focus">True</property>
+                        <property name="tooltip-text" translatable="yes">Output for whois</property>
+                        <property name="editable">False</property>
+                        <accessibility>
+
+
+                        </accessibility>
+                        <child internal-child="accessible">
+                          <object class="AtkObject" id="a11y-whois_output1">
+                            <property name="AtkObject::accessible_description" translatable="yes">Whois output</property>
+                            <property name="AtkObject::accessible_name" translatable="yes">Whois output</property>
+                          </object>
+                        </child>
+                      </object>
+                    </child>
+                  </object>
+                  <packing>
+                    <property name="position">1</property>
+                  </packing>
+                </child>
+              </object>
+            </child>
+            <child type="tab">
+              <object class="GtkLabel" id="whois">
+                <property name="visible">True</property>
+                <property name="tooltip-text" translatable="yes">Output for whois</property>
+                <property name="label" translatable="yes">Whois</property>
+                <accessibility>
+
+                </accessibility>
+                <child internal-child="accessible">
+                  <object class="AtkObject" id="a11y-whois1">
+                    <property name="AtkObject::accessible_name" translatable="yes">Whois output</property>
+                  </object>
+                </child>
+              </object>
+              <packing>
+                <property name="position">7</property>
+                <property name="tab_fill">False</property>
+              </packing>
+            </child>
+          </object>
+          <packing>
+            <property name="position">1</property>
+          </packing>
+        </child>
+        <child>
+          <object class="GtkHBox" id="hbox42">
+            <property name="visible">True</property>
+            <child>
+              <object class="GtkProgressBar" id="progress_bar">
+                <property name="visible">True</property>
+                <property name="pulse_step">0.10000000149</property>
+              </object>
+              <packing>
+                <property name="expand">False</property>
+                <property name="fill">False</property>
+              </packing>
+            </child>
+            <child>
+              <object class="GtkStatusbar" id="statusbar">
+                <property name="visible">True</property>
+              </object>
+              <packing>
+                <property name="position">1</property>
+              </packing>
+            </child>
+          </object>
+          <packing>
+            <property name="expand">False</property>
+            <property name="fill">False</property>
+            <property name="position">2</property>
+          </packing>
+        </child>
+      </object>
+    </child>
+  </object>
+</interface>
diff -pruN 3.0.0-1/.pc/02_lpi.patch/src/main.c 3.0.0-0ubuntu1/.pc/02_lpi.patch/src/main.c
--- 3.0.0-1/.pc/02_lpi.patch/src/main.c	1970-01-01 01:00:00.000000000 +0100
+++ 3.0.0-0ubuntu1/.pc/02_lpi.patch/src/main.c	2011-01-11 10:32:42.000000000 +0000
@@ -0,0 +1,968 @@
+/* -*- mode:C; indent-tabs-mode:t; tab-width:8; c-basic-offset:8; -*- */
+
+/* gnome-netinfo - A GUI Interface for network utilities
+ * Copyright (C) 2002, 2003 by German Poo-Caaman~o
+ *
+ * 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., 675 Mass Ave, Cambridge, MA 02139, USA.
+ */
+
+#ifdef HAVE_CONFIG_H
+#  include <config.h>
+#endif
+
+#include <string.h>
+#include <glib/gi18n.h>
+
+#include <glibtop.h>
+
+#include "callbacks.h"
+#include "ping.h"
+#include "traceroute.h"
+#include "info.h"
+#include "netstat.h"
+#include "scan.h"
+#include "lookup.h"
+#include "finger.h"
+#include "whois.h"
+#include "utils.h"
+#include "gn-combo-history.h"
+
+Netinfo *load_ping_widgets_from_builder (GtkBuilder * builder);
+Netinfo *load_traceroute_widgets_from_builder (GtkBuilder * builder);
+Netinfo *load_netstat_widgets_from_builder (GtkBuilder * builder);
+Netinfo *load_scan_widgets_from_builder (GtkBuilder * builder);
+Netinfo *load_lookup_widgets_from_builder (GtkBuilder * builder);
+Netinfo *load_finger_widgets_from_builder (GtkBuilder * builder);
+Netinfo *load_whois_widgets_from_builder (GtkBuilder * builder);
+Netinfo *load_info_widgets_from_builder (GtkBuilder * builder);
+static gboolean start_initial_process_cb (gpointer data);
+
+int
+main (int argc, char *argv[])
+{
+	GtkWidget *window;
+	GtkAction *menu_beep;
+	GtkBuilder *builder;
+	GtkWidget *notebook;
+	GtkWidget *statusbar;
+	const gchar *dialog = UI_DIR "gnome-nettool.ui";
+	Netinfo *pinger;
+	Netinfo *tracer;
+	Netinfo *netstat;
+	Netinfo *info;
+	Netinfo *scan;
+	Netinfo *lookup;
+	Netinfo *finger;
+	Netinfo *whois;
+	gint current_page = 0;
+	static gchar *info_input = NULL;
+	static gchar *ping_input = NULL;
+	static gchar *netstat_input = NULL;
+	static gchar *scan_input = NULL;
+	static gchar *traceroute_input = NULL;
+	static gchar *lookup_input = NULL;
+	static gchar *finger_input = NULL;
+	static gchar *whois_input = NULL;
+	GError *error = NULL;
+
+	GOptionEntry options[] = {
+		{ "info", 'i', 0, G_OPTION_ARG_STRING, &info_input,
+ 		  N_("Load information for a network device"),
+ 		  N_("DEVICE") },
+
+		{ "ping", 'p', 0, G_OPTION_ARG_STRING, &ping_input,
+ 		  N_("Send a ping to a network address"),
+ 		  N_("HOST") },
+
+		{ "netstat", 'n', 0, G_OPTION_ARG_STRING, &netstat_input,
+ 		  N_("Get netstat information.  Valid options are: route, active, multicast."),
+ 		  N_("COMMAND") },
+
+		{ "traceroute", 't', 0, G_OPTION_ARG_STRING, &traceroute_input,
+ 		  N_("Trace a route to a network address"),
+ 		  N_("HOST") },
+
+		{ "port-scan", 's', 0, G_OPTION_ARG_STRING, &scan_input,
+ 		  N_("Port scan a network address"),
+ 		  N_("HOST") },
+
+		{ "lookup", 'l', 0, G_OPTION_ARG_STRING, &lookup_input,
+ 		  N_("Look up a network address"),
+ 		  N_("HOST") },
+
+		{ "finger", 'f', 0, G_OPTION_ARG_STRING, &finger_input,
+ 		  N_("Finger command to run"),
+ 		  N_("USER") },
+
+		{ "whois", 'w', 0, G_OPTION_ARG_STRING, &whois_input,
+ 		  N_("Perform a whois lookup for a network domain"),
+ 		  N_("DOMAIN") },
+
+		{ NULL, '\0', 0, 0, NULL, NULL, NULL }
+ 	};
+
+#ifdef ENABLE_NLS
+	bindtextdomain (GETTEXT_PACKAGE, GNOME_NETTOOL_LOCALEDIR);
+	bind_textdomain_codeset (GETTEXT_PACKAGE, "UTF-8");
+	textdomain (GETTEXT_PACKAGE);
+#endif
+
+	glibtop_init ();
+
+	if (!gtk_init_with_args (&argc, &argv, NULL, options, NULL, &error)) {
+		g_print ("%s\n\n", error->message);
+		return -1;
+	}
+
+	if (!g_file_test (dialog, G_FILE_TEST_EXISTS)) {
+		g_critical (_("The file %s doesn't exist, "
+			      "please check if gnome-nettool is correctly installed"),
+			    dialog);
+		return -1;
+	}
+
+	gtk_window_set_default_icon_name ("gnome-nettool");
+
+	builder = gtk_builder_new ();
+        gtk_builder_add_from_file (builder, dialog, NULL);
+	window = GTK_WIDGET (gtk_builder_get_object (builder, "main_window"));
+	statusbar = GTK_WIDGET (gtk_builder_get_object (builder, "statusbar"));
+	gtk_statusbar_push (GTK_STATUSBAR (statusbar), 0, _("Idle"));
+
+	g_signal_connect (G_OBJECT (window), "delete-event",
+			  G_CALLBACK (gn_quit_app), NULL);
+	
+	pinger = load_ping_widgets_from_builder (builder);
+	tracer = load_traceroute_widgets_from_builder (builder);
+	netstat = load_netstat_widgets_from_builder (builder);
+	info = load_info_widgets_from_builder (builder);
+	scan = load_scan_widgets_from_builder (builder);
+	lookup = load_lookup_widgets_from_builder (builder);
+	finger = load_finger_widgets_from_builder (builder);
+	whois = load_whois_widgets_from_builder (builder);
+
+	if (info_input) {
+		current_page = INFO;
+		info_set_nic (info, info_input);
+	}
+	if (ping_input) {
+		current_page = PING;
+		netinfo_set_host (pinger, ping_input);
+		g_idle_add (start_initial_process_cb, pinger);
+	}
+	if (netstat_input) {
+		current_page = NETSTAT;
+		if (! strcmp (netstat_input, "route"))
+			gtk_toggle_button_set_active
+				(GTK_TOGGLE_BUTTON (netstat->routing), TRUE);
+		else if (! strcmp (netstat_input, "active"))
+			gtk_toggle_button_set_active
+				(GTK_TOGGLE_BUTTON (netstat->protocol), TRUE);
+		else if (! strcmp (netstat_input, "multicast"))
+			gtk_toggle_button_set_active
+				(GTK_TOGGLE_BUTTON (netstat->multicast), TRUE);
+		g_idle_add (start_initial_process_cb, netstat);
+	}
+	if (traceroute_input) {
+		current_page = TRACEROUTE;
+		netinfo_set_host (tracer, traceroute_input);
+		g_idle_add (start_initial_process_cb, tracer);
+	}
+	if (scan_input) {
+		current_page = PORTSCAN;
+		netinfo_set_host (scan, scan_input);
+		g_idle_add (start_initial_process_cb, scan);
+	}
+	if (lookup_input) {
+		current_page = LOOKUP;
+		netinfo_set_host (lookup, lookup_input);
+		g_idle_add (start_initial_process_cb, lookup);
+	}
+	if (finger_input) {
+		gchar **split_input = NULL;
+		current_page = FINGER;
+		split_input = g_strsplit (finger_input, "@", 2);
+		if (split_input[0])
+			netinfo_set_user (finger, split_input[0]);
+		if (split_input[1])
+			netinfo_set_host (finger, split_input[1]);
+		g_strfreev (split_input);
+		g_idle_add (start_initial_process_cb, finger);
+	}
+	if (whois_input) {
+		current_page = WHOIS;
+		netinfo_set_host (whois, whois_input);
+		g_idle_add (start_initial_process_cb, whois);
+	}
+
+	notebook = GTK_WIDGET (gtk_builder_get_object (builder, "notebook"));
+	g_object_set_data (G_OBJECT (notebook), "pinger", pinger);
+	g_object_set_data (G_OBJECT (notebook), "tracer", tracer);
+	g_object_set_data (G_OBJECT (notebook), "netstat", netstat);
+	g_object_set_data (G_OBJECT (notebook), "info", info);
+	g_object_set_data (G_OBJECT (notebook), "scan", scan);
+	g_object_set_data (G_OBJECT (notebook), "lookup", lookup);
+	g_object_set_data (G_OBJECT (notebook), "finger", finger);
+	g_object_set_data (G_OBJECT (notebook), "whois", whois);
+	
+	menu_beep = GTK_ACTION (gtk_builder_get_object (builder, "m_beep"));
+
+	g_signal_connect (G_OBJECT (menu_beep), "activate",
+			  G_CALLBACK (on_beep_activate),
+			  (gpointer) pinger); 
+	
+	gtk_builder_connect_signals (builder, NULL);
+	g_object_unref (G_OBJECT (builder));
+
+	gtk_notebook_set_current_page (GTK_NOTEBOOK (notebook), current_page);
+
+	gtk_widget_show (window);
+
+	gtk_main ();
+
+	glibtop_close ();
+
+	g_free (pinger);
+	g_free (tracer);
+	g_free (netstat);
+	g_free (info);
+	g_free (scan);
+	g_free (lookup);
+	g_free (finger);
+	g_free (whois);
+
+	return 0;
+}
+
+static gboolean
+start_initial_process_cb (gpointer data)
+{
+	Netinfo *ni = data;
+	NetinfoActivateFn fn_cb;
+
+	g_return_val_if_fail (data != NULL, FALSE);
+
+	fn_cb = (NetinfoActivateFn) ni->button_callback;
+	if (fn_cb)
+		(*fn_cb) (ni->button, data);
+	return FALSE;
+}
+
+/* The value returned must be released from memory */
+Netinfo *
+load_ping_widgets_from_builder (GtkBuilder * builder)
+{
+	Netinfo *pinger;
+	GtkWidget *vbox_ping;
+	GtkWidget *label;
+	GtkEntry  *entry_host;
+	GtkTreeModel *model;
+	GtkEntryCompletion *completion;
+
+	g_return_val_if_fail (builder != NULL, NULL);
+
+	pinger = g_new0 (Netinfo, 1);
+
+	pinger->main_window = GTK_WIDGET (gtk_builder_get_object (builder, "main_window"));
+	pinger->progress_bar = GTK_WIDGET (gtk_builder_get_object (builder, "progress_bar"));
+	pinger->page_label = GTK_WIDGET (gtk_builder_get_object (builder, "ping"));
+	pinger->running = FALSE;
+	pinger->child_pid = 0;
+	pinger->host = GTK_WIDGET (gtk_builder_get_object (builder, "ping_host"));
+	pinger->count = GTK_WIDGET (gtk_builder_get_object (builder, "ping_count"));
+	pinger->output = GTK_WIDGET (gtk_builder_get_object (builder, "ping_output"));
+	pinger->limited = GTK_WIDGET (gtk_builder_get_object (builder, "ping_limited"));
+	pinger->button = GTK_WIDGET (gtk_builder_get_object (builder, "ping_button"));
+	pinger->graph = GTK_WIDGET (gtk_builder_get_object (builder, "ping_graph"));
+	pinger->sensitive = pinger->host;
+	pinger->label_run = _("Ping");
+	pinger->label_stop = NULL;
+	pinger->routing = NULL;
+	pinger->protocol = NULL;
+	pinger->multicast = NULL;
+	pinger->min = GTK_WIDGET (gtk_builder_get_object (builder, "ping_minimum"));
+	pinger->avg = GTK_WIDGET (gtk_builder_get_object (builder, "ping_average"));
+	pinger->max = GTK_WIDGET (gtk_builder_get_object (builder, "ping_maximum"));
+	pinger->packets_transmitted = GTK_WIDGET (gtk_builder_get_object (builder, "ping_packets_transmitted"));
+	pinger->packets_received = GTK_WIDGET (gtk_builder_get_object (builder, "ping_packets_received"));
+	pinger->packets_success = GTK_WIDGET (gtk_builder_get_object (builder, "ping_packets_success"));
+
+	pinger->status_bar = GTK_WIDGET (gtk_builder_get_object (builder, "statusbar"));
+	pinger->stbar_text = NULL;
+
+	vbox_ping = GTK_WIDGET (gtk_builder_get_object (builder, "vbox_ping"));
+
+	label = GTK_WIDGET (gtk_builder_get_object (builder, "ping_host_label"));
+	gtk_label_set_mnemonic_widget (GTK_LABEL (label), pinger->host);
+	
+	pinger->button_callback = G_CALLBACK (on_ping_activate);
+	pinger->process_line = NETINFO_FOREACH_FUNC (ping_foreach_with_tree);
+	pinger->copy_output = NETINFO_COPY_FUNC (ping_copy_to_clipboard);
+
+	model = GTK_TREE_MODEL (gtk_list_store_new (1, G_TYPE_STRING));
+	gtk_combo_box_set_model (GTK_COMBO_BOX (pinger->host), model);
+	g_object_unref (model);
+
+	gtk_combo_box_set_entry_text_column (GTK_COMBO_BOX (pinger->host), 0);
+
+	entry_host = GTK_ENTRY (gtk_bin_get_child (GTK_BIN (pinger->host)));
+	
+	completion = gtk_entry_completion_new ();
+	gtk_entry_set_completion (entry_host, completion);
+	g_object_unref (completion);
+	gtk_entry_completion_set_model (completion, model);
+	gtk_entry_completion_set_text_column (completion, 0);
+	g_object_unref (model);
+
+	pinger->history = gn_combo_history_new ();
+	gn_combo_history_set_id (pinger->history, "hostnames");
+	gn_combo_history_set_combo (pinger->history, GTK_COMBO_BOX (pinger->host));
+
+	g_signal_connect (G_OBJECT (entry_host), "activate",
+			  G_CALLBACK (on_ping_activate),
+			  pinger);
+	g_signal_connect (G_OBJECT (pinger->limited), "toggled",
+			  G_CALLBACK (on_ping_toggled),
+			  pinger);
+	g_signal_connect (G_OBJECT (pinger->button), "clicked",
+			  pinger->button_callback,
+			  pinger);
+	g_signal_connect (G_OBJECT (pinger->graph), "draw",
+			  G_CALLBACK (on_ping_graph_draw),
+			  pinger);
+
+	return pinger;
+}
+
+/* The value returned must be released from memory */
+Netinfo *
+load_traceroute_widgets_from_builder (GtkBuilder * builder)
+{
+	Netinfo *tracer;
+	GtkWidget *vbox_traceroute;
+	GtkWidget *label;
+	GtkEntry  *entry_host;
+	GtkTreeModel *model;
+	GtkEntryCompletion *completion;
+
+	g_return_val_if_fail (builder != NULL, NULL);
+
+	tracer = g_new0 (Netinfo, 1);
+
+	tracer->main_window = GTK_WIDGET (gtk_builder_get_object (builder, "main_window"));
+	tracer->progress_bar = GTK_WIDGET (gtk_builder_get_object (builder, "progress_bar"));
+	tracer->page_label = GTK_WIDGET (gtk_builder_get_object (builder, "traceroute"));
+	tracer->running = FALSE;
+	tracer->child_pid = 0;
+	tracer->host = GTK_WIDGET (gtk_builder_get_object (builder, "traceroute_host"));
+	tracer->output = GTK_WIDGET (gtk_builder_get_object (builder, "traceroute_output"));
+	tracer->button = GTK_WIDGET (gtk_builder_get_object (builder, "traceroute_button"));
+	tracer->count = NULL;
+	tracer->limited = NULL;
+	tracer->sensitive = tracer->host;
+	tracer->label_run = _("Trace");
+	tracer->label_stop = NULL;
+	tracer->routing = NULL;
+	tracer->protocol = NULL;
+	tracer->multicast = NULL;
+
+	tracer->status_bar = GTK_WIDGET (gtk_builder_get_object (builder, "statusbar"));
+	tracer->stbar_text = NULL;
+	
+	vbox_traceroute = GTK_WIDGET (gtk_builder_get_object (builder, "vbox_traceroute"));
+
+	label = GTK_WIDGET (gtk_builder_get_object (builder, "traceroute_host_label"));
+	gtk_label_set_mnemonic_widget (GTK_LABEL (label), tracer->host);
+
+	tracer->button_callback = G_CALLBACK (on_traceroute_activate);
+	tracer->process_line = NETINFO_FOREACH_FUNC (traceroute_foreach_with_tree);
+	tracer->copy_output = NETINFO_COPY_FUNC (traceroute_copy_to_clipboard);
+
+	model = GTK_TREE_MODEL (gtk_list_store_new (1, G_TYPE_STRING));
+	gtk_combo_box_set_model (GTK_COMBO_BOX (tracer->host), model);
+	g_object_unref (model);
+
+	gtk_combo_box_set_entry_text_column (GTK_COMBO_BOX (tracer->host), 0);
+
+	entry_host = GTK_ENTRY (gtk_bin_get_child (GTK_BIN (tracer->host)));
+
+	completion = gtk_entry_completion_new ();
+	gtk_entry_set_completion (entry_host, completion);
+	g_object_unref (completion);
+	gtk_entry_completion_set_model (completion, model);
+	gtk_entry_completion_set_text_column (completion, 0);
+	g_object_unref (model);
+
+	tracer->history = gn_combo_history_new ();
+	gn_combo_history_set_id (tracer->history, "hostnames");
+	gn_combo_history_set_combo (tracer->history, GTK_COMBO_BOX (tracer->host));
+
+	g_signal_connect (G_OBJECT (entry_host), "activate",
+			  G_CALLBACK (on_traceroute_activate),
+			  tracer);
+	g_signal_connect (G_OBJECT (tracer->button), "clicked",
+			  tracer->button_callback,
+			  tracer);
+
+	return tracer;
+}
+
+Netinfo *
+load_netstat_widgets_from_builder (GtkBuilder * builder)
+{
+	Netinfo *netstat;
+	GtkWidget *vbox_netstat;
+
+	g_return_val_if_fail (builder != NULL, NULL);
+
+	netstat = g_new0 (Netinfo, 1);
+
+	netstat->main_window = GTK_WIDGET (gtk_builder_get_object (builder, "main_window"));
+	netstat->progress_bar = GTK_WIDGET (gtk_builder_get_object (builder, "progress_bar"));
+	netstat->page_label = GTK_WIDGET (gtk_builder_get_object (builder, "netstat"));
+	netstat->running = FALSE;
+	netstat->child_pid = 0;
+	netstat->host = NULL;
+	netstat->count = NULL;
+	netstat->output = GTK_WIDGET (gtk_builder_get_object (builder, "netstat_output"));
+	netstat->limited = NULL;
+	netstat->button = GTK_WIDGET (gtk_builder_get_object (builder, "netstat_button"));
+	netstat->routing = GTK_WIDGET (gtk_builder_get_object (builder, "netstat_routing"));
+	netstat->protocol = GTK_WIDGET (gtk_builder_get_object (builder, "netstat_protocol"));
+	netstat->multicast = GTK_WIDGET (gtk_builder_get_object (builder, "netstat_multicast"));
+	netstat->sensitive = NULL;
+	netstat->label_run = _("Netstat");
+	netstat->label_stop = NULL;
+
+	netstat->status_bar = GTK_WIDGET (gtk_builder_get_object (builder, "statusbar"));
+	netstat->stbar_text = NULL;
+	
+	vbox_netstat = GTK_WIDGET (gtk_builder_get_object (builder, "vbox_netstat"));
+	
+	netstat->button_callback = G_CALLBACK (on_netstat_activate);
+	netstat->process_line = NETINFO_FOREACH_FUNC (netstat_foreach_with_tree);
+	netstat->copy_output = NETINFO_COPY_FUNC (netstat_copy_to_clipboard);	
+	
+	g_signal_connect (G_OBJECT (netstat->button), "clicked",
+				  netstat->button_callback,
+				  netstat);
+/*
+	g_signal_connect (G_OBJECT (netstat->protocol), "toggled",
+				  G_CALLBACK (on_protocol_button_toggled),
+				  netstat);
+	g_signal_connect (G_OBJECT (netstat->routing), "toggled",
+				  G_CALLBACK (on_protocol_button_toggled),
+				  netstat);
+	g_signal_connect (G_OBJECT (netstat->multicast), "toggled",
+				  G_CALLBACK (on_protocol_button_toggled),
+				  netstat);
+*/
+	return netstat;
+}
+
+static void
+info_list_ip_addr_add_columns (GtkWidget *list_ip_addr)
+{
+	GtkTreeViewColumn *column;
+	GtkCellRenderer   *renderer;
+
+	renderer = gtk_cell_renderer_text_new ();
+	column = gtk_tree_view_column_new_with_attributes (_("Protocol"),
+							   renderer,
+							   "text", 0,
+							   NULL);
+	gtk_tree_view_insert_column (GTK_TREE_VIEW (list_ip_addr), column, 0);
+
+	renderer = gtk_cell_renderer_text_new ();
+	column = gtk_tree_view_column_new_with_attributes (_("IP Address"),
+							   renderer,
+							   "text", 1,
+							   NULL);
+	gtk_tree_view_insert_column (GTK_TREE_VIEW (list_ip_addr), column, 1);
+
+	renderer = gtk_cell_renderer_text_new ();
+	column = gtk_tree_view_column_new_with_attributes (_("Netmask / Prefix"),
+							   renderer,
+							   "text", 2,
+							   NULL);
+	gtk_tree_view_insert_column (GTK_TREE_VIEW (list_ip_addr), column, 2);
+	
+	renderer = gtk_cell_renderer_text_new ();
+	column = gtk_tree_view_column_new_with_attributes (_("Broadcast"),
+							   renderer,
+							   "text", 3,
+							   NULL);
+	gtk_tree_view_insert_column (GTK_TREE_VIEW (list_ip_addr), column, 3);
+	
+	renderer = gtk_cell_renderer_text_new ();
+	column = gtk_tree_view_column_new_with_attributes (_("Scope"),
+							   renderer,
+							   "text", 4,
+							   NULL);
+	gtk_tree_view_insert_column (GTK_TREE_VIEW (list_ip_addr), column, 4);
+
+	
+}
+
+/* The value returned must be released from memory */
+Netinfo *
+load_info_widgets_from_builder (GtkBuilder * builder)
+{
+	Netinfo      *info;
+	GtkTreeModel *model;
+	GtkWidget    *label1;
+
+	g_return_val_if_fail (builder != NULL, NULL);
+
+	info = g_malloc (sizeof (Netinfo));
+
+	info->main_window = GTK_WIDGET (gtk_builder_get_object (builder, "main_window"));
+	info->running = FALSE;
+	info->combo = GTK_WIDGET (gtk_builder_get_object (builder, "info_combo"));
+	info->ipv6_frame = GTK_WIDGET (gtk_builder_get_object (builder, "info_ipv6_frame"));
+	info->progress_bar = GTK_WIDGET (gtk_builder_get_object (builder, "progress_bar"));
+	info->page_label = GTK_WIDGET (gtk_builder_get_object (builder, "device"));
+	info->hw_address = GTK_WIDGET (gtk_builder_get_object (builder, "info_hw_address"));
+	info->ip_address = GTK_WIDGET (gtk_builder_get_object (builder, "info_ip_address"));
+	info->netmask = GTK_WIDGET (gtk_builder_get_object (builder, "info_netmask"));
+	info->broadcast = GTK_WIDGET (gtk_builder_get_object (builder, "info_broadcast"));
+	info->multicast = GTK_WIDGET (gtk_builder_get_object (builder, "info_multicast"));
+	info->link_speed = GTK_WIDGET (gtk_builder_get_object (builder, "info_link_speed"));
+	info->state = GTK_WIDGET (gtk_builder_get_object (builder, "info_state"));
+	info->mtu = GTK_WIDGET (gtk_builder_get_object (builder, "info_mtu"));
+	info->tx_bytes = GTK_WIDGET (gtk_builder_get_object (builder, "info_tx_bytes"));
+	info->tx = GTK_WIDGET (gtk_builder_get_object (builder, "info_tx"));
+	info->tx_errors = GTK_WIDGET (gtk_builder_get_object (builder, "info_tx_errors"));
+	info->rx_bytes = GTK_WIDGET (gtk_builder_get_object (builder, "info_rx_bytes"));
+	info->rx = GTK_WIDGET (gtk_builder_get_object (builder, "info_rx"));
+	info->rx_errors = GTK_WIDGET (gtk_builder_get_object (builder, "info_rx_errors"));
+	info->collisions = GTK_WIDGET (gtk_builder_get_object (builder, "info_collisions"));
+	info->list_ip_addr = GTK_WIDGET (gtk_builder_get_object (builder, "info_list_ip_addr"));
+	info->configure_button = GTK_WIDGET (gtk_builder_get_object (builder, "info_configure_button"));
+
+	info->status_bar = GTK_WIDGET (gtk_builder_get_object (builder, "statusbar"));
+	info->stbar_text = NULL;
+
+	model = GTK_TREE_MODEL (gtk_list_store_new (5, G_TYPE_STRING, G_TYPE_STRING,
+						    G_TYPE_STRING, G_TYPE_STRING,
+						    G_TYPE_STRING));
+	gtk_tree_view_set_model (GTK_TREE_VIEW (info->list_ip_addr), model);
+	g_object_unref (model);
+	
+	info_list_ip_addr_add_columns (info->list_ip_addr);
+
+	label1 = GTK_WIDGET (gtk_builder_get_object (builder, "info_combo_label"));
+	gtk_label_set_mnemonic_widget (GTK_LABEL (label1), info->combo);
+
+	model = GTK_TREE_MODEL (gtk_list_store_new (3, GDK_TYPE_PIXBUF,
+						    G_TYPE_STRING,
+						    G_TYPE_POINTER));
+	gtk_combo_box_set_model (GTK_COMBO_BOX (info->combo), model);
+
+	g_object_unref (model);
+
+	g_signal_connect (G_OBJECT (info->configure_button), "clicked",
+			  G_CALLBACK (on_configure_button_clicked),
+			  info);
+
+	g_signal_connect (G_OBJECT (info->combo), "changed",
+			  G_CALLBACK (info_nic_changed),
+			  info);
+	
+	info_load_iface (info);
+	info->copy_output = NETINFO_COPY_FUNC (info_copy_to_clipboard);
+
+	return info;
+}
+
+Netinfo *
+load_scan_widgets_from_builder (GtkBuilder * builder)
+{
+	Netinfo *scan;
+	GtkEntry  *entry_host;
+	GtkWidget *label;
+	GtkTreeModel *model;
+	GtkEntryCompletion *completion;
+
+	g_return_val_if_fail (builder != NULL, NULL);
+
+	scan = g_new0 (Netinfo, 1);
+
+	scan->main_window = GTK_WIDGET (gtk_builder_get_object (builder, "main_window"));
+	scan->progress_bar = GTK_WIDGET (gtk_builder_get_object (builder, "progress_bar"));
+	scan->page_label = GTK_WIDGET (gtk_builder_get_object (builder, "scan"));
+	scan->running = FALSE;
+	scan->child_pid = 0;
+	scan->host = GTK_WIDGET (gtk_builder_get_object (builder, "scan_host"));
+	scan->count = NULL;
+	scan->output = GTK_WIDGET (gtk_builder_get_object (builder, "scan_output"));
+	scan->limited = NULL;
+	scan->button = GTK_WIDGET (gtk_builder_get_object (builder, "scan_button"));
+	scan->routing = NULL;
+	scan->protocol = NULL;
+	scan->multicast = NULL;
+	scan->sensitive = NULL;
+	scan->label_run = _("Scan");
+	scan->label_stop = NULL;
+
+	scan->status_bar = GTK_WIDGET (gtk_builder_get_object (builder, "statusbar"));
+	scan->stbar_text = NULL;
+	
+	label = GTK_WIDGET (gtk_builder_get_object (builder, "scan_host_label"));
+	gtk_label_set_mnemonic_widget (GTK_LABEL (label), scan->host);
+
+	scan->button_callback = G_CALLBACK (on_scan_activate);
+	scan->copy_output = NETINFO_COPY_FUNC (scan_copy_to_clipboard);
+	scan->process_line = NETINFO_FOREACH_FUNC (scan_foreach);
+
+	model = GTK_TREE_MODEL (gtk_list_store_new (1, G_TYPE_STRING));
+	gtk_combo_box_set_model (GTK_COMBO_BOX (scan->host), model);
+	g_object_unref (model);
+
+	gtk_combo_box_set_entry_text_column (GTK_COMBO_BOX (scan->host), 0);
+
+	entry_host = GTK_ENTRY (gtk_bin_get_child (GTK_BIN (scan->host)));
+
+	completion = gtk_entry_completion_new ();
+	gtk_entry_set_completion (entry_host, completion);
+	g_object_unref (completion);
+	gtk_entry_completion_set_model (completion, model);
+	gtk_entry_completion_set_text_column (completion, 0);
+	g_object_unref (model);
+
+	scan->history = gn_combo_history_new ();
+	gn_combo_history_set_id (scan->history, "hostnames");
+	gn_combo_history_set_combo (scan->history, GTK_COMBO_BOX (scan->host));
+
+	g_signal_connect (G_OBJECT (entry_host), "activate",
+			  scan->button_callback,
+			  scan);
+	g_signal_connect (G_OBJECT (scan->button), "clicked",
+                          scan->button_callback,
+                          scan);
+
+	return scan;
+}
+
+static void
+nettool_lookup_setup_combo_type (Netinfo *lookup)
+{
+	gint i;
+	GtkTreeModel *model;
+	GtkTreeIter   iter;
+	GtkCellRenderer *renderer;
+	gchar *types[] = {
+		N_("Default Information"),
+		N_("Internet Address"),
+		N_("Canonical Name"),
+		N_("CPU / OS Type"),
+		/* When asking for MX record in DNS context */
+		N_("Mailbox Exchange"),
+		N_("Mailbox Information"),
+		/* When asking for NS record in DNS context */
+		N_("Name Server"),
+		N_("Host name for Address"),
+		N_("Start-of-authority"),
+		N_("Text Information"),
+		N_("Well Known Services"),
+		N_("Any / All Information"),
+		NULL
+	};
+
+	model = GTK_TREE_MODEL (gtk_list_store_new (1, G_TYPE_STRING));
+	
+	for (i=0; types[i]; i++) {
+		gtk_list_store_append (GTK_LIST_STORE (model), &iter);
+		gtk_list_store_set (GTK_LIST_STORE (model), &iter,
+				    0, _(types[i]), -1);
+	}
+	
+	gtk_combo_box_set_model (GTK_COMBO_BOX (lookup->type), model);
+
+	g_object_unref (model);
+
+	gtk_cell_layout_clear (GTK_CELL_LAYOUT (lookup->type));
+	renderer = gtk_cell_renderer_text_new ();
+	gtk_cell_layout_pack_start (GTK_CELL_LAYOUT (lookup->type), renderer, TRUE);
+	gtk_cell_layout_set_attributes (GTK_CELL_LAYOUT (lookup->type), renderer,
+					"text", 0, NULL);
+
+	gtk_combo_box_set_active (GTK_COMBO_BOX (lookup->type), 0);
+}
+
+/* The value returned must be released from memory */
+Netinfo *
+load_lookup_widgets_from_builder (GtkBuilder * builder)
+{
+	Netinfo *lookup;
+	GtkWidget *vbox_lookup;
+	GtkWidget *label;
+	GtkEntry  *entry_host;
+	GtkTreeModel *model;
+	GtkEntryCompletion *completion;
+
+	g_return_val_if_fail (builder != NULL, NULL);
+
+	lookup = g_new0 (Netinfo, 1);
+
+	lookup->main_window = GTK_WIDGET (gtk_builder_get_object (builder, "main_window"));
+	lookup->progress_bar = GTK_WIDGET (gtk_builder_get_object (builder, "progress_bar"));
+	lookup->page_label = GTK_WIDGET (gtk_builder_get_object (builder, "lookup"));
+	lookup->running = FALSE;
+	lookup->child_pid = 0;
+	lookup->host = GTK_WIDGET (gtk_builder_get_object (builder, "lookup_host"));
+	lookup->output = GTK_WIDGET (gtk_builder_get_object (builder, "lookup_output"));
+	lookup->button = GTK_WIDGET (gtk_builder_get_object (builder, "lookup_button"));
+	lookup->type = GTK_WIDGET (gtk_builder_get_object (builder, "lookup_type"));
+	lookup->count = NULL;
+	lookup->limited = NULL;
+	lookup->sensitive = lookup->host;
+	lookup->label_run = _("Lookup");
+	lookup->label_stop = NULL;
+	lookup->routing = NULL;
+	lookup->protocol = NULL;
+	lookup->multicast = NULL;
+
+	lookup->status_bar = GTK_WIDGET (gtk_builder_get_object (builder, "statusbar"));
+	lookup->stbar_text = NULL;
+	
+	vbox_lookup = GTK_WIDGET (gtk_builder_get_object (builder, "vbox_lookup"));
+
+	label = GTK_WIDGET (gtk_builder_get_object (builder, "lookup_host_label"));
+	gtk_label_set_mnemonic_widget (GTK_LABEL (label), lookup->host);
+	label = GTK_WIDGET (gtk_builder_get_object (builder, "lookup_type_label"));
+	gtk_label_set_mnemonic_widget (GTK_LABEL (label), lookup->type);
+
+	lookup->button_callback = G_CALLBACK (on_lookup_activate);
+	lookup->process_line = NETINFO_FOREACH_FUNC (lookup_foreach_with_tree);
+	lookup->copy_output = NETINFO_COPY_FUNC (lookup_copy_to_clipboard);
+
+	nettool_lookup_setup_combo_type (lookup);
+
+	model = GTK_TREE_MODEL (gtk_list_store_new (1, G_TYPE_STRING));
+	gtk_combo_box_set_model (GTK_COMBO_BOX (lookup->host), model);
+	g_object_unref (model);
+
+	gtk_combo_box_set_entry_text_column (GTK_COMBO_BOX (lookup->host), 0);
+
+	entry_host = GTK_ENTRY (gtk_bin_get_child (GTK_BIN (lookup->host)));
+
+	completion = gtk_entry_completion_new ();
+	gtk_entry_set_completion (entry_host, completion);
+	g_object_unref (completion);
+	gtk_entry_completion_set_model (completion, model);
+	gtk_entry_completion_set_text_column (completion, 0);
+	g_object_unref (model);
+
+	lookup->history = gn_combo_history_new ();
+	gn_combo_history_set_id (lookup->history, "hostnames");
+	gn_combo_history_set_combo (lookup->history, GTK_COMBO_BOX (lookup->host));
+
+	g_signal_connect (G_OBJECT (entry_host), "activate",
+			  G_CALLBACK (on_lookup_activate),
+			  lookup);
+	g_signal_connect (G_OBJECT (lookup->button), "clicked",
+			  lookup->button_callback,
+			  lookup);
+
+	return lookup;
+}
+
+/* The value returned must be released from memory */
+Netinfo *
+load_finger_widgets_from_builder (GtkBuilder * builder)
+{
+	Netinfo *finger;
+	GtkWidget *vbox_finger;
+	GtkWidget *label;
+	PangoFontDescription *font_desc;
+	GtkEntry  *entry_host;
+	GtkTreeModel *model;
+	GtkEntryCompletion *completion;
+
+	g_return_val_if_fail (builder != NULL, NULL);
+
+	finger = g_new0 (Netinfo, 1);
+
+	finger->main_window = GTK_WIDGET (gtk_builder_get_object (builder, "main_window"));
+	finger->progress_bar = GTK_WIDGET (gtk_builder_get_object (builder, "progress_bar"));
+	finger->page_label = GTK_WIDGET (gtk_builder_get_object (builder, "finger"));
+	finger->running = FALSE;
+	finger->child_pid = 0;
+	finger->user = GTK_WIDGET (gtk_builder_get_object (builder, "finger_user"));
+	finger->host = GTK_WIDGET (gtk_builder_get_object (builder, "finger_host"));
+	finger->output = GTK_WIDGET (gtk_builder_get_object (builder, "finger_output"));
+	finger->button = GTK_WIDGET (gtk_builder_get_object (builder, "finger_button"));
+	finger->type = GTK_WIDGET (gtk_builder_get_object (builder, "finger_type"));
+	finger->count = NULL;
+	finger->limited = NULL;
+	finger->sensitive = GTK_WIDGET (gtk_builder_get_object (builder, "finger_input_box"));
+	finger->label_run = _("Finger");
+	finger->label_stop = NULL;
+	finger->routing = NULL;
+	finger->protocol = NULL;
+	finger->multicast = NULL;
+
+	finger->status_bar = GTK_WIDGET (gtk_builder_get_object (builder, "statusbar"));
+	finger->stbar_text = NULL;
+	
+	vbox_finger = GTK_WIDGET (gtk_builder_get_object (builder, "vbox_finger"));
+
+	label = GTK_WIDGET (gtk_builder_get_object (builder, "finger_user_label"));
+	gtk_label_set_mnemonic_widget (GTK_LABEL (label), finger->user);
+	label = GTK_WIDGET (gtk_builder_get_object (builder, "finger_host_label"));
+	gtk_label_set_mnemonic_widget (GTK_LABEL (label), finger->host);
+
+	font_desc = pango_font_description_new ();
+	pango_font_description_set_family (font_desc, "monospace");
+	gtk_widget_modify_font (finger->output, font_desc);
+	pango_font_description_free (font_desc);
+
+	finger->button_callback = G_CALLBACK (on_finger_activate);
+	finger->process_line = NETINFO_FOREACH_FUNC (finger_foreach);
+	finger->copy_output = NETINFO_COPY_FUNC (finger_copy_to_clipboard);
+
+	model = GTK_TREE_MODEL (gtk_list_store_new (1, G_TYPE_STRING));
+	gtk_combo_box_set_model (GTK_COMBO_BOX (finger->user), model);
+	g_object_unref (model);
+
+	gtk_combo_box_set_entry_text_column (GTK_COMBO_BOX (finger->user), 0);
+
+	entry_host = GTK_ENTRY (gtk_bin_get_child (GTK_BIN (finger->user)));
+
+	completion = gtk_entry_completion_new ();
+	gtk_entry_set_completion (entry_host, completion);
+	g_object_unref (completion);
+	gtk_entry_completion_set_model (completion, model);
+	gtk_entry_completion_set_text_column (completion, 0);
+	g_object_unref (model);
+
+	finger->history_user = gn_combo_history_new ();
+	gn_combo_history_set_id (finger->history_user, "usernames");
+	gn_combo_history_set_combo (finger->history_user, GTK_COMBO_BOX (finger->user));
+
+	g_signal_connect (G_OBJECT (entry_host), "activate",
+			  G_CALLBACK (on_finger_activate),
+			  finger);
+
+	model = GTK_TREE_MODEL (gtk_list_store_new (1, G_TYPE_STRING));
+	gtk_combo_box_set_model (GTK_COMBO_BOX (finger->host), model);
+	g_object_unref (model);
+
+	gtk_combo_box_set_entry_text_column (GTK_COMBO_BOX (finger->host), 0);
+
+	entry_host = GTK_ENTRY (gtk_bin_get_child (GTK_BIN (finger->host)));
+
+	completion = gtk_entry_completion_new ();
+	gtk_entry_set_completion (entry_host, completion);
+	g_object_unref (completion);
+	gtk_entry_completion_set_model (completion, model);
+	gtk_entry_completion_set_text_column (completion, 0);
+	g_object_unref (model);
+
+	finger->history = gn_combo_history_new ();
+	gn_combo_history_set_id (finger->history, "hostnames");
+	gn_combo_history_set_combo (finger->history, GTK_COMBO_BOX (finger->host));
+
+	g_signal_connect (G_OBJECT (entry_host), "activate",
+			  G_CALLBACK (on_finger_activate),
+			  finger);
+
+	g_signal_connect (G_OBJECT (finger->button), "clicked",
+			  finger->button_callback,
+			  finger);
+
+	return finger;
+}
+
+/* The value returned must be released from memory */
+Netinfo *
+load_whois_widgets_from_builder (GtkBuilder * builder)
+{
+	Netinfo *whois;
+	GtkWidget *vbox_whois;
+	GtkWidget *label;
+	GtkEntry  *entry_host;
+	GtkTreeModel *model;
+	GtkEntryCompletion *completion;
+	PangoFontDescription *font_desc;
+	
+
+	g_return_val_if_fail (builder != NULL, NULL);
+
+	whois = g_new0 (Netinfo, 1);
+
+	whois->main_window = GTK_WIDGET (gtk_builder_get_object (builder, "main_window"));
+	whois->progress_bar = GTK_WIDGET (gtk_builder_get_object (builder, "progress_bar"));
+	whois->page_label = GTK_WIDGET (gtk_builder_get_object (builder, "whois"));
+	whois->running = FALSE;
+	whois->child_pid = 0;
+	whois->host = GTK_WIDGET (gtk_builder_get_object (builder, "whois_host"));
+	whois->output = GTK_WIDGET (gtk_builder_get_object (builder, "whois_output"));
+	whois->button = GTK_WIDGET (gtk_builder_get_object (builder, "whois_button"));
+	whois->count = NULL;
+	whois->limited = NULL;
+	whois->sensitive = GTK_WIDGET (gtk_builder_get_object (builder, "whois_input_box"));
+	whois->label_run = _("Whois");
+	whois->label_stop = NULL;
+	whois->routing = NULL;
+	whois->protocol = NULL;
+	whois->multicast = NULL;
+
+	whois->status_bar = GTK_WIDGET (gtk_builder_get_object (builder, "statusbar"));
+	whois->stbar_text = NULL;
+
+	vbox_whois = GTK_WIDGET (gtk_builder_get_object (builder, "vbox_whois"));
+
+	label = GTK_WIDGET (gtk_builder_get_object (builder, "whois_host_label"));
+	gtk_label_set_mnemonic_widget (GTK_LABEL (label), whois->host);
+
+	font_desc = pango_font_description_new ();
+	pango_font_description_set_family (font_desc, "monospace");
+	gtk_widget_modify_font (whois->output, font_desc);
+	pango_font_description_free (font_desc);
+
+	whois->button_callback = G_CALLBACK (on_whois_activate);
+	whois->process_line = NETINFO_FOREACH_FUNC (whois_foreach);
+	whois->copy_output = NETINFO_COPY_FUNC (whois_copy_to_clipboard);
+
+	model = GTK_TREE_MODEL (gtk_list_store_new (1, G_TYPE_STRING));
+	gtk_combo_box_set_model (GTK_COMBO_BOX (whois->host), model);
+	g_object_unref (model);
+
+	gtk_combo_box_set_entry_text_column (GTK_COMBO_BOX (whois->host), 0);
+	
+	entry_host = GTK_ENTRY (gtk_bin_get_child (GTK_BIN (whois->host)));
+	
+	completion = gtk_entry_completion_new ();
+	gtk_entry_set_completion (entry_host, completion);
+	g_object_unref (completion);
+	gtk_entry_completion_set_model (completion, model);
+	gtk_entry_completion_set_text_column (completion, 0);
+	g_object_unref (model);
+
+	whois->history = gn_combo_history_new ();
+	gn_combo_history_set_id (whois->history, "domains");
+	gn_combo_history_set_combo (whois->history, GTK_COMBO_BOX (whois->host));
+
+	g_signal_connect (G_OBJECT (entry_host), "activate",
+			  G_CALLBACK (on_whois_activate),
+			  whois);
+	g_signal_connect (G_OBJECT (whois->button), "clicked",
+			  whois->button_callback,
+			  whois);
+
+	return whois;
+}
diff -pruN 3.0.0-1/.pc/03_use_tracepath.patch/src/traceroute.c 3.0.0-0ubuntu1/.pc/03_use_tracepath.patch/src/traceroute.c
--- 3.0.0-1/.pc/03_use_tracepath.patch/src/traceroute.c	1970-01-01 01:00:00.000000000 +0100
+++ 3.0.0-0ubuntu1/.pc/03_use_tracepath.patch/src/traceroute.c	2010-12-02 09:26:14.000000000 +0000
@@ -0,0 +1,339 @@
+/* -*- mode:C; indent-tabs-mode:t; tab-width:8; c-basic-offset:8; -*- */
+/* gnome-netinfo - A GUI Interface for network utilities
+ * Copyright (C) 2002, 2003 by German Poo-Caaman~o
+ *
+ * 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., 675 Mass Ave, Cambridge, MA 02139, USA.
+ */
+
+#include <gtk/gtk.h>
+#include <glib/gi18n.h>
+#include <glib/gprintf.h>
+
+#include "traceroute.h"
+#include "utils.h"
+
+static gint strip_line (gchar * line, traceroute_data * data);
+static GtkTreeModel *traceroute_create_model (GtkTreeView *widget);
+
+void
+traceroute_stop (Netinfo * netinfo)
+{
+	g_return_if_fail (netinfo != NULL);
+
+	netinfo_stop_process_command (netinfo);
+}
+
+void
+traceroute_do (Netinfo * netinfo)
+{
+	const gchar *host = NULL;
+	gchar *command = NULL;
+	gchar *program = NULL;
+	gchar *program_name = NULL;
+	GtkTreeModel *model;
+	GtkWidget *parent;
+        
+	g_return_if_fail (netinfo != NULL);
+
+	/* Because of the delay, we can't check twice for a hostname/IP.
+	 * It was made before this function was called.  Anyway, we
+	 * check at least if we have a text as hostname */
+	if (netinfo_validate_domain (netinfo) == FALSE) {
+		netinfo_stop_process_command (netinfo);
+		return;
+	}
+
+	host = netinfo_get_host (netinfo);
+
+	if (netinfo->stbar_text)
+		g_free (netinfo->stbar_text);
+	netinfo->stbar_text = g_strdup_printf (_("Tracing route to %s"), host);
+
+	model = gtk_tree_view_get_model (GTK_TREE_VIEW (netinfo->output));
+	if (GTK_IS_LIST_STORE (model)) {
+		gtk_list_store_clear (GTK_LIST_STORE (model));
+	}
+
+	parent = gtk_widget_get_toplevel (netinfo->output);
+	
+	switch (netinfo_get_ip_version (netinfo))
+	{
+	case IPV4:
+		program = util_find_program_in_path ("tcptraceroute", NULL);
+#ifdef DEBUG
+		g_print ("tcptraceroute: %s\n", program);
+#endif /* DEBUG */
+		if (program != NULL) {
+			program_name = g_strdup ("tcptraceroute");
+		} else {
+			program = util_find_program_dialog ("traceroute", parent);
+			program_name = g_strdup ("traceroute");
+		}
+		break;
+	case IPV6:
+		program = util_find_program_in_path ("traceroute6", NULL);
+		program_name = g_strdup ("traceroute6");
+		break;
+	default:
+		program = NULL;
+		break;
+	}
+
+	if (program != NULL) {
+		command =
+                  g_strdup_printf ("%s %s %s %s", program, program_name,
+                                   TCPTRACEROUTE_OPTIONS, host);
+	
+		netinfo->command_line = g_strsplit (command, " ", -1);
+	
+		netinfo_process_command (netinfo);
+
+		g_strfreev (netinfo->command_line);
+		g_free (command);
+		g_free (program);
+		g_free (program_name);
+	}
+}
+
+/* Process each line from ping command */
+void
+traceroute_foreach (Netinfo * netinfo, gchar * line, gssize len,
+		    gpointer user_data)
+{
+	gchar *text_utf8;
+	gsize bytes_written;
+	GtkTextBuffer *buffer = NULL;
+	GtkTextIter iter;
+
+	g_return_if_fail (netinfo != NULL);
+	g_return_if_fail (line != NULL);
+
+	buffer =
+	    gtk_text_view_get_buffer (GTK_TEXT_VIEW (netinfo->output));
+	gtk_text_buffer_get_end_iter (buffer, &iter);
+
+	if (len > 0) {
+		text_utf8 = g_locale_to_utf8 (line, len,
+					      NULL, &bytes_written, NULL);
+
+		gtk_text_buffer_insert
+		    (GTK_TEXT_BUFFER (buffer), &iter, text_utf8,
+		     bytes_written);
+		g_free (text_utf8);
+	}
+}
+
+void
+traceroute_foreach_with_tree (Netinfo * netinfo, gchar * line, gint len,
+			      gpointer user_data)
+{
+	GtkTreeIter iter;
+	GList *columns;
+	GtkTreePath *path;
+	GtkTreeModel *model;
+	GtkTreeView *widget;
+	gint count;
+	traceroute_data data;
+
+	g_return_if_fail (netinfo != NULL);
+	g_return_if_fail (line != NULL);
+
+	widget = (GTK_TREE_VIEW (netinfo->output));
+
+	if (len > 0) {		/* there are data to show */
+		/* count = traceroute_strip_line (line, &data); */
+
+		count = strip_line (line, &data);
+
+		if (count == TRACE_NUM_ARGS) {
+
+			gtk_tree_view_set_rules_hint (GTK_TREE_VIEW
+						      (widget), TRUE);
+			columns =
+			    gtk_tree_view_get_columns (GTK_TREE_VIEW
+						       (widget));
+
+			if (g_list_length (columns) == 0) {
+
+				model = traceroute_create_model (widget);
+				gtk_tree_view_set_model (GTK_TREE_VIEW
+							 (widget), model);
+			}
+
+			g_list_free (columns);
+
+			model =
+			    gtk_tree_view_get_model (GTK_TREE_VIEW
+						     (widget));
+			
+			gtk_tree_view_get_cursor (GTK_TREE_VIEW (widget),
+						  &path, NULL);
+
+			gtk_list_store_append (GTK_LIST_STORE
+						  (model), &iter);
+
+			gtk_list_store_set (GTK_LIST_STORE (model), &iter,
+					    TRACE_HOP, data.hop_count,
+					    TRACE_HOSTNAME, data.hostname,
+					    TRACE_IP, data.ip,
+					    TRACE_RTT1, data.rtt1,
+					    TRACE_RTT2, data.rtt2,
+/*					    TRACE_RTT3, data.rtt3,*/ -1);
+
+			gtk_tree_view_set_model (GTK_TREE_VIEW (widget),
+						 model);
+
+			if (path) {
+				gtk_tree_view_set_cursor (
+					GTK_TREE_VIEW (widget),
+					path, NULL, FALSE);
+				gtk_tree_path_free (path);
+			}
+		}
+	}
+	while (gtk_events_pending ()) {
+		  gtk_main_iteration_do (FALSE);
+	}
+}
+
+static gint
+strip_line (gchar * line, traceroute_data * data)
+{
+	gint count;
+
+	line = g_strdelimit (line, "()", ' ');
+	
+	count = sscanf (line, TRACE_FORMAT,
+			&(data)->hop_count, data->hostname, data->ip,
+			data->rtt1, data->rtt2/*, data->rtt3*/);
+	
+	if (count == TRACE_NUM_ARGS) {
+		return count;
+	}
+
+	if (count == TRACE_NUM_ERR) {
+		g_sprintf (data->rtt1, "*");
+		g_sprintf (data->rtt2, "*");
+		return TRACE_NUM_ARGS;
+	}
+	/* The last line is different, because it has a 
+	   extra [open] or [close] string. That string it 
+	   does not matter to us 
+	 */
+
+	count = sscanf (line, TRACE_FORMAT_OPEN,
+			&(data)->hop_count, data->hostname, data->ip,
+			data->rtt1, data->rtt2/*, data->rtt3*/);
+
+	if (count == TRACE_NUM_ARGS) {
+		return count;
+	} else {
+		count = sscanf (line, TRACE_FORMAT_CLOSE,
+				&(data)->hop_count, data->hostname,
+				data->ip, data->rtt1, data->rtt2 /*,
+				data->rtt3*/);
+	}
+
+	return count;
+}
+
+static GtkTreeModel *
+traceroute_create_model (GtkTreeView *widget)
+{
+	GtkCellRenderer *renderer = NULL;
+	static GtkTreeViewColumn *column;
+	GtkTreeModel *model;
+
+	/*FIXME: Set correctly the align for each renderer */
+	
+	renderer = gtk_cell_renderer_text_new ();
+	/* Number of sequence of each hop in a traceroute output */
+	column =
+	    gtk_tree_view_column_new_with_attributes
+	    (_("Hop"), renderer, "text", TRACE_HOP, NULL);
+	g_object_set (G_OBJECT (renderer), "xalign", 1.0, NULL);
+	gtk_tree_view_append_column (widget, column);
+
+	renderer = gtk_cell_renderer_text_new ();
+	/* Hostname of target we are tracing the route */
+	column =
+	    gtk_tree_view_column_new_with_attributes
+	    (_("Hostname"), renderer, "text", TRACE_HOSTNAME, NULL);
+	gtk_tree_view_column_set_alignment (column, 0.5);
+	gtk_tree_view_append_column (widget, column);
+
+	renderer = gtk_cell_renderer_text_new ();
+	/* IP address of the hostname we are tracing the route */
+	column =
+	    gtk_tree_view_column_new_with_attributes
+	    (_("IP"), renderer, "text", TRACE_IP, NULL);
+	g_object_set (G_OBJECT (renderer), "xalign", 0.0, NULL);
+	gtk_tree_view_column_set_alignment (column, 0.5);
+	gtk_tree_view_append_column (widget, column);
+
+
+	renderer = gtk_cell_renderer_text_new ();
+	/* Time elapsed between a packets was sent and
+	   when was received its reply (1st sample) */
+	column =
+	    gtk_tree_view_column_new_with_attributes
+	    (_("Time 1"), renderer, "text", TRACE_RTT1, NULL);
+	g_object_set (G_OBJECT (renderer), "xalign", 1.0, NULL);
+	gtk_tree_view_append_column (widget, column);
+
+
+	renderer = gtk_cell_renderer_text_new ();
+	/* Time elapsed between a packets was sent and
+	   when was received its reply (2nd sample) */
+	column =
+	    gtk_tree_view_column_new_with_attributes
+	    (_("Time 2"), renderer, "text", TRACE_RTT2, NULL);
+	g_object_set (G_OBJECT (renderer), "xalign", 1.0, NULL);
+	gtk_tree_view_append_column (widget, column);
+
+	model = GTK_TREE_MODEL (gtk_list_store_new
+				(TRACE_NUM_COLUMNS,
+				 G_TYPE_INT,
+				 G_TYPE_STRING,
+				 G_TYPE_STRING,
+				 G_TYPE_STRING,
+				 G_TYPE_STRING));
+
+	return model;
+}
+
+void
+traceroute_copy_to_clipboard (Netinfo * netinfo, gpointer user_data)
+{
+	GString *result, *content;
+
+	g_return_if_fail (netinfo != NULL);
+
+	/* The traceroute output in text format:
+	   Hop count, Hostname, IP, Round Trip Time 1 (Time1),
+	   Round Trip Time 2 (Time2),
+	   It's a tabular output, and these belongs to the column titles */
+	result = g_string_new (_("Hop\tHostname\tIP\tTime 1\tTime 2\n"));
+
+	content = util_tree_model_to_string (GTK_TREE_VIEW (netinfo->output));
+	
+	g_string_append_printf (result, "%s", content->str);
+	
+	gtk_clipboard_set_text (gtk_clipboard_get (GDK_NONE), result->str,
+				result->len);
+
+	g_string_free (content, TRUE);
+	g_string_free (result, TRUE);
+}
diff -pruN 3.0.0-1/.pc/03_use_tracepath.patch/src/traceroute.h 3.0.0-0ubuntu1/.pc/03_use_tracepath.patch/src/traceroute.h
--- 3.0.0-1/.pc/03_use_tracepath.patch/src/traceroute.h	1970-01-01 01:00:00.000000000 +0100
+++ 3.0.0-0ubuntu1/.pc/03_use_tracepath.patch/src/traceroute.h	2010-12-02 09:26:14.000000000 +0000
@@ -0,0 +1,69 @@
+/* gnome-netinfo - A GUI Interface for network utilities
+ * Copyright (C) 2002, 2003 by German Poo-Caaman~o
+ *
+ * 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., 675 Mass Ave, Cambridge, MA 02139, USA.
+ */
+ 
+#include <glib.h>
+#ifdef HAVE_CONFIG_H
+#  include <config.h>
+#endif
+
+#include "nettool.h"
+
+#define TRACE_FORMAT "%d %s %s %s ms %s ms"
+#define TRACE_FORMAT_CLOSE "%d %s %s [closed] %s ms %s ms"
+#define TRACE_FORMAT_OPEN "%d %s %s [open] %s ms %s ms"
+#define TRACE_SELECT_DEVICE "Selected device %s address %s port %d for outgoing packets"
+#define TRACE_TRACE_PATH "Tracing the path to %s (146.83.195.14) on TCP port 80 %d hops max"
+#define TRACE_NUM_ARGS 5
+#define TRACE_NUM_ERR  3
+
+/* Try 40 hops maximum and send only 1 packet */
+#define TCPTRACEROUTE_OPTIONS "-q 2 -m 40"
+
+typedef struct _traceroute_data traceroute_data;
+typedef struct _trace_source_data trace_source_data;
+
+struct _traceroute_data {
+	gint hop_count;
+	gchar hostname[128];
+	gchar ip[128];
+	gchar rtt1[128];
+	gchar rtt2[128];
+};
+
+struct _trace_source_data {
+	gchar device[64];
+	gchar ip_src[128];
+	gint port;
+	gchar ip_dst[128];
+	gint  hops;
+};
+
+enum {
+	TRACE_HOP,
+	TRACE_HOSTNAME,
+	TRACE_IP,
+	TRACE_RTT1,
+	TRACE_RTT2,
+	TRACE_NUM_COLUMNS
+};
+
+void traceroute_do (Netinfo *netinfo);
+void traceroute_stop (Netinfo *netinfo);
+void traceroute_foreach (Netinfo * netinfo, gchar * line, gssize len, gpointer user_data);
+void traceroute_foreach_with_tree (Netinfo * netinfo, gchar * line, gint len, gpointer user_data);
+void traceroute_copy_to_clipboard (Netinfo * netinfo, gpointer user_data);
diff -pruN 3.0.0-1/.pc/04_menu_change.patch/data/gnome-nettool.desktop.in.in 3.0.0-0ubuntu1/.pc/04_menu_change.patch/data/gnome-nettool.desktop.in.in
--- 3.0.0-1/.pc/04_menu_change.patch/data/gnome-nettool.desktop.in.in	1970-01-01 01:00:00.000000000 +0100
+++ 3.0.0-0ubuntu1/.pc/04_menu_change.patch/data/gnome-nettool.desktop.in.in	2010-12-02 09:26:14.000000000 +0000
@@ -0,0 +1,13 @@
+[Desktop Entry]
+_Name=Network Tools
+_Comment=View information about your network
+Exec=gnome-nettool
+Icon=gnome-nettool
+Terminal=false
+Type=Application
+Categories=System;Utility;GNOME;GTK;
+StartupNotify=true
+X-GNOME-Bugzilla-Bugzilla=GNOME
+X-GNOME-Bugzilla-Product=gnome-nettool
+X-GNOME-Bugzilla-Component=general
+X-GNOME-Bugzilla-Version=@PACKAGE_VERSION@
diff -pruN 3.0.0-1/.pc/applied-patches 3.0.0-0ubuntu1/.pc/applied-patches
--- 3.0.0-1/.pc/applied-patches	2011-05-17 00:23:12.000000000 +0100
+++ 3.0.0-0ubuntu1/.pc/applied-patches	2011-05-16 23:07:39.000000000 +0100
@@ -1,3 +1,6 @@
 01_ping_icmp_req.patch
+02_lpi.patch
 02_fix_ui.patch
+03_use_tracepath.patch
 03_fix_ifaces.patch
+04_menu_change.patch
diff -pruN 3.0.0-1/src/main.c 3.0.0-0ubuntu1/src/main.c
--- 3.0.0-1/src/main.c	2011-01-11 10:32:42.000000000 +0000
+++ 3.0.0-0ubuntu1/src/main.c	2011-05-16 23:07:39.000000000 +0100
@@ -24,6 +24,7 @@
 
 #include <string.h>
 #include <glib/gi18n.h>
+#include <launchpad-integration.h>
 
 #include <glibtop.h>
 
@@ -57,6 +58,7 @@ main (int argc, char *argv[])
 	GtkBuilder *builder;
 	GtkWidget *notebook;
 	GtkWidget *statusbar;
+	GtkUIManager *ui;
 	const gchar *dialog = UI_DIR "gnome-nettool.ui";
 	Netinfo *pinger;
 	Netinfo *tracer;
@@ -218,6 +220,9 @@ main (int argc, char *argv[])
 	g_object_set_data (G_OBJECT (notebook), "whois", whois);
 	
 	menu_beep = GTK_ACTION (gtk_builder_get_object (builder, "m_beep"));
+	ui = GTK_UI_MANAGER (gtk_builder_get_object (builder, "uimanager1"));
+	g_object_ref (ui);
+	launchpad_integration_add_ui (ui, "/ui/menubar1/help1/LaunchpadItems");
 
 	g_signal_connect (G_OBJECT (menu_beep), "activate",
 			  G_CALLBACK (on_beep_activate),
diff -pruN 3.0.0-1/src/traceroute.c 3.0.0-0ubuntu1/src/traceroute.c
--- 3.0.0-1/src/traceroute.c	2010-12-02 09:26:14.000000000 +0000
+++ 3.0.0-0ubuntu1/src/traceroute.c	2011-05-16 23:07:39.000000000 +0100
@@ -71,20 +71,16 @@ traceroute_do (Netinfo * netinfo)
 	switch (netinfo_get_ip_version (netinfo))
 	{
 	case IPV4:
-		program = util_find_program_in_path ("tcptraceroute", NULL);
+
 #ifdef DEBUG
-		g_print ("tcptraceroute: %s\n", program);
+		g_print ("tracepath: %s\n", program);
 #endif /* DEBUG */
-		if (program != NULL) {
-			program_name = g_strdup ("tcptraceroute");
-		} else {
-			program = util_find_program_dialog ("traceroute", parent);
-			program_name = g_strdup ("traceroute");
-		}
+		program = util_find_program_dialog ("tracepath", parent);
+		program_name = g_strdup ("tracepath");
 		break;
 	case IPV6:
-		program = util_find_program_in_path ("traceroute6", NULL);
-		program_name = g_strdup ("traceroute6");
+		program = util_find_program_in_path ("tracepath6", NULL);
+		program_name = g_strdup ("tracepath6");
 		break;
 	default:
 		program = NULL;
@@ -93,8 +89,7 @@ traceroute_do (Netinfo * netinfo)
 
 	if (program != NULL) {
 		command =
-                  g_strdup_printf ("%s %s %s %s", program, program_name,
-                                   TCPTRACEROUTE_OPTIONS, host);
+                  g_strdup_printf ("%s %s %s", program, program_name, host);
 	
 		netinfo->command_line = g_strsplit (command, " ", -1);
 	
@@ -217,7 +212,7 @@ strip_line (gchar * line, traceroute_dat
 	
 	count = sscanf (line, TRACE_FORMAT,
 			&(data)->hop_count, data->hostname, data->ip,
-			data->rtt1, data->rtt2/*, data->rtt3*/);
+			data->rtt1/*, data->rtt2, data->rtt3*/);
 	
 	if (count == TRACE_NUM_ARGS) {
 		return count;
@@ -225,7 +220,7 @@ strip_line (gchar * line, traceroute_dat
 
 	if (count == TRACE_NUM_ERR) {
 		g_sprintf (data->rtt1, "*");
-		g_sprintf (data->rtt2, "*");
+		//g_sprintf (data->rtt2, "*");
 		return TRACE_NUM_ARGS;
 	}
 	/* The last line is different, because it has a 
@@ -235,14 +230,14 @@ strip_line (gchar * line, traceroute_dat
 
 	count = sscanf (line, TRACE_FORMAT_OPEN,
 			&(data)->hop_count, data->hostname, data->ip,
-			data->rtt1, data->rtt2/*, data->rtt3*/);
+			data->rtt1/*, data->rtt2, data->rtt3*/);
 
 	if (count == TRACE_NUM_ARGS) {
 		return count;
 	} else {
 		count = sscanf (line, TRACE_FORMAT_CLOSE,
 				&(data)->hop_count, data->hostname,
-				data->ip, data->rtt1, data->rtt2 /*,
+				data->ip, data->rtt1/*, data->rtt2,
 				data->rtt3*/);
 	}
 
@@ -301,7 +296,7 @@ traceroute_create_model (GtkTreeView *wi
 	    gtk_tree_view_column_new_with_attributes
 	    (_("Time 2"), renderer, "text", TRACE_RTT2, NULL);
 	g_object_set (G_OBJECT (renderer), "xalign", 1.0, NULL);
-	gtk_tree_view_append_column (widget, column);
+	//gtk_tree_view_append_column (widget, column);
 
 	model = GTK_TREE_MODEL (gtk_list_store_new
 				(TRACE_NUM_COLUMNS,
diff -pruN 3.0.0-1/src/traceroute.h 3.0.0-0ubuntu1/src/traceroute.h
--- 3.0.0-1/src/traceroute.h	2010-12-02 09:26:14.000000000 +0000
+++ 3.0.0-0ubuntu1/src/traceroute.h	2011-05-16 23:07:39.000000000 +0100
@@ -23,12 +23,12 @@
 
 #include "nettool.h"
 
-#define TRACE_FORMAT "%d %s %s %s ms %s ms"
+#define TRACE_FORMAT "%d: %s %s %sms"
 #define TRACE_FORMAT_CLOSE "%d %s %s [closed] %s ms %s ms"
 #define TRACE_FORMAT_OPEN "%d %s %s [open] %s ms %s ms"
 #define TRACE_SELECT_DEVICE "Selected device %s address %s port %d for outgoing packets"
 #define TRACE_TRACE_PATH "Tracing the path to %s (146.83.195.14) on TCP port 80 %d hops max"
-#define TRACE_NUM_ARGS 5
+#define TRACE_NUM_ARGS 4
 #define TRACE_NUM_ERR  3
 
 /* Try 40 hops maximum and send only 1 packet */


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]