aboutsummaryrefslogtreecommitdiffstats
path: root/prefs.c
AgeCommit message (Collapse)AuthorFilesLines
2002-01-21Include files from the "epan" directory and subdirectories thereof withGuy Harris1-5/+5
"epan/..." pathnames, so as to avoid collisions with header files in any of the directories in which we look (e.g., "proto.h", as some other package has its own "proto.h" file which it installs in the top-level include directory). Don't add "-I" flags to search "epan", as that's no longer necessary (and we want includes of "epan" headers to fail if the "epan/" is left out, so that we don't re-introduce includes lacking "epan/"). svn path=/trunk/; revision=4586
2002-01-15Include <resolv.h> after "globals.h", as, at least on some platforms,Guy Harris1-2/+2
headers included by "globals.h" define MAXNAMELEN, and <resolv.h> defines it if it's not already defined. svn path=/trunk/; revision=4545
2002-01-15Fix some preferences to eliminate the extra copy of the protocol name atGuy Harris1-1/+15
the beginning, and to use underscores rather than periods where the preference's name really isn't part of a hierarchical namespace. Use "%u" rather than "%d" to print unsigned quantities. svn path=/trunk/; revision=4543
2002-01-13Add a preferences page for the name resolution flags.Guy Harris1-10/+11
Separate the preferences value for those flags and the name resolution code's value into separate variables; this means that the resolution code no longer depends on the preferences code, and may let us eventually have the current setting and the preference setting differ (so that a user can temporarily override the preference setting without causing subsequent saves of the preferences to save the temporary value). Add routines to create various types of widgets for preferences, and to fetch the values for "enumerated" preferences, and use them both in the code to handle hardwired preference pages and table-driven preference pages. svn path=/trunk/; revision=4536
2002-01-10Add a preferences page for capture preferences, so that the user canGuy Harris1-5/+19
directly edit the capture preferences, rather than only being able to set them implicitly from the values for the most recent capture. Add a preferences item for the interface on which to capture. Get rid of some unused variables. svn path=/trunk/; revision=4510
2001-12-31Add preferences to save the main window size and position. If enabled,Gerald Combs1-10/+66
the geometry is saved at exit. Should we save the main window pane sizes as well? Move the DEF_WIDTH and DEF_HEIGHT #defines from gtk/main.h to prefs.h. Remove the reference to DEF_WIDTH from proto_hier_stats_dlg.c. svn path=/trunk/; revision=4462
2001-12-08From Darren New: BXXP dissector modified to be a BEEP dissector.Guy Harris1-3/+11
Handle "bxxp." preferences as "beep." preferences. svn path=/trunk/; revision=4357
2001-11-19When reading the preferences file, if the "module.preference" stringGilbert Ramirez1-18/+35
references an unknown module, check the "preference" part to see if another "." is found; iterate until a known module is found, or until nor more "."'s are found. Needed for the new "x.25.non_q_bit_is_sna" preference. svn path=/trunk/; revision=4225
2001-11-09Fix a couple of comments.Guy Harris1-4/+4
svn path=/trunk/; revision=4187
2001-11-08Allow periods in module names.Gilbert Ramirez1-2/+2
svn path=/trunk/; revision=4177
2001-11-04Allow a dissector to register preferences that it no longer supports asGuy Harris1-3/+95
obsolete; we silently ignore attempts to set those in a preferences file, so that we don't spam the user with error messages caused by them having saved preferences in an earlier release that contained those preferences. Make the Diameter and iSCSI dissectors register obsolete preferences. Crash if some code tries to register a preferences module with a name that contains something other than lower-case ASCII letters, numbers, or underscores, or that has already been registered, or if some code tries to register a preference with a name that contains something other than lower-case ASCII letters, numbers, underscores, or periods, or that has already been registered, so that we don't put code like that in a release and have to shovel code into "prefs.c" to fix it up later. (The problem with multiple modules or preferences with the same name should be obvious; the problem with names with blanks, or upper-case letters, or punctuation, is that they're a pain to type on the command line.) svn path=/trunk/; revision=4148
2001-11-03Crash if a dissector tries to create more than one preference with theGuy Harris1-3/+17
same name; if that happens, there's no way to tell to which of them a line in a preferences file, or an option supplied with "-o", refers, so it's clearly a bug in the code. This has happened in the past, and fixing that required some preference renaming *and* code in the preferences-file-reading code to try to preserve the user's settings and not spew warnings when starting Ethereal or Tethereal; let's try to catch it *before* the code gets into the code base. svn path=/trunk/; revision=4143
2001-10-24Have a routine that takes a file name for a personal configuration fileGuy Harris1-20/+5
and generates the path name; have it, if the file is to be opened for reading on Win32, check whether it exists and, if not, check for it in the old home directory-based configuration directory and, if so, return that path instead, so that files saved with earlier versions of Ethereal will be seen. svn path=/trunk/; revision=4072
2001-10-23Add a new routine to create the ".ethereal" directory for a user.Guy Harris1-22/+1
Use that routine rather than duplicating that code in the routines to write out the preference file and filter files. Use it in the code for the color filter dialog, so that the directory in question is created if necessary. As that routine returns an error indication, have the code that calls that routine put up a message box if the attempt fails. svn path=/trunk/; revision=4065
2001-10-22Add a routine to get the directory in which personal configuration filesGuy Harris1-28/+38
reside. Use it, rather than concatenating the user's home directory and ".ethereal" in a number of files. Fix up some additional places to use G_DIR_SEPARATOR_S as the pathname separator. svn path=/trunk/; revision=4061
2001-10-21Use G_DIR_SEPARATOR_S rather than "/" as a pathname separator in formatGuy Harris1-6/+8
strings used to generate pathnames. Move the definition of PF_DIR from <epan/epan.h> to <epan/filesystem.h>, so that files requiring only the definition of PF_DIR don't have to include <epan/epan.h>, and get rid of no-longer-necessary includes of <epan/epan.h>. Add a routine to get the directory for "system files" such as "/etc/ethers" - it's "/etc" on UNIX, and the datafile directory on Windows (as there's no "/etc" on Windows). Use that to construct the pathname of the ethers and ipxnet files. svn path=/trunk/; revision=4056
2001-10-21Keep the list of modules with preferences sorted by the module name, inGuy Harris1-2/+11
dictionary order (case-insensitive), so that they show up in order in the "Preferences" dialog box. svn path=/trunk/; revision=4052
2001-10-16The Quake3 dissector wasn't in the previous release, only users runningGuy Harris1-29/+9
CVS versions would've had "quake3.udp.port" in the preferences file; therefore, we can remove the code to map them to "quake3.udp.arena_port" and "quake3.udp.master_port". svn path=/trunk/; revision=4034
2001-10-13The Quake III dissector called both the arena server port preference andGuy Harris1-54/+76
the master server port preference "quake3.udp.port"; rename them to "quake3.udp.arena_port" and "quake3.udp.master_port". svn path=/trunk/; revision=4023
2001-08-21On Windows, use the directory in which the binary resides as theGuy Harris1-7/+14
directory in which global data files are stored. If an installed binary is being run, that's the correct directory for them; if a build-tree binary is being run, the "manuf" file will be there, and you can put other data files there as well, if necessary. Do the same with plugins, except that, if there's no "plugins\\{version}" subdirectory of that directory, fall back on the default installation directory, so you at least have a place where you can put plugins for use by build-tree binaries. (Should we, instead, have the Windows build procedure create a subdirectory of the "plugins" source directory, with the plugin version number as its name, and copy the plugins there, so you'd use the build-tree plugin binaries?) Move "test_for_directory()" out of "util.c" and into "epan/filesystem.c", with the other file system access portability wrappers and convenience routines. Fix "util.h" not to declare it - or other routines moved to "epan/filesystem.c" a while ago. svn path=/trunk/; revision=3858
2001-07-23Use an unsigned character when processing string lists, so that you canGuy Harris1-2/+3
use "isspace()" on them without getting screwed by negative array subscripts. svn path=/trunk/; revision=3780
2001-07-23Make "put_string_list()" truly take a GList of strings as arguments;Guy Harris1-55/+57
generate such a list from the list of column format information and hand the resulting list to "put_string_list()" when writing out the preference. svn path=/trunk/; revision=3779
2001-07-22Reformat to be a bit closer to the way it looked before the parserGuy Harris1-13/+12
changes. svn path=/trunk/; revision=3778
2001-07-22Ignore non-quoted white space in string lists.Guy Harris1-49/+96
Backslash-escape backslashes and double quotes when writing string lists out. svn path=/trunk/; revision=3777
2001-07-22"col_format_to_pref_str()" is used only in "prefs.c", and knows aboutGuy Harris1-2/+52
the format of string lists in a preferences file; rename it to "put_string_list()", make it take the list as an argument rather than working only on "prefs.col_list", and put it in "prefs.c". svn path=/trunk/; revision=3776
2001-07-22Check for valid column titles (non-zero-length) and valid column formatsGuy Harris1-8/+31
in preference settings. In the process of doing that, fix a memory leak (we were handing a null pointer, rather than a pointer to the list of strings in "column.format", to "clear_string_list()"). svn path=/trunk/; revision=3775
2001-07-22Don't require the strings in string lists to be quoted, just allow themGuy Harris1-50/+77
to be quoted. Correctly handle backslash-quoting in string lists. Return an error if the "get_string_list()" indicates that "column.format" string list is syntactically invalid or if it doesn't contain an even number of entries. svn path=/trunk/; revision=3773
2001-06-18Various signed vs. unsigned fixes, from Joerg Mayer.Guy Harris1-3/+3
svn path=/trunk/; revision=3560
2001-06-04Make Ethereal default to promiscuous-mode captures, the way it didGuy Harris1-6/+5
before promiscuous-vs-non-promiscuous was made a preference in the preferences file (I suspect at least some of the problems people are seeing with captures on Windows not seeing all the traffic they expect to see might be due to the captures not being done in promiscuous mode - and the default behavior shouldn't have changed in any case). svn path=/trunk/; revision=3511
2001-05-31Support for "-N" flag enabling selected forms of name resolution, fromGuy Harris1-13/+86
Joerg Meyer. Support for saving to the preferences file the settings for all types of name resolution. Do a case-insensitive check for "true" and "false" in Boolean preference settings. svn path=/trunk/; revision=3489
2001-04-15There's no "enable name resolution in captures" preference in Ethereal,Guy Harris1-10/+20
and never was - there's only an Ethereal-wide "enable name resolution" preference. Name it just "name_resolve". Replace all tests of "g_resolving_actif" with tests of "prefs.name_resolv", and replace all code that sets "g_resolving_actif" with code that sets "prefs.name_resolv", so that the setting of "prefs.name_resolv" actually affects whether names are resolved or not. svn path=/trunk/; revision=3300
2001-04-13Added the ethereal capture preferences to the preference file.Jeff Foster1-1/+50
svn path=/trunk/; revision=3298
2001-04-02"get_home_dir()", in "epan/filesystem.c", usesGuy Harris1-2/+2
"find_last_pathname_separator()" on Win32; move the other pathname manipulation routines from "util.c" into "epan/filesystem.c". Remove from "util.h" the declarations of routines not defined in "util.c", and put them into "epan/filesystem.h" if they're not already there. Adjust #includes to make the above work. svn path=/trunk/; revision=3241
2001-01-05Map the old MGCP preference names to the new ones (including a specialGuy Harris1-5/+80
hack to handle the two copies of "mgcp.{tcp,udp}.port" as best we can). svn path=/trunk/; revision=2832
2001-01-03Add a new "prefs_register_protocol()" routine, which is likeGuy Harris1-1/+13
"prefs_register_module()" except that it takes a protocol index as returned by "proto_register_protocol()" as its first argument, rather than taking two character strings as arguments as its first two arguments, and uses the protocol's abbreviation as the name to use for preferences in the preferences file and the "-o" flag and uses the protocol's short name as the name to use in the tabs in the "Edit->Preferences" window. svn path=/trunk/; revision=2812
2001-01-03Have "proto_register_protocol()" build a list of data structures forGuy Harris1-1/+9
protocols, in addition to adding structures to the list of filterable fields. Give it an extra argument that specifies a "short name" for the protocol, for use in such places as pinfo->current_proto; the dialog box for constructing filters; the preferences tab for the protocol; and so on (although we're not yet using it in all those places). Make the preference name that appears in the preferences file and the command line for the DIAMETER protocol "diameter", not "Diameter"; the convention is that the name in question be all-lower-case. Make some routines and variables that aren't exported static. Update a comment in the ICP dissector to make it clear that the dissector won't see fragments other than the first fragment of a fragmented datagram. svn path=/trunk/; revision=2810
2000-11-18Fix a number of problems that caused compiles to fail ifGuy Harris1-5/+5
PLUGINS_NEED_ADDRESS_TABLE was defined. svn path=/trunk/; revision=2662
2000-10-15At least on UNIX/X, make the wildcard pattern that's the initialGuy Harris1-2/+47
fixed-width font preference match only ISO 8859/1 fonts, so that we don't match ISO 10646 fonts (as happens on some systems). Users will have to select a font with the appropriate character set encoding if they don't want stuff displayed as 8859/1 (note that making the widgets that use the fixed-width font handle arbitrary character sets is probably a non-trivial task, given that the *dissectors* will also have to handle arbitrary character sets, and that the character set used in a given packet isn't necessarily the character set in the user's locale). svn path=/trunk/; revision=2496
2000-09-28More EPAN-related code movements. Get rid of usage of #include "globals.h"Gilbert Ramirez1-1/+2
and #include "util.h" from epan code. Move get_home_dir() into epan/filesystem.c as it's used by plugins.c. svn path=/trunk/; revision=2461
2000-09-12Oops, I left off one "-*" in the XLFD description for the font that isGuy Harris1-2/+2
6x13 on most UNIXes (frankly, I think XLFD should have been hidden very deeply in the bowels of most X toolkits, and not even exposed to most programmers, much less to users). svn path=/trunk/; revision=2420
2000-09-08Graham Bloice's patch to support inverse video rather than boldfaceGuy Harris1-1/+13
highlighting of the bytes, in the hex dump window, corresponding to a selected field. Also, make "remember_ptree_widget()" static, as it's not used outside "gtk/proto_draw.c". svn path=/trunk/; revision=2399
2000-08-21Add prefs.gui_marked_[fb]g color preferences for theLaurent Deniel1-1/+37
color of marked frames. They are currently only available from preferences file, but I will add the color selection in GUI later. svn path=/trunk/; revision=2327
2000-08-21Instead of each set of built-in preferences having "ok", "save",Guy Harris1-8/+86
"cancel", and "delete" methods, give them: "fetch" - fetch from the notebook tab any values not already stored in "prefs", and store them there, but doesn't apply them; "apply" - apply the settings in "prefs"; "destroy" - clean up any windows created from the tab. As we no longer have "cancel" methods, we don't have per-preference code to revert preference values; instead, we have the common preference dialog box code make a copy of all the current preferences, and, when the "Cancel" button is clicked, free the current preferences and copy the saved preferences to it, and apply the preferences. Add an "Apply" button to the preference dialog box, which applies the current preferences without closing the dialog box. Treat a request to delete the preferences dialog box as equivalent to clicking "Cancel". Have a "remember_ptree_widget()" routine to remember all protocol tree widgets, and use the list of those widgets when we set GUI preferences for the protocol tree widgets, rather than setting the main protocol tree widget and then using the list of packet windows. Move that code out of "main.c" to "proto_draw.c", as it's not used by anything in "main.c", but is used by stuff in "proto_draw.c". Make the font one of the preferences we can set on the fly for protocol tree widgets. Also make it something we can set on the fly for the packet list widget. svn path=/trunk/; revision=2316
2000-08-20Instead of having the normal-weight and bold fonts set separately,Guy Harris1-1/+14
generate the name of the boldface font from the Roman font; if the two fonts don't have the same widths, the display will look weird when a field is selected, and it's a bit of a pain for the user to have to select *two* fonts. On UNIX/X, default to "-*-fixed-medium-r-semicondensed-*-*-120-*-*-*-*-*-" rather than to "-*-lucidatypewriter-medium-r-normal-*-*-120-*-*-*-*-iso8859-1" - some Linux distributions appear to lack the Lucida typewriter font. Add a "gui.font_name" preference to the preferences file, specifying the normal-weight font to use. Have it settable from the "GUI" tab in the Preferences dialog box - the "Font..." button, when clicked, pops up a font selection dialog box. If we either can't open the selected font or the boldfaced version of the font, default to "6x13" and "6x13bold" as fallbacks - the former will probably be "fixed", and the latter would be "fixedbold" if X actually created such an alias, but it doesn't so we use "6x13bold" instead. svn path=/trunk/; revision=2304
2000-08-15Fix a problem with const char *Laurent Deniel1-2/+2
svn path=/trunk/; revision=2276
2000-08-15Implements the "Properties" menu item which displays the preferences windowLaurent Deniel1-1/+20
at the correct notebook page when a particular protocol (which has registered some preferences) is selected in the tree view. - add set_menus_for_selected_tree_row() in menu.[ch] - add prefs_is_registered_protocol() and prefs_get_title_by_name() in prefs.[ch] svn path=/trunk/; revision=2275
2000-08-11Miscellaneous code cleaningLaurent Deniel1-1/+3
- add <stdarg.h> or <varargs.h> in snprintf.h and remove those inclusions in the other #ifdef NEED_SNPRINTF_H codes - remove the check of multiple inclusions in source (.c) code (there is a bit loss of _cpp_ performance, but I prefer the gain of code reading and maintenance; and nowadays, disk caches and VM are correctly optimized ;-). - protect all (well almost) header files against multiple inclusions - add header (i.e. GPL license) in some include files - reorganize a bit the way header files are included: First: #include <system_include_files> #include <external_package_include_files (e.g. gtk, glib etc.)> Then #include "ethereal_include_files" with the correct HAVE_XXX or NEED_XXX protections. - add some HAVE_XXX checks before including some system header files - add the same HAVE_XXX in wiretap as in ethereal Please forgive me, if I break something (I've only compiled and regression tested on Linux). svn path=/trunk/; revision=2254
2000-08-07Cast an argument to "isspace()" to "guchar" so that if it has the 8thGuy Harris1-2/+2
bit set it won't get sign-extended; this squelches a GCC complaint, and may keep weird things from happening if there're non-ASCII ISO 8859/n characters in a preferences file. svn path=/trunk/; revision=2221
2000-07-09Turn the code of "colorize_packet()" into a static routine that is givenGuy Harris1-10/+34
a word to use in the progress dialog, and a flag indicating whether the display filter is to be reevaluated or not, and: have "colorize_packet()" call that routine with "Colorizing" and FALSE as those arguments; have the filtering code call that routine with "Filtering" and TRUE as those arguments; add an exported routine to call that routine with "Reprocessing" and TRUE as those arguments, to use to re-generate the packet list and to re-filter the packets if a protocol preference has been changed. Keep track of whether preferences are changed from their initial value by a preferences file or a command-line option, or from their previous value by the "Preferences" dialog box; have "prefs_apply_all()" only call the "apply" callback for a module if they have. Call "prefs_apply_all()" after the command-line arguments have been parsed and after "OK" has been clicked in the "Preferences" dialog box, to notify modules of preference changes if they've registered a callback for that. After "OK" has been clicked in the "Preferences" dialog box, if any preferences have changed, call the reprocessing routine, as the summary line for some frames and/or the current display filter's value when applied to some frames may have changed as a result of a preference change. Do the same after "OK" or "Apply" has been clicked in the "Display Options" dialog box (as it controls a protocol preferences item. svn path=/trunk/; revision=2126
2000-07-05Add support for a global "ethereal.conf" preferences file, stored in theGuy Harris1-43/+542
same directory as the "manuf" file ("/etc" or "/usr/local/etc", most likely). Add a mechanism to allow modules (e.g., dissectors) to register preference values, which: can be put into the global or the user's preference file; can be set from the command line, with arguments to the "-o" flag; can be set from tabs in the "Preferences" dialog box. Use that mechanism to register the "Decode IPv4 TOS field as DiffServ field" variable for IP as a preference. Stuff that still needs to be done: documenting the API for registering preferences; documenting the "-o" values in the man page (probably needs a flag similar to "-G", and a Perl script to turn the output into documentation as is done with the list of field); handling error checking for numeric values (range checking, making sure that if the user changes the variable from the GUI they change it to a valid numeric value); using the callbacks to, for example, update the display when preferences are changed (could be expensive); panic if the user specifies a numeric value with a base other than 10, 8, or 16. We may also want to clean up the existing wired-in preferences not to take effect the instant you tweak the widget, and to add an "Apply" button to the "Preferences" dialog. svn path=/trunk/; revision=2117