125 lines
4.4 KiB
Diff
125 lines
4.4 KiB
Diff
|
diff -up wireshark-1.4.6/epan/dissectors/packet-nfs.c.orig wireshark-1.4.6/epan/dissectors/packet-nfs.c
|
||
|
--- wireshark-1.4.6/epan/dissectors/packet-nfs.c.orig 2011-04-18 14:42:51.000000000 -0400
|
||
|
+++ wireshark-1.4.6/epan/dissectors/packet-nfs.c 2011-05-19 14:22:55.375762000 -0400
|
||
|
@@ -8793,12 +8793,13 @@ dissect_nfs_argop4(tvbuff_t *tvb, int of
|
||
|
ftree = proto_item_add_subtree(fitem, ett_nfs_argop4);
|
||
|
}
|
||
|
|
||
|
+ proto_item_append_text(tree, ", Ops(%d):", ops);
|
||
|
+
|
||
|
for (ops_counter=0; ops_counter<ops; ops_counter++)
|
||
|
{
|
||
|
opcode = tvb_get_ntohl(tvb, offset);
|
||
|
if (check_col(pinfo->cinfo, COL_INFO)) {
|
||
|
- col_append_fstr(pinfo->cinfo, COL_INFO, "%c%s",
|
||
|
- ops_counter==0?' ':';',
|
||
|
+ col_append_fstr(pinfo->cinfo, COL_INFO, " %s",
|
||
|
val_to_str(opcode, names_nfsv4_operation, "Unknown"));
|
||
|
}
|
||
|
|
||
|
@@ -8821,6 +8822,8 @@ dissect_nfs_argop4(tvbuff_t *tvb, int of
|
||
|
} else {
|
||
|
break;
|
||
|
}
|
||
|
+ proto_item_append_text(tree, " %s",
|
||
|
+ val_to_str(opcode, names_nfsv4_operation, "Unknown"));
|
||
|
|
||
|
switch(opcode)
|
||
|
{
|
||
|
@@ -9225,7 +9228,7 @@ dissect_nfs4_compound_call(tvbuff_t *tvb
|
||
|
char *tag=NULL;
|
||
|
|
||
|
offset = dissect_nfs_utf8string(tvb, offset, tree, hf_nfs_tag4, &tag);
|
||
|
- if (check_col(pinfo->cinfo, COL_INFO)) {
|
||
|
+ if (check_col(pinfo->cinfo, COL_INFO) && strcmp(tag, "<EMPTY>")) {
|
||
|
col_append_fstr(pinfo->cinfo, COL_INFO," %s", tag);
|
||
|
}
|
||
|
|
||
|
@@ -9287,6 +9290,7 @@ dissect_nfs_resop4(tvbuff_t *tvb, int of
|
||
|
if (fitem) {
|
||
|
ftree = proto_item_add_subtree(fitem, ett_nfs_resop4);
|
||
|
}
|
||
|
+ proto_item_append_text(tree, ", Ops(%d):", ops);
|
||
|
|
||
|
for (ops_counter = 0; ops_counter < ops; ops_counter++)
|
||
|
{
|
||
|
@@ -9297,11 +9301,6 @@ dissect_nfs_resop4(tvbuff_t *tvb, int of
|
||
|
(opcode != NFS4_OP_ILLEGAL))
|
||
|
break;
|
||
|
|
||
|
- if (check_col(pinfo->cinfo, COL_INFO)) {
|
||
|
- col_append_fstr(pinfo->cinfo, COL_INFO, "%c%s",
|
||
|
- ops_counter==0?' ':';',
|
||
|
- val_to_str(opcode, names_nfsv4_operation, "Unknown"));
|
||
|
- }
|
||
|
|
||
|
fitem = proto_tree_add_uint(ftree, hf_nfs_resop4, tvb, offset, 4,
|
||
|
opcode);
|
||
|
@@ -9319,6 +9318,22 @@ dissect_nfs_resop4(tvbuff_t *tvb, int of
|
||
|
|
||
|
offset = dissect_nfs_nfsstat4(tvb, offset, newftree, &status);
|
||
|
|
||
|
+ if (status != NFS4_OK) {
|
||
|
+ if (check_col(pinfo->cinfo, COL_INFO)) {
|
||
|
+ col_append_fstr(pinfo->cinfo, COL_INFO, " %s(%d)",
|
||
|
+ val_to_str(opcode, names_nfsv4_operation, "Unknown"),
|
||
|
+ status);
|
||
|
+ }
|
||
|
+ proto_item_append_text(tree, " %s(%d)",
|
||
|
+ val_to_str(opcode, names_nfsv4_operation, "Unknown"), status);
|
||
|
+ } else {
|
||
|
+ if (check_col(pinfo->cinfo, COL_INFO)) {
|
||
|
+ col_append_fstr(pinfo->cinfo, COL_INFO, " %s",
|
||
|
+ val_to_str(opcode, names_nfsv4_operation, "Unknown"));
|
||
|
+ }
|
||
|
+ proto_item_append_text(tree, " %s",
|
||
|
+ val_to_str(opcode, names_nfsv4_operation, "Unknown"));
|
||
|
+ }
|
||
|
/*
|
||
|
* With the exception of NFS4_OP_LOCK, NFS4_OP_LOCKT, and
|
||
|
* NFS4_OP_SETATTR, all other ops do *not* return data with the
|
||
|
@@ -9569,7 +9584,7 @@ dissect_nfs4_compound_reply(tvbuff_t *tv
|
||
|
|
||
|
offset = dissect_nfs_nfsstat4(tvb, offset, tree, &status);
|
||
|
offset = dissect_nfs_utf8string(tvb, offset, tree, hf_nfs_tag4, &tag);
|
||
|
- if (check_col(pinfo->cinfo, COL_INFO)) {
|
||
|
+ if (check_col(pinfo->cinfo, COL_INFO) && strcmp(tag, "<EMPTY>")) {
|
||
|
col_append_fstr(pinfo->cinfo, COL_INFO," %s", tag);
|
||
|
}
|
||
|
|
||
|
@@ -9663,14 +9678,14 @@ static const value_string nfsv3_proc_val
|
||
|
static const vsff nfs4_proc[] = {
|
||
|
{ 0, "NULL",
|
||
|
dissect_nfs3_null_call, dissect_nfs3_null_reply },
|
||
|
- { 1, "COMPOUND",
|
||
|
+ { 1, "COMP",
|
||
|
dissect_nfs4_compound_call, dissect_nfs4_compound_reply },
|
||
|
{ 0, NULL, NULL, NULL }
|
||
|
};
|
||
|
|
||
|
static const value_string nfsv4_proc_vals[] = {
|
||
|
{ 0, "NULL" },
|
||
|
- { 1, "COMPOUND" },
|
||
|
+ { 1, "COMP" },
|
||
|
{ 0, NULL }
|
||
|
};
|
||
|
|
||
|
@@ -9944,7 +9959,7 @@ dissect_nfs_cb_argop(tvbuff_t *tvb, int
|
||
|
{
|
||
|
opcode = tvb_get_ntohl(tvb, offset);
|
||
|
if (check_col(pinfo->cinfo, COL_INFO))
|
||
|
- col_append_fstr(pinfo->cinfo, COL_INFO, "%c%s", ops_counter==0?' ':';',
|
||
|
+ col_append_fstr(pinfo->cinfo, COL_INFO, " %s",
|
||
|
val_to_str(opcode, names_nfs_cb_operation, "Unknown"));
|
||
|
|
||
|
fitem = proto_tree_add_uint(ftree, hf_nfs_cb_argop, tvb, offset, 4, opcode);
|
||
|
@@ -10047,7 +10062,7 @@ dissect_nfs_cb_resop(tvbuff_t *tvb, int
|
||
|
break;
|
||
|
|
||
|
if (check_col(pinfo->cinfo, COL_INFO))
|
||
|
- col_append_fstr(pinfo->cinfo, COL_INFO, "%c%s", ops_counter==0?' ':';',
|
||
|
+ col_append_fstr(pinfo->cinfo, COL_INFO, " %s",
|
||
|
val_to_str(opcode, names_nfs_cb_operation, "Unknown"));
|
||
|
|
||
|
fitem = proto_tree_add_uint(ftree, hf_nfs_cb_resop, tvb, offset, 4, opcode);
|