Commit Graph

93 Commits

Author SHA1 Message Date
guy
8f758e65ff Use AC_TRY_LINK, not AC_TRY_COMPILE, when looking for
inet_ntop/inet_pton/inet_aton, and don't use AC_REPLACE_FUNCS to set
LIBOBJS to include the replacement module, as that does the full check
for the routine again, not just the simple replacement.

Move the tests in question after AC_LBL_LIBPCAP, so that we link with
the appropriate libraries (e.g., "-lsocket -lnsl" on Solaris) to use
when using those routines.
2003-05-02 08:48:25 +00:00
itojun
c3fff6e2c9 set ai_protocol explicitly, to make getaddrinfo(3) return two addrinfo
(sctp-enabled getaddrinfo would return more, and configure will consider
getaddrinfo as "buggy")  from jinmei@kame
2003-05-02 08:15:18 +00:00
guy
24f5540899 From Gisle Vanem: make print-esp.c work with more (maybe all?) OpenSSL
versions, and changes to make it work on DOS/Windows with various
compilers and C support libraries.
2003-03-02 23:19:33 +00:00
guy
0f4f08e620 Use "pcap_lib_version()" to get the libpcap version number if it's
available in the libpcap we're using.
2003-02-11 07:41:52 +00:00
guy
b8e2c3bead From Andrew Brown <atatat@atatdot.net>: add a "-U" flag, which causes
the output stream for "-w" to be flushed after each packet is dumped.

Add checks for "pcap_dump_flush()", and only enable the "-U" flag if
it's present.  Clean up the handling of the "getopt()" argument and the
usage message to get rid of the pile of #ifdefs.

Add documentation for the "-L" and "-y" flags.

Tweak the description of "-r" to properly format "-w" in the text.
2002-12-22 00:15:26 +00:00
guy
5c9aea35c4 We're using int8_t now, so we need to declare it ourselves if the OS
header files don't do so for us.
2002-12-11 05:00:05 +00:00
guy
c2bfaa8575 Check for "pcap_version" in libpcap in the configure scripts; apparently
the libpcap that comes with some platforms doesn't define it.

Check for "pcap_debug" and "yydebug" in libpcap in the configure
scripts, so that whichever one is present (which might depend on whether
libpcap was built with standard YACC or Berkeley YACC/Bison), if any is
present, will be used by the "-Y" flag (if none is present, "-Y" won't
be supported).
2002-09-05 01:31:41 +00:00
guy
edb0e92cdc Add a few more GCC warnings on GCC >= 2 for ".devel" builds.
From Neil T. Spring: fixes for many of those warnings:

	addrtoname.c, configure.in: Linux needs netinet/ether.h for
	ether_ntohost

	print-*.c: change char *foo = "bar" to const char *foo = "bar"
	to appease -Wwrite-strings; should affect no run-time behavior.

	print-*.c: make some variables unsigned.

	print-bgp.c: plen ('prefix len') is unsigned, no reason to
	validate by comparing to zero.

	print-cnfp.c, print-rx.c: use intoa, provided by addrtoname,
	instead of inet_ntoa.

	print-domain.c: unsigned int l; (l=foo()) < 0 is guaranteed to
	be false, so check for (u_int)-1, which represents failure,
	explicitly.

	print-isakmp.c: complete initialization of attrmap objects.

	print-lwres.c: "if(x); print foo;" seemed much more likely to be
	intended to be "if(x) { print foo; }".

	print-smb.c: complete initialization of some structures.

In addition, add some fixes for the signed vs. unsigned comparison
warnings:

	extract.h: cast the result of the byte-extraction-and-combining,
	as, at least for the 16-bit version, C's integral promotions
	will turn "u_int16_t" into "int" if there are other "int"s
	nearby.

	print-*.c: make some more variables unsigned, or add casts to an
	unsigned type of signed values known not to be negative, or add
	casts to "int" of unsigned values known to fit in an "int", and
	make other changes needed to handle the aforementioned variables
	now being unsigned.

	print-isakmp.c: clean up the handling of error/status indicators
	in notify messages.

	print-ppp.c: get rid of a check that an unsigned quantity is >=
	0.

	print-radius.c: clean up some of the bounds checking.

	print-smb.c: extract the word count into a "u_int" to avoid the
	aforementioned problems with C's integral promotions.

	print-snmp.c: change a check that an unsigned variable is >= 0
	to a check that it's != 0.

