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:
parent
70abd39bb7
commit
482e8e5651
|
@ -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:
|
||||
*/
|
||||
|
|
|
@ -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:
|
||||
*/
|
||||
|
|
|
@ -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:
|
||||
*/
|
||||
|
|
|
@ -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:
|
||||
*/
|
||||
|
|
|
@ -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:
|
||||
*/
|
||||
|
|
|
@ -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:
|
||||
*/
|
||||
|
|
|
@ -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:
|
||||
*/
|
||||
|
|
|
@ -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
|
@ -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:
|
||||
*/
|
||||
|
|
|
@ -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:
|
||||
*/
|
||||
|
|
|
@ -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:
|
||||
*/
|
||||
|
|
|
@ -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:
|
||||
*/
|
||||
|
|
|
@ -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
|
@ -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:
|
||||
*/
|
||||
|
|
|
@ -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:
|
||||
*/
|
||||
|
|
|
@ -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:
|
||||
*/
|
||||
|
|
|
@ -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:
|
||||
*/
|
||||
|
|
|
@ -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
|
@ -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:
|
||||
*/
|
||||
|
|
|
@ -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:
|
||||
*/
|
||||
|
|
|
@ -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:
|
||||
*/
|
||||
|
|
|
@ -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:
|
||||
*/
|
||||
|
|
|
@ -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:
|
||||
*/
|
||||
|
|
|
@ -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:
|
||||
*/
|
||||
|
|
|
@ -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:
|
||||
*/
|
||||
|
|
|
@ -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:
|
||||
*/
|
||||
|
|
|
@ -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:
|
||||
*/
|
||||
|
|
|
@ -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:
|
||||
*/
|
||||
|
|
|
@ -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:
|
||||
*/
|
||||
|
|
|
@ -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:
|
||||
*/
|
||||
|
|
|
@ -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:
|
||||
*/
|
||||
|
|
|
@ -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
|
@ -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:
|
||||
*/
|
||||
|
|
|
@ -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:
|
||||
*/
|
||||
|
|
|
@ -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:
|
||||
*/
|
||||
|
|
|
@ -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:
|
||||
*/
|
||||
|
|
|
@ -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:
|
||||
*/
|
||||
|
|
|
@ -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:
|
||||
*/
|
||||
|
|
|
@ -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:
|
||||
*/
|
||||
|
|
|
@ -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
|
@ -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:
|
||||
*/
|
||||
|
|
Loading…
Reference in New Issue