Dissect additional OSD-2 service actions (CREATE/REMOVE PARTITION, GET/SET ATTRIBUTES, QUERY).
This patch adds support for some OSD-2 service actions, following the approach described in bug 8832.
The implemented service actions are:
- CREATE PARTITION
- REMOVE PARTITION
- REMOVE COLLECTION
- GET ATTRIBUTES
- SET ATTRIBUTES
- QUERY
The following service action codes was #defined
- OSD_2_REMOVE_PARTITION 0x888c
The following trees were added
- ett_osd2_query_criteria_entry
The following fields were added:
- hf_scsi_osd2_remove_scope (REMOVE PARTITION)
- hf_scsi_osd2_immed_tr (QUERY)
- hf_scsi_osd2_matches_collection_object_id (QUERY)
- hf_scsi_osd2_query_type (query list CDB continuation descriptor)
- hf_scsi_osd2_query_entry_length (query list CDB continuation descriptor)
- hf_scsi_osd2_query_attributes_page (query list CDB continuation descriptor)
- hf_scsi_osd2_query_attribute_number (query list CDB continuation descriptor)
- hf_scsi_osd2_query_minimum_attribute_value_length (query list CDB continuation descriptor)*
- hf_scsi_osd2_query_maximum_attribute_value_length (query list CDB continuation descriptor)*
* (dissection of the attribute value in query descriptors is not implemented yet)
The following value_string arrays were added:
- scsi_osd2_remove_scope_val (OSD2r4 Table 143)
- scsi_osd2_query_type_vals (OSD2r4 Table 75)
The following value_string arrays were updated:
- scsi_osd_svcaction_vals
- scsi_osd2_object_descriptor_format_val
The following functions were added:
- dissect_osd2_query
- dissect_osd2_query_list_descriptor (dissect CDB continuation descriptor type 0x0002)
The following expert_info fields were added:
- ei_osd2_query_values_equal (PI_PROTOCOL,PI_NOTE) - the minimum and maximum attribute values are equal in a query descriptor entry
Changes in dissect_osd2_cdb_continuation:
- Dissect case 0x0002
Changes in dissect_osd_*
- Initialize extra_data->osd2
- Dissect OSD-2 specific fields
- Call dissect_osd_cdb_continuation_length / dissect_osd_cdb_continuation (if osd2)
- Version-specific increment of offset after dissecting capability/security_parameters
https://bugs.wireshark.org/bugzilla/show_bug.cgi?id=9029
svn path=/trunk/; revision=51331
should be freed when it is destroyed. This requires splitting packet_init in
two: the hash table which must be created before protocol registration, and the
caching of common protocol handles, which must happen after registration.
svn path=/trunk/; revision=51329
- if we find a name during lookup, return it even if it's not a dummy
- read personal hosts after global hosts so that they take precedence
Neither of these problems appear to be new - the recent work did not change this
logic, so I have no idea how come name resolution wasn't failing before, but I
guess the old hash table was weirder than I thought...
svn path=/trunk/; revision=51326
That way, if somebody specifies --with-gtk[23] and that version of GTK+
isn't found, we fail with an indication that the version of GTK+ they
asked for isn't there, and if no GUI toolkit was specified, and they
didn't explicitly say "don't build Wireshark", we look for GTK+ 3 and,
if it's not found, let the user know explicitly.
svn path=/trunk/; revision=51323
With gcc :
pcapng.c: In function 'pcapng_read_packet_block':
pcapng.c:1147:9: error: request for member 'pseudo_header' in something not a structure or union
With clang :
pcapng.c:1150:86: error: member reference type 'struct wtap_pkthdr *' is a pointer; maybe you meant to use '->'?
pcap_get_phdr_size(int_data.wtap_encap, &wblock->packet_header.pseudo_header));
~~~~~~~~~~~~~~~~~~~~~^
->
(Error message from clang is better...)
svn path=/trunk/; revision=51317
to remember this being suggested relatively recently on some mailing list
(either one of the Wireshark lists or tcpdump-workers, I think).
Handle systems where /usr/X11R6/bin is a symlink to /usr/bin and where
the user running autogen.sh has /usr/X11R6/bin before /usr/bin in their
$PATH.
svn path=/trunk/; revision=51315
try it without -ldl (in case the OS doesn't have it - not a good idea,
as it complicates the build process for cross-platform tools that might
require it on other platforms, but "not a good idea" never stopped UN*X
vendors in the past) and, if that fails, try it with -ldl.
svn path=/trunk/; revision=51309
information supplied by the kernel; sadly, we can't trust dladdr() to
use those mechanisms, so we try this first.
Expand the comment about finding the application bundle path given the
executable image path.
svn path=/trunk/; revision=51308
we're running from inside an OS X app bundle and, if we are, save the
pathname of the top-level bundle directory and use it to get the
pathnames of global data files, plugins, and Python modules.
This obviates the need to set special environment variables for them in
the launcher scripts, so get rid of the commands to do that.
The @rpathification of binaries also obviates the need for the
commented-out setting of DYLD_LIBRARY_PATH, so get rid of that as well.
svn path=/trunk/; revision=51306
consistency (they are called just once and will be inlined by any reasonable
compiler).
Also add some comments, fix some spacing etc. No functional changes.
svn path=/trunk/; revision=51304
doubly-linked list at the head of each block. This was intended as a step
towards supporting allocations bigger than the usual block size, but also shows
up as a 2% performance improvement in the speed test, so win-win.
svn path=/trunk/; revision=51298
Also tweak some ifdefs of function signatures. The multiple braces were
confusing my folder and my indenter, so ifdef *only* the changed parameters and
leave the bracing alone. This has the benefit of being a bit clearer too, I
think.
svn path=/trunk/; revision=51291
and assign float constants, not double constants, to float variables.
Floating-point constants are double by default; you have to add "f" to
the end to make them float.
This squelches 64-bit-to-32-bit warnings.
svn path=/trunk/; revision=51289
./frame_tvbuff.h:25:9: error: '__FRAME_TVBUFF__' is used as a header guard here,
followed by #define of a different macro [-Werror,-Wheader-guard]
#ifndef __FRAME_TVBUFF__
^~~~~~~~~~~~~~~~
./frame_tvbuff.h:26:9: note: '__FRAME_TVBUFF_H__' is defined here; did you mean
'__FRAME_TVBUFF__'?
#define __FRAME_TVBUFF_H__
^~~~~~~~~~~~~~~~~~
__FRAME_TVBUFF__
svn path=/trunk/; revision=51286
./packet-ldp.h:26:9: error: '__PACKET_LDP_H_' is used as a header guard here,
followed by #define of a different macro [-Werror,-Wheader-guard]
#ifndef __PACKET_LDP_H_
^~~~~~~~~~~~~~~
./packet-ldp.h:27:9: note: '__PACKET_LDP_H__' is defined here; did you mean
'__PACKET_LDP_H_'?
#define __PACKET_LDP_H__
^~~~~~~~~~~~~~~~
__PACKET_LDP_H_
svn path=/trunk/; revision=51285
./packet-idp.h:25:9: error: '__PACKET_IDP_H__' is used as a header guard here,
followed by #define of a different macro [-Werror,-Wheader-guard]
#ifndef __PACKET_IDP_H__
^~~~~~~~~~~~~~~~
./packet-idp.h:26:9: note: '__PACKET_IPX_H__' is defined here; did you mean
'__PACKET_IDP_H__'?
#define __PACKET_IPX_H__
^~~~~~~~~~~~~~~~
__PACKET_IDP_H__
svn path=/trunk/; revision=51284
../../epan/dissectors/packet-mpeg-sect.h:26:9: error: '__PACKET_MPEG_SECT_H_' is
used as a header guard here, followed by #define of a different macro
[-Werror,-Wheader-guard]
#ifndef __PACKET_MPEG_SECT_H_
^~~~~~~~~~~~~~~~~~~~~
../../epan/dissectors/packet-mpeg-sect.h:27:9: note: '__PACKET_MPEG_SECT_H__' is
defined here; did you mean '__PACKET_MPEG_SECT_H_'?
#define __PACKET_MPEG_SECT_H__
^~~~~~~~~~~~~~~~~~~~~~
__PACKET_MPEG_SECT_H_
svn path=/trunk/; revision=51283
./packet-osi-options.h:26:9: error: '_PACKET_OSI_OPTION_H' is used as a header
guard here, followed by #define of a different macro
[-Werror,-Wheader-guard]
#ifndef _PACKET_OSI_OPTION_H
^~~~~~~~~~~~~~~~~~~~
./packet-osi-options.h:27:9: note: '_PACKET_OSI_OPTIONS_H' is defined here; did
you mean '_PACKET_OSI_OPTION_H'?
#define _PACKET_OSI_OPTIONS_H
^~~~~~~~~~~~~~~~~~~~~
_PACKET_OSI_OPTION_H
svn path=/trunk/; revision=51282