Add editor modelines; Adjust whitespace as needed.

Change-Id: I391cdf80a6e4ae5b0f4068e0500a90d013588f8a
Reviewed-on: https://code.wireshark.org/review/4442
Reviewed-by: Bill Meier <wmeier@newsguy.com>
This commit is contained in:
Bill Meier 2014-10-03 10:13:07 -04:00
parent 451de17929
commit bb5daa6ae9
42 changed files with 4107 additions and 3564 deletions

View File

@ -45,23 +45,23 @@ void proto_reg_handoff_aim_generic(void);
#define FAMILY_GENERIC_MOTD_MOTDTYPE_NEWS 0x0006
static const value_string aim_snac_generic_motd_motdtypes[] = {
{ FAMILY_GENERIC_MOTD_MOTDTYPE_MDT_UPGRADE, "Mandatory Upgrade Needed Notice" },
{ FAMILY_GENERIC_MOTD_MOTDTYPE_ADV_UPGRADE, "Advisable Upgrade Notice" },
{ FAMILY_GENERIC_MOTD_MOTDTYPE_SYS_BULLETIN, "AIM/ICQ Service System Announcements" },
{ FAMILY_GENERIC_MOTD_MOTDTYPE_NORMAL, "Standard Notice" },
{ FAMILY_GENERIC_MOTD_MOTDTYPE_NEWS, "News from AOL service" },
{ 0, NULL }
{ FAMILY_GENERIC_MOTD_MOTDTYPE_MDT_UPGRADE, "Mandatory Upgrade Needed Notice" },
{ FAMILY_GENERIC_MOTD_MOTDTYPE_ADV_UPGRADE, "Advisable Upgrade Notice" },
{ FAMILY_GENERIC_MOTD_MOTDTYPE_SYS_BULLETIN, "AIM/ICQ Service System Announcements" },
{ FAMILY_GENERIC_MOTD_MOTDTYPE_NORMAL, "Standard Notice" },
{ FAMILY_GENERIC_MOTD_MOTDTYPE_NEWS, "News from AOL service" },
{ 0, NULL }
};
#define RATEINFO_STATE_LIMITED 0x01
#define RATEINFO_STATE_ALERT 0x02
#define RATEINFO_STATE_CLEAR 0x03
#define RATEINFO_STATE_LIMITED 0x01
#define RATEINFO_STATE_ALERT 0x02
#define RATEINFO_STATE_CLEAR 0x03
static const value_string rateinfo_states[] = {
{ RATEINFO_STATE_LIMITED, "Limited" },
{ RATEINFO_STATE_ALERT, "Alert" },
{ RATEINFO_STATE_CLEAR, "Clear" },
{ 0, NULL }
{ RATEINFO_STATE_LIMITED, "Limited" },
{ RATEINFO_STATE_ALERT, "Alert" },
{ RATEINFO_STATE_CLEAR, "Clear" },
{ 0, NULL }
};
#define RATECHANGE_MSG_LIMIT_PARAMS_CHANGED 0x0001
@ -70,32 +70,32 @@ static const value_string rateinfo_states[] = {
#define RATECHANGE_MSG_LIMIT_CLEAR 0x0004
static const value_string ratechange_msgs[] = {
{ RATECHANGE_MSG_LIMIT_PARAMS_CHANGED, "Rate limits parameters changed" },
{ RATECHANGE_MSG_LIMIT_WARN, "Rate limits warning (current level < alert level)" },
{ RATECHANGE_MSG_LIMIT_HIT, "Rate limit hit (current level < limit level)" },
{ RATECHANGE_MSG_LIMIT_CLEAR, "Rate limit clear (current level now > clear level)" },
{ 0, NULL },
{ RATECHANGE_MSG_LIMIT_PARAMS_CHANGED, "Rate limits parameters changed" },
{ RATECHANGE_MSG_LIMIT_WARN, "Rate limits warning (current level < alert level)" },
{ RATECHANGE_MSG_LIMIT_HIT, "Rate limit hit (current level < limit level)" },
{ RATECHANGE_MSG_LIMIT_CLEAR, "Rate limit clear (current level now > clear level)" },
{ 0, NULL },
};
#define EXT_STATUS_TYPE_BUDDY_ICON_0 0
#define EXT_STATUS_TYPE_BUDDY_ICON_1 1
#define EXT_STATUS_TYPE_AVAIL_MSG 2
#define EXT_STATUS_TYPE_UNKNOWN 6
#define EXT_STATUS_TYPE_UNKNOWN 6
static const value_string ext_status_types[] = {
{ EXT_STATUS_TYPE_BUDDY_ICON_0, "Request to send buddy icon" },
{ EXT_STATUS_TYPE_BUDDY_ICON_1, "Request to send buddy icon" },
{ EXT_STATUS_TYPE_AVAIL_MSG, "Extended Status Update" },
{ 0, NULL },
{ EXT_STATUS_TYPE_BUDDY_ICON_0, "Request to send buddy icon" },
{ EXT_STATUS_TYPE_BUDDY_ICON_1, "Request to send buddy icon" },
{ EXT_STATUS_TYPE_AVAIL_MSG, "Extended Status Update" },
{ 0, NULL },
};
#define EXT_STATUS_FLAG_INITIAL_SEND 0x41
#define EXT_STATUS_FLAG_RESEND 0x81
#define EXT_STATUS_FLAG_INITIAL_SEND 0x41
#define EXT_STATUS_FLAG_RESEND 0x81
static const value_string ext_status_flags[] = {
{ EXT_STATUS_FLAG_INITIAL_SEND, "First Send Request" },
{ EXT_STATUS_FLAG_RESEND, "Request To Re-Send" },
{ 0, NULL },
{ EXT_STATUS_FLAG_INITIAL_SEND, "First Send Request" },
{ EXT_STATUS_FLAG_RESEND, "Request To Re-Send" },
{ 0, NULL },
};
/* Initialize the protocol and registered fields */
@ -148,316 +148,316 @@ static gint ett_generic_rateinfo_group = -1;
static int dissect_rate_class(tvbuff_t *tvb, packet_info *pinfo _U_, int offset, proto_tree *class_tree)
{
proto_tree_add_item(class_tree, hf_generic_rateinfo_classid, tvb, offset, 2, ENC_BIG_ENDIAN);offset+=2;
proto_tree_add_item(class_tree, hf_generic_rateinfo_windowsize, tvb, offset, 4, ENC_BIG_ENDIAN);offset+=4;
proto_tree_add_item(class_tree, hf_generic_rateinfo_clearlevel, tvb, offset, 4, ENC_BIG_ENDIAN);offset+=4;
proto_tree_add_item(class_tree, hf_generic_rateinfo_alertlevel, tvb, offset, 4, ENC_BIG_ENDIAN);offset+=4;
proto_tree_add_item(class_tree, hf_generic_rateinfo_limitlevel, tvb, offset, 4, ENC_BIG_ENDIAN);offset+=4;
proto_tree_add_item(class_tree, hf_generic_rateinfo_disconnectlevel, tvb, offset, 4, ENC_BIG_ENDIAN);offset+=4;
proto_tree_add_item(class_tree, hf_generic_rateinfo_currentlevel, tvb, offset, 4, ENC_BIG_ENDIAN);offset+=4;
proto_tree_add_item(class_tree, hf_generic_rateinfo_maxlevel, tvb, offset, 4, ENC_BIG_ENDIAN);offset+=4;
proto_tree_add_item(class_tree, hf_generic_rateinfo_lasttime, tvb, offset, 4, ENC_BIG_ENDIAN);offset+=4;
proto_tree_add_item(class_tree, hf_generic_rateinfo_curstate, tvb, offset, 1, ENC_NA);offset+=1;
return offset;
proto_tree_add_item(class_tree, hf_generic_rateinfo_classid, tvb, offset, 2, ENC_BIG_ENDIAN);offset+=2;
proto_tree_add_item(class_tree, hf_generic_rateinfo_windowsize, tvb, offset, 4, ENC_BIG_ENDIAN);offset+=4;
proto_tree_add_item(class_tree, hf_generic_rateinfo_clearlevel, tvb, offset, 4, ENC_BIG_ENDIAN);offset+=4;
proto_tree_add_item(class_tree, hf_generic_rateinfo_alertlevel, tvb, offset, 4, ENC_BIG_ENDIAN);offset+=4;
proto_tree_add_item(class_tree, hf_generic_rateinfo_limitlevel, tvb, offset, 4, ENC_BIG_ENDIAN);offset+=4;
proto_tree_add_item(class_tree, hf_generic_rateinfo_disconnectlevel, tvb, offset, 4, ENC_BIG_ENDIAN);offset+=4;
proto_tree_add_item(class_tree, hf_generic_rateinfo_currentlevel, tvb, offset, 4, ENC_BIG_ENDIAN);offset+=4;
proto_tree_add_item(class_tree, hf_generic_rateinfo_maxlevel, tvb, offset, 4, ENC_BIG_ENDIAN);offset+=4;
proto_tree_add_item(class_tree, hf_generic_rateinfo_lasttime, tvb, offset, 4, ENC_BIG_ENDIAN);offset+=4;
proto_tree_add_item(class_tree, hf_generic_rateinfo_curstate, tvb, offset, 1, ENC_NA);offset+=1;
return offset;
}
static int dissect_generic_rateinfo(tvbuff_t *tvb, packet_info *pinfo _U_, proto_tree *tree)
{
int offset = 0;
guint16 i;
guint16 numclasses = tvb_get_ntohs(tvb, 0);
proto_tree *classes_tree = NULL, *groups_tree, *group_tree;
proto_tree_add_uint(tree, hf_generic_rateinfo_numclasses, tvb, 0, 2, numclasses );
offset+=2;
int offset = 0;
guint16 i;
guint16 numclasses = tvb_get_ntohs(tvb, 0);
proto_tree *classes_tree = NULL, *groups_tree, *group_tree;
proto_tree_add_uint(tree, hf_generic_rateinfo_numclasses, tvb, 0, 2, numclasses );
offset+=2;
if(tree) {
/* sizeof(rate_class_struct) = 35 ! */
classes_tree = proto_tree_add_subtree(tree, tvb, offset, 35 * numclasses,
ett_generic_rateinfo_classes, NULL, "Available Rate Classes");
}
if(tree) {
/* sizeof(rate_class_struct) = 35 ! */
classes_tree = proto_tree_add_subtree(tree, tvb, offset, 35 * numclasses,
ett_generic_rateinfo_classes, NULL, "Available Rate Classes");
}
for(i = 0; i < numclasses; i++) {
guint16 myid = tvb_get_ntohs(tvb, offset);
proto_tree *class_tree = proto_tree_add_subtree_format(classes_tree, tvb, offset, 35,
ett_generic_rateinfo_class, NULL, "Rate Class 0x%02x", myid);
offset = dissect_rate_class(tvb, pinfo, offset, class_tree);
}
for(i = 0; i < numclasses; i++) {
guint16 myid = tvb_get_ntohs(tvb, offset);
proto_tree *class_tree = proto_tree_add_subtree_format(classes_tree, tvb, offset, 35,
ett_generic_rateinfo_class, NULL, "Rate Class 0x%02x", myid);
offset = dissect_rate_class(tvb, pinfo, offset, class_tree);
}
groups_tree = proto_tree_add_subtree(tree, tvb, offset, -1, ett_generic_rateinfo_groups, NULL, "Rate Groups");
groups_tree = proto_tree_add_subtree(tree, tvb, offset, -1, ett_generic_rateinfo_groups, NULL, "Rate Groups");
for(i = 0; i < numclasses; i++) {
guint16 j;
guint16 myid = tvb_get_ntohs(tvb, offset);
guint16 numpairs = tvb_get_ntohs(tvb, offset + 2);
/*
* sizeof(rate_group) = sizeof(class_id) + sizeof(numpairs) + numpairs * 2 * sizeof(uint16_t)
* = 2 + 2 + numpairs * 4
*/
group_tree = proto_tree_add_subtree_format(groups_tree, tvb, offset, 4 + 4 * numpairs,
ett_generic_rateinfo_group, NULL, "Rate Group 0x%02x", myid);
proto_tree_add_uint(group_tree, hf_generic_rateinfo_classid, tvb, offset, 2, myid);offset+=2;
proto_tree_add_uint(group_tree, hf_generic_rateinfo_numpairs, tvb, offset, 2, numpairs); offset+=2;
for(j = 0; j < numpairs; j++) {
guint16 family_id;
guint16 subtype_id;
const aim_family *family;
const aim_subtype *subtype;
family_id = tvb_get_ntohs(tvb, offset);
subtype_id = tvb_get_ntohs(tvb, offset+2);
for(i = 0; i < numclasses; i++) {
guint16 j;
guint16 myid = tvb_get_ntohs(tvb, offset);
guint16 numpairs = tvb_get_ntohs(tvb, offset + 2);
/*
* sizeof(rate_group) = sizeof(class_id) + sizeof(numpairs) + numpairs * 2 * sizeof(uint16_t)
* = 2 + 2 + numpairs * 4
*/
group_tree = proto_tree_add_subtree_format(groups_tree, tvb, offset, 4 + 4 * numpairs,
ett_generic_rateinfo_group, NULL, "Rate Group 0x%02x", myid);
proto_tree_add_uint(group_tree, hf_generic_rateinfo_classid, tvb, offset, 2, myid);offset+=2;
proto_tree_add_uint(group_tree, hf_generic_rateinfo_numpairs, tvb, offset, 2, numpairs); offset+=2;
for(j = 0; j < numpairs; j++) {
guint16 family_id;
guint16 subtype_id;
const aim_family *family;
const aim_subtype *subtype;
family_id = tvb_get_ntohs(tvb, offset);
subtype_id = tvb_get_ntohs(tvb, offset+2);
family = aim_get_family(family_id);
subtype = aim_get_subtype(family_id, subtype_id);
family = aim_get_family(family_id);
subtype = aim_get_subtype(family_id, subtype_id);
proto_tree_add_uint_format_value(group_tree, hf_generic_family, tvb, offset, 4, family_id,
"%s (0x%04x), Subtype: %s (0x%04x)", family?family->name:"Unknown", family_id, subtype?subtype->name:"Unknown", subtype_id);
offset+=4;
}
}
proto_tree_add_uint_format_value(group_tree, hf_generic_family, tvb, offset, 4, family_id,
"%s (0x%04x), Subtype: %s (0x%04x)", family?family->name:"Unknown", family_id, subtype?subtype->name:"Unknown", subtype_id);
offset+=4;
}
}
return offset;
return offset;
}
static int dissect_aim_generic_clientready(tvbuff_t *tvb, packet_info *pinfo _U_, proto_tree *gen_tree)
{
int offset = 0;
proto_tree *entry = proto_tree_add_subtree(gen_tree, tvb, 0, -1, ett_generic_clientready, NULL, "Supported services");
int offset = 0;
proto_tree *entry = proto_tree_add_subtree(gen_tree, tvb, 0, -1, ett_generic_clientready, NULL, "Supported services");
while(tvb_length_remaining(tvb, offset) > 0) {
proto_item *ti;
proto_tree *subtree;
while(tvb_length_remaining(tvb, offset) > 0) {
proto_item *ti;
proto_tree *subtree;
ti = proto_tree_add_item(entry, hf_generic_family, tvb, offset, 2, ENC_BIG_ENDIAN);
subtree = proto_item_add_subtree(ti, ett_generic_clientready_item);
offset+=2;
ti = proto_tree_add_item(entry, hf_generic_family, tvb, offset, 2, ENC_BIG_ENDIAN);
subtree = proto_item_add_subtree(ti, ett_generic_clientready_item);
offset+=2;
proto_tree_add_item(subtree, hf_generic_version, tvb, offset, 2, ENC_BIG_ENDIAN);
offset += 2;
proto_tree_add_item(subtree, hf_generic_dll_version, tvb, offset, 3, ENC_BIG_ENDIAN);
/* Padding byte? */
offset += 4;
proto_item_set_len(ti, 8);
}
return offset;
proto_tree_add_item(subtree, hf_generic_version, tvb, offset, 2, ENC_BIG_ENDIAN);
offset += 2;
proto_tree_add_item(subtree, hf_generic_dll_version, tvb, offset, 3, ENC_BIG_ENDIAN);
/* Padding byte? */
offset += 4;
proto_item_set_len(ti, 8);
}
return offset;
}
static int dissect_aim_generic_serverready(tvbuff_t *tvb, packet_info *pinfo _U_, proto_tree *gen_tree)
{
int offset = 0;
proto_tree *entry = proto_tree_add_subtree(gen_tree, tvb, offset, -1, ett_generic_clientready, NULL, "Supported services");
int offset = 0;
proto_tree *entry = proto_tree_add_subtree(gen_tree, tvb, offset, -1, ett_generic_clientready, NULL, "Supported services");
while(tvb_length_remaining(tvb, offset) > 0) {
proto_tree_add_item(entry, hf_generic_family, tvb, offset, 2, ENC_BIG_ENDIAN);
offset+=2;
}
return offset;
while(tvb_length_remaining(tvb, offset) > 0) {
proto_tree_add_item(entry, hf_generic_family, tvb, offset, 2, ENC_BIG_ENDIAN);
offset+=2;
}
return offset;
}
static int dissect_aim_generic_service_req(tvbuff_t *tvb, packet_info *pinfo _U_, proto_tree *gen_tree)
{
int offset = 0;
const aim_family *family = aim_get_family( tvb_get_ntohs(tvb, offset) );
int offset = 0;
const aim_family *family = aim_get_family( tvb_get_ntohs(tvb, offset) );
proto_tree_add_uint_format(gen_tree, hf_generic_servicereq_service, tvb, offset, 2, tvb_get_ntohs(tvb, offset), "%s (0x%04x)", family?family->name:"Unknown", tvb_get_ntohs(tvb, offset) );
offset+=2;
return offset;
proto_tree_add_uint_format(gen_tree, hf_generic_servicereq_service, tvb, offset, 2, tvb_get_ntohs(tvb, offset), "%s (0x%04x)", family?family->name:"Unknown", tvb_get_ntohs(tvb, offset) );
offset+=2;
return offset;
}
static int dissect_aim_generic_redirect(tvbuff_t *tvb, packet_info *pinfo, proto_tree *gen_tree)
{
return dissect_aim_tlv_sequence(tvb, pinfo, 0, gen_tree, aim_client_tlvs);
return dissect_aim_tlv_sequence(tvb, pinfo, 0, gen_tree, aim_client_tlvs);
}
static int dissect_aim_generic_capabilities(tvbuff_t *tvb, packet_info *pinfo _U_, proto_tree *gen_tree)
{
int offset = 0;
proto_tree *entry = proto_tree_add_subtree(gen_tree, tvb, offset, -1, ett_generic_clientready, NULL, "Requested services");
int offset = 0;
proto_tree *entry = proto_tree_add_subtree(gen_tree, tvb, offset, -1, ett_generic_clientready, NULL, "Requested services");
while(tvb_length_remaining(tvb, offset) > 0) {
proto_tree_add_item(entry, hf_generic_family, tvb, offset, 2, ENC_BIG_ENDIAN);
offset+=2;
proto_tree_add_item(entry, hf_generic_version, tvb, offset, 2, ENC_BIG_ENDIAN);
offset+=2;
}
return offset;
while(tvb_length_remaining(tvb, offset) > 0) {
proto_tree_add_item(entry, hf_generic_family, tvb, offset, 2, ENC_BIG_ENDIAN);
offset+=2;
proto_tree_add_item(entry, hf_generic_version, tvb, offset, 2, ENC_BIG_ENDIAN);
offset+=2;
}
return offset;
}
static int dissect_aim_generic_capack(tvbuff_t *tvb, packet_info *pinfo _U_, proto_tree *gen_tree)
{
int offset = 0;
proto_tree *entry = proto_tree_add_subtree(gen_tree, tvb, offset, -1, ett_generic_clientready, NULL, "Accepted requested services");
int offset = 0;
proto_tree *entry = proto_tree_add_subtree(gen_tree, tvb, offset, -1, ett_generic_clientready, NULL, "Accepted requested services");
while(tvb_length_remaining(tvb, offset) > 0) {
proto_tree_add_item(entry, hf_generic_family, tvb, offset, 2, ENC_BIG_ENDIAN);
offset+=2;
proto_tree_add_item(entry, hf_generic_version, tvb, offset, 2, ENC_BIG_ENDIAN);
offset+=2;
}
return offset;
while(tvb_length_remaining(tvb, offset) > 0) {
proto_tree_add_item(entry, hf_generic_family, tvb, offset, 2, ENC_BIG_ENDIAN);
offset+=2;
proto_tree_add_item(entry, hf_generic_version, tvb, offset, 2, ENC_BIG_ENDIAN);
offset+=2;
}
return offset;
}
static int dissect_aim_generic_motd(tvbuff_t *tvb, packet_info *pinfo, proto_tree *gen_tree)
{
int offset = 0;
proto_tree_add_item(gen_tree, hf_generic_motd_motdtype, tvb, offset,
2, tvb_get_ntohs(tvb, offset));
offset+=2;
return dissect_aim_tlv_sequence(tvb, pinfo, offset, gen_tree, aim_motd_tlvs);
int offset = 0;
proto_tree_add_item(gen_tree, hf_generic_motd_motdtype, tvb, offset,
2, tvb_get_ntohs(tvb, offset));
offset+=2;
return dissect_aim_tlv_sequence(tvb, pinfo, offset, gen_tree, aim_motd_tlvs);
}
static int dissect_aim_generic_rateinfoack(tvbuff_t *tvb, packet_info *pinfo _U_, proto_tree *gen_tree)
{
int offset = 0;
while(tvb_length_remaining(tvb, offset) > 0) {
proto_tree_add_uint(gen_tree, hf_generic_rateinfoack_group, tvb, offset, 2, tvb_get_ntohs(tvb, offset));
offset+=2;
}
return offset;
int offset = 0;
while(tvb_length_remaining(tvb, offset) > 0) {
proto_tree_add_uint(gen_tree, hf_generic_rateinfoack_group, tvb, offset, 2, tvb_get_ntohs(tvb, offset));
offset+=2;
}
return offset;
}
static int dissect_aim_generic_ratechange(tvbuff_t *tvb, packet_info *pinfo, proto_tree *gen_tree)
{
int offset = 0;
proto_tree_add_uint(gen_tree, hf_generic_ratechange_msg, tvb, offset, 2, tvb_get_ntohs(tvb, offset));
offset+=2;
offset = dissect_rate_class(tvb, pinfo, offset, gen_tree);
return offset;
int offset = 0;
proto_tree_add_uint(gen_tree, hf_generic_ratechange_msg, tvb, offset, 2, tvb_get_ntohs(tvb, offset));
offset+=2;
offset = dissect_rate_class(tvb, pinfo, offset, gen_tree);
return offset;
}
static int dissect_aim_generic_clientpauseack(tvbuff_t *tvb, packet_info *pinfo _U_, proto_tree *gen_tree)
{
int offset = 0;
while(tvb_length_remaining(tvb, offset) > 0) {
proto_tree_add_item(gen_tree, hf_generic_family, tvb, offset, 2, ENC_BIG_ENDIAN);
offset += 2;
}
return offset;
int offset = 0;
while(tvb_length_remaining(tvb, offset) > 0) {
proto_tree_add_item(gen_tree, hf_generic_family, tvb, offset, 2, ENC_BIG_ENDIAN);
offset += 2;
}
return offset;
}
static int dissect_aim_generic_migration_req(tvbuff_t *tvb, packet_info *pinfo, proto_tree *gen_tree)
{
int offset = 0;
guint32 n, i;
proto_tree *entry;
int offset = 0;
guint32 n, i;
proto_tree *entry;
n = tvb_get_ntohs(tvb, offset);offset+=2;
proto_tree_add_uint(gen_tree, hf_generic_migration_numfams, tvb, offset, 2, n);
entry = proto_tree_add_subtree(gen_tree, tvb, offset, 2 * n,
ett_generic_migratefamilies, NULL, "Families to migrate");
for(i = 0; i < n; i++) {
proto_tree_add_item(entry, hf_generic_family, tvb, offset, 2, ENC_BIG_ENDIAN);
offset += 2;
}
n = tvb_get_ntohs(tvb, offset);offset+=2;
proto_tree_add_uint(gen_tree, hf_generic_migration_numfams, tvb, offset, 2, n);
entry = proto_tree_add_subtree(gen_tree, tvb, offset, 2 * n,
ett_generic_migratefamilies, NULL, "Families to migrate");
for(i = 0; i < n; i++) {
proto_tree_add_item(entry, hf_generic_family, tvb, offset, 2, ENC_BIG_ENDIAN);
offset += 2;
}
return dissect_aim_tlv_sequence(tvb, pinfo, offset, gen_tree, aim_client_tlvs);
return dissect_aim_tlv_sequence(tvb, pinfo, offset, gen_tree, aim_client_tlvs);
}
static int dissect_aim_generic_setprivflags(tvbuff_t *tvb, packet_info *pinfo _U_, proto_tree *gen_tree)
{
int offset = 0;
guint32 flags = tvb_get_ntoh24(tvb, offset);
proto_item *ti = proto_tree_add_uint(gen_tree, hf_generic_priv_flags, tvb, offset, 4, flags);
proto_tree *entry = proto_item_add_subtree(ti, ett_generic_priv_flags);
proto_tree_add_boolean(entry, hf_generic_allow_idle_see, tvb, offset, 4, flags);
proto_tree_add_boolean(entry, hf_generic_allow_member_see, tvb, offset, 4, flags);
offset+=4;
return offset;
int offset = 0;
guint32 flags = tvb_get_ntoh24(tvb, offset);
proto_item *ti = proto_tree_add_uint(gen_tree, hf_generic_priv_flags, tvb, offset, 4, flags);
proto_tree *entry = proto_item_add_subtree(ti, ett_generic_priv_flags);
proto_tree_add_boolean(entry, hf_generic_allow_idle_see, tvb, offset, 4, flags);
proto_tree_add_boolean(entry, hf_generic_allow_member_see, tvb, offset, 4, flags);
offset+=4;
return offset;
}
static int dissect_aim_generic_selfinfo_repl(tvbuff_t *tvb, packet_info *pinfo, proto_tree *gen_tree)
{
int offset = dissect_aim_buddyname(tvb, pinfo, 0, gen_tree);
proto_tree_add_item(gen_tree, hf_generic_selfinfo_warninglevel, tvb, offset, 2, ENC_BIG_ENDIAN);
offset += 2;
return dissect_aim_tlv_list(tvb, pinfo, offset, gen_tree, aim_onlinebuddy_tlvs);
int offset = dissect_aim_buddyname(tvb, pinfo, 0, gen_tree);
proto_tree_add_item(gen_tree, hf_generic_selfinfo_warninglevel, tvb, offset, 2, ENC_BIG_ENDIAN);
offset += 2;
return dissect_aim_tlv_list(tvb, pinfo, offset, gen_tree, aim_onlinebuddy_tlvs);
}
static int dissect_aim_generic_evil(tvbuff_t *tvb, packet_info *pinfo, proto_tree *gen_tree)
{
int offset = 0;
proto_tree_add_item(gen_tree, hf_generic_evil_new_warn_level, tvb, offset, 2, ENC_BIG_ENDIAN);
while(tvb_length_remaining(tvb, offset) > 0) {
offset = dissect_aim_userinfo(tvb, pinfo, offset, gen_tree);
}
return offset;
int offset = 0;
proto_tree_add_item(gen_tree, hf_generic_evil_new_warn_level, tvb, offset, 2, ENC_BIG_ENDIAN);
while(tvb_length_remaining(tvb, offset) > 0) {
offset = dissect_aim_userinfo(tvb, pinfo, offset, gen_tree);
}
return offset;
}
static int dissect_aim_generic_setidle(tvbuff_t *tvb, packet_info *pinfo _U_, proto_tree *gen_tree)
{
proto_tree_add_item(gen_tree, hf_generic_idle_time, tvb, 0, 2, ENC_BIG_ENDIAN);
return 2;
proto_tree_add_item(gen_tree, hf_generic_idle_time, tvb, 0, 2, ENC_BIG_ENDIAN);
return 2;
}
static int dissect_aim_generic_ext_status_req(tvbuff_t *tvb, packet_info *pinfo, proto_tree *gen_tree)
{
return dissect_aim_tlv_sequence(tvb, pinfo, 0, gen_tree, aim_onlinebuddy_tlvs);
return dissect_aim_tlv_sequence(tvb, pinfo, 0, gen_tree, aim_onlinebuddy_tlvs);
}
static int dissect_aim_generic_clientver_req(tvbuff_t *tvb, packet_info *pinfo _U_, proto_tree *gen_tree)
{
int offset = 0;
proto_tree_add_item(gen_tree, hf_generic_client_ver_req_offset, tvb, offset, 4, ENC_BIG_ENDIAN);
offset+=4;
proto_tree_add_item(gen_tree, hf_generic_client_ver_req_length, tvb, offset, 4, ENC_BIG_ENDIAN);
return offset+4;
int offset = 0;
proto_tree_add_item(gen_tree, hf_generic_client_ver_req_offset, tvb, offset, 4, ENC_BIG_ENDIAN);
offset+=4;
proto_tree_add_item(gen_tree, hf_generic_client_ver_req_length, tvb, offset, 4, ENC_BIG_ENDIAN);
return offset+4;
}
static int dissect_aim_generic_clientver_repl(tvbuff_t *tvb, packet_info *pinfo _U_, proto_tree *gen_tree)
{
proto_tree_add_item(gen_tree, hf_generic_client_ver_req_hash, tvb, 0, 16, ENC_NA);
return 16;
proto_tree_add_item(gen_tree, hf_generic_client_ver_req_hash, tvb, 0, 16, ENC_NA);
return 16;
}
static int dissect_aim_generic_ext_status_repl(tvbuff_t *tvb, packet_info *pinfo _U_, proto_tree *gen_tree)
{
guint8 length;
int offset = 0;
proto_tree_add_item(gen_tree, hf_generic_ext_status_type, tvb, offset, 2, ENC_BIG_ENDIAN); offset += 2;
proto_tree_add_item(gen_tree, hf_generic_ext_status_flags, tvb, offset, 1, ENC_BIG_ENDIAN); offset += 1;
proto_tree_add_item(gen_tree, hf_generic_ext_status_length, tvb, offset, 1, ENC_BIG_ENDIAN); length = tvb_get_guint8(tvb, offset); offset += 1;
proto_tree_add_item(gen_tree, hf_generic_ext_status_data, tvb, offset, length, ENC_NA); offset += 1;
return offset;
guint8 length;
int offset = 0;
proto_tree_add_item(gen_tree, hf_generic_ext_status_type, tvb, offset, 2, ENC_BIG_ENDIAN); offset += 2;
proto_tree_add_item(gen_tree, hf_generic_ext_status_flags, tvb, offset, 1, ENC_BIG_ENDIAN); offset += 1;
proto_tree_add_item(gen_tree, hf_generic_ext_status_length, tvb, offset, 1, ENC_BIG_ENDIAN); length = tvb_get_guint8(tvb, offset); offset += 1;
proto_tree_add_item(gen_tree, hf_generic_ext_status_data, tvb, offset, length, ENC_NA); offset += 1;
return offset;
}
static void
aim_generic_family( gchar *result, guint32 famnum )
{
const aim_family *family = aim_get_family(famnum);
const aim_family *family = aim_get_family(famnum);
g_snprintf( result, ITEM_LABEL_LENGTH, "%s (0x%x)", family?family->name:"Unknown", famnum);
g_snprintf( result, ITEM_LABEL_LENGTH, "%s (0x%x)", family?family->name:"Unknown", famnum);
}
static const aim_subtype aim_fnac_family_generic[] = {
{ 0x0001, "Error", dissect_aim_snac_error },
{ 0x0002, "Client Ready", dissect_aim_generic_clientready },
{ 0x0003, "Server Ready", dissect_aim_generic_serverready },
{ 0x0004, "Service Request", dissect_aim_generic_service_req },
{ 0x0005, "Redirect", dissect_aim_generic_redirect },
{ 0x0006, "Rate Info Request", NULL},
{ 0x0007, "Rate Info", dissect_generic_rateinfo },
{ 0x0008, "Rate Info Ack", dissect_aim_generic_rateinfoack },
{ 0x000a, "Rate Change", dissect_aim_generic_ratechange },
{ 0x000b, "Server Pause", NULL },
{ 0x000c, "Client Pause Ack", dissect_aim_generic_clientpauseack },
{ 0x000d, "Server Resume", NULL },
{ 0x000e, "Self Info Request", NULL },
{ 0x000f, "Self Info Reply", dissect_aim_generic_selfinfo_repl },
{ 0x0010, "Evil", dissect_aim_generic_evil },
{ 0x0011, "Set Idle", dissect_aim_generic_setidle },
{ 0x0012, "Migration Request", dissect_aim_generic_migration_req },
{ 0x0013, "Message Of The Day", dissect_aim_generic_motd },
{ 0x0014, "Set Privilege Flags", dissect_aim_generic_setprivflags },
{ 0x0015, "Well Known URL", NULL }, /* FIXME */
{ 0x0016, "noop", NULL },
{ 0x0017, "Capabilities", dissect_aim_generic_capabilities },
{ 0x0018, "Capabilities Ack", dissect_aim_generic_capack },
{ 0x001e, "Set Extended Status Request", dissect_aim_generic_ext_status_req },
{ 0x001f, "Client Verification Request", dissect_aim_generic_clientver_req },
{ 0x0020, "Client Verification Reply", dissect_aim_generic_clientver_repl },
{ 0x0021, "Set Extended Status Reply", dissect_aim_generic_ext_status_repl },
{ 0, NULL, NULL }
{ 0x0001, "Error", dissect_aim_snac_error },
{ 0x0002, "Client Ready", dissect_aim_generic_clientready },
{ 0x0003, "Server Ready", dissect_aim_generic_serverready },
{ 0x0004, "Service Request", dissect_aim_generic_service_req },
{ 0x0005, "Redirect", dissect_aim_generic_redirect },
{ 0x0006, "Rate Info Request", NULL},
{ 0x0007, "Rate Info", dissect_generic_rateinfo },
{ 0x0008, "Rate Info Ack", dissect_aim_generic_rateinfoack },
{ 0x000a, "Rate Change", dissect_aim_generic_ratechange },
{ 0x000b, "Server Pause", NULL },
{ 0x000c, "Client Pause Ack", dissect_aim_generic_clientpauseack },
{ 0x000d, "Server Resume", NULL },
{ 0x000e, "Self Info Request", NULL },
{ 0x000f, "Self Info Reply", dissect_aim_generic_selfinfo_repl },
{ 0x0010, "Evil", dissect_aim_generic_evil },
{ 0x0011, "Set Idle", dissect_aim_generic_setidle },
{ 0x0012, "Migration Request", dissect_aim_generic_migration_req },
{ 0x0013, "Message Of The Day", dissect_aim_generic_motd },
{ 0x0014, "Set Privilege Flags", dissect_aim_generic_setprivflags },
{ 0x0015, "Well Known URL", NULL }, /* FIXME */
{ 0x0016, "noop", NULL },
{ 0x0017, "Capabilities", dissect_aim_generic_capabilities },
{ 0x0018, "Capabilities Ack", dissect_aim_generic_capack },
{ 0x001e, "Set Extended Status Request", dissect_aim_generic_ext_status_req },
{ 0x001f, "Client Verification Request", dissect_aim_generic_clientver_req },
{ 0x0020, "Client Verification Reply", dissect_aim_generic_clientver_repl },
{ 0x0021, "Set Extended Status Reply", dissect_aim_generic_ext_status_repl },
{ 0, NULL, NULL }
};
@ -466,136 +466,149 @@ void
proto_register_aim_generic(void)
{
/* Setup list of header fields */
static hf_register_info hf[] = {
{ &hf_generic_servicereq_service,
{ "Requested Service", "aim_generic.servicereq.service", FT_UINT16,
BASE_HEX, NULL, 0x0, NULL, HFILL },
},
{ &hf_generic_motd_motdtype,
{ "MOTD Type", "aim_generic.motd.motdtype", FT_UINT16,
BASE_HEX, VALS(aim_snac_generic_motd_motdtypes), 0x0, NULL, HFILL },
},
{ &hf_generic_family,
{ "Family", "aim_generic.family", FT_UINT16, BASE_CUSTOM, aim_generic_family, 0x0, NULL, HFILL },
},
{ &hf_generic_version,
{ "Version", "aim_generic.version", FT_UINT16, BASE_DEC, NULL, 0x0, NULL, HFILL },
},
{ &hf_generic_dll_version,
{ "DLL Version", "aim_generic.dll_version", FT_UINT24, BASE_DEC, NULL, 0x0, NULL, HFILL },
},
{ &hf_generic_rateinfo_numclasses,
{ "Number of Rateinfo Classes", "aim_generic.rateinfo.numclasses", FT_UINT16, BASE_HEX, NULL, 0x0, NULL, HFILL },
},
{ &hf_generic_rateinfo_windowsize,
{ "Window Size", "aim_generic.rateinfo.class.window_size", FT_UINT32, BASE_HEX, NULL, 0x0, NULL, HFILL },
},
{ &hf_generic_rateinfo_clearlevel,
{ "Clear Level", "aim_generic.rateinfo.class.clearlevel", FT_UINT32, BASE_HEX, NULL, 0x0, NULL, HFILL },
},
{ &hf_generic_rateinfo_alertlevel,
{ "Alert Level", "aim_generic.rateinfo.class.alertlevel", FT_UINT32, BASE_HEX, NULL, 0x0, NULL, HFILL },
},
{ &hf_generic_rateinfo_limitlevel,
{ "Limit Level", "aim_generic.rateinfo.class.limitlevel", FT_UINT32, BASE_HEX, NULL, 0x0, NULL, HFILL },
},
{ &hf_generic_rateinfo_disconnectlevel,
{ "Disconnect Level", "aim_generic.rateinfo.class.disconnectlevel", FT_UINT32, BASE_HEX, NULL, 0x0, NULL, HFILL },
},
{ &hf_generic_rateinfo_currentlevel,
{ "Current Level", "aim_generic.rateinfo.class.currentlevel", FT_UINT32, BASE_HEX, NULL, 0x0, NULL, HFILL },
},
{ &hf_generic_rateinfo_maxlevel,
{ "Max Level", "aim_generic.rateinfo.class.maxlevel", FT_UINT32, BASE_HEX, NULL, 0x0, NULL, HFILL },
},
{ &hf_generic_rateinfo_lasttime,
{ "Last Time", "aim_generic.rateinfo.class.lasttime", FT_UINT32, BASE_HEX, NULL, 0x0, NULL, HFILL },
},
{ &hf_generic_rateinfo_curstate,
{ "Current State", "aim_generic.rateinfo.class.curstate", FT_UINT8, BASE_HEX, VALS(rateinfo_states), 0x0, NULL, HFILL },
},
{ &hf_generic_rateinfo_classid,
{ "Class ID", "aim_generic.rateinfo.class.id", FT_UINT16, BASE_HEX, NULL, 0x0, NULL, HFILL },
},
{ &hf_generic_rateinfo_numpairs,
{ "Number of Family/Subtype pairs", "aim_generic.rateinfo.class.numpairs", FT_UINT16, BASE_HEX, NULL, 0x0, NULL, HFILL },
},
{ &hf_generic_rateinfoack_group,
{ "Acknowledged Rate Class", "aim_generic.rateinfoack.class", FT_UINT16, BASE_HEX, NULL, 0x0, NULL, HFILL },
},
{ &hf_generic_ratechange_msg,
{ "Rate Change Message", "aim_generic.ratechange.msg", FT_UINT16, BASE_HEX, VALS(ratechange_msgs), 0x0, NULL, HFILL },
},
{ &hf_generic_migration_numfams,
{ "Number of families to migrate", "aim_generic.migrate.numfams", FT_UINT16, BASE_HEX, NULL, 0x0, NULL, HFILL },
},
{ &hf_generic_priv_flags,
{ "Privilege flags", "aim_generic.privilege_flags", FT_UINT32, BASE_HEX, NULL, 0x0, NULL, HFILL },
},
{ &hf_generic_allow_idle_see,
{ "Allow other users to see idle time", "aim_generic.privilege_flags.allow_idle", FT_BOOLEAN, 32, TFS(&tfs_set_notset), 0x0001, NULL, HFILL },
},
{ &hf_generic_allow_member_see,
{ "Allow other users to see how long account has been a member", "aim_generic.privilege_flags.allow_member", FT_BOOLEAN, 32, TFS(&tfs_set_notset), 0x0002, NULL, HFILL },
},
{ &hf_generic_selfinfo_warninglevel,
{ "Warning level", "aim_generic.selfinfo.warn_level", FT_UINT16, BASE_DEC, NULL, 0x0, NULL, HFILL },
},
{ &hf_generic_evil_new_warn_level,
{ "New warning level", "aim_generic.evil.new_warn_level", FT_UINT16, BASE_DEC, NULL, 0x0, NULL, HFILL },
},
{ &hf_generic_idle_time,
{ "Idle time (seconds)", "aim_generic.idle_time", FT_UINT32, BASE_DEC, NULL, 0x0, NULL, HFILL },
},
{ &hf_generic_client_ver_req_offset,
{ "Client Verification Request Offset", "aim_generic.client_verification.offset", FT_UINT32, BASE_DEC, NULL, 0x0, NULL, HFILL },
},
{ &hf_generic_client_ver_req_length,
{ "Client Verification Request Length", "aim_generic.client_verification.length", FT_UINT32, BASE_DEC, NULL, 0x0, NULL, HFILL },
},
{ &hf_generic_client_ver_req_hash,
{ "Client Verification MD5 Hash", "aim_generic.client_verification.hash", FT_BYTES, BASE_NONE, NULL, 0x0, NULL, HFILL },
},
{ &hf_generic_ext_status_type,
{ "Extended Status Type", "aim_generic.ext_status.type", FT_UINT16, BASE_DEC, VALS(ext_status_types), 0x0, NULL, HFILL },
},
{ &hf_generic_ext_status_flags,
{ "Extended Status Flags", "aim_generic.ext_status.flags", FT_UINT8, BASE_HEX, VALS(ext_status_flags), 0x0, NULL, HFILL },
},
{ &hf_generic_ext_status_length,
{ "Extended Status Length", "aim_generic.ext_status.length", FT_UINT8, BASE_HEX, NULL, 0x0, NULL , HFILL },
},
{ &hf_generic_ext_status_data,
{ "Extended Status Data", "aim_generic.ext_status.data", FT_BYTES, BASE_NONE, NULL, 0x0, NULL , HFILL },
},
/* Setup list of header fields */
static hf_register_info hf[] = {
{ &hf_generic_servicereq_service,
{ "Requested Service", "aim_generic.servicereq.service", FT_UINT16,
BASE_HEX, NULL, 0x0, NULL, HFILL },
},
{ &hf_generic_motd_motdtype,
{ "MOTD Type", "aim_generic.motd.motdtype", FT_UINT16,
BASE_HEX, VALS(aim_snac_generic_motd_motdtypes), 0x0, NULL, HFILL },
},
{ &hf_generic_family,
{ "Family", "aim_generic.family", FT_UINT16, BASE_CUSTOM, aim_generic_family, 0x0, NULL, HFILL },
},
{ &hf_generic_version,
{ "Version", "aim_generic.version", FT_UINT16, BASE_DEC, NULL, 0x0, NULL, HFILL },
},
{ &hf_generic_dll_version,
{ "DLL Version", "aim_generic.dll_version", FT_UINT24, BASE_DEC, NULL, 0x0, NULL, HFILL },
},
{ &hf_generic_rateinfo_numclasses,
{ "Number of Rateinfo Classes", "aim_generic.rateinfo.numclasses", FT_UINT16, BASE_HEX, NULL, 0x0, NULL, HFILL },
},
{ &hf_generic_rateinfo_windowsize,
{ "Window Size", "aim_generic.rateinfo.class.window_size", FT_UINT32, BASE_HEX, NULL, 0x0, NULL, HFILL },
},
{ &hf_generic_rateinfo_clearlevel,
{ "Clear Level", "aim_generic.rateinfo.class.clearlevel", FT_UINT32, BASE_HEX, NULL, 0x0, NULL, HFILL },
},
{ &hf_generic_rateinfo_alertlevel,
{ "Alert Level", "aim_generic.rateinfo.class.alertlevel", FT_UINT32, BASE_HEX, NULL, 0x0, NULL, HFILL },
},
{ &hf_generic_rateinfo_limitlevel,
{ "Limit Level", "aim_generic.rateinfo.class.limitlevel", FT_UINT32, BASE_HEX, NULL, 0x0, NULL, HFILL },
},
{ &hf_generic_rateinfo_disconnectlevel,
{ "Disconnect Level", "aim_generic.rateinfo.class.disconnectlevel", FT_UINT32, BASE_HEX, NULL, 0x0, NULL, HFILL },
},
{ &hf_generic_rateinfo_currentlevel,
{ "Current Level", "aim_generic.rateinfo.class.currentlevel", FT_UINT32, BASE_HEX, NULL, 0x0, NULL, HFILL },
},
{ &hf_generic_rateinfo_maxlevel,
{ "Max Level", "aim_generic.rateinfo.class.maxlevel", FT_UINT32, BASE_HEX, NULL, 0x0, NULL, HFILL },
},
{ &hf_generic_rateinfo_lasttime,
{ "Last Time", "aim_generic.rateinfo.class.lasttime", FT_UINT32, BASE_HEX, NULL, 0x0, NULL, HFILL },
},
{ &hf_generic_rateinfo_curstate,
{ "Current State", "aim_generic.rateinfo.class.curstate", FT_UINT8, BASE_HEX, VALS(rateinfo_states), 0x0, NULL, HFILL },
},
{ &hf_generic_rateinfo_classid,
{ "Class ID", "aim_generic.rateinfo.class.id", FT_UINT16, BASE_HEX, NULL, 0x0, NULL, HFILL },
},
{ &hf_generic_rateinfo_numpairs,
{ "Number of Family/Subtype pairs", "aim_generic.rateinfo.class.numpairs", FT_UINT16, BASE_HEX, NULL, 0x0, NULL, HFILL },
},
{ &hf_generic_rateinfoack_group,
{ "Acknowledged Rate Class", "aim_generic.rateinfoack.class", FT_UINT16, BASE_HEX, NULL, 0x0, NULL, HFILL },
},
{ &hf_generic_ratechange_msg,
{ "Rate Change Message", "aim_generic.ratechange.msg", FT_UINT16, BASE_HEX, VALS(ratechange_msgs), 0x0, NULL, HFILL },
},
{ &hf_generic_migration_numfams,
{ "Number of families to migrate", "aim_generic.migrate.numfams", FT_UINT16, BASE_HEX, NULL, 0x0, NULL, HFILL },
},
{ &hf_generic_priv_flags,
{ "Privilege flags", "aim_generic.privilege_flags", FT_UINT32, BASE_HEX, NULL, 0x0, NULL, HFILL },
},
{ &hf_generic_allow_idle_see,
{ "Allow other users to see idle time", "aim_generic.privilege_flags.allow_idle", FT_BOOLEAN, 32, TFS(&tfs_set_notset), 0x0001, NULL, HFILL },
},
{ &hf_generic_allow_member_see,
{ "Allow other users to see how long account has been a member", "aim_generic.privilege_flags.allow_member", FT_BOOLEAN, 32, TFS(&tfs_set_notset), 0x0002, NULL, HFILL },
},
{ &hf_generic_selfinfo_warninglevel,
{ "Warning level", "aim_generic.selfinfo.warn_level", FT_UINT16, BASE_DEC, NULL, 0x0, NULL, HFILL },
},
{ &hf_generic_evil_new_warn_level,
{ "New warning level", "aim_generic.evil.new_warn_level", FT_UINT16, BASE_DEC, NULL, 0x0, NULL, HFILL },
},
{ &hf_generic_idle_time,
{ "Idle time (seconds)", "aim_generic.idle_time", FT_UINT32, BASE_DEC, NULL, 0x0, NULL, HFILL },
},
{ &hf_generic_client_ver_req_offset,
{ "Client Verification Request Offset", "aim_generic.client_verification.offset", FT_UINT32, BASE_DEC, NULL, 0x0, NULL, HFILL },
},
{ &hf_generic_client_ver_req_length,
{ "Client Verification Request Length", "aim_generic.client_verification.length", FT_UINT32, BASE_DEC, NULL, 0x0, NULL, HFILL },
},
{ &hf_generic_client_ver_req_hash,
{ "Client Verification MD5 Hash", "aim_generic.client_verification.hash", FT_BYTES, BASE_NONE, NULL, 0x0, NULL, HFILL },
},
{ &hf_generic_ext_status_type,
{ "Extended Status Type", "aim_generic.ext_status.type", FT_UINT16, BASE_DEC, VALS(ext_status_types), 0x0, NULL, HFILL },
},
{ &hf_generic_ext_status_flags,
{ "Extended Status Flags", "aim_generic.ext_status.flags", FT_UINT8, BASE_HEX, VALS(ext_status_flags), 0x0, NULL, HFILL },
},
{ &hf_generic_ext_status_length,
{ "Extended Status Length", "aim_generic.ext_status.length", FT_UINT8, BASE_HEX, NULL, 0x0, NULL , HFILL },
},
{ &hf_generic_ext_status_data,
{ "Extended Status Data", "aim_generic.ext_status.data", FT_BYTES, BASE_NONE, NULL, 0x0, NULL , HFILL },
},
};
};
/* Setup protocol subtree array */
static gint *ett[] = {
&ett_generic,
&ett_generic_migratefamilies,
&ett_generic_rateinfo_class,
&ett_generic_rateinfo_group,
&ett_generic_rateinfo_groups,
&ett_generic_rateinfo_classes,
&ett_generic_clientready,
&ett_generic_clientready_item,
&ett_generic_serverready,
&ett_generic_priv_flags,
};
static gint *ett[] = {
&ett_generic,
&ett_generic_migratefamilies,
&ett_generic_rateinfo_class,
&ett_generic_rateinfo_group,
&ett_generic_rateinfo_groups,
&ett_generic_rateinfo_classes,
&ett_generic_clientready,
&ett_generic_clientready_item,
&ett_generic_serverready,
&ett_generic_priv_flags,
};
/* Register the protocol name and description */
proto_aim_generic = proto_register_protocol("AIM Generic Service", "AIM Generic", "aim_generic");
proto_aim_generic = proto_register_protocol("AIM Generic Service", "AIM Generic", "aim_generic");
/* Required function calls to register the header fields and subtrees used */
proto_register_field_array(proto_aim_generic, hf, array_length(hf));
proto_register_subtree_array(ett, array_length(ett));
proto_register_field_array(proto_aim_generic, hf, array_length(hf));
proto_register_subtree_array(ett, array_length(ett));
}
void
proto_reg_handoff_aim_generic(void)
{
aim_init_family(proto_aim_generic, ett_generic, FAMILY_GENERIC, aim_fnac_family_generic);
aim_init_family(proto_aim_generic, ett_generic, FAMILY_GENERIC, aim_fnac_family_generic);
}
/*
* Editor modelines - http://www.wireshark.org/tools/modelines.html
*
* Local variables:
* c-basic-offset: 4
* tab-width: 8
* indent-tabs-mode: nil
* End:
*
* vi: set shiftwidth=4 tabstop=8 expandtab:
* :indentSize=4:tabSize=8:noTabs=true:
*/

File diff suppressed because it is too large Load Diff

View File

@ -299,7 +299,7 @@ dissect_applemidi_heur( tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, voi
rtp_dyn_payload = rtp_dyn_payload_new();
rtp_dyn_payload_insert(rtp_dyn_payload, 97, "rtp-midi", 10000);
rtp_add_address( pinfo, &pinfo->src, pinfo->srcport, 0, APPLEMIDI_DISSECTOR_SHORTNAME,
rtp_add_address( pinfo, &pinfo->src, pinfo->srcport, 0, APPLEMIDI_DISSECTOR_SHORTNAME,
pinfo->fd->num, FALSE, rtp_dyn_payload);
/* call dissect_applemidi() from now on for UDP packets on this "connection"
@ -532,3 +532,16 @@ proto_reg_handoff_applemidi( void ) {
heur_dissector_add( "udp", dissect_applemidi_heur, proto_applemidi );
}
/*
* Editor modelines - http://www.wireshark.org/tools/modelines.html
*
* Local variables:
* c-basic-offset: 8
* tab-width: 8
* indent-tabs-mode: t
* End:
*
* vi: set shiftwidth=8 tabstop=8 noexpandtab:
* :indentSize=8:tabSize=8:noTabs=false:
*/

View File

@ -648,3 +648,16 @@ proto_reg_handoff_bacnet(void)
bacapp_handle = find_dissector("bacapp");
data_handle = find_dissector("data");
}
/*
* Editor modelines - http://www.wireshark.org/tools/modelines.html
*
* Local variables:
* c-basic-offset: 8
* tab-width: 8
* indent-tabs-mode: t
* End:
*
* vi: set shiftwidth=8 tabstop=8 noexpandtab:
* :indentSize=8:tabSize=8:noTabs=false:
*/

View File

@ -59,15 +59,15 @@ struct gw_packet {
};
#define GW_PACKET_SIZE 1
#define TUNNEL_DATA 0x01
#define TUNNEL_IP_REQUEST 0x02
#define TUNNEL_IP_INVALID 0x03
#define TUNNEL_DATA 0x01
#define TUNNEL_IP_REQUEST 0x02
#define TUNNEL_IP_INVALID 0x03
#define TUNNEL_KEEPALIVE_REQUEST 0x04
#define TUNNEL_KEEPALIVE_REPLY 0x05
#define TUNNEL_KEEPALIVE_REPLY 0x05
#define DATA_TYPE_NEIGH 1
#define DATA_TYPE_NEIGH 1
#define DATA_TYPE_SEC_IF 2
#define DATA_TYPE_HNA 3
#define DATA_TYPE_HNA 3
struct vis_packet_v22 {
address sender_ip;
@ -144,18 +144,18 @@ static int hf_bat_batman_flags_unidirectional = -1;
static int hf_bat_batman_flags_directlink = -1;
static const value_string gw_packettypenames[] = {
{ TUNNEL_DATA, "DATA" },
{ TUNNEL_IP_REQUEST, "IP_REQUEST" },
{ TUNNEL_IP_INVALID, "IP_INVALID" },
{ TUNNEL_DATA, "DATA" },
{ TUNNEL_IP_REQUEST, "IP_REQUEST" },
{ TUNNEL_IP_INVALID, "IP_INVALID" },
{ TUNNEL_KEEPALIVE_REQUEST, "KEEPALIVE_REQUEST" },
{ TUNNEL_KEEPALIVE_REPLY, "KEEPALIVE_REPLY" },
{ TUNNEL_KEEPALIVE_REPLY, "KEEPALIVE_REPLY" },
{ 0, NULL }
};
static const value_string vis_packettypenames[] = {
{ DATA_TYPE_NEIGH, "NEIGH" },
{ DATA_TYPE_NEIGH, "NEIGH" },
{ DATA_TYPE_SEC_IF, "SEC_IF" },
{ DATA_TYPE_HNA, "HNA" },
{ DATA_TYPE_HNA, "HNA" },
{ 0, NULL }
};
@ -185,8 +185,8 @@ static int bat_follow_tap = -1;
/* values changed by preferences */
static guint global_bat_batman_udp_port = BAT_BATMAN_PORT;
static guint global_bat_gw_udp_port = BAT_GW_PORT;
static guint global_bat_vis_udp_port = BAT_VIS_PORT;
static guint global_bat_gw_udp_port = BAT_GW_PORT;
static guint global_bat_vis_udp_port = BAT_VIS_PORT;
@ -219,7 +219,7 @@ static void dissect_bat_gwflags(tvbuff_t *tvb, guint8 gwflags, int offset, proto
guint8 s = (gwflags & 0x80) >> 7;
guint8 downbits = (gwflags & 0x78) >> 3;
guint8 upbits = (gwflags & 0x07);
guint down, up;
guint down, up;
down = 32 * (s + 2) * (1 << downbits);
up = ((upbits + 1) * down) / 8;
@ -942,3 +942,16 @@ void proto_reg_handoff_bat(void)
dissector_add_uint("udp.port", gw_udp_port, gw_handle);
dissector_add_uint("udp.port", vis_udp_port, vis_handle);
}
/*
* Editor modelines - http://www.wireshark.org/tools/modelines.html
*
* Local variables:
* c-basic-offset: 8
* tab-width: 8
* indent-tabs-mode: t
* End:
*
* vi: set shiftwidth=8 tabstop=8 noexpandtab:
* :indentSize=8:tabSize=8:noTabs=false:
*/

View File

@ -724,3 +724,16 @@ void proto_reg_handoff_bfcp(void)
heur_dissector_set_enabled("udp", dissect_bfcp_heur, proto_bfcp,
bfcp_enable_heuristic_dissection);
}
/*
* Editor modelines - http://www.wireshark.org/tools/modelines.html
*
* Local variables:
* c-basic-offset: 8
* tab-width: 8
* indent-tabs-mode: t
* End:
*
* vi: set shiftwidth=8 tabstop=8 noexpandtab:
* :indentSize=8:tabSize=8:noTabs=false:
*/

View File

@ -142,68 +142,68 @@ static expert_field ei_dcc_len = EI_INIT;
/* Lookup string tables */
static const value_string dcc_op_vals[] = {
{DCC_OP_INVALID, "Invalid Op"},
{DCC_OP_NOP, "No-Op"},
{DCC_OP_REPORT, "Report and Query"},
{DCC_OP_QUERY, "Query"},
{DCC_OP_INVALID, "Invalid Op"},
{DCC_OP_NOP, "No-Op"},
{DCC_OP_REPORT, "Report and Query"},
{DCC_OP_QUERY, "Query"},
{DCC_OP_QUERY_RESP, "Server Response"},
{DCC_OP_ADMN, "Admin"},
{DCC_OP_OK, "Ok"},
{DCC_OP_ERROR, "Server Failing"},
{DCC_OP_DELETE, "Delete Checksum(s)"},
{DCC_OP_ADMN, "Admin"},
{DCC_OP_OK, "Ok"},
{DCC_OP_ERROR, "Server Failing"},
{DCC_OP_DELETE, "Delete Checksum(s)"},
{0, NULL}
};
static const value_string dcc_cktype_vals[] = {
{DCC_CK_INVALID, "Invalid/Deleted from DB when seen"},
{DCC_CK_IP, "MD5 of binary source IPv6 address"},
{DCC_CK_ENV_FROM, "MD5 of envelope Mail From value"},
{DCC_CK_FROM, "MD5 of header From: line"},
{DCC_CK_SUB, "MD5 of substitute header line"},
{DCC_CK_INVALID, "Invalid/Deleted from DB when seen"},
{DCC_CK_IP, "MD5 of binary source IPv6 address"},
{DCC_CK_ENV_FROM, "MD5 of envelope Mail From value"},
{DCC_CK_FROM, "MD5 of header From: line"},
{DCC_CK_SUB, "MD5 of substitute header line"},
{DCC_CK_MESSAGE_ID, "MD5 of header Message-ID: line"},
{DCC_CK_RECEIVED, "MD5 of last header Received: line"},
{DCC_CK_BODY, "MD5 of body"},
{DCC_CK_FUZ1, "MD5 of filtered body - FUZ1"},
{DCC_CK_FUZ2, "MD5 of filtered body - FUZ2"},
{DCC_CK_FUZ3, "MD5 of filtered body - FUZ3"},
{DCC_CK_FUZ4, "MD5 of filtered body - FUZ4"},
{DCC_CK_SRVR_ID, "hostname for server-ID check "},
{DCC_CK_ENV_TO, "MD5 of envelope Rcpt To value"},
{DCC_CK_RECEIVED, "MD5 of last header Received: line"},
{DCC_CK_BODY, "MD5 of body"},
{DCC_CK_FUZ1, "MD5 of filtered body - FUZ1"},
{DCC_CK_FUZ2, "MD5 of filtered body - FUZ2"},
{DCC_CK_FUZ3, "MD5 of filtered body - FUZ3"},
{DCC_CK_FUZ4, "MD5 of filtered body - FUZ4"},
{DCC_CK_SRVR_ID, "hostname for server-ID check "},
{DCC_CK_ENV_TO, "MD5 of envelope Rcpt To value"},
{0, NULL},
};
static const value_string dcc_adminop_vals[] = {
{DCC_AOP_OK, "Never sent"},
{DCC_AOP_STOP, "Stop Gracefully"},
{DCC_AOP_NEW_IDS, "Load keys and client IDs"},
{DCC_AOP_FLOD, "Flood control"},
{DCC_AOP_DB_UNLOCK, "Start Switch to new database"},
{DCC_AOP_DB_NEW, "Finish Switch to new database"},
{DCC_AOP_STATS, "Return counters"},
{DCC_AOP_OK, "Never sent"},
{DCC_AOP_STOP, "Stop Gracefully"},
{DCC_AOP_NEW_IDS, "Load keys and client IDs"},
{DCC_AOP_FLOD, "Flood control"},
{DCC_AOP_DB_UNLOCK, "Start Switch to new database"},
{DCC_AOP_DB_NEW, "Finish Switch to new database"},
{DCC_AOP_STATS, "Return counters"},
{DCC_AOP_STATS_CLEAR, "Return and zero counters"},
{DCC_AOP_TRACE_ON, "Enable tracing"},
{DCC_AOP_TRACE_OFF, "Disable tracing"},
{DCC_AOP_TRACE_ON, "Enable tracing"},
{DCC_AOP_TRACE_OFF, "Disable tracing"},
{DCC_AOP_CUR_CLIENTS, "List clients"},
{0, NULL},
};
static const value_string dcc_target_vals[] = {
{DCC_TGTS_TOO_MANY, "Targets (>= 16777200)"},
{DCC_TGTS_OK, "Certified not spam"},
{DCC_TGTS_OK2, "Half certified not spam"},
{DCC_TGTS_DEL, "Deleted checksum"},
{DCC_TGTS_INVALID, "Invalid"},
{DCC_TGTS_OK, "Certified not spam"},
{DCC_TGTS_OK2, "Half certified not spam"},
{DCC_TGTS_DEL, "Deleted checksum"},
{DCC_TGTS_INVALID, "Invalid"},
{0, NULL},
};
static const value_string dcc_floodop_vals[] = {
{DCC_AOP_FLOD_CHECK, "Check"},
{DCC_AOP_FLOD_SHUTDOWN, "Shutdown"},
{DCC_AOP_FLOD_HALT, "Halt"},
{DCC_AOP_FLOD_RESUME, "Resume"},
{DCC_AOP_FLOD_REWIND, "Rewind"},
{DCC_AOP_FLOD_LIST, "List"},
{DCC_AOP_FLOD_STATS, "Stats"},
{DCC_AOP_FLOD_CHECK, "Check"},
{DCC_AOP_FLOD_SHUTDOWN, "Shutdown"},
{DCC_AOP_FLOD_HALT, "Halt"},
{DCC_AOP_FLOD_RESUME, "Resume"},
{DCC_AOP_FLOD_REWIND, "Rewind"},
{DCC_AOP_FLOD_LIST, "List"},
{DCC_AOP_FLOD_STATS, "Stats"},
{DCC_AOP_FLOD_STATS_CLEAR, "Clear Stats"},
{0,NULL},
};
@ -588,3 +588,16 @@ proto_reg_handoff_dcc(void)
{
heur_dissector_add("udp", dissect_dcc, proto_dcc);
}
/*
* Editor modelines - http://www.wireshark.org/tools/modelines.html
*
* Local variables:
* c-basic-offset: 8
* tab-width: 8
* indent-tabs-mode: t
* End:
*
* vi: set shiftwidth=8 tabstop=8 noexpandtab:
* :indentSize=8:tabSize=8:noTabs=false:
*/

View File

@ -54,11 +54,11 @@ static gint ett_dcerpc_browser = -1;
static int
dissect_browser_long_pointer(tvbuff_t *tvb, int offset,
packet_info *pinfo, proto_tree *tree,
dcerpc_info *di, guint8 *drep)
packet_info *pinfo, proto_tree *tree,
dcerpc_info *di, guint8 *drep)
{
offset = dissect_ndr_uint32 (tvb, offset, pinfo, tree, di, drep,
di->hf_index, NULL);
offset = dissect_ndr_uint32 (tvb, offset, pinfo, tree, di, drep,
di->hf_index, NULL);
return offset;
}
@ -73,8 +73,8 @@ dissect_browser_long_pointer(tvbuff_t *tvb, int offset,
*/
static e_uuid_t uuid_dcerpc_browser = {
0x6bffd098, 0xa112, 0x3610,
{ 0x98, 0x33, 0x01, 0x28, 0x92, 0x02, 0x01, 0x62 }
0x6bffd098, 0xa112, 0x3610,
{ 0x98, 0x33, 0x01, 0x28, 0x92, 0x02, 0x01, 0x62 }
};
static guint16 ver_dcerpc_browser = 0;
@ -257,7 +257,7 @@ dissect_browser_browserr_server_enum_rqst(tvbuff_t *tvb, int offset,
offset = dissect_ndr_str_pointer_item(tvb, offset, pinfo, tree, di, drep,
NDR_POINTER_UNIQUE, "unknown string",
hf_browser_unknown_string, 0);
hf_browser_unknown_string, 0);
offset = dissect_ndr_str_pointer_item(tvb, offset, pinfo, tree, di, drep,
NDR_POINTER_UNIQUE, "unknown string",
@ -723,7 +723,7 @@ dissect_browser_TYPE_10(tvbuff_t *tvb, int offset,
offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, di, drep,
hf_browser_unknown_long, NULL);
offset = dissect_ndr_pointer(tvb, offset, pinfo, tree, di, drep,
offset = dissect_ndr_pointer(tvb, offset, pinfo, tree, di, drep,
dissect_browser_TYPE_11_array, NDR_POINTER_UNIQUE,
"unknown TYPE_11_ARRAY", -1);
@ -896,7 +896,7 @@ dissect_browser_browserr_set_netlogon_state_rqst(tvbuff_t *tvb, int offset,
offset = dissect_ndr_str_pointer_item(tvb, offset, pinfo, tree, di, drep,
NDR_POINTER_REF, "unknown string",
hf_browser_unknown_string, 0);
hf_browser_unknown_string, 0);
offset = dissect_ndr_str_pointer_item(tvb, offset, pinfo, tree, di, drep,
NDR_POINTER_UNIQUE, "unknown string",
@ -1182,3 +1182,16 @@ proto_reg_handoff_dcerpc_browser(void)
&uuid_dcerpc_browser, ver_dcerpc_browser,
dcerpc_browser_dissectors, hf_browser_opnum);
}
/*
* Editor modelines - http://www.wireshark.org/tools/modelines.html
*
* Local variables:
* c-basic-offset: 8
* tab-width: 8
* indent-tabs-mode: t
* End:
*
* vi: set shiftwidth=8 tabstop=8 noexpandtab:
* :indentSize=8:tabSize=8:noTabs=false:
*/

View File

@ -83,8 +83,8 @@ static gint ett_dcerpc_svcctl = -1;
static gint ett_dcerpc_svcctl_service_type_bits = -1;
static e_uuid_t uuid_dcerpc_svcctl = {
0x367abb81, 0x9844, 0x35f1,
{ 0xad, 0x32, 0x98, 0xf0, 0x38, 0x00, 0x10, 0x03 }
0x367abb81, 0x9844, 0x35f1,
{ 0xad, 0x32, 0x98, 0xf0, 0x38, 0x00, 0x10, 0x03 }
};
static guint16 ver_dcerpc_svcctl = 2;
@ -121,7 +121,7 @@ svcctl_dissect_dwServiceType_flags(tvbuff_t *tvb, int offset,
packet_info *pinfo, proto_tree *parent_tree,
guint8 *drep, int opnum)
{
guint32 value, len=4;
guint32 value, len = 4;
proto_item *item = NULL;
proto_tree *tree = NULL;
@ -208,11 +208,11 @@ static const value_string svcctl_service_error_control_vals[] = {
static int
svcctl_dissect_pointer_long(tvbuff_t *tvb, int offset,
packet_info *pinfo, proto_tree *tree,
dcerpc_info *di, guint8 *drep)
packet_info *pinfo, proto_tree *tree,
dcerpc_info *di, guint8 *drep)
{
offset = dissect_ndr_uint32 (tvb, offset, pinfo, tree, di, drep,
di->hf_index, NULL);
offset = dissect_ndr_uint32 (tvb, offset, pinfo, tree, di, drep,
di->hf_index, NULL);
return offset;
}
@ -639,16 +639,16 @@ svcctl_dissect_QUERY_SERVICE_LOCK_STATUS(tvbuff_t *tvb, int offset,
packet_info *pinfo, proto_tree *tree,
dcerpc_info *di, guint8 *drep)
{
offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, di, drep,
hf_svcctl_is_locked, NULL);
offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, di, drep,
hf_svcctl_is_locked, NULL);
offset = dissect_ndr_pointer(
tvb, offset, pinfo, tree, di, drep,
dissect_ndr_char_cvstring, NDR_POINTER_UNIQUE,
"Owner", hf_svcctl_lock_owner);
offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, di, drep,
hf_svcctl_lock_duration, NULL);
offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, di, drep,
hf_svcctl_lock_duration, NULL);
return offset;
}
@ -671,8 +671,8 @@ svcctl_dissect_QueryServiceLockStatus_rqst(tvbuff_t *tvb, int offset,
tvb, offset, pinfo, tree, di, drep, hf_svcctl_hnd, NULL,
NULL, FALSE, TRUE);
offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, di, drep,
hf_svcctl_size, NULL);
offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, di, drep,
hf_svcctl_size, NULL);
return offset;
}
@ -685,8 +685,8 @@ svcctl_dissect_QueryServiceLockStatus_reply(tvbuff_t *tvb, int offset,
svcctl_dissect_QUERY_SERVICE_LOCK_STATUS, NDR_POINTER_REF,
"LOCK_STATUS", -1);
offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, di, drep,
hf_svcctl_required_size, NULL);
offset = dissect_ndr_uint32(tvb, offset, pinfo, tree, di, drep,
hf_svcctl_required_size, NULL);
offset = dissect_doserror(
tvb, offset, pinfo, tree, di, drep, hf_svcctl_rc, NULL);
@ -873,152 +873,165 @@ static dcerpc_sub_dissector dcerpc_svcctl_dissectors[] = {
void
proto_register_dcerpc_svcctl(void)
{
static hf_register_info hf[] = {
{ &hf_svcctl_opnum,
{ "Operation", "svcctl.opnum", FT_UINT16, BASE_DEC,
NULL, 0x0, NULL, HFILL }},
{ &hf_svcctl_machinename,
{ "MachineName", "svcctl.machinename", FT_STRING, BASE_NONE,
NULL, 0x0, "Name of the host we want to open the database on", HFILL }},
{ &hf_svcctl_database,
{ "Database", "svcctl.database", FT_STRING, BASE_NONE,
NULL, 0x0, "Name of the database to open", HFILL }},
{ &hf_svcctl_access_mask,
{ "Access Mask", "svcctl.access_mask", FT_UINT32, BASE_HEX,
NULL, 0x0, "SVCCTL Access Mask", HFILL }},
{ &hf_svcctl_scm_rights_connect,
{ "Connect", "svcctl.scm_rights_connect", FT_BOOLEAN, 32,
TFS(&tfs_set_notset), 0x00000001, "SVCCTL Rights to connect to SCM", HFILL }},
{ &hf_svcctl_scm_rights_create_service,
{ "Create Service", "svcctl.scm_rights_create_service", FT_BOOLEAN, 32,
TFS(&tfs_set_notset), 0x00000002, "SVCCTL Rights to create services", HFILL }},
{ &hf_svcctl_scm_rights_enumerate_service,
{ "Enumerate Service", "svcctl.scm_rights_enumerate_service", FT_BOOLEAN, 32,
TFS(&tfs_set_notset), 0x00000004, "SVCCTL Rights to enumerate services", HFILL }},
{ &hf_svcctl_scm_rights_lock,
{ "Lock", "svcctl.scm_rights_lock", FT_BOOLEAN, 32,
TFS(&tfs_set_notset), 0x00000008, "SVCCTL Rights to lock database", HFILL }},
{ &hf_svcctl_scm_rights_query_lock_status,
{ "Query Lock Status", "svcctl.scm_rights_query_lock_status", FT_BOOLEAN, 32,
TFS(&tfs_set_notset), 0x00000010, "SVCCTL Rights to query database lock status", HFILL }},
{ &hf_svcctl_scm_rights_modify_boot_config,
{ "Modify Boot Config", "svcctl.scm_rights_modify_boot_config", FT_BOOLEAN, 32,
TFS(&tfs_set_notset), 0x00000020, "SVCCTL Rights to modify boot config", HFILL }},
{ &hf_svcctl_hnd,
{ "Context Handle", "svcctl.hnd", FT_BYTES, BASE_NONE,
NULL, 0x0, "SVCCTL Context handle", HFILL }},
{ &hf_svcctl_lock,
{ "Lock", "svcctl.lock", FT_BYTES, BASE_NONE,
NULL, 0x0, "SVCCTL Database Lock", HFILL }},
{ &hf_svcctl_rc,
{ "Return code", "svcctl.rc", FT_UINT32, BASE_HEX | BASE_EXT_STRING,
&DOS_errors_ext, 0x0, "SVCCTL return code", HFILL }},
{ &hf_svcctl_size,
{ "Size", "svcctl.size", FT_UINT32, BASE_DEC,
NULL, 0x0, "SVCCTL size of buffer", HFILL }},
{ &hf_svcctl_required_size,
{ "Required Size", "svcctl.required_size", FT_UINT32, BASE_DEC,
NULL, 0x0, "SVCCTL required size of buffer for data to fit", HFILL }},
{ &hf_svcctl_is_locked,
{ "IsLocked", "svcctl.is_locked", FT_UINT32, BASE_DEC,
NULL, 0x0, "SVCCTL whether the database is locked or not", HFILL }},
{ &hf_svcctl_lock_duration,
{ "Duration", "svcctl.lock_duration", FT_UINT32, BASE_DEC,
NULL, 0x0, "SVCCTL number of seconds the database has been locked", HFILL }},
{ &hf_svcctl_lock_owner,
{ "Owner", "svcctl.lock_owner", FT_STRING, BASE_NONE,
NULL, 0x0, "SVCCTL the user that holds the database lock", HFILL }},
{ &hf_svcctl_service_type,
{ "Service Type", "svcctl.service_type", FT_UINT32, BASE_HEX,
NULL, 0x0, "SVCCTL type of service", HFILL }},
{ &hf_svcctl_service_type_kernel_driver,
{ "Kernel Driver Service", "svcctl.service_type.kernel", FT_BOOLEAN, 32,
TFS(&tfs_svcctl_service_type_kernel_driver), SVCCTL_SERVICE_TYPE_KERNEL_DRIVER, "Request includes kernel driver services?", HFILL }},
{ &hf_svcctl_service_type_fs_driver,
{ "File System Driver Service", "svcctl.service_type.fs", FT_BOOLEAN, 32,
TFS(&tfs_svcctl_service_type_fs_driver), SVCCTL_SERVICE_TYPE_FILE_SYSTEM_DRIVER, "Request includes file system driver services?", HFILL }},
{ &hf_svcctl_service_type_win32_own_process,
{ "Self Process Service", "svcctl.service_type.win32_own", FT_BOOLEAN, 32,
TFS(&tfs_svcctl_service_type_win32_own_process), SVCCTL_SERVICE_TYPE_WIN32_OWN_PROCESS, "Request includes services that run their own process?", HFILL }},
{ &hf_svcctl_service_type_win32_share_process,
{ "Shared Process Service", "svcctl.service_type.win32_shared", FT_BOOLEAN, 32,
TFS(&tfs_svcctl_service_type_win32_share_process), SVCCTL_SERVICE_TYPE_WIN32_SHARE_PROCESS, "Request includes services that share their process?", HFILL }},
{ &hf_svcctl_service_type_interactive_process,
{ "Interactive Process Service", "svcctl.service_type.interactive", FT_BOOLEAN, 32,
TFS(&tfs_svcctl_service_type_interactive_process), SVCCTL_SERVICE_TYPE_INTERACTIVE_PROCESS, "Request includes services that can interact with the desktop?", HFILL }},
{ &hf_svcctl_service_state,
{ "Service State", "svcctl.service_state", FT_UINT32, BASE_DEC,
VALS(svcctl_service_status_vals), 0x0, "SVCCTL service state", HFILL }},
{ &hf_svcctl_buffer,
{ "Buffer", "svcctl.buffer", FT_UINT32, BASE_DEC,
NULL, 0x0, "SVCCTL buffer", HFILL }},
static hf_register_info hf[] = {
{ &hf_svcctl_opnum,
{ "Operation", "svcctl.opnum", FT_UINT16, BASE_DEC,
NULL, 0x0, NULL, HFILL }},
{ &hf_svcctl_machinename,
{ "MachineName", "svcctl.machinename", FT_STRING, BASE_NONE,
NULL, 0x0, "Name of the host we want to open the database on", HFILL }},
{ &hf_svcctl_database,
{ "Database", "svcctl.database", FT_STRING, BASE_NONE,
NULL, 0x0, "Name of the database to open", HFILL }},
{ &hf_svcctl_access_mask,
{ "Access Mask", "svcctl.access_mask", FT_UINT32, BASE_HEX,
NULL, 0x0, "SVCCTL Access Mask", HFILL }},
{ &hf_svcctl_scm_rights_connect,
{ "Connect", "svcctl.scm_rights_connect", FT_BOOLEAN, 32,
TFS(&tfs_set_notset), 0x00000001, "SVCCTL Rights to connect to SCM", HFILL }},
{ &hf_svcctl_scm_rights_create_service,
{ "Create Service", "svcctl.scm_rights_create_service", FT_BOOLEAN, 32,
TFS(&tfs_set_notset), 0x00000002, "SVCCTL Rights to create services", HFILL }},
{ &hf_svcctl_scm_rights_enumerate_service,
{ "Enumerate Service", "svcctl.scm_rights_enumerate_service", FT_BOOLEAN, 32,
TFS(&tfs_set_notset), 0x00000004, "SVCCTL Rights to enumerate services", HFILL }},
{ &hf_svcctl_scm_rights_lock,
{ "Lock", "svcctl.scm_rights_lock", FT_BOOLEAN, 32,
TFS(&tfs_set_notset), 0x00000008, "SVCCTL Rights to lock database", HFILL }},
{ &hf_svcctl_scm_rights_query_lock_status,
{ "Query Lock Status", "svcctl.scm_rights_query_lock_status", FT_BOOLEAN, 32,
TFS(&tfs_set_notset), 0x00000010, "SVCCTL Rights to query database lock status", HFILL }},
{ &hf_svcctl_scm_rights_modify_boot_config,
{ "Modify Boot Config", "svcctl.scm_rights_modify_boot_config", FT_BOOLEAN, 32,
TFS(&tfs_set_notset), 0x00000020, "SVCCTL Rights to modify boot config", HFILL }},
{ &hf_svcctl_hnd,
{ "Context Handle", "svcctl.hnd", FT_BYTES, BASE_NONE,
NULL, 0x0, "SVCCTL Context handle", HFILL }},
{ &hf_svcctl_lock,
{ "Lock", "svcctl.lock", FT_BYTES, BASE_NONE,
NULL, 0x0, "SVCCTL Database Lock", HFILL }},
{ &hf_svcctl_rc,
{ "Return code", "svcctl.rc", FT_UINT32, BASE_HEX | BASE_EXT_STRING,
&DOS_errors_ext, 0x0, "SVCCTL return code", HFILL }},
{ &hf_svcctl_size,
{ "Size", "svcctl.size", FT_UINT32, BASE_DEC,
NULL, 0x0, "SVCCTL size of buffer", HFILL }},
{ &hf_svcctl_required_size,
{ "Required Size", "svcctl.required_size", FT_UINT32, BASE_DEC,
NULL, 0x0, "SVCCTL required size of buffer for data to fit", HFILL }},
{ &hf_svcctl_is_locked,
{ "IsLocked", "svcctl.is_locked", FT_UINT32, BASE_DEC,
NULL, 0x0, "SVCCTL whether the database is locked or not", HFILL }},
{ &hf_svcctl_lock_duration,
{ "Duration", "svcctl.lock_duration", FT_UINT32, BASE_DEC,
NULL, 0x0, "SVCCTL number of seconds the database has been locked", HFILL }},
{ &hf_svcctl_lock_owner,
{ "Owner", "svcctl.lock_owner", FT_STRING, BASE_NONE,
NULL, 0x0, "SVCCTL the user that holds the database lock", HFILL }},
{ &hf_svcctl_service_type,
{ "Service Type", "svcctl.service_type", FT_UINT32, BASE_HEX,
NULL, 0x0, "SVCCTL type of service", HFILL }},
{ &hf_svcctl_service_type_kernel_driver,
{ "Kernel Driver Service", "svcctl.service_type.kernel", FT_BOOLEAN, 32,
TFS(&tfs_svcctl_service_type_kernel_driver), SVCCTL_SERVICE_TYPE_KERNEL_DRIVER, "Request includes kernel driver services?", HFILL }},
{ &hf_svcctl_service_type_fs_driver,
{ "File System Driver Service", "svcctl.service_type.fs", FT_BOOLEAN, 32,
TFS(&tfs_svcctl_service_type_fs_driver), SVCCTL_SERVICE_TYPE_FILE_SYSTEM_DRIVER, "Request includes file system driver services?", HFILL }},
{ &hf_svcctl_service_type_win32_own_process,
{ "Self Process Service", "svcctl.service_type.win32_own", FT_BOOLEAN, 32,
TFS(&tfs_svcctl_service_type_win32_own_process), SVCCTL_SERVICE_TYPE_WIN32_OWN_PROCESS, "Request includes services that run their own process?", HFILL }},
{ &hf_svcctl_service_type_win32_share_process,
{ "Shared Process Service", "svcctl.service_type.win32_shared", FT_BOOLEAN, 32,
TFS(&tfs_svcctl_service_type_win32_share_process), SVCCTL_SERVICE_TYPE_WIN32_SHARE_PROCESS, "Request includes services that share their process?", HFILL }},
{ &hf_svcctl_service_type_interactive_process,
{ "Interactive Process Service", "svcctl.service_type.interactive", FT_BOOLEAN, 32,
TFS(&tfs_svcctl_service_type_interactive_process), SVCCTL_SERVICE_TYPE_INTERACTIVE_PROCESS, "Request includes services that can interact with the desktop?", HFILL }},
{ &hf_svcctl_service_state,
{ "Service State", "svcctl.service_state", FT_UINT32, BASE_DEC,
VALS(svcctl_service_status_vals), 0x0, "SVCCTL service state", HFILL }},
{ &hf_svcctl_buffer,
{ "Buffer", "svcctl.buffer", FT_UINT32, BASE_DEC,
NULL, 0x0, "SVCCTL buffer", HFILL }},
#if 0
{ &hf_svcctl_bytes_needed,
{ "Bytes Needed", "svcctl.bytes_needed", FT_UINT32, BASE_DEC,
NULL, 0x0, "SVCCTL bytes needed", HFILL }},
{ &hf_svcctl_services_returned,
{ "Services Returned", "svcctl.services_returned", FT_UINT32, BASE_DEC,
NULL, 0x0, "SVCCTL services returned", HFILL }},
{ &hf_svcctl_bytes_needed,
{ "Bytes Needed", "svcctl.bytes_needed", FT_UINT32, BASE_DEC,
NULL, 0x0, "SVCCTL bytes needed", HFILL }},
{ &hf_svcctl_services_returned,
{ "Services Returned", "svcctl.services_returned", FT_UINT32, BASE_DEC,
NULL, 0x0, "SVCCTL services returned", HFILL }},
#endif
{ &hf_svcctl_service_name,
{ "Service Name", "svcctl.servicename", FT_STRING, BASE_NONE,
NULL, 0x0, "SVCCTL name of service", HFILL }},
{ &hf_svcctl_display_name,
{ "Display Name", "svcctl.displayname", FT_STRING, BASE_NONE,
NULL, 0x0, "SVCCTL display name", HFILL }},
{ &hf_svcctl_service_start_type,
{ "Service Start Type", "svcctl.service_start_type", FT_UINT32, BASE_DEC,
VALS(svcctl_service_start_type_vals), 0x0, "SVCCTL service start type", HFILL }},
{ &hf_svcctl_service_error_control,
{ "Service Error Control", "svcctl.service_error_control", FT_UINT32, BASE_DEC,
VALS(svcctl_service_error_control_vals), 0x0, "SVCCTL service error control", HFILL }},
{ &hf_svcctl_binarypathname,
{ "Binary Path Name", "svcctl.binarypathname", FT_STRING, BASE_NONE,
NULL, 0x0, "SVCCTL binary path name", HFILL }},
{ &hf_svcctl_loadordergroup,
{ "Load Order Group", "svcctl.loadordergroup", FT_STRING, BASE_NONE,
NULL, 0x0, "SVCCTL load order group", HFILL }},
{ &hf_svcctl_tagid,
{ "Tag Id", "svcctl.tagid", FT_UINT32, BASE_DEC,
NULL, 0x0, "SVCCTL tag id", HFILL }},
{ &hf_svcctl_dependencies,
{ "Dependencies", "svcctl.dependencies", FT_STRING, BASE_NONE,
NULL, 0x0, "SVCCTL dependencies", HFILL }},
{ &hf_svcctl_depend_size,
{ "Depend Size", "svcctl.depend_size", FT_UINT32, BASE_DEC,
NULL, 0x0, "SVCCTL depend size", HFILL }},
{ &hf_svcctl_service_start_name,
{ "Service Start Name", "svcctl.service_start_name", FT_STRING, BASE_NONE,
NULL, 0x0, "SVCCTL service start name", HFILL }},
{ &hf_svcctl_password,
{ "Password", "svcctl.password", FT_STRING, BASE_NONE,
NULL, 0x0, "SVCCTL password", HFILL }},
{ &hf_svcctl_password_size,
{ "Password Size", "svcctl.password_size", FT_UINT32, BASE_DEC,
NULL, 0x0, "SVCCTL password size", HFILL }},
{ &hf_svcctl_resume,
{ "Resume Handle", "svcctl.resume", FT_UINT32, BASE_DEC,
NULL, 0x0, "SVCCTL resume handle", HFILL }},
{ &hf_svcctl_service_name,
{ "Service Name", "svcctl.servicename", FT_STRING, BASE_NONE,
NULL, 0x0, "SVCCTL name of service", HFILL }},
{ &hf_svcctl_display_name,
{ "Display Name", "svcctl.displayname", FT_STRING, BASE_NONE,
NULL, 0x0, "SVCCTL display name", HFILL }},
{ &hf_svcctl_service_start_type,
{ "Service Start Type", "svcctl.service_start_type", FT_UINT32, BASE_DEC,
VALS(svcctl_service_start_type_vals), 0x0, "SVCCTL service start type", HFILL }},
{ &hf_svcctl_service_error_control,
{ "Service Error Control", "svcctl.service_error_control", FT_UINT32, BASE_DEC,
VALS(svcctl_service_error_control_vals), 0x0, "SVCCTL service error control", HFILL }},
{ &hf_svcctl_binarypathname,
{ "Binary Path Name", "svcctl.binarypathname", FT_STRING, BASE_NONE,
NULL, 0x0, "SVCCTL binary path name", HFILL }},
{ &hf_svcctl_loadordergroup,
{ "Load Order Group", "svcctl.loadordergroup", FT_STRING, BASE_NONE,
NULL, 0x0, "SVCCTL load order group", HFILL }},
{ &hf_svcctl_tagid,
{ "Tag Id", "svcctl.tagid", FT_UINT32, BASE_DEC,
NULL, 0x0, "SVCCTL tag id", HFILL }},
{ &hf_svcctl_dependencies,
{ "Dependencies", "svcctl.dependencies", FT_STRING, BASE_NONE,
NULL, 0x0, "SVCCTL dependencies", HFILL }},
{ &hf_svcctl_depend_size,
{ "Depend Size", "svcctl.depend_size", FT_UINT32, BASE_DEC,
NULL, 0x0, "SVCCTL depend size", HFILL }},
{ &hf_svcctl_service_start_name,
{ "Service Start Name", "svcctl.service_start_name", FT_STRING, BASE_NONE,
NULL, 0x0, "SVCCTL service start name", HFILL }},
{ &hf_svcctl_password,
{ "Password", "svcctl.password", FT_STRING, BASE_NONE,
NULL, 0x0, "SVCCTL password", HFILL }},
{ &hf_svcctl_password_size,
{ "Password Size", "svcctl.password_size", FT_UINT32, BASE_DEC,
NULL, 0x0, "SVCCTL password size", HFILL }},
{ &hf_svcctl_resume,
{ "Resume Handle", "svcctl.resume", FT_UINT32, BASE_DEC,
NULL, 0x0, "SVCCTL resume handle", HFILL }},
};
static gint *ett[] = {
&ett_dcerpc_svcctl,
&ett_dcerpc_svcctl_service_type_bits,
};
static gint *ett[] = {
&ett_dcerpc_svcctl,
&ett_dcerpc_svcctl_service_type_bits,
};
proto_dcerpc_svcctl = proto_register_protocol(
"Microsoft Service Control", "SVCCTL", "svcctl");
proto_dcerpc_svcctl = proto_register_protocol(
"Microsoft Service Control", "SVCCTL", "svcctl");
proto_register_field_array(proto_dcerpc_svcctl, hf, array_length(hf));
proto_register_subtree_array(ett, array_length(ett));
proto_register_subtree_array(ett, array_length(ett));
}
void
proto_reg_handoff_dcerpc_svcctl(void)
{
/* Register protocol as dcerpc */
/* Register protocol as dcerpc */
dcerpc_init_uuid(proto_dcerpc_svcctl, ett_dcerpc_svcctl,
&uuid_dcerpc_svcctl, ver_dcerpc_svcctl,
dcerpc_svcctl_dissectors, hf_svcctl_opnum);
dcerpc_init_uuid(proto_dcerpc_svcctl, ett_dcerpc_svcctl,
&uuid_dcerpc_svcctl, ver_dcerpc_svcctl,
dcerpc_svcctl_dissectors, hf_svcctl_opnum);
}
/*
* Editor modelines - http://www.wireshark.org/tools/modelines.html
*
* Local variables:
* c-basic-offset: 8
* tab-width: 8
* indent-tabs-mode: t
* End:
*
* vi: set shiftwidth=8 tabstop=8 noexpandtab:
* :indentSize=8:tabSize=8:noTabs=false:
*/

View File

@ -701,7 +701,7 @@ dissect_dvmrp(tvbuff_t *tvb, packet_info *pinfo, proto_tree *parent_tree, int of
if ((tvb_length_remaining(tvb, offset)>=8)
&& (((tvb_get_guint8(tvb, 6)==0xff)
&& (tvb_get_guint8(tvb, 7)==0x03))
|| !strict_v3)) {
|| !strict_v3)) {
offset = dissect_dvmrp_v3(tvb, pinfo, tree, offset);
} else {
offset = dissect_dvmrp_v1(tvb, pinfo, tree, offset);
@ -903,3 +903,16 @@ proto_register_dvmrp(void)
"Allow only packets with Major=0x03//Minor=0xFF as DVMRP V3 packets",
&strict_v3);
}
/*
* Editor modelines - http://www.wireshark.org/tools/modelines.html
*
* Local variables:
* c-basic-offset: 8
* tab-width: 8
* indent-tabs-mode: t
* End:
*
* vi: set shiftwidth=8 tabstop=8 noexpandtab:
* :indentSize=8:tabSize=8:noTabs=false:
*/

View File

@ -37,53 +37,53 @@
void proto_register_e164(void);
const value_string E164_country_code_value[] = {
{ 0x00, "Reserved"},
{ 0x01, "Americas"},
{ 0x07, "Russian Federation, Kazakstan (Republic of)"},
{ 0x020, "Egypt (Arab Republic of)"},
{ 0x027, "South Africa (Republic of)"},
{ 0x030, "Greece"},
{ 0x031, "Netherlands (Kingdom of the)"},
{ 0x032, "Belgium"},
{ 0x033, "France"},
{ 0x034, "Spain"},
{ 0x036, "Hungary (Republic of)"},
{ 0x039, "Italy"},
{ 0x040, "Romania"},
{ 0x041, "Switzerland (Confederation of)"},
{ 0x043, "Austria"},
{ 0x044, "United Kingdom of Great Britain and Northern Ireland"},
{ 0x045, "Denmark"},
{ 0x046, "Sweden"},
{ 0x047, "Norway"},
{ 0x048, "Poland (Republic of)"},
{ 0x049, "Germany (Federal Republic of)"},
{ 0x051, "Peru"},
{ 0x052, "Mexico"},
{ 0x053, "Cuba"},
{ 0x054, "Argentine Republic"},
{ 0x055, "Brazil (Federative Republic of)"},
{ 0x056, "Chile"},
{ 0x057, "Colombia (Republic of)"},
{ 0x058, "Venezuela(Bolivarian Republic of)"},
{ 0x060, "Malaysia"},
{ 0x061, "Australia"},
{ 0x062, "Indonesia (Republic of)"},
{ 0x063, "Philippines (Republic of the)"},
{ 0x064, "New Zealand"},
{ 0x065, "Singapore (Republic of)"},
{ 0x066, "Thailand"},
{ 0x081, "Japan"},
{ 0x082, "Korea (Republic of)"},
{ 0x084, "Viet Nam (Socialist Republic of)"},
{ 0x086, "China (People's Republic of)"},
{ 0x090, "Turkey"},
{ 0x091, "India (Republic of)"},
{ 0x092, "Pakistan (Islamic Republic of)"},
{ 0x093, "Afghanistan"},
{ 0x094, "Sri Lanka (Democratic Socialist Republic of)"},
{ 0x095, "Myanmar (the Republic of the Union of)"},
{ 0x098, "Iran (Islamic Republic of)"},
{ 0x0000, "Reserved"},
{ 0x0001, "Americas"},
{ 0x0007, "Russian Federation, Kazakstan (Republic of)"},
{ 0x0020, "Egypt (Arab Republic of)"},
{ 0x0027, "South Africa (Republic of)"},
{ 0x0030, "Greece"},
{ 0x0031, "Netherlands (Kingdom of the)"},
{ 0x0032, "Belgium"},
{ 0x0033, "France"},
{ 0x0034, "Spain"},
{ 0x0036, "Hungary (Republic of)"},
{ 0x0039, "Italy"},
{ 0x0040, "Romania"},
{ 0x0041, "Switzerland (Confederation of)"},
{ 0x0043, "Austria"},
{ 0x0044, "United Kingdom of Great Britain and Northern Ireland"},
{ 0x0045, "Denmark"},
{ 0x0046, "Sweden"},
{ 0x0047, "Norway"},
{ 0x0048, "Poland (Republic of)"},
{ 0x0049, "Germany (Federal Republic of)"},
{ 0x0051, "Peru"},
{ 0x0052, "Mexico"},
{ 0x0053, "Cuba"},
{ 0x0054, "Argentine Republic"},
{ 0x0055, "Brazil (Federative Republic of)"},
{ 0x0056, "Chile"},
{ 0x0057, "Colombia (Republic of)"},
{ 0x0058, "Venezuela(Bolivarian Republic of)"},
{ 0x0060, "Malaysia"},
{ 0x0061, "Australia"},
{ 0x0062, "Indonesia (Republic of)"},
{ 0x0063, "Philippines (Republic of the)"},
{ 0x0064, "New Zealand"},
{ 0x0065, "Singapore (Republic of)"},
{ 0x0066, "Thailand"},
{ 0x0081, "Japan"},
{ 0x0082, "Korea (Republic of)"},
{ 0x0084, "Viet Nam (Socialist Republic of)"},
{ 0x0086, "China (People's Republic of)"},
{ 0x0090, "Turkey"},
{ 0x0091, "India (Republic of)"},
{ 0x0092, "Pakistan (Islamic Republic of)"},
{ 0x0093, "Afghanistan"},
{ 0x0094, "Sri Lanka (Democratic Socialist Republic of)"},
{ 0x0095, "Myanmar (the Republic of the Union of)"},
{ 0x0098, "Iran (Islamic Republic of)"},
{ 0x0210, "Spare code"},
{ 0x0211, "South Sudan (Republic of)"},
{ 0x0212, "Morocco (Kingdom of)"},
@ -390,12 +390,12 @@ const value_string E164_International_Networks_882_vals[] = {
static value_string_ext E164_International_Networks_882_vals_ext = VALUE_STRING_EXT_INIT(E164_International_Networks_882_vals);
const value_string E164_International_Networks_883_vals[] = {
{ 0x100, "MediaLincc Ltd"},
{ 0x110, "Aicent Inc"},
{ 0x120, "Telenor Connexion AB"},
{ 0x130, "France Telecom Orange"},
{ 0x140, "Multiregional TransitTelecom (MTT)"},
{ 0x150, "BodyTrace Netherlands B.V"},
{ 0x0100, "MediaLincc Ltd"},
{ 0x0110, "Aicent Inc"},
{ 0x0120, "Telenor Connexion AB"},
{ 0x0130, "France Telecom Orange"},
{ 0x0140, "Multiregional TransitTelecom (MTT)"},
{ 0x0150, "BodyTrace Netherlands B.V"},
{ 0x5100, "Voxbone SA"},
{ 0x5110, "Bandwith.com Inc"},
{ 0x5120, "MTX Connect Ltd"},
@ -417,27 +417,27 @@ static int ett_e164_msisdn = -1;
void
dissect_e164_number(tvbuff_t *tvb, proto_tree *tree, int offset, int length, e164_info_t e164_info)
{
proto_item *pi;
proto_item *pi;
switch (e164_info.e164_number_type) {
case CALLING_PARTY_NUMBER:
proto_tree_add_string(tree, hf_E164_calling_party_number, tvb, offset,
length, e164_info.E164_number_str);
length, e164_info.E164_number_str);
break;
case CALLED_PARTY_NUMBER:
proto_tree_add_string(tree, hf_E164_called_party_number, tvb, offset,
length, e164_info.E164_number_str);
length, e164_info.E164_number_str);
break;
default:
break;
}
if(e164_info.nature_of_address == E164_NA_INTERNATIONAL_NUMBER){
pi = proto_tree_add_string(tree, hf_E164_number, tvb, offset, length, e164_info.E164_number_str);
PROTO_ITEM_SET_HIDDEN(pi);
}
if (e164_info.nature_of_address == E164_NA_INTERNATIONAL_NUMBER) {
pi = proto_tree_add_string(tree, hf_E164_number, tvb, offset, length, e164_info.E164_number_str);
PROTO_ITEM_SET_HIDDEN(pi);
}
}
void
@ -455,7 +455,7 @@ dissect_e164_cc(tvbuff_t *tvb, proto_tree *tree, int offset, e164_encoding_t enc
/* Get the first 3 digits of the MSISDN */
switch (encoding) {
case E164_ENC_BINARY:
case E164_ENC_BINARY:
/* Dissect country code after removing non significant zeros */
while (address_digit_pair == 0) {
cc_offset = cc_offset + 1;
@ -466,7 +466,7 @@ dissect_e164_cc(tvbuff_t *tvb, proto_tree *tree, int offset, e164_encoding_t enc
cc = cc >> 4;
}
break;
case E164_ENC_BCD:
case E164_ENC_BCD:
cc = address_digit_pair &0x0f;
cc = cc << 4;
cc = cc | (address_digit_pair &0xf0)>>4;
@ -476,7 +476,7 @@ dissect_e164_cc(tvbuff_t *tvb, proto_tree *tree, int offset, e164_encoding_t enc
cc = cc | (address_digit_pair &0x0f);
}
break;
case E164_ENC_UTF8:
case E164_ENC_UTF8:
/* XXX - do we need to worry about leading 0s? */
cc = (tvb_get_guint8(tvb, cc_offset) - '0') << 8;
cc |= (tvb_get_guint8(tvb, cc_offset+1) - '0') << 4;
@ -618,13 +618,13 @@ dissect_e164_cc(tvbuff_t *tvb, proto_tree *tree, int offset, e164_encoding_t enc
case 0x881:
/* Get the 1-digit ID code */
switch (encoding) {
case E164_ENC_BINARY:
case E164_ENC_BINARY:
id_code = tvb_get_guint8(tvb, cc_offset + 1) & 0x0f;
break;
case E164_ENC_BCD:
case E164_ENC_BCD:
id_code = (tvb_get_guint8(tvb, cc_offset + 1) & 0xf0) >> 4;
break;
case E164_ENC_UTF8:
case E164_ENC_UTF8:
id_code = tvb_get_guint8(tvb, cc_offset + cc_length) - '0';
break;
}
@ -634,15 +634,15 @@ dissect_e164_cc(tvbuff_t *tvb, proto_tree *tree, int offset, e164_encoding_t enc
case 0x882:
/* Get the 2-digit ID code */
switch (encoding) {
case E164_ENC_BINARY:
case E164_ENC_BINARY:
id_code = tvb_get_ntohs(tvb, cc_offset + 1);
id_code = (id_code & 0x0ff0) >> 4;
break;
case E164_ENC_BCD:
case E164_ENC_BCD:
id_code = tvb_get_guint8(tvb, cc_offset + 1) & 0xf0;
id_code |= tvb_get_guint8(tvb, cc_offset + 2) & 0x0f;
break;
case E164_ENC_UTF8:
case E164_ENC_UTF8:
id_code = (tvb_get_guint8(tvb, cc_offset+cc_length) - '0') << 4;
id_code |= (tvb_get_guint8(tvb, cc_offset+cc_length+1) - '0');
break;
@ -653,16 +653,16 @@ dissect_e164_cc(tvbuff_t *tvb, proto_tree *tree, int offset, e164_encoding_t enc
case 0x883:
/* Get the 3-digit ID code */
switch (encoding) {
case E164_ENC_BINARY:
case E164_ENC_BINARY:
id_code = tvb_get_ntohs(tvb, cc_offset + 1);
id_code = id_code & 0x0fff;
break;
case E164_ENC_BCD:
case E164_ENC_BCD:
id_code = (tvb_get_guint8(tvb, cc_offset + 1) & 0xf0) << 4;
id_code |= (tvb_get_guint8(tvb, cc_offset + 2) & 0x0f) << 4;
id_code |= (tvb_get_guint8(tvb, cc_offset + 2) & 0xf0) >> 4;
break;
case E164_ENC_UTF8:
case E164_ENC_UTF8:
id_code = (tvb_get_guint8(tvb, cc_offset+cc_length) - '0') << 8;
id_code |= (tvb_get_guint8(tvb, cc_offset+cc_length+1) - '0') << 4;
id_code |= (tvb_get_guint8(tvb, cc_offset+cc_length+2) - '0');
@ -671,13 +671,13 @@ dissect_e164_cc(tvbuff_t *tvb, proto_tree *tree, int offset, e164_encoding_t enc
if ((id_code & 0x0ff0) == 0x510) {
/* Get the 4th digit of the ID code */
switch (encoding) {
case E164_ENC_BINARY:
case E164_ENC_BINARY:
id_code = (id_code << 4) | ((tvb_get_guint8(tvb, cc_offset + 3) & 0xf0) >> 4);
break;
case E164_ENC_BCD:
case E164_ENC_BCD:
id_code = (id_code << 4) | (tvb_get_guint8(tvb, cc_offset + 3) & 0x0f);
break;
case E164_ENC_UTF8:
case E164_ENC_UTF8:
id_code = (id_code << 4) | (tvb_get_guint8(tvb, cc_offset + cc_length + 3) - '0');
break;
}
@ -702,14 +702,14 @@ dissect_e164_msisdn(tvbuff_t *tvb, proto_tree *tree, int offset, int length, e16
const gchar *msisdn_str;
switch (encoding) {
case E164_ENC_UTF8:
case E164_ENC_UTF8:
msisdn_str = tvb_get_string_enc(wmem_packet_scope(), tvb, offset, length, ENC_UTF_8);
break;
case E164_ENC_BCD:
case E164_ENC_BCD:
msisdn_str = tvb_bcd_dig_to_wmem_packet_str(tvb, offset, length, NULL, FALSE);
break;
case E164_ENC_BINARY:
default:
case E164_ENC_BINARY:
default:
DISSECTOR_ASSERT_NOT_REACHED();
}
@ -724,9 +724,6 @@ dissect_e164_msisdn(tvbuff_t *tvb, proto_tree *tree, int offset, int length, e16
/*
* Register the protocol with Wireshark.
*
* This format is required because a script is used to build the C function
* that calls all the protocol registration.
*/
void
@ -770,3 +767,16 @@ proto_register_e164(void)
proto_register_field_array(proto_e164, hf, array_length(hf));
proto_register_subtree_array(ett_e164_array, array_length(ett_e164_array));
}
/*
* Editor modelines - http://www.wireshark.org/tools/modelines.html
*
* Local variables:
* c-basic-offset: 8
* tab-width: 8
* indent-tabs-mode: t
* End:
*
* vi: set shiftwidth=8 tabstop=8 noexpandtab:
* :indentSize=8:tabSize=8:noTabs=false:
*/

View File

@ -555,3 +555,16 @@ proto_reg_handoff_enttec(void) {
dissector_add_uint("udp.port",global_udp_port_enttec,enttec_handle);
dissector_add_uint("tcp.port",global_tcp_port_enttec,enttec_handle);
}
/*
* Editor modelines - http://www.wireshark.org/tools/modelines.html
*
* Local variables:
* c-basic-offset: 8
* tab-width: 8
* indent-tabs-mode: t
* End:
*
* vi: set shiftwidth=8 tabstop=8 noexpandtab:
* :indentSize=8:tabSize=8:noTabs=false:
*/

View File

@ -653,3 +653,16 @@ proto_reg_handoff_epl_v1(void)
epl_v1_handle = new_create_dissector_handle(dissect_epl_v1, proto_epl_v1);
dissector_add_uint("ethertype", ETHERTYPE_EPL_V1, epl_v1_handle);
}
/*
* Editor modelines - http://www.wireshark.org/tools/modelines.html
*
* Local variables:
* c-basic-offset: 8
* tab-width: 8
* indent-tabs-mode: t
* End:
*
* vi: set shiftwidth=8 tabstop=8 noexpandtab:
* :indentSize=8:tabSize=8:noTabs=false:
*/

View File

@ -866,3 +866,16 @@ proto_reg_handoff_gluster_gd_mgmt(void)
rpc_init_proc_table(GD_FRIEND_PROGRAM, 2,glusterd_friend_proc,
hf_glusterd_friend_proc);
}
/*
* Editor modelines - http://www.wireshark.org/tools/modelines.html
*
* Local variables:
* c-basic-offset: 8
* tab-width: 8
* indent-tabs-mode: t
* End:
*
* vi: set shiftwidth=8 tabstop=8 noexpandtab:
* :indentSize=8:tabSize=8:noTabs=false:
*/

View File

@ -151,7 +151,7 @@ static const value_string rach_precorr_vals[] = {
static void
dissect_gmr1_rach_kls1(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree,
int *is_moc)
int *is_moc)
{
proto_item *ec_item = NULL;
proto_tree *ec_tree = NULL;
@ -407,7 +407,7 @@ _parse_dialed_number(gchar *s, int slen, tvbuff_t *tvb, int offset)
static void
dissect_gmr1_rach_kls2(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree,
int is_moc)
int is_moc)
{
proto_item *dialed_num_item = NULL;
proto_tree *dialed_num_tree = NULL, *gps_pos_tree = NULL;
@ -713,3 +713,16 @@ proto_reg_handoff_gmr1_rach(void)
{
data_handle = find_dissector("data");
}
/*
* Editor modelines - http://www.wireshark.org/tools/modelines.html
*
* Local variables:
* c-basic-offset: 8
* tab-width: 8
* indent-tabs-mode: t
* End:
*
* vi: set shiftwidth=8 tabstop=8 noexpandtab:
* :indentSize=8:tabSize=8:noTabs=false:
*/

View File

@ -748,3 +748,16 @@ void proto_reg_handoff_gnutella(void) {
proto_gnutella);
dissector_add_uint("tcp.port", GNUTELLA_TCP_PORT, gnutella_handle);
}
/*
* Editor modelines - http://www.wireshark.org/tools/modelines.html
*
* Local variables:
* c-basic-offset: 8
* tab-width: 8
* indent-tabs-mode: t
* End:
*
* vi: set shiftwidth=8 tabstop=8 noexpandtab:
* :indentSize=8:tabSize=8:noTabs=false:
*/

File diff suppressed because it is too large Load Diff

View File

@ -58,15 +58,15 @@ static const value_string gsm_bssmap_le_msg_strings[] = {
{ 2, "Reserved" },
{ 3, "Reserved" },
{ 4, "Reserved" },
{ BSSMAP_LE_PERFORM_LOCATION_REQUEST, "Perform Location Request" },
{ BSSMAP_LE_PERFORM_LOCATION_RESPONSE, "Perform Location Response" },
{ BSSMAP_LE_PERFORM_LOCATION_ABORT, "Perform Location Abort" },
{ BSSMAP_LE_PERFORM_LOCATION_INFORMATION, "Perform Location Information" },
{ BSSMAP_LE_PERFORM_LOCATION_REQUEST, "Perform Location Request" },
{ BSSMAP_LE_PERFORM_LOCATION_RESPONSE, "Perform Location Response" },
{ BSSMAP_LE_PERFORM_LOCATION_ABORT, "Perform Location Abort" },
{ BSSMAP_LE_PERFORM_LOCATION_INFORMATION, "Perform Location Information" },
{ BSSMAP_LE_CONNECTION_ORIENTED_INFORMATION, "Connection Oriented Information" },
{ BSSMAP_LE_CONNECTIONLESS_INFORMATION, "Connectionless Information" },
{ BSSMAP_LE_RESET, "Reset" },
{ BSSMAP_LE_RESET_ACKNOWLEDGE, "Reset Acknowledge" },
{ 0, NULL } /*Null terminated list. Make sure we add this to our value/string structures. */
{ BSSMAP_LE_CONNECTIONLESS_INFORMATION, "Connectionless Information" },
{ BSSMAP_LE_RESET, "Reset" },
{ BSSMAP_LE_RESET_ACKNOWLEDGE, "Reset Acknowledge" },
{ 0, NULL }
};
/* Information Element definitions */
@ -102,36 +102,36 @@ static const value_string gsm_bssmap_le_msg_strings[] = {
#define BSSMAP_LE_IMEI 128
static const value_string gsm_bssmap_le_elem_strings[] = {
{ DE_BMAPLE_LCSQOS, "LCS QoS" },
{ DE_BMAPLE_LCS_PRIO, "LCS Priority" },
{ DE_BMAPLE_LOC_TYPE, "Location Type" },
{ DE_BMAPLE_GANSS_LOC_TYPE, "GANSS Location Type" },
{ DE_BMAPLE_GEO_LOC, "Geographic Location" },
{ DE_BMAPLE_POS_DATA, "Positioning Data" },
{ DE_BMAPLE_GANSS_POS_DATA, "GANSS Positioning Data" },
{ DE_BMAPLE_VELOC_DATA, "Velocity Data" },
{ DE_BMAPLE_LCS_CAUSE, "LCS Cause" },
{ DE_BMAPLE_LCS_CLIENT_TYPE, "LCS Client Type" },
{ DE_BMAPLE_APDU, "APDU" },
{ DE_BMAPLE_NETWORK_ELEM_ID, "Network Element Identity" },
{ DE_BMAPLE_REQ_GPS_ASSIST_D, "Requested GPS Assistance Data" },
{ DE_BMAPLE_REQ_GNSS_ASSIST_D, "Requested GANSS Assistance Data" },
{ DE_BMAPLE_DECIPH_KEYS, "Deciphering Keys" },
{ DE_BMAPLE_RETURN_ERROR_REQ, "Return Error Request" },
{ DE_BMAPLE_LCSQOS, "LCS QoS" },
{ DE_BMAPLE_LCS_PRIO, "LCS Priority" },
{ DE_BMAPLE_LOC_TYPE, "Location Type" },
{ DE_BMAPLE_GANSS_LOC_TYPE, "GANSS Location Type" },
{ DE_BMAPLE_GEO_LOC, "Geographic Location" },
{ DE_BMAPLE_POS_DATA, "Positioning Data" },
{ DE_BMAPLE_GANSS_POS_DATA, "GANSS Positioning Data" },
{ DE_BMAPLE_VELOC_DATA, "Velocity Data" },
{ DE_BMAPLE_LCS_CAUSE, "LCS Cause" },
{ DE_BMAPLE_LCS_CLIENT_TYPE, "LCS Client Type" },
{ DE_BMAPLE_APDU, "APDU" },
{ DE_BMAPLE_NETWORK_ELEM_ID, "Network Element Identity" },
{ DE_BMAPLE_REQ_GPS_ASSIST_D, "Requested GPS Assistance Data" },
{ DE_BMAPLE_REQ_GNSS_ASSIST_D, "Requested GANSS Assistance Data" },
{ DE_BMAPLE_DECIPH_KEYS, "Deciphering Keys" },
{ DE_BMAPLE_RETURN_ERROR_REQ, "Return Error Request" },
{ DE_BMAPLE_RETURN_ERROR_CAUSE, "Return Error Cause" },
{ DE_BMAPLE_SEGMENTATION, "Segmentation" },
{ DE_BMAPLE_CLASSMARK_TYPE_3, "Classmark Information Type 3" },
{ DE_BMAPLE_CAUSE, "Cause" },
{ DE_BMAPLE_CELL_IDENTIFIER, "Cell Identifier" },
{ DE_BMAPLE_CHOSEN_CHANNEL, "Chosen Channel" },
{ DE_BMAPLE_IMSI, "IMSI" },
{ DE_BMAPLE_RES1, "Reserved" },
{ DE_BMAPLE_RES2, "Reserved" },
{ DE_BMAPLE_RES3, "Reserved" },
{ DE_BMAPLE_LCS_CAPABILITY, "LCS Capability" },
{ DE_BMAPLE_PACKET_MEAS_REP, "Packet Measurement Report" },
{ DE_BMAPLE_MEAS_CELL_ID, "Cell Identity List" },
{ DE_BMAPLE_IMEI, "IMEI" },
{ DE_BMAPLE_SEGMENTATION, "Segmentation" },
{ DE_BMAPLE_CLASSMARK_TYPE_3, "Classmark Information Type 3" },
{ DE_BMAPLE_CAUSE, "Cause" },
{ DE_BMAPLE_CELL_IDENTIFIER, "Cell Identifier" },
{ DE_BMAPLE_CHOSEN_CHANNEL, "Chosen Channel" },
{ DE_BMAPLE_IMSI, "IMSI" },
{ DE_BMAPLE_RES1, "Reserved" },
{ DE_BMAPLE_RES2, "Reserved" },
{ DE_BMAPLE_RES3, "Reserved" },
{ DE_BMAPLE_LCS_CAPABILITY, "LCS Capability" },
{ DE_BMAPLE_PACKET_MEAS_REP, "Packet Measurement Report" },
{ DE_BMAPLE_MEAS_CELL_ID, "Cell Identity List" },
{ DE_BMAPLE_IMEI, "IMEI" },
{ 0, NULL }
};
value_string_ext gsm_bssmap_le_elem_strings_ext = VALUE_STRING_EXT_INIT(gsm_bssmap_le_elem_strings);
@ -235,8 +235,8 @@ gint ett_gsm_bssmap_le_elem[NUM_GSM_BSSMAP_LE_ELEM];
static guint16
de_bmaple_apdu(tvbuff_t *tvb, proto_tree *tree, packet_info *pinfo, guint32 offset, guint len, gchar *add_string _U_, int string_len _U_)
{
guint32 curr_offset;
guint8 apdu_protocol_id;
guint32 curr_offset;
guint8 apdu_protocol_id;
tvbuff_t *APDU_tvb;
curr_offset = offset;
@ -468,7 +468,7 @@ static guint16
de_bmaple_client(tvbuff_t *tvb, proto_tree *tree, packet_info *pinfo _U_, guint32 offset, guint len _U_, gchar *add_string _U_, int string_len _U_)
{
guint32 curr_offset;
guint8 bitCount;
guint8 bitCount;
bitCount = offset<<3;
curr_offset = offset;
@ -561,7 +561,7 @@ static guint16
de_bmaple_pos_dta(tvbuff_t *tvb, proto_tree *tree, packet_info *pinfo, guint32 offset, guint len, gchar *add_string _U_, int string_len _U_)
{
tvbuff_t *data_tvb;
guint32 curr_offset;
guint32 curr_offset;
curr_offset = offset;
@ -903,8 +903,8 @@ void
dissect_bssmap_le(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree)
{
static gsm_a_tap_rec_t tap_rec[4];
static gsm_a_tap_rec_t *tap_p;
static guint tap_current=0;
static gsm_a_tap_rec_t *tap_p;
static guint tap_current=0;
guint8 oct;
guint32 offset, saved_offset;
guint32 len;
@ -912,7 +912,7 @@ dissect_bssmap_le(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree)
proto_item *bssmap_le_item = NULL;
proto_tree *bssmap_le_tree = NULL;
const gchar *str;
sccp_msg_info_t* sccp_msg_p;
sccp_msg_info_t *sccp_msg_p;
sccp_msg_p = pinfo->sccp_info;
@ -1011,8 +1011,8 @@ dissect_bssmap_le(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree)
void
proto_register_gsm_bssmap_le(void)
{
guint i;
guint last_offset;
guint i;
guint last_offset;
/* Setup list of header fields */
static hf_register_info hf[] = {
@ -1052,59 +1052,59 @@ proto_register_gsm_bssmap_le(void)
NULL, HFILL}
},
{ &hf_gsm_bssmap_le_acq_ass,
{ "Acquisition Assistance", "gsm_bssmap_le.acq_ass",
FT_BOOLEAN, 8, TFS(&tfs_requested_not_requested), 0x80,
NULL, HFILL }
{ "Acquisition Assistance", "gsm_bssmap_le.acq_ass",
FT_BOOLEAN, 8, TFS(&tfs_requested_not_requested), 0x80,
NULL, HFILL }
},
{ &hf_gsm_bssmap_le_ref_time,
{ "Reference Time", "gsm_bssmap_le.ref_time",
FT_BOOLEAN, 8, TFS(&tfs_requested_not_requested), 0x40,
NULL, HFILL }
{ "Reference Time", "gsm_bssmap_le.ref_time",
FT_BOOLEAN, 8, TFS(&tfs_requested_not_requested), 0x40,
NULL, HFILL }
},
{ &hf_gsm_bssmap_le_ref_loc,
{ "Reference Location", "gsm_bssmap_le.ref_loc",
FT_BOOLEAN, 8, TFS(&tfs_requested_not_requested), 0x20,
NULL, HFILL }
{ "Reference Location", "gsm_bssmap_le.ref_loc",
FT_BOOLEAN, 8, TFS(&tfs_requested_not_requested), 0x20,
NULL, HFILL }
},
{ &hf_gsm_bssmap_le_dgps_corr,
{ "DGPS Corrections", "gsm_bssmap_le.gps_corr",
FT_BOOLEAN, 8, TFS(&tfs_requested_not_requested), 0x08,
NULL, HFILL }
{ "DGPS Corrections", "gsm_bssmap_le.gps_corr",
FT_BOOLEAN, 8, TFS(&tfs_requested_not_requested), 0x08,
NULL, HFILL }
},
{ &hf_gsm_bssmap_le_nav_mod,
{ "Navigation Model", "gsm_bssmap_le.nav_mod",
FT_BOOLEAN, 8, TFS(&tfs_requested_not_requested), 0x10,
NULL, HFILL }
{ "Navigation Model", "gsm_bssmap_le.nav_mod",
FT_BOOLEAN, 8, TFS(&tfs_requested_not_requested), 0x10,
NULL, HFILL }
},
{ &hf_gsm_bssmap_le_iono_mod,
{ "Ionospheric Model", "gsm_bssmap_le.iono_mod",
FT_BOOLEAN, 8, TFS(&tfs_requested_not_requested), 0x04,
NULL, HFILL }
{ "Ionospheric Model", "gsm_bssmap_le.iono_mod",
FT_BOOLEAN, 8, TFS(&tfs_requested_not_requested), 0x04,
NULL, HFILL }
},
{ &hf_gsm_bssmap_le_utc_mod,
{ "UTC Model", "gsm_bssmap_le.utc_mod",
FT_BOOLEAN, 8, TFS(&tfs_requested_not_requested), 0x02,
NULL, HFILL }
{ "UTC Model", "gsm_bssmap_le.utc_mod",
FT_BOOLEAN, 8, TFS(&tfs_requested_not_requested), 0x02,
NULL, HFILL }
},
{ &hf_gsm_bssmap_le_almanac,
{ "Almanac", "gsm_bssmap_le.almanac",
FT_BOOLEAN, 8, TFS(&tfs_requested_not_requested), 0x01,
NULL, HFILL }
{ "Almanac", "gsm_bssmap_le.almanac",
FT_BOOLEAN, 8, TFS(&tfs_requested_not_requested), 0x01,
NULL, HFILL }
},
{ &hf_gsm_bssmap_le_ephemeris_ext_chk,
{ "Ephemeris Extension Check", "gsm_bssmap_le.ephemeris_ext_chk",
FT_BOOLEAN, 8, TFS(&tfs_requested_not_requested), 0x04,
NULL, HFILL }
{ "Ephemeris Extension Check", "gsm_bssmap_le.ephemeris_ext_chk",
FT_BOOLEAN, 8, TFS(&tfs_requested_not_requested), 0x04,
NULL, HFILL }
},
{ &hf_gsm_bssmap_le_ephemeris_ext,
{ "Ephemeris Extension", "gsm_bssmap_le.ephemeris_ext",
FT_BOOLEAN, 8, TFS(&tfs_requested_not_requested), 0x02,
NULL, HFILL }
{ "Ephemeris Extension", "gsm_bssmap_le.ephemeris_ext",
FT_BOOLEAN, 8, TFS(&tfs_requested_not_requested), 0x02,
NULL, HFILL }
},
{ &hf_gsm_bssmap_le_real_time_int,
{ "Real-Time Integrity", "gsm_bssmap_le.real_time_int",
FT_BOOLEAN, 8, TFS(&tfs_requested_not_requested), 0x01,
NULL, HFILL }
{ "Real-Time Integrity", "gsm_bssmap_le.real_time_int",
FT_BOOLEAN, 8, TFS(&tfs_requested_not_requested), 0x01,
NULL, HFILL }
},
{ &hf_gsm_bssmap_le_lcs_cause_value,
{ "Cause Value", "gsm_bssmap_le.lcsCauseValue",
@ -1207,3 +1207,16 @@ proto_reg_handoff_gsm_bssmap_le(void)
gsm_bsslap_handle = find_dissector("gsm_bsslap");
}
/*
* Editor modelines - http://www.wireshark.org/tools/modelines.html
*
* Local variables:
* c-basic-offset: 8
* tab-width: 8
* indent-tabs-mode: t
* End:
*
* vi: set shiftwidth=8 tabstop=8 noexpandtab:
* :indentSize=8:tabSize=8:noTabs=false:
*/

View File

@ -69,7 +69,7 @@ static gboolean gssapi_reassembly = TRUE;
typedef struct _gssapi_conv_info_t {
gssapi_oid_value *oid;
wmem_tree_t *frags;
wmem_tree_t *frags;
gboolean do_reassembly; /* this field is used on first sequential scan of packets to help indicate when the next blob is a fragment continuing a previous one */
int first_frame;
@ -381,9 +381,9 @@ dissect_gssapi_work(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree,
}
if (!oidvalue)
{
proto_tree_add_text(subtree, gss_tvb, start_offset, 0,
"Unknown header (class=%d, pc=%d, tag=%d)",
appclass, pc, tag);
proto_tree_add_text(subtree, gss_tvb, start_offset, 0,
"Unknown header (class=%d, pc=%d, tag=%d)",
appclass, pc, tag);
return_offset = tvb_length(gss_tvb);
goto done;
} else {
@ -692,3 +692,16 @@ proto_reg_handoff_gssapi(void)
gssapi_handle = find_dissector("gssapi");
dissector_add_string("dns.tsig.mac", "gss.microsoft.com", gssapi_handle);
}
/*
* Editor modelines - http://www.wireshark.org/tools/modelines.html
*
* Local variables:
* c-basic-offset: 8
* tab-width: 8
* indent-tabs-mode: t
* End:
*
* vi: set shiftwidth=8 tabstop=8 noexpandtab:
* :indentSize=8:tabSize=8:noTabs=false:
*/

View File

@ -47,35 +47,35 @@ static int hf_h248_pkg_BCP_BNCChar = -1;
static gint ett_h248_pkg_BCP = -1;
static const value_string h248_pkg_BCP_parameters[] _U_ = {
{ 0x0001, "BNCChar (BNC Characteristics)" },
{0, NULL}
{ 0x0001, "BNCChar (BNC Characteristics)" },
{0, NULL}
};
static const value_string h248_pkg_BCP_props_vals[] = {
{0, "Bearer Characteristics Q.1950 Annex A (bcp)" },
{1, "BNC Characteristics (BNCChar)"},
{0,NULL}
{0, "Bearer Characteristics Q.1950 Annex A (bcp)" },
{1, "BNC Characteristics (BNCChar)"},
{0,NULL}
};
/* Properties */
h248_pkg_param_t h248_pkg_BCP_props[] = {
{ 0x0001, &hf_h248_pkg_BCP_BNCChar, h248_param_ber_integer, &implicit },
{ 0, NULL, NULL, NULL}
{ 0x0001, &hf_h248_pkg_BCP_BNCChar, h248_param_ber_integer, &implicit },
{ 0, NULL, NULL, NULL}
};
/* Packet defenitions */
static h248_package_t h248_pkg_BCP = {
0x001e,
&hf_h248_pkg_BCP,
&ett_h248_pkg_BCP,
h248_pkg_BCP_props_vals,
NULL,
NULL,
NULL,
h248_pkg_BCP_props, /* Properties */
NULL, /* signals */
NULL, /* events */
NULL /* statistics */
0x001e,
&hf_h248_pkg_BCP,
&ett_h248_pkg_BCP,
h248_pkg_BCP_props_vals,
NULL,
NULL,
NULL,
h248_pkg_BCP_props, /* Properties */
NULL, /* signals */
NULL, /* events */
NULL /* statistics */
};
/* A.4 Bearer Network connection cut-through package */
@ -86,41 +86,41 @@ static int hf_h248_pkg_BNCCT_prop = -1;
static gint ett_h248_pkg_BNCCT = -1;
static const value_string h248_pkg_BNCCT_parameters[] _U_ = {
{ 0x0001, "BNC Cut Through Capability" },
{ 0, NULL }
{ 0x0001, "BNC Cut Through Capability" },
{ 0, NULL }
};
static const value_string h248_pkg_BNCCT_props_vals[] = {
{0,"Bearer Network Connection Cut Q.1950 Annex A" },
{1,"BNCCT"},
{0,NULL}
{0,"Bearer Network Connection Cut Q.1950 Annex A" },
{1,"BNCCT"},
{0,NULL}
};
static const value_string h248_pkg_BNCCT_prop_vals[] = {
{1,"Early"},
{2,"Late"},
{0,NULL}
{1,"Early"},
{2,"Late"},
{0,NULL}
};
/* Properties */
static const h248_pkg_param_t h248_pkg_BNCCT_props[] = {
{ 0x0001, &hf_h248_pkg_BNCCT_prop, h248_param_ber_integer, &implicit },
{ 0, NULL, NULL, NULL}
{ 0x0001, &hf_h248_pkg_BNCCT_prop, h248_param_ber_integer, &implicit },
{ 0, NULL, NULL, NULL}
};
/* Packet defenitions */
static h248_package_t h248_pkg_BNCCT = {
0x001f,
&hf_h248_pkg_BNCCT,
&ett_h248_pkg_BNCCT,
h248_pkg_BNCCT_props_vals,
NULL,
NULL,
NULL,
h248_pkg_BNCCT_props, /* Properties */
NULL, /* signals */
NULL, /* events */
NULL /* statistics */
0x001f,
&hf_h248_pkg_BNCCT,
&ett_h248_pkg_BNCCT,
h248_pkg_BNCCT_props_vals,
NULL,
NULL,
NULL,
h248_pkg_BNCCT_props, /* Properties */
NULL, /* signals */
NULL, /* events */
NULL /* statistics */
};
/* A.5 Bearer Reuse Idle Package */
@ -131,44 +131,44 @@ static int hf_h248_pkg_RII= -1;
static gint ett_h248_pkg_RI= -1;
static const value_string h248_pkg_RI_parameters[] = {
{ 0x0000, "Reuse Idle Q.1950 Annex A" },
{ 0x0001, "Reuse Idle Indication" },
{ 0, NULL }
{ 0x0000, "Reuse Idle Q.1950 Annex A" },
{ 0x0001, "Reuse Idle Indication" },
{ 0, NULL }
};
static const value_string h248_pkg_RII_vals[] = {
{0,"Not_Reuse_Idle"},
{1,"ReUse_Idle"},
{0,NULL}
{0,"Not_Reuse_Idle"},
{1,"ReUse_Idle"},
{0,NULL}
};
/* Properties */
h248_pkg_param_t h248_pkg_RI_props[] = {
{ 0x0001, &hf_h248_pkg_RII, h248_param_ber_integer, &implicit },
{ 0, NULL, NULL, NULL}
{ 0x0001, &hf_h248_pkg_RII, h248_param_ber_integer, &implicit },
{ 0, NULL, NULL, NULL}
};
/* Packet defenitions */
static h248_package_t h248_pkg_RI = {
0x0020,
&hf_h248_pkg_RI,
&ett_h248_pkg_RI,
h248_pkg_RI_parameters,
NULL,
NULL,
NULL,
h248_pkg_RI_props, /* Properties */
NULL, /* signals */
NULL, /* events */
NULL /* statistics */
0x0020,
&hf_h248_pkg_RI,
&ett_h248_pkg_RI,
h248_pkg_RI_parameters,
NULL,
NULL,
NULL,
h248_pkg_RI_props, /* Properties */
NULL, /* signals */
NULL, /* events */
NULL /* statistics */
};
/* A.5 Bearer Reuse Idle Package */
/* A.6 Generic bearer connection package
Package Name: GB
Package ID: 0x0021
Package Name: GB
Package ID: 0x0021
*/
static int hf_h248_pkg_GB= -1;
@ -188,89 +188,89 @@ static gint ett_h248_pkg_GB_RelBNC= -1;
static gint ett_h248_pkg_GB_BNCChange= -1;
static const value_string h248_pkg_GB_events_vals[] = {
{ 0x0001, "BNCChange" },
{ 0, NULL }
{ 0x0001, "BNCChange" },
{ 0, NULL }
};
static const value_string h248_pkg_GB_BNCChange_type_vals[] = {
{0x01, "Bearer Established"},
{0x02,"Bearer Modified"},
{0x03,"Bearer Cut through"},
{0x04,"Bearer Modification Failure"},
{0,NULL}
{0x01, "Bearer Established"},
{0x02,"Bearer Modified"},
{0x03,"Bearer Cut through"},
{0x04,"Bearer Modification Failure"},
{0,NULL}
};
static const value_string h248_pkg_GB_BNCChange_params_vals[] = {
{0x01, "Type"},
{0,NULL}
{0x01, "Type"},
{0,NULL}
};
static const h248_pkg_param_t h248_pkg_GB_BNCChange_pars[] = {
{ 0x0001, &hf_h248_pkg_GB_BNCChange_type, h248_param_ber_integer, &implicit },
{ 0, NULL, NULL, NULL}
{ 0x0001, &hf_h248_pkg_GB_BNCChange_type, h248_param_ber_integer, &implicit },
{ 0, NULL, NULL, NULL}
};
static const h248_pkg_evt_t h248_pkg_GB_events[] = {
{ 0x0001, &hf_h248_pkg_GB_BNCChange, &ett_h248_pkg_GB_BNCChange, h248_pkg_GB_BNCChange_pars, h248_pkg_GB_BNCChange_params_vals},
{ 0, NULL, NULL, NULL, NULL}
{ 0x0001, &hf_h248_pkg_GB_BNCChange, &ett_h248_pkg_GB_BNCChange, h248_pkg_GB_BNCChange_pars, h248_pkg_GB_BNCChange_params_vals},
{ 0, NULL, NULL, NULL, NULL}
};
static const value_string h248_pkg_GB_signals_vals[] = {
{0x01, "Establish BNC"},
{0x02,"Modify BNC"},
{0,NULL}
{0x01, "Establish BNC"},
{0x02, "Modify BNC"},
{0,NULL}
};
static const value_string h248_pkg_GB_RelBNC_vals[] = {
{0x01, "Generalcause"},
{0x02,"Failurecause"},
{0x03,"Reset"},
{0,NULL}
{0x01, "Generalcause"},
{0x02, "Failurecause"},
{0x03, "Reset"},
{0,NULL}
};
static const value_string h248_pkg_GB_RelBNC_Generalcause_vals[] = {
{0x01, "Normal Release"},
{0x02,"Unavailable Resources"},
{0x03,"Failure, Temporary"},
{0x04,"Failure, Permanent"},
{0x05,"Interworking Error"},
{0x06,"Unsupported"},
{0,NULL}
{0x01, "Normal Release"},
{0x02, "Unavailable Resources"},
{0x03, "Failure, Temporary"},
{0x04, "Failure, Permanent"},
{0x05, "Interworking Error"},
{0x06, "Unsupported"},
{0,NULL}
};
static const h248_pkg_param_t h248_pkg_GB_RelBNC_pars[] = {
{ 0x0001, &hf_h248_pkg_GB_RelBNC_Generalcause, h248_param_ber_integer, &implicit },
{ 0x0002, &hf_h248_pkg_GB_RelBNC_Failurecause, h248_param_ber_octetstring, &implicit },
{ 0x0003, &hf_h248_pkg_GB_RelBNC_Reset, h248_param_ber_boolean, &implicit },
{ 0, NULL, NULL, NULL}
{ 0x0001, &hf_h248_pkg_GB_RelBNC_Generalcause, h248_param_ber_integer, &implicit },
{ 0x0002, &hf_h248_pkg_GB_RelBNC_Failurecause, h248_param_ber_octetstring, &implicit },
{ 0x0003, &hf_h248_pkg_GB_RelBNC_Reset, h248_param_ber_boolean, &implicit },
{ 0, NULL, NULL, NULL}
};
static const h248_pkg_sig_t h248_pkg_GB_signals[] = {
{ 0x0001,&hf_h248_pkg_GB_EstBNC,&ett_h248_pkg_GB_EstBNC, NULL, NULL},
{ 0x0002,&hf_h248_pkg_GB_ModBNC,&ett_h248_pkg_GB_ModBNC, NULL, NULL},
{ 0x0003,&hf_h248_pkg_GB_RelBNC,&ett_h248_pkg_GB_RelBNC, h248_pkg_GB_RelBNC_pars, h248_pkg_GB_RelBNC_vals},
{ 0, NULL, NULL, NULL, NULL}
{ 0x0001,&hf_h248_pkg_GB_EstBNC,&ett_h248_pkg_GB_EstBNC, NULL, NULL},
{ 0x0002,&hf_h248_pkg_GB_ModBNC,&ett_h248_pkg_GB_ModBNC, NULL, NULL},
{ 0x0003,&hf_h248_pkg_GB_RelBNC,&ett_h248_pkg_GB_RelBNC, h248_pkg_GB_RelBNC_pars, h248_pkg_GB_RelBNC_vals},
{ 0, NULL, NULL, NULL, NULL}
};
static const value_string h248_pkg_GB_props_vals[] = {
{ 0x0000, "Generic Bearer Connection Q.1950 Annex A (gb)" },
{ 0, NULL }
{ 0x0000, "Generic Bearer Connection Q.1950 Annex A (gb)" },
{ 0, NULL }
};
static h248_package_t h248_pkg_GB = {
0x0021,
&hf_h248_pkg_GB,
&ett_h248_pkg_GB,
h248_pkg_GB_props_vals,
h248_pkg_GB_signals_vals,
h248_pkg_GB_events_vals,
NULL,
NULL, /* Properties */
h248_pkg_GB_signals, /* signals */
h248_pkg_GB_events, /* events */
NULL /* statistics */
0x0021,
&hf_h248_pkg_GB,
&ett_h248_pkg_GB,
h248_pkg_GB_props_vals,
h248_pkg_GB_signals_vals,
h248_pkg_GB_events_vals,
NULL,
NULL, /* Properties */
h248_pkg_GB_signals, /* signals */
h248_pkg_GB_events, /* events */
NULL /* statistics */
};
@ -287,93 +287,93 @@ static gint ett_h248_pkg_bt_tind = -1;
static gint ett_h248_pkg_bt_bit= -1;
static void dissect_bt_tunneled_proto(proto_tree* tree, tvbuff_t* tvb, packet_info* pinfo, int hfid, h248_curr_info_t* i _U_, void* d _U_) {
tvbuff_t* bctp_tvb = NULL;
gint8 appclass;
gboolean pc;
gint32 tag;
asn1_ctx_t asn1_ctx;
tvbuff_t* bctp_tvb = NULL;
gint8 appclass;
gboolean pc;
gint32 tag;
asn1_ctx_t asn1_ctx;
asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
get_ber_identifier(tvb, 0, &appclass, &pc, &tag);
get_ber_identifier(tvb, 0, &appclass, &pc, &tag);
/* XXX: is this enough to guess it? */
if (tag==BER_UNI_TAG_OCTETSTRING) {
dissect_ber_octet_string(FALSE, &asn1_ctx, tree, tvb, 0, hfid, &bctp_tvb);
/* XXX: is this enough to guess it? */
if (tag == BER_UNI_TAG_OCTETSTRING) {
dissect_ber_octet_string(FALSE, &asn1_ctx, tree, tvb, 0, hfid, &bctp_tvb);
if (bctp_tvb) {
call_dissector(bctp_dissector,bctp_tvb,pinfo,tree);
}
} else {
proto_tree_add_item(tree,hfid,tvb,0,-1,ENC_NA);
}
if (bctp_tvb) {
call_dissector(bctp_dissector,bctp_tvb,pinfo,tree);
}
} else {
proto_tree_add_item(tree,hfid,tvb,0,-1,ENC_NA);
}
}
/* Properties */
static const value_string h248_pkg_bt_props_vals[] = {
{ 0, "Bearer Control Tunnelling Q.1950 Annex A" },
{ 1, "Tunnelling Options"},
{ 0, NULL}
{ 0, "Bearer Control Tunnelling Q.1950 Annex A" },
{ 1, "Tunnelling Options"},
{ 0, NULL}
};
static const value_string h248_pkg_bt_tunopt_vals[] = {
{ 1, "1 (In the same message as the command response to the command which generated the bearer control tunnel)"},
{ 2, "2 (Tunnel message at any time)"},
{ 3, "NO"},
{ 0, NULL}
{ 1, "1 (In the same message as the command response to the command which generated the bearer control tunnel)"},
{ 2, "2 (Tunnel message at any time)"},
{ 3, "NO"},
{ 0, NULL}
};
static const h248_pkg_param_t h248_pkg_bt_props[] = {
{ 0x0001, &hf_h248_pkg_bt_tunopt, h248_param_ber_integer, &implicit },
{ 0, NULL, NULL, NULL}
{ 0x0001, &hf_h248_pkg_bt_tunopt, h248_param_ber_integer, &implicit },
{ 0, NULL, NULL, NULL}
};
/* Events */
static const value_string h248_pkg_bt_evt_vals[] = {
{1,"Tunnel indication"},
{0,NULL}
{1,"Tunnel indication"},
{0,NULL}
};
static const value_string h248_pkg_bt_tind_vals[] = {
{1,"Tunnel Indication"},
{0,NULL}
{1,"Tunnel Indication"},
{0,NULL}
};
static const h248_pkg_param_t h248_pkg_bt_bit_params[] = {
{ 0x0001, &hf_h248_pkg_bt_bit, dissect_bt_tunneled_proto, &implicit },
{ 0, NULL, NULL, NULL}
{ 0x0001, &hf_h248_pkg_bt_bit, dissect_bt_tunneled_proto, &implicit },
{ 0, NULL, NULL, NULL}
};
static const value_string h248_pkg_bt_sigs_vals[] = {
{1,"Bearer Information Tunnel"},
{0,NULL}
{1,"Bearer Information Tunnel"},
{0,NULL}
};
static const h248_pkg_evt_t h248_pkg_bt_events[] = {
{ 0x0001, &hf_h248_pkg_bt_tind, &ett_h248_pkg_bt_tind, h248_pkg_bt_bit_params, h248_pkg_bt_tind_vals},
{ 0, NULL, NULL, NULL, NULL}
{ 0x0001, &hf_h248_pkg_bt_tind, &ett_h248_pkg_bt_tind, h248_pkg_bt_bit_params, h248_pkg_bt_tind_vals},
{ 0, NULL, NULL, NULL, NULL}
};
static const h248_pkg_sig_t h248_pkg_bt_signals[] = {
{ 0x0001,&hf_h248_pkg_bt_bit,&ett_h248_pkg_bt_bit, h248_pkg_bt_bit_params, h248_pkg_bt_tind_vals},
{ 0, NULL, NULL, NULL, NULL}
{ 0x0001,&hf_h248_pkg_bt_bit,&ett_h248_pkg_bt_bit, h248_pkg_bt_bit_params, h248_pkg_bt_tind_vals},
{ 0, NULL, NULL, NULL, NULL}
};
/* Packet defenitions */
static h248_package_t h248_pkg_bct = {
0x0022,
&hf_h248_pkg_bt,
&ett_h248_pkg_bt,
h248_pkg_bt_props_vals,
h248_pkg_bt_sigs_vals,
h248_pkg_bt_evt_vals,
NULL,
h248_pkg_bt_props, /* Properties */
h248_pkg_bt_signals, /* signals */
h248_pkg_bt_events, /* events */
NULL /* statistics */
0x0022,
&hf_h248_pkg_bt,
&ett_h248_pkg_bt,
h248_pkg_bt_props_vals,
h248_pkg_bt_sigs_vals,
h248_pkg_bt_evt_vals,
NULL,
h248_pkg_bt_props, /* Properties */
h248_pkg_bt_signals, /* signals */
h248_pkg_bt_events, /* events */
NULL /* statistics */
};
/* A.8 Basic call progress tones generator with directionality */
@ -394,239 +394,252 @@ static gint ett_h248_pkg_bcg = -1;
static gint ett_h248_pkg_bcg_sig_bdt = -1;
static const value_string h248_pkg_bcg_sig_bdt_par_btd_vals[] = {
{ 0x0001, "ext (External)" },
{ 0x0002, "int (Internal)" },
{ 0x0003, "both (Both)" },
{0, NULL},
{ 0x0001, "ext (External)" },
{ 0x0002, "int (Internal)" },
{ 0x0003, "both (Both)" },
{0, NULL},
};
static h248_pkg_param_t h248_pkg_h248_pkg_bcg_sig_bdt_params[] = {
{ 0x0001, &hf_h248_pkg_bcg_sig_bdt_par_btd, h248_param_ber_integer, &implicit },
{ 0, NULL, NULL, NULL}
{ 0x0001, &hf_h248_pkg_bcg_sig_bdt_par_btd, h248_param_ber_integer, &implicit },
{ 0, NULL, NULL, NULL}
};
static const value_string h248_pkg_bcg_signals_vals[] = {
{ 0x0041, "Dial Tone (bdt)" },
{ 0x0042, "Ringing Tone (brt)" },
{ 0x0043, "Busy Tone (bbt)" },
{ 0x0044, "Congestion Tone (bct)" },
{ 0x0045, "Warning Tone (bwt)" },
{ 0x0046, "Payphone Recognition Tone (bpt)" },
{ 0x0047, "Call Waiting Tone (bcw)" },
{ 0x0048, "Caller Waiting Tone (bcr)" },
{ 0x0049, "Pay Tone (bpy)" },
{ 0, NULL }
{ 0x0041, "Dial Tone (bdt)" },
{ 0x0042, "Ringing Tone (brt)" },
{ 0x0043, "Busy Tone (bbt)" },
{ 0x0044, "Congestion Tone (bct)" },
{ 0x0045, "Warning Tone (bwt)" },
{ 0x0046, "Payphone Recognition Tone (bpt)" },
{ 0x0047, "Call Waiting Tone (bcw)" },
{ 0x0048, "Caller Waiting Tone (bcr)" },
{ 0x0049, "Pay Tone (bpy)" },
{ 0, NULL }
};
static h248_pkg_sig_t h248_pkg_bcg_signals[] = {
/* All the tones have the same parameters */
{ 0x0040, &hf_h248_pkg_bcg_sig_bdt, &ett_h248_pkg_bcg_sig_bdt, h248_pkg_h248_pkg_bcg_sig_bdt_params, NULL },
{ 0x0041, &hf_h248_pkg_bcg_sig_brt, &ett_h248_pkg_bcg_sig_bdt, h248_pkg_h248_pkg_bcg_sig_bdt_params, NULL },
{ 0x0042, &hf_h248_pkg_bcg_sig_bbt, &ett_h248_pkg_bcg_sig_bdt, h248_pkg_h248_pkg_bcg_sig_bdt_params, NULL },
{ 0x0043, &hf_h248_pkg_bcg_sig_bct, &ett_h248_pkg_bcg_sig_bdt, h248_pkg_h248_pkg_bcg_sig_bdt_params, NULL },
{ 0x0044, &hf_h248_pkg_bcg_sig_bsit, &ett_h248_pkg_bcg_sig_bdt, h248_pkg_h248_pkg_bcg_sig_bdt_params, NULL },
{ 0x0045, &hf_h248_pkg_bcg_sig_bwt, &ett_h248_pkg_bcg_sig_bdt, h248_pkg_h248_pkg_bcg_sig_bdt_params, NULL},
{ 0x0046, &hf_h248_pkg_bcg_sig_bpt, &ett_h248_pkg_bcg_sig_bdt, h248_pkg_h248_pkg_bcg_sig_bdt_params, NULL },
{ 0x0047, &hf_h248_pkg_bcg_sig_bcw, &ett_h248_pkg_bcg_sig_bdt, h248_pkg_h248_pkg_bcg_sig_bdt_params, NULL },
{ 0x0048, &hf_h248_pkg_bcg_sig_bcr, &ett_h248_pkg_bcg_sig_bdt, h248_pkg_h248_pkg_bcg_sig_bdt_params, NULL },
{ 0x0049, &hf_h248_pkg_bcg_sig_bpy, &ett_h248_pkg_bcg_sig_bdt, h248_pkg_h248_pkg_bcg_sig_bdt_params, NULL },
{ 0, NULL, NULL, NULL,NULL}
/* All the tones have the same parameters */
{ 0x0040, &hf_h248_pkg_bcg_sig_bdt, &ett_h248_pkg_bcg_sig_bdt, h248_pkg_h248_pkg_bcg_sig_bdt_params, NULL },
{ 0x0041, &hf_h248_pkg_bcg_sig_brt, &ett_h248_pkg_bcg_sig_bdt, h248_pkg_h248_pkg_bcg_sig_bdt_params, NULL },
{ 0x0042, &hf_h248_pkg_bcg_sig_bbt, &ett_h248_pkg_bcg_sig_bdt, h248_pkg_h248_pkg_bcg_sig_bdt_params, NULL },
{ 0x0043, &hf_h248_pkg_bcg_sig_bct, &ett_h248_pkg_bcg_sig_bdt, h248_pkg_h248_pkg_bcg_sig_bdt_params, NULL },
{ 0x0044, &hf_h248_pkg_bcg_sig_bsit, &ett_h248_pkg_bcg_sig_bdt, h248_pkg_h248_pkg_bcg_sig_bdt_params, NULL },
{ 0x0045, &hf_h248_pkg_bcg_sig_bwt, &ett_h248_pkg_bcg_sig_bdt, h248_pkg_h248_pkg_bcg_sig_bdt_params, NULL},
{ 0x0046, &hf_h248_pkg_bcg_sig_bpt, &ett_h248_pkg_bcg_sig_bdt, h248_pkg_h248_pkg_bcg_sig_bdt_params, NULL },
{ 0x0047, &hf_h248_pkg_bcg_sig_bcw, &ett_h248_pkg_bcg_sig_bdt, h248_pkg_h248_pkg_bcg_sig_bdt_params, NULL },
{ 0x0048, &hf_h248_pkg_bcg_sig_bcr, &ett_h248_pkg_bcg_sig_bdt, h248_pkg_h248_pkg_bcg_sig_bdt_params, NULL },
{ 0x0049, &hf_h248_pkg_bcg_sig_bpy, &ett_h248_pkg_bcg_sig_bdt, h248_pkg_h248_pkg_bcg_sig_bdt_params, NULL },
{ 0, NULL, NULL, NULL,NULL}
};
static const value_string h248_pkg_bcg_props_vals[] = {
{ 0, "Basic Call Progress Tones Q.1950 Annex A" },
{ 0, NULL }
{ 0, "Basic Call Progress Tones Q.1950 Annex A" },
{ 0, NULL }
};
/* Packet defenitions */
static h248_package_t h248_pkg_bcg = {
0x0023,
&hf_h248_pkg_bcg,
&ett_h248_pkg_bcg,
h248_pkg_bcg_props_vals,
h248_pkg_bcg_signals_vals,
NULL,
NULL,
NULL, /* Properties */
h248_pkg_bcg_signals, /* signals */
NULL, /* events */
NULL /* statistics */
0x0023,
&hf_h248_pkg_bcg,
&ett_h248_pkg_bcg,
h248_pkg_bcg_props_vals,
h248_pkg_bcg_signals_vals,
NULL,
NULL,
NULL, /* Properties */
h248_pkg_bcg_signals, /* signals */
NULL, /* events */
NULL /* statistics */
};
void proto_reg_handoff_q1950(void) {
bctp_dissector = find_dissector("bctp");
bctp_dissector = find_dissector("bctp");
}
/* Register dissector */
void proto_register_q1950(void) {
static hf_register_info hf[] = {
/* A.3 Bearer characteristics package */
{ &hf_h248_pkg_BCP,
{ "BCP (Bearer characteristics package)", "h248.BCP",
FT_BYTES, BASE_NONE, NULL, 0, NULL, HFILL }
},
{ &hf_h248_pkg_BCP_BNCChar,
{ "BNCChar (BNC Characteristics)", "h248.bcp.bncchar",
FT_UINT32, BASE_HEX|BASE_EXT_STRING, &bearer_network_connection_characteristics_vals_ext, 0, "BNC Characteristics", HFILL }
},
static hf_register_info hf[] = {
/* A.3 Bearer characteristics package */
{ &hf_h248_pkg_BCP,
{ "BCP (Bearer characteristics package)", "h248.BCP",
FT_BYTES, BASE_NONE, NULL, 0, NULL, HFILL }
},
{ &hf_h248_pkg_BCP_BNCChar,
{ "BNCChar (BNC Characteristics)", "h248.bcp.bncchar",
FT_UINT32, BASE_HEX|BASE_EXT_STRING, &bearer_network_connection_characteristics_vals_ext, 0, "BNC Characteristics", HFILL }
},
/* A.4 Bearer Network connection cut-through package */
{ &hf_h248_pkg_BNCCT,
{ "BNCCT (Bearer network connection cut-through package)", "h248.BNCCT",
FT_BYTES, BASE_NONE, NULL, 0, NULL, HFILL }
},
{ &hf_h248_pkg_BNCCT_prop,
{ "Bearer network connection cut-through capability", "h248.bcp.bncct",
FT_UINT32, BASE_HEX, VALS(h248_pkg_BNCCT_prop_vals), 0, "This property allows the MGC to ask the MG when the cut through of a bearer will occur, early or late.", HFILL }
},
/* A.4 Bearer Network connection cut-through package */
{ &hf_h248_pkg_BNCCT,
{ "BNCCT (Bearer network connection cut-through package)", "h248.BNCCT",
FT_BYTES, BASE_NONE, NULL, 0, NULL, HFILL }
},
{ &hf_h248_pkg_BNCCT_prop,
{ "Bearer network connection cut-through capability", "h248.bcp.bncct",
FT_UINT32, BASE_HEX, VALS(h248_pkg_BNCCT_prop_vals), 0, "This property allows the MGC to ask the MG when the cut through of a bearer will occur, early or late.", HFILL }
},
{ &hf_h248_pkg_GB,
{ "GB (Generic bearer connection)", "h248.GB",
FT_BYTES, BASE_NONE, NULL, 0, NULL, HFILL }
},
{ &hf_h248_pkg_GB_BNCChange,
{ "BNCChange", "h248.GB.BNCChang",
FT_BYTES, BASE_NONE, NULL, 0, "This event occurs whenever a change to a Bearer Network connection occurs", HFILL }
},
{ &hf_h248_pkg_GB_BNCChange_type,
{ "Type", "h248.GB.BNCChang.Type",
FT_UINT32, BASE_HEX, VALS(h248_pkg_GB_BNCChange_type_vals), 0, NULL, HFILL }
},
{ &hf_h248_pkg_GB_EstBNC,
{ "Type", "h248.GB.BNCChang.EstBNC",
FT_BYTES, BASE_NONE, NULL, 0, "This signal triggers the bearer control function to send bearer establishment signalling", HFILL }
},
{ &hf_h248_pkg_GB_ModBNC,
{ "Type", "h248.GB.BNCChang.Type",
FT_BYTES, BASE_NONE, NULL, 0, "This signal triggers the bearer control function to send bearer modification", HFILL }
},
{ &hf_h248_pkg_GB_RelBNC,
{ "RelBNC", "h248.GB.BNCChang.RelBNC",
FT_BYTES, BASE_NONE, NULL, 0, "This signal triggers the bearer control function to send bearer release", HFILL }
},
{ &hf_h248_pkg_GB_RelBNC_Generalcause,
{ "Generalcause", "h248.GB.BNCChang.RelBNC.Generalcause",
FT_UINT32, BASE_HEX, VALS(h248_pkg_GB_RelBNC_Generalcause_vals), 0, "This indicates the general reason for the Release", HFILL }
},
{ &hf_h248_pkg_GB_RelBNC_Failurecause,
{ "Failurecause", "h248.GB.BNCChang.RelBNC.Failurecause",
FT_BYTES, BASE_NONE, NULL, 0, "The Release Cause is the value generated by the Released equipment", HFILL }
},
{ &hf_h248_pkg_GB_RelBNC_Reset,
{ "RelBNC", "h248.GB.BNCChang.RelBNC",
FT_BOOLEAN, BASE_NONE, NULL, 0x0, "This signal triggers the bearer control function to send bearer release", HFILL }
},
{ &hf_h248_pkg_GB,
{ "GB (Generic bearer connection)", "h248.GB",
FT_BYTES, BASE_NONE, NULL, 0, NULL, HFILL }
},
{ &hf_h248_pkg_GB_BNCChange,
{ "BNCChange", "h248.GB.BNCChang",
FT_BYTES, BASE_NONE, NULL, 0, "This event occurs whenever a change to a Bearer Network connection occurs", HFILL }
},
{ &hf_h248_pkg_GB_BNCChange_type,
{ "Type", "h248.GB.BNCChang.Type",
FT_UINT32, BASE_HEX, VALS(h248_pkg_GB_BNCChange_type_vals), 0, NULL, HFILL }
},
{ &hf_h248_pkg_GB_EstBNC,
{ "Type", "h248.GB.BNCChang.EstBNC",
FT_BYTES, BASE_NONE, NULL, 0, "This signal triggers the bearer control function to send bearer establishment signalling", HFILL }
},
{ &hf_h248_pkg_GB_ModBNC,
{ "Type", "h248.GB.BNCChang.Type",
FT_BYTES, BASE_NONE, NULL, 0, "This signal triggers the bearer control function to send bearer modification", HFILL }
},
{ &hf_h248_pkg_GB_RelBNC,
{ "RelBNC", "h248.GB.BNCChang.RelBNC",
FT_BYTES, BASE_NONE, NULL, 0, "This signal triggers the bearer control function to send bearer release", HFILL }
},
{ &hf_h248_pkg_GB_RelBNC_Generalcause,
{ "Generalcause", "h248.GB.BNCChang.RelBNC.Generalcause",
FT_UINT32, BASE_HEX, VALS(h248_pkg_GB_RelBNC_Generalcause_vals), 0, "This indicates the general reason for the Release", HFILL }
},
{ &hf_h248_pkg_GB_RelBNC_Failurecause,
{ "Failurecause", "h248.GB.BNCChang.RelBNC.Failurecause",
FT_BYTES, BASE_NONE, NULL, 0, "The Release Cause is the value generated by the Released equipment", HFILL }
},
{ &hf_h248_pkg_GB_RelBNC_Reset,
{ "RelBNC", "h248.GB.BNCChang.RelBNC",
FT_BOOLEAN, BASE_NONE, NULL, 0x0, "This signal triggers the bearer control function to send bearer release", HFILL }
},
/* A.5 Bearer Network connection cut-through package */
{ &hf_h248_pkg_RI,
{ "RI (Reuse idle package)", "h248.RI",
FT_BYTES, BASE_NONE, NULL, 0, NULL, HFILL }
},
{ &hf_h248_pkg_RII,
{ "Reuse Idle Indication", "h248.bcp.rii",
FT_UINT32, BASE_HEX, VALS(h248_pkg_RII_vals), 0, "This property indicates that the provided bearer network connection relates to an Idle Bearer.", HFILL }
},
/* A.5 Bearer Network connection cut-through package */
{ &hf_h248_pkg_RI,
{ "RI (Reuse idle package)", "h248.RI",
FT_BYTES, BASE_NONE, NULL, 0, NULL, HFILL }
},
{ &hf_h248_pkg_RII,
{ "Reuse Idle Indication", "h248.bcp.rii",
FT_UINT32, BASE_HEX, VALS(h248_pkg_RII_vals), 0, "This property indicates that the provided bearer network connection relates to an Idle Bearer.", HFILL }
},
/* A.7 Bearer control tunnelling package */
{ &hf_h248_pkg_bt,
{ "BT (Bearer control Tunneling)", "h248.BT",
FT_BYTES, BASE_NONE, NULL, 0, NULL, HFILL }
},
{ &hf_h248_pkg_bt_tunopt,
{ "Tunnelling Options", "h248.BT.TunOpt",
FT_UINT32, BASE_DEC, VALS(h248_pkg_bt_tunopt_vals), 0, NULL, HFILL }
},
{ &hf_h248_pkg_bt_tind,
{ "tind (Tunnel INDication)", "h248.BT.TIND",
FT_BYTES, BASE_NONE, NULL, 0, NULL, HFILL }
},
{ &hf_h248_pkg_bt_bit,
{ "Bearer Information Transport", "h248.BT.BIT",
FT_BYTES, BASE_NONE, NULL, 0, NULL, HFILL }
},
/* A.7 Bearer control tunnelling package */
{ &hf_h248_pkg_bt,
{ "BT (Bearer control Tunneling)", "h248.BT",
FT_BYTES, BASE_NONE, NULL, 0, NULL, HFILL }
},
{ &hf_h248_pkg_bt_tunopt,
{ "Tunnelling Options", "h248.BT.TunOpt",
FT_UINT32, BASE_DEC, VALS(h248_pkg_bt_tunopt_vals), 0, NULL, HFILL }
},
{ &hf_h248_pkg_bt_tind,
{ "tind (Tunnel INDication)", "h248.BT.TIND",
FT_BYTES, BASE_NONE, NULL, 0, NULL, HFILL }
},
{ &hf_h248_pkg_bt_bit,
{ "Bearer Information Transport", "h248.BT.BIT",
FT_BYTES, BASE_NONE, NULL, 0, NULL, HFILL }
},
/* A.8 Basic call progress tones generator with directionality */
{ &hf_h248_pkg_bcg,
{ "bcg (Basic call progress tones generator with directionality)", "h248.bcg",
FT_BYTES, BASE_NONE, NULL, 0, NULL, HFILL }
},
{ &hf_h248_pkg_bcg_sig_bdt_par_btd,
{ "btd (Tone Direction)", "h248.bcp.btd",
FT_UINT32, BASE_HEX, VALS(h248_pkg_bcg_sig_bdt_par_btd_vals), 0, NULL, HFILL }
},
{ &hf_h248_pkg_bcg_sig_bdt,
{ "bdt (Dial Tone)", "h248.bcg.bdt",
FT_UINT8, BASE_HEX, NULL, 0, NULL, HFILL }
},
{ &hf_h248_pkg_bcg_sig_brt,
{ "brt (Ringing tone)", "h248.bcg.brt",
FT_UINT8, BASE_HEX, NULL, 0, NULL, HFILL }
},
{ &hf_h248_pkg_bcg_sig_bbt,
{ "bbt (Busy tone)", "h248.bcg.bbt",
FT_UINT8, BASE_HEX, NULL, 0, NULL, HFILL }
},
{ &hf_h248_pkg_bcg_sig_bct,
{ "bct (Congestion tone)", "h248.bcg.bct",
FT_UINT8, BASE_HEX, NULL, 0, NULL, HFILL }
},
{ &hf_h248_pkg_bcg_sig_bsit,
{ "bsit (Special information tone)", "h248.bcg.bsit",
FT_UINT8, BASE_HEX, NULL, 0, NULL, HFILL }
},
{ &hf_h248_pkg_bcg_sig_bwt,
{ "bwt (Warning tone)", "h248.bcg.bwt",
FT_UINT8, BASE_HEX, NULL, 0, NULL, HFILL }
},
{ &hf_h248_pkg_bcg_sig_bpt,
{ "bpt (Payphone recognition tone)", "h248.bcg.bpt",
FT_UINT8, BASE_HEX, NULL, 0, NULL, HFILL }
},
{ &hf_h248_pkg_bcg_sig_bcw,
{ "bcw (Call waiting tone)", "h248.bcg.bcw",
FT_UINT8, BASE_HEX, NULL, 0, NULL, HFILL }
},
{ &hf_h248_pkg_bcg_sig_bcr,
{ "bcr (Call ringing tone)", "h248.bcg.bcr",
FT_UINT8, BASE_HEX, NULL, 0, NULL, HFILL }
},
{ &hf_h248_pkg_bcg_sig_bpy,
{ "bpy (Pay tone)", "h248.bcg.bpy",
FT_UINT8, BASE_HEX, NULL, 0, NULL, HFILL }
},
};
/* A.8 Basic call progress tones generator with directionality */
{ &hf_h248_pkg_bcg,
{ "bcg (Basic call progress tones generator with directionality)", "h248.bcg",
FT_BYTES, BASE_NONE, NULL, 0, NULL, HFILL }
},
{ &hf_h248_pkg_bcg_sig_bdt_par_btd,
{ "btd (Tone Direction)", "h248.bcp.btd",
FT_UINT32, BASE_HEX, VALS(h248_pkg_bcg_sig_bdt_par_btd_vals), 0, NULL, HFILL }
},
{ &hf_h248_pkg_bcg_sig_bdt,
{ "bdt (Dial Tone)", "h248.bcg.bdt",
FT_UINT8, BASE_HEX, NULL, 0, NULL, HFILL }
},
{ &hf_h248_pkg_bcg_sig_brt,
{ "brt (Ringing tone)", "h248.bcg.brt",
FT_UINT8, BASE_HEX, NULL, 0, NULL, HFILL }
},
{ &hf_h248_pkg_bcg_sig_bbt,
{ "bbt (Busy tone)", "h248.bcg.bbt",
FT_UINT8, BASE_HEX, NULL, 0, NULL, HFILL }
},
{ &hf_h248_pkg_bcg_sig_bct,
{ "bct (Congestion tone)", "h248.bcg.bct",
FT_UINT8, BASE_HEX, NULL, 0, NULL, HFILL }
},
{ &hf_h248_pkg_bcg_sig_bsit,
{ "bsit (Special information tone)", "h248.bcg.bsit",
FT_UINT8, BASE_HEX, NULL, 0, NULL, HFILL }
},
{ &hf_h248_pkg_bcg_sig_bwt,
{ "bwt (Warning tone)", "h248.bcg.bwt",
FT_UINT8, BASE_HEX, NULL, 0, NULL, HFILL }
},
{ &hf_h248_pkg_bcg_sig_bpt,
{ "bpt (Payphone recognition tone)", "h248.bcg.bpt",
FT_UINT8, BASE_HEX, NULL, 0, NULL, HFILL }
},
{ &hf_h248_pkg_bcg_sig_bcw,
{ "bcw (Call waiting tone)", "h248.bcg.bcw",
FT_UINT8, BASE_HEX, NULL, 0, NULL, HFILL }
},
{ &hf_h248_pkg_bcg_sig_bcr,
{ "bcr (Call ringing tone)", "h248.bcg.bcr",
FT_UINT8, BASE_HEX, NULL, 0, NULL, HFILL }
},
{ &hf_h248_pkg_bcg_sig_bpy,
{ "bpy (Pay tone)", "h248.bcg.bpy",
FT_UINT8, BASE_HEX, NULL, 0, NULL, HFILL }
},
};
static gint *ett[] = {
&ett_h248_pkg_BCP,
&ett_h248_pkg_bt,
&ett_h248_pkg_bt_tind,
&ett_h248_pkg_bt_bit,
&ett_h248_pkg_bcg,
&ett_h248_pkg_bcg_sig_bdt,
&ett_h248_pkg_BNCCT,
&ett_h248_pkg_RI,
&ett_h248_pkg_GB,
&ett_h248_pkg_GB_EstBNC,
&ett_h248_pkg_GB_ModBNC,
&ett_h248_pkg_GB_RelBNC,
&ett_h248_pkg_GB_BNCChange
};
static gint *ett[] = {
&ett_h248_pkg_BCP,
&ett_h248_pkg_bt,
&ett_h248_pkg_bt_tind,
&ett_h248_pkg_bt_bit,
&ett_h248_pkg_bcg,
&ett_h248_pkg_bcg_sig_bdt,
&ett_h248_pkg_BNCCT,
&ett_h248_pkg_RI,
&ett_h248_pkg_GB,
&ett_h248_pkg_GB_EstBNC,
&ett_h248_pkg_GB_ModBNC,
&ett_h248_pkg_GB_RelBNC,
&ett_h248_pkg_GB_BNCChange
};
proto_q1950 = proto_register_protocol(PNAME, PSNAME, PFNAME);
proto_q1950 = proto_register_protocol(PNAME, PSNAME, PFNAME);
proto_register_field_array(proto_q1950, hf, array_length(hf));
proto_register_field_array(proto_q1950, hf, array_length(hf));
proto_register_subtree_array(ett, array_length(ett));
proto_register_subtree_array(ett, array_length(ett));
/* Register the packages */
h248_register_package(&h248_pkg_BCP,REPLACE_PKG);
h248_register_package(&h248_pkg_BNCCT,REPLACE_PKG);
h248_register_package(&h248_pkg_RI,REPLACE_PKG);
h248_register_package(&h248_pkg_GB,REPLACE_PKG);
h248_register_package(&h248_pkg_bcg,REPLACE_PKG);
h248_register_package(&h248_pkg_bct,REPLACE_PKG);
/* Register the packages */
h248_register_package(&h248_pkg_BCP,REPLACE_PKG);
h248_register_package(&h248_pkg_BNCCT,REPLACE_PKG);
h248_register_package(&h248_pkg_RI,REPLACE_PKG);
h248_register_package(&h248_pkg_GB,REPLACE_PKG);
h248_register_package(&h248_pkg_bcg,REPLACE_PKG);
h248_register_package(&h248_pkg_bct,REPLACE_PKG);
}
/*
* Editor modelines - http://www.wireshark.org/tools/modelines.html
*
* Local variables:
* c-basic-offset: 4
* tab-width: 8
* indent-tabs-mode: nil
* End:
*
* vi: set shiftwidth=4 tabstop=8 expandtab:
* :indentSize=4:tabSize=8:noTabs=true:
*/

View File

@ -644,64 +644,64 @@ dissect_hclnfsd_get_printq_reply(tvbuff_t *tvb, int offset, packet_info *pinfo _
/* NULL as function pointer means: take the generic one. */
static const vsff hclnfsd1_proc[] = {
{ HCLNFSDPROC_NULL, "NULL",
NULL, NULL },
{ HCLNFSDPROC_SPOOL_INQUIRE, "SPOOL_INQUIRE",
dissect_hclnfsd_spool_inquire_call, NULL },
{ HCLNFSDPROC_SPOOL_FILE, "SPOOL_FILE",
dissect_hclnfsd_spool_file_call, NULL },
{ HCLNFSDPROC_AUTHORIZE, "AUTHORIZE",
dissect_hclnfsd_authorize_call, dissect_hclnfsd_authorize_reply },
{ HCLNFSDPROC_GRP_NAME_TO_NUMB, "GRP_NAME_TO_NUMB",
dissect_hclnfsd_grp_name_to_numb_call, dissect_hclnfsd_grp_name_to_numb_reply },
{ HCLNFSDPROC_GRP_TO_NUMBER, "GRP_TO_NUMBER",
dissect_hclnfsd_grp_to_number_call, dissect_hclnfsd_grp_to_number_reply },
{ HCLNFSDPROC_RETURN_HOST, "RETURN_HOST",
dissect_hclnfsd_return_host_call, dissect_hclnfsd_return_host_reply },
{ HCLNFSDPROC_UID_TO_NAME, "UID_TO_NAME",
dissect_hclnfsd_uid_to_name_call, dissect_hclnfsd_uid_to_name_reply },
{ HCLNFSDPROC_NAME_TO_UID, "NAME_TO_UID",
dissect_hclnfsd_name_to_uid_call, dissect_hclnfsd_name_to_uid_reply },
{ HCLNFSDPROC_SHARE, "SHARE",
dissect_hclnfsd_share_call, dissect_hclnfsd_share_reply },
{ HCLNFSDPROC_UNSHARE, "UNSHARE",
dissect_hclnfsd_unshare_call, dissect_hclnfsd_unshare_reply },
{ HCLNFSDPROC_LOCK, "LOCK",
dissect_hclnfsd_lock_call, dissect_hclnfsd_lock_reply },
{ HCLNFSDPROC_REMOVE, "REMOVE",
dissect_hclnfsd_remove_call, NULL },
{ HCLNFSDPROC_UNLOCK, "UNLOCK",
dissect_hclnfsd_unlock_call, dissect_hclnfsd_unlock_reply },
{ HCLNFSDPROC_GET_PRINTERS, "GET_PRINTERS",
NULL, dissect_hclnfsd_get_printers_reply },
{ HCLNFSDPROC_GET_PRINTQ, "GET_PRINTQ",
dissect_hclnfsd_get_printq_call, dissect_hclnfsd_get_printq_reply },
{ HCLNFSDPROC_CANCEL_PRJOB, "CANCEL_PRJOB",
NULL, NULL },
{ HCLNFSDPROC_ZAP_LOCKS, "ZAP_LOCKS",
NULL, NULL },
{ 0, NULL, NULL, NULL }
{ HCLNFSDPROC_NULL, "NULL",
NULL, NULL },
{ HCLNFSDPROC_SPOOL_INQUIRE, "SPOOL_INQUIRE",
dissect_hclnfsd_spool_inquire_call, NULL },
{ HCLNFSDPROC_SPOOL_FILE, "SPOOL_FILE",
dissect_hclnfsd_spool_file_call, NULL },
{ HCLNFSDPROC_AUTHORIZE, "AUTHORIZE",
dissect_hclnfsd_authorize_call, dissect_hclnfsd_authorize_reply },
{ HCLNFSDPROC_GRP_NAME_TO_NUMB, "GRP_NAME_TO_NUMB",
dissect_hclnfsd_grp_name_to_numb_call, dissect_hclnfsd_grp_name_to_numb_reply },
{ HCLNFSDPROC_GRP_TO_NUMBER, "GRP_TO_NUMBER",
dissect_hclnfsd_grp_to_number_call, dissect_hclnfsd_grp_to_number_reply },
{ HCLNFSDPROC_RETURN_HOST, "RETURN_HOST",
dissect_hclnfsd_return_host_call, dissect_hclnfsd_return_host_reply },
{ HCLNFSDPROC_UID_TO_NAME, "UID_TO_NAME",
dissect_hclnfsd_uid_to_name_call, dissect_hclnfsd_uid_to_name_reply },
{ HCLNFSDPROC_NAME_TO_UID, "NAME_TO_UID",
dissect_hclnfsd_name_to_uid_call, dissect_hclnfsd_name_to_uid_reply },
{ HCLNFSDPROC_SHARE, "SHARE",
dissect_hclnfsd_share_call, dissect_hclnfsd_share_reply },
{ HCLNFSDPROC_UNSHARE, "UNSHARE",
dissect_hclnfsd_unshare_call, dissect_hclnfsd_unshare_reply },
{ HCLNFSDPROC_LOCK, "LOCK",
dissect_hclnfsd_lock_call, dissect_hclnfsd_lock_reply },
{ HCLNFSDPROC_REMOVE, "REMOVE",
dissect_hclnfsd_remove_call, NULL },
{ HCLNFSDPROC_UNLOCK, "UNLOCK",
dissect_hclnfsd_unlock_call, dissect_hclnfsd_unlock_reply },
{ HCLNFSDPROC_GET_PRINTERS, "GET_PRINTERS",
NULL, dissect_hclnfsd_get_printers_reply },
{ HCLNFSDPROC_GET_PRINTQ, "GET_PRINTQ",
dissect_hclnfsd_get_printq_call, dissect_hclnfsd_get_printq_reply },
{ HCLNFSDPROC_CANCEL_PRJOB, "CANCEL_PRJOB",
NULL, NULL },
{ HCLNFSDPROC_ZAP_LOCKS, "ZAP_LOCKS",
NULL, NULL },
{ 0, NULL, NULL, NULL }
};
static const value_string hclnfsd1_proc_vals[] = {
{ HCLNFSDPROC_NULL, "NULL" },
{ HCLNFSDPROC_SPOOL_INQUIRE, "SPOOL_INQUIRE" },
{ HCLNFSDPROC_SPOOL_FILE, "SPOOL_FILE" },
{ HCLNFSDPROC_AUTHORIZE, "AUTHORIZE" },
{ HCLNFSDPROC_GRP_NAME_TO_NUMB, "GRP_NAME_TO_NUMB" },
{ HCLNFSDPROC_GRP_TO_NUMBER, "GRP_TO_NUMBER" },
{ HCLNFSDPROC_RETURN_HOST, "RETURN_HOST" },
{ HCLNFSDPROC_UID_TO_NAME, "UID_TO_NAME" },
{ HCLNFSDPROC_NAME_TO_UID, "NAME_TO_UID" },
{ HCLNFSDPROC_SHARE, "SHARE" },
{ HCLNFSDPROC_UNSHARE, "UNSHARE" },
{ HCLNFSDPROC_LOCK, "LOCK" },
{ HCLNFSDPROC_REMOVE, "REMOVE" },
{ HCLNFSDPROC_UNLOCK, "UNLOCK" },
{ HCLNFSDPROC_GET_PRINTERS, "GET_PRINTERS" },
{ HCLNFSDPROC_GET_PRINTQ, "GET_PRINTQ" },
{ HCLNFSDPROC_CANCEL_PRJOB, "CANCEL_PRJOB" },
{ HCLNFSDPROC_ZAP_LOCKS, "ZAP_LOCKS" },
{ 0, NULL }
{ HCLNFSDPROC_NULL, "NULL" },
{ HCLNFSDPROC_SPOOL_INQUIRE, "SPOOL_INQUIRE" },
{ HCLNFSDPROC_SPOOL_FILE, "SPOOL_FILE" },
{ HCLNFSDPROC_AUTHORIZE, "AUTHORIZE" },
{ HCLNFSDPROC_GRP_NAME_TO_NUMB, "GRP_NAME_TO_NUMB" },
{ HCLNFSDPROC_GRP_TO_NUMBER, "GRP_TO_NUMBER" },
{ HCLNFSDPROC_RETURN_HOST, "RETURN_HOST" },
{ HCLNFSDPROC_UID_TO_NAME, "UID_TO_NAME" },
{ HCLNFSDPROC_NAME_TO_UID, "NAME_TO_UID" },
{ HCLNFSDPROC_SHARE, "SHARE" },
{ HCLNFSDPROC_UNSHARE, "UNSHARE" },
{ HCLNFSDPROC_LOCK, "LOCK" },
{ HCLNFSDPROC_REMOVE, "REMOVE" },
{ HCLNFSDPROC_UNLOCK, "UNLOCK" },
{ HCLNFSDPROC_GET_PRINTERS, "GET_PRINTERS" },
{ HCLNFSDPROC_GET_PRINTQ, "GET_PRINTQ" },
{ HCLNFSDPROC_CANCEL_PRJOB, "CANCEL_PRJOB" },
{ HCLNFSDPROC_ZAP_LOCKS, "ZAP_LOCKS" },
{ 0, NULL }
};
/* end of hclnfsd version 1 */
@ -889,3 +889,16 @@ proto_reg_handoff_hclnfsd(void)
/* Register the procedure tables */
rpc_init_proc_table(HCLNFSD_PROGRAM, 1, hclnfsd1_proc, hf_hclnfsd_procedure_v1);
}
/*
* Editor modelines - http://www.wireshark.org/tools/modelines.html
*
* Local variables:
* c-basic-offset: 8
* tab-width: 8
* indent-tabs-mode: t
* End:
*
* vi: set shiftwidth=8 tabstop=8 noexpandtab:
* :indentSize=8:tabSize=8:noTabs=false:
*/

View File

@ -190,21 +190,21 @@ static gint ett_iwarp_rdma_term_ctrl = -1;
static gint ett_iwarp_rdma_term_hdrct = -1;
static const value_string rdmap_messages[] = {
{ RDMA_WRITE, "Write" },
{ RDMA_READ_REQUEST, "Read Request" },
{ RDMA_READ_RESPONSE, "Read Response" },
{ RDMA_SEND, "Send" },
{ RDMA_SEND_INVALIDATE, "Send with Invalidate" },
{ RDMA_SEND_SE, "Send with SE" },
{ RDMA_WRITE, "Write" },
{ RDMA_READ_REQUEST, "Read Request" },
{ RDMA_READ_RESPONSE, "Read Response" },
{ RDMA_SEND, "Send" },
{ RDMA_SEND_INVALIDATE, "Send with Invalidate" },
{ RDMA_SEND_SE, "Send with SE" },
{ RDMA_SEND_SE_INVALIDATE, "Send with SE and Invalidate" },
{ RDMA_TERMINATE, "Terminate" },
{ RDMA_TERMINATE, "Terminate" },
{ 0, NULL }
};
static const value_string layer_names[] = {
{ IWARP_LAYER_RDMA, "RDMA" },
{ IWARP_LAYER_DDP, "DDP" },
{ IWARP_LAYER_LLP, "LLP" },
{ IWARP_LAYER_DDP, "DDP" },
{ IWARP_LAYER_LLP, "LLP" },
{ 0, NULL }
};
@ -904,3 +904,16 @@ proto_reg_handoff_iwarp_ddp_rdmap(void)
{
data_handle = find_dissector("data");
}
/*
* Editor modelines - http://www.wireshark.org/tools/modelines.html
*
* Local variables:
* c-basic-offset: 8
* tab-width: 8
* indent-tabs-mode: t
* End:
*
* vi: set shiftwidth=8 tabstop=8 noexpandtab:
* :indentSize=8:tabSize=8:noTabs=false:
*/

View File

@ -984,3 +984,16 @@ proto_reg_handoff_mpa(void)
heur_dissector_add("tcp", dissect_iwarp_mpa, proto_iwarp_mpa);
ddp_rdmap_handle = find_dissector("iwarp_ddp_rdmap");
}
/*
* Editor modelines - http://www.wireshark.org/tools/modelines.html
*
* Local variables:
* c-basic-offset: 8
* tab-width: 8
* indent-tabs-mode: t
* End:
*
* vi: set shiftwidth=8 tabstop=8 noexpandtab:
* :indentSize=8:tabSize=8:noTabs=false:
*/

View File

@ -590,110 +590,110 @@ proto_reg_handoff_lapd(void);
void
proto_register_lapd(void)
{
static hf_register_info hf[] = {
static hf_register_info hf[] = {
{ &hf_lapd_direction,
{ "Direction", "lapd.direction", FT_UINT8, BASE_DEC, VALS(lapd_direction_vals), 0x0,
NULL, HFILL }},
{ &hf_lapd_direction,
{ "Direction", "lapd.direction", FT_UINT8, BASE_DEC, VALS(lapd_direction_vals), 0x0,
NULL, HFILL }},
{ &hf_lapd_address,
{ "Address Field", "lapd.address", FT_UINT16, BASE_HEX, NULL, 0x0,
"Address", HFILL }},
{ &hf_lapd_address,
{ "Address Field", "lapd.address", FT_UINT16, BASE_HEX, NULL, 0x0,
"Address", HFILL }},
{ &hf_lapd_sapi,
{ "SAPI", "lapd.sapi", FT_UINT16, BASE_DEC, VALS(lapd_sapi_vals), LAPD_SAPI,
"Service Access Point Identifier", HFILL }},
{ &hf_lapd_sapi,
{ "SAPI", "lapd.sapi", FT_UINT16, BASE_DEC, VALS(lapd_sapi_vals), LAPD_SAPI,
"Service Access Point Identifier", HFILL }},
{ &hf_lapd_gsm_sapi,
{ "SAPI", "lapd.sapi", FT_UINT16, BASE_DEC, VALS(lapd_gsm_sapi_vals), LAPD_SAPI,
"Service Access Point Identifier", HFILL }},
{ &hf_lapd_gsm_sapi,
{ "SAPI", "lapd.sapi", FT_UINT16, BASE_DEC, VALS(lapd_gsm_sapi_vals), LAPD_SAPI,
"Service Access Point Identifier", HFILL }},
{ &hf_lapd_cr,
{ "C/R", "lapd.cr", FT_UINT16, BASE_DEC, NULL, LAPD_CR,
"Command/Response bit", HFILL }},
{ &hf_lapd_cr,
{ "C/R", "lapd.cr", FT_UINT16, BASE_DEC, NULL, LAPD_CR,
"Command/Response bit", HFILL }},
{ &hf_lapd_ea1,
{ "EA1", "lapd.ea1", FT_UINT16, BASE_DEC, NULL, LAPD_EA1,
"First Address Extension bit", HFILL }},
{ &hf_lapd_ea1,
{ "EA1", "lapd.ea1", FT_UINT16, BASE_DEC, NULL, LAPD_EA1,
"First Address Extension bit", HFILL }},
{ &hf_lapd_tei,
{ "TEI", "lapd.tei", FT_UINT16, BASE_DEC, NULL, LAPD_TEI,
"Terminal Endpoint Identifier", HFILL }},
{ &hf_lapd_tei,
{ "TEI", "lapd.tei", FT_UINT16, BASE_DEC, NULL, LAPD_TEI,
"Terminal Endpoint Identifier", HFILL }},
{ &hf_lapd_ea2,
{ "EA2", "lapd.ea2", FT_UINT16, BASE_DEC, NULL, LAPD_EA2,
"Second Address Extension bit", HFILL }},
{ &hf_lapd_ea2,
{ "EA2", "lapd.ea2", FT_UINT16, BASE_DEC, NULL, LAPD_EA2,
"Second Address Extension bit", HFILL }},
{ &hf_lapd_control,
{ "Control Field", "lapd.control", FT_UINT16, BASE_HEX, NULL, 0x0,
NULL, HFILL }},
{ &hf_lapd_control,
{ "Control Field", "lapd.control", FT_UINT16, BASE_HEX, NULL, 0x0,
NULL, HFILL }},
{ &hf_lapd_n_r,
{ "N(R)", "lapd.control.n_r", FT_UINT16, BASE_DEC,
NULL, XDLC_N_R_EXT_MASK, NULL, HFILL }},
{ &hf_lapd_n_r,
{ "N(R)", "lapd.control.n_r", FT_UINT16, BASE_DEC,
NULL, XDLC_N_R_EXT_MASK, NULL, HFILL }},
{ &hf_lapd_n_s,
{ "N(S)", "lapd.control.n_s", FT_UINT16, BASE_DEC,
NULL, XDLC_N_S_EXT_MASK, NULL, HFILL }},
{ &hf_lapd_n_s,
{ "N(S)", "lapd.control.n_s", FT_UINT16, BASE_DEC,
NULL, XDLC_N_S_EXT_MASK, NULL, HFILL }},
{ &hf_lapd_p,
{ "Poll", "lapd.control.p", FT_BOOLEAN, 8,
TFS(&tfs_set_notset), XDLC_P_F, NULL, HFILL }},
{ &hf_lapd_p,
{ "Poll", "lapd.control.p", FT_BOOLEAN, 8,
TFS(&tfs_set_notset), XDLC_P_F, NULL, HFILL }},
{ &hf_lapd_p_ext,
{ "Poll", "lapd.control.p", FT_BOOLEAN, 16,
TFS(&tfs_set_notset), XDLC_P_F_EXT, NULL, HFILL }},
{ &hf_lapd_p_ext,
{ "Poll", "lapd.control.p", FT_BOOLEAN, 16,
TFS(&tfs_set_notset), XDLC_P_F_EXT, NULL, HFILL }},
{ &hf_lapd_f,
{ "Final", "lapd.control.f", FT_BOOLEAN, 8,
TFS(&tfs_set_notset), XDLC_P_F, NULL, HFILL }},
{ &hf_lapd_f,
{ "Final", "lapd.control.f", FT_BOOLEAN, 8,
TFS(&tfs_set_notset), XDLC_P_F, NULL, HFILL }},
{ &hf_lapd_f_ext,
{ "Final", "lapd.control.f", FT_BOOLEAN, 16,
TFS(&tfs_set_notset), XDLC_P_F_EXT, NULL, HFILL }},
{ &hf_lapd_f_ext,
{ "Final", "lapd.control.f", FT_BOOLEAN, 16,
TFS(&tfs_set_notset), XDLC_P_F_EXT, NULL, HFILL }},
{ &hf_lapd_s_ftype,
{ "Supervisory frame type", "lapd.control.s_ftype", FT_UINT16, BASE_HEX,
VALS(stype_vals), XDLC_S_FTYPE_MASK, NULL, HFILL }},
{ &hf_lapd_s_ftype,
{ "Supervisory frame type", "lapd.control.s_ftype", FT_UINT16, BASE_HEX,
VALS(stype_vals), XDLC_S_FTYPE_MASK, NULL, HFILL }},
{ &hf_lapd_u_modifier_cmd,
{ "Command", "lapd.control.u_modifier_cmd", FT_UINT8, BASE_HEX,
VALS(modifier_vals_cmd), XDLC_U_MODIFIER_MASK, NULL, HFILL }},
{ &hf_lapd_u_modifier_cmd,
{ "Command", "lapd.control.u_modifier_cmd", FT_UINT8, BASE_HEX,
VALS(modifier_vals_cmd), XDLC_U_MODIFIER_MASK, NULL, HFILL }},
{ &hf_lapd_u_modifier_resp,
{ "Response", "lapd.control.u_modifier_resp", FT_UINT8, BASE_HEX,
VALS(modifier_vals_resp), XDLC_U_MODIFIER_MASK, NULL, HFILL }},
{ &hf_lapd_u_modifier_resp,
{ "Response", "lapd.control.u_modifier_resp", FT_UINT8, BASE_HEX,
VALS(modifier_vals_resp), XDLC_U_MODIFIER_MASK, NULL, HFILL }},
{ &hf_lapd_ftype_i,
{ "Frame type", "lapd.control.ftype", FT_UINT16, BASE_HEX,
VALS(ftype_vals), XDLC_I_MASK, NULL, HFILL }},
{ &hf_lapd_ftype_i,
{ "Frame type", "lapd.control.ftype", FT_UINT16, BASE_HEX,
VALS(ftype_vals), XDLC_I_MASK, NULL, HFILL }},
{ &hf_lapd_ftype_s_u,
{ "Frame type", "lapd.control.ftype", FT_UINT8, BASE_HEX,
VALS(ftype_vals), XDLC_S_U_MASK, NULL, HFILL }},
{ &hf_lapd_ftype_s_u,
{ "Frame type", "lapd.control.ftype", FT_UINT8, BASE_HEX,
VALS(ftype_vals), XDLC_S_U_MASK, NULL, HFILL }},
{ &hf_lapd_ftype_s_u_ext,
{ "Frame type", "lapd.control.ftype", FT_UINT16, BASE_HEX,
VALS(ftype_vals), XDLC_S_U_MASK, NULL, HFILL }},
{ &hf_lapd_ftype_s_u_ext,
{ "Frame type", "lapd.control.ftype", FT_UINT16, BASE_HEX,
VALS(ftype_vals), XDLC_S_U_MASK, NULL, HFILL }},
{ &hf_lapd_checksum,
{ "Checksum", "lapd.checksum", FT_UINT16, BASE_HEX,
NULL, 0x0, "Details at: http://www.wireshark.org/docs/wsug_html_chunked/ChAdvChecksums.html", HFILL }},
{ &hf_lapd_checksum,
{ "Checksum", "lapd.checksum", FT_UINT16, BASE_HEX,
NULL, 0x0, "Details at: http://www.wireshark.org/docs/wsug_html_chunked/ChAdvChecksums.html", HFILL }},
{ &hf_lapd_checksum_good,
{ "Good Checksum", "lapd.checksum_good", FT_BOOLEAN, BASE_NONE,
NULL, 0x0, "True: checksum matches packet content; False: doesn't match content or not checked", HFILL }},
{ &hf_lapd_checksum_good,
{ "Good Checksum", "lapd.checksum_good", FT_BOOLEAN, BASE_NONE,
NULL, 0x0, "True: checksum matches packet content; False: doesn't match content or not checked", HFILL }},
{ &hf_lapd_checksum_bad,
{ "Bad Checksum", "lapd.checksum_bad", FT_BOOLEAN, BASE_NONE,
NULL, 0x0, "True: checksum doesn't match packet content; False: matches content or not checked", HFILL }},
};
static gint *ett[] = {
&ett_lapd,
&ett_lapd_address,
&ett_lapd_control,
&ett_lapd_checksum
};
{ &hf_lapd_checksum_bad,
{ "Bad Checksum", "lapd.checksum_bad", FT_BOOLEAN, BASE_NONE,
NULL, 0x0, "True: checksum doesn't match packet content; False: matches content or not checked", HFILL }},
};
static gint *ett[] = {
&ett_lapd,
&ett_lapd_address,
&ett_lapd_control,
&ett_lapd_checksum
};
static ei_register_info ei[] = {
{ &ei_lapd_abort, { "lapd.abort.expert", PI_PROTOCOL, PI_ERROR, "Formatted message", EXPFILL }},
@ -704,7 +704,7 @@ proto_register_lapd(void)
expert_module_t* expert_lapd;
proto_lapd = proto_register_protocol("Link Access Procedure, Channel D (LAPD)",
"LAPD", "lapd");
"LAPD", "lapd");
proto_register_field_array (proto_lapd, hf, array_length(hf));
proto_register_subtree_array(ett, array_length(ett));
expert_lapd = expert_register_protocol(proto_lapd);
@ -721,14 +721,14 @@ proto_register_lapd(void)
lapd_module = prefs_register_protocol(proto_lapd, proto_reg_handoff_lapd);
prefs_register_bool_preference(lapd_module, "use_gsm_sapi_values",
"Use GSM SAPI values",
"Use SAPI values as specified in TS 48 056",
&global_lapd_gsm_sapis);
"Use GSM SAPI values",
"Use SAPI values as specified in TS 48 056",
&global_lapd_gsm_sapis);
prefs_register_uint_preference(lapd_module, "rtp_payload_type",
"RTP payload type for embedded LAPD",
"RTP payload type for embedded LAPD. It must be one of the dynamic types "
"from 96 to 127. Set it to 0 to disable.",
10, &pref_lapd_rtp_payload_type);
"RTP payload type for embedded LAPD",
"RTP payload type for embedded LAPD. It must be one of the dynamic types "
"from 96 to 127. Set it to 0 to disable.",
10, &pref_lapd_rtp_payload_type);
}
void
@ -760,3 +760,16 @@ proto_reg_handoff_lapd(void)
if ((lapd_rtp_payload_type > 95) && (lapd_rtp_payload_type < 128))
dissector_add_uint("rtp.pt", lapd_rtp_payload_type, lapd_bitstream_handle);
}
/*
* Editor modelines - http://www.wireshark.org/tools/modelines.html
*
* Local variables:
* c-basic-offset: 8
* tab-width: 8
* indent-tabs-mode: t
* End:
*
* vi: set shiftwidth=8 tabstop=8 noexpandtab:
* :indentSize=8:tabSize=8:noTabs=false:
*/

View File

@ -771,3 +771,16 @@ proto_reg_handoff_lapsat(void)
{
data_handle = find_dissector("data");
}
/*
* Editor modelines - http://www.wireshark.org/tools/modelines.html
*
* Local variables:
* c-basic-offset: 8
* tab-width: 8
* indent-tabs-mode: t
* End:
*
* vi: set shiftwidth=8 tabstop=8 noexpandtab:
* :indentSize=8:tabSize=8:noTabs=false:
*/

View File

@ -768,3 +768,16 @@ proto_reg_handoff_lon(void)
dissector_add_uint("cnip.protocol", 0, lon_handle);
}
/*
* Editor modelines - http://www.wireshark.org/tools/modelines.html
*
* Local variables:
* c-basic-offset: 8
* tab-width: 8
* indent-tabs-mode: t
* End:
*
* vi: set shiftwidth=8 tabstop=8 noexpandtab:
* :indentSize=8:tabSize=8:noTabs=false:
*/

View File

@ -182,26 +182,26 @@ static gint ett_ltp_fragment = -1;
static gint ett_ltp_fragments = -1;
static const fragment_items ltp_frag_items = {
/*Fragment subtrees*/
&ett_ltp_fragment,
&ett_ltp_fragments,
/*Fragment Fields*/
&hf_ltp_fragments,
&hf_ltp_fragment,
&hf_ltp_fragment_overlap,
&hf_ltp_fragment_overlap_conflicts,
&hf_ltp_fragment_multiple_tails,
&hf_ltp_fragment_too_long_fragment,
&hf_ltp_fragment_error,
&hf_ltp_fragment_count,
/*Reassembled in field*/
&hf_ltp_reassembled_in,
/*Reassembled length field*/
&hf_ltp_reassembled_length,
/* Reassembled data field */
NULL,
/*Tag*/
"LTP fragments"
/*Fragment subtrees*/
&ett_ltp_fragment,
&ett_ltp_fragments,
/*Fragment Fields*/
&hf_ltp_fragments,
&hf_ltp_fragment,
&hf_ltp_fragment_overlap,
&hf_ltp_fragment_overlap_conflicts,
&hf_ltp_fragment_multiple_tails,
&hf_ltp_fragment_too_long_fragment,
&hf_ltp_fragment_error,
&hf_ltp_fragment_count,
/*Reassembled in field*/
&hf_ltp_reassembled_in,
/*Reassembled length field*/
&hf_ltp_reassembled_length,
/* Reassembled data field */
NULL,
/*Tag*/
"LTP fragments"
};
static int
@ -438,10 +438,10 @@ dissect_report_segment(tvbuff_t *tvb, packet_info *pinfo, proto_tree *ltp_tree,
"Negative reception claim count: %d", rcpt_clm_cnt);
return 0;
}
/* Each reception claim is at least 2 bytes, so if the count is larger than the
* max number of claims we can possibly squeeze into the remaining tvbuff, then
* the packet is malformed.
*/
/* Each reception claim is at least 2 bytes, so if the count is larger than the
* max number of claims we can possibly squeeze into the remaining tvbuff, then
* the packet is malformed.
*/
if (rcpt_clm_cnt > tvb_length_remaining(tvb, frame_offset + segment_offset) / 2) {
proto_item_set_end(ltp_rpt_item, tvb, frame_offset + segment_offset);
expert_add_info_format(pinfo, ltp_tree, &ei_ltp_mal_reception_claim,
@ -988,7 +988,7 @@ proto_reg_handoff_ltp(void)
if (!initialized) {
ltp_handle = new_create_dissector_handle(dissect_ltp, proto_ltp);
bundle_handle = find_dissector("bundle");
bundle_handle = find_dissector("bundle");
initialized = TRUE;
} else {
dissector_delete_uint("udp.port", currentPort, ltp_handle);
@ -1000,3 +1000,16 @@ proto_reg_handoff_ltp(void)
dissector_add_uint("udp.port", currentPort, ltp_handle);
dissector_add_uint("dccp.port", currentPort, ltp_handle);
}
/*
* Editor modelines - http://www.wireshark.org/tools/modelines.html
*
* Local variables:
* c-basic-offset: 8
* tab-width: 8
* indent-tabs-mode: t
* End:
*
* vi: set shiftwidth=8 tabstop=8 noexpandtab:
* :indentSize=8:tabSize=8:noTabs=false:
*/

View File

@ -170,8 +170,8 @@ dissect_mount_dirpath_call(tvbuff_t *tvb, int offset, packet_info *pinfo,
host=ip_to_str((const guint8 *)pinfo->dst.data);
len=tvb_get_ntohl(tvb, offset);
if (len >= ITEM_LABEL_LENGTH)
THROW(ReportedBoundsError);
if (len >= ITEM_LABEL_LENGTH)
THROW(ReportedBoundsError);
name=(unsigned char *)g_malloc(strlen(host)+1+len+1+200);
ptr=name;
@ -356,53 +356,53 @@ dissect_mount_export_reply(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_
#define PC_ERROR_VDISABLE 0x0200
static const true_false_string tos_error_all = {
"All info invalid",
"Some or all info valid"
"All info invalid",
"Some or all info valid"
};
static const true_false_string tos_error_link_max = {
"LINK_MAX invalid",
"LINK_MAX valid"
"LINK_MAX invalid",
"LINK_MAX valid"
};
static const true_false_string tos_error_max_canon = {
"MAX_CANON invalid",
"MAX_CANON valid"
"MAX_CANON invalid",
"MAX_CANON valid"
};
static const true_false_string tos_error_max_input = {
"MAX_INPUT invalid",
"MAX_INPUT valid"
"MAX_INPUT invalid",
"MAX_INPUT valid"
};
static const true_false_string tos_error_name_max = {
"NAME_MAX invalid",
"NAME_MAX valid"
"NAME_MAX invalid",
"NAME_MAX valid"
};
static const true_false_string tos_error_path_max = {
"PATH_MAX invalid",
"PATH_MAX valid"
"PATH_MAX invalid",
"PATH_MAX valid"
};
static const true_false_string tos_error_pipe_buf = {
"PIPE_BUF invalid",
"PIPE_BUF valid"
"PIPE_BUF invalid",
"PIPE_BUF valid"
};
static const true_false_string tos_chown_restricted = {
"Only a privileged user can change the ownership of a file",
"Users may give away their own files"
"Only a privileged user can change the ownership of a file",
"Users may give away their own files"
};
static const true_false_string tos_no_trunc = {
"File names that are too long will get an error",
"File names that are too long will be truncated"
"File names that are too long will get an error",
"File names that are too long will be truncated"
};
static const true_false_string tos_error_vdisable = {
"VDISABLE invalid",
"VDISABLE valid"
"VDISABLE invalid",
"VDISABLE valid"
};
@ -747,30 +747,30 @@ dissect_mount_statvfs_reply(tvbuff_t *tvb, int offset, packet_info *pinfo _U_, p
/* Mount protocol version 1, RFC 1094 */
static const vsff mount1_proc[] = {
{ 0, "NULL", NULL, NULL },
{ MOUNTPROC_MNT, "MNT",
dissect_mount_dirpath_call, dissect_mount1_mnt_reply },
{ MOUNTPROC_DUMP, "DUMP",
NULL, dissect_mount_dump_reply },
{ MOUNTPROC_UMNT, "UMNT",
dissect_mount_dirpath_call, NULL },
{ MOUNTPROC_UMNTALL, "UMNTALL",
NULL, NULL },
{ MOUNTPROC_EXPORT, "EXPORT",
NULL, dissect_mount_export_reply },
{ MOUNTPROC_EXPORTALL, "EXPORTALL",
NULL, dissect_mount_export_reply },
{ 0, NULL, NULL, NULL }
{ 0, "NULL", NULL, NULL },
{ MOUNTPROC_MNT, "MNT",
dissect_mount_dirpath_call, dissect_mount1_mnt_reply },
{ MOUNTPROC_DUMP, "DUMP",
NULL, dissect_mount_dump_reply },
{ MOUNTPROC_UMNT, "UMNT",
dissect_mount_dirpath_call, NULL },
{ MOUNTPROC_UMNTALL, "UMNTALL",
NULL, NULL },
{ MOUNTPROC_EXPORT, "EXPORT",
NULL, dissect_mount_export_reply },
{ MOUNTPROC_EXPORTALL, "EXPORTALL",
NULL, dissect_mount_export_reply },
{ 0, NULL, NULL, NULL }
};
static const value_string mount1_proc_vals[] = {
{ 0, "NULL" },
{ MOUNTPROC_MNT, "MNT" },
{ MOUNTPROC_DUMP, "DUMP" },
{ MOUNTPROC_UMNT, "UMNT" },
{ MOUNTPROC_UMNTALL, "UMNTALL" },
{ MOUNTPROC_EXPORT, "EXPORT" },
{ MOUNTPROC_EXPORTALL, "EXPORTALL" },
{ 0, NULL }
{ 0, "NULL" },
{ MOUNTPROC_MNT, "MNT" },
{ MOUNTPROC_DUMP, "DUMP" },
{ MOUNTPROC_UMNT, "UMNT" },
{ MOUNTPROC_UMNTALL, "UMNTALL" },
{ MOUNTPROC_EXPORT, "EXPORT" },
{ MOUNTPROC_EXPORTALL, "EXPORTALL" },
{ 0, NULL }
};
/* end of mount version 1 */
@ -779,33 +779,33 @@ static const value_string mount1_proc_vals[] = {
mount V2 is V1 plus MOUNTPROC_PATHCONF to fetch information for the
POSIX "pathconf()" call. */
static const vsff mount2_proc[] = {
{ 0, "NULL", NULL, NULL },
{ MOUNTPROC_MNT, "MNT",
dissect_mount_dirpath_call, dissect_mount1_mnt_reply },
{ MOUNTPROC_DUMP, "DUMP",
NULL, dissect_mount_dump_reply },
{ MOUNTPROC_UMNT, "UMNT",
dissect_mount_dirpath_call, NULL },
{ MOUNTPROC_UMNTALL, "UMNTALL",
NULL, NULL },
{ MOUNTPROC_EXPORT, "EXPORT",
NULL, dissect_mount_export_reply },
{ MOUNTPROC_EXPORTALL, "EXPORTALL",
NULL, dissect_mount_export_reply },
{ MOUNTPROC_PATHCONF, "PATHCONF",
dissect_mount_dirpath_call, dissect_mount_pathconf_reply },
{ 0, NULL, NULL, NULL }
{ 0, "NULL", NULL, NULL },
{ MOUNTPROC_MNT, "MNT",
dissect_mount_dirpath_call, dissect_mount1_mnt_reply },
{ MOUNTPROC_DUMP, "DUMP",
NULL, dissect_mount_dump_reply },
{ MOUNTPROC_UMNT, "UMNT",
dissect_mount_dirpath_call, NULL },
{ MOUNTPROC_UMNTALL, "UMNTALL",
NULL, NULL },
{ MOUNTPROC_EXPORT, "EXPORT",
NULL, dissect_mount_export_reply },
{ MOUNTPROC_EXPORTALL, "EXPORTALL",
NULL, dissect_mount_export_reply },
{ MOUNTPROC_PATHCONF, "PATHCONF",
dissect_mount_dirpath_call, dissect_mount_pathconf_reply },
{ 0, NULL, NULL, NULL }
};
static const value_string mount2_proc_vals[] = {
{ 0, "NULL" },
{ MOUNTPROC_MNT, "MNT" },
{ MOUNTPROC_DUMP, "DUMP" },
{ MOUNTPROC_UMNT, "UMNT" },
{ MOUNTPROC_UMNTALL, "UMNTALL" },
{ MOUNTPROC_EXPORT, "EXPORT" },
{ MOUNTPROC_EXPORTALL, "EXPORTALL" },
{ MOUNTPROC_PATHCONF, "PATHCONF" },
{ 0, NULL }
{ 0, "NULL" },
{ MOUNTPROC_MNT, "MNT" },
{ MOUNTPROC_DUMP, "DUMP" },
{ MOUNTPROC_UMNT, "UMNT" },
{ MOUNTPROC_UMNTALL, "UMNTALL" },
{ MOUNTPROC_EXPORT, "EXPORT" },
{ MOUNTPROC_EXPORTALL, "EXPORTALL" },
{ MOUNTPROC_PATHCONF, "PATHCONF" },
{ 0, NULL }
};
/* end of mount version 2 */
@ -840,36 +840,36 @@ static const value_string mount3_proc_vals[] = {
MOUNTPROC_EXPORTLIST and MOUNTPROC_STATVFS */
static const vsff sgi_mount1_proc[] = {
{ 0, "NULL", NULL, NULL },
{ MOUNTPROC_MNT, "MNT",
dissect_mount_dirpath_call, dissect_mount1_mnt_reply },
{ MOUNTPROC_DUMP, "DUMP",
NULL, dissect_mount_dump_reply },
{ MOUNTPROC_UMNT, "UMNT",
dissect_mount_dirpath_call, NULL },
{ MOUNTPROC_UMNTALL, "UMNTALL",
NULL, NULL },
{ MOUNTPROC_EXPORT, "EXPORT",
NULL, dissect_mount_export_reply },
{ MOUNTPROC_EXPORTALL, "EXPORTALL",
NULL, dissect_mount_export_reply },
{ MOUNTPROC_EXPORTLIST,"EXPORTLIST",
NULL, dissect_mount_exportlist_reply },
{ MOUNTPROC_STATVFS, "STATVFS",
dissect_mount_dirpath_call, dissect_mount_statvfs_reply },
{ 0, NULL, NULL, NULL }
{ 0, "NULL", NULL, NULL },
{ MOUNTPROC_MNT, "MNT",
dissect_mount_dirpath_call, dissect_mount1_mnt_reply },
{ MOUNTPROC_DUMP, "DUMP",
NULL, dissect_mount_dump_reply },
{ MOUNTPROC_UMNT, "UMNT",
dissect_mount_dirpath_call, NULL },
{ MOUNTPROC_UMNTALL, "UMNTALL",
NULL, NULL },
{ MOUNTPROC_EXPORT, "EXPORT",
NULL, dissect_mount_export_reply },
{ MOUNTPROC_EXPORTALL, "EXPORTALL",
NULL, dissect_mount_export_reply },
{ MOUNTPROC_EXPORTLIST,"EXPORTLIST",
NULL, dissect_mount_exportlist_reply },
{ MOUNTPROC_STATVFS, "STATVFS",
dissect_mount_dirpath_call, dissect_mount_statvfs_reply },
{ 0, NULL, NULL, NULL }
};
static const value_string sgi_mount1_proc_vals[] = {
{ 0, "NULL" },
{ MOUNTPROC_MNT, "MNT" },
{ MOUNTPROC_DUMP, "DUMP" },
{ MOUNTPROC_UMNT, "UMNT" },
{ MOUNTPROC_UMNTALL, "UMNTALL" },
{ MOUNTPROC_EXPORT, "EXPORT" },
{ MOUNTPROC_EXPORTALL, "EXPORTALL" },
{ MOUNTPROC_EXPORTLIST, "EXPORTLIST" },
{ MOUNTPROC_STATVFS, "STATVFS" },
{ 0, NULL }
{ 0, "NULL" },
{ MOUNTPROC_MNT, "MNT" },
{ MOUNTPROC_DUMP, "DUMP" },
{ MOUNTPROC_UMNT, "UMNT" },
{ MOUNTPROC_UMNTALL, "UMNTALL" },
{ MOUNTPROC_EXPORT, "EXPORT" },
{ MOUNTPROC_EXPORTALL, "EXPORTALL" },
{ MOUNTPROC_EXPORTLIST, "EXPORTLIST" },
{ MOUNTPROC_STATVFS, "STATVFS" },
{ 0, NULL }
};
/* end of SGI mount protocol version 1 */
@ -1106,3 +1106,16 @@ proto_reg_handoff_mount(void)
rpc_init_proc_table(MOUNT_PROGRAM, 3, mount3_proc, hf_mount_procedure_v3);
rpc_init_proc_table(SGI_MOUNT_PROGRAM, 1, sgi_mount1_proc, hf_sgi_mount_procedure_v1);
}
/*
* Editor modelines - http://www.wireshark.org/tools/modelines.html
*
* Local variables:
* c-basic-offset: 8
* tab-width: 8
* indent-tabs-mode: t
* End:
*
* vi: set shiftwidth=8 tabstop=8 noexpandtab:
* :indentSize=8:tabSize=8:noTabs=false:
*/

View File

@ -857,3 +857,16 @@ proto_reg_handoff_nmpi(void)
dissector_add_uint("ipx.socket", IPX_SOCKET_NWLINK_SMB_MAILSLOT,
nmpi_handle);
}
/*
* Editor modelines - http://www.wireshark.org/tools/modelines.html
*
* Local variables:
* c-basic-offset: 8
* tab-width: 8
* indent-tabs-mode: t
* End:
*
* vi: set shiftwidth=8 tabstop=8 noexpandtab:
* :indentSize=8:tabSize=8:noTabs=false:
*/

View File

@ -986,3 +986,16 @@ proto_reg_handoff_netlink_route(void)
{
dissector_add_uint("netlink.protocol", WS_NETLINK_ROUTE, netlink_route_handle);
}
/*
* Editor modelines - http://www.wireshark.org/tools/modelines.html
*
* Local variables:
* c-basic-offset: 8
* tab-width: 8
* indent-tabs-mode: t
* End:
*
* vi: set shiftwidth=8 tabstop=8 noexpandtab:
* :indentSize=8:tabSize=8:noTabs=false:
*/

View File

@ -647,3 +647,16 @@ proto_reg_handoff_portmap(void)
rpc_init_proc_table(PORTMAP_PROGRAM, 4, portmap4_proc, hf_portmap_procedure_v4);
rpc_handle = find_dissector("rpc");
}
/*
* Editor modelines - http://www.wireshark.org/tools/modelines.html
*
* Local variables:
* c-basic-offset: 8
* tab-width: 8
* indent-tabs-mode: t
* End:
*
* vi: set shiftwidth=8 tabstop=8 noexpandtab:
* :indentSize=8:tabSize=8:noTabs=false:
*/

View File

@ -475,3 +475,16 @@ void proto_reg_handoff_pw_satop(void)
dissector_add_for_decode_as("mpls.label", find_dissector("pw_satop_mpls"));
dissector_add_for_decode_as("udp.port", find_dissector("pw_satop_udp"));
}
/*
* Editor modelines - http://www.wireshark.org/tools/modelines.html
*
* Local variables:
* c-basic-offset: 8
* tab-width: 8
* indent-tabs-mode: t
* End:
*
* vi: set shiftwidth=8 tabstop=8 noexpandtab:
* :indentSize=8:tabSize=8:noTabs=false:
*/

View File

@ -69,11 +69,11 @@ static int hf_data = -1;
static const value_string control_message_vals[] =
{
{ 0x02, "Clear buffer" },
{ 0x10, "Raw mode" },
{ 0x20, "Cooked mode" },
{ 0x80, "Window size request" },
{ 0, NULL }
{ 0x02, "Clear buffer" },
{ 0x10, "Raw mode" },
{ 0x20, "Cooked mode" },
{ 0x80, "Window size request" },
{ 0, NULL }
};
@ -179,10 +179,10 @@ rlogin_state_machine(rlogin_hash_entry_t *hash_info, tvbuff_t *tvb, packet_info
/* Dissect details of packet */
static void rlogin_display(rlogin_hash_entry_t *hash_info,
tvbuff_t *tvb,
packet_info *pinfo,
proto_tree *tree,
struct tcpinfo *tcpinfo)
tvbuff_t *tvb,
packet_info *pinfo,
proto_tree *tree,
struct tcpinfo *tcpinfo)
{
/* Display the proto tree */
int offset = 0;
@ -586,3 +586,16 @@ void proto_reg_handoff_rlogin(void)
dissector_handle_t rlogin_handle = new_create_dissector_handle(dissect_rlogin,proto_rlogin);
dissector_add_uint("tcp.port", RLOGIN_PORT, rlogin_handle);
}
/*
* Editor modelines - http://www.wireshark.org/tools/modelines.html
*
* Local variables:
* c-basic-offset: 8
* tab-width: 8
* indent-tabs-mode: t
* End:
*
* vi: set shiftwidth=8 tabstop=8 noexpandtab:
* :indentSize=8:tabSize=8:noTabs=false:
*/

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@ -567,3 +567,16 @@ proto_reg_handoff_teklink(void)
/* Register the procedure tables */
rpc_init_proc_table(PROGRAM_TEKLINK, 1, teklink_proc, hf_teklink_procedure);
}
/*
* Editor modelines - http://www.wireshark.org/tools/modelines.html
*
* Local variables:
* c-basic-offset: 8
* tab-width: 8
* indent-tabs-mode: t
* End:
*
* vi: set shiftwidth=8 tabstop=8 noexpandtab:
* :indentSize=8:tabSize=8:noTabs=false:
*/

View File

@ -81,40 +81,40 @@ static gint ett_usb_hub_port_status = -1;
static gint ett_usb_hub_port_change = -1;
/* Table 11-16. Hub Class Request Codes */
#define USB_HUB_REQUEST_GET_STATUS 0
#define USB_HUB_REQUEST_CLEAR_FEATURE 1
#define USB_HUB_REQUEST_SET_FEATURE 3
#define USB_HUB_REQUEST_GET_DESCRIPTOR 6
#define USB_HUB_REQUEST_SET_DESCRIPTOR 7
#define USB_HUB_REQUEST_CLEAR_TT_BUFFER 8
#define USB_HUB_REQUEST_RESET_TT 9
#define USB_HUB_REQUEST_GET_STATUS 0
#define USB_HUB_REQUEST_CLEAR_FEATURE 1
#define USB_HUB_REQUEST_SET_FEATURE 3
#define USB_HUB_REQUEST_GET_DESCRIPTOR 6
#define USB_HUB_REQUEST_SET_DESCRIPTOR 7
#define USB_HUB_REQUEST_CLEAR_TT_BUFFER 8
#define USB_HUB_REQUEST_RESET_TT 9
#define USB_HUB_REQUEST_GET_TT_STATE 10
#define USB_HUB_REQUEST_STOP_TT 11
static const value_string setup_request_names_vals[] = {
{ USB_HUB_REQUEST_GET_STATUS, "GET_STATUS" },
{ USB_HUB_REQUEST_CLEAR_FEATURE, "CLEAR_FEATURE" },
{ USB_HUB_REQUEST_SET_FEATURE, "SET_FEATURE" },
{ USB_HUB_REQUEST_GET_DESCRIPTOR, "GET_DESCRIPTOR" },
{ USB_HUB_REQUEST_SET_DESCRIPTOR, "SET_DESCRIPTOR" },
{ USB_HUB_REQUEST_GET_STATUS, "GET_STATUS" },
{ USB_HUB_REQUEST_CLEAR_FEATURE, "CLEAR_FEATURE" },
{ USB_HUB_REQUEST_SET_FEATURE, "SET_FEATURE" },
{ USB_HUB_REQUEST_GET_DESCRIPTOR, "GET_DESCRIPTOR" },
{ USB_HUB_REQUEST_SET_DESCRIPTOR, "SET_DESCRIPTOR" },
{ USB_HUB_REQUEST_CLEAR_TT_BUFFER, "CLEAR_TT_BUFFER" },
{ USB_HUB_REQUEST_GET_TT_STATE, "GET_TT_STATE" },
{ USB_HUB_REQUEST_STOP_TT, "STOP_TT" },
{ USB_HUB_REQUEST_GET_TT_STATE, "GET_TT_STATE" },
{ USB_HUB_REQUEST_STOP_TT, "STOP_TT" },
{ 0, NULL }
};
/* Table 11-17 Hub Class Feature Selectors */
#define USB_HUB_FEATURE_C_HUB_LOCAL_POWER 0
#define USB_HUB_FEATURE_C_HUB_OVER_CURRENT 1
#define USB_HUB_FEATURE_C_HUB_LOCAL_POWER 0
#define USB_HUB_FEATURE_C_HUB_OVER_CURRENT 1
#define USB_HUB_FEATURE_PORT_CONNECTION 0
#define USB_HUB_FEATURE_PORT_ENABLE 1
#define USB_HUB_FEATURE_PORT_SUSPEND 2
#define USB_HUB_FEATURE_PORT_OVER_CURRENT 3
#define USB_HUB_FEATURE_PORT_RESET 4
#define USB_HUB_FEATURE_PORT_POWER 8
#define USB_HUB_FEATURE_PORT_LOW_SPEED 9
#define USB_HUB_FEATURE_PORT_CONNECTION 0
#define USB_HUB_FEATURE_PORT_ENABLE 1
#define USB_HUB_FEATURE_PORT_SUSPEND 2
#define USB_HUB_FEATURE_PORT_OVER_CURRENT 3
#define USB_HUB_FEATURE_PORT_RESET 4
#define USB_HUB_FEATURE_PORT_POWER 8
#define USB_HUB_FEATURE_PORT_LOW_SPEED 9
#define USB_HUB_FEATURE_C_PORT_CONNECTION 16
#define USB_HUB_FEATURE_C_PORT_ENABLE 17
#define USB_HUB_FEATURE_C_PORT_SUSPEND 18
@ -124,26 +124,26 @@ static const value_string setup_request_names_vals[] = {
#define USB_HUB_FEATURE_PORT_INDICATOR 22
static const value_string hub_class_feature_selectors_recipient_hub_vals[] = {
{ USB_HUB_FEATURE_C_HUB_LOCAL_POWER, "C_HUB_LOCAL_POWER" },
{ USB_HUB_FEATURE_C_HUB_LOCAL_POWER, "C_HUB_LOCAL_POWER" },
{ USB_HUB_FEATURE_C_HUB_OVER_CURRENT, "C_HUB_OVER_CURRENT" },
{ 0, NULL }
};
static const value_string hub_class_feature_selectors_recipient_port_vals[] = {
{ USB_HUB_FEATURE_PORT_CONNECTION, "PORT_CONNECTION" },
{ USB_HUB_FEATURE_PORT_ENABLE, "PORT_ENABLE" },
{ USB_HUB_FEATURE_PORT_SUSPEND, "PORT_SUSPEND" },
{ USB_HUB_FEATURE_PORT_OVER_CURRENT, "PORT_OVER_CURRENT" },
{ USB_HUB_FEATURE_PORT_RESET, "PORT_RESET" },
{ USB_HUB_FEATURE_PORT_POWER, "PORT_POWER" },
{ USB_HUB_FEATURE_PORT_LOW_SPEED, "PORT_LOW_SPEED" },
{ USB_HUB_FEATURE_C_PORT_CONNECTION, "C_PORT_CONNECTION" },
{ USB_HUB_FEATURE_C_PORT_ENABLE, "C_PORT_ENABLE" },
{ USB_HUB_FEATURE_C_PORT_SUSPEND, "C_PORT_SUSPEND" },
{ USB_HUB_FEATURE_PORT_CONNECTION, "PORT_CONNECTION" },
{ USB_HUB_FEATURE_PORT_ENABLE, "PORT_ENABLE" },
{ USB_HUB_FEATURE_PORT_SUSPEND, "PORT_SUSPEND" },
{ USB_HUB_FEATURE_PORT_OVER_CURRENT, "PORT_OVER_CURRENT" },
{ USB_HUB_FEATURE_PORT_RESET, "PORT_RESET" },
{ USB_HUB_FEATURE_PORT_POWER, "PORT_POWER" },
{ USB_HUB_FEATURE_PORT_LOW_SPEED, "PORT_LOW_SPEED" },
{ USB_HUB_FEATURE_C_PORT_CONNECTION, "C_PORT_CONNECTION" },
{ USB_HUB_FEATURE_C_PORT_ENABLE, "C_PORT_ENABLE" },
{ USB_HUB_FEATURE_C_PORT_SUSPEND, "C_PORT_SUSPEND" },
{ USB_HUB_FEATURE_C_PORT_OVER_CURRENT, "C_PORT_OVER_CURRENT" },
{ USB_HUB_FEATURE_C_PORT_RESET, "C_PORT_RESET" },
{ USB_HUB_FEATURE_PORT_TEST, "PORT_TEST" },
{ USB_HUB_FEATURE_PORT_INDICATOR, "PORT_INDICATOR" },
{ USB_HUB_FEATURE_C_PORT_RESET, "C_PORT_RESET" },
{ USB_HUB_FEATURE_PORT_TEST, "PORT_TEST" },
{ USB_HUB_FEATURE_PORT_INDICATOR, "PORT_INDICATOR" },
{ 0, NULL }
};
@ -827,3 +827,16 @@ proto_reg_handoff_usb_hub(void)
dissector_add_uint("usb.control", IF_CLASS_HUB, usb_hub_control_handle);
dissector_add_uint("usb.control", IF_CLASS_UNKNOWN, usb_hub_control_handle);
}
/*
* Editor modelines - http://www.wireshark.org/tools/modelines.html
*
* Local variables:
* c-basic-offset: 8
* tab-width: 8
* indent-tabs-mode: t
* End:
*
* vi: set shiftwidth=8 tabstop=8 noexpandtab:
* :indentSize=8:tabSize=8:noTabs=false:
*/

View File

@ -87,7 +87,7 @@ static int
dissect_vlan_info(tvbuff_t *tvb, packet_info *pinfo, int offset, proto_tree *tree);
static void
dissect_vlan_info_tlv(tvbuff_t *tvb, packet_info *pinfo, int offset, int length,
proto_tree *tree, proto_item *ti, guint8 type);
proto_tree *tree, proto_item *ti, guint8 type);
#define SUMMARY_ADVERT 0x01
#define SUBSET_ADVERT 0x02
@ -105,37 +105,37 @@ static const value_string type_vals[] = {
static void
set_vtp_info_col(tvbuff_t *tvb, packet_info *pinfo)
{
switch (tvb_get_guint8(tvb, 1)) {
switch (tvb_get_guint8(tvb, 1)) {
case SUMMARY_ADVERT:
col_add_fstr(pinfo->cinfo, COL_INFO,
"Summary Advertisement, Revision: %u", tvb_get_ntohl(tvb, 36));
case SUMMARY_ADVERT:
col_add_fstr(pinfo->cinfo, COL_INFO,
"Summary Advertisement, Revision: %u", tvb_get_ntohl(tvb, 36));
if (tvb_get_guint8(tvb, 2) > 0) {
col_append_fstr(pinfo->cinfo, COL_INFO,
", Followers: %u", tvb_get_guint8(tvb, 2));
}
if (tvb_get_guint8(tvb, 2) > 0) {
col_append_fstr(pinfo->cinfo, COL_INFO,
", Followers: %u", tvb_get_guint8(tvb, 2));
}
break;
break;
case SUBSET_ADVERT:
col_add_fstr(pinfo->cinfo, COL_INFO,
"Subset Advertisement, Revision: %u, Seq: %u",
tvb_get_ntohl(tvb, 36), tvb_get_guint8(tvb, 2));
break;
case SUBSET_ADVERT:
col_add_fstr(pinfo->cinfo, COL_INFO,
"Subset Advertisement, Revision: %u, Seq: %u",
tvb_get_ntohl(tvb, 36), tvb_get_guint8(tvb, 2));
break;
case ADVERT_REQUEST:
col_set_str(pinfo->cinfo, COL_INFO, "Advertisement Request");
break;
case ADVERT_REQUEST:
col_set_str(pinfo->cinfo, COL_INFO, "Advertisement Request");
break;
case JOIN_MSG:
col_set_str(pinfo->cinfo, COL_INFO, "Join");
break;
case JOIN_MSG:
col_set_str(pinfo->cinfo, COL_INFO, "Join");
break;
default:
col_set_str(pinfo->cinfo, COL_INFO, "Unrecognized VTP message");
break;
}
default:
col_set_str(pinfo->cinfo, COL_INFO, "Unrecognized VTP message");
break;
}
}
static void
@ -330,8 +330,8 @@ dissect_vlan_info(tvbuff_t *tvb, packet_info *pinfo, int offset, proto_tree *tre
status = tvb_get_guint8(tvb, offset);
ti = proto_tree_add_uint(vlan_info_tree, hf_vtp_vlan_status, tvb, offset, 1, status);
if (status & VLAN_SUSPENDED)
proto_item_append_text(ti, " (VLAN suspended)");
if (status & VLAN_SUSPENDED)
proto_item_append_text(ti, " (VLAN suspended)");
status_tree = proto_item_add_subtree(ti, ett_vtp_vlan_status);
proto_tree_add_boolean(status_tree, hf_vtp_vlan_status_vlan_susp, tvb, offset, 1,
status);
@ -415,7 +415,7 @@ static const value_string backup_crf_mode_vals[] = {
static void
dissect_vlan_info_tlv(tvbuff_t *tvb, packet_info *pinfo, int offset, int length,
proto_tree *tree, proto_item *ti, guint8 type)
proto_tree *tree, proto_item *ti, guint8 type)
{
switch (type) {
@ -652,7 +652,7 @@ proto_register_vtp(void)
{ &hf_vtp_vlan_data,
{ "Data", "vtp.vlan_info.data", FT_BYTES, BASE_NONE, NULL, 0x0,
NULL, HFILL }},
};
};
static gint *ett[] = {
&ett_vtp,
@ -683,3 +683,16 @@ proto_reg_handoff_vtp(void)
vtp_handle = create_dissector_handle(dissect_vtp, proto_vtp);
dissector_add_uint("llc.cisco_pid", 0x2003, vtp_handle);
}
/*
* Editor modelines - http://www.wireshark.org/tools/modelines.html
*
* Local variables:
* c-basic-offset: 8
* tab-width: 8
* indent-tabs-mode: t
* End:
*
* vi: set shiftwidth=8 tabstop=8 noexpandtab:
* :indentSize=8:tabSize=8:noTabs=false:
*/

View File

@ -202,10 +202,10 @@ static dissector_handle_t fr_uncompressed_handle;
static const value_string cmd_string[] = {
{0, "Compressed Data"},
{1, "Uncompressed Data"},
{15, "Extended"},
{1, "Uncompressed Data"},
{15, "Extended"},
{ 0, NULL }
};
};
static const value_string ext_cmd_string[] = {
{0, "Per Packet Compression"},
@ -215,7 +215,7 @@ static const value_string ext_cmd_string[] = {
{0x0a, "Init Ack"},
{ 0, NULL }
};
};
@ -609,124 +609,137 @@ static tvbuff_t *wcp_uncompress( tvbuff_t *src_tvb, int offset, packet_info *pin
void
proto_register_wcp(void)
{
static hf_register_info hf[] = {
{ &hf_wcp_cmd,
{ "Command", "wcp.cmd", FT_UINT8, BASE_HEX, VALS(cmd_string), WCP_CMD,
"Compression Command", HFILL }},
{ &hf_wcp_ext_cmd,
{ "Extended Command", "wcp.ext_cmd", FT_UINT8, BASE_HEX, VALS(ext_cmd_string), WCP_EXT_CMD,
"Extended Compression Command", HFILL }},
{ &hf_wcp_seq,
{ "SEQ", "wcp.seq", FT_UINT16, BASE_HEX, NULL, WCP_SEQ,
"Sequence Number", HFILL }},
{ &hf_wcp_chksum,
{ "Checksum", "wcp.checksum", FT_UINT8, BASE_DEC, NULL, 0,
"Packet Checksum", HFILL }},
{ &hf_wcp_tid,
{ "TID", "wcp.tid", FT_UINT16, BASE_DEC, NULL, 0,
NULL, HFILL }},
{ &hf_wcp_rev,
{ "Revision", "wcp.rev", FT_UINT8, BASE_DEC, NULL, 0,
NULL, HFILL }},
{ &hf_wcp_init,
{ "Initiator", "wcp.init", FT_UINT8, BASE_DEC, NULL, 0,
NULL, HFILL }},
{ &hf_wcp_seq_size,
{ "Seq Size", "wcp.seq_size", FT_UINT8, BASE_DEC, NULL, 0,
"Sequence Size", HFILL }},
{ &hf_wcp_alg_cnt,
{ "Alg Count", "wcp.alg_cnt", FT_UINT8, BASE_DEC, NULL, 0,
"Algorithm Count", HFILL }},
{ &hf_wcp_alg_a,
{ "Alg 1", "wcp.alg1", FT_UINT8, BASE_DEC, NULL, 0,
"Algorithm #1", HFILL }},
{ &hf_wcp_alg_b,
{ "Alg 2", "wcp.alg2", FT_UINT8, BASE_DEC, NULL, 0,
"Algorithm #2", HFILL }},
{ &hf_wcp_alg_c,
{ "Alg 3", "wcp.alg3", FT_UINT8, BASE_DEC, NULL, 0,
"Algorithm #3", HFILL }},
{ &hf_wcp_alg_d,
{ "Alg 4", "wcp.alg4", FT_UINT8, BASE_DEC, NULL, 0,
"Algorithm #4", HFILL }},
{ &hf_wcp_alg,
{ "Alg", "wcp.alg", FT_UINT8, BASE_DEC, NULL, 0,
"Algorithm", HFILL }},
static hf_register_info hf[] = {
{ &hf_wcp_cmd,
{ "Command", "wcp.cmd", FT_UINT8, BASE_HEX, VALS(cmd_string), WCP_CMD,
"Compression Command", HFILL }},
{ &hf_wcp_ext_cmd,
{ "Extended Command", "wcp.ext_cmd", FT_UINT8, BASE_HEX, VALS(ext_cmd_string), WCP_EXT_CMD,
"Extended Compression Command", HFILL }},
{ &hf_wcp_seq,
{ "SEQ", "wcp.seq", FT_UINT16, BASE_HEX, NULL, WCP_SEQ,
"Sequence Number", HFILL }},
{ &hf_wcp_chksum,
{ "Checksum", "wcp.checksum", FT_UINT8, BASE_DEC, NULL, 0,
"Packet Checksum", HFILL }},
{ &hf_wcp_tid,
{ "TID", "wcp.tid", FT_UINT16, BASE_DEC, NULL, 0,
NULL, HFILL }},
{ &hf_wcp_rev,
{ "Revision", "wcp.rev", FT_UINT8, BASE_DEC, NULL, 0,
NULL, HFILL }},
{ &hf_wcp_init,
{ "Initiator", "wcp.init", FT_UINT8, BASE_DEC, NULL, 0,
NULL, HFILL }},
{ &hf_wcp_seq_size,
{ "Seq Size", "wcp.seq_size", FT_UINT8, BASE_DEC, NULL, 0,
"Sequence Size", HFILL }},
{ &hf_wcp_alg_cnt,
{ "Alg Count", "wcp.alg_cnt", FT_UINT8, BASE_DEC, NULL, 0,
"Algorithm Count", HFILL }},
{ &hf_wcp_alg_a,
{ "Alg 1", "wcp.alg1", FT_UINT8, BASE_DEC, NULL, 0,
"Algorithm #1", HFILL }},
{ &hf_wcp_alg_b,
{ "Alg 2", "wcp.alg2", FT_UINT8, BASE_DEC, NULL, 0,
"Algorithm #2", HFILL }},
{ &hf_wcp_alg_c,
{ "Alg 3", "wcp.alg3", FT_UINT8, BASE_DEC, NULL, 0,
"Algorithm #3", HFILL }},
{ &hf_wcp_alg_d,
{ "Alg 4", "wcp.alg4", FT_UINT8, BASE_DEC, NULL, 0,
"Algorithm #4", HFILL }},
{ &hf_wcp_alg,
{ "Alg", "wcp.alg", FT_UINT8, BASE_DEC, NULL, 0,
"Algorithm", HFILL }},
#if 0
{ &hf_wcp_rexmit,
{ "Rexmit", "wcp.rexmit", FT_UINT8, BASE_DEC, NULL, 0,
"Retransmit", HFILL }},
{ &hf_wcp_rexmit,
{ "Rexmit", "wcp.rexmit", FT_UINT8, BASE_DEC, NULL, 0,
"Retransmit", HFILL }},
#endif
{ &hf_wcp_hist_size,
{ "History", "wcp.hist", FT_UINT8, BASE_DEC, NULL, 0,
"History Size", HFILL }},
{ &hf_wcp_ppc,
{ "PerPackComp", "wcp.ppc", FT_UINT8, BASE_DEC, NULL, 0,
"Per Packet Compression", HFILL }},
{ &hf_wcp_pib,
{ "PIB", "wcp.pib", FT_UINT8, BASE_DEC, NULL, 0,
NULL, HFILL }},
{ &hf_wcp_compressed_data,
{ "Compressed Data", "wcp.compressed_data", FT_NONE, BASE_NONE, NULL, 0,
"Raw compressed data", HFILL }},
{ &hf_wcp_comp_bits,
{ "Compress Flag", "wcp.flag", FT_UINT8, BASE_HEX, NULL, 0,
"Compressed byte flag", HFILL }},
{ &hf_wcp_hist_size,
{ "History", "wcp.hist", FT_UINT8, BASE_DEC, NULL, 0,
"History Size", HFILL }},
{ &hf_wcp_ppc,
{ "PerPackComp", "wcp.ppc", FT_UINT8, BASE_DEC, NULL, 0,
"Per Packet Compression", HFILL }},
{ &hf_wcp_pib,
{ "PIB", "wcp.pib", FT_UINT8, BASE_DEC, NULL, 0,
NULL, HFILL }},
{ &hf_wcp_compressed_data,
{ "Compressed Data", "wcp.compressed_data", FT_NONE, BASE_NONE, NULL, 0,
"Raw compressed data", HFILL }},
{ &hf_wcp_comp_bits,
{ "Compress Flag", "wcp.flag", FT_UINT8, BASE_HEX, NULL, 0,
"Compressed byte flag", HFILL }},
#if 0
{ &hf_wcp_comp_marker,
{ "Compress Marker", "wcp.mark", FT_UINT8, BASE_DEC, NULL, 0,
"Compressed marker", HFILL }},
{ &hf_wcp_comp_marker,
{ "Compress Marker", "wcp.mark", FT_UINT8, BASE_DEC, NULL, 0,
"Compressed marker", HFILL }},
#endif
{ &hf_wcp_offset,
{ "Source offset", "wcp.off", FT_UINT16, BASE_HEX, NULL, WCP_OFFSET_MASK,
"Data source offset", HFILL }},
{ &hf_wcp_short_len,
{ "Compress Length", "wcp.short_len", FT_UINT8, BASE_HEX, NULL, 0xf0,
"Compressed length", HFILL }},
{ &hf_wcp_long_len,
{ "Compress Length", "wcp.long_len", FT_UINT8, BASE_HEX, NULL, 0,
"Compressed length", HFILL }},
{ &hf_wcp_long_run,
{ "Long Compression", "wcp.long_comp", FT_BYTES, BASE_NONE, NULL, 0,
"Long Compression type", HFILL }},
{ &hf_wcp_short_run,
{ "Short Compression", "wcp.short_comp", FT_BYTES, BASE_NONE, NULL, 0,
"Short Compression type", HFILL }},
{ &hf_wcp_offset,
{ "Source offset", "wcp.off", FT_UINT16, BASE_HEX, NULL, WCP_OFFSET_MASK,
"Data source offset", HFILL }},
{ &hf_wcp_short_len,
{ "Compress Length", "wcp.short_len", FT_UINT8, BASE_HEX, NULL, 0xf0,
"Compressed length", HFILL }},
{ &hf_wcp_long_len,
{ "Compress Length", "wcp.long_len", FT_UINT8, BASE_HEX, NULL, 0,
"Compressed length", HFILL }},
{ &hf_wcp_long_run,
{ "Long Compression", "wcp.long_comp", FT_BYTES, BASE_NONE, NULL, 0,
"Long Compression type", HFILL }},
{ &hf_wcp_short_run,
{ "Short Compression", "wcp.short_comp", FT_BYTES, BASE_NONE, NULL, 0,
"Short Compression type", HFILL }},
};
};
static gint *ett[] = {
&ett_wcp,
&ett_wcp_comp_data,
&ett_wcp_field,
};
static gint *ett[] = {
&ett_wcp,
&ett_wcp_comp_data,
&ett_wcp_field,
};
static ei_register_info ei[] = {
{ &ei_wcp_compressed_data_exceeds, { "wcp.compressed_data.exceeds", PI_MALFORMED, PI_ERROR, "Compressed data exceeds maximum buffer length", EXPFILL }},
{ &ei_wcp_uncompressed_data_exceeds, { "wcp.uncompressed_data.exceeds", PI_MALFORMED, PI_ERROR, "Uncompressed data exceeds maximum buffer length", EXPFILL }},
};
static ei_register_info ei[] = {
{ &ei_wcp_compressed_data_exceeds, { "wcp.compressed_data.exceeds", PI_MALFORMED, PI_ERROR, "Compressed data exceeds maximum buffer length", EXPFILL }},
{ &ei_wcp_uncompressed_data_exceeds, { "wcp.uncompressed_data.exceeds", PI_MALFORMED, PI_ERROR, "Uncompressed data exceeds maximum buffer length", EXPFILL }},
};
expert_module_t* expert_wcp;
expert_module_t* expert_wcp;
proto_wcp = proto_register_protocol ("Wellfleet Compression", "WCP", "wcp");
proto_register_field_array (proto_wcp, hf, array_length(hf));
proto_register_subtree_array(ett, array_length(ett));
expert_wcp = expert_register_protocol(proto_wcp);
expert_register_field_array(expert_wcp, ei, array_length(ei));
proto_wcp = proto_register_protocol ("Wellfleet Compression", "WCP", "wcp");
proto_register_field_array (proto_wcp, hf, array_length(hf));
proto_register_subtree_array(ett, array_length(ett));
expert_wcp = expert_register_protocol(proto_wcp);
expert_register_field_array(expert_wcp, ei, array_length(ei));
}
void
proto_reg_handoff_wcp(void) {
dissector_handle_t wcp_handle;
dissector_handle_t wcp_handle;
/*
* Get handle for the Frame Relay (uncompressed) dissector.
*/
fr_uncompressed_handle = find_dissector("fr_uncompressed");
/*
* Get handle for the Frame Relay (uncompressed) dissector.
*/
fr_uncompressed_handle = find_dissector("fr_uncompressed");
wcp_handle = create_dissector_handle(dissect_wcp, proto_wcp);
dissector_add_uint("fr.nlpid", NLPID_COMPRESSED, wcp_handle);
dissector_add_uint("ethertype", ETHERTYPE_WCP, wcp_handle);
wcp_handle = create_dissector_handle(dissect_wcp, proto_wcp);
dissector_add_uint("fr.nlpid", NLPID_COMPRESSED, wcp_handle);
dissector_add_uint("ethertype", ETHERTYPE_WCP, wcp_handle);
}
/*
* Editor modelines - http://www.wireshark.org/tools/modelines.html
*
* Local variables:
* c-basic-offset: 8
* tab-width: 8
* indent-tabs-mode: t
* End:
*
* vi: set shiftwidth=8 tabstop=8 noexpandtab:
* :indentSize=8:tabSize=8:noTabs=false:
*/

View File

@ -683,10 +683,10 @@ dissect_winsrepl_pdu(tvbuff_t *tvb, packet_info *pinfo, proto_tree *parent_tree,
static guint
get_winsrepl_pdu_len(packet_info *pinfo _U_, tvbuff_t *tvb, int offset)
{
guint pdu_len;
guint pdu_len;
pdu_len=tvb_get_ntohl(tvb, offset);
return pdu_len+4;
pdu_len=tvb_get_ntohl(tvb, offset);
return pdu_len+4;
}
static int
@ -885,3 +885,16 @@ proto_reg_handoff_winsrepl(void)
winsrepl_handle = new_create_dissector_handle(dissect_winsrepl, proto_winsrepl);
dissector_add_uint("tcp.port", glb_winsrepl_tcp_port, winsrepl_handle);
}
/*
* Editor modelines - http://www.wireshark.org/tools/modelines.html
*
* Local variables:
* c-basic-offset: 8
* tab-width: 8
* indent-tabs-mode: t
* End:
*
* vi: set shiftwidth=8 tabstop=8 noexpandtab:
* :indentSize=8:tabSize=8:noTabs=false:
*/

View File

@ -641,3 +641,16 @@ proto_reg_handoff_wow(void)
dissector_add_uint("tcp.port", WOW_PORT, wow_handle);
}
/*
* Editor modelines - http://www.wireshark.org/tools/modelines.html
*
* Local variables:
* c-basic-offset: 8
* tab-width: 8
* indent-tabs-mode: t
* End:
*
* vi: set shiftwidth=8 tabstop=8 noexpandtab:
* :indentSize=8:tabSize=8:noTabs=false:
*/

View File

@ -174,23 +174,23 @@ enum yahoo_service { /* these are easier to see in hex */
/* Message flags */
enum yahoo_status {
YAHOO_STATUS_AVAILABLE = 0,
YAHOO_STATUS_BRB,
YAHOO_STATUS_BUSY,
YAHOO_STATUS_NOTATHOME,
YAHOO_STATUS_NOTATDESK,
YAHOO_STATUS_NOTINOFFICE,
YAHOO_STATUS_ONPHONE,
YAHOO_STATUS_ONVACATION,
YAHOO_STATUS_OUTTOLUNCH,
YAHOO_STATUS_STEPPEDOUT,
YAHOO_STATUS_INVISIBLE = 12,
YAHOO_STATUS_CUSTOM = 99,
YAHOO_STATUS_IDLE = 999,
YAHOO_STATUS_WEBLOGIN = 0x5a55aa55,
YAHOO_STATUS_OFFLINE = 0x5a55aa56, /* don't ask */
YAHOO_STATUS_TYPING = 0x16,
YAHOO_STATUS_DISCONNECTED = -1 /* in ymsg 15. doesn't mean the normal sense of 'disconnected' */
YAHOO_STATUS_AVAILABLE = 0,
YAHOO_STATUS_BRB,
YAHOO_STATUS_BUSY,
YAHOO_STATUS_NOTATHOME,
YAHOO_STATUS_NOTATDESK,
YAHOO_STATUS_NOTINOFFICE,
YAHOO_STATUS_ONPHONE,
YAHOO_STATUS_ONVACATION,
YAHOO_STATUS_OUTTOLUNCH,
YAHOO_STATUS_STEPPEDOUT,
YAHOO_STATUS_INVISIBLE = 12,
YAHOO_STATUS_CUSTOM = 99,
YAHOO_STATUS_IDLE = 999,
YAHOO_STATUS_WEBLOGIN = 0x5a55aa55,
YAHOO_STATUS_OFFLINE = 0x5a55aa56, /* don't ask */
YAHOO_STATUS_TYPING = 0x16,
YAHOO_STATUS_DISCONNECTED = -1 /* in ymsg 15. doesn't mean the normal sense of 'disconnected' */
};
enum ypacket_status {
@ -524,7 +524,7 @@ proto_register_ymsg(void)
{ &hf_ymsg_content_line_value, {
"Value", "ymsg.content-line.value", FT_STRING, BASE_NONE,
NULL, 0, "Content line value", HFILL }}
};
};
static gint *ett[] = {
&ett_ymsg,
&ett_ymsg_content,
@ -563,3 +563,16 @@ proto_reg_handoff_ymsg(void)
*/
heur_dissector_add("tcp", dissect_ymsg, proto_ymsg);
}
/*
* Editor modelines - http://www.wireshark.org/tools/modelines.html
*
* Local variables:
* c-basic-offset: 8
* tab-width: 8
* indent-tabs-mode: t
* End:
*
* vi: set shiftwidth=8 tabstop=8 noexpandtab:
* :indentSize=8:tabSize=8:noTabs=false:
*/