]> The Tcpdump Group git mirrors - tcpdump/commitdiff
CVE-2017-12898/NFS: Fix bounds checking.
authorGuy Harris <[email protected]>
Fri, 3 Feb 2017 23:14:51 +0000 (15:14 -0800)
committerDenis Ovsienko <[email protected]>
Sun, 3 Sep 2017 23:08:58 +0000 (00:08 +0100)
Fix the bounds checking for the NFSv3 WRITE procedure to check whether the
length of the opaque data being written is present in the captured data,
not just whether the byte count is present in the captured data.
furthest forward in the packet, not the item before it.  (This also lets
us eliminate the check for the "stable" argument being present in the
captured data; rewrite the code to print that to make it a bit clearer.)

Check that the entire ar_stat field is present in the capture.

Note that parse_wcc_attr() is called after we've already checked whether
the wcc_data is present.

Check before fetching the "access" part of the NFSv3 ACCESS results.
This fixes a buffer over-read discovered by Kamil Frankowicz.

Include a test for the "check before fetching the "access" part..." fix,
using the capture supplied by the reporter(s).

print-nfs.c
tests/TESTLIST
tests/nfs-attr-oobr.out [new file with mode: 0644]
tests/nfs-attr-oobr.pcap [new file with mode: 0644]

index a71e068da6888e2dfca7255ef926837575959d6c..ef64d13ab23e80963a4b4ef32459096197f65091 100644 (file)
@@ -628,17 +628,15 @@ nfsreq_print_noaddr(netdissect_options *ndo,
                if ((dp = parsereq(ndo, rp, length)) != NULL &&
                    (dp = parsefh(ndo, dp, v3)) != NULL) {
                        if (v3) {
-                               ND_TCHECK(dp[2]);
+                               ND_TCHECK(dp[4]);
                                ND_PRINT((ndo, " %u (%u) bytes @ %" PRIu64,
                                                EXTRACT_32BITS(&dp[4]),
                                                EXTRACT_32BITS(&dp[2]),
                                                EXTRACT_64BITS(&dp[0])));
                                if (ndo->ndo_vflag) {
-                                       dp += 3;
-                                       ND_TCHECK(dp[0]);
                                        ND_PRINT((ndo, " <%s>",
                                                tok2str(nfsv3_writemodes,
-                                                       NULL, EXTRACT_32BITS(dp))));
+                                                       NULL, EXTRACT_32BITS(&dp[3]))));
                                }
                        } else {
                                ND_TCHECK(dp[3]);
@@ -1002,11 +1000,11 @@ parserep(netdissect_options *ndo,
         * skip past the ar_verf credentials.
         */
        dp += (len + (2*sizeof(uint32_t) + 3)) / sizeof(uint32_t);
-       ND_TCHECK2(dp[0], 0);
 
        /*
         * now we can check the ar_stat field
         */
+       ND_TCHECK(dp[0]);
        astat = (enum sunrpc_accept_stat) EXTRACT_32BITS(dp);
        if (astat != SUNRPC_SUCCESS) {
                ND_PRINT((ndo, " %s", tok2str(sunrpc_str, "ar_stat %d", astat)));
@@ -1243,6 +1241,7 @@ static const uint32_t *
 parse_wcc_attr(netdissect_options *ndo,
                const uint32_t *dp)
 {
+       /* Our caller has already checked this */
        ND_PRINT((ndo, " sz %" PRIu64, EXTRACT_64BITS(&dp[0])));
        ND_PRINT((ndo, " mtime %u.%06u ctime %u.%06u",
               EXTRACT_32BITS(&dp[2]), EXTRACT_32BITS(&dp[3]),
@@ -1511,8 +1510,10 @@ interp_reply(netdissect_options *ndo,
                        ND_PRINT((ndo, " attr:"));
                if (!(dp = parse_post_op_attr(ndo, dp, ndo->ndo_vflag)))
                        break;
-               if (!er)
+               if (!er) {
+                       ND_TCHECK(dp[0]);
                        ND_PRINT((ndo, " c %04x", EXTRACT_32BITS(&dp[0])));
+               }
                return;
 
        case NFSPROC_READLINK:
index 828e6df56105465b2c4d785fba3ce11d8979f302..1c92b9392e93473a70500ac3e067c464efc9599a 100644 (file)
@@ -440,6 +440,7 @@ hoobr_pimv1         hoobr_pimv1.pcap                hoobr_pimv1.out
 hoobr_safeputs         hoobr_safeputs.pcap             hoobr_safeputs.out
 isakmp-rfc3948-oobr    isakmp-rfc3948-oobr.pcap        isakmp-rfc3948-oobr.out
 isoclns-oobr           isoclns-oobr.pcap               isoclns-oobr.out
+nfs-attr-oobr          nfs-attr-oobr.pcap              nfs-attr-oobr.out
 
 # bad packets from Wilfried Kirsch
 slip-bad-direction     slip-bad-direction.pcap         slip-bad-direction.out  -ve
diff --git a/tests/nfs-attr-oobr.out b/tests/nfs-attr-oobr.out
new file mode 100644 (file)
index 0000000..44b2987
--- /dev/null
@@ -0,0 +1,305 @@
+30:30:30:30:30:30 > 30:30:30:30:30:30, ethertype Unknown (0x3030), length 808464432: 
+       0x0000:  3030 3030 3030 3030 3030 3030 3030 3030  0000000000000000
+       0x0010:  3030 3030 3030 3030 3030 3030 3030 3030  0000000000000000
+       0x0020:  3030 3030 3030 3030 3030 3030 3030 3030  0000000000000000
+       0x0030:  3030 3030 3030 3030 3030 3030 3030 3030  0000000000000000
+       0x0040:  3030 3030 3030 3030 3030 3030 3030 3030  0000000000000000
+       0x0050:  3030                                     00
+30:30:30:30:30:30 > 30:30:30:30:30:30, ethertype Unknown (0x3030), length 808464432: 
+       0x0000:  3030 3030 3030 3030 3030 3030 3030 3030  0000000000000000
+       0x0010:  3030 3030 3030 3030 3030 3030 3030 3030  0000000000000000
+       0x0020:  3030 3030 3030 3030 3030 3030 3030 3030  0000000000000000
+       0x0030:  3030 3030 3030 3030 3030 3030 3030 3030  0000000000000000
+       0x0040:  3030 3030 3030 3030 3030 3030 3030 3030  0000000000000000
+30:30:30:30:30:30 > 30:30:30:30:30:30, ethertype Unknown (0x3030), length 808464432: 
+       0x0000:  3030 3030 3030 3030 3030 3030 3030 3030  0000000000000000
+       0x0010:  3030 3030 3030 3030 3030 3030 3030 3030  0000000000000000
+       0x0020:  3030 3030 3030 3030 3030 3030 3030 3030  0000000000000000
+       0x0030:  3030 3030 3030 3030 3030 3030 3030 3030  0000000000000000
+       0x0040:  3030 3030                                0000
+30:30:30:30:30:30 > 30:30:30:30:30:30, ethertype Unknown (0x3030), length 808464432: 
+       0x0000:  3030 3030 3030 3030 3030 3030 3030 3030  0000000000000000
+       0x0010:  3030 3030 3030 3030 3030 3030 3030 3030  0000000000000000
+       0x0020:  3030 3030 3030 3030 3030 3030 3030 3030  0000000000000000
+       0x0030:  3030 3030                                0000
+30:30:30:30:30:30 > 30:30:30:30:30:30, ethertype Unknown (0x3030), length 808464432: 
+       0x0000:  3030 3030 3030 3030 3030 3030 3030 3030  0000000000000000
+       0x0010:  3030 3030 3030 3030 3030 3030 3030 3030  0000000000000000
+       0x0020:  3030 3030 3030 3030 3030 3030 3030 3030  0000000000000000
+       0x0030:  3030 3030 3030 3030 3030 3030 3030 3030  0000000000000000
+       0x0040:  3030 3030 3030 3030 3030 3030 3030 3030  0000000000000000
+       0x0050:  3030                                     00
+30:30:30:30:30:30 > 30:30:30:30:30:30, ethertype Unknown (0x3030), length 808464432: 
+       0x0000:  3030 3030 3030 3030 3030 3030 3030 3030  0000000000000000
+       0x0010:  3030 3030 3030 3030 3030 3030 3030 3030  0000000000000000
+       0x0020:  3030 3030 3030 3030 3030 3030 3030 3030  0000000000000000
+       0x0030:  3030 3030 3030 3030 3030 3030 3030 3030  0000000000000000
+       0x0040:  3030 3030 3030 3030 3030 3030 3030 3030  0000000000000000
+       0x0050:  3030                                     00
+30:30:30:30:30:30 > 30:30:30:30:30:30, ethertype Unknown (0x3030), length 808464432: 
+       0x0000:  3030 3030 3030 3030 3030 3030 3030 3030  0000000000000000
+       0x0010:  3030 3030 3030 3030 3030 3030 3030 3030  0000000000000000
+       0x0020:  3030 3030 3030 3030 3030 3030 3030 3030  0000000000000000
+       0x0030:  3030 3030 3030 3030 3030 3030 3030 3030  0000000000000000
+       0x0040:  3030 3030 3030 3030 3030 3030 3030 3030  0000000000000000
+       0x0050:  3030                                     00
+30:30:30:30:30:30 > 30:30:30:30:30:30, ethertype Unknown (0x3030), length 808464432: 
+       0x0000:  3030 3030 3030 3030 3030 3030 3030 3030  0000000000000000
+       0x0010:  3030 3030 3030 3030 3030 3030 3030 3030  0000000000000000
+       0x0020:  3030 3030 3030 3030 3030 3030 3030 3030  0000000000000000
+       0x0030:  3030 3030 3030 3030 3030 3030 3030 3030  0000000000000000
+       0x0040:  3030 3030 3030 3030 3030 3030            000000000000
+30:30:30:30:30:30 > 30:30:30:30:30:30, ethertype Unknown (0x3030), length 808464432: 
+       0x0000:  3030 3030 3030 3030 3030 3030 3030 3030  0000000000000000
+       0x0010:  3030 3030 3030 3030 3030 3030 3030 3030  0000000000000000
+       0x0020:  3030 3030 3030 3030 3030 3030 3030 3030  0000000000000000
+       0x0030:  3030 3030 3030 3030 3030 3030 3030 3030  0000000000000000
+       0x0040:  3030 3030                                0000
+30:30:30:30:30:30 > 30:30:30:30:30:30, ethertype Unknown (0x3030), length 808464432: 
+       0x0000:  3030 3030 3030 3030 3030 3030 3030 3030  0000000000000000
+       0x0010:  3030 3030 3030 3030 3030 3030 3030 3030  0000000000000000
+       0x0020:  3030 3030 3030 3030 3030 3030 3030 3030  0000000000000000
+       0x0030:  3030 3030                                0000
+30:30:30:30:30:30 > 30:30:30:30:30:30, ethertype Unknown (0x3030), length 808464432: 
+       0x0000:  3030 3030 3030 3030 3030 3030 3030 3030  0000000000000000
+       0x0010:  3030 3030 3030 3030 3030 3030 3030 3030  0000000000000000
+       0x0020:  3030 3030 3030 3030 3030 3030 3030 3030  0000000000000000
+       0x0030:  3030 3030 3030 3030 3030 3030 3030 3030  0000000000000000
+       0x0040:  3030 3030 3030 3030 3030 3030 3030 3030  0000000000000000
+       0x0050:  3030                                     00
+30:30:30:30:30:30 > 30:30:30:30:30:30, ethertype Unknown (0x3030), length 808464432: 
+       0x0000:  3030 3030 3030 3030 3030 3030 3030 3030  0000000000000000
+       0x0010:  3030 3030 3030 3030 3030 3030 3030 3030  0000000000000000
+       0x0020:  3030 3030 3030 3030 3030 3030 3030 3030  0000000000000000
+       0x0030:  3030 3030 3030 3030 3030 3030 3030 3030  0000000000000000
+       0x0040:  3030 3030 3030 3030 3030 3030 3030 3030  0000000000000000
+       0x0050:  3030                                     00
+30:30:30:30:30:30 > 30:30:30:30:30:30, ethertype Unknown (0x3030), length 808464432: 
+       0x0000:  3030 3030 3030 3030 3030 3030 3030 3030  0000000000000000
+       0x0010:  3030 3030 3030 3030 3030 3030 3030 3030  0000000000000000
+       0x0020:  3030 3030 3030 3030 3030 3030 3030 3030  0000000000000000
+       0x0030:  3030 3030 3030 3030 3030 3030 3030 3030  0000000000000000
+       0x0040:  3030 3030 3030 3030 3030 3030 3030 3030  0000000000000000
+       0x0050:  3030                                     00
+30:30:30:30:30:30 > 30:30:30:30:30:30, ethertype Unknown (0x3030), length 808464432: 
+       0x0000:  3030 3030 3030 3030 3030 3030 3030 3030  0000000000000000
+       0x0010:  3030 3030 3030 3030 3030 3030 3030 3030  0000000000000000
+       0x0020:  3030 3030 3030 3030 3030 3030 3030 3030  0000000000000000
+       0x0030:  3030 3030 3030 3030 3030 3030 3030 3030  0000000000000000
+       0x0040:  3030 3030 3030 3030 3030 3030 3030 3030  0000000000000000
+       0x0050:  3030                                     00
+30:30:30:30:30:30 > 30:30:30:30:30:30, ethertype Unknown (0x3030), length 808464432: 
+       0x0000:  3030 3030 3030 3030 3030 3030 3030 3030  0000000000000000
+       0x0010:  3030 3030 3030 3030 3030 3030 3030 3030  0000000000000000
+       0x0020:  3030 3030 3030 3030 3030 3030 3030 3030  0000000000000000
+       0x0030:  3030 3030 3030 3030 3030 3030 3030 3030  0000000000000000
+       0x0040:  3030 3030 3030 3030 3030 3030 3030 3030  0000000000000000
+       0x0050:  3030                                     00
+30:30:30:30:30:30 > 30:30:30:30:30:30, ethertype Unknown (0x3030), length 808464432: 
+       0x0000:  3030 3030 3030 3030 3030 3030 3030 3030  0000000000000000
+       0x0010:  3030 3030 3030 3030 3030 3030 3030 3030  0000000000000000
+       0x0020:  3030 3030 3030 3030 3030 3030 3030 3030  0000000000000000
+       0x0030:  3030 3030 3030 3030 3030 3030 3030 3030  0000000000000000
+       0x0040:  3030 3030 3030 3030 3030 3030 3030 3030  0000000000000000
+       0x0050:  3030                                     00
+30:30:30:30:30:30 > 30:30:30:30:30:30, ethertype Unknown (0x3030), length 808464432: 
+       0x0000:  3030 3030 3030 3030 3030 3030 3030 3030  0000000000000000
+       0x0010:  3030 3030 3030 3030 3030 3030 3030 3030  0000000000000000
+       0x0020:  3030 3030 3030 3030 3030 3030 3030 3030  0000000000000000
+       0x0030:  3030 3030 3030 3030 3030 3030 3030 3030  0000000000000000
+       0x0040:  3030 3030 3030 3030 3030 3030 3030 3030  0000000000000000
+       0x0050:  3030                                     00
+30:30:30:30:30:30 > 30:30:30:30:30:30, ethertype Unknown (0x3030), length 808464432: 
+       0x0000:  3030 3030 3030 3030 3030 3030 3030 3030  0000000000000000
+       0x0010:  3030 3030 3030 3030 3030 3030 3030 3030  0000000000000000
+       0x0020:  3030 3030 3030 3030 3030 3030 3030 3030  0000000000000000
+       0x0030:  3030 3030 3030 3030 3030 3030 3030 3030  0000000000000000
+       0x0040:  3030 3030 3030 3030 3030 3030 3030 3030  0000000000000000
+       0x0050:  3030                                     00
+30:30:30:30:30:30 > 30:30:30:30:30:30, ethertype Unknown (0x3030), length 808464432: 
+       0x0000:  3030 3030 3030 3030 3030 3030 3030 3030  0000000000000000
+       0x0010:  3030 3030 3030 3030 3030 3030 3030 3030  0000000000000000
+       0x0020:  3030 3030 3030 3030 3030 3030 3030 3030  0000000000000000
+       0x0030:  3030 3030 3030 3030 3030 3030 3030 3030  0000000000000000
+       0x0040:  3030 3030 3030 3030 3030 3030 3030 3030  0000000000000000
+       0x0050:  3030                                     00
+30:30:30:30:30:30 > 30:30:30:30:30:30, ethertype Unknown (0x3030), length 808464432: 
+       0x0000:  3030 3030 3030 3030 3030 3030 3030 3030  0000000000000000
+       0x0010:  3030 3030 3030 3030 3030 3030 3030 3030  0000000000000000
+       0x0020:  3030 3030 3030 3030 3030 3030 3030 3030  0000000000000000
+       0x0030:  3030 3030 3030 3030 3030 3030 3030 3030  0000000000000000
+       0x0040:  3030 3030 3030 3030 3030 3030 3030 3030  0000000000000000
+       0x0050:  3030                                     00
+30:30:30:30:30:30 > 30:30:30:30:30:30, ethertype Unknown (0x3030), length 808464432: 
+       0x0000:  3030 3030 3030 3030 3030 3030 3030 3030  0000000000000000
+       0x0010:  3030 3030 3030 3030 3030 3030 3030 3030  0000000000000000
+       0x0020:  3030 3030 3030 3030 3030 3030 3030 3030  0000000000000000
+       0x0030:  3030 3030 3030 3030 3030 3030 3030 3030  0000000000000000
+       0x0040:  3030 3030 3030 3030 3030 3030 3030 3030  0000000000000000
+       0x0050:  3030                                     00
+30:30:30:30:30:30 > 30:30:30:30:30:30, ethertype Unknown (0x3030), length 808464432: 
+       0x0000:  3030 3030 3030 3030 3030 3030 3030 3030  0000000000000000
+       0x0010:  3030 3030 3030 3030 3030 3030 3030 3030  0000000000000000
+       0x0020:  3030 3030 3030 3030 3030 3030 3030 3030  0000000000000000
+       0x0030:  3030 3030 3030 3030 3030 3030 3030 3030  0000000000000000
+       0x0040:  3030 3030 3030 3030 3030 3030 3030 3030  0000000000000000
+       0x0050:  3030                                     00
+30:30:30:30:30:30 > 30:30:30:30:30:30, ethertype Unknown (0x3030), length 808464432: 
+       0x0000:  3030 3030 3030 3030 3030 3030 3030 3030  0000000000000000
+       0x0010:  3030 3030 3030 3030 3030 3030 3030 3030  0000000000000000
+       0x0020:  3030 3030 3030 3030 3030 3030 3030 3030  0000000000000000
+       0x0030:  3030 3030 3030 3030 3030 3030 3030 3030  0000000000000000
+       0x0040:  3030 3030 3030 3030 3030 3030 3030 3030  0000000000000000
+       0x0050:  3030                                     00
+30:30:30:30:30:30 > 30:30:30:30:30:30, ethertype Unknown (0x3030), length 808464432: 
+       0x0000:  3030 3030 3030 3030 3030 3030 3030 3030  0000000000000000
+       0x0010:  3030 3030 3030 3030 3030 3030 3030 3030  0000000000000000
+       0x0020:  3030 3030 3030 3030 3030 3030 3030 3030  0000000000000000
+       0x0030:  3030 3030 3030 3030 3030 3030 3030 3030  0000000000000000
+       0x0040:  3030 3030 3030 3030 3030 3030 3030 3030  0000000000000000
+       0x0050:  3030                                     00
+30:30:30:30:30:30 > 30:30:30:30:30:30, ethertype Unknown (0x3030), length 808464432: 
+       0x0000:  3030 3030 3030 3030 3030 3030 3030 3030  0000000000000000
+       0x0010:  3030 3030 3030 3030 3030 3030 3030 3030  0000000000000000
+       0x0020:  3030 3030 3030 3030 3030 3030 3030 3030  0000000000000000
+       0x0030:  3030 3030 3030 3030 3030 3030 3030 3030  0000000000000000
+       0x0040:  3030 3030 3030 3030 3030 3030 3030 3030  0000000000000000
+       0x0050:  3030                                     00
+30:30:30:30:30:30 > 30:30:30:30:30:30, ethertype Unknown (0x3030), length 808464432: 
+       0x0000:  3030 3030 3030 3030 3030 3030 3030 3030  0000000000000000
+       0x0010:  3030 3030 3030 3030 3030 3030 3030 3030  0000000000000000
+       0x0020:  3030 3030 3030 3030 3030 3030 3030 3030  0000000000000000
+       0x0030:  3030 3030 3030 3030 3030 3030 3030 3030  0000000000000000
+       0x0040:  3030 3030 3030 3030 3030 3030 3030 3030  0000000000000000
+30:30:30:30:30:30 > 30:30:30:30:30:30, ethertype Unknown (0x3030), length 808464432: 
+       0x0000:  3030 3030 3030 3030 3030 3030 3030 3030  0000000000000000
+       0x0010:  3030 3030 3030 3030 3030 3030 3030 3030  0000000000000000
+       0x0020:  3030 3030 3030 3030 3030 3030 3030 3030  0000000000000000
+       0x0030:  3030 3030 3030 3030 3030 3030 3030 3030  0000000000000000
+       0x0040:  3030 3030 3030 3030 3030 3030 3030 3030  0000000000000000
+       0x0050:  3030                                     00
+30:30:30:30:30:30 > 30:30:30:30:30:30, ethertype Unknown (0x3030), length 808464432: 
+       0x0000:  3030 3030 3030 3030 3030 3030 3030 3030  0000000000000000
+       0x0010:  3030 3030 3030 3030 3030 3030 3030 3030  0000000000000000
+       0x0020:  3030 3030 3030 3030 3030 3030 3030 3030  0000000000000000
+       0x0030:  3030 3030                                0000
+30:30:30:30:30:30 > 30:30:30:30:30:30, ethertype Unknown (0x3030), length 808464432: 
+       0x0000:  3030 3030 3030 3030 3030 3030 3030 3030  0000000000000000
+       0x0010:  3030 3030 3030 3030 3030 3030 3030 3030  0000000000000000
+       0x0020:  3030 3030 3030 3030 3030 3030 3030 3030  0000000000000000
+       0x0030:  3030 3030 3030 3030 3030 3030 3030 3030  0000000000000000
+       0x0040:  3030 3030 3030 3030 3030 3030 3030 3030  0000000000000000
+       0x0050:  3030                                     00
+30:30:30:30:30:30 > 30:30:30:30:30:30, ethertype Unknown (0x3030), length 808464432: 
+       0x0000:  3030 3030 3030 3030 3030 3030 3030 3030  0000000000000000
+       0x0010:  3030 3030 3030 3030 3030 3030 3030 3030  0000000000000000
+       0x0020:  3030 3030 3030 3030 3030 3030 3030 3030  0000000000000000
+       0x0030:  3030 3030 3030 3030 3030 3030 3030 3030  0000000000000000
+       0x0040:  3030 3030 3030 3030 3030 3030 3030 3030  0000000000000000
+30:30:30:30:30:30 > 30:30:30:30:30:30, ethertype Unknown (0x3030), length 808464432: 
+       0x0000:  3030 3030 3030 3030 3030 3030 3030 3030  0000000000000000
+       0x0010:  3030 3030 3030 3030 3030 3030 3030 3030  0000000000000000
+       0x0020:  3030 3030 3030 3030 3030 3030 3030 3030  0000000000000000
+       0x0030:  3030 3030 3030 3030 3030 3030 3030 3030  0000000000000000
+       0x0040:  3030 3030                                0000
+30:30:30:30:30:30 > 30:30:30:30:30:30, ethertype Unknown (0x3030), length 808464432: 
+       0x0000:  3030 3030 3030 3030 3030 3030 3030 3030  0000000000000000
+       0x0010:  3030 3030 3030 3030 3030 3030 3030 3030  0000000000000000
+       0x0020:  3030 3030 3030 3030 3030 3030 3030 3030  0000000000000000
+       0x0030:  3030 3030                                0000
+30:30:30:30:30:30 > 30:30:30:30:30:30, ethertype Unknown (0x3030), length 808464432: 
+       0x0000:  3030 3030 3030 3030 3030 3030 3030 3030  0000000000000000
+       0x0010:  3030 3030 3030 3030 3030 3030 3030 3030  0000000000000000
+       0x0020:  3030 3030 3030 3030 3030 3030 3030 3030  0000000000000000
+       0x0030:  3030 3030 3030 3030 3030 3030 3030 3030  0000000000000000
+       0x0040:  3030 3030 3030 3030 3030 3030 3030 3030  0000000000000000
+       0x0050:  3030                                     00
+30:30:30:30:30:30 > 30:30:30:30:30:30, ethertype Unknown (0x3030), length 808464432: 
+       0x0000:  3030 3030 3030 3030 3030 3030 3030 3030  0000000000000000
+       0x0010:  3030 3030 3030 3030 3030 3030 3030 3030  0000000000000000
+       0x0020:  3030 3030 3030 3030 3030 3030 3030 3030  0000000000000000
+       0x0030:  3030 3030 3030 3030 3030 3030 3030 3030  0000000000000000
+       0x0040:  3030 3030 3030 3030 3030 3030 3030 3030  0000000000000000
+       0x0050:  3030                                     00
+30:30:30:30:30:30 > 30:30:30:30:30:30, ethertype Unknown (0x3030), length 808464432: 
+       0x0000:  3030 3030 3030 3030 3030 3030 3030 3030  0000000000000000
+       0x0010:  3030 3030 3030 3030 3030 3030 3030 3030  0000000000000000
+       0x0020:  3030 3030 3030 3030 3030 3030 3030 3030  0000000000000000
+       0x0030:  3030 3030 3030 3030 3030 3030 3030 3030  0000000000000000
+       0x0040:  3030 3030 3030 3030 3030 3030 3030 3030  0000000000000000
+       0x0050:  3030                                     00
+30:30:30:30:30:30 > 30:30:30:30:30:30, ethertype Unknown (0x3030), length 808464432: 
+       0x0000:  3030 3030 3030 3030 3030 3030 3030 3030  0000000000000000
+       0x0010:  3030 3030 3030 3030 3030 3030 3030 3030  0000000000000000
+       0x0020:  3030 3030 3030 3030 3030 3030 3030 3030  0000000000000000
+       0x0030:  3030 3030 3030 3030 3030 3030 3030 3030  0000000000000000
+       0x0040:  3030 3030 3030 3030 3030 3030            000000000000
+30:30:30:30:30:30 > 30:30:30:30:30:30, ethertype Unknown (0x3030), length 808464432: 
+       0x0000:  3030 3030 3030 3030 3030 3030 3030 3030  0000000000000000
+       0x0010:  3030 3030 3030 3030 3030 3030 3030 3030  0000000000000000
+       0x0020:  3030 3030 3030 3030 3030 3030 3030 3030  0000000000000000
+       0x0030:  3030 3030 3030 3030 3030 3030 3030 3030  0000000000000000
+       0x0040:  3030 3030                                0000
+30:30:30:30:30:30 > 30:30:30:30:30:30, ethertype Unknown (0x3030), length 808464432: 
+       0x0000:  3030 3030 3030 3030 3030 3030 3030 3030  0000000000000000
+       0x0010:  3030 3030 3030 3030 3030 3030 3030 3030  0000000000000000
+       0x0020:  3030 3030 3030 3030 3030 3030 3030 3030  0000000000000000
+       0x0030:  3030 3030                                0000
+30:30:30:30:30:30 > 30:30:30:30:30:30, ethertype Unknown (0x3030), length 808464432: 
+       0x0000:  3030 3030 3030 3030 3030 3030 3030 3030  0000000000000000
+       0x0010:  3030 3030 3030 3030 3030 3030 3030 3030  0000000000000000
+       0x0020:  3030 3030 3030 3030 3030 3030 3030 3030  0000000000000000
+       0x0030:  3030 3030 3030 3030 3030 3030 3030 3030  0000000000000000
+       0x0040:  3030 3030 3030 3030 3030 3030 3030 3030  0000000000000000
+       0x0050:  3030                                     00
+30:30:30:30:30:30 > 30:30:30:30:30:30, ethertype Unknown (0x3030), length 808464432: 
+       0x0000:  3030 3030 3030 3030 3030 3030 3030 3030  0000000000000000
+       0x0010:  3030 3030 3030 3030 3030 3030 3030 3030  0000000000000000
+       0x0020:  3030 3030 3030 3030 3030 3030 3030 3030  0000000000000000
+       0x0030:  3030 3030 3030 3030 3030 3030 3030 3030  0000000000000000
+       0x0040:  3030 3030 3030 3030 3030 3030 3030 3030  0000000000000000
+       0x0050:  3030                                     00
+30:30:30:30:30:30 > 30:30:30:30:30:30, ethertype Unknown (0x3030), length 808464432: 
+       0x0000:  3030 3030 3030 3030 3030 3030 3030 3030  0000000000000000
+       0x0010:  3030 3030 3030 3030 3030 3030 3030 3030  0000000000000000
+       0x0020:  3030 3030 3030 3030 3030 3030 3030 3030  0000000000000000
+       0x0030:  3030 3030 3030 3030 3030 3030 3030 3030  0000000000000000
+       0x0040:  3030 3030 3030 3030 3030 3030 3030 3030  0000000000000000
+       0x0050:  3030                                     00
+30:30:30:30:30:30 > 30:30:30:30:30:30, ethertype Unknown (0x3030), length 808464432: 
+       0x0000:  3030 3030 3030 3030 3030 3030 3030 3030  0000000000000000
+       0x0010:  3030 3030 3030 3030 3030 3030 3030 3030  0000000000000000
+       0x0020:  3030 3030 3030 3030 3030 3030 3030 3030  0000000000000000
+       0x0030:  3030 3030 3030 3030 3030 3030 3030 3030  0000000000000000
+       0x0040:  3030 3030 3030 3030 3030 3030 3030 3030  0000000000000000
+       0x0050:  3030                                     00
+30:30:30:30:30:30 > 30:30:30:30:30:30, ethertype Unknown (0x3030), length 808464432: 
+       0x0000:  3030 3030 3030 3030 3030 3030 3030 3030  0000000000000000
+       0x0010:  3030 3030 3030 3030 3030 3030 3030 3030  0000000000000000
+       0x0020:  3030 3030 3030 3030 3030 3030 3030 3030  0000000000000000
+       0x0030:  3030 3030 3030 3030 3030 3030 3030 3030  0000000000000000
+       0x0040:  3030 3030 3030 3030 3030 3030 3030 3030  0000000000000000
+       0x0050:  3030                                     00
+30:30:30:30:30:30 > 30:30:30:30:30:30, ethertype Unknown (0x3030), length 808464432: 
+       0x0000:  3030 3030 3030 3030 3030 3030 3030 3030  0000000000000000
+       0x0010:  3030 3030 3030 3030 3030 3030 3030 3030  0000000000000000
+       0x0020:  3030 3030 3030 3030 3030 3030 3030 3030  0000000000000000
+       0x0030:  3030 3030 3030 3030 3030 3030 3030 3030  0000000000000000
+       0x0040:  3030 3030 3030 3030 3030 3030 3030 3030  0000000000000000
+       0x0050:  3030                                     00
+30:30:30:30:30:30 > 30:30:30:30:30:30, ethertype Unknown (0x3030), length 808464432: 
+       0x0000:  3030 3030 3030 3030 3030 3030 3030 3030  0000000000000000
+       0x0010:  3030 3030 3030 3030 3030 3030 3030 3030  0000000000000000
+       0x0020:  3030 3030 3030 3030 3030 3030 3030 3030  0000000000000000
+       0x0030:  3030 3030 3030 3030 3030 3030 3030 3030  0000000000000000
+       0x0040:  3030 3030 3030 3030 3030 3030 3030 3030  0000000000000000
+       0x0050:  3030                                     00
+30:30:30:30:30:30 > 30:30:30:30:30:30, ethertype Unknown (0x3030), length 808464432: 
+       0x0000:  3030 3030 3030 3030 3030 3030 3030 3030  0000000000000000
+       0x0010:  3030 3030 3030 3030 3030 3030 3030 3030  0000000000000000
+       0x0020:  3030 3030 3030 3030 3030 3030 3030 3030  0000000000000000
+       0x0030:  3030 3030 3030 3030 3030 3030 3030 3030  0000000000000000
+       0x0040:  3030 3030 3030 3030 3030 3030 3030 3030  0000000000000000
+       0x0050:  3030                                     00
+IP 48.48.48.48.12336 > 48.48.48.48.2049: NFS request xid 3056611558 12308 access [|nfs]
+IP 48.48.48.48.2049 > 48.48.48.48.12336: NFS reply xid 3056611558 reply ok 12308 access [|nfs]
diff --git a/tests/nfs-attr-oobr.pcap b/tests/nfs-attr-oobr.pcap
new file mode 100644 (file)
index 0000000..9c292ad
Binary files /dev/null and b/tests/nfs-attr-oobr.pcap differ