Virgin import of Christos Zoulas's FILE 3.40.
This commit is contained in:
parent
8ed12636aa
commit
3459dd3784
Notes:
svn2git
2020-12-20 02:59:44 +00:00
svn path=/vendor/file/dist/; revision=110949
@ -231,9 +231,9 @@
|
||||
2 string -pms- PMarc SFX archive (CP/M, DOS)
|
||||
5 string -pc1- PopCom compressed executable (CP/M)
|
||||
|
||||
# From rafael@icp.inpg.fr (Rafael Laboissiere)
|
||||
# From Rafael Laboissiere <rafael@laboissiere.net>
|
||||
# The Project Revision Control System (see
|
||||
# http://www.XCF.Berkeley.EDU/~jmacd/prcs.html) generates a packaged project
|
||||
# http://prcs.sourceforge.net) generates a packaged project
|
||||
# file which is recognized by the following entry:
|
||||
0 leshort 0xeb81 PRCS packaged project
|
||||
|
||||
|
@ -157,7 +157,90 @@
|
||||
# Impuse tracker module (audio/x-it)
|
||||
0 string IMPM Impulse Tracker module sound data -
|
||||
>4 string >\0 "%s"
|
||||
>40 leshort !0 compatible w/ITv%x
|
||||
>42 leshort !0 created w/ITv%x
|
||||
|
||||
# Imago Orpheus module (audio/x-imf)
|
||||
60 string IM10 Imago Orpheus module sound data -
|
||||
>0 string >\0 "%s"
|
||||
|
||||
# From <collver1@attbi.com>
|
||||
# These are the /etc/magic entries to decode modules, instruments, and
|
||||
# samples in Impulse Tracker's native format.
|
||||
|
||||
0 string IMPS Impulse Tracker Sample
|
||||
>18 byte &2 16 bit
|
||||
>18 byte ^2 8 bit
|
||||
>18 byte &4 stereo
|
||||
>18 byte ^4 mono
|
||||
0 string IMPI Impulse Tracker Instrument
|
||||
>28 leshort !0 ITv%x
|
||||
>30 byte !0 %d samples
|
||||
|
||||
# Yamaha TX Wave: file(1) magic for Yamaha TX Wave audio files
|
||||
# From <collver1@attbi.com>
|
||||
0 string LM8953 Yamaha TX Wave
|
||||
>22 byte 0x49 looped
|
||||
>22 byte 0xC9 non-looped
|
||||
>23 byte 1 33kHz
|
||||
>23 byte 2 50kHz
|
||||
>23 byte 3 16kHz
|
||||
|
||||
# scream tracker: file(1) magic for Scream Tracker sample files
|
||||
#
|
||||
# From <collver1@attbi.com>
|
||||
76 string SCRS Scream Tracker Sample
|
||||
>0 byte 1 sample
|
||||
>0 byte 2 adlib melody
|
||||
>0 byte >2 adlib drum
|
||||
>31 byte &2 stereo
|
||||
>31 byte ^2 mono
|
||||
>31 byte &4 16bit little endian
|
||||
>31 byte ^4 8bit
|
||||
>30 byte 0 unpacked
|
||||
>30 byte 1 packed
|
||||
|
||||
# audio
|
||||
# From: Cory Dikkers <cdikkers@swbell.net>
|
||||
0 string MMD0 MED music file, version 0
|
||||
0 string MMD1 OctaMED Pro music file, version 1
|
||||
0 string MMD3 OctaMED Soundstudio music file, version 3
|
||||
0 string OctaMEDCmpr OctaMED Soundstudio compressed file
|
||||
0 string MED MED_Song
|
||||
0 string SymM Symphonie SymMOD music file
|
||||
#
|
||||
0 string THX AHX version
|
||||
>3 byte =0 1 module data
|
||||
>3 byte =1 2 module data
|
||||
#
|
||||
0 string OKTASONG Oktalyzer module data
|
||||
#
|
||||
0 string DIGI\ Booster\ module\0 %s
|
||||
>20 byte >0 %c
|
||||
>>21 byte >0 \b%c
|
||||
>>>22 byte >0 \b%c
|
||||
>>>>23 byte >0 \b%c
|
||||
>610 string >\0 \b, "%s"
|
||||
#
|
||||
0 string DBM0 DIGI Booster Pro Module
|
||||
>4 byte >0 V%X.
|
||||
>>5 byte x \b%02X
|
||||
>16 string >\0 \b, "%s"
|
||||
#
|
||||
0 string FTMN FaceTheMusic module
|
||||
>16 string >\0d \b, "%s"
|
||||
|
||||
# From: Takeshi Hamasaki <hma@syd.odn.ne.jp>
|
||||
# NOA Nancy Codec file
|
||||
0 string \210NOA\015\012\032 NOA Nancy Codec Movie file
|
||||
# Yamaha SMAF format
|
||||
0 string MMMD Yamaha SMAF file
|
||||
# Sharp Jisaku Melody format for PDC
|
||||
0 string \001Sharp\040JisakuMelody SHARP Cell-Phone ringing Melody
|
||||
>20 string Ver01.00 Ver. 1.00
|
||||
>>32 byte x , %d tracks
|
||||
|
||||
# FLAC audio stream <URL:http://flac.sourceforge.net/>
|
||||
# From: Dan Fandrich <dan@coneharvesters.com>
|
||||
0 string fLaC FLAC audio stream data
|
||||
|
||||
|
@ -152,3 +152,20 @@
|
||||
# 4.3BSD-Quasijarus Strong Compression
|
||||
# http://minnie.tuhs.org/Quasijarus/compress.html
|
||||
0 string \037\241 Quasijarus strong compressed data
|
||||
|
||||
# From: Cory Dikkers <cdikkers@swbell.net>
|
||||
0 string XPKF Amiga xpkf.library compressed data
|
||||
0 string PP11 Power Packer 1.1 compressed data
|
||||
0 string PP20 Power Packer 2.0 compressed data,
|
||||
>4 belong 0x09090909 fast compression
|
||||
>4 belong 0x090A0A0A mediocre compression
|
||||
>4 belong 0x090A0B0B good compression
|
||||
>4 belong 0x090A0C0C very good compression
|
||||
>4 belong 0x090A0C0D best compression
|
||||
|
||||
# 7z archiver, from Thomas Klausner (wiz@danbala.tuwien.ac.at)
|
||||
# http://www.7-zip.org or DOC/7zFormat.txt
|
||||
#
|
||||
0 string 7z\274\257\047\034 7z archive data,
|
||||
>6 byte x version %d
|
||||
>7 byte x \b.%d
|
||||
|
@ -2,4 +2,4 @@
|
||||
# ----------------------------------------------------------------------------
|
||||
# ctags: file (1) magic for Exuberant Ctags files
|
||||
# From: Alexander Mai <mai@migdal.ikp.physik.tu-darmstadt.de>
|
||||
0 string !_TAG Exuberant Ctags tag file
|
||||
0 string !_TAG Exuberant Ctags tag file text
|
||||
|
@ -25,33 +25,108 @@
|
||||
>512 belong&077777777 0600407 \b, boot block present
|
||||
0x1FE leshort 0xAA55 x86 boot sector
|
||||
>2 string OSBS \b, OS/BS MBR
|
||||
# J\xf6rg Jenderek <joerg@pcialias.localnet>
|
||||
# J\xf6rg Jenderek <joerg.jenderek@gmx.net>
|
||||
>0x8C string Invalid\ partition\ table \b, MS-DOS MBR
|
||||
>0x9D string Invalid\ partition\ table \b, DR-DOS MBR, version 7.01 to 7.03
|
||||
>0x10F string Ung\201ltige\ Partitionstabelle \b, MS-DOS MBR, german version 4.10.1998, 4.10.2222
|
||||
>0x8B string Ung\201ltige\ Partitionstabelle \b, MS-DOS MBR, german version 5.00 to 4.00.950
|
||||
>0x145 string Default:\ F \b, FREE-DOS MBR
|
||||
>0 string \0\0\0\0 \b, extended partition table
|
||||
>0 leshort 0x3CEB \b, system
|
||||
>>3 string >\0 %s
|
||||
>>0x36 string FAT \b, %s
|
||||
>>>0x39 string 12 (%s bit)
|
||||
>>>0x39 string 16 (%s bit)
|
||||
>0x52 string FAT32 \b, FAT (32 bit)
|
||||
>>>43 string >NO\ NAME label: %.11s,
|
||||
>>>43 string <NO\ NAME label: %.11s,
|
||||
>>>43 string NO\ NAME unlabeled,
|
||||
>>>19 leshort >0 %d sectors
|
||||
>>>19 leshort 0
|
||||
>>>>32 lelong x %d sectors
|
||||
# JuMP short bootcodeoffset NOP assembler instructions will usually be EB xx 90
|
||||
# older drives may use E9 xx xx
|
||||
>0 lelong&0x009000EB 0x009000EB
|
||||
>0 lelong&0x000000E9 0x000000E9
|
||||
>>1 ubyte >37 \b, code offset 0x%x
|
||||
# mtools-3.9.8/msdos.h
|
||||
# usual values are marked with comments to get only informations of strange FAT systems
|
||||
# valid sectorsize are from 32 to 2048
|
||||
>>>11 uleshort <2049
|
||||
>>>>11 uleshort >31
|
||||
>>>>>3 string >\0 \b, OEM-ID "%8.8s"
|
||||
>>>>>11 uleshort >512 \b, Bytes/sector %u
|
||||
#>>>>>11 uleshort =512 \b, Bytes/sector %u=512 (usual)
|
||||
>>>>>11 uleshort <512 \b, Bytes/sector %u
|
||||
>>>>>13 ubyte >1 \b, sectors/cluster %u
|
||||
#>>>>>13 ubyte =1 \b, sectors/cluster %u (usual on Floppies)
|
||||
>>>>>14 uleshort >32 \b, reserved sectors %u
|
||||
#>>>>>14 uleshort =32 \b, reserved sectors %u (usual Fat32)
|
||||
#>>>>>14 uleshort >1 \b, reserved sectors %u
|
||||
#>>>>>14 uleshort =1 \b, reserved sectors %u (usual FAT12,FAT16)
|
||||
>>>>>14 uleshort <1 \b, reserved sectors %u
|
||||
>>>>>16 ubyte >2 \b, FATs %u
|
||||
#>>>>>16 ubyte =2 \b, FATs %u (usual)
|
||||
>>>>>16 ubyte =1 \b, FAT %u
|
||||
>>>>>16 ubyte >0
|
||||
>>>>>17 uleshort >0 \b, root entries %u
|
||||
#>>>>>17 uleshort =0 \b, root entries %u=0 (usual Fat32)
|
||||
>>>>>19 uleshort >0 \b, sectors %u (volumes <=32 MB)
|
||||
#>>>>>19 uleshort =0 \b, sectors %u=0 (usual Fat32)
|
||||
>>>>>21 ubyte >0xF0 \b, Media descriptor 0x%x
|
||||
#>>>>>21 ubyte =0xF0 \b, Media descriptor 0x%x (usual floppy)
|
||||
>>>>>21 ubyte <0xF0 \b, Media descriptor 0x%x
|
||||
>>>>>22 uleshort >0 \b, sectors/FAT %u
|
||||
#>>>>>22 uleshort =0 \b, sectors/FAT %u=0 (usual Fat32)
|
||||
>>>>>26 ubyte >2 \b, heads %u
|
||||
#>>>>>26 ubyte =2 \b, heads %u (usual floppy)
|
||||
>>>>>26 ubyte =1 \b, heads %u
|
||||
>>>>>28 ulelong >0 \b, hidden sectors %u
|
||||
#>>>>>28 ulelong =0 \b, hidden sectors %u (usual floppy)
|
||||
>>>>>32 ulelong >0 \b, sectors %u (volumes > 32 MB)
|
||||
#>>>>>32 ulelong =0 \b, sectors %u (volumes > 32 MB)
|
||||
# FAT<32 specific
|
||||
# NOT le FAT3=NOT 3TAF=0xCCABBEB9
|
||||
>>>>>82 ulelong&0xCCABBEB9 >0
|
||||
>>>>>>36 ubyte >0x80 \b, physical drive 0x%x
|
||||
#>>>>>>36 ubyte =0x80 \b, physical drive 0x%x=0x80 (usual harddisk)
|
||||
>>>>>>36 ubyte&0x7F >0 \b, physical drive 0x%x
|
||||
#>>>>>>36 ubyte =0 \b, physical drive 0x%x=0 (usual floppy)
|
||||
>>>>>>37 ubyte >0 \b, reserved 0x%x
|
||||
#>>>>>>37 ubyte =0 \b, reserved 0x%x
|
||||
>>>>>>38 ubyte >0x29 \b, dos < 4.0 BootSector (0x%x)
|
||||
>>>>>>38 ubyte <0x29 \b, dos < 4.0 BootSector (0x%x)
|
||||
>>>>>>38 ubyte =0x29
|
||||
>>>>>>>39 ulelong x \b, serial number 0x%x
|
||||
>>>>>>>43 string <NO\ NAME \b, label: "%11.11s"
|
||||
>>>>>>>43 string >NO\ NAME \b, label: "%11.11s"
|
||||
>>>>>>>43 string =NO\ NAME \b, unlabeled
|
||||
>>>>>>54 string FAT1 \b, FAT
|
||||
>>>>>>>54 string FAT12 \b (12 bit)
|
||||
>>>>>>>54 string FAT16 \b (16 bit)
|
||||
# FAT32 specific
|
||||
>>>>>82 string FAT32 \b, FAT (32 bit)
|
||||
>>>>>>36 ulelong x \b, sectors/FAT %u
|
||||
>>>>>>40 uleshort >0 \b, extension flags %u
|
||||
#>>>>>>40 uleshort =0 \b, extension flags %u
|
||||
>>>>>>42 uleshort >0 \b, fsVersion %u
|
||||
#>>>>>>42 uleshort =0 \b, fsVersion %u (usual)
|
||||
>>>>>>44 ulelong >2 \b, rootdir cluster %u
|
||||
#>>>>>>44 ulelong =2 \b, rootdir cluster %u
|
||||
#>>>>>>44 ulelong =1 \b, rootdir cluster %u
|
||||
>>>>>>48 uleshort >1 \b, infoSector %u
|
||||
#>>>>>>48 uleshort =1 \b, infoSector %u (usual)
|
||||
>>>>>>48 uleshort <1 \b, infoSector %u
|
||||
>>>>>>50 uleshort >6 \b, Backup boot sector %u
|
||||
#>>>>>>50 uleshort =6 \b, Backup boot sector %u (usual)
|
||||
>>>>>>50 uleshort <6 \b, Backup boot sector %u
|
||||
>>>>>>54 ulelong >0 \b, reserved1 0x%x
|
||||
>>>>>>58 ulelong >0 \b, reserved2 0x%x
|
||||
>>>>>>62 ulelong >0 \b, reserved3 0x%x
|
||||
# same structure as FAT1X
|
||||
>>>>>>64 ubyte >0x80 \b, physical drive 0x%x
|
||||
#>>>>>>64 ubyte =0x80 \b, physical drive 0x%x=80 (usual harddisk)
|
||||
>>>>>>64 ubyte&0x7F >0 \b, physical drive 0x%x
|
||||
#>>>>>>64 ubyte =0 \b, physical drive 0x%x=0 (usual floppy)
|
||||
>>>>>>65 ubyte >0 \b, reserved 0x%x
|
||||
>>>>>>66 ubyte >0x29 \b, dos < 4.0 BootSector (0x%x)
|
||||
>>>>>>66 ubyte <0x29 \b, dos < 4.0 BootSector (0x%x)
|
||||
>>>>>>66 ubyte =0x29
|
||||
>>>>>>>67 ulelong x \b, serial number 0x%x
|
||||
>>>>>>>71 string <NO\ NAME \b, label: "%11.11s"
|
||||
>>>>>>71 string >NO\ NAME \b, label: "%11.11s"
|
||||
>>>>>>71 string =NO\ NAME \b, unlabeled
|
||||
### FATs end
|
||||
>0x200 lelong 0x82564557 \b, BSD disklabel
|
||||
|
||||
# Solaris 7 FAT12 floppies J\xf6rg Jenderek <joerg@pcialias.localnet>
|
||||
>0 leshort 0x7AEB \b, system
|
||||
>>3 string >\0 %s
|
||||
>>0x36 string FAT \b, %s
|
||||
>>>0x39 string 12 (%s bit)
|
||||
|
||||
# Minix filesystems - Juan Cespedes <cespedes@debian.org>
|
||||
0x410 leshort 0x137f Minix filesystem
|
||||
0x410 beshort 0x137f Minix filesystem (big endian),
|
||||
|
@ -8,3 +8,6 @@
|
||||
#
|
||||
0 string FWS Macromedia Flash data,
|
||||
>3 byte x version %d
|
||||
#
|
||||
# From Dave Wilson
|
||||
0 string AGD4\xbe\xb8\xbb\xcb\x00 Macromedia Freehand 9 Document
|
||||
|
@ -3,10 +3,12 @@
|
||||
# gringotts: file(1) magic for Gringotts
|
||||
# http://devel.pluto.linux.it/projects/Gringotts/
|
||||
# author: Germano Rizzo <mano@pluto.linux.it>
|
||||
#GRG2????Y
|
||||
#GRG3????Y
|
||||
0 string GRG Gringotts data file
|
||||
>3 string 1 v.1, SERPENT crypt, SHA-256 hash, ZLib lvl.9
|
||||
>3 string 2 v.2,
|
||||
#file format 1
|
||||
>3 string 1 v.1, MCRYPT S2K, SERPENT crypt, SHA-256 hash, ZLib lvl.9
|
||||
#file format 2
|
||||
>3 string 2 v.2, MCRYPT S2K,
|
||||
>>8 byte&0x70 0x00 RIJNDAEL-128 crypt,
|
||||
>>8 byte&0x70 0x10 SERPENT crypt,
|
||||
>>8 byte&0x70 0x20 TWOFISH crypt,
|
||||
@ -23,3 +25,23 @@
|
||||
>>8 byte&0x03 0x01 lvl.3
|
||||
>>8 byte&0x03 0x02 lvl.6
|
||||
>>8 byte&0x03 0x03 lvl.9
|
||||
#file format 3
|
||||
>3 string 3 v.3, OpenPGP S2K,
|
||||
>>8 byte&0x70 0x00 RIJNDAEL-128 crypt,
|
||||
>>8 byte&0x70 0x10 SERPENT crypt,
|
||||
>>8 byte&0x70 0x20 TWOFISH crypt,
|
||||
>>8 byte&0x70 0x30 CAST-256 crypt,
|
||||
>>8 byte&0x70 0x40 SAFER+ crypt,
|
||||
>>8 byte&0x70 0x50 LOKI97 crypt,
|
||||
>>8 byte&0x70 0x60 3DES crypt,
|
||||
>>8 byte&0x70 0x70 RIJNDAEL-256 crypt,
|
||||
>>8 byte&0x08 0x00 SHA1 hash,
|
||||
>>8 byte&0x08 0x08 RIPEMD-160 hash,
|
||||
>>8 byte&0x04 0x00 ZLib
|
||||
>>8 byte&0x04 0x04 BZip2
|
||||
>>8 byte&0x03 0x00 lvl.0
|
||||
>>8 byte&0x03 0x01 lvl.3
|
||||
>>8 byte&0x03 0x02 lvl.6
|
||||
>>8 byte&0x03 0x03 lvl.9
|
||||
#file format >3
|
||||
>3 string >3 v.%.1s (unknown details)
|
||||
|
@ -389,3 +389,7 @@
|
||||
>>>>>>>>>0xC4 belong 12 - received SIGSYS
|
||||
>>>>>>>>>0xC4 belong 33 - received SIGXCPU
|
||||
>>>>>>>>>0xC4 belong 34 - received SIGXFSZ
|
||||
|
||||
# From: AMAKAWA Shuhei <sa264@cam.ac.uk>
|
||||
0 string HPHP49- HP49 binary
|
||||
|
||||
|
@ -142,6 +142,9 @@
|
||||
1 string PC\ Research,\ Inc group 3 fax data
|
||||
>29 byte 0 \b, normal resolution (204x98 DPI)
|
||||
>29 byte 1 \b, fine resolution (204x196 DPI)
|
||||
# From: Herbert Rosmanith <herp@wildsau.idv.uni.linz.at>
|
||||
0 string Sfff structured fax file
|
||||
|
||||
|
||||
# PC bitmaps (OS/2, Windoze BMP files) (Greg Roelofs, newt@uchicago.edu)
|
||||
0 string BM PC bitmap data
|
||||
@ -333,3 +336,26 @@
|
||||
# of various EPOC file formats
|
||||
|
||||
0 string \x37\x00\x00\x10\x42\x00\x00\x10\x00\x00\x00\x00\x39\x64\x39\x47 EPOC MBM image file
|
||||
|
||||
# PCX image files
|
||||
# From: Dan Fandrich <dan@coneharvesters.com>
|
||||
0 beshort 0x0a00 PCX ver. 2.5 image data
|
||||
0 beshort 0x0a02 PCX ver. 2.8 image data, with palette
|
||||
0 beshort 0x0a03 PCX ver. 2.8 image data, without palette
|
||||
0 beshort 0x0a04 PCX for Windows image data
|
||||
0 beshort 0x0a05 PCX ver. 3.0 image data
|
||||
>4 leshort x bounding box [%hd,
|
||||
>6 leshort x %hd] -
|
||||
>8 leshort x [%hd,
|
||||
>10 leshort x %hd],
|
||||
>65 byte >1 %d planes each of
|
||||
>3 byte x %hhd-bit
|
||||
>68 byte 0 image,
|
||||
>68 byte 1 colour,
|
||||
>68 byte 2 grayscale,
|
||||
>68 byte >2 image,
|
||||
>68 byte <0 image,
|
||||
>12 leshort >0 %hd x
|
||||
>>14 leshort x %hd dpi,
|
||||
>2 byte 0 uncompressed
|
||||
>2 byte 1 RLE compressed
|
||||
|
@ -27,3 +27,6 @@
|
||||
|
||||
#.com and .bin for MIT scheme
|
||||
0 string \372\372\372\372 MIT scheme (library?)
|
||||
|
||||
# From: David Allouche <david@allouche.net>
|
||||
0 string \<TeXmacs| TeXmacs document text
|
||||
|
@ -90,6 +90,8 @@
|
||||
>>122 string Windows\ self-extracting\ ZIP \b, %s
|
||||
>0x1c string RJSX\xff\xff \b, ARJ SFX
|
||||
>0x1c string diet\xf9\x9c \b, diet compressed
|
||||
>0x1c string LZ09 \b, LZEXE v0.90 compressed
|
||||
>0x1c string LZ91 \b, LZEXE v0.91 compressed
|
||||
>0x1e string Copyright\ 1989-1990\ PKWARE\ Inc. \b, PKSFX
|
||||
# JM: 0x1e "PKLITE Copr. 1990-92 PKWARE Inc. All Rights Reserved\7\0\0\0"
|
||||
>0x1e string PKLITE\ Copr. \b, %.6s compressed
|
||||
|
@ -1,5 +1,14 @@
|
||||
|
||||
#------------------------------------------------------------------------------
|
||||
# python: file(1) magic for python
|
||||
#
|
||||
# From: David Necas <yeti@physics.muni.cz>
|
||||
# often the module starts with a multiline string
|
||||
0 string """ a python script text executable
|
||||
# MAGIC as specified in Python/import.c (1.5.2/1.6)
|
||||
# MAGIC as specified in Python/import.c (1.5 to 2.3.0a)
|
||||
# 20121 ( YEAR - 1995 ) + MONTH + DAY (little endian followed by "\r\n"
|
||||
0 belong 0x994e0d0a python compiled
|
||||
0 belong 0x994e0d0a python 1.5/1.6 byte-compiled
|
||||
0 belong 0x87c60d0a python 2.0 byte-compiled
|
||||
0 belong 0x2aeb0d0a python 2.1 byte-compiled
|
||||
0 belong 0x2ded0d0a python 2.2 byte-compiled
|
||||
#0 belong 0x31f20d0a python 2.3 byte-compiled
|
||||
|
@ -5,16 +5,23 @@
|
||||
# from Daniel Quinlan (quinlan@yggdrasil.com)
|
||||
# adapted to string extenstions by Anthon van der Neut <anthon@mnt.org)
|
||||
0 string/cB \<!doctype\ html HTML document text
|
||||
0 string/c \<head HTML document text
|
||||
0 string/c \<title HTML document text
|
||||
0 string/c \<html HTML document text
|
||||
0 string/cb \<head HTML document text
|
||||
0 string/cb \<title HTML document text
|
||||
0 string/cb \<html HTML document text
|
||||
|
||||
# Extensible markup language (XML), a subset of SGML
|
||||
# from Marc Prud'hommeaux (marc@apocalypse.org)
|
||||
0 string/c \<?xml XML document text
|
||||
0 string/cb \<?xml XML document text
|
||||
|
||||
|
||||
# SGML, mostly from rph@sq
|
||||
0 string/c \<!doctype exported SGML document text
|
||||
0 string/c \<!subdoc exported SGML subdocument text
|
||||
0 string \<!-- exported SGML document text
|
||||
0 string/cb \<!doctype exported SGML document text
|
||||
0 string/cb \<!subdoc exported SGML subdocument text
|
||||
0 string/cb \<!-- exported SGML document text
|
||||
|
||||
# Web browser cookie files
|
||||
# (Mozilla, Galeon, Netscape 4, Konqueror..)
|
||||
# Ulf Harnhammar <ulfh@update.uu.se>
|
||||
0 string #\ HTTP\ Cookie\ File Web browser cookie text
|
||||
0 string #\ Netscape\ HTTP\ Cookie\ File Netscape cookie text
|
||||
0 string #\ KDE\ Cookie\ File Konqueror cookie text
|
||||
|
@ -32,14 +32,17 @@
|
||||
>>>>>44 lelong !-1
|
||||
# Vorbis RC2 has a bug which puts -1000 in the min/max bitrate fields
|
||||
# instead of -1.
|
||||
# Vorbis 1.0 uses 0 instead of -1.
|
||||
>>>>>>44 lelong !-1000
|
||||
>>>>>>>44 lelong x >%lu
|
||||
>>>>>>>44 lelong !0
|
||||
>>>>>>>>44 lelong x >%lu
|
||||
>>>>>48 lelong !-1
|
||||
>>>>>>48 lelong x ~%lu
|
||||
>>>>>52 lelong !-1
|
||||
>>>>>>52 lelong !-1000
|
||||
>>>>>>>52 lelong x <%lu
|
||||
>>>>>48 string <\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff kbps
|
||||
>>>>>>52 lelong !0
|
||||
>>>>>>>52 lelong !-1000
|
||||
>>>>>>>>52 lelong x <%lu
|
||||
>>>>>48 string <\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff\xff bps
|
||||
# -- Second vorbis header packet - the comments
|
||||
# A kludge to read the vendor string. It's a counted string, not a
|
||||
# zero-terminated one, so file(1) can't read it in a generic way.
|
||||
@ -67,10 +70,10 @@
|
||||
>>>>>>(84.b+120) string 20011014 (RC2 - Garf tuned v2)
|
||||
>>>>>>(84.b+120) string 20011217 (pre-RC3 CVS)
|
||||
>>>>>>(84.b+120) string 20011231 (RC3)
|
||||
# The string has not changed from beta1 to 2 - they are indistinguishable.
|
||||
# Then come the comments, again length-counted (and number-counted).
|
||||
# Some looping constructs and registers would allow reading them but now
|
||||
# it's impossible. However we can print the number of comments present
|
||||
# (skipping by the vendor string length):
|
||||
##>>>>(109.l.113) lelong 0 \b, no comments
|
||||
##>>>>(109.l+113) lelong >0 \b, %lu comments
|
||||
# Some pre-1.0 CVS snapshots still had "Xiphphorus"...
|
||||
>>>>>>(84.b+120) string >20011231 (pre-1.0 CVS)
|
||||
# For the 1.0 release, Xiphophorus is replaced by Xiph.Org
|
||||
>>>>(84.b+96) string/c Xiph.Org\ libVorbis\ I \b, created by: Xiph.Org libVorbis I
|
||||
>>>>>(84.b+117) string >00000000 %.8s
|
||||
>>>>>>(84.b+117) string <20020717 (pre-1.0 CVS)
|
||||
>>>>>>(84.b+117) string 20020717 (1.0)
|
||||
|
@ -116,7 +116,6 @@ Magdir/ibm370 \
|
||||
Magdir/ibm6000 \
|
||||
Magdir/iff \
|
||||
Magdir/images \
|
||||
Magdir/impulse \
|
||||
Magdir/intel \
|
||||
Magdir/interleaf \
|
||||
Magdir/island \
|
||||
|
@ -86,7 +86,7 @@ EXTRA_DIST = LEGAL.NOTICE MAINT PORTING Makefile.std magic2mime Localstuff Head
|
||||
|
||||
CLEANFILES = $(man_MANS) magic magic.mgc magic.mime.mgc
|
||||
|
||||
magic_FRAGMENTS = Magdir/acorn Magdir/adi Magdir/adventure Magdir/allegro Magdir/alliant Magdir/alpha Magdir/amanda Magdir/amigaos Magdir/animation Magdir/apl Magdir/apple Magdir/applix Magdir/archive Magdir/asterix Magdir/att3b Magdir/audio Magdir/blender Magdir/blit Magdir/bsdi Magdir/c-lang Magdir/cddb Magdir/chi Magdir/cisco Magdir/citrus Magdir/claris Magdir/clipper Magdir/commands Magdir/compress Magdir/console Magdir/convex Magdir/ctags Magdir/cvs Magdir/database Magdir/diamond Magdir/diff Magdir/digital Magdir/dolby Magdir/dump Magdir/dyadic Magdir/editors Magdir/elf Magdir/encore Magdir/epoc Magdir/filesystems Magdir/flash Magdir/fonts Magdir/frame Magdir/freebsd Magdir/fsav Magdir/gimp Magdir/gnu Magdir/grace Magdir/gringotts Magdir/hitachi-sh Magdir/hp Magdir/ibm370 Magdir/ibm6000 Magdir/iff Magdir/images Magdir/impulse Magdir/intel Magdir/interleaf Magdir/island Magdir/ispell Magdir/java Magdir/jpeg Magdir/karma Magdir/lecter Magdir/lex Magdir/lif Magdir/linux Magdir/lisp Magdir/mach Magdir/macintosh Magdir/magic Magdir/mail.news Magdir/maple Magdir/mathematica Magdir/mcrypt Magdir/mime Magdir/mips Magdir/mirage Magdir/mkid Magdir/mmdf Magdir/mlssa Magdir/modem Magdir/motorola Magdir/msdos Magdir/msvc Magdir/natinst Magdir/ncr Magdir/netbsd Magdir/netscape Magdir/news Magdir/nitpicker Magdir/octave Magdir/olf Magdir/os2 Magdir/os9 Magdir/osf1 Magdir/palm Magdir/parix Magdir/pbm Magdir/pdf Magdir/pdp Magdir/perl Magdir/pgp Magdir/pkgadd Magdir/plus5 Magdir/printer Magdir/project Magdir/psdbms Magdir/pulsar Magdir/pyramid Magdir/python Magdir/riff Magdir/rpm Magdir/rtf Magdir/sc Magdir/sccs Magdir/sendmail Magdir/sequent Magdir/sgml Magdir/sharc Magdir/sketch Magdir/smalltalk Magdir/sniffer Magdir/softquad Magdir/spectrum Magdir/sun Magdir/sysex Magdir/teapot Magdir/terminfo Magdir/tex Magdir/tgif Magdir/ti-8x Magdir/timezone Magdir/troff Magdir/tuxedo Magdir/typeset Magdir/unknown Magdir/uuencode Magdir/varied.out Magdir/vax Magdir/vicar Magdir/visx Magdir/vms Magdir/vmware Magdir/vorbis Magdir/vxl Magdir/wordperfect Magdir/xdelta Magdir/xenix Magdir/zilog Magdir/zyxel
|
||||
magic_FRAGMENTS = Magdir/acorn Magdir/adi Magdir/adventure Magdir/allegro Magdir/alliant Magdir/alpha Magdir/amanda Magdir/amigaos Magdir/animation Magdir/apl Magdir/apple Magdir/applix Magdir/archive Magdir/asterix Magdir/att3b Magdir/audio Magdir/blender Magdir/blit Magdir/bsdi Magdir/c-lang Magdir/cddb Magdir/chi Magdir/cisco Magdir/citrus Magdir/claris Magdir/clipper Magdir/commands Magdir/compress Magdir/console Magdir/convex Magdir/ctags Magdir/cvs Magdir/database Magdir/diamond Magdir/diff Magdir/digital Magdir/dolby Magdir/dump Magdir/dyadic Magdir/editors Magdir/elf Magdir/encore Magdir/epoc Magdir/filesystems Magdir/flash Magdir/fonts Magdir/frame Magdir/freebsd Magdir/fsav Magdir/gimp Magdir/gnu Magdir/grace Magdir/gringotts Magdir/hitachi-sh Magdir/hp Magdir/ibm370 Magdir/ibm6000 Magdir/iff Magdir/images Magdir/intel Magdir/interleaf Magdir/island Magdir/ispell Magdir/java Magdir/jpeg Magdir/karma Magdir/lecter Magdir/lex Magdir/lif Magdir/linux Magdir/lisp Magdir/mach Magdir/macintosh Magdir/magic Magdir/mail.news Magdir/maple Magdir/mathematica Magdir/mcrypt Magdir/mime Magdir/mips Magdir/mirage Magdir/mkid Magdir/mmdf Magdir/mlssa Magdir/modem Magdir/motorola Magdir/msdos Magdir/msvc Magdir/natinst Magdir/ncr Magdir/netbsd Magdir/netscape Magdir/news Magdir/nitpicker Magdir/octave Magdir/olf Magdir/os2 Magdir/os9 Magdir/osf1 Magdir/palm Magdir/parix Magdir/pbm Magdir/pdf Magdir/pdp Magdir/perl Magdir/pgp Magdir/pkgadd Magdir/plus5 Magdir/printer Magdir/project Magdir/psdbms Magdir/pulsar Magdir/pyramid Magdir/python Magdir/riff Magdir/rpm Magdir/rtf Magdir/sc Magdir/sccs Magdir/sendmail Magdir/sequent Magdir/sgml Magdir/sharc Magdir/sketch Magdir/smalltalk Magdir/sniffer Magdir/softquad Magdir/spectrum Magdir/sun Magdir/sysex Magdir/teapot Magdir/terminfo Magdir/tex Magdir/tgif Magdir/ti-8x Magdir/timezone Magdir/troff Magdir/tuxedo Magdir/typeset Magdir/unknown Magdir/uuencode Magdir/varied.out Magdir/vax Magdir/vicar Magdir/visx Magdir/vms Magdir/vmware Magdir/vorbis Magdir/vxl Magdir/wordperfect Magdir/xdelta Magdir/xenix Magdir/zilog Magdir/zyxel
|
||||
|
||||
ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
|
||||
mkinstalldirs = $(SHELL) $(top_srcdir)/mkinstalldirs
|
||||
|
@ -1,6 +1,6 @@
|
||||
# Makefile for file(1) cmd.
|
||||
# Copyright (c) Ian F. Darwin 86/09/01 - see LEGAL.NOTICE.
|
||||
# @(#)$Id: Makefile.std,v 1.15 2002/07/03 18:57:52 christos Exp $
|
||||
# @(#)$Id: Makefile.std,v 1.16 2003/02/08 18:35:36 christos Exp $
|
||||
#
|
||||
# This software is not subject to any license of the American Telephone
|
||||
# and Telegraph Company or of the Regents of the University of California.
|
||||
@ -22,7 +22,7 @@
|
||||
#
|
||||
# 4. This notice may not be removed or altered.
|
||||
#
|
||||
VERSION = 3.39
|
||||
VERSION = 3.40
|
||||
SHELL = /bin/sh
|
||||
#MAGIC = /etc/magic
|
||||
MAGIC = /usr/local/etc/magic
|
||||
|
@ -1,5 +1,5 @@
|
||||
** README for file(1) Command **
|
||||
@(#) $Id: README,v 1.26 2002/05/16 18:45:56 christos Exp $
|
||||
@(#) $Id: README,v 1.28 2003/02/08 18:35:36 christos Exp $
|
||||
|
||||
This is Release 3.x of Ian Darwin's (copyright but distributable)
|
||||
file(1) command. This version is the standard "file" command for Linux,
|
||||
@ -91,7 +91,7 @@ DOS and Mac.
|
||||
|
||||
From: Kees Zeelenberg
|
||||
|
||||
An MS-Windows (Win32) port of File-3.36 is available from
|
||||
An MS-Windows (Win32) port of File-3.40 is available from
|
||||
http://gnuwin32.sourceforge.net/
|
||||
File is an implementation of the Unix File(1) command.
|
||||
It knows the 'magic number' of several thousands of file types.
|
||||
|
@ -45,7 +45,7 @@
|
||||
#include "names.h"
|
||||
|
||||
#ifndef lint
|
||||
FILE_RCSID("@(#)$Id: ascmagic.c,v 1.32 2002/07/03 18:26:37 christos Exp $")
|
||||
FILE_RCSID("@(#)$Id: ascmagic.c,v 1.33 2003/02/08 18:33:53 christos Exp $")
|
||||
#endif /* lint */
|
||||
|
||||
typedef unsigned long unichar;
|
||||
@ -67,7 +67,7 @@ int
|
||||
ascmagic(unsigned char *buf, int nbytes)
|
||||
{
|
||||
int i;
|
||||
char nbuf[HOWMANY+1]; /* one extra for terminating '\0' */
|
||||
unsigned char nbuf[HOWMANY+1]; /* one extra for terminating '\0' */
|
||||
unichar ubuf[HOWMANY+1]; /* one extra for terminating '\0' */
|
||||
int ulen;
|
||||
struct names *p;
|
||||
@ -211,7 +211,8 @@ ascmagic(unsigned char *buf, int nbytes)
|
||||
* compare the word thus isolated against the token list
|
||||
*/
|
||||
for (p = names; p < names + NNAMES; p++) {
|
||||
if (ascmatch(p->name, ubuf + i, end - i)) {
|
||||
if (ascmatch((unsigned char *)p->name, ubuf + i,
|
||||
end - i)) {
|
||||
subtype = types[p->type].human;
|
||||
subtype_mime = types[p->type].mime;
|
||||
goto subtype_identified;
|
||||
@ -565,7 +566,7 @@ looks_unicode(const unsigned char *buf, int nbytes, unichar *ubuf, int *ulen)
|
||||
return 0;
|
||||
}
|
||||
|
||||
return 1;
|
||||
return 1 + bigend;
|
||||
}
|
||||
|
||||
#undef F
|
||||
|
@ -67,6 +67,9 @@
|
||||
/* The number of bytes in a uint64_t. */
|
||||
#define SIZEOF_UINT64_T 0
|
||||
|
||||
/* Define if you have the getopt_long function. */
|
||||
#undef HAVE_GETOPT_LONG
|
||||
|
||||
/* Define if you have the mkstemp function. */
|
||||
#undef HAVE_MKSTEMP
|
||||
|
||||
@ -85,6 +88,9 @@
|
||||
/* Define if you have the <getopt.h> header file. */
|
||||
#undef HAVE_GETOPT_H
|
||||
|
||||
/* Define if you have the <inttypes.h> header file. */
|
||||
#undef HAVE_INTTYPES_H
|
||||
|
||||
/* Define if you have the <locale.h> header file. */
|
||||
#undef HAVE_LOCALE_H
|
||||
|
||||
|
4
contrib/file/configure
vendored
4
contrib/file/configure
vendored
@ -699,7 +699,7 @@ fi
|
||||
|
||||
PACKAGE=file
|
||||
|
||||
VERSION=3.39
|
||||
VERSION=3.40
|
||||
|
||||
if test "`cd $srcdir && pwd`" != "`pwd`" && test -f $srcdir/config.status; then
|
||||
{ echo "configure: error: source directory already configured; run "make distclean" there first" 1>&2; exit 1; }
|
||||
@ -2740,7 +2740,7 @@ EOF
|
||||
|
||||
|
||||
|
||||
for ac_func in mmap strerror strtoul mkstemp
|
||||
for ac_func in mmap strerror strtoul mkstemp getopt_long
|
||||
do
|
||||
echo $ac_n "checking for $ac_func""... $ac_c" 1>&6
|
||||
echo "configure:2747: checking for $ac_func" >&5
|
||||
|
@ -60,10 +60,10 @@ AC_HEADER_SYS_WAIT
|
||||
AC_HEADER_STDINT
|
||||
AC_CHECK_HEADERS(fcntl.h locale.h)
|
||||
AC_CHECK_HEADERS(sys/mman.h sys/stat.h sys/types.h)
|
||||
AC_CHECK_HEADERS(stdint.h inttypes.h)
|
||||
AC_CHECK_HEADERS(unistd.h)
|
||||
AC_CHECK_HEADERS(getopt.h)
|
||||
AC_CHECK_HEADERS(locale.h)
|
||||
AC_CHECK_HEADERS(stdint.h)
|
||||
|
||||
dnl Checks for typedefs, structures, and compiler characteristics.
|
||||
AC_C_CONST
|
||||
@ -91,7 +91,7 @@ AC_CHECK_SIZEOF_STDC_HEADERS(uint32_t, 0)
|
||||
AC_CHECK_SIZEOF_STDC_HEADERS(uint64_t, 0)
|
||||
|
||||
dnl Checks for functions
|
||||
AC_CHECK_FUNCS(mmap strerror strtoul mkstemp)
|
||||
AC_CHECK_FUNCS(mmap strerror strtoul mkstemp getopt_long)
|
||||
|
||||
dnl Checks for libraries
|
||||
AC_CHECK_LIB(z,gzopen)
|
||||
|
@ -58,7 +58,7 @@
|
||||
#include "patchlevel.h"
|
||||
|
||||
#ifndef lint
|
||||
FILE_RCSID("@(#)$Id: file.c,v 1.66 2002/07/03 19:00:41 christos Exp $")
|
||||
FILE_RCSID("@(#)$Id: file.c,v 1.68 2003/02/08 18:33:53 christos Exp $")
|
||||
#endif /* lint */
|
||||
|
||||
|
||||
@ -88,6 +88,7 @@ int /* Global command-line options */
|
||||
zflag = 0, /* follow (uncompress) compressed files */
|
||||
sflag = 0, /* read block special files */
|
||||
iflag = 0,
|
||||
nopad = 0, /* Don't pad output */
|
||||
nobuffer = 0, /* Do not buffer stdout */
|
||||
kflag = 0; /* Keep going after the first match */
|
||||
|
||||
@ -99,13 +100,15 @@ struct magic *magic; /* array of magic entries */
|
||||
const char *magicfile = 0; /* where the magic is */
|
||||
const char *default_magicfile = MAGIC;
|
||||
|
||||
char separator = ':'; /* Default field separator */
|
||||
|
||||
char *progname; /* used throughout */
|
||||
int lineno; /* line number in the magic file */
|
||||
|
||||
|
||||
static void unwrap(char *fn);
|
||||
static void usage(void);
|
||||
#ifdef HAVE_GETOPT_H
|
||||
#ifdef HAVE_GETOPT_LONG
|
||||
static void help(void);
|
||||
#endif
|
||||
#if 0
|
||||
@ -125,8 +128,8 @@ main(int argc, char **argv)
|
||||
int action = 0, didsomefiles = 0, errflg = 0, ret = 0, app = 0;
|
||||
char *mime, *home, *usermagic;
|
||||
struct stat sb;
|
||||
#define OPTSTRING "bcdf:ikm:nsvzCL"
|
||||
#ifdef HAVE_GETOPT_H
|
||||
#define OPTSTRING "bcdf:F:ikm:nNsvzCL"
|
||||
#ifdef HAVE_GETOPT_LONG
|
||||
int longindex;
|
||||
static struct option long_options[] =
|
||||
{
|
||||
@ -136,6 +139,7 @@ main(int argc, char **argv)
|
||||
{"checking-printout", 0, 0, 'c'},
|
||||
{"debug", 0, 0, 'd'},
|
||||
{"files-from", 1, 0, 'f'},
|
||||
{"separator", 1, 0, 'F'},
|
||||
{"mime", 0, 0, 'i'},
|
||||
{"keep-going", 0, 0, 'k'},
|
||||
#ifdef S_IFLNK
|
||||
@ -144,6 +148,7 @@ main(int argc, char **argv)
|
||||
{"magic-file", 1, 0, 'm'},
|
||||
{"uncompress", 0, 0, 'z'},
|
||||
{"no-buffer", 0, 0, 'n'},
|
||||
{"no-pad", 0, 0, 'N'},
|
||||
{"special-files", 0, 0, 's'},
|
||||
{"compile", 0, 0, 'C'},
|
||||
{0, 0, 0, 0},
|
||||
@ -179,14 +184,14 @@ main(int argc, char **argv)
|
||||
}
|
||||
}
|
||||
|
||||
#ifndef HAVE_GETOPT_H
|
||||
#ifndef HAVE_GETOPT_LONG
|
||||
while ((c = getopt(argc, argv, OPTSTRING)) != -1)
|
||||
#else
|
||||
while ((c = getopt_long(argc, argv, OPTSTRING, long_options,
|
||||
&longindex)) != -1)
|
||||
#endif
|
||||
switch (c) {
|
||||
#ifdef HAVE_GETOPT_H
|
||||
#ifdef HAVE_GETOPT_LONG
|
||||
case 0 :
|
||||
if (longindex == 1)
|
||||
help();
|
||||
@ -214,6 +219,9 @@ main(int argc, char **argv)
|
||||
unwrap(optarg);
|
||||
++didsomefiles;
|
||||
break;
|
||||
case 'F':
|
||||
separator = *optarg;
|
||||
break;
|
||||
case 'i':
|
||||
iflag++;
|
||||
if ((mime = malloc(strlen(magicfile) + 6)) != NULL) {
|
||||
@ -231,6 +239,9 @@ main(int argc, char **argv)
|
||||
case 'n':
|
||||
++nobuffer;
|
||||
break;
|
||||
case 'N':
|
||||
++nopad;
|
||||
break;
|
||||
case 's':
|
||||
sflag++;
|
||||
break;
|
||||
@ -404,8 +415,8 @@ process(const char *inname, int wid)
|
||||
}
|
||||
|
||||
if (wid > 0 && !bflag)
|
||||
(void) printf("%s:%*s ", inname,
|
||||
(int) (wid - strlen(inname)), "");
|
||||
(void) printf("%s%c%*s", inname, separator,
|
||||
(int) (nopad ? 0 : 1 + (wid - strlen(inname))), "");
|
||||
|
||||
if (inname != stdname) {
|
||||
/*
|
||||
@ -523,13 +534,13 @@ usage(void)
|
||||
{
|
||||
(void)fprintf(stderr, USAGE, progname);
|
||||
(void)fprintf(stderr, "Usage: %s -C [-m magic]\n", progname);
|
||||
#ifdef HAVE_GETOPT_H
|
||||
#ifdef HAVE_GETOPT_LONG
|
||||
(void)fputs("Try `file --help' for more information.\n", stderr);
|
||||
#endif
|
||||
exit(1);
|
||||
}
|
||||
|
||||
#ifdef HAVE_GETOPT_H
|
||||
#ifdef HAVE_GETOPT_LONG
|
||||
static void
|
||||
help(void)
|
||||
{
|
||||
|
@ -1,6 +1,6 @@
|
||||
/*
|
||||
* file.h - definitions for file(1) program
|
||||
* @(#)$Id: file.h,v 1.43 2002/07/03 18:57:52 christos Exp $
|
||||
* @(#)$Id: file.h,v 1.45 2003/02/08 18:33:53 christos Exp $
|
||||
*
|
||||
* Copyright (c) Ian F. Darwin, 1987.
|
||||
* Written by Ian F. Darwin.
|
||||
@ -43,6 +43,8 @@
|
||||
#include <stdio.h>
|
||||
#ifdef HAVE_STDINT_H
|
||||
#include <stdint.h>
|
||||
#elif defined(HAVE_INTTYPES_H)
|
||||
#include <inttypes.h>
|
||||
#endif
|
||||
/* Do this here and now, because struct stat gets re-defined on solaris */
|
||||
#include <sys/stat.h>
|
||||
@ -60,6 +62,10 @@
|
||||
#define CHECK 1
|
||||
#define COMPILE 2
|
||||
|
||||
#ifndef __GNUC__
|
||||
#define __attribute__(a)
|
||||
#endif
|
||||
|
||||
struct magic {
|
||||
uint16_t cont_level; /* level of ">" */
|
||||
uint8_t nospflag; /* supress space character */
|
||||
|
@ -1,18 +1,21 @@
|
||||
.TH FILE __CSECTION__ "Copyright but distributable"
|
||||
.\" $Id: file.man,v 1.42 2002/07/03 18:26:37 christos Exp $
|
||||
.\" $Id: file.man,v 1.43 2003/02/08 18:33:53 christos Exp $
|
||||
.SH NAME
|
||||
file
|
||||
\- determine file type
|
||||
.SH SYNOPSIS
|
||||
.B file
|
||||
[
|
||||
.B \-bciknsvzL
|
||||
.B \-bciknNsvzL
|
||||
]
|
||||
[
|
||||
.B \-f
|
||||
.I namefile
|
||||
]
|
||||
[
|
||||
.B \-F
|
||||
separator ]
|
||||
[
|
||||
.B \-m
|
||||
.I magicfiles
|
||||
]
|
||||
@ -172,6 +175,9 @@ Either
|
||||
or at least one filename argument must be present;
|
||||
to test the standard input, use ``\-'' as a filename argument.
|
||||
.TP 8
|
||||
.BI \-F " separator"
|
||||
Use the specified separator character instead of ``:''.
|
||||
.TP 8
|
||||
.B \-i
|
||||
Causes the file command to output mime type strings rather than the more
|
||||
traditional human readable ones. Thus it may say
|
||||
@ -195,6 +201,9 @@ Force stdout to be flushed after checking each file. This is only useful if
|
||||
checking a list of files. It is intended to be used by programs that want
|
||||
filetype output from a pipe.
|
||||
.TP 8
|
||||
.B \-N
|
||||
Don't pad output to align filenames nicely.
|
||||
.TP 8
|
||||
.B \-v
|
||||
Print the version of the program and exit.
|
||||
.TP 8
|
||||
@ -228,7 +237,7 @@ to disregard the file size as reported by
|
||||
since on some systems it reports a zero size for raw disk partitions.
|
||||
.SH FILES
|
||||
.I __MAGIC__.mgc
|
||||
\- defaults compiled list of magic numbers
|
||||
\- default compiled list of magic numbers
|
||||
.PP
|
||||
.I __MAGIC__
|
||||
\- default list of magic numbers
|
||||
|
@ -170,7 +170,7 @@ is used as an offset in the file. A byte, short or long is read at that offset
|
||||
depending on the
|
||||
.B [bslBSL]
|
||||
type specifier. The capitalized types interpret the number as a big endian
|
||||
value, whereas the small letter versions interpet the number as a little
|
||||
value, whereas the small letter versions interpret the number as a little
|
||||
endian value. To that number the value of
|
||||
.I y
|
||||
is added and the result is used as an offset in the file. The default type
|
||||
@ -219,4 +219,4 @@ indirect offsets.
|
||||
.\" the changes I posted to the S5R2 version.
|
||||
.\"
|
||||
.\" Modified for Ian Darwin's version of the file command.
|
||||
.\" @(#)$Id: magic.man,v 1.19 2002/07/03 18:26:38 christos Exp $
|
||||
.\" @(#)$Id: magic.man,v 1.20 2003/02/08 18:33:53 christos Exp $
|
||||
|
@ -1,11 +1,18 @@
|
||||
#define FILE_VERSION_MAJOR 3
|
||||
#define patchlevel 39
|
||||
#define patchlevel 40
|
||||
|
||||
/*
|
||||
* Patchlevel file for Ian Darwin's MAGIC command.
|
||||
* $Id: patchlevel.h,v 1.39 2002/07/03 18:57:52 christos Exp $
|
||||
* $Id: patchlevel.h,v 1.40 2003/02/08 18:33:53 christos Exp $
|
||||
*
|
||||
* $Log: patchlevel.h,v $
|
||||
* Revision 1.40 2003/02/08 18:33:53 christos
|
||||
* - detect inttypes.h too (Dave Love <d.love@dl.ac.uk>)
|
||||
* - eliminate unsigned char warnings (Petter Reinholdtsen <pere@hungry.com>)
|
||||
* - better elf PT_NOTE handling (Nalin Dahyabhai <nalin@redhat.com>)
|
||||
* - add options to format the output differently
|
||||
* - much more magic.
|
||||
*
|
||||
* Revision 1.39 2002/07/03 18:57:52 christos
|
||||
* - ansify/c99ize
|
||||
* - more magic
|
||||
|
@ -27,11 +27,7 @@
|
||||
|
||||
#include "file.h"
|
||||
#include <string.h>
|
||||
#ifdef __STDC__
|
||||
#include <stdarg.h>
|
||||
#else
|
||||
# include <varargs.h>
|
||||
#endif
|
||||
#include <stdlib.h>
|
||||
#ifdef HAVE_UNISTD_H
|
||||
#include <unistd.h>
|
||||
@ -39,7 +35,7 @@
|
||||
#include <time.h>
|
||||
|
||||
#ifndef lint
|
||||
FILE_RCSID("@(#)$Id: print.c,v 1.38 2002/07/03 18:37:44 christos Exp $")
|
||||
FILE_RCSID("@(#)$Id: print.c,v 1.39 2002/07/09 15:46:23 christos Exp $")
|
||||
#endif /* lint */
|
||||
|
||||
#define SZOF(a) (sizeof(a) / sizeof(a[0]))
|
||||
|
@ -11,7 +11,7 @@
|
||||
#include "readelf.h"
|
||||
|
||||
#ifndef lint
|
||||
FILE_RCSID("@(#)$Id: readelf.c,v 1.22 2002/07/03 18:26:38 christos Exp $")
|
||||
FILE_RCSID("@(#)$Id: readelf.c,v 1.23 2003/02/08 18:33:53 christos Exp $")
|
||||
#endif
|
||||
|
||||
#ifdef ELFCORE
|
||||
@ -104,6 +104,9 @@ getu64(int swap, uint64_t value)
|
||||
#define ph_offset (class == ELFCLASS32 \
|
||||
? getu32(swap, ph32.p_offset) \
|
||||
: getu64(swap, ph64.p_offset))
|
||||
#define ph_align (class == ELFCLASS32 \
|
||||
? (ph32.p_align ? getu32(swap, ph32.p_align) : 4) \
|
||||
: (ph64.p_align ? getu64(swap, ph64.p_align) : 4))
|
||||
#define nh_size (class == ELFCLASS32 \
|
||||
? sizeof *nh32 \
|
||||
: sizeof *nh64)
|
||||
@ -157,6 +160,7 @@ dophn_exec(int class, int swap, int fd, off_t off, int num, size_t size)
|
||||
char nbuf[BUFSIZ];
|
||||
int bufsize;
|
||||
size_t offset, nameoffset;
|
||||
off_t savedoffset;
|
||||
|
||||
if (lseek(fd, off, SEEK_SET) == -1)
|
||||
error("lseek failed (%s).\n", strerror(errno));
|
||||
@ -164,6 +168,8 @@ dophn_exec(int class, int swap, int fd, off_t off, int num, size_t size)
|
||||
for ( ; num; num--) {
|
||||
if (read(fd, ph_addr, size) == -1)
|
||||
error("read failed (%s).\n", strerror(errno));
|
||||
if ((savedoffset = lseek(fd, 0, SEEK_CUR)) == -1)
|
||||
error("lseek failed (%s).\n", strerror(errno));
|
||||
|
||||
switch (ph_type) {
|
||||
case PT_DYNAMIC:
|
||||
@ -179,7 +185,7 @@ dophn_exec(int class, int swap, int fd, off_t off, int num, size_t size)
|
||||
*/
|
||||
if (lseek(fd, (off_t) ph_offset, SEEK_SET) == -1)
|
||||
error("lseek failed (%s).\n", strerror(errno));
|
||||
bufsize = read(fd, nbuf, BUFSIZ);
|
||||
bufsize = read(fd, nbuf, sizeof(nbuf));
|
||||
if (bufsize == -1)
|
||||
error(": " "read failed (%s).\n",
|
||||
strerror(errno));
|
||||
@ -202,7 +208,14 @@ dophn_exec(int class, int swap, int fd, off_t off, int num, size_t size)
|
||||
|
||||
nameoffset = offset;
|
||||
offset += nh_namesz;
|
||||
offset = ((offset + 3)/4)*4;
|
||||
offset = ((offset+ph_align-1)/ph_align)*ph_align;
|
||||
|
||||
if ((nh_namesz == 0) && (nh_descsz == 0)) {
|
||||
/*
|
||||
* We're out of note headers.
|
||||
*/
|
||||
break;
|
||||
}
|
||||
|
||||
if (offset + nh_descsz >= bufsize)
|
||||
break;
|
||||
@ -277,6 +290,8 @@ dophn_exec(int class, int swap, int fd, off_t off, int num, size_t size)
|
||||
/* Content of note is always 0 */
|
||||
}
|
||||
}
|
||||
if ((lseek(fd, savedoffset + offset, SEEK_SET)) == -1)
|
||||
error("lseek failed (%s).\n", strerror(errno));
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
@ -34,7 +34,7 @@
|
||||
|
||||
|
||||
#ifndef lint
|
||||
FILE_RCSID("@(#)$Id: softmagic.c,v 1.51 2002/07/03 18:26:38 christos Exp $")
|
||||
FILE_RCSID("@(#)$Id: softmagic.c,v 1.52 2003/02/08 18:33:53 christos Exp $")
|
||||
#endif /* lint */
|
||||
|
||||
static int match(struct magic *, uint32_t, unsigned char *, int);
|
||||
@ -564,9 +564,10 @@ mget(union VALUETYPE *p, unsigned char *s, struct magic *m, int nbytes)
|
||||
* offset is interpreted as last line to search,
|
||||
* (starting at 1), not as bytes-from start-of-file
|
||||
*/
|
||||
char *last = NULL;
|
||||
p->buf = s;
|
||||
for (; offset && (s = strchr(s, '\n')) != NULL; offset--, s++)
|
||||
unsigned char *last = NULL;
|
||||
p->buf = (char *)s;
|
||||
for (; offset && (s = (unsigned char *)strchr(s, '\n')) != NULL;
|
||||
offset--, s++)
|
||||
last = s;
|
||||
if (last != NULL)
|
||||
*last = '\0';
|
||||
|
Loading…
Reference in New Issue
Block a user