aboutsummaryrefslogtreecommitdiffstats
path: root/wiretap/netxray.c
diff options
context:
space:
mode:
authorGuy Harris <guy@alum.mit.edu>2013-12-30 23:37:12 +0000
committerGuy Harris <guy@alum.mit.edu>2013-12-30 23:37:12 +0000
commit53cba3e3b9b4d493ee4ca3256942ee2163a1cb9a (patch)
treec8b92f29e102fcb4eafe00e12a216526b75c8c83 /wiretap/netxray.c
parent1c9b36ad4673501b0fd22ae867f80d60fcdb9005 (diff)
Add an "ATM reassembly failed" flag for capture file readers to provide,
and set it in NetXRay/Windows Sniffer files if the putative "ATM reassembly failed" flag is set and, if reassembly failed, don't attempt to dissect the packet. svn path=/trunk/; revision=54503
Diffstat (limited to 'wiretap/netxray.c')
-rw-r--r--wiretap/netxray.c5
1 files changed, 4 insertions, 1 deletions
diff --git a/wiretap/netxray.c b/wiretap/netxray.c
index 22267f312f..8c58325738 100644
--- a/wiretap/netxray.c
+++ b/wiretap/netxray.c
@@ -1460,6 +1460,8 @@ netxray_set_phdr(wtap *wth, struct wtap_pkthdr *phdr, union netxrayrec_hdr *hdr)
* a cell is bad?
*/
phdr->pseudo_header.atm.flags = 0;
+ if (hdr->hdr_2_x.xxx[8] & 0x01)
+ phdr->pseudo_header.atm.flags |= ATM_REASSEMBLY_ERROR;
/*
* XXX - is 0x08 an "OAM cell" flag?
* Are the 0x01 and 0x02 bits error indications?
@@ -1649,7 +1651,8 @@ netxray_guess_atm_type(wtap *wth, struct wtap_pkthdr *phdr, Buffer *buf)
{
const guint8 *pd;
- if (wth->file_encap == WTAP_ENCAP_ATM_PDUS_UNTRUNCATED) {
+ if (wth->file_encap == WTAP_ENCAP_ATM_PDUS_UNTRUNCATED &&
+ !(phdr->pseudo_header.atm.flags & ATM_REASSEMBLY_ERROR)) {
if (phdr->pseudo_header.atm.aal == AAL_UNKNOWN) {
/*
* Try to guess the type and subtype based