Also, fix some formats to use "%u" rather than "%d" for unsigned
quantities.
2002-09-05 00:00:07 +00:00
guy
04333b4868 Check for "pcap_findalldevs()" in libpcap in the configuration script;
only use it if we find it.

Define DHAVE_PCAP_FINDALLDEVS in the Windows GNU Makefile and project
file, as WinPcap has "pcap_findalldevs()".
2002-08-03 22:37:01 +00:00
guy
699cadc0a8 Put in some comments about stuff I noticed when trying to get tcpdump to
build on Tru64 UNIX 5.1.
2002-08-03 20:28:05 +00:00
guy
d53708007f Fix a typo. 2002-08-02 04:01:33 +00:00
guy
b1263c69c5 Some versions of the HP C compiler can handle inlines, but not if they
return a structure pointer.  Check whether the C compiler can handle
inline functions that return a structure pointer, not whether they can
handle inline functions that return an int, as at least some versions of
autoconf's AC_C_INLINE do.
2002-06-28 10:45:40 +00:00
guy
86cfeae8ab From Kazushi Sugyo <sugyo@pb.jp.nec.com>:
Here is a patch for draft-ietf-mobileip-ipv6-17.
	- print-mobility.c: Mobility header(MIPv6 defines a new IPv6 protocol)
	  printing
	- added Routing header type 2
	- ICMPv6 Home Agent Address Discovery and Mobile Prefix Sol., Adv.
	  message update
2002-06-27 08:21:39 +00:00
itojun
24ec836293 __ss_len/family is now nonstandard. standards were clarified to use
ss_len/family.
2002-06-11 17:15:30 +00:00
guy
6aa353579f From Maciej W. Rozycki <macro@ds2.pg.gda.pl>:
Here is a patch that addresses a few SSL-related issues noticed:

	1. The "/usr" directory is not the best choice to start looking
	   for SSL libraries when cross-compiling.  The patch adds
	   "/usr/${host_alias}" at the front.  Actually the test is quite
	   bogus anyway -- there might be no libcrypto.a library at all
	   (but e.g. libcrypto.so), so a better approach would be trying to
	   link against -lcrypto and seeing if that works.  First with no
	   additional options (it might be in the default compiler/linker's
	   search patch, like on sane systems), then with the -L<dir>
	option.

	2. The "cast.h" and "rc5.h" headers should include the
	   "openssl/" path as that is what is used throughout the code.
	   Right now they are simply not found by configure.

	3. The buggy CAST128 test should use a cache variable to permit
	   overriding by an educated user.

	I think I may actually rewrite the test as described in #1 above
	one day, but my time is quite limited and tcpdump is not my
	priority task, so it might not happen soon.  I won't mind if
	someone does it earlier.
2002-04-07 02:16:03 +00:00
guy
49385084a8 From Maciej W. Rozycki <macro@ds2.pg.gda.pl>:
Due to missing quotes a shell complains about the "while"
	command missing ("bash: while: command not found").
2002-04-07 02:12:01 +00:00
guy
0c39e2bdaa From Maciej W. Rozycki <macro@ds2.pg.gda.pl>:
DECnet support currently assumes certain conditions instead of
	checking for them explicitly.  The following code checks if
	dnet_htoa() is available, possibly in libdnet and also verifies
	there is no declaration for the function in <netdnet/dnetdb.h>
	before it decides to provide a substitute.
2002-04-07 02:09:04 +00:00
guy
24ee0160a3 From Maciej W. Rozycki <macro@ds2.pg.gda.pl>:
An incomplete getaddrinfo bug test may prevent from
	cross-compiling a working IPv6 support.  Caching the test's
	variable permits a user to override a result if he knows a given
	stack implementation is fine.
