diff options
-rw-r--r-- | epan/resolv.c | 36 | ||||
-rw-r--r-- | epan/resolv.h | 3 | ||||
-rw-r--r-- | gtk/capture_dlg.c | 6 | ||||
-rw-r--r-- | gtk/display_opts.c | 6 | ||||
-rw-r--r-- | gtk/file_dlg.c | 7 | ||||
-rw-r--r-- | gtk/main.c | 10 | ||||
-rw-r--r-- | gtk/menu.c | 4 | ||||
-rw-r--r-- | ipproto.c | 5 | ||||
-rw-r--r-- | prefs.c | 30 | ||||
-rw-r--r-- | prefs.h | 4 | ||||
-rw-r--r-- | tethereal.c | 4 |
11 files changed, 63 insertions, 52 deletions
diff --git a/epan/resolv.c b/epan/resolv.c index 28f7434692..1e87c3508e 100644 --- a/epan/resolv.c +++ b/epan/resolv.c @@ -1,7 +1,7 @@ /* resolv.c * Routines for network object lookup * - * $Id: resolv.c,v 1.8 2001/04/02 09:41:54 guy Exp $ + * $Id: resolv.c,v 1.9 2001/04/15 03:37:15 guy Exp $ * * Laurent Deniel <deniel@worldnet.fr> * @@ -82,6 +82,8 @@ #include "resolv.h" #include "filesystem.h" +#include "prefs.h" + #define EPATH_ETHERS "/etc/ethers" #define EPATH_IPXNETS "/etc/ipxnets" #define EPATH_MANUF DATAFILE_DIR "/manuf" @@ -154,8 +156,6 @@ static int ipxnet_resolution_initialized = 0; * Global variables (can be changed in GUI sections) */ -int g_resolving_actif = 1; /* routines are active by default */ - gchar *g_ethers_path = EPATH_ETHERS; gchar *g_pethers_path = NULL; /* "$HOME"/EPATH_PERSONAL_ETHERS */ gchar *g_ipxnets_path = EPATH_IPXNETS; @@ -220,7 +220,7 @@ static guchar *serv_name_lookup(guint port, port_type proto) tp->addr = port; tp->next = NULL; - if (!g_resolving_actif || + if (!prefs.name_resolve || (servp = getservbyport(htons(port), serv_proto)) == NULL) { /* unknown port */ sprintf(tp->name, "%d", port); @@ -279,7 +279,7 @@ static guchar *host_name_lookup(guint addr, gboolean *found) tp->addr = addr; tp->next = NULL; - if (g_resolving_actif) { + if (prefs.name_resolve) { #ifdef AVOID_DNS_TIMEOUT /* Quick hack to avoid DNS/YP timeout */ @@ -319,7 +319,7 @@ static guchar *host_name_lookup6(struct e_in6_addr *addr, gboolean *found) #ifdef INET6 struct hostent *hostp; - if (g_resolving_actif) { + if (prefs.name_resolve) { #ifdef AVOID_DNS_TIMEOUT /* Quick hack to avoid DNS/YP timeout */ @@ -1036,7 +1036,7 @@ extern guchar *get_hostname(guint addr) { gboolean found; - if (!g_resolving_actif) + if (!prefs.name_resolve) return ip_to_str((guint8 *)&addr); return host_name_lookup(addr, &found); @@ -1047,7 +1047,7 @@ extern const guchar *get_hostname6(struct e_in6_addr *addr) gboolean found; #ifdef INET6 - if (!g_resolving_actif) + if (!prefs.name_resolve) return ip6_to_str(addr); if (IN6_IS_ADDR_LINKLOCAL(addr) || IN6_IS_ADDR_MULTICAST(addr)) return ip6_to_str(addr); @@ -1100,7 +1100,7 @@ extern guchar *get_udp_port(guint port) static gchar str[3][MAXNAMELEN]; static gchar *cur; - if (!g_resolving_actif) { + if (!prefs.name_resolve) { if (cur == &str[0][0]) { cur = &str[1][0]; } else if (cur == &str[1][0]) { @@ -1121,7 +1121,7 @@ extern guchar *get_tcp_port(guint port) static gchar str[3][MAXNAMELEN]; static gchar *cur; - if (!g_resolving_actif) { + if (!prefs.name_resolve) { if (cur == &str[0][0]) { cur = &str[1][0]; } else if (cur == &str[1][0]) { @@ -1142,7 +1142,7 @@ extern guchar *get_sctp_port(guint port) static gchar str[3][MAXNAMELEN]; static gchar *cur; - if (!g_resolving_actif) { + if (!prefs.name_resolve) { if (cur == &str[0][0]) { cur = &str[1][0]; } else if (cur == &str[1][0]) { @@ -1160,7 +1160,7 @@ extern guchar *get_sctp_port(guint port) extern guchar *get_ether_name(const guint8 *addr) { - if (!g_resolving_actif) + if (!prefs.name_resolve) return ether_to_str((guint8 *)addr); if (!eth_resolution_initialized) { @@ -1184,7 +1184,7 @@ guchar *get_ether_name_if_known(const guint8 *addr) /* Initialize ether structs if we're the first * ether-related function called */ - if (!g_resolving_actif) + if (!prefs.name_resolve) return NULL; if (!eth_resolution_initialized) { @@ -1236,7 +1236,7 @@ guchar *get_ether_name_if_known(const guint8 *addr) extern guint8 *get_ether_addr(const guchar *name) { - /* force resolution (do not check g_resolving_actif) */ + /* force resolution (do not check prefs.name_resolve) */ if (!eth_resolution_initialized) { initialize_ethers(); @@ -1268,7 +1268,7 @@ extern void add_ether_byip(guint ip, const guint8 *eth) extern const guchar *get_ipxnet_name(const guint32 addr) { - if (!g_resolving_actif) { + if (!prefs.name_resolve) { return ipxnet_to_str_punct(addr, '\0'); } @@ -1286,7 +1286,7 @@ extern guint32 get_ipxnet_addr(const guchar *name, gboolean *known) guint32 addr; gboolean success; - /* force resolution (do not check g_resolving_actif) */ + /* force resolution (do not check prefs.name_resolve) */ if (!ipxnet_resolution_initialized) { initialize_ipxnets(); @@ -1306,12 +1306,12 @@ extern const guchar *get_manuf_name(const guint8 *addr) static gchar *cur; hashmanuf_t *manufp; - if (g_resolving_actif && !eth_resolution_initialized) { + if (prefs.name_resolve && !eth_resolution_initialized) { initialize_ethers(); eth_resolution_initialized = 1; } - if (!g_resolving_actif || ((manufp = manuf_name_lookup(addr)) == NULL)) { + if (!prefs.name_resolve || ((manufp = manuf_name_lookup(addr)) == NULL)) { if (cur == &str[0][0]) { cur = &str[1][0]; } else if (cur == &str[1][0]) { diff --git a/epan/resolv.h b/epan/resolv.h index 658b464b2f..f48e513296 100644 --- a/epan/resolv.h +++ b/epan/resolv.h @@ -1,7 +1,7 @@ /* resolv.h * Definitions for network object lookup * - * $Id: resolv.h,v 1.5 2001/04/02 09:41:54 guy Exp $ + * $Id: resolv.h,v 1.6 2001/04/15 03:37:15 guy Exp $ * * Laurent Deniel <deniel@worldnet.fr> * @@ -34,7 +34,6 @@ /* global variables */ -extern int g_resolving_actif; extern gchar *g_ethers_path; extern gchar *g_ipxnets_path; extern gchar *g_manuf_path; diff --git a/gtk/capture_dlg.c b/gtk/capture_dlg.c index 0cdc223de3..a004f27174 100644 --- a/gtk/capture_dlg.c +++ b/gtk/capture_dlg.c @@ -1,7 +1,7 @@ /* capture_dlg.c * Routines for packet capture windows * - * $Id: capture_dlg.c,v 1.40 2001/04/13 14:59:30 jfoster Exp $ + * $Id: capture_dlg.c,v 1.41 2001/04/15 03:37:16 guy Exp $ * * Ethereal - Network traffic analyzer * By Gerald Combs <gerald@zing.org> @@ -278,7 +278,7 @@ capture_prep_cb(GtkWidget *w, gpointer d) resolv_cb = dlg_check_button_new_with_label_with_mnemonic( "Enable _name resolution", accel_group); - gtk_toggle_button_set_state(GTK_TOGGLE_BUTTON(resolv_cb), prefs.capture_name_resolve); + gtk_toggle_button_set_state(GTK_TOGGLE_BUTTON(resolv_cb), prefs.name_resolve); gtk_container_add(GTK_CONTAINER(main_vb), resolv_cb); gtk_widget_show(resolv_cb); @@ -502,7 +502,7 @@ capture_prep_ok_cb(GtkWidget *ok_bt, gpointer parent_w) { prefs.capture_auto_scroll = GTK_TOGGLE_BUTTON (auto_scroll_cb)->active; - prefs.capture_name_resolve = GTK_TOGGLE_BUTTON (resolv_cb)->active; + prefs.name_resolve = GTK_TOGGLE_BUTTON (resolv_cb)->active; gtk_widget_destroy(GTK_WIDGET(parent_w)); diff --git a/gtk/display_opts.c b/gtk/display_opts.c index 8a293543fd..d052f23b4e 100644 --- a/gtk/display_opts.c +++ b/gtk/display_opts.c @@ -1,7 +1,7 @@ /* display_opts.c * Routines for packet display windows * - * $Id: display_opts.c,v 1.19 2001/04/13 14:59:30 jfoster Exp $ + * $Id: display_opts.c,v 1.20 2001/04/15 03:37:16 guy Exp $ * * Ethereal - Network traffic analyzer * By Gerald Combs <gerald@zing.org> @@ -179,7 +179,7 @@ display_opt_cb(GtkWidget *w, gpointer d) { button = dlg_check_button_new_with_label_with_mnemonic( "Enable _name resolution", accel_group); - gtk_toggle_button_set_state(GTK_TOGGLE_BUTTON(button), prefs.capture_name_resolve); + gtk_toggle_button_set_state(GTK_TOGGLE_BUTTON(button), prefs.name_resolve); gtk_object_set_data(GTK_OBJECT(display_opt_w), E_DISPLAY_NAME_RESOLUTION_KEY, button); gtk_box_pack_start(GTK_BOX(main_vb), button, TRUE, TRUE, 0); @@ -269,7 +269,7 @@ get_display_options(GtkWidget *parent_w) button = (GtkWidget *) gtk_object_get_data(GTK_OBJECT(parent_w), E_DISPLAY_NAME_RESOLUTION_KEY); - prefs.capture_name_resolve = (GTK_TOGGLE_BUTTON (button)->active); + prefs.name_resolve = (GTK_TOGGLE_BUTTON (button)->active); } diff --git a/gtk/file_dlg.c b/gtk/file_dlg.c index e6c2732dc4..ef82046999 100644 --- a/gtk/file_dlg.c +++ b/gtk/file_dlg.c @@ -1,7 +1,7 @@ /* file_dlg.c * Dialog boxes for handling files * - * $Id: file_dlg.c,v 1.37 2001/04/09 22:35:23 gram Exp $ + * $Id: file_dlg.c,v 1.38 2001/04/15 03:37:16 guy Exp $ * * Ethereal - Network traffic analyzer * By Gerald Combs <gerald@zing.org> @@ -39,6 +39,7 @@ #include "globals.h" #include "gtkglobals.h" +#include "prefs.h" #include "resolv.h" #include "keys.h" #include "filter_prefs.h" @@ -97,7 +98,7 @@ file_open_cmd_cb(GtkWidget *w, gpointer data) resolv_cb = dlg_check_button_new_with_label_with_mnemonic( "Enable name resolution", NULL); - gtk_toggle_button_set_state(GTK_TOGGLE_BUTTON(resolv_cb), g_resolving_actif); + gtk_toggle_button_set_state(GTK_TOGGLE_BUTTON(resolv_cb), prefs.name_resolve); gtk_box_pack_end(GTK_BOX(GTK_FILE_SELECTION(file_open_w)->main_vbox), resolv_cb, FALSE, FALSE, 5); gtk_widget_show(resolv_cb); @@ -190,7 +191,7 @@ file_open_ok_cb(GtkWidget *w, GtkFileSelection *fs) { /* Set the global resolving variable */ resolv_cb = gtk_object_get_data(GTK_OBJECT(w), E_FILE_RESOLVE_KEY); - g_resolving_actif = GTK_TOGGLE_BUTTON (resolv_cb)->active; + prefs.name_resolve = GTK_TOGGLE_BUTTON (resolv_cb)->active; /* We've crossed the Rubicon; get rid of the file selection box. */ gtk_widget_hide(GTK_WIDGET (fs)); diff --git a/gtk/main.c b/gtk/main.c index a18182654a..b00d45cc93 100644 --- a/gtk/main.c +++ b/gtk/main.c @@ -1,6 +1,6 @@ /* main.c * - * $Id: main.c,v 1.192 2001/04/13 14:59:30 jfoster Exp $ + * $Id: main.c,v 1.193 2001/04/15 03:37:16 guy Exp $ * * Ethereal - Network traffic analyzer * By Gerald Combs <gerald@ethereal.com> @@ -520,11 +520,11 @@ void expand_all_cb(GtkWidget *widget, gpointer data) { void resolve_name_cb(GtkWidget *widget, gpointer data) { if (cfile.protocol_tree) { - int tmp = prefs.capture_name_resolve; - prefs.capture_name_resolve = 1; + int tmp = prefs.name_resolve; + prefs.name_resolve = 1; gtk_clist_clear ( GTK_CLIST(tree_view) ); proto_tree_draw(cfile.protocol_tree, tree_view); - prefs.capture_name_resolve = tmp; + prefs.name_resolve = tmp; } } @@ -988,7 +988,7 @@ main(int argc, char *argv[]) prefs->gui_font_name = g_strdup(optarg); break; case 'n': /* No name resolution */ - prefs->capture_name_resolve = 0; + prefs->name_resolve = 0; break; case 'o': /* Override preference from command line */ switch (prefs_set_pref(optarg)) { diff --git a/gtk/menu.c b/gtk/menu.c index b0a695f521..183a84496c 100644 --- a/gtk/menu.c +++ b/gtk/menu.c @@ -1,7 +1,7 @@ /* menu.c * Menu routines * - * $Id: menu.c,v 1.51 2001/04/13 14:59:30 jfoster Exp $ + * $Id: menu.c,v 1.52 2001/04/15 03:37:16 guy Exp $ * * Ethereal - Network traffic analyzer * By Gerald Combs <gerald@zing.org> @@ -400,7 +400,7 @@ set_menus_for_selected_packet(gboolean have_selected_packet) set_menu_sensitivity("/Tools/Decode As...", have_selected_packet && decode_as_ok()); set_menu_sensitivity("/Resolve Name", - have_selected_packet && !prefs.capture_name_resolve); + have_selected_packet && !prefs.name_resolve); } /* Enable or disable menu items based on whether a tree row is selected. */ @@ -1,7 +1,7 @@ /* ipproto.c * Routines for converting IPv4 protocol/v6 nxthdr field into string * - * $Id: ipproto.c,v 1.11 2001/04/13 18:51:32 guy Exp $ + * $Id: ipproto.c,v 1.12 2001/04/15 03:37:13 guy Exp $ * * Gilbert Ramirez <gram@xiexie.org> * @@ -45,6 +45,7 @@ #include "globals.h" #include "packet.h" +#include "prefs.h" #include "resolv.h" #include "packet-ip.h" #include "packet-ipv6.h" @@ -105,7 +106,7 @@ const char *ipprotostr(int proto) { goto ok; #ifdef HAVE_GETPROTOBYNUMBER - if (g_resolving_actif) { + if (prefs.name_resolve) { pe = getprotobynumber(proto); if (pe) { s = pe->p_name; @@ -1,7 +1,7 @@ /* prefs.c * Routines for handling preferences * - * $Id: prefs.c,v 1.49 2001/04/13 14:59:28 jfoster Exp $ + * $Id: prefs.c,v 1.50 2001/04/15 03:37:13 guy Exp $ * * Ethereal - Network traffic analyzer * By Gerald Combs <gerald@zing.org> @@ -615,7 +615,7 @@ read_prefs(int *gpf_errno_return, char **gpf_path_return, prefs.capture_prom_mode = 0; prefs.capture_real_time = 0; prefs.capture_auto_scroll = 0; - prefs.capture_name_resolve= 1; + prefs.name_resolve= 1; } @@ -851,11 +851,20 @@ prefs_set_pref(char *prefarg) #define PRS_GUI_MARKED_FG "gui.marked_frame.fg" #define PRS_GUI_MARKED_BG "gui.marked_frame.bg" +/* + * This applies to more than just captures, so it's not "capture.name_resolve"; + * "capture.name_resolve" is supported on input for backwards compatibility. + * + * It's not a preference for a particular part of Ethereal, it's used all + * over the place, so its name doesn't have two components. + */ +#define PRS_NAME_RESOLVE "name_resolve" +#define PRS_CAP_NAME_RESOLVE "capture.name_resolve" + /* values for the capture dialog box */ #define PRS_CAP_REAL_TIME "capture.real_time_update" #define PRS_CAP_PROM_MODE "capture.prom_mode" #define PRS_CAP_AUTO_SCROLL "capture.auto_scroll" -#define PRS_CAP_NAME_RESOLVE "capture.name_resolve" #define RED_COMPONENT(x) ((((x) >> 16) & 0xff) * 65535 / 255) #define GREEN_COMPONENT(x) ((((x) >> 8) & 0xff) * 65535 / 255) @@ -1000,8 +1009,9 @@ set_pref(gchar *pref_name, gchar *value) } else if (strcmp(pref_name, PRS_CAP_AUTO_SCROLL) == 0) { prefs.capture_auto_scroll = ((strcmp(value, "TRUE") == 0)?TRUE:FALSE); - } else if (strcmp(pref_name, PRS_CAP_NAME_RESOLVE) == 0) { - prefs.capture_name_resolve = ((strcmp(value, "TRUE") == 0)?TRUE:FALSE); + } else if (strcmp(pref_name, PRS_NAME_RESOLVE) == 0 || + strcmp(pref_name, PRS_CAP_NAME_RESOLVE) == 0) { + prefs.name_resolve = ((strcmp(value, "TRUE") == 0)?TRUE:FALSE); } else { /* To which module does this preference belong? */ @@ -1327,6 +1337,10 @@ write_prefs(char **pf_path_return) (prefs.gui_marked_bg.green * 255 / 65535), (prefs.gui_marked_bg.blue * 255 / 65535)); + fprintf(pf, "\n# Resolve addresses to names? TRUE/FALSE\n"); + fprintf(pf, PRS_NAME_RESOLVE ": %s\n", + prefs.name_resolve == TRUE ? "TRUE" : "FALSE"); + /* write the capture options */ fprintf(pf, "\n# Capture in promiscuous mode? TRUE/FALSE\n"); fprintf(pf, PRS_CAP_PROM_MODE ": %s\n", @@ -1340,10 +1354,6 @@ write_prefs(char **pf_path_return) fprintf(pf, PRS_CAP_AUTO_SCROLL ": %s\n", prefs.capture_auto_scroll == TRUE ? "TRUE" : "FALSE"); - fprintf(pf, "\n# resolve names during capture? TRUE/FALSE\n"); - fprintf(pf, PRS_CAP_NAME_RESOLVE ": %s\n", - prefs.capture_name_resolve == TRUE ? "TRUE" : "FALSE"); - g_list_foreach(modules, write_module_prefs, pf); fclose(pf); @@ -1392,7 +1402,7 @@ copy_prefs(e_prefs *dest, e_prefs *src) dest->capture_prom_mode = src->capture_prom_mode; dest->capture_real_time = src->capture_real_time; dest->capture_auto_scroll = src->capture_auto_scroll; - dest->capture_name_resolve = src->capture_name_resolve; + dest->name_resolve = src->name_resolve; } @@ -1,7 +1,7 @@ /* prefs.h * Definitions for preference handling routines * - * $Id: prefs.h,v 1.28 2001/04/13 14:59:28 jfoster Exp $ + * $Id: prefs.h,v 1.29 2001/04/15 03:37:13 guy Exp $ * * Ethereal - Network traffic analyzer * By Gerald Combs <gerald@zing.org> @@ -50,10 +50,10 @@ typedef struct _e_prefs { gchar *gui_font_name; color_t gui_marked_fg; color_t gui_marked_bg; + gboolean name_resolve; gboolean capture_prom_mode; gboolean capture_real_time; gboolean capture_auto_scroll; - gboolean capture_name_resolve; } e_prefs; diff --git a/tethereal.c b/tethereal.c index 8462a4605b..389003b290 100644 --- a/tethereal.c +++ b/tethereal.c @@ -1,6 +1,6 @@ /* tethereal.c * - * $Id: tethereal.c,v 1.78 2001/04/11 05:24:08 guy Exp $ + * $Id: tethereal.c,v 1.79 2001/04/15 03:37:13 guy Exp $ * * Ethereal - Network traffic analyzer * By Gerald Combs <gerald@zing.org> @@ -391,7 +391,7 @@ main(int argc, char *argv[]) line_buffered = TRUE; break; case 'n': /* No name resolution */ - g_resolving_actif = 0; + prefs->name_resolve = 0; break; case 'o': /* Override preference from command line */ switch (prefs_set_pref(optarg)) { |