Blob Blame History Raw
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);