2002-04-07 02:01:36 +00:00
guy
7941e0e4b7 Enable the SMB dissector by default, now that Bill Fenner's added bounds
checking; however, leave in the "possibly buggy" warning and the option
to disable it.
2002-01-17 05:00:16 +00:00
guy
ea54ca7605 Replace "target_cpu", "target_os", and AC_CANONICAL_SYSTEM with
"host_cpu", "host_os", and AC_CANONICAL_HOST, as per Maciej W.
Rozycki's patch.
2001-12-10 08:41:15 +00:00
guy
c8a665cd1e If the user specified neither "--enable-smb" nor "--disable-smb", print
"no" after printing the "Checking whether to enable the possibly-buggy
SMB printer" message (as we default to not enabling it), rather than
printing nothing and having the next "Checking ..." message show up
after it on the same line.
2001-10-09 06:56:24 +00:00
fenner
a5562fdcfe Add --enable-smb to make it easier to re-enable the SMB printer. 2001-10-08 21:25:15 +00:00
fenner
d57c77a1ed Don't include <net/ethernet.h> when checking for buggy ether_ntohost.
Don't check for getipnodebyname(), since we don't use it.
Use AC_SEARCH_LIBS instead of AC_CHECK_LIB for -lnsl, so that it
 doesn't get included when not needed.
Redo AC_LBL_LIBRARY_NET to use AC_SEARCH_LIBS extensively.
2001-10-08 16:17:02 +00:00
guy
cab3c4cb47 As we're not using "bcmp()" or "bcopy()" in "addrtoname.c", we don't
need to include <strings.h> on some platforms in order to declare them.
2001-06-28 10:27:08 +00:00
fenner
2534d28e34 Remove the request to ignore the warning, since the thing that
generates the warning is gone.

Forgotten by:	itojun
2001-06-28 00:24:04 +00:00
guy
cc67460fe4 If the platform on which tcpdump is being built has "strings.h", include
it in "addrtoname.c", so that "bcmp()" and "bcopy()" are defined.
2001-06-26 06:36:08 +00:00
itojun
57b2b8fb2f AC_C_BIGENDIAN is no longer used. 2001-06-24 21:39:08 +00:00
fenner
3893f46237 Change HAVE_ETHER_HOSTTON to USE_ETHER_HOSTTON
Only define USE_ETHER_HOSTTON if ether_hostton() doesn't dump core.
2001-04-27 02:33:42 +00:00
itojun
d7e0b408cc correct openssl include pathname management. <openssl/foo.h> should be
used (see openssl docs).
2001-04-13 02:56:37 +00:00
guy
84018cc541 Patch from Pekka Savola <pekkas@netcore.fi> to get rid of "savestr()"
(which doesn't actually seem to be significantly more efficient than
"strdup()", at least not to the extent that it makes any difference to
"tcpdump"), modified to use the BSD "strdup()", rather than the old
"savestr()", on platforms that lack "strdup()".
2001-01-20 07:22:20 +00:00
guy
e0349b359b Sigh. Not all systems have <netinet/if_ether.h> - for example, at least
some libc5 Linux systems don't - so we have to check whether it exists,
and include it only if it does.
2001-01-17 18:27:36 +00:00
fenner
7812585f2f Add -L to beginning of LDFLAGS, not end of LIBS. 2001-01-09 07:21:53 +00:00
guy
5c46e9a6cc Patch from Pekka Savola <pekkas@netcore.fi> to keep from dragging in our
version of "snprintf()" unless the platform on which we're running lacks
"snprintf()" or "vsnprintf()" - if it lacks one of the "asprintf" family
of routines, we don't drag it in, as we don't use those routines.
2001-01-02 22:36:50 +00:00
fenner
f5c79aedbe Allow tcpdump to work with earlier libpcaps.
(Tested with libpcap-0.4 as comes with FreeBSD 3.4)
2000-12-09 02:58:45 +00:00
fenner
c09e6737ee Eliminate __P(). 2000-10-24 00:56:48 +00:00
guy
9716bf22f2 We should no longer need to use our own versions of system header files
when compiling on Linux, as we extracted from those copies the
definitions and declarations we need in order to dissect packets, and
put them into our own header files in the regular source directory.

