Add editor modelines & adjust indentation/whitespace as needed.

Change-Id: Ice2d93632cd42dfcef3bfbf0e15f2a8a147278fc
Reviewed-on: https://code.wireshark.org/review/4433
Reviewed-by: Bill Meier <wmeier@newsguy.com>
This commit is contained in:
Bill Meier 2014-10-02 17:47:19 -04:00
parent 70abd39bb7
commit 482e8e5651
47 changed files with 9780 additions and 9162 deletions

View File

@ -428,12 +428,12 @@ typedef enum {
static const value_string packet_type_mapping[] = {
{ APT_UDPH1_old, "UDPH1 old"},
{ APT_UDPH1_new, "UDPH1 new"},
{ APT_UDPR1, "UDPR1"},
{ APT_UDPR2, "UDPR2"},
{ APT_UDPR3, "UDPR3"},
{ APT_UDPR4, "UDPR4"},
{ APT_GDSHP, "GDSHP"},
{ APT_GDSHR, "GDSHR"},
{ APT_UDPR1, "UDPR1"},
{ APT_UDPR2, "UDPR2"},
{ APT_UDPR3, "UDPR3"},
{ APT_UDPR4, "UDPR4"},
{ APT_GDSHP, "GDSHP"},
{ APT_GDSHR, "GDSHR"},
{ 0, NULL },
};
static value_string_ext packet_type_mapping_ext = VALUE_STRING_EXT_INIT(packet_type_mapping);
@ -515,8 +515,9 @@ typedef struct _adwin_conv_info_t {
wmem_map_t *pdus;
} adwin_conv_info_t;
typedef enum { ADWIN_REQUEST,
ADWIN_RESPONSE
typedef enum {
ADWIN_REQUEST,
ADWIN_RESPONSE
} adwin_direction_t;
static void
@ -1072,7 +1073,7 @@ dissect_GDSHR(tvbuff_t *tvb, packet_info *pinfo,
is_range, "unknown code %d", is_range);
}
proto_item_set_len(ti, 12);
proto_tree_add_item(adwin_debug_tree, hf_adwin_unused, tvb, 24, 40, ENC_NA);
proto_tree_add_item(adwin_debug_tree, hf_adwin_unused, tvb, 24, 40, ENC_NA);
}
/* here we determine which type of packet is sent by looking at its
@ -1459,3 +1460,16 @@ proto_register_adwin(void)
"should be dissected or not",
&global_adwin_dissect_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

@ -236,36 +236,36 @@ static const value_string close_reasons[] = {
static const value_string resp_errors[] = {
{ AGENTX_NO_ERROR, "noError" },
{ AGENTX_TOO_BIG, "tooBig" },
{ AGENTX_NO_SUCH_NAME, "noSuchName" },
{ AGENTX_BAD_VALUE, "badValue" },
{ AGENTX_READ_ONLY, "readOnly" },
{ AGENTX_GEN_ERROR, "genErr" },
{ AGENTX_NO_ACCESS, "noAccess" },
{ AGENTX_WRONG_TYPE, "wrongType" },
{ AGENTX_WRONG_LEN, "wrongLength" },
{ AGENTX_WRONG_ENCODE, "wrongEncoding" },
{ AGENTX_WRONG_VALUE, "wrongValue" },
{ AGENTX_NO_CREATION, "noCreation" },
{ AGENTX_INCONSIST_VALUE, "inconsistentValue" },
{ AGENTX_RES_UNAVAIL, "resourceUnavailable" },
{ AGENTX_COMMIT_FAILED, "commitFailed" },
{ AGENTX_UNDO_FAILED , "undoFailed" },
{ AGENTX_AUTH_ERROR, "authorizationError" },
{ AGENTX_NOTWRITABLE, "notWritable" },
{ AGENTX_INCONSIS_NAME, "inconsistentName" },
{ AGENTX_OPEN_FAILED, "openFailed" },
{ AGENTX_NOT_OPEN, "notOpen" },
{ AGENTX_IDX_WRONT_TYPE, "indexWrongType" },
{ AGENTX_IDX_ALREAY_ALLOC, "indexAlreadyAllocated" },
{ AGENTX_IDX_NONEAVAIL, "indexNoneAvailable" },
{ AGENTX_IDX_NOTALLOC, "indexNotAllocated" },
{ AGENTX_UNSUPP_CONTEXT, "unsupportedContext" },
{ AGENTX_DUP_REGISTR, "duplicateRegistration" },
{ AGENTX_UNKNOWN_REG, "unknownRegistration" },
{ AGENTX_UNKNOWN_CAPS, "unknownAgentCaps" },
{ 0, NULL }
{ AGENTX_NO_ERROR, "noError" },
{ AGENTX_TOO_BIG, "tooBig" },
{ AGENTX_NO_SUCH_NAME, "noSuchName" },
{ AGENTX_BAD_VALUE, "badValue" },
{ AGENTX_READ_ONLY, "readOnly" },
{ AGENTX_GEN_ERROR, "genErr" },
{ AGENTX_NO_ACCESS, "noAccess" },
{ AGENTX_WRONG_TYPE, "wrongType" },
{ AGENTX_WRONG_LEN, "wrongLength" },
{ AGENTX_WRONG_ENCODE, "wrongEncoding" },
{ AGENTX_WRONG_VALUE, "wrongValue" },
{ AGENTX_NO_CREATION, "noCreation" },
{ AGENTX_INCONSIST_VALUE, "inconsistentValue" },
{ AGENTX_RES_UNAVAIL, "resourceUnavailable" },
{ AGENTX_COMMIT_FAILED, "commitFailed" },
{ AGENTX_UNDO_FAILED , "undoFailed" },
{ AGENTX_AUTH_ERROR, "authorizationError" },
{ AGENTX_NOTWRITABLE, "notWritable" },
{ AGENTX_INCONSIS_NAME, "inconsistentName" },
{ AGENTX_OPEN_FAILED, "openFailed" },
{ AGENTX_NOT_OPEN, "notOpen" },
{ AGENTX_IDX_WRONT_TYPE, "indexWrongType" },
{ AGENTX_IDX_ALREAY_ALLOC, "indexAlreadyAllocated" },
{ AGENTX_IDX_NONEAVAIL, "indexNoneAvailable" },
{ AGENTX_IDX_NOTALLOC, "indexNotAllocated" },
{ AGENTX_UNSUPP_CONTEXT, "unsupportedContext" },
{ AGENTX_DUP_REGISTR, "duplicateRegistration" },
{ AGENTX_UNKNOWN_REG, "unknownRegistration" },
{ AGENTX_UNKNOWN_CAPS, "unknownAgentCaps" },
{ 0, NULL }
};
static value_string_ext resp_errors_ext = VALUE_STRING_EXT_INIT(resp_errors);
@ -914,7 +914,7 @@ dissect_agentx_pdu(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void* da
break;
}
return tvb_captured_length(tvb);
return tvb_captured_length(tvb);
}
static int
@ -1148,3 +1148,16 @@ proto_reg_handoff_agentx(void)
agentx_tcp_port = global_agentx_tcp_port;
dissector_add_uint("tcp.port", agentx_tcp_port, agentx_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

@ -78,39 +78,39 @@ void proto_reg_handoff_aim(void);
#define FAMILY_ALL_ERROR_NOT_WHILE_ON_AOL 0x0018
static const value_string aim_flap_channels[] = {
{ CHANNEL_NEW_CONN, "New Connection" },
{ CHANNEL_SNAC_DATA, "SNAC Data" },
{ CHANNEL_FLAP_ERR, "FLAP-Level Error" },
{ CHANNEL_NEW_CONN, "New Connection" },
{ CHANNEL_SNAC_DATA, "SNAC Data" },
{ CHANNEL_FLAP_ERR, "FLAP-Level Error" },
{ CHANNEL_CLOSE_CONN, "Close Connection" },
{ CHANNEL_KEEP_ALIVE, "Keep Alive" },
{ 0, NULL }
};
static const value_string aim_snac_errors[] = {
{ FAMILY_ALL_ERROR_INVALID_HEADER, "Invalid SNAC Header" },
{ FAMILY_ALL_ERROR_SERVER_RATE_LIMIT_EXCEEDED, "Server rate limit exceeded" },
{ FAMILY_ALL_ERROR_CLIENT_RATE_LIMIT_EXCEEDED, "Client rate limit exceeded" },
{ FAMILY_ALL_ERROR_RECIPIENT_NOT_LOGGED_IN, "Recipient not logged in" },
{ FAMILY_ALL_ERROR_INVALID_HEADER, "Invalid SNAC Header" },
{ FAMILY_ALL_ERROR_SERVER_RATE_LIMIT_EXCEEDED, "Server rate limit exceeded" },
{ FAMILY_ALL_ERROR_CLIENT_RATE_LIMIT_EXCEEDED, "Client rate limit exceeded" },
{ FAMILY_ALL_ERROR_RECIPIENT_NOT_LOGGED_IN, "Recipient not logged in" },
{ FAMILY_ALL_ERROR_REQUESTED_SERVICE_UNAVAILABLE, "Requested service unavailable" },
{ FAMILY_ALL_ERROR_REQUESTED_SERVICE_NOT_DEFINED, "Requested service not defined" },
{ FAMILY_ALL_ERROR_OBSOLETE_SNAC, "Obsolete SNAC issued" },
{ FAMILY_ALL_ERROR_NOT_SUPPORTED_BY_SERVER, "Not supported by server" },
{ FAMILY_ALL_ERROR_NOT_SUPPORTED_BY_CLIENT, "Not supported by client" },
{ FAMILY_ALL_ERROR_REFUSED_BY_CLIENT, "Refused by client" },
{ FAMILY_ALL_ERROR_REPLY_TOO_BIG, "Reply too big" },
{ FAMILY_ALL_ERROR_RESPONSES_LOST, "Responses lost" },
{ FAMILY_ALL_ERROR_REQUEST_DENIED, "Request denied" },
{ FAMILY_ALL_ERROR_INCORRECT_SNAC_FORMAT, "Incorrect SNAC format" },
{ FAMILY_ALL_ERROR_INSUFFICIENT_RIGHTS, "Insufficient rights" },
{ FAMILY_ALL_ERROR_RECIPIENT_BLOCKED, "Recipient blocked" },
{ FAMILY_ALL_ERROR_SENDER_TOO_EVIL, "Sender too evil" },
{ FAMILY_ALL_ERROR_RECEIVER_TOO_EVIL, "Receiver too evil" },
{ FAMILY_ALL_ERROR_USER_TEMP_UNAVAILABLE, "User temporarily unavailable" },
{ FAMILY_ALL_ERROR_NO_MATCH, "No match" },
{ FAMILY_ALL_ERROR_LIST_OVERFLOW, "List overflow" },
{ FAMILY_ALL_ERROR_REQUEST_AMBIGUOUS, "Request ambiguous" },
{ FAMILY_ALL_ERROR_SERVER_QUEUE_FULL, "Server queue full" },
{ FAMILY_ALL_ERROR_NOT_WHILE_ON_AOL, "Not while on AOL" },
{ FAMILY_ALL_ERROR_OBSOLETE_SNAC, "Obsolete SNAC issued" },
{ FAMILY_ALL_ERROR_NOT_SUPPORTED_BY_SERVER, "Not supported by server" },
{ FAMILY_ALL_ERROR_NOT_SUPPORTED_BY_CLIENT, "Not supported by client" },
{ FAMILY_ALL_ERROR_REFUSED_BY_CLIENT, "Refused by client" },
{ FAMILY_ALL_ERROR_REPLY_TOO_BIG, "Reply too big" },
{ FAMILY_ALL_ERROR_RESPONSES_LOST, "Responses lost" },
{ FAMILY_ALL_ERROR_REQUEST_DENIED, "Request denied" },
{ FAMILY_ALL_ERROR_INCORRECT_SNAC_FORMAT, "Incorrect SNAC format" },
{ FAMILY_ALL_ERROR_INSUFFICIENT_RIGHTS, "Insufficient rights" },
{ FAMILY_ALL_ERROR_RECIPIENT_BLOCKED, "Recipient blocked" },
{ FAMILY_ALL_ERROR_SENDER_TOO_EVIL, "Sender too evil" },
{ FAMILY_ALL_ERROR_RECEIVER_TOO_EVIL, "Receiver too evil" },
{ FAMILY_ALL_ERROR_USER_TEMP_UNAVAILABLE, "User temporarily unavailable" },
{ FAMILY_ALL_ERROR_NO_MATCH, "No match" },
{ FAMILY_ALL_ERROR_LIST_OVERFLOW, "List overflow" },
{ FAMILY_ALL_ERROR_REQUEST_AMBIGUOUS, "Request ambiguous" },
{ FAMILY_ALL_ERROR_SERVER_QUEUE_FULL, "Server queue full" },
{ FAMILY_ALL_ERROR_NOT_WHILE_ON_AOL, "Not while on AOL" },
{ 0, NULL }
};
@ -169,58 +169,58 @@ static const value_string aim_snac_errors[] = {
#define AIM_CLIENT_TLV_FIRST_MESSAGE_SENT 0x0145
const aim_tlv aim_client_tlvs[] = {
{ AIM_CLIENT_TLV_SCREEN_NAME, "Screen name", dissect_aim_tlv_value_string },
{ AIM_CLIENT_TLV_NEW_ROASTED_PASSWORD, "Roasted password array", dissect_aim_tlv_value_bytes },
{ AIM_CLIENT_TLV_OLD_ROASTED_PASSWORD, "Old roasted password array", dissect_aim_tlv_value_bytes },
{ AIM_CLIENT_TLV_CLIENT_ID_STRING, "Client id string (name, version)", dissect_aim_tlv_value_string },
{ AIM_CLIENT_TLV_CLIENT_ID, "Client id number", dissect_aim_tlv_value_uint16 },
{ AIM_CLIENT_TLV_CLIENT_MAJOR_VERSION, "Client major version", dissect_aim_tlv_value_uint16 },
{ AIM_CLIENT_TLV_CLIENT_MINOR_VERSION, "Client minor version", dissect_aim_tlv_value_uint16 },
{ AIM_CLIENT_TLV_CLIENT_LESSER_VERSION, "Client lesser version", dissect_aim_tlv_value_uint16 },
{ AIM_CLIENT_TLV_CLIENT_BUILD_NUMBER, "Client build number", dissect_aim_tlv_value_uint16 },
{ AIM_CLIENT_TLV_PASSWORD_MD5, "Password Hash (MD5)", dissect_aim_tlv_value_bytes },
{ AIM_CLIENT_TLV_CLIENT_DISTRIBUTION_NUM, "Client distribution number", dissect_aim_tlv_value_uint32 },
{ AIM_CLIENT_TLV_CLIENT_LANGUAGE, "Client language", dissect_aim_tlv_value_string },
{ AIM_CLIENT_TLV_CLIENT_COUNTRY, "Client country", dissect_aim_tlv_value_string },
{ AIM_CLIENT_TLV_BOS_SERVER_STRING, "BOS server string", dissect_aim_tlv_value_string },
{ AIM_CLIENT_TLV_AUTH_COOKIE, "Authorization cookie", dissect_aim_tlv_value_bytes },
{ AIM_CLIENT_TLV_ERRORURL, "Error URL", dissect_aim_tlv_value_string },
{ AIM_CLIENT_TLV_ERRORCODE, "Error Code", dissect_aim_tlv_value_uint16 },
{ AIM_CLIENT_TLV_DISCONNECT_REASON, "Disconnect Reason", dissect_aim_tlv_value_uint16 },
{ AIM_CLIENT_TLV_RECONNECT_HOST, "Reconnect Hostname", dissect_aim_tlv_value_string },
{ AIM_CLIENT_TLV_URL, "URL", dissect_aim_tlv_value_string },
{ AIM_CLIENT_TLV_DEBUG_DATA, "Debug Data", dissect_aim_tlv_value_uint16 },
{ AIM_CLIENT_TLV_EMAILADDR, "Account Email address", dissect_aim_tlv_value_string },
{ AIM_CLIENT_TLV_REGSTATUS, "Registration Status", dissect_aim_tlv_value_uint16 },
{ AIM_CLIENT_TLV_LATESTBETABUILD, "Latest Beta Build", dissect_aim_tlv_value_uint32 },
{ AIM_CLIENT_TLV_LATESTBETAURL, "Latest Beta URL", dissect_aim_tlv_value_string },
{ AIM_CLIENT_TLV_LATESTBETAINFO, "Latest Beta Info", dissect_aim_tlv_value_string },
{ AIM_CLIENT_TLV_LATESTBETANAME, "Latest Beta Name", dissect_aim_tlv_value_string },
{ AIM_CLIENT_TLV_LATESTRELEASEBUILD, "Latest Release Build", dissect_aim_tlv_value_uint32 },
{ AIM_CLIENT_TLV_LATESTRELEASEURL, "Latest Release URL", dissect_aim_tlv_value_string },
{ AIM_CLIENT_TLV_LATESTRELEASEINFO, "Latest Release Info", dissect_aim_tlv_value_string },
{ AIM_CLIENT_TLV_LATESTRELEASENAME, "Latest Release Name", dissect_aim_tlv_value_string },
{ AIM_CLIENT_TLV_BETA_DIGEST_SIG, "Beta Digest Signature (MD5)" , dissect_aim_tlv_value_bytes },
{ AIM_CLIENT_TLV_RELEASE_DIGEST_SIG, "Release Digest Signature (MD5)", dissect_aim_tlv_value_bytes },
{ AIM_CLIENT_TLV_CLIENTUSESSI, "Use SSI", dissect_aim_tlv_value_uint8 },
{ AIM_CLIENT_TLV_FAMILY_ID, "Service (SNAC Family) ID", dissect_aim_tlv_value_uint16 },
{ AIM_CLIENT_TLV_CHANGE_PASSWORD_URL, "Change password url", dissect_aim_tlv_value_string },
{ AIM_CLIENT_TLV_AWAITING_AUTH, "Awaiting Authorization", dissect_aim_tlv_value_bytes },
{ AIM_CLIENT_TLV_MEMBERS, "Members of this Group", dissect_aim_tlv_value_bytes },
{ AIM_CLIENT_TLV_VISIBILITY_BITS, "Bitfield", dissect_aim_tlv_value_bytes },
{ AIM_CLIENT_TLV_PRIVACY, "Privacy Settings" , dissect_aim_tlv_value_uint8 },
{ AIM_CLIENT_TLV_VISIBLE_CLASS, "Visible To Classes", dissect_aim_tlv_value_userclass },
{ AIM_CLIENT_TLV_VISIBLE_MISC, "Allow Others to See Data", dissect_aim_tlv_value_bytes },
{ AIM_CLIENT_TLV_ICQ2K_SHORTCUT, "ICQ2K Shortcut List", dissect_aim_tlv_value_string },
{ AIM_CLIENT_TLV_FIRST_LOADED_TIME, "First Time Buddy Was Added (Unix Timestamp)" , dissect_aim_tlv_value_uint32 },
{ AIM_CLIENT_TLV_BUDDY_ICON_MD5SUM, "MD5SUM of Current Buddy Icon", dissect_aim_tlv_value_bytes },
{ AIM_CLIENT_TLV_GIVEN_NAME, "Locally Specified Buddy Name", dissect_aim_tlv_value_string },
{ AIM_CLIENT_TLV_LOCAL_EMAIL, "Locally Specified Buddy Email", dissect_aim_tlv_value_string },
{ AIM_CLIENT_TLV_LOCAL_SMS, "Locally Specified Buddy SMS", dissect_aim_tlv_value_string },
{ AIM_CLIENT_TLV_LOCAL_COMMENT, "Locally Specified Buddy Comment", dissect_aim_tlv_value_string },
{ AIM_CLIENT_TLV_LOCAL_PERSONAL_ALERT, "Personal Alert for Buddy", dissect_aim_tlv_value_uint16 },
{ AIM_CLIENT_TLV_LOCAL_PERSONAL_SOUND, "Personal Sound for Buddy", dissect_aim_tlv_value_string },
{ AIM_CLIENT_TLV_FIRST_MESSAGE_SENT, "First Time Message Sent to Buddy (Unix Timestamp)", dissect_aim_tlv_value_uint32 },
{ AIM_CLIENT_TLV_SCREEN_NAME, "Screen name", dissect_aim_tlv_value_string },
{ AIM_CLIENT_TLV_NEW_ROASTED_PASSWORD, "Roasted password array", dissect_aim_tlv_value_bytes },
{ AIM_CLIENT_TLV_OLD_ROASTED_PASSWORD, "Old roasted password array", dissect_aim_tlv_value_bytes },
{ AIM_CLIENT_TLV_CLIENT_ID_STRING, "Client id string (name, version)", dissect_aim_tlv_value_string },
{ AIM_CLIENT_TLV_CLIENT_ID, "Client id number", dissect_aim_tlv_value_uint16 },
{ AIM_CLIENT_TLV_CLIENT_MAJOR_VERSION, "Client major version", dissect_aim_tlv_value_uint16 },
{ AIM_CLIENT_TLV_CLIENT_MINOR_VERSION, "Client minor version", dissect_aim_tlv_value_uint16 },
{ AIM_CLIENT_TLV_CLIENT_LESSER_VERSION, "Client lesser version", dissect_aim_tlv_value_uint16 },
{ AIM_CLIENT_TLV_CLIENT_BUILD_NUMBER, "Client build number", dissect_aim_tlv_value_uint16 },
{ AIM_CLIENT_TLV_PASSWORD_MD5, "Password Hash (MD5)", dissect_aim_tlv_value_bytes },
{ AIM_CLIENT_TLV_CLIENT_DISTRIBUTION_NUM, "Client distribution number", dissect_aim_tlv_value_uint32 },
{ AIM_CLIENT_TLV_CLIENT_LANGUAGE, "Client language", dissect_aim_tlv_value_string },
{ AIM_CLIENT_TLV_CLIENT_COUNTRY, "Client country", dissect_aim_tlv_value_string },
{ AIM_CLIENT_TLV_BOS_SERVER_STRING, "BOS server string", dissect_aim_tlv_value_string },
{ AIM_CLIENT_TLV_AUTH_COOKIE, "Authorization cookie", dissect_aim_tlv_value_bytes },
{ AIM_CLIENT_TLV_ERRORURL, "Error URL", dissect_aim_tlv_value_string },
{ AIM_CLIENT_TLV_ERRORCODE, "Error Code", dissect_aim_tlv_value_uint16 },
{ AIM_CLIENT_TLV_DISCONNECT_REASON, "Disconnect Reason", dissect_aim_tlv_value_uint16 },
{ AIM_CLIENT_TLV_RECONNECT_HOST, "Reconnect Hostname", dissect_aim_tlv_value_string },
{ AIM_CLIENT_TLV_URL, "URL", dissect_aim_tlv_value_string },
{ AIM_CLIENT_TLV_DEBUG_DATA, "Debug Data", dissect_aim_tlv_value_uint16 },
{ AIM_CLIENT_TLV_EMAILADDR, "Account Email address", dissect_aim_tlv_value_string },
{ AIM_CLIENT_TLV_REGSTATUS, "Registration Status", dissect_aim_tlv_value_uint16 },
{ AIM_CLIENT_TLV_LATESTBETABUILD, "Latest Beta Build", dissect_aim_tlv_value_uint32 },
{ AIM_CLIENT_TLV_LATESTBETAURL, "Latest Beta URL", dissect_aim_tlv_value_string },
{ AIM_CLIENT_TLV_LATESTBETAINFO, "Latest Beta Info", dissect_aim_tlv_value_string },
{ AIM_CLIENT_TLV_LATESTBETANAME, "Latest Beta Name", dissect_aim_tlv_value_string },
{ AIM_CLIENT_TLV_LATESTRELEASEBUILD, "Latest Release Build", dissect_aim_tlv_value_uint32 },
{ AIM_CLIENT_TLV_LATESTRELEASEURL, "Latest Release URL", dissect_aim_tlv_value_string },
{ AIM_CLIENT_TLV_LATESTRELEASEINFO, "Latest Release Info", dissect_aim_tlv_value_string },
{ AIM_CLIENT_TLV_LATESTRELEASENAME, "Latest Release Name", dissect_aim_tlv_value_string },
{ AIM_CLIENT_TLV_BETA_DIGEST_SIG, "Beta Digest Signature (MD5)" , dissect_aim_tlv_value_bytes },
{ AIM_CLIENT_TLV_RELEASE_DIGEST_SIG, "Release Digest Signature (MD5)", dissect_aim_tlv_value_bytes },
{ AIM_CLIENT_TLV_CLIENTUSESSI, "Use SSI", dissect_aim_tlv_value_uint8 },
{ AIM_CLIENT_TLV_FAMILY_ID, "Service (SNAC Family) ID", dissect_aim_tlv_value_uint16 },
{ AIM_CLIENT_TLV_CHANGE_PASSWORD_URL, "Change password url", dissect_aim_tlv_value_string },
{ AIM_CLIENT_TLV_AWAITING_AUTH, "Awaiting Authorization", dissect_aim_tlv_value_bytes },
{ AIM_CLIENT_TLV_MEMBERS, "Members of this Group", dissect_aim_tlv_value_bytes },
{ AIM_CLIENT_TLV_VISIBILITY_BITS, "Bitfield", dissect_aim_tlv_value_bytes },
{ AIM_CLIENT_TLV_PRIVACY, "Privacy Settings" , dissect_aim_tlv_value_uint8 },
{ AIM_CLIENT_TLV_VISIBLE_CLASS, "Visible To Classes", dissect_aim_tlv_value_userclass },
{ AIM_CLIENT_TLV_VISIBLE_MISC, "Allow Others to See Data", dissect_aim_tlv_value_bytes },
{ AIM_CLIENT_TLV_ICQ2K_SHORTCUT, "ICQ2K Shortcut List", dissect_aim_tlv_value_string },
{ AIM_CLIENT_TLV_FIRST_LOADED_TIME, "First Time Buddy Was Added (Unix Timestamp)" , dissect_aim_tlv_value_uint32 },
{ AIM_CLIENT_TLV_BUDDY_ICON_MD5SUM, "MD5SUM of Current Buddy Icon", dissect_aim_tlv_value_bytes },
{ AIM_CLIENT_TLV_GIVEN_NAME, "Locally Specified Buddy Name", dissect_aim_tlv_value_string },
{ AIM_CLIENT_TLV_LOCAL_EMAIL, "Locally Specified Buddy Email", dissect_aim_tlv_value_string },
{ AIM_CLIENT_TLV_LOCAL_SMS, "Locally Specified Buddy SMS", dissect_aim_tlv_value_string },
{ AIM_CLIENT_TLV_LOCAL_COMMENT, "Locally Specified Buddy Comment", dissect_aim_tlv_value_string },
{ AIM_CLIENT_TLV_LOCAL_PERSONAL_ALERT, "Personal Alert for Buddy", dissect_aim_tlv_value_uint16 },
{ AIM_CLIENT_TLV_LOCAL_PERSONAL_SOUND, "Personal Sound for Buddy", dissect_aim_tlv_value_string },
{ AIM_CLIENT_TLV_FIRST_MESSAGE_SENT, "First Time Message Sent to Buddy (Unix Timestamp)", dissect_aim_tlv_value_uint32 },
{ 0, NULL, NULL }
};
@ -250,25 +250,25 @@ static int dissect_aim_tlv_value_client_short_capabilities(proto_item *ti, guint
#define AIM_ONLINEBUDDY_GEOCOUNTRY 0x002a
const aim_tlv aim_onlinebuddy_tlvs[] = {
{ AIM_ONLINEBUDDY_USERCLASS, "User class", dissect_aim_tlv_value_userclass },
{ AIM_ONLINEBUDDY_ONSINCE, "Online since", dissect_aim_tlv_value_uint32 },
{ AIM_ONLINEBUDDY_IDLETIME, "Idle time (sec)", dissect_aim_tlv_value_uint16 },
{ AIM_ONLINEBUDDY_MEMBERSINCE, "Member since", dissect_aim_tlv_value_time },
{ AIM_ONLINEBUDDY_STATUS, "Online status", dissect_aim_tlv_value_userstatus },
{ AIM_ONLINEBUDDY_IPADDR, "User IP Address", dissect_aim_tlv_value_ipv4 },
{ AIM_ONLINEBUDDY_DCINFO, "DC Info", dissect_aim_tlv_value_dcinfo},
{ AIM_ONLINEBUDDY_CAPINFO, "Capability Info", dissect_aim_tlv_value_client_capabilities },
{ AIM_ONLINEBUDDY_TIMEUPDATE, "Time update", dissect_aim_tlv_value_bytes },
{ AIM_ONLINEBUDDY_SESSIONLEN, "Session Length (sec)", dissect_aim_tlv_value_uint32 },
{ AIM_ONLINEBUDDY_USERCLASS, "User class", dissect_aim_tlv_value_userclass },
{ AIM_ONLINEBUDDY_ONSINCE, "Online since", dissect_aim_tlv_value_uint32 },
{ AIM_ONLINEBUDDY_IDLETIME, "Idle time (sec)", dissect_aim_tlv_value_uint16 },
{ AIM_ONLINEBUDDY_MEMBERSINCE, "Member since", dissect_aim_tlv_value_time },
{ AIM_ONLINEBUDDY_STATUS, "Online status", dissect_aim_tlv_value_userstatus },
{ AIM_ONLINEBUDDY_IPADDR, "User IP Address", dissect_aim_tlv_value_ipv4 },
{ AIM_ONLINEBUDDY_DCINFO, "DC Info", dissect_aim_tlv_value_dcinfo},
{ AIM_ONLINEBUDDY_CAPINFO, "Capability Info", dissect_aim_tlv_value_client_capabilities },
{ AIM_ONLINEBUDDY_TIMEUPDATE, "Time update", dissect_aim_tlv_value_bytes },
{ AIM_ONLINEBUDDY_SESSIONLEN, "Session Length (sec)", dissect_aim_tlv_value_uint32 },
{ AIM_ONLINEBUDDY_ICQSESSIONLEN, "ICQ Session Length (sec)", dissect_aim_tlv_value_uint32 },
{ AIM_ONLINEBUDDY_MYINSTANCENUM, "Client instance number", dissect_aim_tlv_value_uint8 },
{ AIM_ONLINEBUDDY_SHORTCAPS, "Short Capabilities", dissect_aim_tlv_value_client_short_capabilities },
{ AIM_ONLINEBUDDY_BARTINFO, "BART Info", dissect_aim_tlv_value_bytes },
{ AIM_ONLINEBUDDY_NICKFLAGS2, "Upper bytes of Nick Flags", dissect_aim_tlv_value_bytes },
{ AIM_ONLINEBUDDY_SHORTCAPS, "Short Capabilities", dissect_aim_tlv_value_client_short_capabilities },
{ AIM_ONLINEBUDDY_BARTINFO, "BART Info", dissect_aim_tlv_value_bytes },
{ AIM_ONLINEBUDDY_NICKFLAGS2, "Upper bytes of Nick Flags", dissect_aim_tlv_value_bytes },
{ AIM_ONLINEBUDDY_BUDDYFEEDTIME, "Last Buddy Feed update", dissect_aim_tlv_value_time },
{ AIM_ONLINEBUDDY_SIGTIME, "Profile set time", dissect_aim_tlv_value_time },
{ AIM_ONLINEBUDDY_AWAYTIME, "Away set time", dissect_aim_tlv_value_time },
{ AIM_ONLINEBUDDY_GEOCOUNTRY, "Country code", dissect_aim_tlv_value_string },
{ AIM_ONLINEBUDDY_SIGTIME, "Profile set time", dissect_aim_tlv_value_time },
{ AIM_ONLINEBUDDY_AWAYTIME, "Away set time", dissect_aim_tlv_value_time },
{ AIM_ONLINEBUDDY_GEOCOUNTRY, "Country code", dissect_aim_tlv_value_string },
{ 0, NULL, NULL }
};
@ -279,10 +279,10 @@ const aim_tlv aim_onlinebuddy_tlvs[] = {
#define DC_IMPOSSIBLE 0x0004
static const value_string dc_types[] = {
{ DC_DISABLED, "DC disabled" },
{ DC_HTTPS, "DC thru firewall or HTTPS proxy" },
{ DC_SOCKS, "DC thru SOCKS proxy" },
{ DC_NORMAL, "Regular connection" },
{ DC_DISABLED, "DC disabled" },
{ DC_HTTPS, "DC thru firewall or HTTPS proxy" },
{ DC_SOCKS, "DC thru SOCKS proxy" },
{ DC_NORMAL, "Regular connection" },
{ DC_IMPOSSIBLE, "DC not possible " },
{ 0, NULL },
};
@ -295,10 +295,10 @@ static const value_string dc_types[] = {
#define PROTO_VERSION_ICQ2K3B 0x000A
static const value_string protocol_versions[] = {
{ PROTO_VERSION_ICQ98, "ICQ '98" },
{ PROTO_VERSION_ICQ99, "ICQ '99" },
{ PROTO_VERSION_ICQ2K, "ICQ 2000" },
{ PROTO_VERSION_ICQ2K1, "ICQ 2001" },
{ PROTO_VERSION_ICQ98, "ICQ '98" },
{ PROTO_VERSION_ICQ99, "ICQ '99" },
{ PROTO_VERSION_ICQ2K, "ICQ 2000" },
{ PROTO_VERSION_ICQ2K1, "ICQ 2001" },
{ PROTO_VERSION_ICQLITE, "ICQ Lite" },
{ PROTO_VERSION_ICQ2K3B, "ICQ 2003B" },
{ 0, NULL },
@ -344,11 +344,11 @@ static const aim_tlv aim_fnac_tlvs[] = {
{ 0, NULL, NULL }
};
#define SSI_OP_RESULT_SUCCESS 0
#define SSI_OP_RESULT_DB_ERROR 1
#define SSI_OP_RESULT_NOT_FOUND 2
#define SSI_OP_RESULT_ALREADY_EXISTS 3
#define SSI_OP_RESULT_UNAVAILABLE 5
#define SSI_OP_RESULT_SUCCESS 0
#define SSI_OP_RESULT_DB_ERROR 1
#define SSI_OP_RESULT_NOT_FOUND 2
#define SSI_OP_RESULT_ALREADY_EXISTS 3
#define SSI_OP_RESULT_UNAVAILABLE 5
#define SSI_OP_RESULT_BAD_REQUEST 10
#define SSI_OP_RESULT_DB_TIME_OUT 11
#define SSI_OP_RESULT_OVER_ROW_LIMIT 12
@ -360,20 +360,20 @@ static const aim_tlv aim_fnac_tlvs[] = {
#define SSI_OP_RESULT_TIMEOUT 26
static const value_string aim_ssi_result_codes[] = {
{ SSI_OP_RESULT_SUCCESS, "Success" },
{ SSI_OP_RESULT_DB_ERROR, "Some kind of database error" },
{ SSI_OP_RESULT_NOT_FOUND, "Item was not found for an update or delete" },
{ SSI_OP_RESULT_ALREADY_EXISTS, "Item already exists for an insert" },
{ SSI_OP_RESULT_UNAVAILABLE, "Server or database is not available" },
{ SSI_OP_RESULT_BAD_REQUEST, "Request was not formed well" },
{ SSI_OP_RESULT_DB_TIME_OUT, "Database timed out" },
{ SSI_OP_RESULT_OVER_ROW_LIMIT, "Too many items of this class for an insert" },
{ SSI_OP_RESULT_NOT_EXECUTED, "Not executed due to other error in same request" },
{ SSI_OP_RESULT_AUTH_REQUIRED, "Buddy List authorization required" },
{ SSI_OP_RESULT_BAD_LOGINID, "Bad loginId" },
{ SSI_OP_RESULT_OVER_BUDDY_LIMIT, "Too many buddies" },
{ SSI_OP_RESULT_SUCCESS, "Success" },
{ SSI_OP_RESULT_DB_ERROR, "Some kind of database error" },
{ SSI_OP_RESULT_NOT_FOUND, "Item was not found for an update or delete" },
{ SSI_OP_RESULT_ALREADY_EXISTS, "Item already exists for an insert" },
{ SSI_OP_RESULT_UNAVAILABLE, "Server or database is not available" },
{ SSI_OP_RESULT_BAD_REQUEST, "Request was not formed well" },
{ SSI_OP_RESULT_DB_TIME_OUT, "Database timed out" },
{ SSI_OP_RESULT_OVER_ROW_LIMIT, "Too many items of this class for an insert" },
{ SSI_OP_RESULT_NOT_EXECUTED, "Not executed due to other error in same request" },
{ SSI_OP_RESULT_AUTH_REQUIRED, "Buddy List authorization required" },
{ SSI_OP_RESULT_BAD_LOGINID, "Bad loginId" },
{ SSI_OP_RESULT_OVER_BUDDY_LIMIT, "Too many buddies" },
{ SSI_OP_RESULT_INSERT_SMART_GROUP, "Attempt to added a Buddy to a smart group" },
{ SSI_OP_RESULT_TIMEOUT, "General timeout" },
{ SSI_OP_RESULT_TIMEOUT, "General timeout" },
{ 0, NULL }
};
@ -1041,7 +1041,7 @@ dissect_aim_tlv_value_client_capabilities(proto_item *ti _U_, guint16 valueid _U
entry = proto_item_add_subtree(ti, ett_aim_nickinfo_caps);
while (tvb_reported_length_remaining(tvb, offset) > 0) {
while (tvb_reported_length_remaining(tvb, offset) > 0) {
offset = dissect_aim_capability(entry, tvb, offset);
}
@ -1058,7 +1058,7 @@ dissect_aim_tlv_value_client_short_capabilities(proto_item *ti _U_, guint16 valu
entry = proto_item_add_subtree(ti, ett_aim_nickinfo_short_caps);
while (tvb_reported_length_remaining(tvb, offset) > 0) {
while (tvb_reported_length_remaining(tvb, offset) > 0) {
offset = dissect_aim_short_capability(entry, tvb, offset);
}
@ -1124,7 +1124,7 @@ dissect_aim_tlv_value_dcinfo(proto_item *ti, guint16 valueid _U_, tvbuff_t *tvb,
proto_tree *dctree = proto_item_add_subtree(ti, ett_aim_dcinfo);
proto_tree_add_item(dctree, hf_aim_dcinfo_ip , tvb, offset, 4, ENC_BIG_ENDIAN); offset+=4;
proto_tree_add_item(dctree, hf_aim_dcinfo_ip , tvb, offset, 4, ENC_BIG_ENDIAN); offset+=4;
proto_tree_add_item(dctree, hf_aim_dcinfo_tcpport, tvb, offset, 4, ENC_BIG_ENDIAN); offset+=4;
proto_tree_add_item(dctree, hf_aim_dcinfo_type, tvb, offset, 1, ENC_BIG_ENDIAN); offset+=1;
proto_tree_add_item(dctree, hf_aim_dcinfo_proto_version, tvb, offset, 2, ENC_BIG_ENDIAN); offset+=2;
@ -1723,3 +1723,16 @@ proto_reg_handoff_aim(void)
aim_handle = new_create_dissector_handle(dissect_aim, proto_aim);
dissector_add_uint("tcp.port", TCP_PORT_AIM, aim_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

@ -149,6 +149,7 @@ static gboolean cmpp_desegment = TRUE;
#define CMPP_PUSH_MT_ROUTE_UPDATE_RESP 0x80000015
#define CMPP_PUSH_MO_ROUTE_UPDATE_RESP 0x80000016
#define CMPP_GET_MO_ROUTE_RESP 0x80000017
static const value_string vals_command_Id[] = { /* Operation */
{ CMPP_CONNECT, "CMPP_CONNECT" },
{ CMPP_CONNECT_RESP, "CMPP_CONNECT_RESP" },
@ -983,3 +984,16 @@ proto_reg_handoff_cmpp(void)
dissector_add_uint("tcp.port", CMPP_ISMG_LONG_PORT, cmpp_handle);
dissector_add_uint("tcp.port", CMPP_ISMG_SHORT_PORT, cmpp_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

@ -699,7 +699,7 @@ dissect_collectd_part_values (tvbuff_t *tvb, packet_info *pinfo, gint offset,
if (values_count != corrected_values_count)
{
pt = proto_tree_add_subtree_format(tree_root, tvb, offset, length,
ett_collectd_part_value, NULL,
ett_collectd_part_value, NULL,
"collectd %s segment: %d (%d) value%s <BAD>",
val_to_str_const (type, part_names, "UNKNOWN"),
values_count, corrected_values_count,
@ -708,7 +708,7 @@ dissect_collectd_part_values (tvbuff_t *tvb, packet_info *pinfo, gint offset,
else
{
pt = proto_tree_add_subtree_format(tree_root, tvb, offset, length,
ett_collectd_part_value, NULL,
ett_collectd_part_value, NULL,
"collectd %s segment: %d value%s",
val_to_str_const (type, part_names, "UNKNOWN"),
values_count,
@ -1523,3 +1523,16 @@ void proto_reg_handoff_collectd (void)
first_run = FALSE;
} /* void proto_reg_handoff_collectd */
/*
* 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

@ -265,9 +265,9 @@ static int dissect_control_get_recmaster_reply(packet_info *pinfo, proto_tree *t
}
static const value_string recmode_vals[] = {
{0,"NORMAL"},
{1,"RECOVERY ACTIVE"},
{0,NULL}
{0, "NORMAL"},
{1, "RECOVERY ACTIVE"},
{0, NULL}
};
static int dissect_control_get_recmode_reply(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset, guint32 status, int endianess _U_)
@ -336,8 +336,8 @@ static int dissect_control_process_exist_request(packet_info *pinfo, proto_tree
}
static const true_false_string process_exists_tfs = {
"Process does NOT exist",
"Process Exists"
"Process does NOT exist",
"Process Exists"
};
static int dissect_control_process_exist_reply(packet_info *pinfo _U_, proto_tree *tree, tvbuff_t *tvb, int offset, guint32 status, int endianess _U_)
@ -1249,3 +1249,16 @@ proto_reg_handoff_ctdb(void)
heur_dissector_add("tcp", dissect_ctdb, proto_ctdb);
}
/*
* 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

@ -1957,3 +1957,16 @@ void dcerpc_smb_init(int proto_dcerpc)
expert_register_field_array(expert_dcerpc_nt, ei, array_length(ei));
register_init_routine(&init_pol_hash);
}
/*
* 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

@ -8567,3 +8567,16 @@ proto_reg_handoff_dcerpc_spoolss(void)
&uuid_dcerpc_spoolss, ver_dcerpc_spoolss,
dcerpc_spoolss_dissectors, hf_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:
*/

File diff suppressed because it is too large Load Diff

View File

@ -2463,7 +2463,7 @@ proto_register_dcom (void)
proto_register_field_array(proto_dcom, hf_dcom_sa_array, array_length(hf_dcom_sa_array));
proto_register_subtree_array (ett_dcom, array_length (ett_dcom));
expert_dcom = expert_register_protocol(proto_dcom);
expert_dcom = expert_register_protocol(proto_dcom);
expert_register_field_array(expert_dcom, ei, array_length(ei));
/* preferences */
@ -2492,3 +2492,16 @@ proto_reg_handoff_dcom (void)
/* Currently, we have nothing to register for DCOM */
}
/*
* 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

@ -277,9 +277,9 @@ static gint ett_edp_null = -1;
#define PROTO_LONG_NAME "Extreme Discovery Protocol"
static const value_string extreme_pid_vals[] = {
{ 0x00bb, "EDP" },
{ 0x00bb, "EDP" },
{ 0, NULL }
{ 0, NULL }
};
static const value_string esrp_proto_vals[] = {
@ -965,7 +965,7 @@ dissect_edp(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree)
guint16 tlv_length;
guint16 data_length;
guint16 seqno;
vec_t cksum_vec[1];
vec_t cksum_vec[1];
col_set_str(pinfo->cinfo, COL_PROTOCOL, PROTO_SHORT_NAME);
col_set_str(pinfo->cinfo, COL_INFO, PROTO_SHORT_NAME ":");
@ -1450,7 +1450,7 @@ proto_register_edp(void)
{ &hf_edp_null,
{ "End", "edp.null", FT_PROTOCOL, BASE_NONE, NULL,
0x0, "Last element", HFILL }},
};
};
static gint *ett[] = {
&ett_edp,
&ett_edp_checksum,
@ -1495,11 +1495,24 @@ void
proto_register_extreme_oui(void)
{
static hf_register_info hf[] = {
{ &hf_llc_extreme_pid,
{ "PID", "llc.extreme_pid", FT_UINT16, BASE_HEX,
VALS(extreme_pid_vals), 0x0, NULL, HFILL }
}
{ &hf_llc_extreme_pid,
{ "PID", "llc.extreme_pid", FT_UINT16, BASE_HEX,
VALS(extreme_pid_vals), 0x0, NULL, HFILL }
}
};
llc_add_oui(OUI_EXTREME, "llc.extreme_pid", "LLC Extreme OUI PID", hf);
}
/*
* 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

@ -1781,3 +1781,16 @@ proto_reg_handoff_ged125(void)
old_ged125_tcp_port = global_tcp_port_ged125;
}
/*
* 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

@ -1761,7 +1761,7 @@ static const gmr1_msg_func_t gmr1_msg_rr_func[NUM_GMR1_MSG_RR] = {
void
gmr1_get_msg_rr_params(guint8 oct, int dcch, const gchar **msg_str,
int *ett_tree, int *hf_idx, gmr1_msg_func_t *msg_func_p)
int *ett_tree, int *hf_idx, gmr1_msg_func_t *msg_func_p)
{
const gchar *m = NULL;
gint idx;
@ -2468,3 +2468,16 @@ proto_reg_handoff_gmr1_rr(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

@ -2401,3 +2401,16 @@ proto_reg_handoff_abis_oml(void)
sub_om2000 = find_dissector("gsm_abis_om2000");
}
/*
* 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

@ -85,15 +85,15 @@ static gint ett_h263_optype = -1;
const value_string h263_srcformat_vals[] =
{
{ H263_SRCFORMAT_FORB, "forbidden" },
{ H263_SRCFORMAT_SQCIF, "sub-QCIF 128x96" },
{ H263_SRCFORMAT_QCIF, "QCIF 176x144" },
{ H263_SRCFORMAT_CIF, "CIF 352x288" },
{ H263_SRCFORMAT_4CIF, "4CIF 704x576" },
{ H263_SRCFORMAT_16CIF, "16CIF 1408x1152" },
{ 6, "Reserved",},
{ H263_PLUSPTYPE, "extended PTYPE" },
{ 0, NULL },
{ H263_SRCFORMAT_FORB, "forbidden" },
{ H263_SRCFORMAT_SQCIF, "sub-QCIF 128x96" },
{ H263_SRCFORMAT_QCIF, "QCIF 176x144" },
{ H263_SRCFORMAT_CIF, "CIF 352x288" },
{ H263_SRCFORMAT_4CIF, "4CIF 704x576" },
{ H263_SRCFORMAT_16CIF, "16CIF 1408x1152" },
{ 6, "Reserved",},
{ H263_PLUSPTYPE, "extended PTYPE" },
{ 0, NULL },
};
/*
@ -103,67 +103,67 @@ const value_string h263_srcformat_vals[] =
*/
static const value_string ext_srcformat_vals[] =
{
{ 0, "reserved" },
{ H263_SRCFORMAT_SQCIF, "sub-QCIF 128x96" },
{ H263_SRCFORMAT_QCIF, "QCIF 176x144" },
{ H263_SRCFORMAT_CIF, "CIF 352x288" },
{ H263_SRCFORMAT_4CIF, "4CIF 704x576" },
{ H263_SRCFORMAT_16CIF, "16CIF 1408x1152" },
{ 6, "Custom source format",},
{ 7, "Reserved" },
{ 0, NULL },
{ 0, "reserved" },
{ H263_SRCFORMAT_SQCIF, "sub-QCIF 128x96" },
{ H263_SRCFORMAT_QCIF, "QCIF 176x144" },
{ H263_SRCFORMAT_CIF, "CIF 352x288" },
{ H263_SRCFORMAT_4CIF, "4CIF 704x576" },
{ H263_SRCFORMAT_16CIF, "16CIF 1408x1152" },
{ 6, "Custom source format",},
{ 7, "Reserved" },
{ 0, NULL },
};
static const value_string h263_ufep_vals[] =
{
{ 0, "Only MPPTYPE included" },
{ 1, "All extended PTYPE fields are included" },
{ 0, NULL },
{ 0, "Only MPPTYPE included" },
{ 1, "All extended PTYPE fields are included" },
{ 0, NULL },
};
static const true_false_string on_off_flg = {
"On",
"Off"
"On",
"Off"
};
static const true_false_string picture_coding_type_flg = {
"INTER (P-picture)",
"INTRA (I-picture)"
"INTER (P-picture)",
"INTRA (I-picture)"
};
static const value_string picture_coding_type_vals[] =
{
{ 0, "I-Frame" },
{ 1, "P-frame" },
{ 0, NULL },
{ 0, "I-Frame" },
{ 1, "P-frame" },
{ 0, NULL },
};
static const true_false_string PB_frames_mode_flg = {
"PB-frame",
"Normal I- or P-picture"
"PB-frame",
"Normal I- or P-picture"
};
static const true_false_string cpm_flg = {
"On",
"Off"
"On",
"Off"
};
static const true_false_string custom_pcf_flg = {
"Custom PCF",
"CIF PCF"
"Custom PCF",
"CIF PCF"
};
/* Bits 1-3 Picture Type Code:*/
static const value_string picture_type_code_vals[] =
{
{ 0, "I-picture (INTRA)" },
{ 1, "P-picture (INTER)" },
{ 2, "Improved PB-frame (see Annex M)" },
{ 3, "B-picture (see Annex O)" },
{ 4, "EI-picture (see Annex O)" },
{ 5, "EP-picture (see Annex O)" },
{ 6, "Reserved" },
{ 7, "Reserved" },
{ 0, NULL },
{ 0, "I-picture (INTRA)" },
{ 1, "P-picture (INTER)" },
{ 2, "Improved PB-frame (see Annex M)" },
{ 3, "B-picture (see Annex O)" },
{ 4, "EI-picture (see Annex O)" },
{ 5, "EP-picture (see Annex O)" },
{ 6, "Reserved" },
{ 7, "Reserved" },
{ 0, NULL },
};
@ -1011,16 +1011,29 @@ proto_register_h263_data(void)
},
};
static gint *ett[] =
static gint *ett[] =
{
&ett_h263_payload,
&ett_h263_optype,
&ett_h263_payload,
&ett_h263_optype,
};
proto_register_subtree_array(ett, array_length(ett));
proto_register_subtree_array(ett, array_length(ett));
proto_h263_data = proto_register_protocol("ITU-T Recommendation H.263",
"H.263", "h263");
proto_register_field_array(proto_h263_data, hf, array_length(hf));
register_dissector("h263data", dissect_h263_data, proto_h263_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

@ -176,16 +176,16 @@ static expert_field ei_icmp_resp_not_found = EI_INIT;
#define ICMP_PHOTURIS 40
/* ICMP UNREACHABLE */
#define ICMP_NET_UNREACH 0 /* Network Unreachable */
#define ICMP_HOST_UNREACH 1 /* Host Unreachable */
#define ICMP_PROT_UNREACH 2 /* Protocol Unreachable */
#define ICMP_PORT_UNREACH 3 /* Port Unreachable */
#define ICMP_FRAG_NEEDED 4 /* Fragmentation Needed/DF set */
#define ICMP_SR_FAILED 5 /* Source Route failed */
#define ICMP_NET_UNKNOWN 6
#define ICMP_HOST_UNKNOWN 7
#define ICMP_HOST_ISOLATED 8
#define ICMP_NET_ANO 9
#define ICMP_NET_UNREACH 0 /* Network Unreachable */
#define ICMP_HOST_UNREACH 1 /* Host Unreachable */
#define ICMP_PROT_UNREACH 2 /* Protocol Unreachable */
#define ICMP_PORT_UNREACH 3 /* Port Unreachable */
#define ICMP_FRAG_NEEDED 4 /* Fragmentation Needed/DF set */
#define ICMP_SR_FAILED 5 /* Source Route failed */
#define ICMP_NET_UNKNOWN 6
#define ICMP_HOST_UNKNOWN 7
#define ICMP_HOST_ISOLATED 8
#define ICMP_NET_ANO 9
#define ICMP_HOST_ANO 10
#define ICMP_NET_UNR_TOS 11
#define ICMP_HOST_UNR_TOS 12
@ -193,7 +193,7 @@ static expert_field ei_icmp_resp_not_found = EI_INIT;
#define ICMP_PREC_VIOLATION 14 /* Precedence violation */
#define ICMP_PREC_CUTOFF 15 /* Precedence cut off */
#define ICMP_MIP_EXTENSION_PAD 0
#define ICMP_MIP_EXTENSION_PAD 0
#define ICMP_MIP_MOB_AGENT_ADV 16
#define ICMP_MIP_PREFIX_LENGTHS 19
#define ICMP_MIP_CHALLENGE 24
@ -202,57 +202,57 @@ static dissector_handle_t ip_handle;
static dissector_handle_t data_handle;
static const value_string icmp_type_str[] = {
{ICMP_ECHOREPLY, "Echo (ping) reply"},
{1, "Reserved"},
{2, "Reserved"},
{ICMP_UNREACH, "Destination unreachable"},
{ICMP_ECHOREPLY, "Echo (ping) reply"},
{1, "Reserved"},
{2, "Reserved"},
{ICMP_UNREACH, "Destination unreachable"},
{ICMP_SOURCEQUENCH, "Source quench (flow control)"},
{ICMP_REDIRECT, "Redirect"},
{ICMP_ALTHOST, "Alternate host address"},
{ICMP_ECHO, "Echo (ping) request"},
{ICMP_RTRADVERT, "Router advertisement"},
{ICMP_RTRSOLICIT, "Router solicitation"},
{ICMP_TIMXCEED, "Time-to-live exceeded"},
{ICMP_PARAMPROB, "Parameter problem"},
{ICMP_TSTAMP, "Timestamp request"},
{ICMP_TSTAMPREPLY, "Timestamp reply"},
{ICMP_IREQ, "Information request"},
{ICMP_IREQREPLY, "Information reply"},
{ICMP_MASKREQ, "Address mask request"},
{ICMP_MASKREPLY, "Address mask reply"},
{19, "Reserved (for security)"},
{30, "Traceroute"},
{31, "Datagram Conversion Error"},
{32, "Mobile Host Redirect"},
{33, "IPv6 Where-Are-You"},
{34, "IPv6 I-Am-Here"},
{35, "Mobile Registration Request"},
{36, "Mobile Registration Reply"},
{37, "Domain Name Request"},
{38, "Domain Name Reply"},
{39, "SKIP"},
{ICMP_PHOTURIS, "Photuris"},
{41, "Experimental mobility protocols"},
{ICMP_REDIRECT, "Redirect"},
{ICMP_ALTHOST, "Alternate host address"},
{ICMP_ECHO, "Echo (ping) request"},
{ICMP_RTRADVERT, "Router advertisement"},
{ICMP_RTRSOLICIT, "Router solicitation"},
{ICMP_TIMXCEED, "Time-to-live exceeded"},
{ICMP_PARAMPROB, "Parameter problem"},
{ICMP_TSTAMP, "Timestamp request"},
{ICMP_TSTAMPREPLY, "Timestamp reply"},
{ICMP_IREQ, "Information request"},
{ICMP_IREQREPLY, "Information reply"},
{ICMP_MASKREQ, "Address mask request"},
{ICMP_MASKREPLY, "Address mask reply"},
{19, "Reserved (for security)"},
{30, "Traceroute"},
{31, "Datagram Conversion Error"},
{32, "Mobile Host Redirect"},
{33, "IPv6 Where-Are-You"},
{34, "IPv6 I-Am-Here"},
{35, "Mobile Registration Request"},
{36, "Mobile Registration Reply"},
{37, "Domain Name Request"},
{38, "Domain Name Reply"},
{39, "SKIP"},
{ICMP_PHOTURIS, "Photuris"},
{41, "Experimental mobility protocols"},
{0, NULL}
};
static const value_string unreach_code_str[] = {
{ICMP_NET_UNREACH, "Network unreachable"},
{ICMP_HOST_UNREACH, "Host unreachable"},
{ICMP_PROT_UNREACH, "Protocol unreachable"},
{ICMP_PORT_UNREACH, "Port unreachable"},
{ICMP_FRAG_NEEDED, "Fragmentation needed"},
{ICMP_SR_FAILED, "Source route failed"},
{ICMP_NET_UNKNOWN, "Destination network unknown"},
{ICMP_HOST_UNKNOWN, "Destination host unknown"},
{ICMP_HOST_ISOLATED, "Source host isolated"},
{ICMP_NET_ANO, "Network administratively prohibited"},
{ICMP_HOST_ANO, "Host administratively prohibited"},
{ICMP_NET_UNR_TOS, "Network unreachable for TOS"},
{ICMP_HOST_UNR_TOS, "Host unreachable for TOS"},
{ICMP_PKT_FILTERED, "Communication administratively filtered"},
{ICMP_NET_UNREACH, "Network unreachable"},
{ICMP_HOST_UNREACH, "Host unreachable"},
{ICMP_PROT_UNREACH, "Protocol unreachable"},
{ICMP_PORT_UNREACH, "Port unreachable"},
{ICMP_FRAG_NEEDED, "Fragmentation needed"},
{ICMP_SR_FAILED, "Source route failed"},
{ICMP_NET_UNKNOWN, "Destination network unknown"},
{ICMP_HOST_UNKNOWN, "Destination host unknown"},
{ICMP_HOST_ISOLATED, "Source host isolated"},
{ICMP_NET_ANO, "Network administratively prohibited"},
{ICMP_HOST_ANO, "Host administratively prohibited"},
{ICMP_NET_UNR_TOS, "Network unreachable for TOS"},
{ICMP_HOST_UNR_TOS, "Host unreachable for TOS"},
{ICMP_PKT_FILTERED, "Communication administratively filtered"},
{ICMP_PREC_VIOLATION, "Host precedence violation"},
{ICMP_PREC_CUTOFF, "Precedence cutoff in effect"},
{ICMP_PREC_CUTOFF, "Precedence cutoff in effect"},
{0, NULL}
};
@ -270,7 +270,7 @@ static const value_string alt_host_code_str[] = {
};
static const value_string rtradvert_code_str[] = {
{0, "Normal router advertisement"},
{ 0, "Normal router advertisement"},
{16, "Does not route common traffic"},
{0, NULL}
};
@ -299,11 +299,11 @@ static const value_string photuris_code_str[] = {
};
static const value_string mip_extensions[] = {
{ICMP_MIP_EXTENSION_PAD, "One byte padding extension"}, /* RFC 2002 */
{ICMP_MIP_MOB_AGENT_ADV, "Mobility Agent Advertisement Extension"},
{ICMP_MIP_EXTENSION_PAD, "One byte padding extension"}, /* RFC 2002 */
{ICMP_MIP_MOB_AGENT_ADV, "Mobility Agent Advertisement Extension"},
/* RFC 2002 */
{ICMP_MIP_PREFIX_LENGTHS, "Prefix Lengths Extension"}, /* RFC 2002 */
{ICMP_MIP_CHALLENGE, "Challenge Extension"}, /* RFC 3012 */
{ICMP_MIP_PREFIX_LENGTHS, "Prefix Lengths Extension"}, /* RFC 2002 */
{ICMP_MIP_CHALLENGE, "Challenge Extension"}, /* RFC 3012 */
{0, NULL}
};
@ -312,8 +312,7 @@ static const value_string mip_extensions[] = {
*/
static const value_string interface_role_str[] = {
{0, "IP interface upon which datagram arrived"},
{1,
"sub-IP component of an IP interface upon which datagram arrived"},
{1, "sub-IP component of an IP interface upon which datagram arrived"},
{2, "IP interface through which datagram would be forwarded"},
{3, "IP next-hop to which datagram would be forwarded"},
{0, NULL}
@ -326,13 +325,13 @@ static const value_string interface_role_str[] = {
#define INT_INFO_NAME 0x02
#define INT_INFO_MTU 0x01
#define INTERFACE_INFORMATION_OBJECT_CLASS 2
#define INTERFACE_INFORMATION_OBJECT_CLASS 2
#define MPLS_STACK_ENTRY_OBJECT_CLASS 1
#define MPLS_EXTENDED_PAYLOAD_OBJECT_CLASS 0
#define MPLS_STACK_ENTRY_OBJECT_CLASS 1
#define MPLS_EXTENDED_PAYLOAD_OBJECT_CLASS 0
#define MPLS_STACK_ENTRY_C_TYPE 1
#define MPLS_EXTENDED_PAYLOAD_C_TYPE 1
#define MPLS_STACK_ENTRY_C_TYPE 1
#define MPLS_EXTENDED_PAYLOAD_C_TYPE 1
#define INET6_ADDRLEN 16
@ -2016,3 +2015,16 @@ void proto_reg_handoff_icmp(void)
dissector_add_uint("ip.proto", IP_PROTO_ICMP, icmp_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

@ -1077,3 +1077,16 @@ proto_reg_handoff_ipdc(void)
last_ipdc_port_pref = ipdc_port_pref;
dissector_add_uint("tcp.port", ipdc_port_pref, ipdc_tcp_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

@ -114,9 +114,9 @@ static gboolean user_mode = FALSE; /* selected user mode ins
/* ismacryp Parameter Types */
/*static const value_string parametertypenames[] = {}; */
static const value_string modetypenames[] = {
{ AAC_HBR_MODE, "aac-hbr" },
{ AAC_HBR_MODE, "aac-hbr" },
{ MPEG4_VIDEO_MODE, "mpeg4-video" },
{ AVC_VIDEO_MODE, "avc-video" },
{ AVC_VIDEO_MODE, "avc-video" },
{ 0, NULL}
};
/* The following hf_* variables are used to hold the Wireshark IDs of
@ -1033,3 +1033,16 @@ void proto_reg_handoff_ismacryp(void)
}
}
/*
* 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

@ -239,9 +239,9 @@ static const value_string linx_long_rlnh_names[]={
};
static const value_string linx_rlnh_reply[] = {
{ 0, "Version supported"},
{ 1, "Version NOT supported"},
{ 0, NULL}
{ 0, "Version supported"},
{ 1, "Version NOT supported"},
{ 0, NULL}
};
static const value_string linx_boolean[] = {
@ -392,7 +392,7 @@ dissect_linx(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree)
: dst hw addr followed by src hw addr :
: :
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
: :
: :
: Feature negotiation string (null terminated) :
: :
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
@ -1044,3 +1044,16 @@ proto_reg_handoff_linx_tcp(void)
linx_tcp_handle = create_dissector_handle(dissect_linx_tcp, proto_linx_tcp);
dissector_add_uint("tcp.port", TCP_PORT_LINX, linx_tcp_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

@ -217,8 +217,8 @@ static void msproxy_sub_dissector( tvbuff_t *tvb, packet_info *pinfo,
"UDP packets"));
if ( tree) {
ti = proto_tree_add_item( tree, proto_msproxy, tvb, 0, 0,
ENC_NA );
ti = proto_tree_add_item( tree, proto_msproxy, tvb, 0, 0,
ENC_NA );
msp_tree = proto_item_add_subtree(ti, ett_msproxy);
@ -233,11 +233,11 @@ static void msproxy_sub_dissector( tvbuff_t *tvb, packet_info *pinfo,
/* set pinfo->{src/dst port} and call the TCP or UDP sub-dissector lookup */
if ( pinfo->srcport == redirect_info->clnt_port)
ptr = &pinfo->destport;
else
ptr = &pinfo->srcport;
ptr = &pinfo->destport;
else
ptr = &pinfo->srcport;
*ptr = redirect_info->remote_port;
*ptr = redirect_info->remote_port;
if ( redirect_info->proto == PT_TCP)
decode_tcp_ports( tvb, 0, pinfo, tree, pinfo->srcport,
@ -246,7 +246,7 @@ static void msproxy_sub_dissector( tvbuff_t *tvb, packet_info *pinfo,
decode_udp_ports( tvb, 0, pinfo, tree, pinfo->srcport,
pinfo->destport, -1);
*ptr = redirect_info->server_int_port;
*ptr = redirect_info->server_int_port;
}
@ -260,7 +260,7 @@ static void add_msproxy_conversation( packet_info *pinfo,
/* conversation data structure with the info needed to call the TCP or */
/* UDP port decoder. */
/* NOTE: Currently this assume that the conversation will be created */
/* NOTE: Currently this assumes that the conversation will be created */
/* during a packet from the server. If that changes, pinfo->src */
/* and pinfo->dst will not be correct and this routine will have */
/* to change. */
@ -588,7 +588,7 @@ static void dissect_request_resolve(tvbuff_t *tvb, int offset,
offset += 17;
proto_tree_add_text( name_tree, tvb, offset, length, "String: %s",
tvb_get_string_enc( wmem_packet_scope(), tvb, offset, length, ENC_ASCII));
tvb_get_string_enc( wmem_packet_scope(), tvb, offset, length, ENC_ASCII));
}
}
@ -1084,7 +1084,7 @@ static void dissect_msproxy(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree)
hash_info = (hash_entry_t *)conversation_get_proto_data(conversation, proto_msproxy);
if ( !hash_info) {
hash_info = wmem_new(wmem_file_scope(), hash_entry_t);
hash_info = wmem_new(wmem_file_scope(), hash_entry_t);
conversation_add_proto_data(conversation, proto_msproxy,
hash_info);
}
@ -1128,140 +1128,142 @@ proto_register_msproxy( void){
&ett_msproxy,
&ett_msproxy_name
};
static hf_register_info hf[] = {
static hf_register_info hf[] = {
{ &hf_msproxy_cmd,
{ "Command", "msproxy.command", FT_UINT16, BASE_DEC,
NULL, 0x0, NULL, HFILL
}
{ &hf_msproxy_cmd,
{ "Command", "msproxy.command", FT_UINT16, BASE_DEC,
NULL, 0x0, NULL, HFILL
}
},
{ &hf_msproxy_dstaddr,
{ "Destination Address", "msproxy.dstaddr", FT_IPv4, BASE_NONE, NULL,
0x0, NULL, HFILL
}
{ "Destination Address", "msproxy.dstaddr", FT_IPv4, BASE_NONE, NULL,
0x0, NULL, HFILL
}
},
#if 0
{ &hf_msproxy_srcport,
{ "Source Port", "msproxy.srcport", FT_UINT16,
BASE_DEC, NULL, 0x0, NULL, HFILL
}
{ "Source Port", "msproxy.srcport", FT_UINT16,
BASE_DEC, NULL, 0x0, NULL, HFILL
}
},
#endif
{ &hf_msproxy_dstport,
{ "Destination Port", "msproxy.dstport", FT_UINT16,
BASE_DEC, NULL, 0x0, NULL, HFILL
}
{ "Destination Port", "msproxy.dstport", FT_UINT16,
BASE_DEC, NULL, 0x0, NULL, HFILL
}
},
{ &hf_msproxy_clntport,
{ "Client Port", "msproxy.clntport", FT_UINT16,
BASE_DEC, NULL, 0x0, NULL, HFILL
}
{ "Client Port", "msproxy.clntport", FT_UINT16,
BASE_DEC, NULL, 0x0, NULL, HFILL
}
},
{ &hf_msproxy_server_ext_addr,
{ "Server External Address", "msproxy.server_ext_addr", FT_IPv4, BASE_NONE, NULL,
0x0, NULL, HFILL
}
{ "Server External Address", "msproxy.server_ext_addr", FT_IPv4, BASE_NONE, NULL,
0x0, NULL, HFILL
}
},
{ &hf_msproxy_server_ext_port,
{ "Server External Port", "msproxy.server_ext_port", FT_UINT16,
BASE_DEC, NULL, 0x0, NULL, HFILL
}
{ "Server External Port", "msproxy.server_ext_port", FT_UINT16,
BASE_DEC, NULL, 0x0, NULL, HFILL
}
},
{ &hf_msproxy_server_int_addr,
{ "Server Internal Address", "msproxy.server_int_addr", FT_IPv4, BASE_NONE, NULL,
0x0, NULL, HFILL
}
{ "Server Internal Address", "msproxy.server_int_addr", FT_IPv4, BASE_NONE, NULL,
0x0, NULL, HFILL
}
},
{ &hf_msproxy_server_int_port,
{ "Server Internal Port", "msproxy.server_int_port", FT_UINT16,
BASE_DEC, NULL, 0x0, NULL, HFILL
}
{ "Server Internal Port", "msproxy.server_int_port", FT_UINT16,
BASE_DEC, NULL, 0x0, NULL, HFILL
}
},
{ &hf_msproxy_serverport,
{ "Server Port", "msproxy.serverport", FT_UINT16,
BASE_DEC, NULL, 0x0, NULL, HFILL
}
{ "Server Port", "msproxy.serverport", FT_UINT16,
BASE_DEC, NULL, 0x0, NULL, HFILL
}
},
{ &hf_msproxy_bindport,
{ "Bind Port", "msproxy.bindport", FT_UINT16,
BASE_DEC, NULL, 0x0, NULL, HFILL
}
{ "Bind Port", "msproxy.bindport", FT_UINT16,
BASE_DEC, NULL, 0x0, NULL, HFILL
}
},
{ &hf_msproxy_boundport,
{ "Bound Port", "msproxy.boundport", FT_UINT16,
BASE_DEC, NULL, 0x0, NULL, HFILL
}
{ "Bound Port", "msproxy.boundport", FT_UINT16,
BASE_DEC, NULL, 0x0, NULL, HFILL
}
},
{ &hf_msproxy_serveraddr,
{ "Server Address", "msproxy.serveraddr", FT_IPv4, BASE_NONE, NULL,
0x0, NULL, HFILL
}
{ "Server Address", "msproxy.serveraddr", FT_IPv4, BASE_NONE, NULL,
0x0, NULL, HFILL
}
},
{ &hf_msproxy_bindaddr,
{ "Destination", "msproxy.bindaddr", FT_IPv4, BASE_NONE, NULL,
0x0, NULL, HFILL
}
{ "Destination", "msproxy.bindaddr", FT_IPv4, BASE_NONE, NULL,
0x0, NULL, HFILL
}
},
{ &hf_msproxy_bind_id,
{ "Bound Port Id", "msproxy.bindid", FT_UINT32,
BASE_HEX, NULL, 0x0, NULL, HFILL
}
{ "Bound Port Id", "msproxy.bindid", FT_UINT32,
BASE_HEX, NULL, 0x0, NULL, HFILL
}
},
{ &hf_msproxy_resolvaddr,
{ "Address", "msproxy.resolvaddr", FT_IPv4, BASE_NONE, NULL,
0x0, NULL, HFILL
}
{ "Address", "msproxy.resolvaddr", FT_IPv4, BASE_NONE, NULL,
0x0, NULL, HFILL
}
},
{ &hf_msproxy_client_id,
{ "Client Id", "msproxy.client_id", FT_UINT32,
BASE_HEX, NULL, 0x0, NULL, HFILL
}
{ "Client Id", "msproxy.client_id", FT_UINT32,
BASE_HEX, NULL, 0x0, NULL, HFILL
}
},
{ &hf_msproxy_version,
{ "Version", "msproxy.version", FT_UINT32,
BASE_HEX, NULL, 0x0, NULL, HFILL
}
{ "Version", "msproxy.version", FT_UINT32,
BASE_HEX, NULL, 0x0, NULL, HFILL
}
},
{ &hf_msproxy_server_id,
{ "Server id", "msproxy.server_id", FT_UINT32,
BASE_HEX, NULL, 0x0, NULL, HFILL
}
{ "Server id", "msproxy.server_id", FT_UINT32,
BASE_HEX, NULL, 0x0, NULL, HFILL
}
},
{ &hf_msproxy_server_ack,
{ "Server ack", "msproxy.server_ack", FT_UINT8,
BASE_DEC, NULL, 0x0, NULL, HFILL
}
{ "Server ack", "msproxy.server_ack", FT_UINT8,
BASE_DEC, NULL, 0x0, NULL, HFILL
}
},
{ &hf_msproxy_client_ack,
{ "Client ack", "msproxy.client_ack", FT_UINT8,
BASE_DEC, NULL, 0x0, NULL, HFILL
}
{ "Client ack", "msproxy.client_ack", FT_UINT8,
BASE_DEC, NULL, 0x0, NULL, HFILL
}
},
{ &hf_msproxy_seq_num,
{ "Sequence Number", "msproxy.seq_num", FT_UINT8,
BASE_DEC, NULL, 0x0, NULL, HFILL
}
{ "Sequence Number", "msproxy.seq_num", FT_UINT8,
BASE_DEC, NULL, 0x0, NULL, HFILL
}
},
{ &hf_msproxy_rwsp_signature,
{ "RWSP signature", "msproxy.rwsp_signature", FT_STRING, BASE_NONE, NULL,
0x0, NULL, HFILL
}
{ "RWSP signature", "msproxy.rwsp_signature", FT_STRING, BASE_NONE, NULL,
0x0, NULL, HFILL
}
},
{ &hf_msproxy_ntlmssp_signature,
{ "NTLMSSP signature", "msproxy.ntlmssp_signature", FT_STRING, BASE_NONE, NULL,
0x0, NULL, HFILL
}
{ "NTLMSSP signature", "msproxy.ntlmssp_signature", FT_STRING, BASE_NONE, NULL,
0x0, NULL, HFILL
}
},
};
static ei_register_info ei[] = {
{ &ei_msproxy_unknown, { "msproxy.unknown", PI_UNDECODED, PI_WARN, "No know information (help wanted)", EXPFILL }},
{ &ei_msproxy_unhandled, { "msproxy.command.unhandled", PI_UNDECODED, PI_WARN, "Unhandled response command (report this, please)", EXPFILL }},
{ &ei_msproxy_unknown,
{ "msproxy.unknown", PI_UNDECODED, PI_WARN, "No know information (help wanted)", EXPFILL }},
{ &ei_msproxy_unhandled,
{ "msproxy.command.unhandled", PI_UNDECODED, PI_WARN, "Unhandled response command (report this, please)", EXPFILL }},
};
expert_module_t* expert_msproxy;
@ -1291,3 +1293,16 @@ proto_reg_handoff_msproxy(void) {
proto_msproxy);
dissector_add_uint("udp.port", UDP_PORT_MSPROXY, msproxy_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

@ -1211,3 +1211,16 @@ proto_reg_handoff_netlink_sock_diag(void)
{
dissector_add_uint("netlink.protocol", WS_NETLINK_SOCK_DIAG, netlink_sock_diag_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

@ -1007,9 +1007,9 @@ static const value_string entry_type[] = {
#define LOG_REM_NAME 2
{ LOG_REM_NAME, "Name Was Removed" },
#define LOG_MOD_NAME_OLD 3
{ LOG_MOD_NAME_OLD, "Name Was Modified" },
{ LOG_MOD_NAME_OLD, "Name Was Modified" },
#define LOG_MOD_NAME_NEW 4
{ LOG_MOD_NAME_NEW, "Name Was Modified" },
{ LOG_MOD_NAME_NEW, "Name Was Modified" },
#define LOG_ADD_IBASE 5
{ LOG_ADD_IBASE, "Entry Added To Information Base" },
#define LOG_REM_IBASE 6
@ -1959,3 +1959,16 @@ proto_reg_handoff_niscb(void)
/* Register the procedure tables */
rpc_init_proc_table(CB_PROGRAM, 1, cb1_proc, hf_nispluscb_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

@ -409,7 +409,7 @@ dissect_lock(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, int version, i
static int
dissect_nlm_test(tvbuff_t *tvb, int offset, packet_info *pinfo,
proto_tree *tree, int version, rpc_call_info_value* rpc_call)
proto_tree *tree, int version, rpc_call_info_value* rpc_call)
{
if(nlm_match_msgres){
if(rpc_call->proc==6){ /* NLM_TEST_MSG */
@ -435,7 +435,7 @@ dissect_nlm_test(tvbuff_t *tvb, int offset, packet_info *pinfo,
static int
dissect_nlm_lock(tvbuff_t *tvb, int offset, packet_info *pinfo,
proto_tree *tree,int version, rpc_call_info_value* rpc_call)
proto_tree *tree,int version, rpc_call_info_value* rpc_call)
{
if(nlm_match_msgres){
if(rpc_call->proc==7){ /* NLM_LOCK_MSG */
@ -463,7 +463,7 @@ dissect_nlm_lock(tvbuff_t *tvb, int offset, packet_info *pinfo,
static int
dissect_nlm_cancel(tvbuff_t *tvb, int offset, packet_info *pinfo,
proto_tree *tree,int version, rpc_call_info_value* rpc_call)
proto_tree *tree,int version, rpc_call_info_value* rpc_call)
{
if(nlm_match_msgres){
if(rpc_call->proc==8){ /* NLM_CANCEL_MSG */
@ -489,7 +489,7 @@ dissect_nlm_cancel(tvbuff_t *tvb, int offset, packet_info *pinfo,
static int
dissect_nlm_unlock(tvbuff_t *tvb, int offset, packet_info *pinfo,
proto_tree *tree,int version, rpc_call_info_value* rpc_call)
proto_tree *tree,int version, rpc_call_info_value* rpc_call)
{
if(nlm_match_msgres){
if(rpc_call->proc==9){ /* NLM_UNLOCK_MSG */
@ -513,7 +513,7 @@ dissect_nlm_unlock(tvbuff_t *tvb, int offset, packet_info *pinfo,
static int
dissect_nlm_granted(tvbuff_t *tvb, int offset, packet_info *pinfo,
proto_tree *tree,int version, rpc_call_info_value* rpc_call)
proto_tree *tree,int version, rpc_call_info_value* rpc_call)
{
if(nlm_match_msgres){
if(rpc_call->proc==10){ /* NLM_GRANTED_MSG */
@ -539,7 +539,7 @@ dissect_nlm_granted(tvbuff_t *tvb, int offset, packet_info *pinfo,
static int
dissect_nlm_test_res(tvbuff_t *tvb, int offset, packet_info *pinfo _U_,
proto_tree *tree, int version, rpc_call_info_value *rpc_call)
proto_tree *tree, int version, rpc_call_info_value *rpc_call)
{
proto_item* lock_item = NULL;
proto_tree* lock_tree = NULL;
@ -611,7 +611,7 @@ dissect_nlm_test_res(tvbuff_t *tvb, int offset, packet_info *pinfo _U_,
static int
dissect_nlm_share(tvbuff_t *tvb, int offset, packet_info *pinfo,
proto_tree *tree,int version _U_, rpc_call_info_value* civ)
proto_tree *tree,int version _U_, rpc_call_info_value* civ)
{
proto_item* lock_item = NULL;
proto_tree* lock_tree = NULL;
@ -645,7 +645,7 @@ dissect_nlm_share(tvbuff_t *tvb, int offset, packet_info *pinfo,
static int
dissect_nlm_shareres(tvbuff_t *tvb, int offset, packet_info *pinfo _U_,
proto_tree *tree, int version _U_)
proto_tree *tree, int version _U_)
{
guint32 nlm_stat;
@ -662,7 +662,7 @@ dissect_nlm_shareres(tvbuff_t *tvb, int offset, packet_info *pinfo _U_,
static int
dissect_nlm_freeall(tvbuff_t *tvb, int offset, packet_info *pinfo _U_,
proto_tree *tree,int version _U_)
proto_tree *tree,int version _U_)
{
guint32 nlm_stat;
@ -686,7 +686,7 @@ dissect_nlm_freeall(tvbuff_t *tvb, int offset, packet_info *pinfo _U_,
/* This function is identical for all NLM protocol versions (1-4)*/
static int
dissect_nlm_gen_reply(tvbuff_t *tvb, int offset, packet_info *pinfo _U_,
proto_tree *tree, void* data)
proto_tree *tree, void* data)
{
guint32 nlm_stat;
@ -722,14 +722,14 @@ dissect_nlm_gen_reply(tvbuff_t *tvb, int offset, packet_info *pinfo _U_,
static int
dissect_nlm1_test(tvbuff_t *tvb, int offset, packet_info *pinfo,
proto_tree *tree, void* data)
proto_tree *tree, void* data)
{
return dissect_nlm_test(tvb,offset,pinfo,tree,1,(rpc_call_info_value*)data);
}
static int
dissect_nlm4_test(tvbuff_t *tvb, int offset, packet_info *pinfo,
proto_tree *tree, void* data)
proto_tree *tree, void* data)
{
return dissect_nlm_test(tvb,offset,pinfo,tree,4,(rpc_call_info_value*)data);
}
@ -737,14 +737,14 @@ dissect_nlm4_test(tvbuff_t *tvb, int offset, packet_info *pinfo,
static int
dissect_nlm1_lock(tvbuff_t *tvb, int offset, packet_info *pinfo,
proto_tree *tree, void* data)
proto_tree *tree, void* data)
{
return dissect_nlm_lock(tvb,offset,pinfo,tree,1,(rpc_call_info_value*)data);
}
static int
dissect_nlm4_lock(tvbuff_t *tvb, int offset, packet_info *pinfo,
proto_tree *tree, void* data)
proto_tree *tree, void* data)
{
return dissect_nlm_lock(tvb,offset,pinfo,tree,4,(rpc_call_info_value*)data);
}
@ -752,14 +752,14 @@ dissect_nlm4_lock(tvbuff_t *tvb, int offset, packet_info *pinfo,
static int
dissect_nlm1_cancel(tvbuff_t *tvb, int offset, packet_info *pinfo,
proto_tree *tree, void* data)
proto_tree *tree, void* data)
{
return dissect_nlm_cancel(tvb,offset,pinfo,tree,1,(rpc_call_info_value*)data);
}
static int
dissect_nlm4_cancel(tvbuff_t *tvb, int offset, packet_info *pinfo,
proto_tree *tree, void* data)
proto_tree *tree, void* data)
{
return dissect_nlm_cancel(tvb,offset,pinfo,tree,4,(rpc_call_info_value*)data);
}
@ -767,14 +767,14 @@ dissect_nlm4_cancel(tvbuff_t *tvb, int offset, packet_info *pinfo,
static int
dissect_nlm1_unlock(tvbuff_t *tvb, int offset, packet_info *pinfo,
proto_tree *tree, void* data)
proto_tree *tree, void* data)
{
return dissect_nlm_unlock(tvb,offset,pinfo,tree,1,(rpc_call_info_value*)data);
}
static int
dissect_nlm4_unlock(tvbuff_t *tvb, int offset, packet_info *pinfo,
proto_tree *tree, void* data)
proto_tree *tree, void* data)
{
return dissect_nlm_unlock(tvb,offset,pinfo,tree,4,(rpc_call_info_value*)data);
}
@ -782,14 +782,14 @@ dissect_nlm4_unlock(tvbuff_t *tvb, int offset, packet_info *pinfo,
static int
dissect_nlm1_granted(tvbuff_t *tvb, int offset, packet_info *pinfo,
proto_tree *tree, void* data)
proto_tree *tree, void* data)
{
return dissect_nlm_granted(tvb,offset,pinfo,tree,1,(rpc_call_info_value*)data);
}
static int
dissect_nlm4_granted(tvbuff_t *tvb, int offset, packet_info *pinfo,
proto_tree *tree, void* data)
proto_tree *tree, void* data)
{
return dissect_nlm_granted(tvb,offset,pinfo,tree,4,(rpc_call_info_value*)data);
}
@ -797,56 +797,56 @@ dissect_nlm4_granted(tvbuff_t *tvb, int offset, packet_info *pinfo,
static int
dissect_nlm1_test_res(tvbuff_t *tvb, int offset, packet_info *pinfo,
proto_tree *tree, void* data)
proto_tree *tree, void* data)
{
return dissect_nlm_test_res(tvb,offset,pinfo,tree,1,(rpc_call_info_value*)data);
}
static int
dissect_nlm4_test_res(tvbuff_t *tvb, int offset, packet_info *pinfo,
proto_tree *tree, void* data)
proto_tree *tree, void* data)
{
return dissect_nlm_test_res(tvb,offset,pinfo,tree,4,(rpc_call_info_value*)data);
}
static int
dissect_nlm3_share(tvbuff_t *tvb, int offset, packet_info *pinfo,
proto_tree *tree, void* data _U_)
proto_tree *tree, void* data _U_)
{
return dissect_nlm_share(tvb,offset,pinfo,tree,3,(rpc_call_info_value*)data);
}
static int
dissect_nlm4_share(tvbuff_t *tvb, int offset, packet_info *pinfo,
proto_tree *tree, void* data _U_)
proto_tree *tree, void* data _U_)
{
return dissect_nlm_share(tvb,offset,pinfo,tree,4,(rpc_call_info_value*)data);
}
static int
dissect_nlm3_shareres(tvbuff_t *tvb, int offset, packet_info *pinfo,
proto_tree *tree, void* data _U_)
proto_tree *tree, void* data _U_)
{
return dissect_nlm_shareres(tvb,offset,pinfo,tree,3);
}
static int
dissect_nlm4_shareres(tvbuff_t *tvb, int offset, packet_info *pinfo,
proto_tree *tree, void* data _U_)
proto_tree *tree, void* data _U_)
{
return dissect_nlm_shareres(tvb,offset,pinfo,tree,4);
}
static int
dissect_nlm3_freeall(tvbuff_t *tvb, int offset, packet_info *pinfo,
proto_tree *tree, void* data _U_)
proto_tree *tree, void* data _U_)
{
return dissect_nlm_freeall(tvb,offset,pinfo,tree,3);
}
static int
dissect_nlm4_freeall(tvbuff_t *tvb, int offset, packet_info *pinfo,
proto_tree *tree, void* data _U_)
proto_tree *tree, void* data _U_)
{
return dissect_nlm_freeall(tvb,offset,pinfo,tree,4);
}
@ -1238,3 +1238,16 @@ proto_reg_handoff_nlm(void)
rpc_init_proc_table(NLM_PROGRAM, 3, nlm3_proc, hf_nlm_procedure_v3);
rpc_init_proc_table(NLM_PROGRAM, 4, nlm4_proc, hf_nlm_procedure_v4);
}
/*
* 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

@ -58,25 +58,25 @@ void proto_reg_handoff_opsi(void);
/* Internal structure to dissect attributes */
typedef struct {
guint16 attribute_type; /* attribute code */
const char *tree_text; /* text for fold out */
gint *tree_id; /* id for add_item */
int* hf_type_attribute; /* id for seach option */
void (*dissect)(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, proto_item *item,
int* hfValue, int offset, int length);
guint16 attribute_type; /* attribute code */
const char *tree_text; /* text for fold out */
gint *tree_id; /* id for add_item */
int *hf_type_attribute; /* id for seach option */
void (*dissect)(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, proto_item *item,
int* hfValue, int offset, int length);
} opsi_attribute_handle_t;
/* Attributes codes */
#define USER_NAME_ATTRIBUTE 1
#define USER_PASSWD_ATTRIBUTE 2
#define CHAP_PASSWD_ATTRIBUTE 3
#define NAS_IP_ADDRESS_ATTRIBUTE 4
#define NAS_PORT_ATTRIBUTE 5
#define SERVICE_TYPE_ATTRIBUTE 6
#define FRAMED_PROTOCOL_ATTRIBUTE 7
#define FRAMED_ADDRESS_ATTRIBUTE 8
#define FRAMED_NETMASK_ATTRIBUTE 9
#define USER_NAME_ATTRIBUTE 1
#define USER_PASSWD_ATTRIBUTE 2
#define CHAP_PASSWD_ATTRIBUTE 3
#define NAS_IP_ADDRESS_ATTRIBUTE 4
#define NAS_PORT_ATTRIBUTE 5
#define SERVICE_TYPE_ATTRIBUTE 6
#define FRAMED_PROTOCOL_ATTRIBUTE 7
#define FRAMED_ADDRESS_ATTRIBUTE 8
#define FRAMED_NETMASK_ATTRIBUTE 9
#define FRAMED_ROUTING_ATTRIBUTE 10
#define FRAMED_FILTER_ATTRIBUTE 11
#define FRAMED_MTU_ATTRIBUTE 12
@ -224,88 +224,88 @@ static expert_field ei_opsi_short_frame = EI_INIT;
/* Code mapping */
static const value_string opsi_opcode[] = {
{ DISCOVER_REQUEST, "Discover Request" },
{ DISCOVER_RESPONSE, "Discover Response" },
{ SERVICE_REQUEST, "Service Request" },
{ SERVICE_ACCEPT, "Service Accept" },
{ SERVICE_REJECT, "Service Reject" },
{ TERMINATE_REQUEST, "Terminate Request" },
{ 0, NULL }
};
{ DISCOVER_REQUEST, "Discover Request" },
{ DISCOVER_RESPONSE, "Discover Response" },
{ SERVICE_REQUEST, "Service Request" },
{ SERVICE_ACCEPT, "Service Accept" },
{ SERVICE_REJECT, "Service Reject" },
{ TERMINATE_REQUEST, "Terminate Request" },
{ 0, NULL }
};
static const value_string opsi_service_type_code[] = {
{ 1, "Login" },
{ 2, "Framed" },
{ 3, "Callback Login" },
{ 4, "Callback Framed" },
{ 5, "Outbound" },
{ 6, "Administrative" },
{ 7, "NAS Prompt" },
{ 8, "Authenticate Only" },
{ 9, "Callback NAS Prompt" },
{ 0, NULL }
};
{ 1, "Login" },
{ 2, "Framed" },
{ 3, "Callback Login" },
{ 4, "Callback Framed" },
{ 5, "Outbound" },
{ 6, "Administrative" },
{ 7, "NAS Prompt" },
{ 8, "Authenticate Only" },
{ 9, "Callback NAS Prompt" },
{ 0, NULL }
};
static const value_string opsi_framed_protocol_code[] = {
{ 1, "PPP" },
{ 2, "SLIP" },
{ 3, "AppleTalk Remote Access Protocol (ARAP)" },
{ 4, "Gandalf proprietary SingleLink/MultiLink protocol" },
{ 5, "Xylogics proprietary IPX/SLIP" },
{ 255, "Ascend ARA" },
{ 256, "MPP" },
{ 257, "EURAW" },
{ 258, "EUUI" },
{ 259, "X25" },
{ 260, "COMB" },
{ 261, "FR" },
{ 262, "MP" },
{ 263, "FR-CIR"},
{ 0, NULL }
};
{ 1, "PPP" },
{ 2, "SLIP" },
{ 3, "AppleTalk Remote Access Protocol (ARAP)" },
{ 4, "Gandalf proprietary SingleLink/MultiLink protocol" },
{ 5, "Xylogics proprietary IPX/SLIP" },
{ 255, "Ascend ARA" },
{ 256, "MPP" },
{ 257, "EURAW" },
{ 258, "EUUI" },
{ 259, "X25" },
{ 260, "COMB" },
{ 261, "FR" },
{ 262, "MP" },
{ 263, "FR-CIR"},
{ 0, NULL }
};
static const value_string opsi_framed_routing_code[] = {
{ 0, "None" },
{ 1, "Broadcast" },
{ 2, "Listen" },
{ 3, "Broadcast-Listen" },
{ 4, "Broadcast V2" },
{ 5, "Listen V2" },
{ 6, "Broadcast-Listen V2" },
{ 0, NULL },
};
{ 0, "None" },
{ 1, "Broadcast" },
{ 2, "Listen" },
{ 3, "Broadcast-Listen" },
{ 4, "Broadcast V2" },
{ 5, "Listen V2" },
{ 6, "Broadcast-Listen V2" },
{ 0, NULL },
};
static const value_string opsi_framed_compression_code[] = {
{ 0, "None" },
{ 1, "Van Jacobsen TCP/IP" },
{ 2, "IPX header compression" },
{ 0, NULL }
};
{ 0, "None" },
{ 1, "Van Jacobsen TCP/IP" },
{ 2, "IPX header compression" },
{ 0, NULL }
};
static const value_string opsi_nas_port_type_code[] = {
{ 0, "Async" },
{ 1, "Sync" },
{ 2, "ISDN Sync" },
{ 3, "ISDN Async V.120" },
{ 4, "ISDN Async V.110" },
{ 5, "Virtual" },
{ 6, "PIAFS" },
{ 7, "HDLC Clear Channel" },
{ 8, "X.25" },
{ 9, "X.75" },
{ 10, "G.3 Fax" },
{ 11, "SDSL - Symmetric DSL" },
{ 12, "ADSL-CAP - Asymmetric DSL, Carrierless Amplitude Phase Modulation" },
{ 13, "ADSL-DMT - Asymmetric DSL, Discrete Multi-Tone" },
{ 14, "IDSL - ISDN Digital Subscriber Line" },
{ 15, "Ethernet" },
{ 16, "xDSL - Digital Subscriber Line of unknown type" },
{ 17, "Cable" },
{ 18, "Wireless - Other" },
{ 19, "Wireless - IEEE 802.11" },
{ 201,"Voice over IP" },
{ 0, NULL }
};
{ 0, "Async" },
{ 1, "Sync" },
{ 2, "ISDN Sync" },
{ 3, "ISDN Async V.120" },
{ 4, "ISDN Async V.110" },
{ 5, "Virtual" },
{ 6, "PIAFS" },
{ 7, "HDLC Clear Channel" },
{ 8, "X.25" },
{ 9, "X.75" },
{ 10, "G.3 Fax" },
{ 11, "SDSL - Symmetric DSL" },
{ 12, "ADSL-CAP - Asymmetric DSL, Carrierless Amplitude Phase Modulation" },
{ 13, "ADSL-DMT - Asymmetric DSL, Discrete Multi-Tone" },
{ 14, "IDSL - ISDN Digital Subscriber Line" },
{ 15, "Ethernet" },
{ 16, "xDSL - Digital Subscriber Line of unknown type" },
{ 17, "Cable" },
{ 18, "Wireless - Other" },
{ 19, "Wireless - IEEE 802.11" },
{ 201, "Voice over IP" },
{ 0, NULL }
};
/* Structure used to decode OPSI frame attributes */
@ -314,111 +314,111 @@ static const value_string opsi_nas_port_type_code[] = {
/* in ascending order */
/* */
static opsi_attribute_handle_t opsi_attributes[] = {
{ USER_NAME_ATTRIBUTE, /* 1 */
"User name attribute", &ett_opsi_user_name, &hf_user_name_att, decode_string_attribute },
{ USER_PASSWD_ATTRIBUTE, /* 2 */
"User password attribute" , &ett_opsi_user_password, &hf_password_att, decode_string_attribute },
{ CHAP_PASSWD_ATTRIBUTE, /* 3 */
"CHAP password attribute", &ett_opsi_chap_password, &hf_chap_password_att, decode_string_attribute },
{ NAS_IP_ADDRESS_ATTRIBUTE, /* 4 */
"NAS IP address attribute", &ett_opsi_nas_ip_address, &hf_nas_ip_add_att, decode_ipv4_attribute },
{NAS_PORT_ATTRIBUTE, /* 5 */
"NAS port attribute", &ett_opsi_nas_port, &hf_nas_port_att, decode_longint_attribute },
{SERVICE_TYPE_ATTRIBUTE, /* 6 */
"Service type attribute", &ett_opsi_service_type, &hf_service_type_att, decode_value_string_attribute },
{FRAMED_PROTOCOL_ATTRIBUTE, /* 7 */
"Framed protocol attribute", &ett_opsi_framed_protocol, &hf_framed_protocol_att, decode_value_string_attribute },
{FRAMED_ADDRESS_ATTRIBUTE, /* 8 */
"Framed address attribute", &ett_opsi_framed_address, &hf_framed_address_att, decode_ipv4_attribute },
{FRAMED_NETMASK_ATTRIBUTE, /* 9 */
"Framed netmask attribute", &ett_opsi_framed_netmask, &hf_framed_netmask_att, decode_ipv4_attribute },
{FRAMED_ROUTING_ATTRIBUTE, /* 10 */
"Framed routing attribute", &ett_opsi_framed_routing, &hf_framed_routing_att, decode_value_string_attribute },
{FRAMED_FILTER_ATTRIBUTE, /* 11 */
"Framed filter attribute", &ett_opsi_framed_filter, &hf_framed_filter_att, decode_string_attribute },
{FRAMED_MTU_ATTRIBUTE, /* 12 */
"Framed MTU attribute", &ett_opsi_framed_mtu, &hf_framed_mtu_att, decode_longint_attribute },
{FRAMED_COMPRESSION_ATTRIBUTE, /* 13 */
"Framed compression attribute", &ett_opsi_framed_compression, &hf_framed_compression_att, decode_value_string_attribute },
{CALLED_STATION_ID_ATTRIBUTE, /* 30 */
"Called station ID attribute", &ett_opsi_called_station_id, &hf_called_station_att, decode_string_attribute },
{CALLING_STATION_ID_ATTRIBUTE, /* 31 */
"Calling station ID attribute", &ett_opsi_calling_station_id, &hf_calling_station_att, decode_string_attribute },
{NAS_IDENTIFIER, /* 32 */
"NAS Identifier attribute", &ett_opsi_nas_identifier, &hf_nas_identifier_att, decode_string_attribute },
{ACCOUNTING_40_ATTRIBUTE, /* 40 */
"Accounting attribute", &ett_opsi_accounting, &hf_accounting_att, decode_string_attribute },
{ACCOUNTING_41_ATTRIBUTE, /* 41 */
"Accounting attribute", &ett_opsi_accounting, &hf_accounting_att, decode_string_attribute },
{ACCOUNTING_42_ATTRIBUTE, /* 42 */
"Accounting attribute", &ett_opsi_accounting, &hf_accounting_att, decode_string_attribute },
{ACCOUNTING_43_ATTRIBUTE, /* 43 */
"Accounting attribute", &ett_opsi_accounting, &hf_accounting_att, decode_string_attribute },
{ACCOUNTING_SESSION_ID_ATTRIBUTE, /* 44 */
{ USER_NAME_ATTRIBUTE, /* 1 */
"User name attribute", &ett_opsi_user_name, &hf_user_name_att, decode_string_attribute },
{ USER_PASSWD_ATTRIBUTE, /* 2 */
"User password attribute" , &ett_opsi_user_password, &hf_password_att, decode_string_attribute },
{ CHAP_PASSWD_ATTRIBUTE, /* 3 */
"CHAP password attribute", &ett_opsi_chap_password, &hf_chap_password_att, decode_string_attribute },
{ NAS_IP_ADDRESS_ATTRIBUTE, /* 4 */
"NAS IP address attribute", &ett_opsi_nas_ip_address, &hf_nas_ip_add_att, decode_ipv4_attribute },
{NAS_PORT_ATTRIBUTE, /* 5 */
"NAS port attribute", &ett_opsi_nas_port, &hf_nas_port_att, decode_longint_attribute },
{SERVICE_TYPE_ATTRIBUTE, /* 6 */
"Service type attribute", &ett_opsi_service_type, &hf_service_type_att, decode_value_string_attribute },
{FRAMED_PROTOCOL_ATTRIBUTE, /* 7 */
"Framed protocol attribute", &ett_opsi_framed_protocol, &hf_framed_protocol_att, decode_value_string_attribute },
{FRAMED_ADDRESS_ATTRIBUTE, /* 8 */
"Framed address attribute", &ett_opsi_framed_address, &hf_framed_address_att, decode_ipv4_attribute },
{FRAMED_NETMASK_ATTRIBUTE, /* 9 */
"Framed netmask attribute", &ett_opsi_framed_netmask, &hf_framed_netmask_att, decode_ipv4_attribute },
{FRAMED_ROUTING_ATTRIBUTE, /* 10 */
"Framed routing attribute", &ett_opsi_framed_routing, &hf_framed_routing_att, decode_value_string_attribute },
{FRAMED_FILTER_ATTRIBUTE, /* 11 */
"Framed filter attribute", &ett_opsi_framed_filter, &hf_framed_filter_att, decode_string_attribute },
{FRAMED_MTU_ATTRIBUTE, /* 12 */
"Framed MTU attribute", &ett_opsi_framed_mtu, &hf_framed_mtu_att, decode_longint_attribute },
{FRAMED_COMPRESSION_ATTRIBUTE, /* 13 */
"Framed compression attribute", &ett_opsi_framed_compression, &hf_framed_compression_att, decode_value_string_attribute },
{CALLED_STATION_ID_ATTRIBUTE, /* 30 */
"Called station ID attribute", &ett_opsi_called_station_id, &hf_called_station_att, decode_string_attribute },
{CALLING_STATION_ID_ATTRIBUTE, /* 31 */
"Calling station ID attribute", &ett_opsi_calling_station_id, &hf_calling_station_att, decode_string_attribute },
{NAS_IDENTIFIER, /* 32 */
"NAS Identifier attribute", &ett_opsi_nas_identifier, &hf_nas_identifier_att, decode_string_attribute },
{ACCOUNTING_40_ATTRIBUTE, /* 40 */
"Accounting attribute", &ett_opsi_accounting, &hf_accounting_att, decode_string_attribute },
{ACCOUNTING_41_ATTRIBUTE, /* 41 */
"Accounting attribute", &ett_opsi_accounting, &hf_accounting_att, decode_string_attribute },
{ACCOUNTING_42_ATTRIBUTE, /* 42 */
"Accounting attribute", &ett_opsi_accounting, &hf_accounting_att, decode_string_attribute },
{ACCOUNTING_43_ATTRIBUTE, /* 43 */
"Accounting attribute", &ett_opsi_accounting, &hf_accounting_att, decode_string_attribute },
{ACCOUNTING_SESSION_ID_ATTRIBUTE, /* 44 */
"Accounting session ID attribute", &ett_opsi_acct_session_id, &hf_acct_session_id_att, decode_string_attribute },
{ACCOUNTING_45_ATTRIBUTE, /* 45 */
"Accounting attribute", &ett_opsi_accounting, &hf_accounting_att, decode_string_attribute },
{ACCOUNTING_46_ATTRIBUTE, /* 46 */
"Accounting attribute", &ett_opsi_accounting, &hf_accounting_att, decode_string_attribute },
{ACCOUNTING_47_ATTRIBUTE, /* 47 */
"Accounting attribute", &ett_opsi_accounting, &hf_accounting_att, decode_string_attribute },
{ACCOUNTING_48_ATTRIBUTE, /* 48 */
"Accounting attribute", &ett_opsi_accounting, &hf_accounting_att, decode_string_attribute },
{ACCOUNTING_49_ATTRIBUTE, /* 49 */
"Accounting attribute", &ett_opsi_accounting, &hf_accounting_att, decode_string_attribute },
{ACCOUNTING_50_ATTRIBUTE, /* 50 */
"Accounting attribute", &ett_opsi_accounting, &hf_accounting_att, decode_string_attribute },
{ACCOUNTING_51_ATTRIBUTE, /* 51 */
"Accounting attribute", &ett_opsi_accounting, &hf_accounting_att, decode_string_attribute },
{ACCOUNTING_52_ATTRIBUTE, /* 52 */
"Accounting attribute", &ett_opsi_accounting, &hf_accounting_att, decode_string_attribute },
{ACCOUNTING_53_ATTRIBUTE, /* 53 */
"Accounting attribute", &ett_opsi_accounting, &hf_accounting_att, decode_string_attribute },
{ACCOUNTING_54_ATTRIBUTE, /* 54 */
"Accounting attribute", &ett_opsi_accounting, &hf_accounting_att, decode_string_attribute },
{ACCOUNTING_55_ATTRIBUTE, /* 55 */
"Accounting attribute", &ett_opsi_accounting, &hf_accounting_att, decode_string_attribute },
{ACCOUNTING_56_ATTRIBUTE, /* 56 */
"Accounting attribute", &ett_opsi_accounting, &hf_accounting_att, decode_string_attribute },
{ACCOUNTING_57_ATTRIBUTE, /* 57 */
"Accounting attribute", &ett_opsi_accounting, &hf_accounting_att, decode_string_attribute },
{ACCOUNTING_58_ATTRIBUTE, /* 58 */
"Accounting attribute", &ett_opsi_accounting, &hf_accounting_att, decode_string_attribute },
{ACCOUNTING_59_ATTRIBUTE, /* 59 */
"Accounting attribute", &ett_opsi_accounting, &hf_accounting_att, decode_string_attribute },
{CHAP_CHALLENGE_ATTRIBUTE, /* 60 */
"CHAP challenge", &ett_opsi_chap_challenge, &hf_chap_challenge_att, decode_string_attribute },
{NAS_PORT_TYPE_ATTRIBUTE, /* 61 */
"NAS port type attribute", &ett_opsi_nas_port_type, &hf_nas_port_type_att, decode_value_string_attribute },
{DESIGNATION_NUMBER_ATTRIBUTE, /* 77 */
"Designation number attribute", &ett_opsi_designation_number, &hf_designation_num_att, decode_string_attribute },
{NAS_PORT_ID_ATTRIBUTE, /* 87 */
"NAS port ID attribute", &ett_opsi_nas_port_id, &hf_nas_port_id_att, decode_string_attribute },
{SMC_AAAID_ATTRIBUTE, /* 651 */
"SMC AAA ID attribute", &ett_opsi_smc_aaa_id, &hf_smc_aaa_id_att, decode_longint_attribute },
{SMC_VPNID_ATTRIBUTE, /* 652 */
"SMC VPN ID attribute", &ett_opsi_smc_vpn_id, &hf_smc_vpn_id_att, decode_longint_attribute },
{SMC_VPNNAME_ATTRIBUTE, /* 653 */
"SMC VPN name attribute", &ett_opsi_smc_vpn_name, &hf_smc_vpn_name_att, decode_string_attribute },
{SMC_RANID_ATTRIBUTE, /* 654 */
"SMC RAN ID attribute", &ett_opsi_smc_ran_id, &hf_smc_ran_id_att, decode_longint_attribute },
{SMC_RANIP_ATTRIBUTE, /* 655 */
"SMC RAN IP attribute", &ett_opsi_smc_ran_ip, &hf_smc_ran_ip_att, decode_ipv4_attribute },
{SMC_RANNAME_ATTRIBUTE, /* 656 */
"SMC RAN name attribute", &ett_opsi_smc_ran_name, &hf_smc_ran_name_att, decode_string_attribute },
{SMC_POPID_ATTRIBUTE, /* 657 */
"SMC POP ID attribute", &ett_opsi_smc_pop_id, &hf_smc_pop_id_att, decode_longint_attribute },
{SMC_POPNAME_ATTRIBUTE, /* 658 */
"SMC POP name attribute", &ett_opsi_smc_pop_name, &hf_smc_pop_name_att, decode_string_attribute },
{SMC_SMCID_ATTRIBUTE, /* 659 */
"SMC ID attribute", &ett_opsi_smc_id, &hf_smc_id_att, decode_longint_attribute },
{SMC_RECEIVE_TIME_ATTRIBUTE, /* 660 */
"SMC receive time attribute", &ett_opsi_smc_receive_time, &hf_smc_receive_time_att, decode_time_attribute },
{SMC_STAT_TIME_ATTRIBUTE, /* 661 */
"SMC stat time attribute", &ett_opsi_smc_stat_time, &hf_smc_stat_time_att, decode_longint_attribute },
{OPSI_FLAGS_ATTRIBUTE, /* 674 */
"OPSI flags attribute", &ett_opsi_flags, &hf_opsi_flags_att, decode_longint_attribute },
{OPSI_APPLICATION_NAME_ATTRIBUTE,/* 675 */
{ACCOUNTING_45_ATTRIBUTE, /* 45 */
"Accounting attribute", &ett_opsi_accounting, &hf_accounting_att, decode_string_attribute },
{ACCOUNTING_46_ATTRIBUTE, /* 46 */
"Accounting attribute", &ett_opsi_accounting, &hf_accounting_att, decode_string_attribute },
{ACCOUNTING_47_ATTRIBUTE, /* 47 */
"Accounting attribute", &ett_opsi_accounting, &hf_accounting_att, decode_string_attribute },
{ACCOUNTING_48_ATTRIBUTE, /* 48 */
"Accounting attribute", &ett_opsi_accounting, &hf_accounting_att, decode_string_attribute },
{ACCOUNTING_49_ATTRIBUTE, /* 49 */
"Accounting attribute", &ett_opsi_accounting, &hf_accounting_att, decode_string_attribute },
{ACCOUNTING_50_ATTRIBUTE, /* 50 */
"Accounting attribute", &ett_opsi_accounting, &hf_accounting_att, decode_string_attribute },
{ACCOUNTING_51_ATTRIBUTE, /* 51 */
"Accounting attribute", &ett_opsi_accounting, &hf_accounting_att, decode_string_attribute },
{ACCOUNTING_52_ATTRIBUTE, /* 52 */
"Accounting attribute", &ett_opsi_accounting, &hf_accounting_att, decode_string_attribute },
{ACCOUNTING_53_ATTRIBUTE, /* 53 */
"Accounting attribute", &ett_opsi_accounting, &hf_accounting_att, decode_string_attribute },
{ACCOUNTING_54_ATTRIBUTE, /* 54 */
"Accounting attribute", &ett_opsi_accounting, &hf_accounting_att, decode_string_attribute },
{ACCOUNTING_55_ATTRIBUTE, /* 55 */
"Accounting attribute", &ett_opsi_accounting, &hf_accounting_att, decode_string_attribute },
{ACCOUNTING_56_ATTRIBUTE, /* 56 */
"Accounting attribute", &ett_opsi_accounting, &hf_accounting_att, decode_string_attribute },
{ACCOUNTING_57_ATTRIBUTE, /* 57 */
"Accounting attribute", &ett_opsi_accounting, &hf_accounting_att, decode_string_attribute },
{ACCOUNTING_58_ATTRIBUTE, /* 58 */
"Accounting attribute", &ett_opsi_accounting, &hf_accounting_att, decode_string_attribute },
{ACCOUNTING_59_ATTRIBUTE, /* 59 */
"Accounting attribute", &ett_opsi_accounting, &hf_accounting_att, decode_string_attribute },
{CHAP_CHALLENGE_ATTRIBUTE, /* 60 */
"CHAP challenge", &ett_opsi_chap_challenge, &hf_chap_challenge_att, decode_string_attribute },
{NAS_PORT_TYPE_ATTRIBUTE, /* 61 */
"NAS port type attribute", &ett_opsi_nas_port_type, &hf_nas_port_type_att, decode_value_string_attribute },
{DESIGNATION_NUMBER_ATTRIBUTE, /* 77 */
"Designation number attribute", &ett_opsi_designation_number, &hf_designation_num_att, decode_string_attribute },
{NAS_PORT_ID_ATTRIBUTE, /* 87 */
"NAS port ID attribute", &ett_opsi_nas_port_id, &hf_nas_port_id_att, decode_string_attribute },
{SMC_AAAID_ATTRIBUTE, /* 651 */
"SMC AAA ID attribute", &ett_opsi_smc_aaa_id, &hf_smc_aaa_id_att, decode_longint_attribute },
{SMC_VPNID_ATTRIBUTE, /* 652 */
"SMC VPN ID attribute", &ett_opsi_smc_vpn_id, &hf_smc_vpn_id_att, decode_longint_attribute },
{SMC_VPNNAME_ATTRIBUTE, /* 653 */
"SMC VPN name attribute", &ett_opsi_smc_vpn_name, &hf_smc_vpn_name_att, decode_string_attribute },
{SMC_RANID_ATTRIBUTE, /* 654 */
"SMC RAN ID attribute", &ett_opsi_smc_ran_id, &hf_smc_ran_id_att, decode_longint_attribute },
{SMC_RANIP_ATTRIBUTE, /* 655 */
"SMC RAN IP attribute", &ett_opsi_smc_ran_ip, &hf_smc_ran_ip_att, decode_ipv4_attribute },
{SMC_RANNAME_ATTRIBUTE, /* 656 */
"SMC RAN name attribute", &ett_opsi_smc_ran_name, &hf_smc_ran_name_att, decode_string_attribute },
{SMC_POPID_ATTRIBUTE, /* 657 */
"SMC POP ID attribute", &ett_opsi_smc_pop_id, &hf_smc_pop_id_att, decode_longint_attribute },
{SMC_POPNAME_ATTRIBUTE, /* 658 */
"SMC POP name attribute", &ett_opsi_smc_pop_name, &hf_smc_pop_name_att, decode_string_attribute },
{SMC_SMCID_ATTRIBUTE, /* 659 */
"SMC ID attribute", &ett_opsi_smc_id, &hf_smc_id_att, decode_longint_attribute },
{SMC_RECEIVE_TIME_ATTRIBUTE, /* 660 */
"SMC receive time attribute", &ett_opsi_smc_receive_time, &hf_smc_receive_time_att, decode_time_attribute },
{SMC_STAT_TIME_ATTRIBUTE, /* 661 */
"SMC stat time attribute", &ett_opsi_smc_stat_time, &hf_smc_stat_time_att, decode_longint_attribute },
{OPSI_FLAGS_ATTRIBUTE, /* 674 */
"OPSI flags attribute", &ett_opsi_flags, &hf_opsi_flags_att, decode_longint_attribute },
{OPSI_APPLICATION_NAME_ATTRIBUTE, /* 675 */
"OPSI application name attribute", &ett_opsi_application_name, &hf_opsi_application_name_att, decode_string_attribute },
};
@ -890,3 +890,16 @@ proto_reg_handoff_opsi(void)
opsi_handle = new_create_dissector_handle(dissect_opsi, proto_opsi);
dissector_add_uint("tcp.port", TCP_PORT_OPSI, opsi_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

@ -310,23 +310,23 @@ paritystr(guint8 parity)
}
static const value_string opt_vals[] = {
{ PGM_OPT_LENGTH, "Length" },
{ PGM_OPT_END, "End" },
{ PGM_OPT_FRAGMENT, "Fragment" },
{ PGM_OPT_NAK_LIST, "NakList" },
{ PGM_OPT_JOIN, "Join" },
{ PGM_OPT_REDIRECT, "ReDirect" },
{ PGM_OPT_SYN, "Syn" },
{ PGM_OPT_FIN, "Fin" },
{ PGM_OPT_RST, "Rst" },
{ PGM_OPT_PARITY_PRM, "ParityPrm" },
{ PGM_OPT_PARITY_GRP, "ParityGrp" },
{ PGM_OPT_CURR_TGSIZE, "CurrTgsiz" },
{ PGM_OPT_PGMCC_DATA, "CcData" },
{ PGM_OPT_LENGTH, "Length" },
{ PGM_OPT_END, "End" },
{ PGM_OPT_FRAGMENT, "Fragment" },
{ PGM_OPT_NAK_LIST, "NakList" },
{ PGM_OPT_JOIN, "Join" },
{ PGM_OPT_REDIRECT, "ReDirect" },
{ PGM_OPT_SYN, "Syn" },
{ PGM_OPT_FIN, "Fin" },
{ PGM_OPT_RST, "Rst" },
{ PGM_OPT_PARITY_PRM, "ParityPrm" },
{ PGM_OPT_PARITY_GRP, "ParityGrp" },
{ PGM_OPT_CURR_TGSIZE, "CurrTgsiz" },
{ PGM_OPT_PGMCC_DATA, "CcData" },
{ PGM_OPT_PGMCC_FEEDBACK, "CcFeedBack" },
{ PGM_OPT_NAK_BO_IVL, "NakBackOffIvl" },
{ PGM_OPT_NAK_BO_RNG, "NakBackOffRng" },
{ PGM_OPT_FRAGMENT, "Fragment" },
{ PGM_OPT_NAK_BO_IVL, "NakBackOffIvl" },
{ PGM_OPT_NAK_BO_RNG, "NakBackOffRng" },
{ PGM_OPT_FRAGMENT, "Fragment" },
{ 0, NULL }
};
@ -363,15 +363,15 @@ dissect_pgmopts(ptvcursor_t* cursor, packet_info *pinfo, const char *pktname)
{
proto_item *tf, *ti, *ti_len;
proto_tree *opts_tree = NULL;
proto_tree *opt_tree = NULL;
tvbuff_t *tvb = ptvcursor_tvbuff(cursor);
proto_tree *opt_tree = NULL;
tvbuff_t *tvb = ptvcursor_tvbuff(cursor);
gboolean theend = FALSE;
guint16 opts_total_len;
guint8 genopts_type;
guint8 genopts_len;
guint8 opts_type;
guint8 genopts_type;
guint8 genopts_len;
guint8 opts_type;
opts_tree = proto_tree_add_subtree_format(ptvcursor_tree(cursor), tvb, ptvcursor_current_offset(cursor), -1,
ett_pgm_opts, &tf, "%s Options", pktname);
@ -415,7 +415,7 @@ dissect_pgmopts(ptvcursor_t* cursor, packet_info *pinfo, const char *pktname)
switch(genopts_type) {
case PGM_OPT_JOIN:{
TLV_CHECK(ett_pgm_opts_join);
TLV_CHECK(ett_pgm_opts_join);
ptvcursor_set_tree(cursor, opt_tree);
ptvcursor_add_no_advance(cursor, hf_pgm_genopt_end, 1, ENC_BIG_ENDIAN);
@ -438,7 +438,7 @@ dissect_pgmopts(ptvcursor_t* cursor, packet_info *pinfo, const char *pktname)
case PGM_OPT_PARITY_PRM:{
guint8 optdata_po;
TLV_CHECK(ett_pgm_opts_parityprm);
TLV_CHECK(ett_pgm_opts_parityprm);
ptvcursor_set_tree(cursor, opt_tree);
ptvcursor_add_no_advance(cursor, hf_pgm_genopt_end, 1, ENC_BIG_ENDIAN);
@ -465,7 +465,7 @@ dissect_pgmopts(ptvcursor_t* cursor, packet_info *pinfo, const char *pktname)
break;
}
case PGM_OPT_PARITY_GRP:{
TLV_CHECK(ett_pgm_opts_paritygrp);
TLV_CHECK(ett_pgm_opts_paritygrp);
ptvcursor_set_tree(cursor, opt_tree);
ptvcursor_add_no_advance(cursor, hf_pgm_genopt_end, 1, ENC_BIG_ENDIAN);
@ -492,7 +492,7 @@ dissect_pgmopts(ptvcursor_t* cursor, packet_info *pinfo, const char *pktname)
gboolean firsttime;
int i, j, naks, soffset;
TLV_CHECK(ett_pgm_opts_naklist);
TLV_CHECK(ett_pgm_opts_naklist);
ptvcursor_set_tree(cursor, opt_tree);
ptvcursor_add_no_advance(cursor, hf_pgm_genopt_end, 1, ENC_BIG_ENDIAN);
@ -551,7 +551,7 @@ dissect_pgmopts(ptvcursor_t* cursor, packet_info *pinfo, const char *pktname)
case PGM_OPT_PGMCC_DATA:{
guint16 optdata_afi;
TLV_CHECK(ett_pgm_opts_ccdata);
TLV_CHECK(ett_pgm_opts_ccdata);
ptvcursor_set_tree(cursor, opt_tree);
ptvcursor_add_no_advance(cursor, hf_pgm_genopt_end, 1, ENC_BIG_ENDIAN);
@ -592,7 +592,7 @@ dissect_pgmopts(ptvcursor_t* cursor, packet_info *pinfo, const char *pktname)
case PGM_OPT_PGMCC_FEEDBACK:{
guint16 optdata_afi;
TLV_CHECK(ett_pgm_opts_ccdata);
TLV_CHECK(ett_pgm_opts_ccdata);
ptvcursor_set_tree(cursor, opt_tree);
ptvcursor_add_no_advance(cursor, hf_pgm_genopt_end, 1, ENC_BIG_ENDIAN);
@ -631,7 +631,7 @@ dissect_pgmopts(ptvcursor_t* cursor, packet_info *pinfo, const char *pktname)
break;
}
case PGM_OPT_NAK_BO_IVL:{
TLV_CHECK(ett_pgm_opts_nak_bo_ivl);
TLV_CHECK(ett_pgm_opts_nak_bo_ivl);
ptvcursor_set_tree(cursor, opt_tree);
ptvcursor_add_no_advance(cursor, hf_pgm_genopt_end, 1, ENC_BIG_ENDIAN);
@ -653,7 +653,7 @@ dissect_pgmopts(ptvcursor_t* cursor, packet_info *pinfo, const char *pktname)
break;
}
case PGM_OPT_NAK_BO_RNG:{
TLV_CHECK(ett_pgm_opts_nak_bo_rng);
TLV_CHECK(ett_pgm_opts_nak_bo_rng);
ptvcursor_set_tree(cursor, opt_tree);
ptvcursor_add_no_advance(cursor, hf_pgm_genopt_end, 1, ENC_BIG_ENDIAN);
@ -677,7 +677,7 @@ dissect_pgmopts(ptvcursor_t* cursor, packet_info *pinfo, const char *pktname)
case PGM_OPT_REDIRECT:{
guint16 optdata_afi;
TLV_CHECK(ett_pgm_opts_redirect);
TLV_CHECK(ett_pgm_opts_redirect);
ptvcursor_set_tree(cursor, opt_tree);
ptvcursor_add_no_advance(cursor, hf_pgm_genopt_end, 1, ENC_BIG_ENDIAN);
@ -715,7 +715,7 @@ dissect_pgmopts(ptvcursor_t* cursor, packet_info *pinfo, const char *pktname)
break;
}
case PGM_OPT_FRAGMENT:{
TLV_CHECK(ett_pgm_opts_fragment);
TLV_CHECK(ett_pgm_opts_fragment);
ptvcursor_set_tree(cursor, opt_tree);
ptvcursor_add_no_advance(cursor, hf_pgm_genopt_end, 1, ENC_BIG_ENDIAN);
@ -738,7 +738,7 @@ dissect_pgmopts(ptvcursor_t* cursor, packet_info *pinfo, const char *pktname)
break;
}
default:{
TLV_CHECK(ett_pgm_opts);
TLV_CHECK(ett_pgm_opts);
ptvcursor_advance(cursor, genopts_len);
break;
}
@ -774,31 +774,31 @@ static const value_string poll_subtype_vals[] = {
static void
decode_pgm_ports(tvbuff_t *tvb, int offset, packet_info *pinfo,
proto_tree *tree, guint16 pgmhdr_sport, guint16 pgmhdr_dport)
proto_tree *tree, guint16 pgmhdr_sport, guint16 pgmhdr_dport)
{
tvbuff_t *next_tvb;
int found = 0;
heur_dtbl_entry_t *hdtbl_entry;
tvbuff_t *next_tvb;
int found = 0;
heur_dtbl_entry_t *hdtbl_entry;
next_tvb = tvb_new_subset_remaining(tvb, offset);
next_tvb = tvb_new_subset_remaining(tvb, offset);
/* do lookup with the subdissector table */
found = dissector_try_uint(subdissector_table, pgmhdr_sport,
next_tvb, pinfo, tree);
if (found)
return;
/* do lookup with the subdissector table */
found = dissector_try_uint(subdissector_table, pgmhdr_sport,
next_tvb, pinfo, tree);
if (found)
return;
found = dissector_try_uint(subdissector_table, pgmhdr_dport,
next_tvb, pinfo, tree);
if (found)
return;
found = dissector_try_uint(subdissector_table, pgmhdr_dport,
next_tvb, pinfo, tree);
if (found)
return;
/* do lookup with the heuristic subdissector table */
if (dissector_try_heuristic(heur_subdissector_list, next_tvb, pinfo, tree, &hdtbl_entry, NULL))
return;
/* do lookup with the heuristic subdissector table */
if (dissector_try_heuristic(heur_subdissector_list, next_tvb, pinfo, tree, &hdtbl_entry, NULL))
return;
/* Oh, well, we don't know this; dissect it as data. */
call_dissector(data_handle,next_tvb, pinfo, tree);
/* Oh, well, we don't know this; dissect it as data. */
call_dissector(data_handle,next_tvb, pinfo, tree);
}
/*
@ -809,20 +809,20 @@ dissect_pgm(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree)
{
guint16 pgmhdr_sport;
guint16 pgmhdr_dport;
guint8 pgmhdr_type;
guint8 pgmhdr_opts;
guint8 pgmhdr_type;
guint8 pgmhdr_opts;
guint16 pgmhdr_cksum;
guint16 pgmhdr_tsdulen;
guint32 sqn;
guint16 afi;
guint plen = 0;
guint plen = 0;
proto_item *ti;
const char *pktname;
const char *pollstname;
char *gsi;
gboolean isdata = FALSE;
guint pgmlen, reportedlen;
char *gsi;
gboolean isdata = FALSE;
guint pgmlen, reportedlen;
col_set_str(pinfo->cinfo, COL_PROTOCOL, "PGM");
@ -1093,349 +1093,349 @@ dissect_pgm(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree)
void
proto_register_pgm(void)
{
static hf_register_info hf[] = {
{ &hf_pgm_main_sport,
{ "Source Port", "pgm.hdr.sport", FT_UINT16, BASE_DEC,
NULL, 0x0, NULL, HFILL }},
{ &hf_pgm_main_dport,
{ "Destination Port", "pgm.hdr.dport", FT_UINT16, BASE_DEC,
NULL, 0x0, NULL, HFILL }},
{ &hf_pgm_port,
{ "Port", "pgm.port", FT_UINT16, BASE_DEC,
NULL, 0x0, NULL, HFILL }},
{ &hf_pgm_main_type,
{ "Type", "pgm.hdr.type", FT_UINT8, BASE_HEX,
VALS(type_vals), 0x0, NULL, HFILL }},
{ &hf_pgm_main_opts,
{ "Options", "pgm.hdr.opts", FT_UINT8, BASE_HEX,
NULL, 0x0, NULL, HFILL }},
{ &hf_pgm_main_opts_opt,
{ "Options", "pgm.hdr.opts.opt", FT_BOOLEAN, 8,
TFS(&opts_present), PGM_OPT, NULL, HFILL }},
{ &hf_pgm_main_opts_netsig,
{ "Network Significant Options", "pgm.hdr.opts.netsig",
FT_BOOLEAN, 8,
TFS(&opts_present), PGM_OPT_NETSIG, NULL, HFILL }},
{ &hf_pgm_main_opts_varlen,
{ "Variable length Parity Packet Option", "pgm.hdr.opts.varlen",
FT_BOOLEAN, 8,
TFS(&opts_present), PGM_OPT_VAR_PKTLEN, NULL, HFILL }},
{ &hf_pgm_main_opts_parity,
{ "Parity", "pgm.hdr.opts.parity", FT_BOOLEAN, 8,
TFS(&opts_present), PGM_OPT_PARITY, NULL, HFILL }},
{ &hf_pgm_main_cksum,
{ "Checksum", "pgm.hdr.cksum", FT_UINT16, BASE_HEX,
NULL, 0x0, NULL, HFILL }},
{ &hf_pgm_main_cksum_bad,
{ "Bad Checksum", "pgm.hdr.cksum_bad", FT_BOOLEAN, BASE_NONE,
NULL, 0x0, NULL, HFILL }},
{ &hf_pgm_main_gsi,
{ "Global Source Identifier", "pgm.hdr.gsi", FT_BYTES, BASE_NONE,
NULL, 0x0, NULL, HFILL }},
{ &hf_pgm_main_tsdulen,
{ "Transport Service Data Unit Length", "pgm.hdr.tsdulen", FT_UINT16,
BASE_DEC, NULL, 0x0, NULL, HFILL }},
{ &hf_pgm_spm_sqn,
{ "Sequence number", "pgm.spm.sqn", FT_UINT32, BASE_HEX,
NULL, 0x0, NULL, HFILL }},
{ &hf_pgm_spm_trail,
{ "Trailing Edge Sequence Number", "pgm.spm.trail", FT_UINT32, BASE_HEX,
NULL, 0x0, NULL, HFILL }},
{ &hf_pgm_spm_lead,
{ "Leading Edge Sequence Number", "pgm.spm.lead", FT_UINT32, BASE_HEX,
NULL, 0x0, NULL, HFILL }},
{ &hf_pgm_spm_pathafi,
{ "Path NLA AFI", "pgm.spm.pathafi", FT_UINT16, BASE_DEC,
VALS(afn_vals), 0x0, NULL, HFILL }},
{ &hf_pgm_spm_res,
{ "Reserved", "pgm.spm.res", FT_UINT16, BASE_HEX,
NULL, 0x0, NULL, HFILL }},
{ &hf_pgm_spm_path,
{ "Path NLA", "pgm.spm.path", FT_IPv4, BASE_NONE,
NULL, 0x0, NULL, HFILL }},
{ &hf_pgm_spm_path6,
{ "Path NLA", "pgm.spm.path", FT_IPv6, BASE_NONE,
NULL, 0x0, NULL, HFILL }},
static hf_register_info hf[] = {
{ &hf_pgm_main_sport,
{ "Source Port", "pgm.hdr.sport", FT_UINT16, BASE_DEC,
NULL, 0x0, NULL, HFILL }},
{ &hf_pgm_main_dport,
{ "Destination Port", "pgm.hdr.dport", FT_UINT16, BASE_DEC,
NULL, 0x0, NULL, HFILL }},
{ &hf_pgm_port,
{ "Port", "pgm.port", FT_UINT16, BASE_DEC,
NULL, 0x0, NULL, HFILL }},
{ &hf_pgm_main_type,
{ "Type", "pgm.hdr.type", FT_UINT8, BASE_HEX,
VALS(type_vals), 0x0, NULL, HFILL }},
{ &hf_pgm_main_opts,
{ "Options", "pgm.hdr.opts", FT_UINT8, BASE_HEX,
NULL, 0x0, NULL, HFILL }},
{ &hf_pgm_main_opts_opt,
{ "Options", "pgm.hdr.opts.opt", FT_BOOLEAN, 8,
TFS(&opts_present), PGM_OPT, NULL, HFILL }},
{ &hf_pgm_main_opts_netsig,
{ "Network Significant Options", "pgm.hdr.opts.netsig",
FT_BOOLEAN, 8,
TFS(&opts_present), PGM_OPT_NETSIG, NULL, HFILL }},
{ &hf_pgm_main_opts_varlen,
{ "Variable length Parity Packet Option", "pgm.hdr.opts.varlen",
FT_BOOLEAN, 8,
TFS(&opts_present), PGM_OPT_VAR_PKTLEN, NULL, HFILL }},
{ &hf_pgm_main_opts_parity,
{ "Parity", "pgm.hdr.opts.parity", FT_BOOLEAN, 8,
TFS(&opts_present), PGM_OPT_PARITY, NULL, HFILL }},
{ &hf_pgm_main_cksum,
{ "Checksum", "pgm.hdr.cksum", FT_UINT16, BASE_HEX,
NULL, 0x0, NULL, HFILL }},
{ &hf_pgm_main_cksum_bad,
{ "Bad Checksum", "pgm.hdr.cksum_bad", FT_BOOLEAN, BASE_NONE,
NULL, 0x0, NULL, HFILL }},
{ &hf_pgm_main_gsi,
{ "Global Source Identifier", "pgm.hdr.gsi", FT_BYTES, BASE_NONE,
NULL, 0x0, NULL, HFILL }},
{ &hf_pgm_main_tsdulen,
{ "Transport Service Data Unit Length", "pgm.hdr.tsdulen", FT_UINT16,
BASE_DEC, NULL, 0x0, NULL, HFILL }},
{ &hf_pgm_spm_sqn,
{ "Sequence number", "pgm.spm.sqn", FT_UINT32, BASE_HEX,
NULL, 0x0, NULL, HFILL }},
{ &hf_pgm_spm_trail,
{ "Trailing Edge Sequence Number", "pgm.spm.trail", FT_UINT32, BASE_HEX,
NULL, 0x0, NULL, HFILL }},
{ &hf_pgm_spm_lead,
{ "Leading Edge Sequence Number", "pgm.spm.lead", FT_UINT32, BASE_HEX,
NULL, 0x0, NULL, HFILL }},
{ &hf_pgm_spm_pathafi,
{ "Path NLA AFI", "pgm.spm.pathafi", FT_UINT16, BASE_DEC,
VALS(afn_vals), 0x0, NULL, HFILL }},
{ &hf_pgm_spm_res,
{ "Reserved", "pgm.spm.res", FT_UINT16, BASE_HEX,
NULL, 0x0, NULL, HFILL }},
{ &hf_pgm_spm_path,
{ "Path NLA", "pgm.spm.path", FT_IPv4, BASE_NONE,
NULL, 0x0, NULL, HFILL }},
{ &hf_pgm_spm_path6,
{ "Path NLA", "pgm.spm.path", FT_IPv6, BASE_NONE,
NULL, 0x0, NULL, HFILL }},
#if 0
{ &hf_pgm_data_sqn,
{ "Data Packet Sequence Number", "pgm.data.sqn", FT_UINT32, BASE_HEX,
NULL, 0x0, NULL, HFILL }},
{ &hf_pgm_data_sqn,
{ "Data Packet Sequence Number", "pgm.data.sqn", FT_UINT32, BASE_HEX,
NULL, 0x0, NULL, HFILL }},
#endif
#if 0
{ &hf_pgm_data_trail,
{ "Trailing Edge Sequence Number", "pgm.data.trail", FT_UINT32, BASE_HEX,
NULL, 0x0, NULL, HFILL }},
{ &hf_pgm_data_trail,
{ "Trailing Edge Sequence Number", "pgm.data.trail", FT_UINT32, BASE_HEX,
NULL, 0x0, NULL, HFILL }},
#endif
{ &hf_pgm_nak_sqn,
{ "Requested Sequence Number", "pgm.nak.sqn", FT_UINT32, BASE_HEX,
NULL, 0x0, NULL, HFILL }},
{ &hf_pgm_nak_srcafi,
{ "Source NLA AFI", "pgm.nak.srcafi", FT_UINT16, BASE_DEC,
VALS(afn_vals), 0x0, NULL, HFILL }},
{ &hf_pgm_nak_srcres,
{ "Reserved", "pgm.nak.srcres", FT_UINT16, BASE_HEX,
NULL, 0x0, NULL, HFILL }},
{ &hf_pgm_nak_src,
{ "Source NLA", "pgm.nak.src", FT_IPv4, BASE_NONE,
NULL, 0x0, NULL, HFILL }},
{ &hf_pgm_nak_src6,
{ "Source NLA", "pgm.nak.src", FT_IPv6, BASE_NONE,
NULL, 0x0, NULL, HFILL }},
{ &hf_pgm_nak_grpafi,
{ "Multicast Group AFI", "pgm.nak.grpafi", FT_UINT16, BASE_DEC,
VALS(afn_vals), 0x0, NULL, HFILL }},
{ &hf_pgm_nak_grpres,
{ "Reserved", "pgm.nak.grpres", FT_UINT16, BASE_HEX,
NULL, 0x0, NULL, HFILL }},
{ &hf_pgm_nak_grp,
{ "Multicast Group NLA", "pgm.nak.grp", FT_IPv4, BASE_NONE,
NULL, 0x0, NULL, HFILL }},
{ &hf_pgm_nak_grp6,
{ "Multicast Group NLA", "pgm.nak.grp", FT_IPv6, BASE_NONE,
NULL, 0x0, NULL, HFILL }},
{ &hf_pgm_poll_sqn,
{ "Sequence Number", "pgm.poll.sqn", FT_UINT32, BASE_HEX,
NULL, 0x0, NULL, HFILL }},
{ &hf_pgm_poll_round,
{ "Round", "pgm.poll.round", FT_UINT16, BASE_DEC,
NULL, 0x0, NULL, HFILL }},
{ &hf_pgm_poll_subtype,
{ "Subtype", "pgm.poll.subtype", FT_UINT16, BASE_HEX,
VALS(poll_subtype_vals), 0x0, NULL, HFILL }},
{ &hf_pgm_poll_pathafi,
{ "Path NLA AFI", "pgm.poll.pathafi", FT_UINT16, BASE_DEC,
VALS(afn_vals), 0x0, NULL, HFILL }},
{ &hf_pgm_poll_res,
{ "Reserved", "pgm.poll.res", FT_UINT16, BASE_HEX,
NULL, 0x0, NULL, HFILL }},
{ &hf_pgm_poll_path,
{ "Path NLA", "pgm.poll.path", FT_IPv4, BASE_NONE,
NULL, 0x0, NULL, HFILL }},
{ &hf_pgm_poll_path6,
{ "Path NLA", "pgm.poll.path", FT_IPv6, BASE_NONE,
NULL, 0x0, NULL, HFILL }},
{ &hf_pgm_poll_backoff_ivl,
{ "Back-off Interval", "pgm.poll.backoff_ivl", FT_UINT32, BASE_DEC,
NULL, 0x0, NULL, HFILL }},
{ &hf_pgm_poll_rand_str,
{ "Random String", "pgm.poll.rand_str", FT_UINT32, BASE_HEX,
NULL, 0x0, NULL, HFILL }},
{ &hf_pgm_poll_matching_bmask,
{ "Matching Bitmask", "pgm.poll.matching_bmask", FT_UINT32, BASE_HEX,
NULL, 0x0, NULL, HFILL }},
{ &hf_pgm_polr_sqn,
{ "Sequence Number", "pgm.polr.sqn", FT_UINT32, BASE_HEX,
NULL, 0x0, NULL, HFILL }},
{ &hf_pgm_polr_round,
{ "Round", "pgm.polr.round", FT_UINT16, BASE_DEC,
NULL, 0x0, NULL, HFILL }},
{ &hf_pgm_polr_res,
{ "Reserved", "pgm.polr.res", FT_UINT16, BASE_HEX,
NULL, 0x0, NULL, HFILL }},
{ &hf_pgm_ack_sqn,
{ "Maximum Received Sequence Number", "pgm.ack.maxsqn", FT_UINT32,
BASE_HEX, NULL, 0x0, NULL, HFILL }},
{ &hf_pgm_ack_bitmap,
{ "Packet Bitmap", "pgm.ack.bitmap", FT_UINT32, BASE_HEX,
NULL, 0x0, NULL, HFILL }},
{ &hf_pgm_opt_type,
{ "Type", "pgm.opts.type", FT_UINT8, BASE_HEX,
VALS(opt_vals), 0x0, NULL, HFILL }},
{ &hf_pgm_opt_len,
{ "Length", "pgm.opts.len", FT_UINT8, BASE_DEC,
NULL, 0x0, NULL, HFILL }},
{ &hf_pgm_opt_tlen,
{ "Total Length", "pgm.opts.tlen", FT_UINT16, BASE_DEC,
NULL, 0x0, NULL, HFILL }},
{ &hf_pgm_genopt_end,
{ "Option end", "pgm.genopts.end", FT_BOOLEAN, 8,
TFS(&tfs_yes_no), 0x80, NULL, HFILL }},
{ &hf_pgm_genopt_type,
{ "Type", "pgm.genopts.type", FT_UINT8, BASE_HEX,
VALS(opt_vals), 0x7f, NULL, HFILL }},
{ &hf_pgm_genopt_len,
{ "Length", "pgm.genopts.len", FT_UINT8, BASE_DEC,
NULL, 0x0, NULL, HFILL }},
{ &hf_pgm_genopt_opx,
{ "Option Extensibility Bits", "pgm.genopts.opx", FT_UINT8, BASE_HEX,
VALS(opx_vals), 0x0, NULL, HFILL }},
{ &hf_pgm_opt_parity_prm_po,
{ "Parity Parameters", "pgm.opts.parity_prm.op", FT_UINT8, BASE_HEX,
NULL, 0x0, NULL, HFILL }},
{ &hf_pgm_opt_parity_prm_prmtgsz,
{ "Transmission Group Size", "pgm.opts.parity_prm.prm_grp",
FT_UINT32, BASE_HEX,
NULL, 0x0, NULL, HFILL }},
{ &hf_pgm_opt_join_res,
{ "Reserved", "pgm.opts.join.res", FT_UINT8, BASE_HEX,
NULL, 0x0, NULL, HFILL }},
{ &hf_pgm_opt_join_minjoin,
{ "Minimum Sequence Number", "pgm.opts.join.min_join",
FT_UINT32, BASE_HEX, NULL, 0x0, NULL, HFILL }},
{ &hf_pgm_opt_parity_grp_res,
{ "Reserved", "pgm.opts.parity_prm.op", FT_UINT8, BASE_HEX,
NULL, 0x0, NULL, HFILL }},
{ &hf_pgm_opt_parity_grp_prmgrp,
{ "Transmission Group Size", "pgm.opts.parity_prm.prm_grp",
FT_UINT32, BASE_HEX,
NULL, 0x0, NULL, HFILL }},
{ &hf_pgm_opt_nak_res,
{ "Reserved", "pgm.opts.nak.op", FT_UINT8, BASE_HEX,
NULL, 0x0, NULL, HFILL }},
{ &hf_pgm_opt_nak_list,
{ "List", "pgm.opts.nak.list", FT_BYTES, BASE_NONE,
NULL, 0x0, NULL, HFILL }},
{ &hf_pgm_opt_ccdata_res,
{ "Reserved", "pgm.opts.ccdata.res", FT_UINT8, BASE_DEC,
NULL, 0x0, NULL, HFILL }},
{ &hf_pgm_opt_ccdata_tsp,
{ "Time Stamp", "pgm.opts.ccdata.tstamp", FT_UINT16, BASE_HEX,
NULL, 0x0, NULL, HFILL }},
{ &hf_pgm_opt_ccdata_afi,
{ "Acker AFI", "pgm.opts.ccdata.afi", FT_UINT16, BASE_DEC,
VALS(afn_vals), 0x0, NULL, HFILL }},
{ &hf_pgm_opt_ccdata_res2,
{ "Reserved", "pgm.opts.ccdata.res2", FT_UINT16, BASE_DEC,
NULL, 0x0, NULL, HFILL }},
{ &hf_pgm_opt_ccdata_acker,
{ "Acker", "pgm.opts.ccdata.acker", FT_IPv4, BASE_NONE,
NULL, 0x0, NULL, HFILL }},
{ &hf_pgm_opt_ccdata_acker6,
{ "Acker", "pgm.opts.ccdata.acker", FT_IPv6, BASE_NONE,
NULL, 0x0, NULL, HFILL }},
{ &hf_pgm_opt_ccfeedbk_res,
{ "Reserved", "pgm.opts.ccdata.res", FT_UINT8, BASE_DEC,
NULL, 0x0, NULL, HFILL }},
{ &hf_pgm_opt_ccfeedbk_tsp,
{ "Time Stamp", "pgm.opts.ccdata.tstamp", FT_UINT16, BASE_HEX,
NULL, 0x0, NULL, HFILL }},
{ &hf_pgm_opt_ccfeedbk_afi,
{ "Acker AFI", "pgm.opts.ccdata.afi", FT_UINT16, BASE_DEC,
VALS(afn_vals), 0x0, NULL, HFILL }},
{ &hf_pgm_opt_ccfeedbk_lossrate,
{ "Loss Rate", "pgm.opts.ccdata.lossrate", FT_UINT16, BASE_HEX,
NULL, 0x0, NULL, HFILL }},
{ &hf_pgm_opt_ccfeedbk_acker,
{ "Acker", "pgm.opts.ccdata.acker", FT_IPv4, BASE_NONE,
NULL, 0x0, NULL, HFILL }},
{ &hf_pgm_opt_ccfeedbk_acker6,
{ "Acker", "pgm.opts.ccdata.acker", FT_IPv6, BASE_NONE,
NULL, 0x0, NULL, HFILL }},
{ &hf_pgm_opt_nak_bo_ivl_res,
{ "Reserved", "pgm.opts.nak_bo_ivl.res", FT_UINT8, BASE_HEX,
NULL, 0x0, NULL, HFILL }},
{ &hf_pgm_opt_nak_bo_ivl_bo_ivl,
{ "Back-off Interval", "pgm.opts.nak_bo_ivl.bo_ivl", FT_UINT32, BASE_DEC,
NULL, 0x0, NULL, HFILL }},
{ &hf_pgm_opt_nak_bo_ivl_bo_ivl_sqn,
{ "Back-off Interval Sequence Number", "pgm.opts.nak_bo_ivl.bo_ivl_sqn", FT_UINT32, BASE_HEX,
NULL, 0x0, NULL, HFILL }},
{ &hf_pgm_opt_nak_bo_rng_res,
{ "Reserved", "pgm.opts.nak_bo_rng.res", FT_UINT8, BASE_HEX,
NULL, 0x0, NULL, HFILL }},
{ &hf_pgm_opt_nak_bo_rng_min_bo_ivl,
{ "Min Back-off Interval", "pgm.opts.nak_bo_rng.min_bo_ivl", FT_UINT32, BASE_DEC,
NULL, 0x0, NULL, HFILL }},
{ &hf_pgm_opt_nak_bo_rng_max_bo_ivl,
{ "Max Back-off Interval", "pgm.opts.nak_bo_rng.max_bo_ivl", FT_UINT32, BASE_DEC,
NULL, 0x0, NULL, HFILL }},
{ &hf_pgm_opt_redirect_res,
{ "Reserved", "pgm.opts.redirect.res", FT_UINT8, BASE_DEC,
NULL, 0x0, NULL, HFILL }},
{ &hf_pgm_opt_redirect_afi,
{ "DLR AFI", "pgm.opts.redirect.afi", FT_UINT16, BASE_DEC,
VALS(afn_vals), 0x0, NULL, HFILL }},
{ &hf_pgm_opt_redirect_res2,
{ "Reserved", "pgm.opts.redirect.res2", FT_UINT16, BASE_HEX,
NULL, 0x0, NULL, HFILL }},
{ &hf_pgm_opt_redirect_dlr,
{ "DLR", "pgm.opts.redirect.dlr", FT_IPv4, BASE_NONE,
NULL, 0x0, NULL, HFILL }},
{ &hf_pgm_opt_redirect_dlr6,
{ "DLR", "pgm.opts.redirect.dlr", FT_IPv6, BASE_NONE,
NULL, 0x0, NULL, HFILL }},
{ &hf_pgm_opt_fragment_res,
{ "Reserved", "pgm.opts.fragment.res", FT_UINT8, BASE_HEX,
NULL, 0x0, NULL, HFILL }},
{ &hf_pgm_opt_fragment_first_sqn,
{ "First Sequence Number", "pgm.opts.fragment.first_sqn", FT_UINT32, BASE_HEX,
NULL, 0x0, NULL, HFILL }},
{ &hf_pgm_opt_fragment_offset,
{ "Fragment Offset", "pgm.opts.fragment.fragment_offset", FT_UINT32, BASE_DEC,
NULL, 0x0, NULL, HFILL }},
{ &hf_pgm_opt_fragment_total_length,
{ "Total Length", "pgm.opts.fragment.total_length", FT_UINT32, BASE_DEC,
NULL, 0x0, NULL, HFILL }}
};
static gint *ett[] = {
&ett_pgm,
&ett_pgm_optbits,
&ett_pgm_spm,
&ett_pgm_data,
&ett_pgm_nak,
&ett_pgm_poll,
&ett_pgm_polr,
&ett_pgm_ack,
&ett_pgm_opts,
&ett_pgm_opts_join,
&ett_pgm_opts_parityprm,
&ett_pgm_opts_paritygrp,
&ett_pgm_opts_naklist,
&ett_pgm_opts_ccdata,
&ett_pgm_opts_nak_bo_ivl,
&ett_pgm_opts_nak_bo_rng,
&ett_pgm_opts_redirect,
&ett_pgm_opts_fragment
};
static ei_register_info ei[] = {
{ &ei_pgm_opt_type, { "pgm.opts.type.invalid", PI_PROTOCOL, PI_WARN, "Invalid option", EXPFILL }},
{ &ei_pgm_opt_tlen, { "pgm.opts.tlen.invalid", PI_PROTOCOL, PI_WARN, "Total Length invalid", EXPFILL }},
{ &ei_pgm_genopt_len, { "pgm.genopts.len.invalid", PI_PROTOCOL, PI_WARN, "Option length invalid", EXPFILL }},
{ &ei_address_format_invalid, { "pgm.address_format_invalid", PI_PROTOCOL, PI_WARN, "Can't handle this address format", EXPFILL }},
};
{ &hf_pgm_nak_sqn,
{ "Requested Sequence Number", "pgm.nak.sqn", FT_UINT32, BASE_HEX,
NULL, 0x0, NULL, HFILL }},
{ &hf_pgm_nak_srcafi,
{ "Source NLA AFI", "pgm.nak.srcafi", FT_UINT16, BASE_DEC,
VALS(afn_vals), 0x0, NULL, HFILL }},
{ &hf_pgm_nak_srcres,
{ "Reserved", "pgm.nak.srcres", FT_UINT16, BASE_HEX,
NULL, 0x0, NULL, HFILL }},
{ &hf_pgm_nak_src,
{ "Source NLA", "pgm.nak.src", FT_IPv4, BASE_NONE,
NULL, 0x0, NULL, HFILL }},
{ &hf_pgm_nak_src6,
{ "Source NLA", "pgm.nak.src", FT_IPv6, BASE_NONE,
NULL, 0x0, NULL, HFILL }},
{ &hf_pgm_nak_grpafi,
{ "Multicast Group AFI", "pgm.nak.grpafi", FT_UINT16, BASE_DEC,
VALS(afn_vals), 0x0, NULL, HFILL }},
{ &hf_pgm_nak_grpres,
{ "Reserved", "pgm.nak.grpres", FT_UINT16, BASE_HEX,
NULL, 0x0, NULL, HFILL }},
{ &hf_pgm_nak_grp,
{ "Multicast Group NLA", "pgm.nak.grp", FT_IPv4, BASE_NONE,
NULL, 0x0, NULL, HFILL }},
{ &hf_pgm_nak_grp6,
{ "Multicast Group NLA", "pgm.nak.grp", FT_IPv6, BASE_NONE,
NULL, 0x0, NULL, HFILL }},
{ &hf_pgm_poll_sqn,
{ "Sequence Number", "pgm.poll.sqn", FT_UINT32, BASE_HEX,
NULL, 0x0, NULL, HFILL }},
{ &hf_pgm_poll_round,
{ "Round", "pgm.poll.round", FT_UINT16, BASE_DEC,
NULL, 0x0, NULL, HFILL }},
{ &hf_pgm_poll_subtype,
{ "Subtype", "pgm.poll.subtype", FT_UINT16, BASE_HEX,
VALS(poll_subtype_vals), 0x0, NULL, HFILL }},
{ &hf_pgm_poll_pathafi,
{ "Path NLA AFI", "pgm.poll.pathafi", FT_UINT16, BASE_DEC,
VALS(afn_vals), 0x0, NULL, HFILL }},
{ &hf_pgm_poll_res,
{ "Reserved", "pgm.poll.res", FT_UINT16, BASE_HEX,
NULL, 0x0, NULL, HFILL }},
{ &hf_pgm_poll_path,
{ "Path NLA", "pgm.poll.path", FT_IPv4, BASE_NONE,
NULL, 0x0, NULL, HFILL }},
{ &hf_pgm_poll_path6,
{ "Path NLA", "pgm.poll.path", FT_IPv6, BASE_NONE,
NULL, 0x0, NULL, HFILL }},
{ &hf_pgm_poll_backoff_ivl,
{ "Back-off Interval", "pgm.poll.backoff_ivl", FT_UINT32, BASE_DEC,
NULL, 0x0, NULL, HFILL }},
{ &hf_pgm_poll_rand_str,
{ "Random String", "pgm.poll.rand_str", FT_UINT32, BASE_HEX,
NULL, 0x0, NULL, HFILL }},
{ &hf_pgm_poll_matching_bmask,
{ "Matching Bitmask", "pgm.poll.matching_bmask", FT_UINT32, BASE_HEX,
NULL, 0x0, NULL, HFILL }},
{ &hf_pgm_polr_sqn,
{ "Sequence Number", "pgm.polr.sqn", FT_UINT32, BASE_HEX,
NULL, 0x0, NULL, HFILL }},
{ &hf_pgm_polr_round,
{ "Round", "pgm.polr.round", FT_UINT16, BASE_DEC,
NULL, 0x0, NULL, HFILL }},
{ &hf_pgm_polr_res,
{ "Reserved", "pgm.polr.res", FT_UINT16, BASE_HEX,
NULL, 0x0, NULL, HFILL }},
{ &hf_pgm_ack_sqn,
{ "Maximum Received Sequence Number", "pgm.ack.maxsqn", FT_UINT32,
BASE_HEX, NULL, 0x0, NULL, HFILL }},
{ &hf_pgm_ack_bitmap,
{ "Packet Bitmap", "pgm.ack.bitmap", FT_UINT32, BASE_HEX,
NULL, 0x0, NULL, HFILL }},
{ &hf_pgm_opt_type,
{ "Type", "pgm.opts.type", FT_UINT8, BASE_HEX,
VALS(opt_vals), 0x0, NULL, HFILL }},
{ &hf_pgm_opt_len,
{ "Length", "pgm.opts.len", FT_UINT8, BASE_DEC,
NULL, 0x0, NULL, HFILL }},
{ &hf_pgm_opt_tlen,
{ "Total Length", "pgm.opts.tlen", FT_UINT16, BASE_DEC,
NULL, 0x0, NULL, HFILL }},
{ &hf_pgm_genopt_end,
{ "Option end", "pgm.genopts.end", FT_BOOLEAN, 8,
TFS(&tfs_yes_no), 0x80, NULL, HFILL }},
{ &hf_pgm_genopt_type,
{ "Type", "pgm.genopts.type", FT_UINT8, BASE_HEX,
VALS(opt_vals), 0x7f, NULL, HFILL }},
{ &hf_pgm_genopt_len,
{ "Length", "pgm.genopts.len", FT_UINT8, BASE_DEC,
NULL, 0x0, NULL, HFILL }},
{ &hf_pgm_genopt_opx,
{ "Option Extensibility Bits", "pgm.genopts.opx", FT_UINT8, BASE_HEX,
VALS(opx_vals), 0x0, NULL, HFILL }},
{ &hf_pgm_opt_parity_prm_po,
{ "Parity Parameters", "pgm.opts.parity_prm.op", FT_UINT8, BASE_HEX,
NULL, 0x0, NULL, HFILL }},
{ &hf_pgm_opt_parity_prm_prmtgsz,
{ "Transmission Group Size", "pgm.opts.parity_prm.prm_grp",
FT_UINT32, BASE_HEX,
NULL, 0x0, NULL, HFILL }},
{ &hf_pgm_opt_join_res,
{ "Reserved", "pgm.opts.join.res", FT_UINT8, BASE_HEX,
NULL, 0x0, NULL, HFILL }},
{ &hf_pgm_opt_join_minjoin,
{ "Minimum Sequence Number", "pgm.opts.join.min_join",
FT_UINT32, BASE_HEX, NULL, 0x0, NULL, HFILL }},
{ &hf_pgm_opt_parity_grp_res,
{ "Reserved", "pgm.opts.parity_prm.op", FT_UINT8, BASE_HEX,
NULL, 0x0, NULL, HFILL }},
{ &hf_pgm_opt_parity_grp_prmgrp,
{ "Transmission Group Size", "pgm.opts.parity_prm.prm_grp",
FT_UINT32, BASE_HEX,
NULL, 0x0, NULL, HFILL }},
{ &hf_pgm_opt_nak_res,
{ "Reserved", "pgm.opts.nak.op", FT_UINT8, BASE_HEX,
NULL, 0x0, NULL, HFILL }},
{ &hf_pgm_opt_nak_list,
{ "List", "pgm.opts.nak.list", FT_BYTES, BASE_NONE,
NULL, 0x0, NULL, HFILL }},
{ &hf_pgm_opt_ccdata_res,
{ "Reserved", "pgm.opts.ccdata.res", FT_UINT8, BASE_DEC,
NULL, 0x0, NULL, HFILL }},
{ &hf_pgm_opt_ccdata_tsp,
{ "Time Stamp", "pgm.opts.ccdata.tstamp", FT_UINT16, BASE_HEX,
NULL, 0x0, NULL, HFILL }},
{ &hf_pgm_opt_ccdata_afi,
{ "Acker AFI", "pgm.opts.ccdata.afi", FT_UINT16, BASE_DEC,
VALS(afn_vals), 0x0, NULL, HFILL }},
{ &hf_pgm_opt_ccdata_res2,
{ "Reserved", "pgm.opts.ccdata.res2", FT_UINT16, BASE_DEC,
NULL, 0x0, NULL, HFILL }},
{ &hf_pgm_opt_ccdata_acker,
{ "Acker", "pgm.opts.ccdata.acker", FT_IPv4, BASE_NONE,
NULL, 0x0, NULL, HFILL }},
{ &hf_pgm_opt_ccdata_acker6,
{ "Acker", "pgm.opts.ccdata.acker", FT_IPv6, BASE_NONE,
NULL, 0x0, NULL, HFILL }},
{ &hf_pgm_opt_ccfeedbk_res,
{ "Reserved", "pgm.opts.ccdata.res", FT_UINT8, BASE_DEC,
NULL, 0x0, NULL, HFILL }},
{ &hf_pgm_opt_ccfeedbk_tsp,
{ "Time Stamp", "pgm.opts.ccdata.tstamp", FT_UINT16, BASE_HEX,
NULL, 0x0, NULL, HFILL }},
{ &hf_pgm_opt_ccfeedbk_afi,
{ "Acker AFI", "pgm.opts.ccdata.afi", FT_UINT16, BASE_DEC,
VALS(afn_vals), 0x0, NULL, HFILL }},
{ &hf_pgm_opt_ccfeedbk_lossrate,
{ "Loss Rate", "pgm.opts.ccdata.lossrate", FT_UINT16, BASE_HEX,
NULL, 0x0, NULL, HFILL }},
{ &hf_pgm_opt_ccfeedbk_acker,
{ "Acker", "pgm.opts.ccdata.acker", FT_IPv4, BASE_NONE,
NULL, 0x0, NULL, HFILL }},
{ &hf_pgm_opt_ccfeedbk_acker6,
{ "Acker", "pgm.opts.ccdata.acker", FT_IPv6, BASE_NONE,
NULL, 0x0, NULL, HFILL }},
{ &hf_pgm_opt_nak_bo_ivl_res,
{ "Reserved", "pgm.opts.nak_bo_ivl.res", FT_UINT8, BASE_HEX,
NULL, 0x0, NULL, HFILL }},
{ &hf_pgm_opt_nak_bo_ivl_bo_ivl,
{ "Back-off Interval", "pgm.opts.nak_bo_ivl.bo_ivl", FT_UINT32, BASE_DEC,
NULL, 0x0, NULL, HFILL }},
{ &hf_pgm_opt_nak_bo_ivl_bo_ivl_sqn,
{ "Back-off Interval Sequence Number", "pgm.opts.nak_bo_ivl.bo_ivl_sqn", FT_UINT32, BASE_HEX,
NULL, 0x0, NULL, HFILL }},
{ &hf_pgm_opt_nak_bo_rng_res,
{ "Reserved", "pgm.opts.nak_bo_rng.res", FT_UINT8, BASE_HEX,
NULL, 0x0, NULL, HFILL }},
{ &hf_pgm_opt_nak_bo_rng_min_bo_ivl,
{ "Min Back-off Interval", "pgm.opts.nak_bo_rng.min_bo_ivl", FT_UINT32, BASE_DEC,
NULL, 0x0, NULL, HFILL }},
{ &hf_pgm_opt_nak_bo_rng_max_bo_ivl,
{ "Max Back-off Interval", "pgm.opts.nak_bo_rng.max_bo_ivl", FT_UINT32, BASE_DEC,
NULL, 0x0, NULL, HFILL }},
{ &hf_pgm_opt_redirect_res,
{ "Reserved", "pgm.opts.redirect.res", FT_UINT8, BASE_DEC,
NULL, 0x0, NULL, HFILL }},
{ &hf_pgm_opt_redirect_afi,
{ "DLR AFI", "pgm.opts.redirect.afi", FT_UINT16, BASE_DEC,
VALS(afn_vals), 0x0, NULL, HFILL }},
{ &hf_pgm_opt_redirect_res2,
{ "Reserved", "pgm.opts.redirect.res2", FT_UINT16, BASE_HEX,
NULL, 0x0, NULL, HFILL }},
{ &hf_pgm_opt_redirect_dlr,
{ "DLR", "pgm.opts.redirect.dlr", FT_IPv4, BASE_NONE,
NULL, 0x0, NULL, HFILL }},
{ &hf_pgm_opt_redirect_dlr6,
{ "DLR", "pgm.opts.redirect.dlr", FT_IPv6, BASE_NONE,
NULL, 0x0, NULL, HFILL }},
{ &hf_pgm_opt_fragment_res,
{ "Reserved", "pgm.opts.fragment.res", FT_UINT8, BASE_HEX,
NULL, 0x0, NULL, HFILL }},
{ &hf_pgm_opt_fragment_first_sqn,
{ "First Sequence Number", "pgm.opts.fragment.first_sqn", FT_UINT32, BASE_HEX,
NULL, 0x0, NULL, HFILL }},
{ &hf_pgm_opt_fragment_offset,
{ "Fragment Offset", "pgm.opts.fragment.fragment_offset", FT_UINT32, BASE_DEC,
NULL, 0x0, NULL, HFILL }},
{ &hf_pgm_opt_fragment_total_length,
{ "Total Length", "pgm.opts.fragment.total_length", FT_UINT32, BASE_DEC,
NULL, 0x0, NULL, HFILL }}
};
static gint *ett[] = {
&ett_pgm,
&ett_pgm_optbits,
&ett_pgm_spm,
&ett_pgm_data,
&ett_pgm_nak,
&ett_pgm_poll,
&ett_pgm_polr,
&ett_pgm_ack,
&ett_pgm_opts,
&ett_pgm_opts_join,
&ett_pgm_opts_parityprm,
&ett_pgm_opts_paritygrp,
&ett_pgm_opts_naklist,
&ett_pgm_opts_ccdata,
&ett_pgm_opts_nak_bo_ivl,
&ett_pgm_opts_nak_bo_rng,
&ett_pgm_opts_redirect,
&ett_pgm_opts_fragment
};
static ei_register_info ei[] = {
{ &ei_pgm_opt_type, { "pgm.opts.type.invalid", PI_PROTOCOL, PI_WARN, "Invalid option", EXPFILL }},
{ &ei_pgm_opt_tlen, { "pgm.opts.tlen.invalid", PI_PROTOCOL, PI_WARN, "Total Length invalid", EXPFILL }},
{ &ei_pgm_genopt_len, { "pgm.genopts.len.invalid", PI_PROTOCOL, PI_WARN, "Option length invalid", EXPFILL }},
{ &ei_address_format_invalid, { "pgm.address_format_invalid", PI_PROTOCOL, PI_WARN, "Can't handle this address format", EXPFILL }},
};
module_t *pgm_module;
expert_module_t* expert_pgm;
module_t *pgm_module;
expert_module_t* expert_pgm;
proto_pgm = proto_register_protocol("Pragmatic General Multicast",
"PGM", "pgm");
proto_pgm = proto_register_protocol("Pragmatic General Multicast",
"PGM", "pgm");
proto_register_field_array(proto_pgm, hf, array_length(hf));
proto_register_subtree_array(ett, array_length(ett));
expert_pgm = expert_register_protocol(proto_pgm);
expert_register_field_array(expert_pgm, ei, array_length(ei));
proto_register_field_array(proto_pgm, hf, array_length(hf));
proto_register_subtree_array(ett, array_length(ett));
expert_pgm = expert_register_protocol(proto_pgm);
expert_register_field_array(expert_pgm, ei, array_length(ei));
/* subdissector code */
subdissector_table = register_dissector_table("pgm.port",
"PGM port", FT_UINT16, BASE_DEC);
register_heur_dissector_list("pgm", &heur_subdissector_list);
subdissector_table = register_dissector_table("pgm.port",
"PGM port", FT_UINT16, BASE_DEC);
register_heur_dissector_list("pgm", &heur_subdissector_list);
/*
* Register configuration preferences for UDP encapsulation
* (Note: Initially the ports are set to zero and the ports
* are not registered so the dissecting of PGM
* encapsulated in UDP packets is off by default;
* dissector_add_for_decode_as is called so that pgm
* is available for 'decode-as'
*/
pgm_module = prefs_register_protocol(proto_pgm, proto_reg_handoff_pgm);
/*
* Register configuration preferences for UDP encapsulation
* (Note: Initially the ports are set to zero and the ports
* are not registered so the dissecting of PGM
* encapsulated in UDP packets is off by default;
* dissector_add_for_decode_as is called so that pgm
* is available for 'decode-as'
*/
pgm_module = prefs_register_protocol(proto_pgm, proto_reg_handoff_pgm);
prefs_register_bool_preference(pgm_module, "check_checksum",
"Check the validity of the PGM checksum when possible",
"Whether to check the validity of the PGM checksum",
&pgm_check_checksum);
prefs_register_bool_preference(pgm_module, "check_checksum",
"Check the validity of the PGM checksum when possible",
"Whether to check the validity of the PGM checksum",
&pgm_check_checksum);
prefs_register_uint_preference(pgm_module, "udp.encap_ucast_port",
"PGM Encap Unicast Port (standard is 3055)",
"PGM Encap is PGM packets encapsulated in UDP packets"
" (Note: This option is off, i.e. port is 0, by default)",
10, &udp_encap_ucast_port);
prefs_register_uint_preference(pgm_module, "udp.encap_ucast_port",
"PGM Encap Unicast Port (standard is 3055)",
"PGM Encap is PGM packets encapsulated in UDP packets"
" (Note: This option is off, i.e. port is 0, by default)",
10, &udp_encap_ucast_port);
prefs_register_uint_preference(pgm_module, "udp.encap_mcast_port",
"PGM Encap Multicast Port (standard is 3056)",
"PGM Encap is PGM packets encapsulated in UDP packets"
" (Note: This option is off, i.e. port is 0, by default)",
10, &udp_encap_mcast_port);
prefs_register_uint_preference(pgm_module, "udp.encap_mcast_port",
"PGM Encap Multicast Port (standard is 3056)",
"PGM Encap is PGM packets encapsulated in UDP packets"
" (Note: This option is off, i.e. port is 0, by default)",
10, &udp_encap_mcast_port);
}
@ -1447,32 +1447,45 @@ proto_register_pgm(void)
void
proto_reg_handoff_pgm(void)
{
static gboolean initialized = FALSE;
static dissector_handle_t pgm_handle;
static guint old_udp_encap_ucast_port;
static guint old_udp_encap_mcast_port;
static gboolean initialized = FALSE;
static dissector_handle_t pgm_handle;
static guint old_udp_encap_ucast_port;
static guint old_udp_encap_mcast_port;
if (! initialized) {
pgm_handle = create_dissector_handle(dissect_pgm, proto_pgm);
dissector_add_for_decode_as("udp.port", pgm_handle);
dissector_add_uint("ip.proto", IP_PROTO_PGM, pgm_handle);
data_handle = find_dissector("data");
initialized = TRUE;
} else {
if (old_udp_encap_ucast_port != 0) {
dissector_delete_uint("udp.port", old_udp_encap_ucast_port, pgm_handle);
}
if (old_udp_encap_mcast_port != 0) {
dissector_delete_uint("udp.port", old_udp_encap_mcast_port, pgm_handle);
}
}
if (! initialized) {
pgm_handle = create_dissector_handle(dissect_pgm, proto_pgm);
dissector_add_for_decode_as("udp.port", pgm_handle);
dissector_add_uint("ip.proto", IP_PROTO_PGM, pgm_handle);
data_handle = find_dissector("data");
initialized = TRUE;
} else {
if (old_udp_encap_ucast_port != 0) {
dissector_delete_uint("udp.port", old_udp_encap_ucast_port, pgm_handle);
}
if (old_udp_encap_mcast_port != 0) {
dissector_delete_uint("udp.port", old_udp_encap_mcast_port, pgm_handle);
}
}
if (udp_encap_ucast_port != 0) {
dissector_add_uint("udp.port", udp_encap_ucast_port, pgm_handle);
}
if (udp_encap_mcast_port != 0) {
dissector_add_uint("udp.port", udp_encap_mcast_port, pgm_handle);
}
old_udp_encap_ucast_port = udp_encap_ucast_port;
old_udp_encap_mcast_port = udp_encap_mcast_port;
if (udp_encap_ucast_port != 0) {
dissector_add_uint("udp.port", udp_encap_ucast_port, pgm_handle);
}
if (udp_encap_mcast_port != 0) {
dissector_add_uint("udp.port", udp_encap_mcast_port, pgm_handle);
}
old_udp_encap_ucast_port = udp_encap_ucast_port;
old_udp_encap_mcast_port = udp_encap_mcast_port;
}
/*
* 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

@ -218,96 +218,96 @@ static gboolean global_pppoe_show_tags_and_lengths = FALSE;
static const value_string code_vals[] = {
{PPPOE_CODE_SESSION, "Session Data" },
{PPPOE_CODE_PADO, "Active Discovery Offer (PADO)" },
{PPPOE_CODE_PADI, "Active Discovery Initiation (PADI)" },
{PPPOE_CODE_PADG, "Active Discovery Session-Grant (PADG)" },
{PPPOE_CODE_PADC, "Active Discovery Session-Credit Resp.(PADC)" },
{PPPOE_CODE_PADQ, "Active Discovery Quality (PADQ)" },
{PPPOE_CODE_PADR, "Active Discovery Request (PADR)" },
{PPPOE_CODE_PADS, "Active Discovery Session-confirmation (PADS)"},
{PPPOE_CODE_PADT, "Active Discovery Terminate (PADT)" },
{PPPOE_CODE_PADM, "Active Discovery Message (PADM)" },
{PPPOE_CODE_PADN, "Active Discovery Network (PADN)" },
{0, NULL }
{PPPOE_CODE_SESSION, "Session Data" },
{PPPOE_CODE_PADO, "Active Discovery Offer (PADO)" },
{PPPOE_CODE_PADI, "Active Discovery Initiation (PADI)" },
{PPPOE_CODE_PADG, "Active Discovery Session-Grant (PADG)" },
{PPPOE_CODE_PADC, "Active Discovery Session-Credit Resp.(PADC)" },
{PPPOE_CODE_PADQ, "Active Discovery Quality (PADQ)" },
{PPPOE_CODE_PADR, "Active Discovery Request (PADR)" },
{PPPOE_CODE_PADS, "Active Discovery Session-confirmation (PADS)"},
{PPPOE_CODE_PADT, "Active Discovery Terminate (PADT)" },
{PPPOE_CODE_PADM, "Active Discovery Message (PADM)" },
{PPPOE_CODE_PADN, "Active Discovery Network (PADN)" },
{0, NULL }
};
static const value_string tag_vals[] = {
{PPPOE_TAG_EOL, "End-Of-List" },
{PPPOE_TAG_SVC_NAME, "Service-Name" },
{PPPOE_TAG_AC_NAME, "AC-Name" },
{PPPOE_TAG_HOST_UNIQ, "Host-Uniq" },
{PPPOE_TAG_AC_COOKIE, "AC-Cookie" },
{PPPOE_TAG_VENDOR, "Vendor-Specific" },
{PPPOE_TAG_CREDITS, "Credits" },
{PPPOE_TAG_METRICS, "Metrics" },
{PPPOE_TAG_SEQ_NUM, "Sequence Number" },
{PPPOE_TAG_CRED_SCALE, "Credit Scale Factor"},
{PPPOE_TAG_RELAY_ID, "Relay-Session-Id" },
{PPPOE_TAG_HURL, "HURL" },
{PPPOE_TAG_MOTM, "MOTM" },
{PPPOE_TAG_MAX_PAYLD, "PPP-Max-Payload" },
{PPPOE_TAG_IP_RT_ADD, "IP Route Add" },
{PPPOE_TAG_SVC_ERR, "Service-Name-Error"},
{PPPOE_TAG_AC_ERR, "AC-System-Error" },
{PPPOE_TAG_GENERIC_ERR,"Generic-Error" },
{0, NULL }
{PPPOE_TAG_EOL, "End-Of-List" },
{PPPOE_TAG_SVC_NAME, "Service-Name" },
{PPPOE_TAG_AC_NAME, "AC-Name" },
{PPPOE_TAG_HOST_UNIQ, "Host-Uniq" },
{PPPOE_TAG_AC_COOKIE, "AC-Cookie" },
{PPPOE_TAG_VENDOR, "Vendor-Specific" },
{PPPOE_TAG_CREDITS, "Credits" },
{PPPOE_TAG_METRICS, "Metrics" },
{PPPOE_TAG_SEQ_NUM, "Sequence Number" },
{PPPOE_TAG_CRED_SCALE, "Credit Scale Factor"},
{PPPOE_TAG_RELAY_ID, "Relay-Session-Id" },
{PPPOE_TAG_HURL, "HURL" },
{PPPOE_TAG_MOTM, "MOTM" },
{PPPOE_TAG_MAX_PAYLD, "PPP-Max-Payload" },
{PPPOE_TAG_IP_RT_ADD, "IP Route Add" },
{PPPOE_TAG_SVC_ERR, "Service-Name-Error"},
{PPPOE_TAG_AC_ERR, "AC-System-Error" },
{PPPOE_TAG_GENERIC_ERR,"Generic-Error" },
{0, NULL }
};
static const value_string vspec_tag_vals[] = {
{PPPOE_TAG_VSPEC_DSLF_CIRCUIT_ID, "Circuit-ID" },
{PPPOE_TAG_VSPEC_DSLF_REMOTE_ID, "Remote-ID" },
{PPPOE_TAG_VSPEC_DSLF_ACT_DATA_RATE_UP, "Actual-Data-Rate-Up" },
{PPPOE_TAG_VSPEC_DSLF_ACT_DATA_RATE_DOWN, "Actual-Data-Rate-Down" },
{PPPOE_TAG_VSPEC_DSLF_MIN_DATA_RATE_UP, "Min-Data-Rate-Up" },
{PPPOE_TAG_VSPEC_DSLF_MIN_DATA_RATE_DOWN, "Min-Data-Rate-Down" },
{PPPOE_TAG_VSPEC_DSLF_ATTAINABLE_DATA_RATE_UP, "Attainable-Data-Rate-Up" },
{PPPOE_TAG_VSPEC_DSLF_ATTAINABLE_DATA_RATE_DOWN, "Attainable-Data-Rate-Down" },
{PPPOE_TAG_VSPEC_DSLF_MAX_DATA_RATE_UP, "Max-Data-Rate-Up" },
{PPPOE_TAG_VSPEC_DSLF_MAX_DATA_RATE_DOWN, "Max-Data-Rate-Down" },
{PPPOE_TAG_VSPEC_DSLF_MIN_DATA_RATE_UP_LP, "Min-Data-Rate-Up-Low-Power" },
{PPPOE_TAG_VSPEC_DSLF_MIN_DATA_RATE_DOWN_LP, "Min-Data-Rate-Down-Low-Power" },
{PPPOE_TAG_VSPEC_DSLF_MAX_INT_DELAY_UP, "Max-Interleaving-Delay-Up" },
{PPPOE_TAG_VSPEC_DSLF_ACT_INT_DELAY_UP, "Actual-Interleaving-Delay-Up" },
{PPPOE_TAG_VSPEC_DSLF_MAX_INT_DELAY_DOWN, "Max-Interleaving-Delay-Down" },
{PPPOE_TAG_VSPEC_DSLF_ACT_INT_DELAY_DOWN, "Actual-Interleaving-Delay-Down"},
{PPPOE_TAG_VSPEC_DSLF_ACCESS_LOOP_ENCAPSULATION, "Access-Loop-Encapsulation" },
{0, NULL }
{PPPOE_TAG_VSPEC_DSLF_CIRCUIT_ID, "Circuit-ID" },
{PPPOE_TAG_VSPEC_DSLF_REMOTE_ID, "Remote-ID" },
{PPPOE_TAG_VSPEC_DSLF_ACT_DATA_RATE_UP, "Actual-Data-Rate-Up" },
{PPPOE_TAG_VSPEC_DSLF_ACT_DATA_RATE_DOWN, "Actual-Data-Rate-Down" },
{PPPOE_TAG_VSPEC_DSLF_MIN_DATA_RATE_UP, "Min-Data-Rate-Up" },
{PPPOE_TAG_VSPEC_DSLF_MIN_DATA_RATE_DOWN, "Min-Data-Rate-Down" },
{PPPOE_TAG_VSPEC_DSLF_ATTAINABLE_DATA_RATE_UP, "Attainable-Data-Rate-Up" },
{PPPOE_TAG_VSPEC_DSLF_ATTAINABLE_DATA_RATE_DOWN, "Attainable-Data-Rate-Down" },
{PPPOE_TAG_VSPEC_DSLF_MAX_DATA_RATE_UP, "Max-Data-Rate-Up" },
{PPPOE_TAG_VSPEC_DSLF_MAX_DATA_RATE_DOWN, "Max-Data-Rate-Down" },
{PPPOE_TAG_VSPEC_DSLF_MIN_DATA_RATE_UP_LP, "Min-Data-Rate-Up-Low-Power" },
{PPPOE_TAG_VSPEC_DSLF_MIN_DATA_RATE_DOWN_LP, "Min-Data-Rate-Down-Low-Power" },
{PPPOE_TAG_VSPEC_DSLF_MAX_INT_DELAY_UP, "Max-Interleaving-Delay-Up" },
{PPPOE_TAG_VSPEC_DSLF_ACT_INT_DELAY_UP, "Actual-Interleaving-Delay-Up" },
{PPPOE_TAG_VSPEC_DSLF_MAX_INT_DELAY_DOWN, "Max-Interleaving-Delay-Down" },
{PPPOE_TAG_VSPEC_DSLF_ACT_INT_DELAY_DOWN, "Actual-Interleaving-Delay-Down"},
{PPPOE_TAG_VSPEC_DSLF_ACCESS_LOOP_ENCAPSULATION, "Access-Loop-Encapsulation" },
{0, NULL }
};
static const value_string vspec_tag_dslf_access_loop_encap_data_link_vals[] = {
{PPPOE_TAG_VSPEC_DSLF_ACCESS_LOOP_ENCAP_DATA_LINK_ATM, "ATM AAL5"},
{PPPOE_TAG_VSPEC_DSLF_ACCESS_LOOP_ENCAP_DATA_LINK_ETH, "Ethernet"},
{0, NULL }
{PPPOE_TAG_VSPEC_DSLF_ACCESS_LOOP_ENCAP_DATA_LINK_ATM, "ATM AAL5"},
{PPPOE_TAG_VSPEC_DSLF_ACCESS_LOOP_ENCAP_DATA_LINK_ETH, "Ethernet"},
{0, NULL }
};
static const value_string vspec_tag_dslf_access_loop_encap_encap_1_vals[] = {
{PPPOE_TAG_VSPEC_DSLF_ACCESS_LOOP_ENCAP_ENCAPS_1_NA, "NA" },
{PPPOE_TAG_VSPEC_DSLF_ACCESS_LOOP_ENCAP_ENCAPS_1_UNTAGGED_ETH, "Untagged Ethernet" },
{PPPOE_TAG_VSPEC_DSLF_ACCESS_LOOP_ENCAP_ENCAPS_1_SINLE_TAGGED_ETH, "Single-tagged Ethernet"},
{0, NULL }
{PPPOE_TAG_VSPEC_DSLF_ACCESS_LOOP_ENCAP_ENCAPS_1_NA, "NA" },
{PPPOE_TAG_VSPEC_DSLF_ACCESS_LOOP_ENCAP_ENCAPS_1_UNTAGGED_ETH, "Untagged Ethernet" },
{PPPOE_TAG_VSPEC_DSLF_ACCESS_LOOP_ENCAP_ENCAPS_1_SINLE_TAGGED_ETH, "Single-tagged Ethernet"},
{0, NULL }
};
static const value_string vspec_tag_dslf_access_loop_encap_encap_2_vals[] = {
{PPPOE_TAG_VSPEC_DSLF_ACCESS_LOOP_ENCAP_ENCAPS_2_NA, "NA" },
{PPPOE_TAG_VSPEC_DSLF_ACCESS_LOOP_ENCAP_ENCAPS_2_PPPOA_LLC, "PPPoA LLC" },
{PPPOE_TAG_VSPEC_DSLF_ACCESS_LOOP_ENCAP_ENCAPS_2_PPPOA_NULL, "PPPoA Null" },
{PPPOE_TAG_VSPEC_DSLF_ACCESS_LOOP_ENCAP_ENCAPS_2_IPOA_LLC, "IPoA LLC" },
{PPPOE_TAG_VSPEC_DSLF_ACCESS_LOOP_ENCAP_ENCAPS_2_IPOA_NULL, "IPoA Null" },
{PPPOE_TAG_VSPEC_DSLF_ACCESS_LOOP_ENCAP_ENCAPS_2_ETH_OVER_AAL5_LLC_WITH_FCS, "Ethernet over AAL5 LLC w FCS" },
{PPPOE_TAG_VSPEC_DSLF_ACCESS_LOOP_ENCAP_ENCAPS_2_ETH_OVER_AAL5_LLC_WITHOUT_FCS, "Ethernet over AAL5 LLC w/o FCS" },
{PPPOE_TAG_VSPEC_DSLF_ACCESS_LOOP_ENCAP_ENCAPS_2_ETH_OVER_AAL5_NULL_WITH_FCS, "Ethernet over AAL5 Null w FCS" },
{PPPOE_TAG_VSPEC_DSLF_ACCESS_LOOP_ENCAP_ENCAPS_2_ETH_OVER_AAL5_NULL_WITHOUT_FCS,"Ethernet over AAL5 Null w/o FCS"},
{0, NULL }
{PPPOE_TAG_VSPEC_DSLF_ACCESS_LOOP_ENCAP_ENCAPS_2_NA, "NA" },
{PPPOE_TAG_VSPEC_DSLF_ACCESS_LOOP_ENCAP_ENCAPS_2_PPPOA_LLC, "PPPoA LLC" },
{PPPOE_TAG_VSPEC_DSLF_ACCESS_LOOP_ENCAP_ENCAPS_2_PPPOA_NULL, "PPPoA Null" },
{PPPOE_TAG_VSPEC_DSLF_ACCESS_LOOP_ENCAP_ENCAPS_2_IPOA_LLC, "IPoA LLC" },
{PPPOE_TAG_VSPEC_DSLF_ACCESS_LOOP_ENCAP_ENCAPS_2_IPOA_NULL, "IPoA Null" },
{PPPOE_TAG_VSPEC_DSLF_ACCESS_LOOP_ENCAP_ENCAPS_2_ETH_OVER_AAL5_LLC_WITH_FCS, "Ethernet over AAL5 LLC w FCS" },
{PPPOE_TAG_VSPEC_DSLF_ACCESS_LOOP_ENCAP_ENCAPS_2_ETH_OVER_AAL5_LLC_WITHOUT_FCS, "Ethernet over AAL5 LLC w/o FCS" },
{PPPOE_TAG_VSPEC_DSLF_ACCESS_LOOP_ENCAP_ENCAPS_2_ETH_OVER_AAL5_NULL_WITH_FCS, "Ethernet over AAL5 Null w FCS" },
{PPPOE_TAG_VSPEC_DSLF_ACCESS_LOOP_ENCAP_ENCAPS_2_ETH_OVER_AAL5_NULL_WITHOUT_FCS,"Ethernet over AAL5 Null w/o FCS"},
{0, NULL }
};
static const value_string datarate_scale_vals[] = {
{PPPOE_SCALE_KBPS, "kilobits per second"},
{PPPOE_SCALE_MBPS, "megabits per second"},
{PPPOE_SCALE_GBPS, "gigabits per second"},
{PPPOE_SCALE_TBPS, "terabits per second"},
{0, NULL }
{PPPOE_SCALE_KBPS, "kilobits per second"},
{PPPOE_SCALE_MBPS, "megabits per second"},
{PPPOE_SCALE_GBPS, "gigabits per second"},
{PPPOE_SCALE_TBPS, "terabits per second"},
{0, NULL }
};
@ -336,7 +336,7 @@ static const value_string datarate_scale_vals[] = {
/* Dissect Vendor-Specific Tags introduced by the DSLF */
static void
dissect_pppoe_subtags_dslf(tvbuff_t *tvb, packet_info *pinfo _U_, int offset, proto_tree *tree,
int payload_length)
int payload_length)
{
guint8 poe_tag;
guint8 poe_tag_length;
@ -440,12 +440,12 @@ dissect_pppoe_subtags_dslf(tvbuff_t *tvb, packet_info *pinfo _U_, int offset, pr
/* Dissect discovery protocol tags */
static void
dissect_pppoe_tags(tvbuff_t *tvb, packet_info *pinfo, int offset, proto_tree *tree,
int payload_length)
int payload_length)
{
guint16 poe_tag;
guint16 poe_tag_length;
int tagstart;
guint16 poe_rsv = 0;
guint16 poe_rsv = 0;
proto_tree *pppoe_tree;
proto_item *ti;
@ -535,13 +535,13 @@ dissect_pppoe_tags(tvbuff_t *tvb, packet_info *pinfo, int offset, proto_tree *tr
case PPPOE_TAG_METRICS:
if (poe_tag_length == 10)
{
poe_rsv = tvb_get_ntohs(tvb, tagstart+4);
poe_rsv = tvb_get_ntohs(tvb, tagstart+4);
proto_tree_add_item(pppoe_tree, hf_pppoed_tag_mdr_units, tvb,
tagstart+4, 2, ENC_BIG_ENDIAN);
proto_tree_add_item(pppoe_tree, hf_pppoed_tag_cdr_units, tvb,
tagstart+4, 2, ENC_BIG_ENDIAN);
proto_tree_add_item(pppoe_tree, hf_pppoed_tag_metrics_r, tvb,
proto_tree_add_item(pppoe_tree, hf_pppoed_tag_mdr_units, tvb,
tagstart+4, 2, ENC_BIG_ENDIAN);
proto_tree_add_item(pppoe_tree, hf_pppoed_tag_cdr_units, tvb,
tagstart+4, 2, ENC_BIG_ENDIAN);
proto_tree_add_item(pppoe_tree, hf_pppoed_tag_metrics_r, tvb,
tagstart+4, 2, ENC_BIG_ENDIAN);
proto_tree_add_item(pppoe_tree, hf_pppoed_tag_metrics_rlq, tvb,
tagstart+6, 1, ENC_BIG_ENDIAN);
@ -550,45 +550,45 @@ dissect_pppoe_tags(tvbuff_t *tvb, packet_info *pinfo, int offset, proto_tree *tr
proto_tree_add_item(pppoe_tree, hf_pppoed_tag_metrics_latency, tvb,
tagstart+8, 2, ENC_BIG_ENDIAN);
/* CDR */
/* CDR */
ti = proto_tree_add_item(pppoe_tree, hf_pppoed_tag_metrics_curr_drate, tvb,
tagstart+10, 2, ENC_BIG_ENDIAN);
tagstart+10, 2, ENC_BIG_ENDIAN);
switch ((poe_rsv & PPPOE_CDR_MASK) >> 1)
{
case (PPPOE_SCALE_KBPS):
proto_item_append_text(ti, " kbps");
break;
case (PPPOE_SCALE_MBPS):
proto_item_append_text(ti, " mbps");
break;
case (PPPOE_SCALE_GBPS):
proto_item_append_text(ti, " gbps");
break;
case (PPPOE_SCALE_TBPS):
proto_item_append_text(ti, " tbps");
break;
}
switch ((poe_rsv & PPPOE_CDR_MASK) >> 1)
{
case (PPPOE_SCALE_KBPS):
proto_item_append_text(ti, " kbps");
break;
case (PPPOE_SCALE_MBPS):
proto_item_append_text(ti, " mbps");
break;
case (PPPOE_SCALE_GBPS):
proto_item_append_text(ti, " gbps");
break;
case (PPPOE_SCALE_TBPS):
proto_item_append_text(ti, " tbps");
break;
}
/* MDR */
/* MDR */
ti = proto_tree_add_item(pppoe_tree, hf_pppoed_tag_metrics_max_drate, tvb,
tagstart+12, 2, ENC_BIG_ENDIAN);
switch ((poe_rsv & PPPOE_MDR_MASK) >> 3)
{
case (PPPOE_SCALE_KBPS):
proto_item_append_text(ti, " kbps");
break;
case (PPPOE_SCALE_MBPS):
proto_item_append_text(ti, " mbps");
break;
case (PPPOE_SCALE_GBPS):
proto_item_append_text(ti, " gbps");
break;
case (PPPOE_SCALE_TBPS):
proto_item_append_text(ti, " tbps");
break;
}
switch ((poe_rsv & PPPOE_MDR_MASK) >> 3)
{
case (PPPOE_SCALE_KBPS):
proto_item_append_text(ti, " kbps");
break;
case (PPPOE_SCALE_MBPS):
proto_item_append_text(ti, " mbps");
break;
case (PPPOE_SCALE_GBPS):
proto_item_append_text(ti, " gbps");
break;
case (PPPOE_SCALE_TBPS):
proto_item_append_text(ti, " tbps");
break;
}
} else {
proto_tree_add_item(pppoe_tree, hf_pppoed_tag_metrics, tvb,
@ -604,11 +604,11 @@ dissect_pppoe_tags(tvbuff_t *tvb, packet_info *pinfo, int offset, proto_tree *tr
proto_item_append_text(pppoe_tree_tag_length_item, " [Wrong: should be 2]");
}
proto_tree_add_expert_format(pppoe_tree, pinfo, &ei_pppoe_tag_length, tvb, tagstart+4, poe_tag_length,
proto_tree_add_expert_format(pppoe_tree, pinfo, &ei_pppoe_tag_length, tvb, tagstart+4, poe_tag_length,
"Sequence Number tag: Wrong length: %u (expected 2)", poe_tag_length);
}
break;
case PPPOE_TAG_CRED_SCALE:
case PPPOE_TAG_CRED_SCALE:
if (poe_tag_length == 2) {
proto_tree_add_item(pppoe_tree, hf_pppoed_tag_cred_scale, tvb,
tagstart+4, poe_tag_length, ENC_BIG_ENDIAN);
@ -619,7 +619,7 @@ dissect_pppoe_tags(tvbuff_t *tvb, packet_info *pinfo, int offset, proto_tree *tr
proto_tree_add_expert_format(pppoe_tree, pinfo, &ei_pppoe_tag_length, tvb, tagstart+4, poe_tag_length,
"Credit Scale Factor tag: Wrong length: %u (expected 2)", poe_tag_length);
}
break;
break;
case PPPOE_TAG_RELAY_ID:
proto_tree_add_item(pppoe_tree, hf_pppoed_tag_relay_session_id, tvb,
tagstart+4, poe_tag_length, ENC_NA);
@ -1298,3 +1298,16 @@ void proto_reg_handoff_pppoes(void)
/* Get a handle for the PPP dissector */
ppp_handle = find_dissector("ppp");
}
/*
* 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

@ -26,7 +26,7 @@
*/
/*
DONE:
DONE:
- ATM N-to-One Cell Mode (with CW)
- ATM N-to-One Cell Mode (no CW)
- ATM One-to-One Cell Mode
@ -1982,3 +1982,16 @@ proto_reg_handoff_pw_atm_ata(void)
dh_padding = find_dissector("pw_padding");
dh_data = 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

@ -12626,3 +12626,16 @@ proto_register_q708(void)
proto_register_field_array(proto_q708, hf, array_length(hf));
}
/*
* 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

@ -134,8 +134,8 @@ static const true_false_string tfs_call_ref_flag = {
/* next octet. The bit value "1" indicates that this octet is the last octet */
static const true_false_string q933_extension_ind_value = {
"last octet",
"information continues through the next octet",
"last octet",
"information continues through the next octet",
};
@ -231,12 +231,12 @@ static const value_string q933_info_element_vals4[] = {
/* Codeset 5 */
static const value_string q933_info_element_vals5[] = {
{ Q933_IE_ANSI_REPORT_TYPE, "Report type (ANSI)" },
{ Q933_IE_REPORT_TYPE, "Report type (CCITT)" },
{ Q933_IE_ANSI_LINK_INTEGRITY_VERF, "Keep Alive (ANSI)" },
{ Q933_IE_LINK_INTEGRITY_VERF, "Keep Alive (CCITT)" },
{ Q933_IE_ANSI_PVC_STATUS, "PVC Status (ANSI)" },
{ Q933_IE_PVC_STATUS, "PVC Status (CCITT)" },
{ Q933_IE_ANSI_REPORT_TYPE, "Report type (ANSI)" },
{ Q933_IE_REPORT_TYPE, "Report type (CCITT)" },
{ Q933_IE_ANSI_LINK_INTEGRITY_VERF, "Keep Alive (ANSI)" },
{ Q933_IE_LINK_INTEGRITY_VERF, "Keep Alive (CCITT)" },
{ Q933_IE_ANSI_PVC_STATUS, "PVC Status (ANSI)" },
{ Q933_IE_PVC_STATUS, "PVC Status (CCITT)" },
{ 0, NULL }
};
/* Codeset 6 */
@ -251,14 +251,14 @@ static const value_string q933_info_element_vals7[] = {
/* Codeset array */
#define NUM_INFO_ELEMENT_VALS (Q933_IE_SHIFT_CODESET+1)
static const value_string *q933_info_element_vals[NUM_INFO_ELEMENT_VALS] = {
q933_info_element_vals0,
q933_info_element_vals1,
q933_info_element_vals2,
q933_info_element_vals3,
q933_info_element_vals4,
q933_info_element_vals5,
q933_info_element_vals6,
q933_info_element_vals7,
q933_info_element_vals0,
q933_info_element_vals1,
q933_info_element_vals2,
q933_info_element_vals3,
q933_info_element_vals4,
q933_info_element_vals5,
q933_info_element_vals6,
q933_info_element_vals7,
};
static const value_string q933_repeat_indication_vals[] = {
@ -276,7 +276,7 @@ static const value_string q933_repeat_indication_vals[] = {
*/
static void
dissect_q933_segmented_message_ie(tvbuff_t *tvb, int offset, int len,
proto_tree *tree)
proto_tree *tree)
{
if (len != 2) {
proto_tree_add_text(tree, tvb, offset, len,
@ -466,7 +466,7 @@ dissect_q933_protocol_discriminator(tvbuff_t *tvb, int offset, proto_tree *tree)
static void
dissect_q933_bearer_capability_ie(tvbuff_t *tvb, int offset, int len,
proto_tree *tree)
proto_tree *tree)
{
guint8 octet;
guint8 coding_standard;
@ -889,7 +889,7 @@ static const value_string q933_rejection_reason_vals[] = {
static void
dissect_q933_cause_ie(tvbuff_t *tvb, int offset, int len,
proto_tree *tree, int hf_cause_value)
proto_tree *tree, int hf_cause_value)
{
guint8 octet;
guint8 cause_value;
@ -1069,7 +1069,7 @@ static const value_string q933_call_state_vals[] = {
static void
dissect_q933_call_state_ie(tvbuff_t *tvb, int offset, int len,
proto_tree *tree)
proto_tree *tree)
{
guint8 octet;
guint8 coding_standard;
@ -1103,15 +1103,15 @@ dissect_q933_call_state_ie(tvbuff_t *tvb, int offset, int len,
#define Q933_IE_REPORT_TYPE_ASYNC_PVC_STATUS 0x02
static const value_string q933_report_type_vals[] = {
{ Q933_IE_REPORT_TYPE_FULL_STATUS, "Full Status" },
{ Q933_IE_REPORT_TYPE_LINK_VERIFY, "Link verify" },
{ Q933_IE_REPORT_TYPE_ASYNC_PVC_STATUS, "Async PVC Status" },
{ Q933_IE_REPORT_TYPE_FULL_STATUS, "Full Status" },
{ Q933_IE_REPORT_TYPE_LINK_VERIFY, "Link verify" },
{ Q933_IE_REPORT_TYPE_ASYNC_PVC_STATUS, "Async PVC Status" },
{ 0, NULL }
};
static void
dissect_q933_report_type_ie(tvbuff_t *tvb, int offset, int len,
proto_tree *tree)
proto_tree *tree)
{
guint8 report_type;
@ -1127,7 +1127,7 @@ dissect_q933_report_type_ie(tvbuff_t *tvb, int offset, int len,
*/
static void
dissect_q933_link_integrity_verf_ie(tvbuff_t *tvb, int offset, int len,
proto_tree *tree)
proto_tree *tree)
{
guint8 txseq,rxseq;
@ -1146,40 +1146,40 @@ dissect_q933_link_integrity_verf_ie(tvbuff_t *tvb, int offset, int len,
* Dissect a PVC status information element.
*/
static const value_string q933_pvc_status_vals[] = {
{0x00, "Inactive"},
{0x02, "Active"},
{0x08, "New"},
{0x0a, "New, Active"},
{0, NULL}
{0x00, "Inactive"},
{0x02, "Active"},
{0x08, "New"},
{0x0a, "New, Active"},
{0, NULL}
};
static void
dissect_q933_pvc_status_ie(tvbuff_t *tvb, int offset, int len,
proto_tree *tree)
proto_tree *tree)
{
guint32 dlci;
guint8 dlci_status,dlci_len=2;
guint8 dlci_status,dlci_len=2;
if (len < 3)
return;
dlci = ((tvb_get_guint8(tvb, offset) & 0x3F) << 4) |
((tvb_get_guint8(tvb, offset+1) & 0x78) >> 3);
dlci = ((tvb_get_guint8(tvb, offset) & 0x3F) << 4) |
((tvb_get_guint8(tvb, offset+1) & 0x78) >> 3);
/* first determine the DLCI field length */
if (len == 4) {
dlci = (dlci << 6) | ((tvb_get_guint8(tvb, offset+2) & 0x7E) >> 1);
dlci_len++;
} else if (len == 5) {
dlci = (dlci << 13) | (tvb_get_guint8(tvb, offset+3) & 0x7F) |
((tvb_get_guint8(tvb, offset+4) & 0x7E) >> 1);
dlci_len+=2;
}
dlci_status=tvb_get_guint8(tvb, offset+dlci_len)&0x0a;
/* first determine the DLCI field length */
if (len == 4) {
dlci = (dlci << 6) | ((tvb_get_guint8(tvb, offset+2) & 0x7E) >> 1);
dlci_len++;
} else if (len == 5) {
dlci = (dlci << 13) | (tvb_get_guint8(tvb, offset+3) & 0x7F) |
((tvb_get_guint8(tvb, offset+4) & 0x7E) >> 1);
dlci_len+=2;
}
dlci_status=tvb_get_guint8(tvb, offset+dlci_len)&0x0a;
proto_tree_add_text(tree, tvb, offset, dlci_len, "DLCI: %u", dlci);
proto_tree_add_text(tree, tvb, offset+dlci_len, 1, "Status: %s",
val_to_str_const(dlci_status, q933_pvc_status_vals, "Unknown"));
val_to_str_const(dlci_status, q933_pvc_status_vals, "Unknown"));
}
/*
@ -1215,7 +1215,7 @@ static const value_string q933_element_type_vals[] = {
static void
dissect_q933_channel_identification_ie(tvbuff_t *tvb, int offset, int len,
proto_tree *tree)
proto_tree *tree)
{
guint8 octet;
int identifier_offset;
@ -1321,7 +1321,7 @@ static const value_string q933_progress_description_vals[] = {
static void
dissect_q933_progress_indicator_ie(tvbuff_t *tvb, int offset, int len,
proto_tree *tree)
proto_tree *tree)
{
guint8 octet;
guint8 coding_standard;
@ -1377,7 +1377,7 @@ static const value_string q933_netid_plan_vals[] = {
static void
dissect_q933_ns_facilities_ie(tvbuff_t *tvb, int offset, int len,
proto_tree *tree)
proto_tree *tree)
{
guint8 octet;
int netid_len;
@ -1433,7 +1433,7 @@ dissect_q933_ns_facilities_ie(tvbuff_t *tvb, int offset, int len,
static int
dissect_q933_guint16_value(tvbuff_t *tvb, int offset, int len,
proto_tree *tree, const char *label)
proto_tree *tree, const char *label)
{
guint8 octet;
guint16 value;
@ -1509,7 +1509,7 @@ bad_length:
*/
static void
dissect_q933_e2e_transit_delay_ie(tvbuff_t *tvb, int offset, int len,
proto_tree *tree)
proto_tree *tree)
{
int value_len;
@ -1542,7 +1542,7 @@ dissect_q933_e2e_transit_delay_ie(tvbuff_t *tvb, int offset, int len,
*/
static void
dissect_q933_td_selection_and_int_ie(tvbuff_t *tvb, int offset, int len,
proto_tree *tree)
proto_tree *tree)
{
if (len == 0)
return;
@ -1552,7 +1552,7 @@ dissect_q933_td_selection_and_int_ie(tvbuff_t *tvb, int offset, int len,
static void
dissect_q933_pl_binary_parameters_ie(tvbuff_t *tvb, int offset, int len,
proto_tree *tree)
proto_tree *tree)
{
guint8 octet;
@ -1578,7 +1578,7 @@ static const value_string q933_reverse_charging_indication_vals[] = {
static void
dissect_q933_reverse_charge_ind_ie(tvbuff_t *tvb, int offset, int len,
proto_tree *tree)
proto_tree *tree)
{
if (len == 0)
return;
@ -1639,7 +1639,7 @@ static const value_string q933_redirection_reason_vals[] = {
static void
dissect_q933_number_ie(tvbuff_t *tvb, int offset, int len,
proto_tree *tree, int hfindex)
proto_tree *tree, int hfindex)
{
guint8 octet;
@ -1701,7 +1701,7 @@ static const value_string q933_odd_even_indicator_vals[] = {
static void
dissect_q933_party_subaddr_ie(tvbuff_t *tvb, int offset, int len,
proto_tree *tree)
proto_tree *tree)
{
guint8 octet;
@ -1759,7 +1759,7 @@ static const value_string q933_audiovisual_characteristics_vals[] = {
static void
dissect_q933_high_layer_compat_ie(tvbuff_t *tvb, int offset, int len,
proto_tree *tree)
proto_tree *tree)
{
guint8 octet;
guint8 coding_standard;
@ -1834,7 +1834,7 @@ static const value_string q933_protocol_discriminator_vals[] = {
static void
dissect_q933_user_user_ie(tvbuff_t *tvb, int offset, int len,
proto_tree *tree)
proto_tree *tree)
{
guint8 octet;
@ -1869,7 +1869,7 @@ dissect_q933_user_user_ie(tvbuff_t *tvb, int offset, int len,
*/
static void
dissect_q933_ia5_ie(tvbuff_t *tvb, int offset, int len, proto_tree *tree,
const char *label)
const char *label)
{
if (len != 0) {
proto_tree_add_text(tree, tvb, offset, len, "%s: %s", label,
@ -2133,7 +2133,7 @@ dissect_q933(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree)
case CS5 | Q933_IE_LINK_INTEGRITY_VERF:
case CS5 | Q933_IE_ANSI_LINK_INTEGRITY_VERF:
dissect_q933_link_integrity_verf_ie(tvb,
dissect_q933_link_integrity_verf_ie(tvb,
offset + 2, info_element_len,
ie_tree);
break;
@ -2277,3 +2277,16 @@ proto_reg_handoff_q933(void)
q933_handle = find_dissector("q933");
dissector_add_uint("fr.osinl", NLPID_Q_933, q933_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

@ -77,15 +77,15 @@ static gint ett_rsip_param_val = -1;
/* Message Types in RFC 3103 Appendix B / RFC 3104 Appendix C style */
static const value_string msg_type_appendix_vals[] = {
{ 1, "ERROR_RESPONSE" },
{ 2, "REGISTER_REQUEST" },
{ 3, "REGISTER_RESPONSE" },
{ 4, "DE-REGISTER_REQUEST" },
{ 5, "DE-REGISTER_RESPONSE" },
{ 6, "ASSIGN_REQUEST_RSA-IP" },
{ 7, "ASSIGN_RESPONSE_RSA-IP" },
{ 8, "ASSIGN_REQUEST_RSAP-IP" },
{ 9, "ASSIGN_RESPONSE_RSAP-IP" },
{ 1, "ERROR_RESPONSE" },
{ 2, "REGISTER_REQUEST" },
{ 3, "REGISTER_RESPONSE" },
{ 4, "DE-REGISTER_REQUEST" },
{ 5, "DE-REGISTER_RESPONSE" },
{ 6, "ASSIGN_REQUEST_RSA-IP" },
{ 7, "ASSIGN_RESPONSE_RSA-IP" },
{ 8, "ASSIGN_REQUEST_RSAP-IP" },
{ 9, "ASSIGN_RESPONSE_RSAP-IP" },
{ 10, "EXTEND_REQUEST" },
{ 11, "EXTEND_RESPONSE" },
{ 12, "FREE_REQUEST" },
@ -100,15 +100,15 @@ static const value_string msg_type_appendix_vals[] = {
};
static const value_string msg_type_vals[] = {
{ 1, "Error Response" },
{ 2, "Register Request" },
{ 3, "Register Response" },
{ 4, "Deregister Request" },
{ 5, "Deregister Response" },
{ 6, "Assign Request RSA-IP" },
{ 7, "Assign Response RSA-IP" },
{ 8, "Assign Request RSAP-IP" },
{ 9, "Assign Response RSAP-IP" },
{ 1, "Error Response" },
{ 2, "Register Request" },
{ 3, "Register Response" },
{ 4, "Deregister Request" },
{ 5, "Deregister Response" },
{ 6, "Assign Request RSA-IP" },
{ 7, "Assign Response RSA-IP" },
{ 8, "Assign Request RSAP-IP" },
{ 9, "Assign Response RSAP-IP" },
{ 10, "Extend Request" },
{ 11, "Extend Response" },
{ 12, "Free Request" },
@ -123,15 +123,15 @@ static const value_string msg_type_vals[] = {
};
static const value_string param_type_vals[] = {
{ 1, "Address" },
{ 2, "Port" },
{ 3, "Lease Time" },
{ 4, "Client ID" },
{ 5, "Bind ID" },
{ 6, "Tunnel Type" },
{ 7, "RSIP Method" },
{ 8, "Error" },
{ 9, "Flow Policy" },
{ 1, "Address" },
{ 2, "Port" },
{ 3, "Lease Time" },
{ 4, "Client ID" },
{ 5, "Bind ID" },
{ 6, "Tunnel Type" },
{ 7, "RSIP Method" },
{ 8, "Error" },
{ 9, "Flow Policy" },
{ 10, "Indicator" },
{ 11, "Message Counter" },
{ 12, "Vendor Specific" },
@ -497,7 +497,7 @@ rsip_parameter(tvbuff_t *tvb, proto_tree *rsip_tree, int off, int eoff)
static int
rsip_message_error_response(tvbuff_t *tvb, proto_tree *rsip_tree,
int offset, int eoffset)
int offset, int eoffset)
{
int consumed, offset_delta;
/*
@ -520,7 +520,7 @@ rsip_message_error_response(tvbuff_t *tvb, proto_tree *rsip_tree,
static int
rsip_message_register_request(tvbuff_t *tvb, proto_tree *rsip_tree,
int offset, int eoffset)
int offset, int eoffset)
{
int consumed, offset_delta;
/*
@ -540,7 +540,7 @@ rsip_message_register_request(tvbuff_t *tvb, proto_tree *rsip_tree,
static int
rsip_message_register_response(tvbuff_t *tvb, proto_tree *rsip_tree,
int offset, int eoffset)
int offset, int eoffset)
{
int consumed, offset_delta;
/*
@ -565,7 +565,7 @@ rsip_message_register_response(tvbuff_t *tvb, proto_tree *rsip_tree,
static int
rsip_message_deregister_request(tvbuff_t *tvb, proto_tree *rsip_tree,
int offset, int eoffset)
int offset, int eoffset)
{
int consumed, offset_delta;
/*
@ -586,14 +586,14 @@ rsip_message_deregister_request(tvbuff_t *tvb, proto_tree *rsip_tree,
static int
rsip_message_deregister_response(tvbuff_t *tvb, proto_tree *rsip_tree,
int offset, int eoffset)
int offset, int eoffset)
{
return rsip_message_deregister_request(tvb, rsip_tree, offset, eoffset);
}
static int
rsip_message_assign_request_rsaip(tvbuff_t *tvb, proto_tree *rsip_tree,
int offset, int eoffset)
int offset, int eoffset)
{
int consumed, offset_delta;
/*
@ -619,7 +619,7 @@ rsip_message_assign_request_rsaip(tvbuff_t *tvb, proto_tree *rsip_tree,
static int
rsip_message_assign_response_rsaip(tvbuff_t *tvb, proto_tree *rsip_tree,
int offset, int eoffset)
int offset, int eoffset)
{
int consumed, offset_delta;
/*
@ -647,7 +647,7 @@ rsip_message_assign_response_rsaip(tvbuff_t *tvb, proto_tree *rsip_tree,
static int
rsip_message_assign_request_rsapip(tvbuff_t *tvb, proto_tree *rsip_tree,
int offset, int eoffset)
int offset, int eoffset)
{
int consumed, offset_delta;
/*
@ -674,7 +674,7 @@ rsip_message_assign_request_rsapip(tvbuff_t *tvb, proto_tree *rsip_tree,
static int
rsip_message_assign_response_rsapip(tvbuff_t *tvb, proto_tree *rsip_tree,
int offset, int eoffset)
int offset, int eoffset)
{
int consumed, offset_delta;
/*
@ -703,7 +703,7 @@ rsip_message_assign_response_rsapip(tvbuff_t *tvb, proto_tree *rsip_tree,
static int
rsip_message_extend_request(tvbuff_t *tvb, proto_tree *rsip_tree,
int offset, int eoffset)
int offset, int eoffset)
{
int consumed, offset_delta;
/*
@ -726,7 +726,7 @@ rsip_message_extend_request(tvbuff_t *tvb, proto_tree *rsip_tree,
static int
rsip_message_extend_response(tvbuff_t *tvb, proto_tree *rsip_tree,
int offset, int eoffset)
int offset, int eoffset)
{
int consumed, offset_delta;
/*
@ -749,7 +749,7 @@ rsip_message_extend_response(tvbuff_t *tvb, proto_tree *rsip_tree,
static int
rsip_message_free_request(tvbuff_t *tvb, proto_tree *rsip_tree,
int offset, int eoffset)
int offset, int eoffset)
{
int consumed, offset_delta;
/*
@ -771,7 +771,7 @@ rsip_message_free_request(tvbuff_t *tvb, proto_tree *rsip_tree,
static int
rsip_message_free_response(tvbuff_t *tvb, proto_tree *rsip_tree,
int offset, int eoffset)
int offset, int eoffset)
{
int consumed, offset_delta;
/*
@ -793,7 +793,7 @@ rsip_message_free_response(tvbuff_t *tvb, proto_tree *rsip_tree,
static int
rsip_message_query_request(tvbuff_t *tvb, proto_tree *rsip_tree,
int offset, int eoffset)
int offset, int eoffset)
{
int consumed, offset_delta;
/*
@ -823,7 +823,7 @@ rsip_message_query_request(tvbuff_t *tvb, proto_tree *rsip_tree,
static int
rsip_message_query_response(tvbuff_t *tvb, proto_tree *rsip_tree,
int offset, int eoffset)
int offset, int eoffset)
{
int consumed, offset_delta;
/*
@ -862,7 +862,7 @@ rsip_message_query_response(tvbuff_t *tvb, proto_tree *rsip_tree,
static int
rsip_message_listen_request(tvbuff_t *tvb, proto_tree *rsip_tree,
int offset, int eoffset)
int offset, int eoffset)
{
int consumed, offset_delta;
/*
@ -889,7 +889,7 @@ rsip_message_listen_request(tvbuff_t *tvb, proto_tree *rsip_tree,
static int
rsip_message_listen_response(tvbuff_t *tvb, proto_tree *rsip_tree,
int offset, int eoffset)
int offset, int eoffset)
{
int consumed, offset_delta;
/*
@ -918,7 +918,7 @@ rsip_message_listen_response(tvbuff_t *tvb, proto_tree *rsip_tree,
static int
rsip_message_assign_request_rsipsec(tvbuff_t *tvb, proto_tree *rsip_tree,
int offset, int eoffset)
int offset, int eoffset)
{
int consumed, offset_delta;
/*
@ -945,7 +945,7 @@ rsip_message_assign_request_rsipsec(tvbuff_t *tvb, proto_tree *rsip_tree,
static int
rsip_message_assign_response_rsipsec(tvbuff_t *tvb, proto_tree *rsip_tree,
int offset, int eoffset)
int offset, int eoffset)
{
int consumed, offset_delta;
/*
@ -1259,3 +1259,16 @@ proto_reg_handoff_rsip(void)
initialized = TRUE;
}
}
/*
* 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

@ -823,17 +823,17 @@ proto_reg_handoff_s5066(void)
static guint
dissect_s5066_address(tvbuff_t *tvb, guint offset, proto_tree *tree, gint source)
{
proto_tree *s5066_tree_address;
proto_tree *s5066_tree_address;
guint32 addr;
if (source) {
if (source) {
s5066_tree_address = proto_tree_add_subtree(tree, tvb, offset, 4, ett_s5066_address, NULL, "Source Address");
}
else {
s5066_tree_address = proto_tree_add_subtree(tree, tvb, offset, 4, ett_s5066_address, NULL, "Destination Address");
}
proto_tree_add_item(s5066_tree_address, hf_s5066_ad_size, tvb, offset, 1, ENC_BIG_ENDIAN);
proto_tree_add_item(s5066_tree_address, hf_s5066_ad_size, tvb, offset, 1, ENC_BIG_ENDIAN);
proto_tree_add_item(s5066_tree_address, hf_s5066_ad_group, tvb, offset, 1, ENC_BIG_ENDIAN);
addr = tvb_get_ntohl(tvb, offset);
addr = addr & 0x1FFFFFFF;
@ -1254,13 +1254,13 @@ dissect_s5066_27(tvbuff_t *tvb, guint offset, proto_tree *tree)
static guint
get_s5066_pdu_len(packet_info *pinfo _U_, tvbuff_t *tvb, int offset)
{
guint16 plen;
guint16 plen;
/* Get the length of the S5066 PDU. */
plen = tvb_get_ntohs(tvb, offset + s5066_size_offset);
/* Get the length of the S5066 PDU. */
plen = tvb_get_ntohs(tvb, offset + s5066_size_offset);
/* That length doesn't include the sync, version and length fields; add that in. */
return plen + s5066_header_size;
/* That length doesn't include the sync, version and length fields; add that in. */
return plen + s5066_header_size;
}
static int
@ -1356,3 +1356,16 @@ dissect_s5066_common(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void*
return tvb_length(tvb);
}
/*
* 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

@ -112,16 +112,16 @@ static gint ett_browse_election_os = -1;
static gint ett_browse_election_desire = -1;
static gint ett_browse_reset_cmd_flags = -1;
#define SERVER_WORKSTATION 0
#define SERVER_SERVER 1
#define SERVER_SQL_SERVER 2
#define SERVER_DOMAIN_CONTROLLER 3
#define SERVER_BACKUP_CONTROLLER 4
#define SERVER_TIME_SOURCE 5
#define SERVER_APPLE_SERVER 6
#define SERVER_NOVELL_SERVER 7
#define SERVER_DOMAIN_MEMBER_SERVER 8
#define SERVER_PRINT_QUEUE_SERVER 9
#define SERVER_WORKSTATION 0
#define SERVER_SERVER 1
#define SERVER_SQL_SERVER 2
#define SERVER_DOMAIN_CONTROLLER 3
#define SERVER_BACKUP_CONTROLLER 4
#define SERVER_TIME_SOURCE 5
#define SERVER_APPLE_SERVER 6
#define SERVER_NOVELL_SERVER 7
#define SERVER_DOMAIN_MEMBER_SERVER 8
#define SERVER_PRINT_QUEUE_SERVER 9
#define SERVER_DIALIN_SERVER 10
#define SERVER_XENIX_SERVER 11
#define SERVER_NT_WORKSTATION 12
@ -187,10 +187,10 @@ static const value_string server_types[] = {
windows_version = "";
static const value_string resetbrowserstate_command_names[] = {
{ 0x01, "Stop being a master browser and become a backup browser"},
{ 0x02, "Discard browse lists, stop being a master browser, and try again"},
{ 0x04, "Stop being a master browser for ever"},
{ 0, NULL}
{ 0x01, "Stop being a master browser and become a backup browser"},
{ 0x02, "Discard browse lists, stop being a master browser, and try again"},
{ 0x04, "Stop being a master browser for ever"},
{ 0, NULL}
};
static true_false_string tfs_demote_to_backup = {
@ -341,10 +341,10 @@ static const true_false_string tfs_desire_nt = {
"NOT Windows NT Advanced Server"
};
#define BROWSE_HOST_ANNOUNCE 1
#define BROWSE_REQUEST_ANNOUNCE 2
#define BROWSE_ELECTION_REQUEST 8
#define BROWSE_BACKUP_LIST_REQUEST 9
#define BROWSE_HOST_ANNOUNCE 1
#define BROWSE_REQUEST_ANNOUNCE 2
#define BROWSE_ELECTION_REQUEST 8
#define BROWSE_BACKUP_LIST_REQUEST 9
#define BROWSE_BACKUP_LIST_RESPONSE 10
#define BROWSE_BECOME_BACKUP 11
#define BROWSE_DOMAIN_ANNOUNCEMENT 12
@ -353,16 +353,16 @@ static const true_false_string tfs_desire_nt = {
#define BROWSE_LOCAL_MASTER_ANNOUNCEMENT 15
static const value_string commands[] = {
{BROWSE_HOST_ANNOUNCE, "Host Announcement"},
{BROWSE_REQUEST_ANNOUNCE, "Request Announcement"},
{BROWSE_ELECTION_REQUEST, "Browser Election Request"},
{BROWSE_BACKUP_LIST_REQUEST, "Get Backup List Request"},
{BROWSE_BACKUP_LIST_RESPONSE, "Get Backup List Response"},
{BROWSE_BECOME_BACKUP, "Become Backup Browser"},
{BROWSE_DOMAIN_ANNOUNCEMENT, "Domain/Workgroup Announcement"},
{BROWSE_MASTER_ANNOUNCEMENT, "Master Announcement"},
{BROWSE_HOST_ANNOUNCE, "Host Announcement"},
{BROWSE_REQUEST_ANNOUNCE, "Request Announcement"},
{BROWSE_ELECTION_REQUEST, "Browser Election Request"},
{BROWSE_BACKUP_LIST_REQUEST, "Get Backup List Request"},
{BROWSE_BACKUP_LIST_RESPONSE, "Get Backup List Response"},
{BROWSE_BECOME_BACKUP, "Become Backup Browser"},
{BROWSE_DOMAIN_ANNOUNCEMENT, "Domain/Workgroup Announcement"},
{BROWSE_MASTER_ANNOUNCEMENT, "Master Announcement"},
{BROWSE_RESETBROWSERSTATE_ANNOUNCEMENT, "Reset Browser State Announcement"},
{BROWSE_LOCAL_MASTER_ANNOUNCEMENT,"Local Master Announcement"},
{BROWSE_LOCAL_MASTER_ANNOUNCEMENT, "Local Master Announcement"},
{0, NULL}
};
@ -1173,3 +1173,16 @@ proto_register_smb_browse(void)
register_dissector("mailslot_lanman", dissect_mailslot_lanman,
proto_smb_browse);
}
/*
* 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

@ -249,7 +249,7 @@ dissect_smb_logon_request(tvbuff_t *tvb, packet_info *pinfo _U_, proto_tree *tre
offset += 1;
/* NT version */
proto_tree_add_item(tree, hf_nt_version, tvb, offset, 2, ENC_LITTLE_ENDIAN);
proto_tree_add_item(tree, hf_nt_version, tvb, offset, 2, ENC_LITTLE_ENDIAN);
offset += 2;
/* LM token */
@ -290,7 +290,7 @@ dissect_smb_logon_2(tvbuff_t *tvb, packet_info *pinfo _U_, proto_tree *tree, int
offset = display_ms_string(tvb, tree, offset, hf_mailslot_name, NULL);
/* NT version */
proto_tree_add_item(tree, hf_nt_version, tvb, offset, 2, ENC_LITTLE_ENDIAN);
proto_tree_add_item(tree, hf_nt_version, tvb, offset, 2, ENC_LITTLE_ENDIAN);
offset += 2;
/* LM token */
@ -397,7 +397,7 @@ dissect_smb_pdc_startup(tvbuff_t *tvb, packet_info *pinfo _U_, proto_tree *tree,
}
/* NT version */
proto_tree_add_item(tree, hf_nt_version, tvb, offset, 4, ENC_LITTLE_ENDIAN);
proto_tree_add_item(tree, hf_nt_version, tvb, offset, 4, ENC_LITTLE_ENDIAN);
offset += 4;
/* LMNT token */
@ -834,62 +834,62 @@ dissect_smb_unknown(tvbuff_t *tvb, packet_info *pinfo _U_, proto_tree *tree, int
#define LOGON_LAST_CMD 0x19
static const value_string commands[] = {
{LOGON_LM10_LOGON_REQUEST, "LM1.0/LM2.0 LOGON Request"},
{LOGON_LM10_LOGON_RESPONSE, "LM1.0 LOGON Response"},
{LOGON_LM10_QUERY_CI, "LM1.0 Query - Centralized Initialization"},
{LOGON_LM10_QUERY_DI, "LM1.0 Query - Distributed Initialization"},
{LOGON_LM10_RESPONSE_CI, "LM1.0 Response - Centralized Query"},
{LOGON_LM10_RESPONSE_DI, "LM1.0 Response - Distributed Initialization"},
{LOGON_LM20_LOGON_RESPONSE, "LM2.0 Response to LOGON Request"},
{LOGON_PDC_QUERY, "Query for PDC"},
{LOGON_PDC_STARTUP, "Announce Startup of PDC"},
{LOGON_PDC_FAILED, "Announce Failed PDC"},
{LOGON_UAS_SAM, "Announce Change to UAS or SAM"},
{LOGON_NO_USER, "Announce no user on machine"},
{LOGON_PDC_RESPONSE, "Response from PDC"},
{LOGON_RELOGON_RESPONSE, "LM1.0/LM2.0 Response to re-LOGON Request"},
{LOGON_INTERROGATE_RESPONSE, "LM1.0/LM2.0 Response to Interrogate Request"},
{LOGON_LM20_RESPONSE_DURING_LOGON,"LM2.0 Response during LOGON pause"},
{LOGON_LM20_USER_UNKNOWN, "LM2.0 Response - user unknown"},
{LOGON_LM20_ACCOUNT_UPDATE, "LM2.0 Announce account updates"},
{LOGON_SAM_LOGON_REQUEST, "SAM LOGON request from client"},
{LOGON_SAM_LOGON_RESPONSE, "Response to SAM LOGON request"},
{LOGON_SAM_RESPONSE_DURING_LOGON,"SAM Response during LOGON pause"},
{LOGON_SAM_USER_UNKNOWN, "SAM Response - user unknown"},
{LOGON_SAM_INTERROGATE_RESPONSE,"SAM Response to Interrogate Request"},
{LOGON_SAM_AD_USER_UNKNOWN, "SAM Active Directory Response - user unknown"},
{LOGON_SAM_UNKNOWN_18, "SAM unknown command 0x18"},
{LOGON_SAM_AD_LOGON_RESPONSE, "Active Directory Response to SAM LOGON request"},
{LOGON_LM10_LOGON_REQUEST, "LM1.0/LM2.0 LOGON Request"},
{LOGON_LM10_LOGON_RESPONSE, "LM1.0 LOGON Response"},
{LOGON_LM10_QUERY_CI, "LM1.0 Query - Centralized Initialization"},
{LOGON_LM10_QUERY_DI, "LM1.0 Query - Distributed Initialization"},
{LOGON_LM10_RESPONSE_CI, "LM1.0 Response - Centralized Query"},
{LOGON_LM10_RESPONSE_DI, "LM1.0 Response - Distributed Initialization"},
{LOGON_LM20_LOGON_RESPONSE, "LM2.0 Response to LOGON Request"},
{LOGON_PDC_QUERY, "Query for PDC"},
{LOGON_PDC_STARTUP, "Announce Startup of PDC"},
{LOGON_PDC_FAILED, "Announce Failed PDC"},
{LOGON_UAS_SAM, "Announce Change to UAS or SAM"},
{LOGON_NO_USER, "Announce no user on machine"},
{LOGON_PDC_RESPONSE, "Response from PDC"},
{LOGON_RELOGON_RESPONSE, "LM1.0/LM2.0 Response to re-LOGON Request"},
{LOGON_INTERROGATE_RESPONSE, "LM1.0/LM2.0 Response to Interrogate Request"},
{LOGON_LM20_RESPONSE_DURING_LOGON, "LM2.0 Response during LOGON pause"},
{LOGON_LM20_USER_UNKNOWN, "LM2.0 Response - user unknown"},
{LOGON_LM20_ACCOUNT_UPDATE, "LM2.0 Announce account updates"},
{LOGON_SAM_LOGON_REQUEST, "SAM LOGON request from client"},
{LOGON_SAM_LOGON_RESPONSE, "Response to SAM LOGON request"},
{LOGON_SAM_RESPONSE_DURING_LOGON, "SAM Response during LOGON pause"},
{LOGON_SAM_USER_UNKNOWN, "SAM Response - user unknown"},
{LOGON_SAM_INTERROGATE_RESPONSE, "SAM Response to Interrogate Request"},
{LOGON_SAM_AD_USER_UNKNOWN, "SAM Active Directory Response - user unknown"},
{LOGON_SAM_UNKNOWN_18, "SAM unknown command 0x18"},
{LOGON_SAM_AD_LOGON_RESPONSE, "Active Directory Response to SAM LOGON request"},
{0, NULL}
};
static int (*dissect_smb_logon_cmds[])(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, int offset) = {
dissect_smb_logon_request, /* 0x00 (LM1.0/LM2.0 LOGON Request) */
dissect_smb_logon_LM10_resp,/* 0x01 (LM1.0 LOGON Response) */
dissect_smb_logon_2, /* 0x02 (LM1.0 Query Centralized Init.)*/
dissect_smb_logon_2, /* 0x03 (LM1.0 Query Distributed Init.)*/
dissect_smb_logon_2, /* 0x04 (LM1.0 Centralized Query Resp.)*/
dissect_smb_logon_2, /* 0x05 (LM1.0 Distributed Query Resp.) */
dissect_smb_logon_LM20_resp,/* 0x06 (LM2.0 LOGON Response) */
dissect_smb_pdc_query, /* 0x07 (Query for PDC) */
dissect_smb_pdc_startup, /* 0x08 (Announce PDC startup) */
dissect_smb_pdc_failure, /* 0x09 (Announce Failed PDC) */
dissect_announce_change, /* 0x0A (Announce Change to UAS or SAM)*/
dissect_smb_no_user, /* 0x0B (Announce no user on machine)*/
dissect_smb_pdc_startup, /* 0x0C (Response from PDC) */
dissect_smb_relogon_resp, /* 0x0D (Relogon response) */
dissect_smb_inter_resp, /* 0x0E (Interrogate response) */
dissect_smb_pdc_failure, /* 0x0F (LM2.0 Resp. during LOGON pause*/
dissect_smb_pdc_failure, /* 0x10 (LM 2.0 Unknown user response)*/
dissect_smb_acc_update, /* 0x11 (LM2.1 Announce Acc updates)*/
dissect_smb_sam_logon_req, /* 0x12 (SAM LOGON request ) */
dissect_smb_sam_logon_resp, /* 0x13 (SAM LOGON response) */
dissect_smb_unknown, /* 0x14 (SAM Response during LOGON Pause) */
dissect_smb_sam_logon_resp, /* 0x15 (SAM Response User Unknown) */
dissect_smb_unknown, /* 0x16 (SAM Response to Interrogate)*/
dissect_smb_pdc_response_ads, /* 0x17 (SAM AD response User Unknown*/
dissect_smb_unknown, /* 0x18 (Unknown command) */
dissect_smb_pdc_response_ads /* 0x19 (SAM LOGON AD response) */
dissect_smb_logon_request, /* 0x00 (LM1.0/LM2.0 LOGON Request) */
dissect_smb_logon_LM10_resp, /* 0x01 (LM1.0 LOGON Response) */
dissect_smb_logon_2, /* 0x02 (LM1.0 Query Centralized Init.)*/
dissect_smb_logon_2, /* 0x03 (LM1.0 Query Distributed Init.)*/
dissect_smb_logon_2, /* 0x04 (LM1.0 Centralized Query Resp.)*/
dissect_smb_logon_2, /* 0x05 (LM1.0 Distributed Query Resp.) */
dissect_smb_logon_LM20_resp, /* 0x06 (LM2.0 LOGON Response) */
dissect_smb_pdc_query, /* 0x07 (Query for PDC) */
dissect_smb_pdc_startup, /* 0x08 (Announce PDC startup) */
dissect_smb_pdc_failure, /* 0x09 (Announce Failed PDC) */
dissect_announce_change, /* 0x0A (Announce Change to UAS or SAM)*/
dissect_smb_no_user, /* 0x0B (Announce no user on machine)*/
dissect_smb_pdc_startup, /* 0x0C (Response from PDC) */
dissect_smb_relogon_resp, /* 0x0D (Relogon response) */
dissect_smb_inter_resp, /* 0x0E (Interrogate response) */
dissect_smb_pdc_failure, /* 0x0F (LM2.0 Resp. during LOGON pause*/
dissect_smb_pdc_failure, /* 0x10 (LM 2.0 Unknown user response)*/
dissect_smb_acc_update, /* 0x11 (LM2.1 Announce Acc updates)*/
dissect_smb_sam_logon_req, /* 0x12 (SAM LOGON request ) */
dissect_smb_sam_logon_resp, /* 0x13 (SAM LOGON response) */
dissect_smb_unknown, /* 0x14 (SAM Response during LOGON Pause) */
dissect_smb_sam_logon_resp, /* 0x15 (SAM Response User Unknown) */
dissect_smb_unknown, /* 0x16 (SAM Response to Interrogate)*/
dissect_smb_pdc_response_ads, /* 0x17 (SAM AD response User Unknown*/
dissect_smb_unknown, /* 0x18 (Unknown command) */
dissect_smb_pdc_response_ads /* 0x19 (SAM LOGON AD response) */
};
@ -905,11 +905,11 @@ dissect_smb_logon(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree)
col_clear(pinfo->cinfo, COL_INFO);
/* get the Command field */
cmd = tvb_get_guint8(tvb, offset);
cmd = tvb_get_guint8(tvb, offset);
col_add_str(pinfo->cinfo, COL_INFO, val_to_str(cmd, commands, "Unknown Command:%02x") );
if (tree) {
if (tree) {
item = proto_tree_add_item(tree, proto_smb_logon, tvb,
offset, -1, ENC_NA);
@ -1146,11 +1146,24 @@ proto_register_smb_logon( void)
&ett_smb_db_info
};
proto_smb_logon = proto_register_protocol(
"Microsoft Windows Logon Protocol (Old)", "SMB_NETLOGON", "smb_netlogon");
proto_smb_logon = proto_register_protocol(
"Microsoft Windows Logon Protocol (Old)", "SMB_NETLOGON", "smb_netlogon");
proto_register_field_array(proto_smb_logon, hf, array_length(hf));
proto_register_subtree_array(ett, array_length(ett));
register_dissector("smb_netlogon", dissect_smb_logon, proto_smb_logon);
}
/*
* 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

@ -555,7 +555,7 @@ static int dissect_common(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, v
/*offset += 2;*/ /* CRC */
} /* if (tree) */
return tvb_length(tvb);
return tvb_length(tvb);
} /* dissect_synphasor() */
/* called for synchrophasors over UDP */
@ -1348,3 +1348,16 @@ void proto_reg_handoff_synphasor(void)
dissector_add_uint("tcp.port", current_tcp_port, synphasor_tcp_handle);
dissector_add_uint("rtacser.data", RTACSER_PAYLOAD_SYNPHASOR, synphasor_udp_handle);
} /* proto_reg_handoff_synphasor() */
/*
* 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

@ -359,8 +359,8 @@ static gint ett_tacplus_flags = -1;
static gint ett_tacplus_acct_flags = -1;
typedef struct _tacplus_key_entry {
address *s; /* Server address */
address *c; /* client address */
address *s; /* Server address */
address *c; /* client address */
char *k; /* Key */
} tacplus_key_entry;
@ -1309,3 +1309,16 @@ md5_xor( guint8 *data, const char *key, int data_len, guint8 *session_id, guint8
md5_finish(&mdcontext,hash);
}
}
/*
* 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

@ -3023,3 +3023,16 @@ proto_reg_handoff_tipc(void)
tipc_udp_port_range = range_copy(global_tipc_udp_port_range);
dissector_add_uint_range("udp.port", tipc_udp_port_range, tipc_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

@ -750,10 +750,10 @@ static void dissect_tns_control(tvbuff_t *tvb, int offset, packet_info *pinfo,
static guint
get_tns_pdu_len(packet_info *pinfo _U_, tvbuff_t *tvb, int offset)
{
/*
* Get the length of the TNS message, including header
*/
return tvb_get_ntohs(tvb, offset);
/*
* Get the length of the TNS message, including header
*/
return tvb_get_ntohs(tvb, offset);
}
static int
@ -1239,3 +1239,16 @@ proto_reg_handoff_tns(void)
dissector_add_uint("tcp.port", TCP_PORT_TNS, tns_handle);
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

@ -2307,3 +2307,16 @@ proto_register_uma(void)
&global_uma_tcp_port_range, MAX_UDP_PORT);
}
/*
* 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

@ -268,46 +268,46 @@ static gint ett_vines_icp = -1;
/* VINES IP structs and definitions */
enum {
VIP_PROTO_IPC = 1, /* Interprocess Communications Protocol (IPC) */
VIP_PROTO_SPP = 2, /* Sequenced Packet Protcol (SPP) */
VIP_PROTO_ARP = 4, /* Address Resolution Protocol (ARP) */
VIP_PROTO_RTP = 5, /* Routing Update Protocol (RTP) / SRTP (Sequenced RTP) */
VIP_PROTO_ICP = 6 /* Internet Control Protocol (ICP) */
VIP_PROTO_IPC = 1, /* Interprocess Communications Protocol (IPC) */
VIP_PROTO_SPP = 2, /* Sequenced Packet Protcol (SPP) */
VIP_PROTO_ARP = 4, /* Address Resolution Protocol (ARP) */
VIP_PROTO_RTP = 5, /* Routing Update Protocol (RTP) / SRTP (Sequenced RTP) */
VIP_PROTO_ICP = 6 /* Internet Control Protocol (ICP) */
};
/* VINES SPP and IPC structs and definitions */
enum {
PKTTYPE_DGRAM = 0, /* Unreliable datagram */
PKTTYPE_DATA = 1, /* User Data */
PKTTYPE_ERR = 2, /* Error */
PKTTYPE_DISC = 3, /* Diconnect Request */
PKTTYPE_PROBE = 4, /* Probe (retransmit) */
PKTTYPE_ACK = 5 /* Acknowledgement */
PKTTYPE_DGRAM = 0, /* Unreliable datagram */
PKTTYPE_DATA = 1, /* User Data */
PKTTYPE_ERR = 2, /* Error */
PKTTYPE_DISC = 3, /* Diconnect Request */
PKTTYPE_PROBE = 4, /* Probe (retransmit) */
PKTTYPE_ACK = 5 /* Acknowledgement */
};
typedef struct _e_vspp {
guint16 vspp_sport;
guint16 vspp_dport;
guint8 vspp_pkttype;
guint8 vspp_control;
guint16 vspp_lclid; /* Local Connection ID */
guint16 vspp_rmtid; /* Remote Connection ID */
guint16 vspp_seqno; /* Sequence Number */
guint16 vspp_ack; /* Acknowledgement Number */
guint16 vspp_win;
guint16 vspp_sport;
guint16 vspp_dport;
guint8 vspp_pkttype;
guint8 vspp_control;
guint16 vspp_lclid; /* Local Connection ID */
guint16 vspp_rmtid; /* Remote Connection ID */
guint16 vspp_seqno; /* Sequence Number */
guint16 vspp_ack; /* Acknowledgement Number */
guint16 vspp_win;
} e_vspp;
typedef struct _e_vipc {
guint16 vipc_sport;
guint16 vipc_dport;
guint8 vipc_pkttype;
guint8 vipc_control;
guint16 vipc_lclid; /* Local Connection ID */
guint16 vipc_rmtid; /* Remote Connection ID */
guint16 vipc_seqno; /* Sequence Number */
guint16 vipc_ack; /* Acknowledgement Number */
guint16 vipc_err_len;
guint16 vipc_sport;
guint16 vipc_dport;
guint8 vipc_pkttype;
guint8 vipc_control;
guint16 vipc_lclid; /* Local Connection ID */
guint16 vipc_rmtid; /* Remote Connection ID */
guint16 vipc_seqno; /* Sequence Number */
guint16 vipc_ack; /* Acknowledgement Number */
guint16 vipc_err_len;
} e_vipc;
void
@ -358,7 +358,7 @@ dissect_vines_frp(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree)
static int
dissect_vines_frp_new(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree,
void *params _U_)
void *params _U_)
{
if (pinfo->srcport != pinfo->destport) {
/* Require that the source and destination ports be the
@ -801,7 +801,7 @@ dissect_vines_ipc(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree)
proto_tree *vipc_tree = NULL, *control_tree;
proto_item *ti;
tvbuff_t *next_tvb;
heur_dtbl_entry_t *hdtbl_entry;
heur_dtbl_entry_t *hdtbl_entry;
col_set_str(pinfo->cinfo, COL_PROTOCOL, "VIPC");
col_clear(pinfo->cinfo, COL_INFO);
@ -1014,7 +1014,7 @@ dissect_vines_spp(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree)
proto_tree *vspp_tree, *control_tree;
proto_item *ti;
tvbuff_t *next_tvb;
heur_dtbl_entry_t *hdtbl_entry;
heur_dtbl_entry_t *hdtbl_entry;
col_set_str(pinfo->cinfo, COL_PROTOCOL, "VSPP");
col_clear(pinfo->cinfo, COL_INFO);
@ -1405,12 +1405,13 @@ srtp_show_machine_info(proto_tree *tree, tvbuff_t *tvb, int offset, int hf_vines
static int
rtp_show_gateway_info(proto_tree *tree, tvbuff_t *tvb, int offset,
guint8 link_addr_length, guint8 source_route_length)
guint8 link_addr_length, guint8 source_route_length)
{
if (link_addr_length != 0) {
proto_tree_add_item(tree,
link_addr_length == 6 ? hf_vines_rtp_preferred_gateway_data_link_address_ether : hf_vines_rtp_preferred_gateway_data_link_address_bytes,
tvb, offset, link_addr_length, ENC_NA);
proto_tree_add_item(
tree,
link_addr_length == 6 ? hf_vines_rtp_preferred_gateway_data_link_address_ether : hf_vines_rtp_preferred_gateway_data_link_address_bytes,
tvb, offset, link_addr_length, ENC_NA);
offset += link_addr_length;
}
if (source_route_length != 0) {
@ -2009,3 +2010,16 @@ proto_reg_handoff_vines_icp(void)
proto_vines_icp);
dissector_add_uint("vines_ip.protocol", VIP_PROTO_ICP, vines_icp_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

@ -362,8 +362,8 @@ static const value_string wlccp_status_vs[] = {
};
static const value_string cisco_pid_vals[] = {
{ 0x0000, "WLCCP" },
{ 0, NULL }
{ 0x0000, "WLCCP" },
{ 0, NULL }
};
static const value_string wlccp_mode_vs[] = {
@ -4129,3 +4129,16 @@ proto_register_wlccp_oui(void)
llc_add_oui(OUI_CISCOWL, "llc.wlccp_pid", "LLC Cisco WLCCP OUI PID", hf);
}
/*
* 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

@ -1592,3 +1592,16 @@ proto_reg_handoff_wtls(void)
dissector_add_uint("udp.port", UDP_PORT_WTLS_WTP_WSP, wtls_handle);
dissector_add_uint("udp.port", UDP_PORT_WTLS_WSP_PUSH,wtls_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

@ -175,36 +175,36 @@ static const value_string version_vals[] = {
};
static const value_string service_vals[] = {
{ XTP_TOS_UNSPEC, "Unspecified" },
{ XTP_TOS_UNACKED_DGRAM, "Traditional Unacknowledged Datagram Service" },
{ XTP_TOS_ACKED_DGRAM, "Acknowledged Datagram Service" },
{ XTP_TOS_TRANS, "Transaction Service" },
{ XTP_TOS_UNICAST_STREAM, "Traditional Reliable Unicast Stream Service" },
{ XTP_TOS_UNSPEC, "Unspecified" },
{ XTP_TOS_UNACKED_DGRAM, "Traditional Unacknowledged Datagram Service" },
{ XTP_TOS_ACKED_DGRAM, "Acknowledged Datagram Service" },
{ XTP_TOS_TRANS, "Transaction Service" },
{ XTP_TOS_UNICAST_STREAM, "Traditional Reliable Unicast Stream Service" },
{ XTP_TOS_UNACKED_MULTICAST_STREAM, "Unacknowledged Multicast Stream Service" },
{ XTP_TOS_MULTICAST_STREAM, "Reliable Multicast Stream Service" },
{ XTP_TOS_MULTICAST_STREAM, "Reliable Multicast Stream Service" },
{ 0, NULL }
};
static const value_string aformat_vals[] = {
{ XTP_ADDR_NULL, "Null Address" },
{ XTP_ADDR_IP, "Internet Protocol Address" },
{ XTP_ADDR_ISO, "ISO Connectionless Network Layer Protocol Address" },
{ XTP_ADDR_NULL, "Null Address" },
{ XTP_ADDR_IP, "Internet Protocol Address" },
{ XTP_ADDR_ISO, "ISO Connectionless Network Layer Protocol Address" },
{ XTP_ADDR_XEROX, "Xerox Network System Address" },
{ XTP_ADDR_IPX, "IPX Address" },
{ XTP_ADDR_IPX, "IPX Address" },
{ XTP_ADDR_LOCAL, "Local Address" },
{ XTP_ADDR_IP6, "Internet Protocol Version 6 Address" },
{ XTP_ADDR_IP6, "Internet Protocol Version 6 Address" },
{ 0, NULL }
};
static const value_string pformat_vals[] = {
{ XTP_DATA_PKT, "DATA" },
{ XTP_CNTL_PKT, "CNTL" },
{ XTP_DATA_PKT, "DATA" },
{ XTP_CNTL_PKT, "CNTL" },
{ XTP_FIRST_PKT, "FIRST" },
{ XTP_ECNTL_PKT, "ECNTL" },
{ XTP_TCNTL_PKT, "TCNTL" },
{ XTP_JOIN_PKT, "JOIN<obsolete>" },
{ XTP_JOIN_PKT, "JOIN<obsolete>" },
{ XTP_JCNTL_PKT, "JCNTL" },
{ XTP_DIAG_PKT, "DIAG" },
{ XTP_DIAG_PKT, "DIAG" },
{ 0, NULL }
};
@ -220,16 +220,16 @@ static const value_string diag_code_vals[] = {
};
static const value_string diag_val_vals[] = {
{ 0, "Unspecified" },
{ 1, "No listener" },
{ 2, "Options refused" },
{ 3, "Address format not supported" },
{ 4, "Malformed address format" },
{ 5, "Traffic format not supported" },
{ 6, "Traffic specification refused" },
{ 7, "Malformed traffic format" },
{ 8, "No provider for service" },
{ 9, "No resource" },
{ 0, "Unspecified" },
{ 1, "No listener" },
{ 2, "Options refused" },
{ 3, "Address format not supported" },
{ 4, "Malformed address format" },
{ 5, "Traffic format not supported" },
{ 6, "Traffic specification refused" },
{ 7, "Malformed traffic format" },
{ 8, "No provider for service" },
{ 9, "No resource" },
{ 10, "Host going down" },
{ 11, "Invalid retransmission request" },
{ 12, "Context in improper state" },
@ -327,12 +327,12 @@ static expert_field ei_xtp_spans_bad = EI_INIT;
/* dissector of each payload */
static int
dissect_xtp_aseg(tvbuff_t *tvb, proto_tree *tree, guint32 offset) {
guint32 len = tvb_length_remaining(tvb, offset);
guint32 start = offset;
proto_item *ti, *ti2, *top_ti;
proto_tree *xtp_subtree;
struct xtp_ip_addr_seg aseg[1];
int error = 0;
guint32 len = tvb_length_remaining(tvb, offset);
guint32 start = offset;
proto_item *ti, *ti2, *top_ti;
proto_tree *xtp_subtree;
struct xtp_ip_addr_seg aseg[1];
int error = 0;
xtp_subtree = proto_tree_add_subtree(tree, tvb, offset, len, ett_xtp_aseg, &top_ti, "Address Segment");
@ -443,11 +443,11 @@ dissect_xtp_aseg(tvbuff_t *tvb, proto_tree *tree, guint32 offset) {
static int
dissect_xtp_traffic_cntl(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree,
guint32 offset) {
guint32 len = tvb_length_remaining(tvb, offset);
guint32 start = offset;
proto_item *top_ti;
proto_tree *xtp_subtree;
struct xtp_traffic_cntl tcntl[1];
guint32 len = tvb_length_remaining(tvb, offset);
guint32 start = offset;
proto_item *top_ti;
proto_tree *xtp_subtree;
struct xtp_traffic_cntl tcntl[1];
xtp_subtree = proto_tree_add_subtree(tree, tvb, offset, len,
ett_xtp_tcntl, &top_ti, "Traffic Control Segment");
@ -518,12 +518,12 @@ dissect_xtp_traffic_cntl(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree,
static int
dissect_xtp_tspec(tvbuff_t *tvb, proto_tree *tree, guint32 offset) {
guint32 len = tvb_length_remaining(tvb, offset);
guint32 start = offset;
proto_item *ti, *ti2;
proto_tree *xtp_subtree;
struct xtp_traffic_spec1 tspec[1];
int error = 0;
guint32 len = tvb_length_remaining(tvb, offset);
guint32 start = offset;
proto_item *ti, *ti2;
proto_tree *xtp_subtree;
struct xtp_traffic_spec1 tspec[1];
int error = 0;
xtp_subtree = proto_tree_add_subtree(tree, tvb, offset, len, ett_xtp_tspec, &ti, "Traffic Specifier");
@ -633,9 +633,9 @@ dissect_xtp_tspec(tvbuff_t *tvb, proto_tree *tree, guint32 offset) {
static void
dissect_xtp_data(tvbuff_t *tvb, proto_tree *tree, guint32 offset, gboolean have_btag) {
guint32 len = tvb_length_remaining(tvb, offset);
guint32 len = tvb_length_remaining(tvb, offset);
proto_tree *xtp_subtree;
guint64 btag;
guint64 btag;
xtp_subtree = proto_tree_add_subtree(tree, tvb, offset, len, ett_xtp_data, NULL, "Data Segment");
@ -656,11 +656,11 @@ dissect_xtp_data(tvbuff_t *tvb, proto_tree *tree, guint32 offset, gboolean have_
static void
dissect_xtp_cntl(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree,
guint32 offset) {
guint32 len = tvb_length_remaining(tvb, offset);
guint32 start = offset;
proto_item *top_ti;
proto_tree *xtp_subtree;
struct xtp_cntl cntl[1];
guint32 len = tvb_length_remaining(tvb, offset);
guint32 start = offset;
proto_item *top_ti;
proto_tree *xtp_subtree;
struct xtp_cntl cntl[1];
xtp_subtree = proto_tree_add_subtree(tree, tvb, offset, len,
ett_xtp_cntl, &top_ti, "Common Control Segment");
@ -727,13 +727,13 @@ dissect_xtp_first(tvbuff_t *tvb, proto_tree *tree, guint32 offset) {
static void
dissect_xtp_ecntl(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree,
guint32 offset) {
guint32 len = tvb_length_remaining(tvb, offset);
guint32 start = offset;
proto_item *top_ti;
proto_tree *xtp_subtree;
struct xtp_ecntl ecntl[1];
guint spans_len;
guint i;
guint32 len = tvb_length_remaining(tvb, offset);
guint32 start = offset;
proto_item *top_ti;
proto_tree *xtp_subtree;
struct xtp_ecntl ecntl[1];
guint spans_len;
guint i;
xtp_subtree = proto_tree_add_subtree(tree, tvb, offset, len,
ett_xtp_ecntl, &top_ti, "Error Control Segment");
@ -847,12 +847,12 @@ dissect_xtp_jcntl(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree,
static void
dissect_xtp_diag(tvbuff_t *tvb, proto_tree *tree, guint32 offset) {
guint32 len = tvb_length_remaining(tvb, offset);
guint32 start = offset;
proto_item *ti;
proto_tree *xtp_subtree;
struct xtp_diag diag[1];
guint32 msg_len;
guint32 len = tvb_length_remaining(tvb, offset);
guint32 start = offset;
proto_item *ti;
proto_tree *xtp_subtree;
struct xtp_diag diag[1];
guint32 msg_len;
xtp_subtree = proto_tree_add_subtree(tree, tvb, offset, len, ett_xtp_diag, &ti, "Diagnostic Segment");
@ -895,21 +895,21 @@ dissect_xtp_diag(tvbuff_t *tvb, proto_tree *tree, guint32 offset) {
/* main dissector */
static int
dissect_xtp(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void *data _U_) {
guint32 offset, len;
proto_item *ti;
proto_tree *xtp_tree, *xtp_cmd_tree, *xtp_subtree;
struct xtphdr xtph[1];
int error = 0;
gchar *options;
guint32 offset, len;
proto_item *ti;
proto_tree *xtp_tree, *xtp_cmd_tree, *xtp_subtree;
struct xtphdr xtph[1];
int error = 0;
gchar *options;
static const char *fstr[] = { "<None>", "NOCHECK", "EDGE", "NOERR", "MULTI", "RES",
"SORT", "NOFLOW", "FASTNAK", "SREQ", "DREQ",
"RCLOSE", "WCLOSE", "EOM", "END", "BTAG" };
gint fpos = 0, returned_length;
guint i, bpos;
guint cmd_options;
vec_t cksum_vec[1];
guint16 computed_cksum;
gboolean have_btag;
gint fpos = 0, returned_length;
guint i, bpos;
guint cmd_options;
vec_t cksum_vec[1];
guint16 computed_cksum;
gboolean have_btag;
if ((len = tvb_length(tvb)) < XTP_HEADER_LEN)
return 0;
@ -1124,272 +1124,272 @@ proto_register_xtp(void)
static hf_register_info hf[] = {
/* command header */
{ &hf_xtp_key,
{ "Key", "xtp.key",
FT_UINT64, BASE_HEX, NULL, 0x0,
NULL, HFILL }
{ "Key", "xtp.key",
FT_UINT64, BASE_HEX, NULL, 0x0,
NULL, HFILL }
},
{ &hf_xtp_cmd,
{ "Command", "xtp.cmd",
FT_UINT32, BASE_HEX, NULL, 0x0, NULL, HFILL }
{ "Command", "xtp.cmd",
FT_UINT32, BASE_HEX, NULL, 0x0, NULL, HFILL }
},
{ &hf_xtp_cmd_options,
{ "Options", "xtp.cmd.options",
FT_UINT24, BASE_HEX, NULL, 0x0, NULL, HFILL }
{ "Options", "xtp.cmd.options",
FT_UINT24, BASE_HEX, NULL, 0x0, NULL, HFILL }
},
{ &hf_xtp_cmd_options_nocheck,
{ "NOCHECK", "xtp.cmd.options.nocheck",
FT_BOOLEAN, 24, TFS(&tfs_set_notset),
XTP_CMD_OPTIONS_NOCHECK, NULL, HFILL }
{ "NOCHECK", "xtp.cmd.options.nocheck",
FT_BOOLEAN, 24, TFS(&tfs_set_notset),
XTP_CMD_OPTIONS_NOCHECK, NULL, HFILL }
},
{ &hf_xtp_cmd_options_edge,
{ "EDGE", "xtp.cmd.options.edge",
FT_BOOLEAN, 24, TFS(&tfs_set_notset),
XTP_CMD_OPTIONS_EDGE, NULL, HFILL }
{ "EDGE", "xtp.cmd.options.edge",
FT_BOOLEAN, 24, TFS(&tfs_set_notset),
XTP_CMD_OPTIONS_EDGE, NULL, HFILL }
},
{ &hf_xtp_cmd_options_noerr,
{ "NOERR", "xtp.cmd.options.noerr",
FT_BOOLEAN, 24, TFS(&tfs_set_notset),
XTP_CMD_OPTIONS_NOERR, NULL, HFILL }
{ "NOERR", "xtp.cmd.options.noerr",
FT_BOOLEAN, 24, TFS(&tfs_set_notset),
XTP_CMD_OPTIONS_NOERR, NULL, HFILL }
},
{ &hf_xtp_cmd_options_multi,
{ "MULTI", "xtp.cmd.options.multi",
FT_BOOLEAN, 24, TFS(&tfs_set_notset),
XTP_CMD_OPTIONS_MULTI, NULL, HFILL }
{ "MULTI", "xtp.cmd.options.multi",
FT_BOOLEAN, 24, TFS(&tfs_set_notset),
XTP_CMD_OPTIONS_MULTI, NULL, HFILL }
},
{ &hf_xtp_cmd_options_res,
{ "RES", "xtp.cmd.options.res",
FT_BOOLEAN, 24, TFS(&tfs_set_notset),
XTP_CMD_OPTIONS_RES, NULL, HFILL }
{ "RES", "xtp.cmd.options.res",
FT_BOOLEAN, 24, TFS(&tfs_set_notset),
XTP_CMD_OPTIONS_RES, NULL, HFILL }
},
{ &hf_xtp_cmd_options_sort,
{ "SORT", "xtp.cmd.options.sort",
FT_BOOLEAN, 24, TFS(&tfs_set_notset),
XTP_CMD_OPTIONS_SORT, NULL, HFILL }
{ "SORT", "xtp.cmd.options.sort",
FT_BOOLEAN, 24, TFS(&tfs_set_notset),
XTP_CMD_OPTIONS_SORT, NULL, HFILL }
},
{ &hf_xtp_cmd_options_noflow,
{ "NOFLOW", "xtp.cmd.options.noflow",
FT_BOOLEAN, 24, TFS(&tfs_set_notset),
XTP_CMD_OPTIONS_NOFLOW, NULL, HFILL }
{ "NOFLOW", "xtp.cmd.options.noflow",
FT_BOOLEAN, 24, TFS(&tfs_set_notset),
XTP_CMD_OPTIONS_NOFLOW, NULL, HFILL }
},
{ &hf_xtp_cmd_options_fastnak,
{ "FASTNAK", "xtp.cmd.options.fastnak",
FT_BOOLEAN, 24, TFS(&tfs_set_notset),
XTP_CMD_OPTIONS_FASTNAK, NULL, HFILL }
{ "FASTNAK", "xtp.cmd.options.fastnak",
FT_BOOLEAN, 24, TFS(&tfs_set_notset),
XTP_CMD_OPTIONS_FASTNAK, NULL, HFILL }
},
{ &hf_xtp_cmd_options_sreq,
{ "SREQ", "xtp.cmd.options.sreq",
FT_BOOLEAN, 24, TFS(&tfs_set_notset),
XTP_CMD_OPTIONS_SREQ, NULL, HFILL }
{ "SREQ", "xtp.cmd.options.sreq",
FT_BOOLEAN, 24, TFS(&tfs_set_notset),
XTP_CMD_OPTIONS_SREQ, NULL, HFILL }
},
{ &hf_xtp_cmd_options_dreq,
{ "DREQ", "xtp.cmd.options.dreq",
FT_BOOLEAN, 24, TFS(&tfs_set_notset),
XTP_CMD_OPTIONS_DREQ, NULL, HFILL }
{ "DREQ", "xtp.cmd.options.dreq",
FT_BOOLEAN, 24, TFS(&tfs_set_notset),
XTP_CMD_OPTIONS_DREQ, NULL, HFILL }
},
{ &hf_xtp_cmd_options_rclose,
{ "RCLOSE", "xtp.cmd.options.rclose",
FT_BOOLEAN, 24, TFS(&tfs_set_notset),
XTP_CMD_OPTIONS_RCLOSE, NULL, HFILL }
{ "RCLOSE", "xtp.cmd.options.rclose",
FT_BOOLEAN, 24, TFS(&tfs_set_notset),
XTP_CMD_OPTIONS_RCLOSE, NULL, HFILL }
},
{ &hf_xtp_cmd_options_wclose,
{ "WCLOSE", "xtp.cmd.options.wclose",
FT_BOOLEAN, 24, TFS(&tfs_set_notset),
XTP_CMD_OPTIONS_WCLOSE, NULL, HFILL }
{ "WCLOSE", "xtp.cmd.options.wclose",
FT_BOOLEAN, 24, TFS(&tfs_set_notset),
XTP_CMD_OPTIONS_WCLOSE, NULL, HFILL }
},
{ &hf_xtp_cmd_options_eom,
{ "EOM", "xtp.cmd.options.eom",
FT_BOOLEAN, 24, TFS(&tfs_set_notset),
XTP_CMD_OPTIONS_EOM, NULL, HFILL }
{ "EOM", "xtp.cmd.options.eom",
FT_BOOLEAN, 24, TFS(&tfs_set_notset),
XTP_CMD_OPTIONS_EOM, NULL, HFILL }
},
{ &hf_xtp_cmd_options_end,
{ "END", "xtp.cmd.options.end",
FT_BOOLEAN, 24, TFS(&tfs_set_notset),
XTP_CMD_OPTIONS_END, NULL, HFILL }
{ "END", "xtp.cmd.options.end",
FT_BOOLEAN, 24, TFS(&tfs_set_notset),
XTP_CMD_OPTIONS_END, NULL, HFILL }
},
{ &hf_xtp_cmd_options_btag,
{ "BTAG", "xtp.cmd.options.btag",
FT_BOOLEAN, 24, TFS(&tfs_set_notset),
XTP_CMD_OPTIONS_BTAG, NULL, HFILL }
{ "BTAG", "xtp.cmd.options.btag",
FT_BOOLEAN, 24, TFS(&tfs_set_notset),
XTP_CMD_OPTIONS_BTAG, NULL, HFILL }
},
{ &hf_xtp_cmd_ptype,
{ "Packet type", "xtp.cmd.ptype",
FT_UINT8, BASE_HEX, NULL, 0x0, NULL, HFILL }
{ "Packet type", "xtp.cmd.ptype",
FT_UINT8, BASE_HEX, NULL, 0x0, NULL, HFILL }
},
{ &hf_xtp_cmd_ptype_ver,
{ "Version", "xtp.cmd.ptype.ver",
FT_UINT8, BASE_DEC, VALS(version_vals), 0x0, NULL, HFILL }
{ "Version", "xtp.cmd.ptype.ver",
FT_UINT8, BASE_DEC, VALS(version_vals), 0x0, NULL, HFILL }
},
{ &hf_xtp_cmd_ptype_pformat,
{ "Format", "xtp.cmd.ptype.pformat",
FT_UINT8, BASE_DEC, VALS(pformat_vals), 0x0, NULL, HFILL }
{ "Format", "xtp.cmd.ptype.pformat",
FT_UINT8, BASE_DEC, VALS(pformat_vals), 0x0, NULL, HFILL }
},
{ &hf_xtp_dlen,
{ "Data length", "xtp.dlen",
FT_UINT32, BASE_DEC, NULL, 0x0, NULL, HFILL }
{ "Data length", "xtp.dlen",
FT_UINT32, BASE_DEC, NULL, 0x0, NULL, HFILL }
},
{ &hf_xtp_sort,
{ "Sort", "xtp.sort",
FT_UINT16, BASE_DEC, NULL, 0x0, NULL, HFILL }
{ "Sort", "xtp.sort",
FT_UINT16, BASE_DEC, NULL, 0x0, NULL, HFILL }
},
{ &hf_xtp_sync,
{ "Synchronizing handshake", "xtp.sync",
FT_UINT32, BASE_DEC, NULL, 0x0, NULL, HFILL }
{ "Synchronizing handshake", "xtp.sync",
FT_UINT32, BASE_DEC, NULL, 0x0, NULL, HFILL }
},
{ &hf_xtp_seq,
{ "Sequence number", "xtp.seq",
FT_UINT64, BASE_DEC, NULL, 0x0, NULL, HFILL }
{ "Sequence number", "xtp.seq",
FT_UINT64, BASE_DEC, NULL, 0x0, NULL, HFILL }
},
/* control segment */
{ &hf_xtp_cntl_rseq,
{ "Received sequence number", "xtp.cntl.rseq",
FT_UINT64, BASE_DEC, NULL, 0x0, NULL, HFILL }
{ "Received sequence number", "xtp.cntl.rseq",
FT_UINT64, BASE_DEC, NULL, 0x0, NULL, HFILL }
},
{ &hf_xtp_cntl_alloc,
{ "Allocation", "xtp.cntl.alloc",
FT_UINT64, BASE_DEC, NULL, 0x0, NULL, HFILL }
{ "Allocation", "xtp.cntl.alloc",
FT_UINT64, BASE_DEC, NULL, 0x0, NULL, HFILL }
},
{ &hf_xtp_cntl_echo,
{ "Synchronizing handshake echo", "xtp.cntl.echo",
FT_UINT32, BASE_DEC, NULL, 0x0, NULL, HFILL }
{ "Synchronizing handshake echo", "xtp.cntl.echo",
FT_UINT32, BASE_DEC, NULL, 0x0, NULL, HFILL }
},
{ &hf_xtp_ecntl_rseq,
{ "Received sequence number", "xtp.ecntl.rseq",
FT_UINT64, BASE_DEC, NULL, 0x0, NULL, HFILL }
{ "Received sequence number", "xtp.ecntl.rseq",
FT_UINT64, BASE_DEC, NULL, 0x0, NULL, HFILL }
},
{ &hf_xtp_ecntl_alloc,
{ "Allocation", "xtp.ecntl.alloc",
FT_UINT64, BASE_DEC, NULL, 0x0, NULL, HFILL }
{ "Allocation", "xtp.ecntl.alloc",
FT_UINT64, BASE_DEC, NULL, 0x0, NULL, HFILL }
},
{ &hf_xtp_ecntl_echo,
{ "Synchronizing handshake echo", "xtp.ecntl.echo",
FT_UINT32, BASE_DEC, NULL, 0x0, NULL, HFILL }
{ "Synchronizing handshake echo", "xtp.ecntl.echo",
FT_UINT32, BASE_DEC, NULL, 0x0, NULL, HFILL }
},
{ &hf_xtp_ecntl_nspan,
{ "Number of spans", "xtp.ecntl.nspan",
FT_UINT32, BASE_DEC, NULL, 0x0, NULL, HFILL }
{ "Number of spans", "xtp.ecntl.nspan",
FT_UINT32, BASE_DEC, NULL, 0x0, NULL, HFILL }
},
{ &hf_xtp_ecntl_span_left,
{ "Span left edge", "xtp.ecntl.span_le",
FT_UINT64, BASE_DEC, NULL, 0x0, NULL, HFILL }
{ "Span left edge", "xtp.ecntl.span_le",
FT_UINT64, BASE_DEC, NULL, 0x0, NULL, HFILL }
},
{ &hf_xtp_ecntl_span_right,
{ "Span right edge", "xtp.ecntl.span_re",
FT_UINT64, BASE_DEC, NULL, 0x0, NULL, HFILL }
{ "Span right edge", "xtp.ecntl.span_re",
FT_UINT64, BASE_DEC, NULL, 0x0, NULL, HFILL }
},
{ &hf_xtp_tcntl_rseq,
{ "Received sequence number", "xtp.tcntl.rseq",
FT_UINT64, BASE_DEC, NULL, 0x0, NULL, HFILL }
{ "Received sequence number", "xtp.tcntl.rseq",
FT_UINT64, BASE_DEC, NULL, 0x0, NULL, HFILL }
},
{ &hf_xtp_tcntl_alloc,
{ "Allocation", "xtp.tcntl.alloc",
FT_UINT64, BASE_DEC, NULL, 0x0, NULL, HFILL }
{ "Allocation", "xtp.tcntl.alloc",
FT_UINT64, BASE_DEC, NULL, 0x0, NULL, HFILL }
},
{ &hf_xtp_tcntl_echo,
{ "Synchronizing handshake echo", "xtp.tcntl.echo",
FT_UINT32, BASE_DEC, NULL, 0x0, NULL, HFILL }
{ "Synchronizing handshake echo", "xtp.tcntl.echo",
FT_UINT32, BASE_DEC, NULL, 0x0, NULL, HFILL }
},
{ &hf_xtp_tcntl_rsvd,
{ "Reserved", "xtp.tcntl.rsvd",
FT_UINT32, BASE_DEC, NULL, 0x0, NULL, HFILL }
{ "Reserved", "xtp.tcntl.rsvd",
FT_UINT32, BASE_DEC, NULL, 0x0, NULL, HFILL }
},
{ &hf_xtp_tcntl_xkey,
{ "Exchange key", "xtp.tcntl.xkey",
FT_UINT64, BASE_HEX, NULL, 0x0, NULL, HFILL }
{ "Exchange key", "xtp.tcntl.xkey",
FT_UINT64, BASE_HEX, NULL, 0x0, NULL, HFILL }
},
/* traffic specifier */
{ &hf_xtp_tspec_tlen,
{ "Length", "xtp.tspec.tlen",
FT_UINT16, BASE_DEC, NULL, 0x0, NULL, HFILL }
{ "Length", "xtp.tspec.tlen",
FT_UINT16, BASE_DEC, NULL, 0x0, NULL, HFILL }
},
{ &hf_xtp_tspec_service,
{ "Service", "xtp.tspec.service",
FT_UINT8, BASE_DEC, VALS(service_vals), 0x0, NULL, HFILL }
{ "Service", "xtp.tspec.service",
FT_UINT8, BASE_DEC, VALS(service_vals), 0x0, NULL, HFILL }
},
{ &hf_xtp_tspec_tformat,
{ "Format", "xtp.tspec.format",
FT_UINT8, BASE_DEC, NULL, 0x0, NULL, HFILL }
{ "Format", "xtp.tspec.format",
FT_UINT8, BASE_DEC, NULL, 0x0, NULL, HFILL }
},
{ &hf_xtp_tspec_traffic,
{ "Traffic", "xtp.tspec.traffic",
FT_UINT32, BASE_DEC, NULL, 0x0, NULL, HFILL }
{ "Traffic", "xtp.tspec.traffic",
FT_UINT32, BASE_DEC, NULL, 0x0, NULL, HFILL }
},
{ &hf_xtp_tspec_maxdata,
{ "Maxdata", "xtp.tspec.maxdata",
FT_UINT32, BASE_DEC, NULL, 0x0, NULL, HFILL }
{ "Maxdata", "xtp.tspec.maxdata",
FT_UINT32, BASE_DEC, NULL, 0x0, NULL, HFILL }
},
{ &hf_xtp_tspec_inrate,
{ "Incoming rate", "xtp.tspec.inrate",
FT_UINT32, BASE_DEC, NULL, 0x0, NULL, HFILL }
{ "Incoming rate", "xtp.tspec.inrate",
FT_UINT32, BASE_DEC, NULL, 0x0, NULL, HFILL }
},
{ &hf_xtp_tspec_inburst,
{ "Incoming burst size", "xtp.tspec.inburst",
FT_UINT32, BASE_DEC, NULL, 0x0, NULL, HFILL }
{ "Incoming burst size", "xtp.tspec.inburst",
FT_UINT32, BASE_DEC, NULL, 0x0, NULL, HFILL }
},
{ &hf_xtp_tspec_outrate,
{ "Outgoing rate", "xtp.tspec.outrate",
FT_UINT32, BASE_DEC, NULL, 0x0, NULL, HFILL }
{ "Outgoing rate", "xtp.tspec.outrate",
FT_UINT32, BASE_DEC, NULL, 0x0, NULL, HFILL }
},
{ &hf_xtp_tspec_outburst,
{ "Outgoing burst size", "xtp.tspec.outburst",
FT_UINT32, BASE_DEC, NULL, 0x0, NULL, HFILL }
{ "Outgoing burst size", "xtp.tspec.outburst",
FT_UINT32, BASE_DEC, NULL, 0x0, NULL, HFILL }
},
/* address segment */
{ &hf_xtp_aseg_alen,
{ "Length", "xtp.aseg.alen",
FT_UINT16, BASE_DEC, NULL, 0x0, NULL, HFILL }
{ "Length", "xtp.aseg.alen",
FT_UINT16, BASE_DEC, NULL, 0x0, NULL, HFILL }
},
{ &hf_xtp_aseg_adomain,
{ "Domain", "xtp.aseg.adomain",
FT_UINT8, BASE_DEC, NULL, 0x0, NULL, HFILL }
{ "Domain", "xtp.aseg.adomain",
FT_UINT8, BASE_DEC, NULL, 0x0, NULL, HFILL }
},
{ &hf_xtp_aseg_aformat,
{ "Format", "xtp.aseg.aformat",
FT_UINT8, BASE_DEC, VALS(aformat_vals), 0x0, NULL, HFILL }
{ "Format", "xtp.aseg.aformat",
FT_UINT8, BASE_DEC, VALS(aformat_vals), 0x0, NULL, HFILL }
},
{ &hf_xtp_aseg_address,
{ "Traffic", "xtp.aseg.address",
FT_UINT32, BASE_DEC, NULL, 0x0, NULL, HFILL }
{ "Traffic", "xtp.aseg.address",
FT_UINT32, BASE_DEC, NULL, 0x0, NULL, HFILL }
},
{ &hf_xtp_aseg_dsthost,
{ "Destination host", "xtp.aseg.dsthost",
FT_IPv4, BASE_NONE, NULL, 0x0, NULL, HFILL }
{ "Destination host", "xtp.aseg.dsthost",
FT_IPv4, BASE_NONE, NULL, 0x0, NULL, HFILL }
},
{ &hf_xtp_aseg_srchost,
{ "Source host", "xtp.aseg.srchost",
FT_IPv4, BASE_NONE, NULL, 0x0, NULL, HFILL }
{ "Source host", "xtp.aseg.srchost",
FT_IPv4, BASE_NONE, NULL, 0x0, NULL, HFILL }
},
{ &hf_xtp_aseg_dstport,
{ "Destination port", "xtp.aseg.dstport",
FT_UINT16, BASE_DEC, NULL, 0x0, NULL, HFILL }
{ "Destination port", "xtp.aseg.dstport",
FT_UINT16, BASE_DEC, NULL, 0x0, NULL, HFILL }
},
{ &hf_xtp_aseg_srcport,
{ "Source port", "xtp.aseg.srcport",
FT_UINT16, BASE_DEC, NULL, 0x0, NULL, HFILL }
{ "Source port", "xtp.aseg.srcport",
FT_UINT16, BASE_DEC, NULL, 0x0, NULL, HFILL }
},
/* others */
{ &hf_xtp_btag,
{ "Beginning tag", "xtp.data.btag",
FT_UINT64, BASE_HEX, NULL, 0x0, NULL, HFILL }
{ "Beginning tag", "xtp.data.btag",
FT_UINT64, BASE_HEX, NULL, 0x0, NULL, HFILL }
},
{ &hf_xtp_diag_code,
{ "Diagnostic code", "xtp.diag.code",
FT_UINT32, BASE_DEC, VALS(diag_code_vals), 0x0, NULL, HFILL }
{ "Diagnostic code", "xtp.diag.code",
FT_UINT32, BASE_DEC, VALS(diag_code_vals), 0x0, NULL, HFILL }
},
{ &hf_xtp_diag_val,
{ "Diagnostic value", "xtp.diag.val",
FT_UINT32, BASE_DEC, VALS(diag_val_vals), 0x0, NULL, HFILL }
{ "Diagnostic value", "xtp.diag.val",
FT_UINT32, BASE_DEC, VALS(diag_val_vals), 0x0, NULL, HFILL }
},
{ &hf_xtp_diag_msg,
{ "Message", "xtp.diag.msg",
FT_STRING, BASE_NONE, NULL, 0x0, NULL, HFILL }
{ "Message", "xtp.diag.msg",
FT_STRING, BASE_NONE, NULL, 0x0, NULL, HFILL }
},
{ &hf_xtp_checksum,
{ "Checksum", "xtp.checksum",
FT_UINT16, BASE_HEX, NULL, 0x0, NULL, HFILL }
{ "Checksum", "xtp.checksum",
FT_UINT16, BASE_HEX, NULL, 0x0, NULL, HFILL }
},
{ &hf_xtp_data,
{ "Data", "xtp.data",
FT_BYTES, BASE_NONE, NULL, 0x0, NULL, HFILL }
{ "Data", "xtp.data",
FT_BYTES, BASE_NONE, NULL, 0x0, NULL, HFILL }
},
};
@ -1409,14 +1409,15 @@ proto_register_xtp(void)
&ett_xtp_diag,
};
static ei_register_info ei[] = {
{ &ei_xtp_spans_bad, { "xtp.spans_bad", PI_MALFORMED, PI_ERROR, "Number of spans incorrect", EXPFILL }},
};
static ei_register_info ei[] = {
{ &ei_xtp_spans_bad,
{ "xtp.spans_bad", PI_MALFORMED, PI_ERROR, "Number of spans incorrect", EXPFILL }},
};
expert_module_t* expert_xtp;
expert_module_t* expert_xtp;
expert_xtp = expert_register_protocol(proto_xtp);
expert_register_field_array(expert_xtp, ei, array_length(ei));
expert_xtp = expert_register_protocol(proto_xtp);
expert_register_field_array(expert_xtp, ei, array_length(ei));
proto_xtp = proto_register_protocol("Xpress Transport Protocol",
"XTP", "xtp");
@ -1432,3 +1433,16 @@ proto_reg_handoff_xtp(void)
xtp_handle = new_create_dissector_handle(dissect_xtp, proto_xtp);
dissector_add_uint("ip.proto", IP_PROTO_XTP, xtp_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:
*/