[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: user/3746: tcpdump wont write to stdout
This fixes the problem.
Thanks,
David Gwynne
----- Original Message -----
From: "Otto Moerbeek" <otto@drijf.net>
To: <bugs@cvs.openbsd.org>
Sent: Wednesday, April 14, 2004 5:30 PM
Subject: Re: user/3746: tcpdump wont write to stdout
> The following reply was made to PR user/3746; it has been noted by GNATS.
>
> From: Otto Moerbeek <otto@drijf.net>
> To: loki@animata.net
> Cc: gnats@openbsd.org
> Subject: Re: user/3746: tcpdump wont write to stdout
> Date: Wed, 14 Apr 2004 09:23:00 +0200 (CEST)
>
> On Wed, 14 Apr 2004 loki@animata.net wrote:
>
> > >Number: 3746
> > >Category: user
> > >Synopsis: "tcpdump -w -" fails
>
> Please try this.
>
> -Otto
>
> Index: privsep_pcap.c
> ===================================================================
> RCS file: /cvs/src/usr.sbin/tcpdump/privsep_pcap.c,v
> retrieving revision 1.3
> diff -u -p -r1.3 privsep_pcap.c
> --- privsep_pcap.c 8 Apr 2004 12:38:00 -0000 1.3
> +++ privsep_pcap.c 14 Apr 2004 07:19:30 -0000
> @@ -483,9 +483,10 @@ priv_pcap_dump_open(pcap_t *p, char *fna
> if (priv_fd < 0)
> errx(1, "%s: called from privileged portion\n", __func__);
>
> - if (fname[0] == '-' && fname[1] == '\0')
> + if (fname[0] == '-' && fname[1] == '\0') {
> f = stdout;
> - else {
> + priv_init_done();
> + } else {
> write_command(priv_fd, PRIV_OPEN_OUTPUT);
> fd = receive_fd(priv_fd);
> must_read(priv_fd, &err, sizeof(err));