Ethereal-dev: Re: [Ethereal-dev] Mac OS X support
Note: This archive is from the project's previous web site, ethereal.com. This list is no longer active.
From: Guy Harris <gharris@xxxxxxxxx>
Date: Thu, 26 Jul 2001 00:36:00 -0700
On Wed, Jul 25, 2001 at 08:42:45PM +0200, Michael Tüxen wrote: > please find attached some patches which improve the support of Mac OS X. Checked in, with some changes: > - configure.in.patch > This patches configure.in to support the MacOS X specific compiler flag. > There is also a --disable-plugins options added. Instead, I changed the "--with-plugindir" flag to be "--with-plugins"; the directory argument to that flag is now optional, and "--without-plugins" is supported. The default for the flag is "yes" on platforms where GLib's "g_module_supported()" returns a non-zero value ("true"), and "no" on platforms where it returns zero ("false"). > - tethereal.c.patch > This patches tethereal.c to avoid the usage of the pcap_version string > which is not exported in the pcap library on MacOS X. > - gtkmain.c.patch > This patches gtk/main.c for the same reason as tethereal. Perhaps these should check, instead, for "pcap_version" being defined by libpcap, so that if you use, say, libpcap from tcpdump.org, rather than Apple's irritating version (not defining "pcap_version" is an irritating and, as far as I can tell, gratuitous incompatibility, unless their shared library mechanism makes it impossible to export it, which I'd consider an irritating incompatibility in its shared library mechanism). > I found one problem with the --enable-setuid-option: > If one uses the gtk library 1.2.n with n>=9 it will not work because > the library checks this. Yes, GTK+ 1.2.9 and later simply refuse to allow you to run GTK+ applications set-UID: http://www.gtk.org/faq/#AEN391 http://www.gtk.org/setuid.html > So it does not make much sense to have this option. Well, Tethereal doesn't use GTK+, and it's simpler, so maybe it's safe. However, I would *NOT* assume it's safe, and I won't commit to it being safe to run set-UID root. (For one thing, it doesn't give up its set-UID privileges, so it could be used to read capture files to which you don't have read permission....) (Then again, I mainly use FreeBSD at home, and solve this problem somewhat more simply: % ls -l /dev/bpf0 crw------- 1 guy wheel 23, 0 Feb 7 2000 /dev/bpf0 Linux distributions would also let you capture packets without root privilege if they provided a mechanism for giving accounts certain capability bits - just give CAP_NET_RAW to anybody who should be allowed to capture packets. See the tcpdump man page for information on other OSes: Reading packets from a network interface may require that you have special privileges: Under SunOS 3.x or 4.x with NIT or BPF: You must have read access to /dev/nit or /dev/bpf*. Under Solaris with DLPI: You must have read/write access to the network pseudo device, e.g. /dev/le. On at least some versions of Solaris, however, this is not suffi- cient to allow tcpdump to capture in promiscuous mode; on those versions of Solaris, you must be root, or tcpdump must be installed setuid to root, in order to capture in promiscuous mode. Under HP-UX with DLPI: You must be root or tcpdump must be installed setuid to root. Under IRIX with snoop: You must be root or tcpdump must be installed setuid to root. Under Linux: You must be root or tcpdump must be installed setuid to root. Under Ultrix and Digital UNIX: Once the super-user has enabled promiscuous-mode operation using pfconfig(8), any user may capture network traffic with tcpdump. Under BSD: You must have read access to /dev/bpf*. The comment about Linux reflects the lack of the ability to set capability bits on accounts.)
- References:
- [Ethereal-dev] Mac OS X support
- From: Michael Tüxen
- [Ethereal-dev] Mac OS X support
- Prev by Date: Re: [Ethereal-dev] seg fault - gtkclist ?
- Next by Date: Re: [Ethereal-dev] seg fault - gtkclist ?
- Previous by thread: [Ethereal-dev] Mac OS X support
- Next by thread: [Ethereal-dev] seg fault - gtkclist ?
- Index(es):