working on MacOS X.
It appears that the underlying problem with the timeout was that we
weren't treating MacOS X as a BSD, and the "select()" we were doing
presumably wasn't working as it doesn't work on BPF devices on many
BSDs; the workaround no longer appears to be necessary, with Michael's
fix to treat MacOS X as BSD.
(Presumably a select timeout with "tv_usec" set to 1000*1000
microseconds was treated as an error, or otherwise treated in such a way
that it didn't block waiting for the BPF device to say it could be
read.)
svn path=/trunk/; revision=5637
task of creating a fregment tree for the fragmented packets.
Having this identical code to create this tree in every dissector that does
PDU reassembly is a huge waste and duplication of code.
Updated IP, SMB and DCERPC to use the new function.
svn path=/trunk/; revision=5626
Use the di->levels field to pass info to notify options rather than
mucking about with the private_data fields which mysteriously doesn't
work.
Fixed some display bugs in notify data.
svn path=/trunk/; revision=5625
prs_werror().
Converted RFFPCNEX (FindFirstPrintChangeNotification) to Ronnie's NDR
routines.
Implemented RFNPCNEX (FindNextPrintChangeNotification). Print
notification data is dissected in a length/buffer format instead of
dissecting as the underlying type (string secdesc, devmode etc).
svn path=/trunk/; revision=5623
BPF, in at least some OS versions, acts like the other BPFs in some
versions of other BSDs, and doesn't work with "select()".
svn path=/trunk/; revision=5620
is always called before the "close" routine is called, so the "close"
routine doesn't need to free anything that's freed by the
"sequential_close" routine.
svn path=/trunk/; revision=5619
the packets, as the offsets of the frames have been saved by our caller
(because they need them to pass to the random-read routine); add a
sequential_close routine for Netmon files and free up the frame table in
that routine.
svn path=/trunk/; revision=5618
This fixes some bugs:
1. With the -S option under Linux, Capture/Stop or ^E was
ignored until the next packet was read. This is because
capture.c wasn't checking for EINTR from select(), which is
returned when the child receives SIGUSR1 from the parent.
2. When reading from a pipe, a spurious error message from
pcap_open_live() was written to stderr.
3. Error messages from the child in Sync mode were displayed in
a Warning alert box.
Also, there's a new subroutine, popup_errmsg(), to replace
several instances of duplicate code.
svn path=/trunk/; revision=5616
in the "packet_info" structure instead, as we don't need a pointer for
every single frame in the capture file, just for each frame for which we
currently have an open "epan_dissect_t".
svn path=/trunk/; revision=5614
of the directory for Ethereal configuration files, not the configuration
file directory, as the Diameter dissector looks for them in the
subdirectory.
svn path=/trunk/; revision=5607
of the directory for Ethereal configuration files, not the configuration
file directory, as the Diameter dissector looks for them in the
subdirectory.
svn path=/trunk/; revision=5606
resulting in an assert to abort ethereal.
It shows that the assers worked and that it will find bugs and not allow the dissectors to misdissect the packets.
svn path=/trunk/; revision=5601