We should also no longer need to define __STDC__ as 2 on Digital UNIX,
as we're no longer including the native OS's <netinet/ip.h> to get the
layout of an IP packet declared, we're using our own "ip.h" header file
for that.
2000-10-21 04:54:26 +00:00
guy
b72953a314 As we no longer use the system's "slip.h" header file, there's no need
to check for it.
2000-10-09 01:58:53 +00:00
itojun
01ebeb4600 no need to check struct defs in netinet/icmp6.h 2000-10-07 05:58:06 +00:00
itojun
572684c348 no need to define ENABLE_IPV6, we use INET6 2000-10-07 05:47:31 +00:00
guy
b67cb8951c We no longer include <netinet/ip.h>, so we don't need to work around
Digital UNIX using "ip_vhl" rather than "ip_v" and "ip_hl" bitfields if
__STDC__ is defined (we have our own "ip.h", and we don't use bitfields
in it).

Get rid of HAVE_INET_ATON, HAVE_INET_NTOP, and HAVE_INET_PTON - we don't
use them; instead, we supply our own versions of "inet_aton()",
"inet_ntop()", and "inet_pton()".  (Defining them in "configure.in"
caused complaints from "autoreconf".)

Check for the "rc5.h" header, as we *do* use HAVE_RC5_H.
2000-10-06 04:19:21 +00:00
itojun
b1b643aa50 workaround check of inet_{ntop,pton} for bsdi4.
bsdi4 ships with BIND8 resolver, and the way it defines inet_{ntop,pton}
is rather strange; it does not ship with libc symbol "inet_ntop".
it ships with "_inet_ntop", and has a #define macro in header to rename it.
AC_CHECK_FUNCS will always fail for resolver functions.

i consider it as a bug in merger.  bsdi should have done the following:
- supply _inet_ntop for libc-internal calls
- supply weak symbol inet_ntop for external reference
- no #define in headers

from kame.
2000-10-03 02:59:53 +00:00
itojun
7f771a11e4 remove rc5 support.
- presense of rc5.h does not correctly identify availability of rc5 library
  (neither AC_CHECK_FUNCS),
- we don't advocate it,
- and its use is very rare.
2000-09-29 20:37:27 +00:00
guy
e894092542 Add definitions of Ethernet types from
"linux-includes/netinet/if_ether.h" to "ethertype.h".

Move other stuff used by dissectors from <netinet/if_ether.h> to
"ether.h", along the lines of "fddi.h" and "token.h".

Move ARP declarations from BSD include files to "print-arp.c".

Remove from dissectors includes of <netinet/if_ether.h>, and add
includes of "ethertype.h" and/or "ether.h" as necessary.

Get rid of configuration options that test declarations now made in
"ether.h" or "print-arp.c", as those declarations are now under our
control, not the OS's control.
2000-09-23 08:03:27 +00:00
assar
f09ae44415 remove gnuc.h 2000-07-11 00:48:16 +00:00
assar
448ed9c0dc remove setting of umask and test for malloc.h, memory.h 2000-07-01 03:39:54 +00:00
assar
5a0c056a7c better and more careful check for smi. From Juergen Schoenwaelder
<schoenw@ibr.cs.tu-bs.de>
2000-06-26 21:27:17 +00:00
assar
f3bf8e7579 don't check for gethostbyname2, it's not being used 2000-06-26 04:19:43 +00:00
assar
5c8ac608be be more cross-compilation friendly.
From cgd@netbsd.org (Chris G. Demetriou)
2000-06-10 14:19:02 +00:00
itojun
bb0457a5e2 revise ICMPv6 nodeinfo decoding. based on 03-05 drafts
(there are way too many protocol changes)
2000-05-10 08:20:52 +00:00
itojun
df828a7f40 align output from ./configure --help. 2000-04-27 10:50:27 +00:00