diff options
Diffstat (limited to 'net/gnome-nettool/files')
-rw-r--r-- | net/gnome-nettool/files/patch-src_info.c | 76 | ||||
-rw-r--r-- | net/gnome-nettool/files/patch-src_lookup.c | 10 | ||||
-rw-r--r-- | net/gnome-nettool/files/patch-src_netstat.c | 20 | ||||
-rw-r--r-- | net/gnome-nettool/files/patch-src_nettool.c | 49 |
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 |