Skip site navigation (1)Skip section navigation (2)
Date:      Fri, 30 Jan 2009 19:33:04 +0000 (UTC)
From:      Giorgos Keramidas <keramida@FreeBSD.org>
To:        cvs-src-old@freebsd.org
Subject:   cvs commit: src/share/man/man4 ng_bpf.4
Message-ID:  <200901301933.n0UJXOaa027311@repoman.freebsd.org>

next in thread | raw e-mail | index | archive | help
keramida    2009-01-30 19:33:04 UTC

  FreeBSD src repository

  Modified files:
    share/man/man4       ng_bpf.4 
  Log:
  SVN rev 187935 on 2009-01-30 19:33:04Z by keramida
  
  Sometimes, depending on the bpf filter rules used in $PATTERN,
  the example script of the manpage feeds awk(1) with values larger
  than UINT32_MAX.  Then awk prints a negative value, and this
  messes up $BPFPROG.  Trying to load the resulting bpf byte codes
  with ngctl then fails.
  
  For example, the output for PATTERN="udp and dst net 255.255.0.0/16"
  should be (all in one line):
  
      bpf_prog_len=10
      bpf_prog=[
        { code=40 jt=0 jf=0 k=12 }
        { code=21 jt=7 jf=0 k=34525 }
        { code=21 jt=0 jf=6 k=2048 }
        { code=48 jt=0 jf=0 k=23 }
        { code=21 jt=0 jf=4 k=17 }
        { code=32 jt=0 jf=0 k=30 }
        { code=84 jt=0 jf=0 k=4294901760 }
        { code=21 jt=0 jf=1 k=4294901760 }
        { code=6 jt=0 jf=0 k=8192 }
        { code=6 jt=0 jf=0 k=0 }
      ]
  
  The two k=4294901760 values are displayed as k=-2147483648 by awk.
  
  Replace the awk script of the manpage example with a slower but
  safer version, that doesn't really attempt to convert the byte
  code printed by tcpdump from string to number and back.
  
  PR:             docs/123255
  Submitted by:   Eugenio Maffione, eugenio.maffione at telecomitalia.it
  MFC after:      3 days
  
  Revision  Changes    Path
  1.23      +8 -15     src/share/man/man4/ng_bpf.4



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200901301933.n0UJXOaa027311>