The headers of HP-UX 9.04 and HP-UX 10.20 nettl files seem to be different.

Check for both "magic numbers".

svn path=/trunk/; revision=1512
This commit is contained in:
Olivier Abad 2000-01-20 17:13:42 +00:00
parent 485a5e01f6
commit ea77c943c5
1 changed files with 11 additions and 7 deletions

View File

@ -1,6 +1,6 @@
/* nettl.c /* nettl.c
* *
* $Id: nettl.c,v 1.3 2000/01/13 07:09:18 guy Exp $ * $Id: nettl.c,v 1.4 2000/01/20 17:13:42 oabad Exp $
* *
* Wiretap Library * Wiretap Library
* Copyright (c) 1998 by Gilbert Ramirez <gram@verdict.uthscsa.edu> * Copyright (c) 1998 by Gilbert Ramirez <gram@verdict.uthscsa.edu>
@ -32,8 +32,11 @@
#include "buffer.h" #include "buffer.h"
#include "nettl.h" #include "nettl.h"
static char nettl_magic[5] = { static char nettl_magic_hpux9[12] = {
0x54, 0x52, 0x00, 0x64, 0x00 0x00, 0x00, 0x00, 0x01, 0x00, 0x00, 0x00, 0x00, 0x00, 0x07, 0xD0, 0x00
};
static char nettl_magic_hpux10[12] = {
0x54, 0x52, 0x00, 0x64, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80
}; };
/* HP nettl record header - The FCS is not included in the file. */ /* HP nettl record header - The FCS is not included in the file. */
@ -55,21 +58,22 @@ static int nettl_read(wtap *wth, int *err);
int nettl_open(wtap *wth, int *err) int nettl_open(wtap *wth, int *err)
{ {
char magic[5]; char magic[12];
int bytes_read; int bytes_read;
/* Read in the string that should be at the start of a HP file */ /* Read in the string that should be at the start of a HP file */
file_seek(wth->fh, 0, SEEK_SET); file_seek(wth->fh, 0, SEEK_SET);
errno = WTAP_ERR_CANT_READ; errno = WTAP_ERR_CANT_READ;
bytes_read = file_read(magic, 1, 5, wth->fh); bytes_read = file_read(magic, 1, 12, wth->fh);
if (bytes_read != 5) { if (bytes_read != 12) {
*err = file_error(wth->fh); *err = file_error(wth->fh);
if (*err != 0) if (*err != 0)
return -1; return -1;
return 0; return 0;
} }
if (memcmp(magic, nettl_magic, 5)) { if (memcmp(magic, nettl_magic_hpux9, 12) &&
memcmp(magic, nettl_magic_hpux10, 12)) {
return 0; return 0;
} }