aboutsummaryrefslogtreecommitdiffstats
path: root/util.c
AgeCommit message (Collapse)AuthorFilesLines
2004-07-18Set the svn:eol-style property on all text files to "native", so thatGuy Harris1-1/+1
they have LF at the end of the line on UN*X and CR/LF on Windows; hopefully this means that if a CR/LF version is checked in on Windows, the CRs will be stripped so that they show up only when checked out on Windows, not on UN*X. svn path=/trunk/; revision=11400
2004-06-25Fix automagically generated filters in case of remote login via IPv6.Jörg Mayer1-10/+12
This fix was picked from the source rpm of Suse 9.1. svn path=/trunk/; revision=11234
2004-05-22Fix the other place where we construct temporary path names to useGuy Harris1-4/+4
G_DIR_SEPARATOR and G_DIR_SEPARATOR_S, to get rid of one more horse-frightening pathname. svn path=/trunk/; revision=10955
2004-05-10As noted by Thomas Anders, the Heimdal libroken library has a base64_decode()Olivier Biot1-2/+2
function with a different signature than the one defined in util.c/util.h. For this reason, we need to rename our base64_decode() routine. The routine is now called epan_base64_decode(). svn path=/trunk/; revision=10840
2004-03-12Don't automatically set a capture filter if DISPLAY or REMOTEHOST areGerald Combs1-5/+12
"localhost" or "127.0.0.1". svn path=/trunk/; revision=10365
2004-02-07Use G_DIR_SEPARATOR_S rather than "/" as the pathname separator whenGuy Harris1-2/+2
constructing the pathname of a temporary file, so as not to frighten the horses when they see an error message for a temporary capture file. svn path=/trunk/; revision=10002
2004-01-11Rename DISSECTOR_HELPER_{SRC,OBJECTS} toGuy Harris1-302/+1
DISSECTOR_SUPPORT_{SRC,OBJECTS}. Add some additional files, required by dissectors, to those lists. Extract the stuff to get version information strings for libraries and the OS, which is *not* needed by dissectors, from "util.c", which contains routines that *are* needed by dissectors, and put it into a separate file. Make "dftest" link only with the dissector support stuff, not with all of the Ethereal common files. svn path=/trunk/; revision=9645
2003-12-21removed some MSVC warnings (moved pcap.h before glib.h)Ulf Lamping1-5/+5
svn path=/trunk/; revision=9393
2003-12-06From Olivier BiotGilbert Ramirez1-1/+35
New "matches" operater in display filter language. Uses PCRE. If a "matches" operator is found in a dfilter while libpcre has not been used to build the binary, then an exception is thrown after using dfilter_fail() to set an apporporiate error message. svn path=/trunk/; revision=9182
2003-12-01Don't automatically fill in a capture filter if CLIENTNAME is set toGerald Combs1-3/+5
"Console". svn path=/trunk/; revision=9130
2003-11-18Check the environment variables SSH_CONNECTION, SSH_CLIENT, REMOTEHOST,Gerald Combs1-1/+50
DISPLAY, and CLIENTNAME (in that order). If any of them are set, create a capture filter that excludes their traffic and set it as the default. The longer filters should be efficient without being overly long; they may need some tweaking. svn path=/trunk/; revision=8994
2003-11-02From Gisle Vanem:Gerald Combs1-8/+8
* Added a new function get_file_in_temp() to epan/filesystem.c. This because of asn1.dll plugin which had code to write to a log-file "c:\temp\ethereal.log". I feel this patch makes this safer; I don't even have a c:\temp dir. * Patched packet-asn1.c to use get_file_in_temp(). * Added some #undef to packet-snmp.c to silence gcc. * Changed "%u" -> "%lu" formats in util.c Rename get_file_in_temp() to get_tempfile_path() to match other function names. svn path=/trunk/; revision=8859
2003-10-31Include <windows.h> so that OSVERSIONINFO and the like are defined onGuy Harris1-1/+11
Windows. svn path=/trunk/; revision=8841
2003-10-10Get the version number of the libpcap/WinPcap with which we're runningGuy Harris1-46/+5
with "pcap_lib_version()", if available. svn path=/trunk/; revision=8656
2003-08-18From Gisle Vanem: MingW declares "rint()" in <math.h> and defines it inGuy Harris1-2/+4
a library, and declares "mode_t" in <sys/types.h>. svn path=/trunk/; revision=8185
2003-07-11From smhuang [AT] pcs.csie.nctu.edu.tw: fix a "g_string_append()" call.Guy Harris1-2/+2
svn path=/trunk/; revision=8014
2003-06-13Fixes to get it to compile on Win32.Guy Harris1-8/+6
svn path=/trunk/; revision=7878
2003-06-13On Win32, say "without WinPcap" rather than "without libpcap" (althoughGuy Harris1-1/+5
it's unlikely that somebody would build without WinPcap - they'd currently have to manually tweak config.h.win32; we can do the same trick there that we do with ADNS). svn path=/trunk/; revision=7877
2003-06-13Do run-time word-wrapping on the "Compiled with" message, rather thanGuy Harris1-14/+78
wiring the line boundaries in. On Win32, say "with WinPcap" rather than "with libpcap", and report both on whether we were compiled with WinPcap and whether we were able to load WinPcap. svn path=/trunk/; revision=7876
2003-06-13Put in a missing comma.Guy Harris1-2/+2
svn path=/trunk/; revision=7869
2003-05-26Add ADNS to the "Compiled with" list. Wrap at the SNMP library part sinceGerald Combs1-4/+10
the line was getting long. svn path=/trunk/; revision=7747
2003-05-23Move the base64_decode() function somewhere where other dissectors canTim Potter1-1/+34
use it. svn path=/trunk/; revision=7723
2003-03-12Change the version messages to put the "compiled with" stuff on aGuy Harris1-10/+19
separate line, and to put the "running with" info on a separate line from that, to make the output narrower. svn path=/trunk/; revision=7344
2003-03-08If we have <windows.h>, we need to include it to declare OSVERSIONINFO.Guy Harris1-4/+8
Fix some typos. Put the build number after the "szCSDVersion" value; on NT, that makes it show up as "Windows {NT x.y,2000,XP,etc.} Service Pack N, build N", and on OT, it might make it show up as "Windows {95,98,Me} X, build N", where "X" might be "A" or "B" or something such as that. (We might want to omit the space before "szCSDVersion" on Windows OT - I think the "right" name might be something like "Windows 95B", but I'm not sure.) svn path=/trunk/; revision=7324
2003-03-08Put the code to get version numbers of various libraries with whichGuy Harris1-1/+223
Ethereal/Tethereal was linked into a common routine, and use that in both Ethereal and Tethereal. Add to that routine code to get OS version information. svn path=/trunk/; revision=7320
2002-08-28Removed trailing whitespaces from .h and .c files using theJörg Mayer1-6/+6
winapi_cleanup tool written by Patrik Stridvall for the wine project. svn path=/trunk/; revision=6117
2002-08-02Replace the types from sys/types.h and netinet/in.h by their glib.hJörg Mayer1-5/+1
equivalents for the toplevel directory. The removal of winsock2.h will hopefully not cause any problems under MSVC++, as those files using struct timeval still include wtap.h, which still includes winsock2.h. svn path=/trunk/; revision=5932
2002-04-08More static-ization. In util.c, I commented out the ASCII-to-EBCDICGilbert Ramirez1-1/+3
functions, until that time that we need them. svn path=/trunk/; revision=5130
2001-11-09Wrap calls to "pcap_datalink()" in a routine that attempts to compensateGuy Harris1-302/+2
for AIX 5.x's non-standard libpcap, where "pcap_datalink()" doesn't return DLT_ values, it returns RFC 1573 ifType values. Put that wrapper, and the routine to get the interface list, in a separate file, for packet-capture utility routines, so not everybody who includes "util.h" needs to include <pcap.h>. Fix up the Wiretap hack for dealing with said incompatibility to use the correct ifType value for Token Ring. svn path=/trunk/; revision=4184
2001-10-26Fix the rest of the signed/unsigned comparison warnings.Gilbert Ramirez1-2/+2
svn path=/trunk/; revision=4088
2001-08-21On Windows, use the directory in which the binary resides as theGuy Harris1-48/+2
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-04-02"get_home_dir()", in "epan/filesystem.c", usesGuy Harris1-92/+1
"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-03-22Throw in a cast to squelch a complaint from Visual C++ 6.0.Guy Harris1-2/+2
svn path=/trunk/; revision=3157
2001-01-28There's no need for a member of a "capture_file" structure holding aGuy Harris1-1/+3
compiled capture filter program, so remove it, and remove the include of <pcap.h> from "file.h"; instead, have local "struct bpf_program" structures where needed, and have those files that need stuff from <pcap.h> include it. This cleans stuff up a bit, and should eliminate a pile of compile warnings with Visual C++ due to <pcap.h> and some GTK+/GLib header file (or files they include) both defining "inline". svn path=/trunk/; revision=2954
2000-12-23On Linux, try to open the "any" device and, if we can open it, add it toGuy Harris1-1/+18
the end of the list of interfaces on which you can capture. svn path=/trunk/; revision=2774
2000-10-11Fix it to build on Windows.Guy Harris1-2/+2
svn path=/trunk/; revision=2488
2000-09-28More EPAN-related code movements. Get rid of usage of #include "globals.h"Gilbert Ramirez1-77/+1
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-17libpcap unconditionally includes <net/if.h> on UNIX systems, as that is,Guy Harris1-2/+2
as far as I know, the only way to get IFF_UP, IFF_LOOPBACK, "struct ifreq", and "struct ifconf" defined, and those are required in order to get, via SIOCGIFCONF, the interface list, and to exclude interfaces that aren't up and handle loopback interfaces differently from other interfaces. If we're on UNIX and have libpcap, we should do the same; that way, if the system doesn't have <net/if.h> installed, the compile will fail with an "I can't find <net/if.h>" error, rather than the configure indicating that <net/if.h> can't be found, causing "util.c" not to include it, causing it to fail with complaints about IFF_UP, IFF_LOOPBACK, and various structures not being defined - the former tells you the root cause, the latter doesn't. svn path=/trunk/; revision=2442
2000-09-10Compute and display negative relative and delta time stamps correctly,Guy Harris1-1/+45
just in case time goes backwards (yes, it sometimes does happen in captures). svn path=/trunk/; revision=2407
2000-09-07Always use "g_free()" to free "ifc.ifc_buf"; it's set to a valueGuy Harris1-2/+2
allocated by "g_malloc()", and one should always use "g_free()" to free stuff allocated with "g_malloc()" (using "free()" works if GLib isn't compiled with any special memory allocator debugging/profiling options, but doesn't work if it is compiled with those options). svn path=/trunk/; revision=2393
2000-08-31The interface list will now be get into an dynamic growing buffer and notUwe Girlich1-14/+33
the (too big) buffer for 1024 network cards. The code comes directly after the ideas in Steven's book (UNIX network programming). svn path=/trunk/; revision=2385
2000-08-11Miscellaneous code cleaningLaurent Deniel1-6/+1
- 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-07-31Add a routine to check whether a file is a directory or not.Guy Harris1-1/+46
To test whether a file the user selected to be opened from the file selection box is really a directory (so that we can point the file selection box at it, rather than trying to open the directory as a capture file, which wouldn't work), use the routine in question. To make the GTK+ file selection box start out in the last directory from which we opened a file, use "gtk_file_selection_complete()", rather than "chdir()"ing to that directory. Those changes keep us from "chdir()"ing all over the place; that way, if Ethereal dumps core, the core dump shows up in the directory from which it was run, rather than in the directory from which you last opened or into which you last saved a file. svn path=/trunk/; revision=2190
2000-03-21Paul Welchinski's changes to, on Win32 systems:Guy Harris1-14/+35
properly handle ASCII vs. Unicode in the list of interfaces; initialize Winsock before starting a capture, so that the code in the Win32 libpcap to get the IP address and netmask by translating the host name to an IP address works. svn path=/trunk/; revision=1737
2000-03-14On Windows, when getting the user's home directory, don't look at theGuy Harris1-18/+56
HOME environment variable; instead, look at HOMEDRIVE and HOMEPATH. svn path=/trunk/; revision=1718
2000-02-22In Tethereal, allow capture filters and read filters either to beGuy Harris1-1/+41
specifies with "-f" and "-R" flags, respectively, or specified with non-flag command-line arguments, as tcpdump and snoop allow. svn path=/trunk/; revision=1663
2000-02-09Integrate Ed Meaney's <emeaney@altiga.com> changes for using libpcapGilbert Ramirez1-1/+29
from WinDump with Ethereal. We now have packet capturing on Win32. :) svn path=/trunk/; revision=1612
2000-01-31Add a semicolon in a win32 block of code.Gilbert Ramirez1-2/+2
svn path=/trunk/; revision=1587
2000-01-29Just pass the return value of "getuid()" directly on to "getpwuid()";Guy Harris1-4/+2
don't stuff it into a variable. svn path=/trunk/; revision=1582
2000-01-29Fix #ifndef line whose symbol had been omitted.Guy Harris1-2/+2
svn path=/trunk/; revision=1581