It's reserved, and should be 0 at all times, but I'd like to see that it is indeed 0.
Attached patch against 0.9.12.


--- packet-dns.c        Sat Feb  1 01:08:46 2003
+++ packet-dns.y.c      Tue May  6 13:09:28 2003
@@ -51,6 +51,7 @@
 static int hf_dns_flags_truncated = -1;
 static int hf_dns_flags_recdesired = -1;
 static int hf_dns_flags_recavail = -1;
+static int hf_dns_flags_z = -1;
 static int hf_dns_flags_authenticated = -1;
 static int hf_dns_flags_checkdisable = -1;
 static int hf_dns_flags_rcode = -1;
@@ -157,6 +158,7 @@
 #define F_TRUNCATED     (1<<9)          /* response is truncated */
 #define F_RECDESIRED    (1<<8)          /* recursion desired */
 #define F_RECAVAIL      (1<<7)          /* recursion available */
+#define F_Z            (1<<6)          /* Z */
 #define F_AUTHENTIC     (1<<5)          /* authentic data (RFC2535) */
 #define F_CHECKDISABLE  (1<<4)          /* checking disabled (RFC2535) */
 #define F_RCODE         (0xF<<0)        /* reply code */
@@ -186,6 +188,11 @@
        "Server can't do recursive queries"
 };
 
+static const true_false_string tfs_flags_z = {
+       "reserved - incorrect!",
+       "reserved (0)"
+};
+
 static const true_false_string tfs_flags_authenticated = {
        "Answer/authority portion was authenticated by the server",
        "Answer/authority portion was not authenticated by the server"
@@ -1995,11 +2002,15 @@
     if (flags & F_RESPONSE) {
       proto_tree_add_item(field_tree, hf_dns_flags_recavail,
                          tvb, offset + DNS_FLAGS, 2, FALSE);
+      proto_tree_add_item(field_tree, hf_dns_flags_z,
+                        tvb, offset + DNS_FLAGS, 2, FALSE);
       proto_tree_add_item(field_tree, hf_dns_flags_authenticated,
                          tvb, offset + DNS_FLAGS, 2, FALSE);
       proto_tree_add_item(field_tree, hf_dns_flags_rcode,
                          tvb, offset + DNS_FLAGS, 2, FALSE);
     } else {
+      proto_tree_add_item(field_tree, hf_dns_flags_z,
+                           tvb, offset + DNS_FLAGS, 2, FALSE);
       proto_tree_add_item(field_tree, hf_dns_flags_checkdisable,
                          tvb, offset + DNS_FLAGS, 2, FALSE);
     }
@@ -2149,6 +2160,10 @@
       { "Recursion available", "dns.flags.recavail",
        FT_BOOLEAN, 16, TFS(&tfs_flags_recavail), F_RECAVAIL,
        "Can the server do recursive queries?", HFILL }},
+    { &hf_dns_flags_z,
+      { "Z", "dns.flags.z",
+       FT_BOOLEAN, 16, TFS(&tfs_flags_z), F_Z,
+       "Z flag", HFILL }},
     { &hf_dns_flags_authenticated,
       { "Answer authenticated",        "dns.flags.authenticated",
        FT_BOOLEAN, 16, TFS(&tfs_flags_authenticated), F_AUTHENTIC,

Reply via email to