Wireshark > 1.4 does not correctly read Association ID for PS Poll packets
Wireless Frame with subtype 0x1a don't interpret the Association ID (always 0).
Fix :
proto_tree_add_uint() wasn't changed to proto_tree_add_item()
#BACKPORT
svn path=/trunk/; revision=43556
proto_tree_draw() from r43189 is lazy, and it don't fills tree with all item labels.
To fix it, move 'gbl_resolv_flags' hack to proto_tree_model_get_value().
XXX could we pass resolving flags to proto_item_fill_label()?
svn path=/trunk/; revision=43550
PF_SYSTEM sockets on OS X.
Pull iface_mon_nl_init() into iface_mon_start(), to make it a little
easier to figure out what interface monitoring code on other platforms
should do.
Add a bunch of XXX comments about additional things we should perhaps
do.
svn path=/trunk/; revision=43545
packet-dbus.c(354) : error C2220: warning treated as error - no 'object' file generated
packet-dbus.c(354) : warning C4267: '=' : conversion from 'size_t' to 'int', possible loss of data
svn path=/trunk/; revision=43543
In MPEG-related dissectors, "adaption" is used instead of "adaptation" several
times. See patch (it also fixes an unrelated typo that happens to be on the
same line).
https://bugs.wireshark.org/bugzilla/show_bug.cgi?id=7421
svn path=/trunk/; revision=43539
platform-dependent work is now done in get_interface_type().
That means we also don't need to protect the handling of IF_DIALUP or
even IF_AIRPCAP in #ifdefs, just in case we add support for those types
in other OSes.
Nothing's uisng the capture_ethernet_16.xpm image here, so don't bother
including it. (Does *anybody* use it? I couldn't find any uses, but
maybe we should use that.)
svn path=/trunk/; revision=43531
geoip_db_lookup_ipv4() and geoip_db_lookup_ipv6().
In both of those routines, "ret" is always set to a non-null value -
it's initially set to the aforementioned string - so always return it.
svn path=/trunk/; revision=43526
does a ws_stat64() to check for the existence of files in /sys.
It's *not* needed in ui/gtk/main.c any more, as that code was moved out
of ui/gtk/main.c.
svn path=/trunk/; revision=43525
Add an interface monitor that, on Linux distributions with libnl,
watches for interfaces to appear or disappear and, on such an event,
causes windows showing interface lists to update.
svn path=/trunk/; revision=43521
that want a list of interfaces should either call
fill_in_local_interfaces() to make sure the list has been populated at
least once or refresh_local_interface_lists() if they want the list to
be rescanned.
Also make get_interface_type() local to ui/gtk/main.c, as it's not
called from outside ui/gtk/main.c.
Don't declare fill_in_local_interfaces() or hide_interface() unless we
have pcap - we don't define them unless we have pcap.
svn path=/trunk/; revision=43518
fill_capture_box():
if there are interfaces on which to capture, constructs the
interface list, otherwise destroys the interface list and puts
up a message.
update_capture_box():
updates the interface list to reflect current reality.
welcome_if_panel_reload():
if there is an interface list, and if there are interfaces on
which to capture (so that we still want that list), updates the
list by calling update_capture_box(), otherwise creates or
destroys it by calling fill_capture_box() (as either it doesn't
exist but now needs to or does exist but needs to go away).
Have refresh_local_interface_lists(), which re-fetches the list of local
interfaces and updates every interface list that includes local
interfaces, and refresh_non_local_interface_lists(), which only updates
interface lists that (also) include interfaces other than local
interfaces (such as pipes and remote interfaces). Call them in the
apprpriate places (if we know the list of local interfaces has been
updated, call refresh_local_interface_lists(), otherwise, if we know
interfaces other than local interfaces have been added or removed, call
refresh_non_local_interface_lists()).
Don't have any routine that updates the interface list for one widget
update the interface list for any other widget; leave the global
updating of interface lists up to refresh_local_interface_lists() and
refresh_non_local_interface_lists() - only call one of them if any
interface lists are to be updated.
svn path=/trunk/; revision=43517
add a capture_dlg_refresh_if() routine to redraw the list of
interfaces in the Capture -> Interfaces dialog if the lsit of
known interfaces is updated, and have it do that not by
destroying and reconstructing the entire dialog box, but just by
destroying and reconstructing the table containing the
interfaces and their statistics.
From me:
have a refresh_interfaces_cb() routine in ui/gtk/main.c that
scans the local interfaces and refreshes *all* the widgets that
have interface lists;
add a "Refresh Interfaces" item to the Capture menu that calls
that;
have the "Refresh" button in the "Manage Interfaces" window also
call that;
rename the Capture Options window routine dlg_window_present()
to capture_dlg_window_present() to make it clearer *which*
dialog it checks for;
fix Pontus' patch to call capture_stat_stop() *before* nulling
out the global pointer for the statistics cache - if it's called
*after* nulling it out, the argument passed to
capture_stat_stop() is null, and it doesn't kill off the dumpcap
gathering the statistics so they just pile up (and, at least on
OS X, chewing up BPF devices until you run out of BPF devices
that have the right ownership and permissions for dumpcap to use
as a normal user);
if refreshing the interfaces fails to get an interface list,
close the Capture Interfaces dialog.
svn path=/trunk/; revision=43515
PMIPV6 support over IPV4 network
PMIPv6 is an extension of MIPv6, adding a certain number of options to the
MIPv6 protocol. These options are already implemented in the wireshark
dissector, and the MIPv6 headers are recognized, but only inside IPv6 packets.
However, RFC5844 extends the PMIPv6 protocol to make it work over IPv4 networks
: as explained in section 4 of this RFC, the MIPv6 message is carried inside an
IPv4 packet with a UDP header. The port number in the UDP header is 5436
svn path=/trunk/; revision=43505
fails.
This may clear up the problem most recently reported in bug 7021 after
the crash was fixed, where the capture starts successfully but an error
dialog pops up.
svn path=/trunk/; revision=43501