Huge thanks to our Platinum Members Endace and LiveAction,
and our Silver Member Veeam, for supporting the Wireshark Foundation and project.

Ethereal-dev: Re: [Ethereal-dev] 0.8.16 and Solaris

Note: This archive is from the project's previous web site, ethereal.com. This list is no longer active.

From: Guy Harris <gharris@xxxxxxxxxxxx>
Date: Thu, 8 Mar 2001 11:22:37 -0800
On Thu, Mar 08, 2001 at 05:29:05AM -0600, ethereal-dev@xxxxxxxxxxxxxxxxxx wrote:
> Ok, we've narrowed down the problem to zlib. We build zlib with LFS.

Zlib, to use the technical term, often sucks rancid bong water when
built with 64-bit file offset support in environments with 32-bit file
offsets.

See the big comment at the beginning of "wiretap/file_wrappers.c" for
the explanation, and note that this will screw over *other* programs
that use "gzseek()" as well.

You should fix the zlib you distribute so that, *regardless* of whether
HAVE_UNISTD_H is defined when the program using zlib includes "zlib.h",
"z_off_t" is defined the *exact same way* it's defined when zlib was
built.  I complained to the {Free,Net,Open}BSD folk, and they've all
fixed their zlibs (not in the same fashion, but, at least in
sufficiently recent versions of that OS, you can safely use "gzseek()"
regardless of whether your program defines HAVE_UNISTD_H before
including "zlib.h" or not).

(I've also complained to the zlib folks that they should *NOT* depend,
in header files they install, on anything that would only be defined by
some autoconf-generated #define from "config.h"; I've not heard of a
later release from them.)