summaryrefslogtreecommitdiffstats
path: root/net/gnome-nettool/files
diff options
context:
space:
mode:
Diffstat (limited to 'net/gnome-nettool/files')
-rw-r--r--net/gnome-nettool/files/patch-src_info.c76
-rw-r--r--net/gnome-nettool/files/patch-src_lookup.c10
-rw-r--r--net/gnome-nettool/files/patch-src_netstat.c20
-rw-r--r--net/gnome-nettool/files/patch-src_nettool.c49
4 files changed, 155 insertions, 0 deletions
diff --git a/net/gnome-nettool/files/patch-src_info.c b/net/gnome-nettool/files/patch-src_info.c
new file mode 100644
index 000000000..88a107e6f
--- /dev/null
+++ b/net/gnome-nettool/files/patch-src_info.c
@@ -0,0 +1,76 @@
+--- src/info.c.orig 2008-12-08 23:29:39.000000000 -0500
++++ src/info.c 2009-02-27 16:33:49.000000000 -0500
+@@ -20,6 +20,10 @@
+ #include <gtk/gtk.h>
+ #include <glib/gi18n.h>
+ #include <glib/gprintf.h>
++#include <sys/types.h>
++#include <string.h>
++#include <errno.h>
++#include <unistd.h>
+
+ #ifdef HAVE_CONFIG_H
+ # include <config.h>
+@@ -37,6 +41,9 @@
+ #include <sys/ioctl.h>
+ #include <stdlib.h>
+ #include <net/if.h>
++#ifdef __FreeBSD__
++#include <net/if_media.h>
++#endif
+
+ #include <glibtop.h>
+ #include <glibtop/netlist.h>
+@@ -61,6 +68,7 @@ static InfoInterfaceDescription info_ifa
+ { N_("Ethernet Interface"), INFO_INTERFACE_ETH, "16_ethernet.xpm", "eth", NULL },
+ { N_("Wireless Interface"), INFO_INTERFACE_WLAN, "wavelan-16.png", "wlan", NULL },
+ { N_("Modem Interface"), INFO_INTERFACE_PPP, "16_ppp.xpm", "ppp", NULL },
++ { N_("Modem Interface"), INFO_INTERFACE_PPP, "16_ppp.xpm", "tun", NULL },
+ { N_("Parallel Line Interface"), INFO_INTERFACE_PLIP, "16_plip.xpm", "plip", NULL },
+ { N_("Infrared Interface"), INFO_INTERFACE_IRLAN, "irda-16.png", "irlan", NULL },
+ { N_("Loopback Interface"), INFO_INTERFACE_LO, "16_loopback.xpm", "lo", NULL },
+@@ -131,9 +139,42 @@ info_get_interface_from_dev_name (const
+ {
+ gint i;
+ gchar *path;
+-
++ gchar *dev_type = NULL;
++#if defined(__FreeBSD__)
++ int s;
++ struct ifmediareq ifmr;
++
++ if ((s = socket (AF_INET, SOCK_DGRAM, 0)) > -1) {
++
++ (void) memset (&ifmr, 0, sizeof (ifmr));
++ (void) strncpy (ifmr.ifm_name, dev_name, sizeof (ifmr.ifm_name));
++
++ if (ioctl (s, SIOCGIFMEDIA, (caddr_t) &ifmr) > -1) {
++ switch (IFM_TYPE (ifmr.ifm_active)) {
++ case IFM_ETHER:
++ dev_type = "eth";
++ break;
++ case IFM_FDDI:
++ case IFM_TOKEN:
++#ifdef IFM_ATM
++ case IFM_ATM:
++#endif
++ dev_type = "other_type";
++ break;
++ case IFM_IEEE80211:
++ dev_type = "wlan";
++ break;
++ }
++ }
++ close (s);
++ }
++#endif /* defined(__FreeBSD__) */
++
++ if (!dev_type)
++ dev_type = (gchar *) dev_name;
++
+ for (i = 0; info_iface_desc[i].name; i++)
+- if (strstr (dev_name, info_iface_desc[i].prefix) == dev_name) {
++ if (strstr (dev_type, info_iface_desc[i].prefix) == dev_type) {
+ (*iface) = g_strdup_printf ("%s (%s)", _(info_iface_desc[i].name), dev_name);
+ if (info_iface_desc[i].pixbuf == NULL) {
+ path = g_build_filename (PIXMAPS_DIR, info_iface_desc[i].icon, NULL);
diff --git a/net/gnome-nettool/files/patch-src_lookup.c b/net/gnome-nettool/files/patch-src_lookup.c
new file mode 100644
index 000000000..9744c1397
--- /dev/null
+++ b/net/gnome-nettool/files/patch-src_lookup.c
@@ -0,0 +1,10 @@
+--- src/lookup.c.orig Sun Jul 3 17:47:02 2005
++++ src/lookup.c Sun Jul 3 17:47:20 2005
+@@ -21,6 +21,7 @@
+ #include <gtk/gtk.h>
+ #include <glib/gi18n.h>
+ #include <glib/gprintf.h>
++#include <sys/types.h>
+
+ #include "lookup.h"
+ #include "utils.h"
diff --git a/net/gnome-nettool/files/patch-src_netstat.c b/net/gnome-nettool/files/patch-src_netstat.c
new file mode 100644
index 000000000..1eec84927
--- /dev/null
+++ b/net/gnome-nettool/files/patch-src_netstat.c
@@ -0,0 +1,20 @@
+--- src/netstat.c.orig Tue Jul 6 13:55:25 2004
++++ src/netstat.c Fri Aug 20 15:55:40 2004
+@@ -108,12 +108,17 @@
+ g_return_val_if_fail (netinfo != NULL, NULL);
+
+ if (gtk_toggle_button_get_active (GTK_TOGGLE_BUTTON (netinfo->routing))) {
++#ifdef __FreeBSD__
++ /* XXX We only support ipv4 now */
++ option = g_strdup ("-rn -f inet");
++#else
+ /* Works for Solaris and Linux */
+ if (netinfo_is_ipv6_enable ()) {
+ option = g_strdup ("-rn -A inet -A inet6");
+ } else {
+ option = g_strdup ("-rn -A inet");
+ }
++#endif
+
+ if (netinfo->stbar_text)
+ g_free (netinfo->stbar_text);
diff --git a/net/gnome-nettool/files/patch-src_nettool.c b/net/gnome-nettool/files/patch-src_nettool.c
new file mode 100644
index 000000000..40e454467
--- /dev/null
+++ b/net/gnome-nettool/files/patch-src_nettool.c
@@ -0,0 +1,49 @@
+--- src/nettool.c.orig 2009-06-18 13:51:14.000000000 -0400
++++ src/nettool.c 2009-07-19 16:05:59.000000000 -0400
+@@ -24,6 +24,7 @@
+ #include <string.h>
+ #include <sys/types.h>
+ #include <sys/socket.h>
++#include <netinet/in.h>
+ #include <signal.h>
+ #include <errno.h>
+ #include <sys/wait.h>
+@@ -374,6 +375,10 @@ netinfo_io_text_buffer_dialog (GIOChanne
+ len, NULL);
+ }
+
++ g_free (text);
++
++ return TRUE;
++
+ } else if (status == G_IO_STATUS_AGAIN) {
+ char buf[1];
+
+@@ -385,6 +390,8 @@ netinfo_io_text_buffer_dialog (GIOChanne
+ }
+ g_string_append_c (netinfo->command_output, buf[0]);
+ }
++ g_free (text);
++ return TRUE;
+ } else if (status == G_IO_STATUS_EOF) {
+
+ } else if (status == G_IO_STATUS_ERROR) {
+@@ -402,15 +409,15 @@ netinfo_io_text_buffer_dialog (GIOChanne
+
+ } else {
+ g_warning ("Error: %s\n", err->message);
+- g_free (text);
+ g_free (err);
+ }
+
++ g_free (text);
++ return TRUE;
++
+ }
+
+ g_free (text);
+-
+- return TRUE;
+ }
+
+ /* The condition is not G_IO_HUP | G_IO_ERR | G_IO_NVAL, so