summaryrefslogtreecommitdiff
path: root/contrib/file
diff options
context:
space:
mode:
Diffstat (limited to 'contrib/file')
-rw-r--r--contrib/file/Header5
-rw-r--r--contrib/file/LEGAL.NOTICE34
-rw-r--r--contrib/file/Localstuff7
-rw-r--r--contrib/file/MAINT33
-rw-r--r--contrib/file/Magdir/adventure39
-rw-r--r--contrib/file/Magdir/allegro7
-rw-r--r--contrib/file/Magdir/alliant17
-rw-r--r--contrib/file/Magdir/alpha30
-rw-r--r--contrib/file/Magdir/amanda10
-rw-r--r--contrib/file/Magdir/amigaos10
-rw-r--r--contrib/file/Magdir/animation142
-rw-r--r--contrib/file/Magdir/apl6
-rw-r--r--contrib/file/Magdir/apple116
-rw-r--r--contrib/file/Magdir/applix12
-rw-r--r--contrib/file/Magdir/archive236
-rw-r--r--contrib/file/Magdir/asterix17
-rw-r--r--contrib/file/Magdir/att3b40
-rw-r--r--contrib/file/Magdir/blender17
-rw-r--r--contrib/file/Magdir/blit19
-rw-r--r--contrib/file/Magdir/bsdi41
-rw-r--r--contrib/file/Magdir/c-lang13
-rw-r--r--contrib/file/Magdir/chi7
-rw-r--r--contrib/file/Magdir/cisco10
-rw-r--r--contrib/file/Magdir/claris46
-rw-r--r--contrib/file/Magdir/clipper64
-rw-r--r--contrib/file/Magdir/commands62
-rw-r--r--contrib/file/Magdir/compress146
-rw-r--r--contrib/file/Magdir/console122
-rw-r--r--contrib/file/Magdir/convex69
-rw-r--r--contrib/file/Magdir/database70
-rw-r--r--contrib/file/Magdir/diamond11
-rw-r--r--contrib/file/Magdir/diff13
-rw-r--r--contrib/file/Magdir/digital41
-rw-r--r--contrib/file/Magdir/dump81
-rw-r--r--contrib/file/Magdir/encore21
-rw-r--r--contrib/file/Magdir/epoc10
-rw-r--r--contrib/file/Magdir/filesystems91
-rw-r--r--contrib/file/Magdir/flash10
-rw-r--r--contrib/file/Magdir/fonts51
-rw-r--r--contrib/file/Magdir/frame38
-rw-r--r--contrib/file/Magdir/freebsd130
-rw-r--r--contrib/file/Magdir/fsav27
-rw-r--r--contrib/file/Magdir/gimp36
-rw-r--r--contrib/file/Magdir/gnu12
-rw-r--r--contrib/file/Magdir/grace20
-rw-r--r--contrib/file/Magdir/hp251
-rw-r--r--contrib/file/Magdir/ibm37047
-rw-r--r--contrib/file/Magdir/ibm600017
-rw-r--r--contrib/file/Magdir/iff28
-rw-r--r--contrib/file/Magdir/intel35
-rw-r--r--contrib/file/Magdir/interleaf8
-rw-r--r--contrib/file/Magdir/island9
-rw-r--r--contrib/file/Magdir/ispell62
-rw-r--r--contrib/file/Magdir/java11
-rw-r--r--contrib/file/Magdir/jpeg61
-rw-r--r--contrib/file/Magdir/karma8
-rw-r--r--contrib/file/Magdir/lecter4
-rw-r--r--contrib/file/Magdir/lex11
-rw-r--r--contrib/file/Magdir/lif7
-rw-r--r--contrib/file/Magdir/linux101
-rw-r--r--contrib/file/Magdir/lisp21
-rw-r--r--contrib/file/Magdir/mach43
-rw-r--r--contrib/file/Magdir/magic5
-rw-r--r--contrib/file/Magdir/mail.news24
-rw-r--r--contrib/file/Magdir/maple57
-rw-r--r--contrib/file/Magdir/mathematica59
-rw-r--r--contrib/file/Magdir/mcrypt31
-rw-r--r--contrib/file/Magdir/mime7
-rw-r--r--contrib/file/Magdir/mirage7
-rw-r--r--contrib/file/Magdir/mkid10
-rw-r--r--contrib/file/Magdir/mmdf5
-rw-r--r--contrib/file/Magdir/modem33
-rw-r--r--contrib/file/Magdir/motorola32
-rw-r--r--contrib/file/Magdir/msvc44
-rw-r--r--contrib/file/Magdir/ncr48
-rw-r--r--contrib/file/Magdir/netscape21
-rw-r--r--contrib/file/Magdir/news12
-rw-r--r--contrib/file/Magdir/octave4
-rw-r--r--contrib/file/Magdir/olf97
-rw-r--r--contrib/file/Magdir/os247
-rw-r--r--contrib/file/Magdir/os986
-rw-r--r--contrib/file/Magdir/osf17
-rw-r--r--contrib/file/Magdir/palm15
-rw-r--r--contrib/file/Magdir/pbm7
-rw-r--r--contrib/file/Magdir/pdf7
-rw-r--r--contrib/file/Magdir/pdp35
-rw-r--r--contrib/file/Magdir/pgp13
-rw-r--r--contrib/file/Magdir/pkgadd5
-rw-r--r--contrib/file/Magdir/plus517
-rw-r--r--contrib/file/Magdir/printer88
-rw-r--r--contrib/file/Magdir/project9
-rw-r--r--contrib/file/Magdir/psdbms7
-rw-r--r--contrib/file/Magdir/pyramid11
-rw-r--r--contrib/file/Magdir/python5
-rw-r--r--contrib/file/Magdir/rpm17
-rw-r--r--contrib/file/Magdir/rtf12
-rw-r--r--contrib/file/Magdir/sc5
-rw-r--r--contrib/file/Magdir/sccs21
-rw-r--r--contrib/file/Magdir/sendmail10
-rw-r--r--contrib/file/Magdir/sequent34
-rw-r--r--contrib/file/Magdir/sgml20
-rw-r--r--contrib/file/Magdir/sniffer171
-rw-r--r--contrib/file/Magdir/softquad30
-rw-r--r--contrib/file/Magdir/spectrum28
-rw-r--r--contrib/file/Magdir/sun107
-rw-r--r--contrib/file/Magdir/teapot4
-rw-r--r--contrib/file/Magdir/terminfo9
-rw-r--r--contrib/file/Magdir/tex47
-rw-r--r--contrib/file/Magdir/ti-8x36
-rw-r--r--contrib/file/Magdir/timezone14
-rw-r--r--contrib/file/Magdir/troff27
-rw-r--r--contrib/file/Magdir/typeset7
-rw-r--r--contrib/file/Magdir/unknown36
-rw-r--r--contrib/file/Magdir/uuencode30
-rw-r--r--contrib/file/Magdir/vax34
-rw-r--r--contrib/file/Magdir/vicar16
-rw-r--r--contrib/file/Magdir/visx31
-rw-r--r--contrib/file/Magdir/vms27
-rw-r--r--contrib/file/Magdir/vmware12
-rw-r--r--contrib/file/Magdir/wordperfect91
-rw-r--r--contrib/file/Magdir/xdelta10
-rw-r--r--contrib/file/Magdir/xenix72
-rw-r--r--contrib/file/Magdir/zilog11
-rw-r--r--contrib/file/Magdir/zyxel16
-rw-r--r--contrib/file/Makefile.am74
-rw-r--r--contrib/file/README91
-rw-r--r--contrib/file/acinclude.m479
-rw-r--r--contrib/file/aclocal.m4209
-rw-r--r--contrib/file/apprentice.c672
-rw-r--r--contrib/file/compress.c125
-rw-r--r--contrib/file/config.h.in78
-rw-r--r--contrib/file/fsmagic.c251
-rwxr-xr-xcontrib/file/install-sh238
-rw-r--r--contrib/file/is_tar.c101
-rw-r--r--contrib/file/magic.man215
-rw-r--r--contrib/file/magic.mime531
-rwxr-xr-xcontrib/file/magic2mime68
-rwxr-xr-xcontrib/file/missing0
-rw-r--r--contrib/file/names.h159
-rw-r--r--contrib/file/print.c218
-rw-r--r--contrib/file/readelf.h189
-rw-r--r--contrib/file/softmagic.c569
-rw-r--r--contrib/file/stamp-h.in1
-rw-r--r--contrib/file/tar.h177
144 files changed, 0 insertions, 8648 deletions
diff --git a/contrib/file/Header b/contrib/file/Header
deleted file mode 100644
index 3ca9b0eb2cc74..0000000000000
--- a/contrib/file/Header
+++ /dev/null
@@ -1,5 +0,0 @@
-# Magic
-# Magic data for file(1) command.
-# Machine-generated from src/cmd/file/magdir/*; edit there only!
-# Format is described in magic(files), where:
-# files is 5 on V7 and BSD, 4 on SV, and ?? in the SVID.
diff --git a/contrib/file/LEGAL.NOTICE b/contrib/file/LEGAL.NOTICE
deleted file mode 100644
index 72cc535f363b7..0000000000000
--- a/contrib/file/LEGAL.NOTICE
+++ /dev/null
@@ -1,34 +0,0 @@
-$Id: LEGAL.NOTICE,v 1.11 1999/01/14 16:30:12 christos Exp $
-Copyright (c) Ian F. Darwin 1986, 1987, 1989, 1990, 1991, 1992, 1994, 1995.
-Software written by Ian F. Darwin and others;
-maintained 1994-1999 Christos Zoulas.
-
-This software is not subject to any export provision of the United States
-Department of Commerce, and may be exported to any country or planet.
-
-Redistribution and use in source and binary forms, with or without
-modification, are permitted provided that the following conditions
-are met:
-1. Redistributions of source code must retain the above copyright
- notice immediately at the beginning of the file, without modification,
- this list of conditions, and the following disclaimer.
-2. Redistributions in binary form must reproduce the above copyright
- notice, this list of conditions and the following disclaimer in the
- documentation and/or other materials provided with the distribution.
-3. All advertising materials mentioning features or use of this software
- must display the following acknowledgement:
- This product includes software developed by Ian F. Darwin and others.
-4. The name of the author may not be used to endorse or promote products
- derived from this software without specific prior written permission.
-
-THIS SOFTWARE IS PROVIDED BY THE AUTHOR AND CONTRIBUTORS ``AS IS'' AND
-ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
-IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
-ARE DISCLAIMED. IN NO EVENT SHALL THE AUTHOR OR CONTRIBUTORS BE LIABLE FOR
-ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
-DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
-OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
-HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
-LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
-OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
-SUCH DAMAGE.
diff --git a/contrib/file/Localstuff b/contrib/file/Localstuff
deleted file mode 100644
index 3c2fa0ef777f3..0000000000000
--- a/contrib/file/Localstuff
+++ /dev/null
@@ -1,7 +0,0 @@
-
-#------------------------------------------------------------------------------
-# Localstuff: file(1) magic for locally observed files
-#
-# $Id: Localstuff,v 1.3 1995/01/21 21:09:00 christos Exp $
-# Add any locally observed files here. Remember:
-# text if readable, executable if runnable binary, data if unreadable.
diff --git a/contrib/file/MAINT b/contrib/file/MAINT
deleted file mode 100644
index 5a8768390a96b..0000000000000
--- a/contrib/file/MAINT
+++ /dev/null
@@ -1,33 +0,0 @@
-$Id: MAINT,v 1.4 2000/04/11 02:43:51 christos Exp $
-
-Maintenance notes:
-
-I am continuing to maintain the file command. I welcome your help,
-but to make my life easier I'd like to request the following:
-
-- Don't change the version numbers!
-
-If your changes are extensive, I will have to work hard to
-integrate them into my version. If you check it into SCCS locally,
-the version numbers will likely be kept. IF you check it into RCS
-or CVS locally, please use -k to keep the version numbers, and
-please use branch deltas (1.21.1, 1.21.2, ...). If you don't do
-this, I will likely be unable to use your changes; life's just too
-short.
-
-- Do not distribute changed versions.
-
-People trying to be helpful occasionally put up their hacked versions
-of the file command for FTP, then the "archie" server finds and publishes
-the hacked version, and people all over the world get copies of it.
-Within a day or two I am getting email from around the world
-asking me why "my" file command won't compile!!! Needless to say this
-detracts from the limited time I have available to work on the actual
-software. Therefore I ask you again to please NOT distribute
-your changed version.
-
-
-Thank you for your assistance and cooperation.
-
-Christos Zoulas
-christos@astron.com
diff --git a/contrib/file/Magdir/adventure b/contrib/file/Magdir/adventure
deleted file mode 100644
index 38a5e33a3a2a9..0000000000000
--- a/contrib/file/Magdir/adventure
+++ /dev/null
@@ -1,39 +0,0 @@
-
-#------------------------------------------------------------------------------
-# adventure: file(1) magic for Adventure game files
-#
-# from Allen Garvin <earendil@faeryland.tamu-commerce.edu>
-# Edited by Dave Chapeskie <dchapes@ddm.on.ca> Jun 28, 1998
-#
-# ALAN
-# I assume there are other, lower versions, but these are the only ones I
-# saw in the archive.
-0 beshort 0x0206 ALAN text adventure code data
->2 byte <10 version 2.6%d
-
-# Conflicts with too much other stuff!
-# Infocom
-# (Note: to avoid false matches Z-machine version 1 and 2 are not
-# recognized since only the oldest Zork I and II used them. Similarly
-# there are 4 Infocom games that use verion 4 that are not recognized.)
-#0 byte 3 Infocom game data (Z-machine 3,
-#>2 beshort <0x7fff Release %3d,
-#>26 beshort >0 Size %d*2
-#>18 string >\0 Serial %.6s)
-#0 byte 5 Infocom game data (Z-machine 5,
-#>2 beshort <0x7fff Release %3d,
-#>26 beshort >0 Size %d*4
-#>18 string >\0 Serial %.6s)
-#0 byte 6 Infocom game data (Z-machine 6,
-#>2 beshort <0x7fff Release %3d,
-#>26 beshort >0 Size %d*8
-#>18 string >\0 Serial %.6s)
-#0 byte 8 Infocom game data (Z-machine 8,
-#>2 beshort <0x7fff Release %3d,
-#>26 beshort >0 Size %d*8
-#>18 string >\0 Serial %.6s)
-
-# TADS (Text Adventure Development System)
-0 string TADS TADS game data
->13 string >\0 (ver. %.6s,
->22 string >\0 date %s)
diff --git a/contrib/file/Magdir/allegro b/contrib/file/Magdir/allegro
deleted file mode 100644
index 41f4ad6cd236b..0000000000000
--- a/contrib/file/Magdir/allegro
+++ /dev/null
@@ -1,7 +0,0 @@
-#------------------------------------------------------------------------------
-# allegro: file(1) magic for Allegro datafiles
-# Toby Deshane <hac@shoelace.digivill.net>
-#
-0 belong 0x736C6821 Allegro datafile (packed)
-0 belong 0x736C682E Allegro datafile (not packed/autodetect)
-0 belong 0x736C682B Allegro datafile (appended exe data)
diff --git a/contrib/file/Magdir/alliant b/contrib/file/Magdir/alliant
deleted file mode 100644
index 69cf4b44d7422..0000000000000
--- a/contrib/file/Magdir/alliant
+++ /dev/null
@@ -1,17 +0,0 @@
-
-#------------------------------------------------------------------------------
-# alliant: file(1) magic for Alliant FX series a.out files
-#
-# If the FX series is the one that had a processor with a 68K-derived
-# instruction set, the "short" should probably become "beshort" and the
-# "long" should probably become "belong".
-# If it's the i860-based one, they should probably become either the
-# big-endian or little-endian versions, depending on the mode they ran
-# the 860 in....
-#
-0 short 0420 0420 Alliant virtual executable
->2 short &0x0020 common library
->16 long >0 not stripped
-0 short 0421 0421 Alliant compact executable
->2 short &0x0020 common library
->16 long >0 not stripped
diff --git a/contrib/file/Magdir/alpha b/contrib/file/Magdir/alpha
deleted file mode 100644
index c0191fb931e4e..0000000000000
--- a/contrib/file/Magdir/alpha
+++ /dev/null
@@ -1,30 +0,0 @@
-#------------------------------------------------------------------------------
-# alpha architecture description
-#
-
-0 leshort 0603 COFF format alpha
->22 leshort&030000 !020000 executable
->24 leshort 0410 pure
->24 leshort 0413 paged
->22 leshort&020000 !0 dynamically linked
->16 lelong !0 not stripped
->16 lelong 0 stripped
->22 leshort&030000 020000 shared library
->24 leshort 0407 object
->27 byte x - version %d
->26 byte x .%d
->28 byte x -%d
-
-# Basic recognition of Digital UNIX core dumps - Mike Bremford <mike@opac.bl.uk>
-#
-# The actual magic number is just "Core", followed by a 2-byte version
-# number; however, treating any file that begins with "Core" as a Digital
-# UNIX core dump file may produce too many false hits, so we include one
-# byte of the version number as well; DU 5.0 appears only to be up to
-# version 2.
-#
-0 string Core\001 Alpha COFF format core dump (Digital UNIX)
->24 string >\0 \b, from '%s'
-0 string Core\002 Alpha COFF format core dump (Digital UNIX)
->24 string >\0 \b, from '%s'
-
diff --git a/contrib/file/Magdir/amanda b/contrib/file/Magdir/amanda
deleted file mode 100644
index 2b9565083ee0f..0000000000000
--- a/contrib/file/Magdir/amanda
+++ /dev/null
@@ -1,10 +0,0 @@
-#------------------------------------------------------------------------------
-# amanda: file(1) magic for amanda file format
-#
-0 string AMANDA:\ AMANDA
->8 string TAPESTART\ DATE tape header file,
->>23 string X
->>>25 string >\ Unused %s
->>23 string >\ DATE %s
->8 string FILE\ dump file,
->>13 string >\ DATE %s
diff --git a/contrib/file/Magdir/amigaos b/contrib/file/Magdir/amigaos
deleted file mode 100644
index 6073936e17bd1..0000000000000
--- a/contrib/file/Magdir/amigaos
+++ /dev/null
@@ -1,10 +0,0 @@
-#------------------------------------------------------------------------------
-# amigaos: file(1) magic for AmigaOS binary formats:
-
-#
-# From ignatios@cs.uni-bonn.de (Ignatios Souvatzis)
-# Some formats are still missing: AmigaOS special IFF's, e.g.: FORM....CTLG
-# (the others should be seperate, anyway)
-#
-0 belong 0x000003f3 AmigaOS loadseg()ble executable/binary
-0 belong 0x000003e7 AmigaOS object/library data
diff --git a/contrib/file/Magdir/animation b/contrib/file/Magdir/animation
deleted file mode 100644
index de0bf518286d3..0000000000000
--- a/contrib/file/Magdir/animation
+++ /dev/null
@@ -1,142 +0,0 @@
-
-#------------------------------------------------------------------------------
-# animation: file(1) magic for animation/movie formats
-#
-# animation formats
-# MPEG, FLI, DL originally from vax@ccwf.cc.utexas.edu (VaX#n8)
-# FLC, SGI, Apple originally from Daniel Quinlan (quinlan@yggdrasil.com)
-
-# MPEG animation format
-0 belong 0x000001b3 MPEG video stream data
-#>4 beshort&0xfff0 x (%d x
-#>5 beshort&0x0fff x %d)
-0 belong 0x000001ba MPEG system stream data
-
-# MPEG Audio (*.mpx)
-# from dreesen@math.fu-berlin.de
-
-# XXX
-# This conflicts with the FF FE signature for UTF-16-encoded Unicode
-# text, which will be identified as an MP3 file. I don't have any MP3s
-# so I don't know how to (or even if it's possible to) change this to
-# tell the two apart. enf@pobox.com
-
-0 beshort &0xfff0 MP
-# MPEG 1.0
->1 byte&0x08 =0x08 \b
-# Layer 3
->>1 byte &0x02 \b3
->>>2 byte&0xf0 =0x10 \b, 32 kBits
->>>2 byte&0xf0 =0x20 \b, 40 kBits
->>>2 byte&0xf0 =0x30 \b, 48 kBits
->>>2 byte&0xf0 =0x40 \b, 56 kBits
->>>2 byte&0xf0 =0x50 \b, 64 kBits
->>>2 byte&0xf0 =0x60 \b, 80 kBits
->>>2 byte&0xf0 =0x70 \b, 96 kBits
->>>2 byte&0xf0 =0x80 \b, 112 kBits
->>>2 byte&0xf0 =0x90 \b, 128 kBits
->>>2 byte&0xf0 =0xA0 \b, 160 kBits
->>>2 byte&0xf0 =0xB0 \b, 192 kBits
->>>2 byte&0xf0 =0xC0 \b, 224 kBits
->>>2 byte&0xf0 =0xD0 \b, 256 kBits
->>>2 byte&0xf0 =0xE0 \b, 320 kBits
-# Layer 2
->>1 byte &0x04 \b2
->>>2 byte&0xf0 =0x10 \b, 32 kBits
->>>2 byte&0xf0 =0x20 \b, 48 kBits
->>>2 byte&0xf0 =0x30 \b, 56 kBits
->>>2 byte&0xf0 =0x40 \b, 64 kBits
->>>2 byte&0xf0 =0x50 \b, 80 kBits
->>>2 byte&0xf0 =0x60 \b, 96 kBits
->>>2 byte&0xf0 =0x70 \b, 112 kBits
->>>2 byte&0xf0 =0x80 \b, 128 kBits
->>>2 byte&0xf0 =0x90 \b, 160 kBits
->>>2 byte&0xf0 =0xA0 \b, 192 kBits
->>>2 byte&0xf0 =0xB0 \b, 224 kBits
->>>2 byte&0xf0 =0xC0 \b, 256 kBits
->>>2 byte&0xf0 =0xD0 \b, 320 kBits
->>>2 byte&0xf0 =0xE0 \b, 384 kBits
-# freq
->>2 byte&0x0C =0x00 \b, 44.1 kHz
->>2 byte&0x0C =0x04 \b, 48 kHz
->>2 byte&0x0C =0x08 \b, 32 kHz
-# MPEG 2.0
->1 byte&0x08 =0x00 \b
-# Layer 3
->>1 byte &0x02 \b3
-# Layer 2
->>1 byte &0x04 \b2
->>2 byte&0xf0 =0x10 \b, 8 kBits
->>2 byte&0xf0 =0x20 \b, 16 kBits
->>2 byte&0xf0 =0x30 \b, 24 kBits
->>2 byte&0xf0 =0x40 \b, 32 kBits
->>2 byte&0xf0 =0x50 \b, 40 kBits
->>2 byte&0xf0 =0x60 \b, 48 kBits
->>2 byte&0xf0 =0x70 \b, 56 kBits
->>2 byte&0xf0 =0x80 \b, 64 kBits
->>2 byte&0xf0 =0x90 \b, 80 kBits
->>2 byte&0xf0 =0xA0 \b, 96 kBits
->>2 byte&0xf0 =0xB0 \b, 112 kBits
->>2 byte&0xf0 =0xC0 \b, 128 kBits
->>2 byte&0xf0 =0xD0 \b, 144 kBits
->>2 byte&0xf0 =0xE0 \b, 160 kBits
-# freq
->>2 byte&0x0C =0x00 \b, 22.05 kHz
->>2 byte&0x0C =0x04 \b, 24 kHz
->>2 byte&0x0C =0x08 \b, 16 kHz
-# misc
->3 byte&0xC0 =0x00 \b, Stereo
->3 byte&0xC0 =0x40 \b, JStereo
->3 byte&0xC0 =0x80 \b, Dual-Ch
->3 byte&0xC0 =0xC0 \b, Mono
-#>1 byte&0x01 =0x00 \b, Error Protection
-#>2 byte&0x02 =0x02 \b, Padding
-#>2 byte&0x01 =0x01 \b, Private
-#>3 byte&0x08 =0x08 \b, Copyright
-#>3 byte&0x04 =0x04 \b, Original
-#>3 byte&0x03 1 \b, Emphasis 5
-#>3 byte&0x03 3 \b, Emphasis c
-
-# FLI animation format
-4 leshort 0xAF11 FLI file
->6 leshort x - %d frames,
->8 leshort x width=%d pixels,
->10 leshort x height=%d pixels,
->12 leshort x depth=%d,
->16 leshort x ticks/frame=%d
-# FLC animation format
-4 leshort 0xAF12 FLC file
->6 leshort x - %d frames
->8 leshort x width=%d pixels,
->10 leshort x height=%d pixels,
->12 leshort x depth=%d,
->16 leshort x ticks/frame=%d
-
-# DL animation format
-# XXX - collision with most `mips' magic
-#
-# I couldn't find a real magic number for these, however, this
-# -appears- to work. Note that it might catch other files, too, so be
-# careful!
-#
-# Note that title and author appear in the two 20-byte chunks
-# at decimal offsets 2 and 22, respectively, but they are XOR'ed with
-# 255 (hex FF)! The DL format is really bad.
-#
-#0 byte 1 DL version 1, medium format (160x100, 4 images/screen)
-#>42 byte x - %d screens,
-#>43 byte x %d commands
-#0 byte 2 DL version 2
-#>1 byte 1 - large format (320x200,1 image/screen),
-#>1 byte 2 - medium format (160x100,4 images/screen),
-#>1 byte >2 - unknown format,
-#>42 byte x %d screens,
-#>43 byte x %d commands
-# Based on empirical evidence, DL version 3 have several nulls following the
-# \003. Most of them start with non-null values at hex offset 0x34 or so.
-#0 string \3\0\0\0\0\0\0\0\0\0\0\0 DL version 3
-
-# SGI and Apple formats
-0 string MOVI Silicon Graphics movie file
-4 string moov Apple QuickTime movie file (moov)
-4 string mdat Apple QuickTime movie file (mdat)
diff --git a/contrib/file/Magdir/apl b/contrib/file/Magdir/apl
deleted file mode 100644
index 040043191938d..0000000000000
--- a/contrib/file/Magdir/apl
+++ /dev/null
@@ -1,6 +0,0 @@
-
-#------------------------------------------------------------------------------
-# apl: file(1) magic for APL (see also "pdp" and "vax" for other APL
-# workspaces)
-#
-0 long 0100554 APL workspace (Ken's original?)
diff --git a/contrib/file/Magdir/apple b/contrib/file/Magdir/apple
deleted file mode 100644
index 35dd435727d8b..0000000000000
--- a/contrib/file/Magdir/apple
+++ /dev/null
@@ -1,116 +0,0 @@
-
-#------------------------------------------------------------------------------
-# apple: file(1) magic for Apple file formats
-#
-0 string FiLeStArTfIlEsTaRt binscii (apple ][) text
-0 string \x0aGL Binary II (apple ][) data
-0 string \x76\xff Squeezed (apple ][) data
-0 string NuFile NuFile archive (apple ][) data
-0 string N\xf5F\xe9l\xe5 NuFile archive (apple ][) data
-0 belong 0x00051600 AppleSingle encoded Macintosh file
-0 belong 0x00051607 AppleDouble encoded Macintosh file
-
-# magic for Newton PDA package formats
-# from Ruda Moura <ruda@helllabs.org>
-0 string package Newton package,
->7 byte 48 NOS 1.x,
->7 byte 49 NOS 2.x,
->12 belong &0x80000000 AutoRemove,
->12 belong &0x40000000 CopyProtect,
->12 belong &0x10000000 NoCompression,
->12 belong &0x04000000 Relocation,
->12 belong &0x02000000 UseFasterCompression,
->16 belong x version %d
-
-# The following entries for the Apple II are for files that have
-# been transferred as raw binary data from an Apple, without having
-# been encapsulated by any of the above archivers.
-#
-# In general, Apple II formats are hard to identify because Apple DOS
-# and especially Apple ProDOS have strong typing in the file system and
-# therefore programmers never felt much need to include type information
-# in the files themselves.
-#
-# Eric Fischer <enf@pobox.com>
-
-# AppleWorks word processor:
-#
-# This matches the standard tab stops for an AppleWorks file, but if
-# a file has a tab stop set in the first four columns this will fail.
-#
-# The "O" is really the magic number, but that's so common that it's
-# necessary to check the tab stops that follow it to avoid false positives.
-
-4 string O==== AppleWorks word processor data
->85 byte&0x01 >0 \b, zoomed
->90 byte&0x01 >0 \b, paginated
->92 byte&0x01 >0 \b, with mail merge
-#>91 byte x \b, left margin %d
-
-# AppleWorks database:
-#
-# This isn't really a magic number, but it's the closest thing to one
-# that I could find. The 1 and 2 really mean "order in which you defined
-# categories" and "left to right, top to bottom," respectively; the D and R
-# mean that the cursor should move either down or right when you press Return.
-
-30 string \x01D AppleWorks database data
-30 string \x02D AppleWorks database data
-30 string \x01R AppleWorks database data
-30 string \x02R AppleWorks database data
-
-# AppleWorks spreadsheet:
-#
-# Likewise, this isn't really meant as a magic number. The R or C means
-# row- or column-order recalculation; the A or M means automatic or manual
-# recalculation.
-
-131 string RA AppleWorks spreadsheet data
-131 string RM AppleWorks spreadsheet data
-131 string CA AppleWorks spreadsheet data
-131 string CM AppleWorks spreadsheet data
-
-# Applesoft BASIC:
-#
-# This is incredibly sloppy, but will be true if the program was
-# written at its usual memory location of 2048 and its first line
-# number is less than 256. Yuck.
-
-0 belong&0xff00ff 0x80000 Applesoft BASIC program data
-#>2 leshort x \b, first line number %d
-
-# ORCA/EZ assembler:
-#
-# This will not identify ORCA/M source files, since those have
-# some sort of date code instead of the two zero bytes at 6 and 7
-# XXX Conflicts with ELF
-#4 belong&0xff00ffff 0x01000000 ORCA/EZ assembler source data
-#>5 byte x \b, build number %d
-
-# Broderbund Fantavision
-#
-# I don't know what these values really mean, but they seem to recur.
-# Will they cause too many conflicts?
-
-# Probably :-)
-#2 belong&0xFF00FF 0x040008 Fantavision movie data
-
-# Some attempts at images.
-#
-# These are actually just bit-for-bit dumps of the frame buffer, so
-# there's really no reasonably way to distinguish them except for their
-# address (if preserved) -- 8192 or 16384 -- and their length -- 8192
-# or, occasionally, 8184.
-#
-# Nevertheless this will manage to catch a lot of images that happen
-# to have a solid-colored line at the bottom of the screen.
-
-8144 string \x7F\x7F\x7F\x7F\x7F\x7F\x7F\x7F Apple II image with white background
-8144 string \x55\x2A\x55\x2A\x55\x2A\x55\x2A Apple II image with purple background
-8144 string \x2A\x55\x2A\x55\x2A\x55\x2A\x55 Apple II image with green background
-8144 string \xD5\xAA\xD5\xAA\xD5\xAA\xD5\xAA Apple II image with blue background
-8144 string \xAA\xD5\xAA\xD5\xAA\xD5\xAA\xD5 Apple II image with orange background
-
-# Beagle Bros. Apple Mechanic fonts
-
-0 belong&0xFF00FFFF 0x6400D000 Apple Mechanic font
diff --git a/contrib/file/Magdir/applix b/contrib/file/Magdir/applix
deleted file mode 100644
index 9d348d1524509..0000000000000
--- a/contrib/file/Magdir/applix
+++ /dev/null
@@ -1,12 +0,0 @@
-
-#------------------------------------------------------------------------------
-# applix: file(1) magic for Applixware
-# From: Peter Soos <sp@osb.hu>
-#
-0 string *BEGIN Applixware
->7 string WORDS Words Document
->7 string GRAPHICS Graphic
->7 string RASTER Bitmap
->7 string SPREADSHEETS Spreadsheet
->7 string MACRO Macro
->7 string BUILDER Builder Object
diff --git a/contrib/file/Magdir/archive b/contrib/file/Magdir/archive
deleted file mode 100644
index 2c663d6f99a14..0000000000000
--- a/contrib/file/Magdir/archive
+++ /dev/null
@@ -1,236 +0,0 @@
-
-#------------------------------------------------------------------------------
-# archive: file(1) magic for archive formats (see also "msdos" for self-
-# extracting compressed archives)
-#
-# cpio, ar, arc, arj, hpack, lha/lharc, rar, squish, uc2, zip, zoo, etc.
-# pre-POSIX "tar" archives are handled in the C code.
-
-# POSIX tar archives
-257 string ustar\0 POSIX tar archive
-257 string ustar\040\040\0 GNU tar archive
-
-# cpio archives
-#
-# Yes, the top two "cpio archive" formats *are* supposed to just be "short".
-# The idea is to indicate archives produced on machines with the same
-# byte order as the machine running "file" with "cpio archive", and
-# to indicate archives produced on machines with the opposite byte order
-# from the machine running "file" with "byte-swapped cpio archive".
-#
-# The SVR4 "cpio(4)" hints that there are additional formats, but they
-# are defined as "short"s; I think all the new formats are
-# character-header formats and thus are strings, not numbers.
-0 short 070707 cpio archive
-0 short 0143561 byte-swapped cpio archive
-0 string 070707 ASCII cpio archive (pre-SVR4 or odc)
-0 string 070701 ASCII cpio archive (SVR4 with no CRC)
-0 string 070702 ASCII cpio archive (SVR4 with CRC)
-
-# Debian package (needs to go before regular portable archives)
-#
-0 string !<arch>\ndebian
->8 string debian-split part of multipart Debian package
->8 string debian-binary Debian binary package
->68 string >\n (format %s)
->136 ledate x created: %s
-
-# other archives
-0 long 0177555 very old archive
-0 short 0177555 very old PDP-11 archive
-0 long 0177545 old archive
-0 short 0177545 old PDP-11 archive
-0 long 0100554 apl workspace
-0 string =<ar> archive
-
-# MIPS archive (needs to go before regular portable archives)
-#
-0 string !<arch>\n__________E MIPS archive
->20 string U with MIPS Ucode members
->21 string L with MIPSEL members
->21 string B with MIPSEB members
->19 string L and an EL hash table
->19 string B and an EB hash table
->22 string X -- out of date
-
-0 string -h- Software Tools format archive text
-
-#
-# XXX - why are there multiple <ar> thingies? Note that 0x213c6172 is
-# "!<ar", so, for new-style (4.xBSD/SVR2andup) archives, we have:
-#
-# 0 string !<arch> current ar archive
-# 0 long 0x213c6172 archive file
-#
-# and for SVR1 archives, we have:
-#
-# 0 string \<ar> System V Release 1 ar archive
-# 0 string =<ar> archive
-#
-# XXX - did Aegis really store shared libraries, breakpointed modules,
-# and absolute code program modules in the same format as new-style
-# "ar" archives?
-#
-0 string !<arch> current ar archive
->8 string __.SYMDEF random library
->0 belong =65538 - pre SR9.5
->0 belong =65539 - post SR9.5
->0 beshort 2 - object archive
->0 beshort 3 - shared library module
->0 beshort 4 - debug break-pointed module
->0 beshort 5 - absolute code program module
-0 string \<ar> System V Release 1 ar archive
-0 string =<ar> archive
-#
-# XXX - from "vax", which appears to collect a bunch of byte-swapped
-# thingies, to help you recognize VAX files on big-endian machines;
-# with "leshort", "lelong", and "string", that's no longer necessary....
-#
-0 belong 0x65ff0000 VAX 3.0 archive
-0 belong 0x3c61723e VAX 5.0 archive
-#
-0 long 0x213c6172 archive file
-0 lelong 0177555 very old VAX archive
-0 leshort 0177555 very old PDP-11 archive
-#
-# XXX - "pdp" claims that 0177545 can have an __.SYMDEF member and thus
-# be a random library (it said 0xff65 rather than 0177545).
-#
-0 lelong 0177545 old VAX archive
->8 string __.SYMDEF random library
-0 leshort 0177545 old PDP-11 archive
->8 string __.SYMDEF random library
-#
-# From "pdp" (but why a 4-byte quantity?)
-#
-0 lelong 0x39bed PDP-11 old archive
-0 lelong 0x39bee PDP-11 4.0 archive
-
-# ARC archiver, from Daniel Quinlan (quinlan@yggdrasil.com)
-#
-# The first byte is the magic (0x1a), byte 2 is the compression type for
-# the first file (0x01 through 0x09), and bytes 3 to 15 are the MS-DOS
-# filename of the first file (null terminated). Since some types collide
-# we only test some types on basis of frequency: 0x08 (83%), 0x09 (5%),
-# 0x02 (5%), 0x03 (3%), 0x04 (2%), 0x06 (2%). 0x01 collides with terminfo.
-0 lelong&0x8080ffff 0x0000081a ARC archive data, dynamic LZW
-0 lelong&0x8080ffff 0x0000091a ARC archive data, squashed
-0 lelong&0x8080ffff 0x0000021a ARC archive data, uncompressed
-0 lelong&0x8080ffff 0x0000031a ARC archive data, packed
-0 lelong&0x8080ffff 0x0000041a ARC archive data, squeezed
-0 lelong&0x8080ffff 0x0000061a ARC archive data, crunched
-
-# Acorn archive formats (Disaster prone simpleton, m91dps@ecs.ox.ac.uk)
-# I can't create either SPARK or ArcFS archives so I have not tested this stuff
-# [GRR: the original entries collide with ARC, above; replaced with combined
-# version (not tested)]
-#0 byte 0x1a RISC OS archive
-#>1 string archive (ArcFS format)
-0 string \032archive RISC OS archive (ArcFS format)
-
-# ARJ archiver (jason@jarthur.Claremont.EDU)
-0 leshort 0xea60 ARJ archive data
->5 byte x \b, v%d,
->8 byte &0x04 multi-volume,
->8 byte &0x10 slash-switched,
->8 byte &0x20 backup,
->34 string x original name: %s,
->7 byte 0 os: MS-DOS
->7 byte 1 os: PRIMOS
->7 byte 2 os: Unix
->7 byte 3 os: Amiga
->7 byte 4 os: Macintosh
->7 byte 5 os: OS/2
->7 byte 6 os: Apple ][ GS
->7 byte 7 os: Atari ST
->7 byte 8 os: NeXT
->7 byte 9 os: VAX/VMS
->3 byte >0 %d]
-
-# HA archiver (Greg Roelofs, newt@uchicago.edu)
-# This is a really bad format. A file containing HAWAII will match this...
-#0 string HA HA archive data,
-#>2 leshort =1 1 file,
-#>2 leshort >1 %u files,
-#>4 byte&0x0f =0 first is type CPY
-#>4 byte&0x0f =1 first is type ASC
-#>4 byte&0x0f =2 first is type HSC
-#>4 byte&0x0f =0x0e first is type DIR
-#>4 byte&0x0f =0x0f first is type SPECIAL
-
-# HPACK archiver (Peter Gutmann, pgut1@cs.aukuni.ac.nz)
-0 string HPAK HPACK archive data
-
-# JAM Archive volume format, by Dmitry.Kohmanyuk@UA.net
-0 string \351,\001JAM\ JAM archive,
->7 string >\0 version %.4s
->0x26 byte =0x27 -
->>0x2b string >\0 label %.11s,
->>0x27 lelong x serial %08x,
->>0x36 string >\0 fstype %.8s
-
-# LHARC/LHA archiver (Greg Roelofs, newt@uchicago.edu)
-2 string -lh0- LHarc 1.x archive data [lh0]
-2 string -lh1- LHarc 1.x archive data [lh1]
-2 string -lz4- LHarc 1.x archive data [lz4]
-2 string -lz5- LHarc 1.x archive data [lz5]
-# [never seen any but the last; -lh4- reported in comp.compression:]
-2 string -lzs- LHa 2.x? archive data [lzs]
-2 string -lh\40- LHa 2.x? archive data [lh ]
-2 string -lhd- LHa 2.x? archive data [lhd]
-2 string -lh2- LHa 2.x? archive data [lh2]
-2 string -lh3- LHa 2.x? archive data [lh3]
-2 string -lh4- LHa (2.x) archive data [lh4]
-2 string -lh5- LHa (2.x) archive data [lh5]
->20 byte x - header level %d
-
-# RAR archiver (Greg Roelofs, newt@uchicago.edu)
-0 string Rar! RAR archive data
-
-# SQUISH archiver (Greg Roelofs, newt@uchicago.edu)
-0 string SQSH squished archive data (Acorn RISCOS)
-
-# UC2 archiver (Greg Roelofs, newt@uchicago.edu)
-# I can't figure out the self-extracting form of these buggers...
-0 string UC2\x1a UC2 archive data
-
-# ZIP archives (Greg Roelofs, c/o zip-bugs@wkuvx1.wku.edu)
-0 string PK\003\004 Zip archive data
->4 byte 0x09 \b, at least v0.9 to extract
->4 byte 0x0a \b, at least v1.0 to extract
->4 byte 0x0b \b, at least v1.1 to extract
->4 byte 0x14 \b, at least v2.0 to extract
-
-# Zoo archiver
-20 lelong 0xfdc4a7dc Zoo archive data
->4 byte >48 \b, v%c.
->>6 byte >47 \b%c
->>>7 byte >47 \b%c
->32 byte >0 \b, modify: v%d
->>33 byte x \b.%d+
->42 lelong 0xfdc4a7dc \b,
->>70 byte >0 extract: v%d
->>>71 byte x \b.%d+
-
-# Shell archives
-10 string #\ This\ is\ a\ shell\ archive shell archive text
-
-#
-# LBR. NB: May conflict with the questionable
-# "binary Computer Graphics Metafile" format.
-#
-0 string \0\ \ \ \ \ \ \ \ \ \ \ \0\0 LBR archive data
-#
-# PMA (CP/M derivative of LHA)
-#
-2 string -pm0- PMarc archive data [pm0]
-2 string -pm1- PMarc archive data [pm1]
-2 string -pm2- PMarc archive data [pm2]
-2 string -pms- PMarc SFX archive (CP/M, DOS)
-5 string -pc1- PopCom compressed executable (CP/M)
-
-# From rafael@icp.inpg.fr (Rafael Laboissiere)
-# The Project Revision Control System (see
-# http://www.XCF.Berkeley.EDU/~jmacd/prcs.html) generates a packaged project
-# file which is recognized by the following entry:
-0 leshort 0xeb81 PRCS packaged project
diff --git a/contrib/file/Magdir/asterix b/contrib/file/Magdir/asterix
deleted file mode 100644
index d89504a2407f9..0000000000000
--- a/contrib/file/Magdir/asterix
+++ /dev/null
@@ -1,17 +0,0 @@
-
-#------------------------------------------------------------------------------
-# asterix: file(1) magic for Aster*x; SunOS 5.5.1 gave the 4-character
-# strings as "long" - we assume they're just strings:
-# From: guy@netapp.com (Guy Harris)
-#
-0 string *STA Aster*x
->7 string WORD Words Document
->7 string GRAP Graphic
->7 string SPRE Spreadsheet
->7 string MACR Macro
-0 string 2278 Aster*x Version 2
->29 byte 0x36 Words Document
->29 byte 0x35 Graphic
->29 byte 0x32 Spreadsheet
->29 byte 0x38 Macro
-
diff --git a/contrib/file/Magdir/att3b b/contrib/file/Magdir/att3b
deleted file mode 100644
index 884ad4aa43323..0000000000000
--- a/contrib/file/Magdir/att3b
+++ /dev/null
@@ -1,40 +0,0 @@
-
-#------------------------------------------------------------------------------
-# att3b: file(1) magic for AT&T 3B machines
-#
-# The `versions' should be un-commented if they work for you.
-# (Was the problem just one of endianness?)
-#
-# 3B20
-#
-# The 3B20 conflicts with SCCS.
-#0 beshort 0550 3b20 COFF executable
-#>12 belong >0 not stripped
-#>22 beshort >0 - version %ld
-#0 beshort 0551 3b20 COFF executable (TV)
-#>12 belong >0 not stripped
-#>22 beshort >0 - version %ld
-#
-# WE32K
-#
-0 beshort 0560 WE32000 COFF
->18 beshort ^00000020 object
->18 beshort &00000020 executable
->12 belong >0 not stripped
->18 beshort ^00010000 N/A on 3b2/300 w/paging
->18 beshort &00020000 32100 required
->18 beshort &00040000 and MAU hardware required
->20 beshort 0407 (impure)
->20 beshort 0410 (pure)
->20 beshort 0413 (demand paged)
->20 beshort 0443 (target shared library)
->22 beshort >0 - version %ld
-0 beshort 0561 WE32000 COFF executable (TV)
->12 belong >0 not stripped
-#>18 beshort &00020000 - 32100 required
-#>18 beshort &00040000 and MAU hardware required
-#>22 beshort >0 - version %ld
-#
-# core file for 3b2
-0 string \000\004\036\212\200 3b2 core file
->364 string >\0 of '%s'
diff --git a/contrib/file/Magdir/blender b/contrib/file/Magdir/blender
deleted file mode 100644
index 01d4e54f3ee72..0000000000000
--- a/contrib/file/Magdir/blender
+++ /dev/null
@@ -1,17 +0,0 @@
-#------------------------------------------------------------------------------
-# blender: file(1) magic for Blender 3D data files
-#
-# Coded by Guillermo S. Romero <gsromero@alumnos.euitt.upm.es> using the
-# data from Ton Roosendaal <ton@blender.nl>. Ton or his company do not
-# support the rule, so mail GSR if problems with it. Rule version: 1.1.
-# You can get latest version with comments and details about the format
-# at http://acd.asoc.euitt.upm.es/~gsromero/3d/blender/magic.blender
-
-0 string =BLENDER Blender3D,
->7 string =_ saved as 32-bits
->7 string =- saved as 64-bits
->8 string =v little endian
->8 string =V big endian
->9 byte x with version %c.
->10 byte x \b%c
->11 byte x \b%c
diff --git a/contrib/file/Magdir/blit b/contrib/file/Magdir/blit
deleted file mode 100644
index 7a470ed4a6692..0000000000000
--- a/contrib/file/Magdir/blit
+++ /dev/null
@@ -1,19 +0,0 @@
-
-#------------------------------------------------------------------------------
-# blit: file(1) magic for 68K Blit stuff as seen from 680x0 machine
-#
-# Note that this 0407 conflicts with several other a.out formats...
-#
-# XXX - should this be redone with "be" and "le", so that it works on
-# little-endian machines as well? If so, what's the deal with
-# "VAX-order" and "VAX-order2"?
-#
-#0 long 0407 68K Blit (standalone) executable
-#0 short 0407 VAX-order2 68K Blit (standalone) executable
-0 short 03401 VAX-order 68K Blit (standalone) executable
-0 long 0406 68k Blit mpx/mux executable
-0 short 0406 VAX-order2 68k Blit mpx/mux executable
-0 short 03001 VAX-order 68k Blit mpx/mux executable
-# Need more values for WE32 DMD executables.
-# Note that 0520 is the same as COFF
-#0 short 0520 tty630 layers executable
diff --git a/contrib/file/Magdir/bsdi b/contrib/file/Magdir/bsdi
deleted file mode 100644
index ad547599ba83d..0000000000000
--- a/contrib/file/Magdir/bsdi
+++ /dev/null
@@ -1,41 +0,0 @@
-#------------------------------------------------------------------------------
-# bsdi: file(1) magic for BSD/OS (from BSDI) objects
-#
-
-0 lelong 0314 386 compact demand paged pure executable
->16 lelong >0 not stripped
->32 byte 0x6a (uses shared libs)
-
-0 lelong 0407 386 executable
->16 lelong >0 not stripped
->32 byte 0x6a (uses shared libs)
-
-0 lelong 0410 386 pure executable
->16 lelong >0 not stripped
->32 byte 0x6a (uses shared libs)
-
-0 lelong 0413 386 demand paged pure executable
->16 lelong >0 not stripped
->32 byte 0x6a (uses shared libs)
-
-# same as in SunOS 4.x, except for static shared libraries
-0 belong&077777777 0600413 sparc demand paged
->0 byte &0x80
->>20 belong <4096 shared library
->>20 belong =4096 dynamically linked executable
->>20 belong >4096 dynamically linked executable
->0 byte ^0x80 executable
->16 belong >0 not stripped
->36 belong 0xb4100001 (uses shared libs)
-
-0 belong&077777777 0600410 sparc pure
->0 byte &0x80 dynamically linked executable
->0 byte ^0x80 executable
->16 belong >0 not stripped
->36 belong 0xb4100001 (uses shared libs)
-
-0 belong&077777777 0600407 sparc
->0 byte &0x80 dynamically linked executable
->0 byte ^0x80 executable
->16 belong >0 not stripped
->36 belong 0xb4100001 (uses shared libs)
diff --git a/contrib/file/Magdir/c-lang b/contrib/file/Magdir/c-lang
deleted file mode 100644
index 1b0147595b7dc..0000000000000
--- a/contrib/file/Magdir/c-lang
+++ /dev/null
@@ -1,13 +0,0 @@
-
-#------------------------------------------------------------------------------
-# c-lang: file(1) magic for C programs (or REXX)
-#
-
-# XPM icons (Greg Roelofs, newt@uchicago.edu)
-# if you uncomment "/*" for C/REXX below, also uncomment this entry
-#0 string /*\ XPM\ */ X pixmap image data
-
-# this first will upset you if you're a PL/1 shop...
-# in which case rm it; ascmagic will catch real C programs
-#0 string /* C or REXX program text
-0 string // C++ program text
diff --git a/contrib/file/Magdir/chi b/contrib/file/Magdir/chi
deleted file mode 100644
index ee450f5558815..0000000000000
--- a/contrib/file/Magdir/chi
+++ /dev/null
@@ -1,7 +0,0 @@
-
-#------------------------------------------------------------------------------
-# chi: file(1) magic for ChiWriter files
-#
-0 string \\1cw\ ChiWriter file
->5 string >\0 version %s
-0 string \\1cw ChiWriter file
diff --git a/contrib/file/Magdir/cisco b/contrib/file/Magdir/cisco
deleted file mode 100644
index 77e3efb5e39d7..0000000000000
--- a/contrib/file/Magdir/cisco
+++ /dev/null
@@ -1,10 +0,0 @@
-#------------------------------------------------------------------------------
-# cisco: file(1) magic for cisco Systems routers
-#
-# Most cisco file-formats are covered by the generic elf code
-#
-# Microcode files are non-ELF, 0x8501 conflicts with NetBSD/alpha.
-0 belong&0xffffff00 0x85011400 cisco IOS microcode
->7 string >\0 for '%s'
-0 belong&0xffffff00 0x8501cb00 cisco IOS experimental microcode
->7 string >\0 for '%s'
diff --git a/contrib/file/Magdir/claris b/contrib/file/Magdir/claris
deleted file mode 100644
index b18bd915d5ed6..0000000000000
--- a/contrib/file/Magdir/claris
+++ /dev/null
@@ -1,46 +0,0 @@
-
-#------------------------------------------------------------------------------
-# claris: file(1) magic for claris
-# "H. Nanosecond" <aldomel@ix.netcom.com>
-# Claris Works a word processor, etc.
-# Version 3.0
-
-# .pct claris works clip art files
-#0000000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000 000
-#*
-#0001000 #010 250 377 377 377 377 000 213 000 230 000 021 002 377 014 000
-#null to byte 1000 octal
-514 string \377\377\377\377\000 Claris clip art?
->0 string \0\0\0\0\0\0\0\0\0\0\0\0\0 yes.
-514 string \377\377\377\377\001 Claris clip art?
->0 string \0\0\0\0\0\0\0\0\0\0\0\0\0 yes.
-
-# Claris works files
-# .cwk
-0 string \002\000\210\003\102\117\102\117\000\001\206 Claris works document
-# .plt
-0 string \020\341\000\000\010\010 Claris Works pallete files .plt
-
-# .msp a dictionary file I am not sure about this I have only one .msp file
-0 string \002\271\262\000\040\002\000\164 Claris works dictionary
-
-# .usp are user dictionary bits
-# I am not sure about a magic header:
-#0000000 001 123 160 146 070 125 104 040 136 123 015 012 160 157 144 151
-# soh S p f 8 U D sp ^ S cr nl p o d i
-#0000020 141 164 162 151 163 164 040 136 123 015 012 144 151 166 040 043
-# a t r i s t sp ^ S cr nl d i v sp #
-
-# .mth Thesaurus
-# statrts with \0 but no magic header
-
-# .chy Hyphenation file
-# I am not sure: 000 210 034 000 000
-
-# other claris files
-#./windows/claris/useng.ndx: data
-#./windows/claris/xtndtran.l32: data
-#./windows/claris/xtndtran.lst: data
-#./windows/claris/clworks.lbl: data
-#./windows/claris/clworks.prf: data
-#./windows/claris/userd.spl: data
diff --git a/contrib/file/Magdir/clipper b/contrib/file/Magdir/clipper
deleted file mode 100644
index c325cb8f7c7de..0000000000000
--- a/contrib/file/Magdir/clipper
+++ /dev/null
@@ -1,64 +0,0 @@
-
-#------------------------------------------------------------------------------
-# clipper: file(1) magic for Intergraph (formerly Fairchild) Clipper.
-#
-# XXX - what byte order does the Clipper use?
-#
-# XXX - what's the "!" stuff:
-#
-# >18 short !074000,000000 C1 R1
-# >18 short !074000,004000 C2 R1
-# >18 short !074000,010000 C3 R1
-# >18 short !074000,074000 TEST
-#
-# I shall assume it's ANDing the field with the first value and
-# comparing it with the second, and rewrite it as:
-#
-# >18 short&074000 000000 C1 R1
-# >18 short&074000 004000 C2 R1
-# >18 short&074000 010000 C3 R1
-# >18 short&074000 074000 TEST
-#
-# as SVR3.1's "file" doesn't support anything of the "!074000,000000"
-# sort, nor does SunOS 4.x, so either it's something Intergraph added
-# in CLIX, or something AT&T added in SVR3.2 or later, or something
-# somebody else thought was a good idea; it's not documented in the
-# man page for this version of "magic", nor does it appear to be
-# implemented (at least not after I blew off the bogus code to turn
-# old-style "&"s into new-style "&"s, which just didn't work at all).
-#
-0 short 0575 CLIPPER COFF executable (VAX #)
->20 short 0407 (impure)
->20 short 0410 (5.2 compatible)
->20 short 0411 (pure)
->20 short 0413 (demand paged)
->20 short 0443 (target shared library)
->12 long >0 not stripped
->22 short >0 - version %ld
-0 short 0577 CLIPPER COFF executable
->18 short&074000 000000 C1 R1
->18 short&074000 004000 C2 R1
->18 short&074000 010000 C3 R1
->18 short&074000 074000 TEST
->20 short 0407 (impure)
->20 short 0410 (pure)
->20 short 0411 (separate I&D)
->20 short 0413 (paged)
->20 short 0443 (target shared library)
->12 long >0 not stripped
->22 short >0 - version %ld
->48 long&01 01 alignment trap enabled
->52 byte 1 -Ctnc
->52 byte 2 -Ctsw
->52 byte 3 -Ctpw
->52 byte 4 -Ctcb
->53 byte 1 -Cdnc
->53 byte 2 -Cdsw
->53 byte 3 -Cdpw
->53 byte 4 -Cdcb
->54 byte 1 -Csnc
->54 byte 2 -Cssw
->54 byte 3 -Cspw
->54 byte 4 -Cscb
-4 string pipe CLIPPER instruction trace
-4 string prof CLIPPER instruction profile
diff --git a/contrib/file/Magdir/commands b/contrib/file/Magdir/commands
deleted file mode 100644
index 16308aa67f4f3..0000000000000
--- a/contrib/file/Magdir/commands
+++ /dev/null
@@ -1,62 +0,0 @@
-
-#------------------------------------------------------------------------------
-# commands: file(1) magic for various shells and interpreters
-#
-0 string :\ shell archive or script for antique kernel text
-0 string/b #!\ /bin/sh Bourne shell script text executable
-0 string/b #!\ /bin/csh C shell script text executable
-# korn shell magic, sent by George Wu, gwu@clyde.att.com
-0 string/b #!\ /bin/ksh Korn shell script text executable
-0 string/b #!\ /bin/tcsh Tenex C shell script text executable
-0 string/b #!\ /usr/local/tcsh Tenex C shell script text executable
-0 string/b #!\ /usr/local/bin/tcsh Tenex C shell script text executable
-
-#
-# zsh/ash/ae/nawk/gawk magic from cameron@cs.unsw.oz.au (Cameron Simpson)
-0 string/b #!\ /usr/local/bin/zsh Paul Falstad's zsh script text executable
-0 string/b #!\ /usr/local/bin/ash Neil Brown's ash script text executable
-0 string/b #!\ /usr/local/bin/ae Neil Brown's ae script text executable
-0 string/b #!\ /bin/nawk new awk script text executable
-0 string/b #!\ /usr/bin/nawk new awk script text executable
-0 string/b #!\ /usr/local/bin/nawk new awk script text executable
-0 string/b #!\ /bin/gawk GNU awk script text executable
-0 string/b #!\ /usr/bin/gawk GNU awk script text executable
-0 string/b #!\ /usr/local/bin/gawk GNU awk script text executable
-#
-0 string/b #!\ /bin/awk awk script text executable
-0 string/b #!\ /usr/bin/awk awk script text executable
-0 string BEGIN awk script text
-
-# For Larry Wall's perl language. The ``eval'' line recognizes an
-# outrageously clever hack for USG systems.
-# Keith Waclena <keith@cerberus.uchicago.edu>
-0 string/b #!\ /bin/perl perl script text executable
-0 string eval\ "exec\ /bin/perl perl script text
-0 string/b #!\ /usr/bin/perl perl script text executable
-0 string eval\ "exec\ /usr/bin/perl perl script text
-0 string/b #!\ /usr/local/bin/perl perl script text
-0 string eval\ "exec\ /usr/local/bin/perl perl script text executable
-
-# AT&T Bell Labs' Plan 9 shell
-0 string/b #!\ /bin/rc Plan 9 rc shell script text executable
-
-# bash shell magic, from Peter Tobias (tobias@server.et-inf.fho-emden.de)
-0 string/b #!\ /bin/bash Bourne-Again shell script text executable
-0 string/b #!\ /usr/local/bin/bash Bourne-Again shell script text executable
-
-# using env
-0 string #!/usr/bin/env a
->15 string >\0 %s script text executable
-0 string #!\ /usr/bin/env a
->16 string >\0 %s script text executable
-
-
-# generic shell magic
-0 string #!\ / a
->3 string >\0 %s script text executable
-0 string #!\ / a
->3 string >\0 %s script text executable
-0 string #!/ a
->2 string >\0 %s script text executable
-0 string #!\ script text executable
->3 string >\0 for %s
diff --git a/contrib/file/Magdir/compress b/contrib/file/Magdir/compress
deleted file mode 100644
index f4fe4a47d5e0f..0000000000000
--- a/contrib/file/Magdir/compress
+++ /dev/null
@@ -1,146 +0,0 @@
-
-#------------------------------------------------------------------------------
-# compress: file(1) magic for pure-compression formats (no archives)
-#
-# compress, gzip, pack, compact, huf, squeeze, crunch, freeze, yabba, etc.
-#
-# Formats for various forms of compressed data
-# Formats for "compress" proper have been moved into "compress.c",
-# because it tries to uncompress it to figure out what's inside.
-
-# standard unix compress
-0 string \037\235 compress'd data
->2 byte&0x80 >0 block compressed
->2 byte&0x1f x %d bits
-
-# gzip (GNU zip, not to be confused with Info-ZIP or PKWARE zip archiver)
-0 string \037\213 gzip compressed data
->2 byte <8 \b, reserved method,
->2 byte 8 \b, deflated,
->3 byte &0x01 ASCII,
->3 byte &0x02 continuation,
->3 byte &0x04 extra field,
->3 byte &0x08 original filename,
->>10 string x `%s',
->3 byte &0x10 comment,
->3 byte &0x20 encrypted,
->4 ledate x last modified: %s,
->8 byte 2 max compression,
->8 byte 4 max speed,
->9 byte =0x00 os: MS-DOS
->9 byte =0x01 os: Amiga
->9 byte =0x02 os: VMS
->9 byte =0x03 os: Unix
->9 byte =0x05 os: Atari
->9 byte =0x06 os: OS/2
->9 byte =0x07 os: MacOS
->9 byte =0x0A os: Tops/20
->9 byte =0x0B os: Win/32
-
-# packed data, Huffman (minimum redundancy) codes on a byte-by-byte basis
-0 string \037\036 packed data
->2 belong >1 \b, %d characters originally
->2 belong =1 \b, %d character originally
-#
-# This magic number is byte-order-independent. XXX - Does that mean this
-# is big-endian, little-endian, either, or that you can't tell?
-# this short is valid for SunOS
-0 short 017437 old packed data
-
-# XXX - why *two* entries for "compacted data", one of which is
-# byte-order independent, and one of which is byte-order dependent?
-#
-0 short 0x1fff compacted data
-# This string is valid for SunOS (BE) and a matching "short" is listed
-# in the Ultrix (LE) magic file.
-0 string \377\037 compacted data
-0 short 0145405 huf output
-
-# bzip2
-0 string BZh bzip2 compressed data
->3 byte >47 \b, block size = %c00k
-
-# squeeze and crunch
-# Michael Haardt <michael@cantor.informatik.rwth-aachen.de>
-0 beshort 0x76FF squeezed data,
->4 string x original name %s
-0 beshort 0x76FE crunched data,
->2 string x original name %s
-0 beshort 0x76FD LZH compressed data,
->2 string x original name %s
-
-# Freeze
-0 string \037\237 frozen file 2.1
-0 string \037\236 frozen file 1.0 (or gzip 0.5)
-
-# SCO compress -H (LZH)
-0 string \037\240 SCO compress -H (LZH) data
-
-# European GSM 06.10 is a provisional standard for full-rate speech
-# transcoding, prI-ETS 300 036, which uses RPE/LTP (residual pulse
-# excitation/long term prediction) coding at 13 kbit/s.
-#
-# There's only a magic nibble (4 bits); that nibble repeats every 33
-# bytes. This isn't suited for use, but maybe we can use it someday.
-#
-# This will cause very short GSM files to be declared as data and
-# mismatches to be declared as data too!
-#0 byte&0xF0 0xd0 data
-#>33 byte&0xF0 0xd0
-#>66 byte&0xF0 0xd0
-#>99 byte&0xF0 0xd0
-#>132 byte&0xF0 0xd0 GSM 06.10 compressed audio
-
-# bzip a block-sorting file compressor
-# by Julian Seward <sewardj@cs.man.ac.uk> and others
-#
-0 string BZ bzip compressed data
->2 byte x \b, version: %c
->3 string =1 \b, compression block size 100k
->3 string =2 \b, compression block size 200k
->3 string =3 \b, compression block size 300k
->3 string =4 \b, compression block size 400k
->3 string =5 \b, compression block size 500k
->3 string =6 \b, compression block size 600k
->3 string =7 \b, compression block size 700k
->3 string =8 \b, compression block size 800k
->3 string =9 \b, compression block size 900k
-
-# lzop from <markus.oberhumer@jk.uni-linz.ac.at>
-0 string \x89\x4c\x5a\x4f\x00\x0d\x0a\x1a\x0a lzop compressed data
->9 beshort <0x0940
->>9 byte&0xf0 =0x00 - version 0.
->>9 beshort&0x0fff x \b%03x,
->>13 byte 1 LZO1X-1,
->>13 byte 2 LZO1X-1(15),
->>13 byte 3 LZO1X-999,
-## >>22 bedate >0 last modified: %s,
->>14 byte =0x00 os: MS-DOS
->>14 byte =0x01 os: Amiga
->>14 byte =0x02 os: VMS
->>14 byte =0x03 os: Unix
->>14 byte =0x05 os: Atari
->>14 byte =0x06 os: OS/2
->>14 byte =0x07 os: MacOS
->>14 byte =0x0A os: Tops/20
->>14 byte =0x0B os: WinNT
->>14 byte =0x0E os: Win32
->9 beshort >0x0939
->>9 byte&0xf0 =0x00 - version 0.
->>9 byte&0xf0 =0x10 - version 1.
->>9 byte&0xf0 =0x20 - version 2.
->>9 beshort&0x0fff x \b%03x,
->>15 byte 1 LZO1X-1,
->>15 byte 2 LZO1X-1(15),
->>15 byte 3 LZO1X-999,
-## >>25 bedate >0 last modified: %s,
->>17 byte =0x00 os: MS-DOS
->>17 byte =0x01 os: Amiga
->>17 byte =0x02 os: VMS
->>17 byte =0x03 os: Unix
->>17 byte =0x05 os: Atari
->>17 byte =0x06 os: OS/2
->>17 byte =0x07 os: MacOS
->>17 byte =0x0A os: Tops/20
->>17 byte =0x0B os: WinNT
->>17 byte =0x0E os: Win32
diff --git a/contrib/file/Magdir/console b/contrib/file/Magdir/console
deleted file mode 100644
index f8d2ebb5ae072..0000000000000
--- a/contrib/file/Magdir/console
+++ /dev/null
@@ -1,122 +0,0 @@
-#------------------------------------------------------------------------------
-# Console game magic
-# Toby Deshane <hac@shoelace.digivill.net>
-# ines: file(1) magic for Marat's iNES Nintendo Entertainment System
-# ROM dump format
-
-0 string NES\032 iNES ROM dump,
->4 byte x %dx16k PRG
->5 byte x \b, %dx8k CHR
->6 byte&0x01 =0x1 \b, [Vert.]
->6 byte&0x01 =0x0 \b, [Horiz.]
->6 byte&0x02 =0x2 \b, [SRAM]
->6 byte&0x04 =0x4 \b, [Trainer]
->6 byte&0x04 =0x8 \b, [4-Scr]
-
-#------------------------------------------------------------------------------
-# gameboy: file(1) magic for the Nintendo (Color) Gameboy raw ROM format
-#
-0x104 belong 0xCEED6666 Gameboy ROM:
->0x134 string >\0 "%.16s"
->0x146 byte 0x03 \b,[SGB]
->0x147 byte 0x00 \b, [ROM ONLY]
->0x147 byte 0x01 \b, [ROM+MBC1]
->0x147 byte 0x02 \b, [ROM+MBC1+RAM]
->0x147 byte 0x03 \b, [ROM+MBC1+RAM+BATT]
->0x147 byte 0x05 \b, [ROM+MBC2]
->0x147 byte 0x06 \b, [ROM+MBC2+BATTERY]
->0x147 byte 0x08 \b, [ROM+RAM]
->0x147 byte 0x09 \b, [ROM+RAM+BATTERY]
->0x147 byte 0x0B \b, [ROM+MMM01]
->0x147 byte 0x0C \b, [ROM+MMM01+SRAM]
->0x147 byte 0x0D \b, [ROM+MMM01+SRAM+BATT]
->0x147 byte 0x0F \b, [ROM+MBC3+TIMER+BATT]
->0x147 byte 0x10 \b, [ROM+MBC3+TIMER+RAM+BATT]
->0x147 byte 0x11 \b, [ROM+MBC3]
->0x147 byte 0x12 \b, [ROM+MBC3+RAM]
->0x147 byte 0x13 \b, [ROM+MBC3+RAM+BATT]
->0x147 byte 0x19 \b, [ROM+MBC5]
->0x147 byte 0x1A \b, [ROM+MBC5+RAM]
->0x147 byte 0x1B \b, [ROM+MBC5+RAM+BATT]
->0x147 byte 0x1C \b, [ROM+MBC5+RUMBLE]
->0x147 byte 0x1D \b, [ROM+MBC5+RUMBLE+SRAM]
->0x147 byte 0x1E \b, [ROM+MBC5+RUMBLE+SRAM+BATT]
->0x147 byte 0x1F \b, [Pocket Camera]
->0x147 byte 0xFD \b, [Bandai TAMA5]
->0x147 byte 0xFE \b, [Hudson HuC-3]
->0x147 byte 0xFF \b, [Hudson HuC-1]
-
->0x148 byte 0 \b, ROM: 256Kbit
->0x148 byte 1 \b, ROM: 512Kbit
->0x148 byte 2 \b, ROM: 1Mbit
->0x148 byte 3 \b, ROM: 2Mbit
->0x148 byte 4 \b, ROM: 4Mbit
->0x148 byte 5 \b, ROM: 8Mbit
->0x148 byte 6 \b, ROM: 16Mbit
->0x148 byte 0x52 \b, ROM: 9Mbit
->0x148 byte 0x53 \b, ROM: 10Mbit
->0x148 byte 0x54 \b, ROM: 12Mbit
-
->0x149 byte 1 \b, RAM: 16Kbit
->0x149 byte 2 \b, RAM: 64Kbit
->0x149 byte 3 \b, RAM: 128Kbit
->0x149 byte 4 \b, RAM: 1Mbit
-
-#>0x14e long x \b, CRC: %x
-
-#------------------------------------------------------------------------------
-# genesis: file(1) magic for the Sega MegaDrive/Genesis raw ROM format
-#
-0x100 string SEGA Sega MegaDrive/Genesis raw ROM dump
->0x120 string >\0 Name: "%.16s"
->0x110 string >\0 %.16s
->0x1B0 string RA with SRAM
-
-#------------------------------------------------------------------------------
-# genesis: file(1) magic for the Super MegaDrive ROM dump format
-#
-0x280 string EAGN Super MagicDrive ROM dump
->0 byte x %dx16k blocks
->2 byte 0 \b, last in series or standalone
->2 byte >0 \b, split ROM
->8 byte 0xAA
->9 byte 0xBB
-
-#------------------------------------------------------------------------------
-# genesis: file(1) alternate magic for the Super MegaDrive ROM dump format
-#
-0x280 string EAMG Super MagicDrive ROM dump
->0 byte x %dx16k blocks
->2 byte x \b, last in series or standalone
->8 byte 0xAA
->9 byte 0xBB
-
-#------------------------------------------------------------------------------
-# smsgg: file(1) magic for Sega Master System and Game Gear ROM dumps
-#
-# Does not detect all images. Very preliminary guesswork. Need more data
-# on format.
-#
-# FIXME: need a little more info...;P
-#
-#0 byte 0xF3
-#>1 byte 0xED Sega Master System/Game Gear ROM dump
-#>1 byte 0x31 Sega Master System/Game Gear ROM dump
-#>1 byte 0xDB Sega Master System/Game Gear ROM dump
-#>1 byte 0xAF Sega Master System/Game Gear ROM dump
-#>1 byte 0xC3 Sega Master System/Game Gear ROM dump
-
-#------------------------------------------------------------------------------
-# dreamcast: file(1) uncertain magic for the Sega Dreamcast VMU image format
-#
-0 belong 0x21068028 Sega Dreamcast VMU game image
-0 string LCDi Dream Animator file
-
-#------------------------------------------------------------------------------
-# v64: file(1) uncertain magic for the V64 format N64 ROM dumps
-#
-0 belong 0x37804012 V64 Nintendo 64 ROM dump
-
-#------------------------------------------------------------------------------
-# msx: file(1) magic for MSX game cartridge dumps
-0 beshort 0x4142 MSX game cartridge dump
diff --git a/contrib/file/Magdir/convex b/contrib/file/Magdir/convex
deleted file mode 100644
index b1235d7e79a86..0000000000000
--- a/contrib/file/Magdir/convex
+++ /dev/null
@@ -1,69 +0,0 @@
-#------------------------------------------------------------------------------
-# convex: file(1) magic for Convex boxes
-#
-# Convexes are big-endian.
-#
-# /*\
-# * Below are the magic numbers and tests added for Convex.
-# * Added at beginning, because they are expected to be used most.
-# \*/
-0 belong 0507 Convex old-style object
->16 belong >0 not stripped
-0 belong 0513 Convex old-style demand paged executable
->16 belong >0 not stripped
-0 belong 0515 Convex old-style pre-paged executable
->16 belong >0 not stripped
-0 belong 0517 Convex old-style pre-paged, non-swapped executable
->16 belong >0 not stripped
-0 belong 0x011257 Core file
-#
-# The following are a series of dump format magic numbers. Each one
-# corresponds to a drastically different dump format. The first on is
-# the original dump format on a 4.1 BSD or earlier file system. The
-# second marks the change between the 4.1 file system and the 4.2 file
-# system. The Third marks the changing of the block size from 1K
-# to 2K to be compatible with an IDC file system. The fourth indicates
-# a dump that is dependent on Convex Storage Manager, because data in
-# secondary storage is not physically contained within the dump.
-# The restore program uses these number to determine how the data is
-# to be extracted.
-#
-24 belong =60011 dump format, 4.1 BSD or earlier
-24 belong =60012 dump format, 4.2 or 4.3 BSD without IDC
-24 belong =60013 dump format, 4.2 or 4.3 BSD (IDC compatible)
-24 belong =60014 dump format, Convex Storage Manager by-reference dump
-#
-# what follows is a bunch of bit-mask checks on the flags field of the opthdr.
-# If there is no `=' sign, assume just checking for whether the bit is set?
-#
-0 belong 0601 Convex SOFF
->88 belong&0x000f0000 =0x00000000 c1
->88 belong &0x00010000 c2
->88 belong &0x00020000 c2mp
->88 belong &0x00040000 parallel
->88 belong &0x00080000 intrinsic
->88 belong &0x00000001 demand paged
->88 belong &0x00000002 pre-paged
->88 belong &0x00000004 non-swapped
->88 belong &0x00000008 POSIX
-#
->84 belong &0x80000000 executable
->84 belong &0x40000000 object
->84 belong&0x20000000 =0 not stripped
->84 belong&0x18000000 =0x00000000 native fpmode
->84 belong&0x18000000 =0x10000000 ieee fpmode
->84 belong&0x18000000 =0x18000000 undefined fpmode
-#
-0 belong 0605 Convex SOFF core
-#
-0 belong 0607 Convex SOFF checkpoint
->88 belong&0x000f0000 =0x00000000 c1
->88 belong &0x00010000 c2
->88 belong &0x00020000 c2mp
->88 belong &0x00040000 parallel
->88 belong &0x00080000 intrinsic
->88 belong &0x00000008 POSIX
-#
->84 belong&0x18000000 =0x00000000 native fpmode
->84 belong&0x18000000 =0x10000000 ieee fpmode
->84 belong&0x18000000 =0x18000000 undefined fpmode
diff --git a/contrib/file/Magdir/database b/contrib/file/Magdir/database
deleted file mode 100644
index 60058a61bce24..0000000000000
--- a/contrib/file/Magdir/database
+++ /dev/null
@@ -1,70 +0,0 @@
-
-#------------------------------------------------------------------------------
-# database: file(1) magic for various databases
-#
-# extracted from header/code files by Graeme Wilford (eep2gw@ee.surrey.ac.uk)
-#
-#
-# GDBM magic numbers
-# Will be maintained as part of the GDBM distribution in the future.
-# <downsj@teeny.org>
-0 belong 0x13579ace GNU dbm 1.x or ndbm database, big endian
-0 lelong 0x13579ace GNU dbm 1.x or ndbm database, little endian
-0 string GDBM GNU dbm 2.x database
-#
-# Berkeley DB
-#
-# Ian Darwin's file /etc/magic files: big/little-endian version.
-#
-# Hash 1.85/1.86 databases store metadata in network byte order.
-# Btree 1.85/1.86 databases store the metadata in host byte order.
-# Hash and Btree 2.X and later databases store the metadata in host byte order.
-
-0 long 0x00061561 Berkeley DB
->8 belong 4321
->>4 belong >2 1.86
->>4 belong <3 1.85
->>4 belong >0 (Hash, version %d, native byte-order)
->8 belong 1234
->>4 belong >2 1.86
->>4 belong <3 1.85
->>4 belong >0 (Hash, version %d, little-endian)
-
-0 belong 0x00061561 Berkeley DB
->8 belong 4321
->>4 belong >2 1.86
->>4 belong <3 1.85
->>4 belong >0 (Hash, version %d, big-endian)
->8 belong 1234
->>4 belong >2 1.86
->>4 belong <3 1.85
->>4 belong >0 (Hash, version %d, native byte-order)
-
-0 long 0x00053162 Berkeley DB 1.85/1.86
->4 long >0 (Btree, version %d, native byte-order)
-0 belong 0x00053162 Berkeley DB 1.85/1.86
->4 belong >0 (Btree, version %d, big-endian)
-0 lelong 0x00053162 Berkeley DB 1.85/1.86
->4 lelong >0 (Btree, version %d, little-endian)
-
-12 long 0x00061561 Berkeley DB
->16 long >0 (Hash, version %d, native byte-order)
-12 belong 0x00061561 Berkeley DB
->16 belong >0 (Hash, version %d, big-endian)
-12 lelong 0x00061561 Berkeley DB
->16 lelong >0 (Hash, version %d, little-endian)
-
-12 long 0x00053162 Berkeley DB
->16 long >0 (Btree, version %d, native byte-order)
-12 belong 0x00053162 Berkeley DB
->16 belong >0 (Btree, version %d, big-endian)
-12 lelong 0x00053162 Berkeley DB
->16 lelong >0 (Btree, version %d, little-endian)
-
-12 long 0x00042253 Berkeley DB
->16 long >0 (Queue, version %d, native byte-order)
-12 belong 0x00042253 Berkeley DB
->16 belong >0 (Queue, version %d, big-endian)
-12 lelong 0x00042253 Berkeley DB
->16 lelong >0 (Queue, version %d, little-endian)
-
diff --git a/contrib/file/Magdir/diamond b/contrib/file/Magdir/diamond
deleted file mode 100644
index 1abd01e0300f7..0000000000000
--- a/contrib/file/Magdir/diamond
+++ /dev/null
@@ -1,11 +0,0 @@
-
-#------------------------------------------------------------------------------
-# diamond: file(1) magic for Diamond system
-#
-# ... diamond is a multi-media mail and electronic conferencing system....
-#
-# XXX - I think it was either renamed Slate, or replaced by Slate....
-#
-# The full deal is too long...
-#0 string <list>\n<protocol\ bbn-multimedia-format> Diamond Multimedia Document
-0 string =<list>\n<protocol\ bbn-m Diamond Multimedia Document
diff --git a/contrib/file/Magdir/diff b/contrib/file/Magdir/diff
deleted file mode 100644
index 81a9b82ab8d87..0000000000000
--- a/contrib/file/Magdir/diff
+++ /dev/null
@@ -1,13 +0,0 @@
-
-#------------------------------------------------------------------------------
-# diff: file(1) magic for diff(1) output
-#
-0 string diff\ 'diff' output text
-0 string ***\ 'diff' output text
-0 string Only\ in\ 'diff' output text
-0 string Common\ subdirectories:\ 'diff' output text
-
-# xdelta is like diff(1) for binary files (works for text, too).
-# Available from: ftp://ftp.xcf.berkeley.edu/pub/xdelta/
-0 string %XDZ xdelta diff file
->4 string >% version %.3s
diff --git a/contrib/file/Magdir/digital b/contrib/file/Magdir/digital
deleted file mode 100644
index 6a573a6e05252..0000000000000
--- a/contrib/file/Magdir/digital
+++ /dev/null
@@ -1,41 +0,0 @@
-# Digital UNIX - Info
-#
-0 string !<arch>\n________64E Alpha archive
->22 string X -- out of date
-#
-# Alpha COFF Based Executables
-# The stripped stuff really needs to be an 8 byte (64 bit) compare,
-# but this works
-0 leshort 0x183 COFF format alpha
->22 leshort&020000 &010000 sharable library,
->22 leshort&020000 ^010000 dynamically linked,
->24 leshort 0410 pure
->24 leshort 0413 demand paged
->8 lelong >0 executable or object module, not stripped
->8 lelong 0
->>12 lelong 0 executable or object module, stripped
->>12 lelong >0 executable or object module, not stripped
->27 byte >0 - version %d.
->26 byte >0 %d-
->28 leshort >0 %d
-#
-# The next is incomplete, we could tell more about this format,
-# but its not worth it.
-0 leshort 0x188 Alpha compressed COFF
-0 leshort 0x18f Alpha u-code object
-#
-#
-# Some other interesting Digital formats,
-0 string \377\377\177 ddis/ddif
-0 string \377\377\174 ddis/dots archive
-0 string \377\377\176 ddis/dtif table data
-0 string \033c\033 LN03 output
-0 long 04553207 X image
-#
-0 string !<PDF>!\n profiling data file
-#
-# Locale data tables (MIPS and Alpha).
-#
-0 short 0x0501 locale data table
->6 short 0x24 for MIPS
->6 short 0x40 for Alpha
diff --git a/contrib/file/Magdir/dump b/contrib/file/Magdir/dump
deleted file mode 100644
index 628ead86c6131..0000000000000
--- a/contrib/file/Magdir/dump
+++ /dev/null
@@ -1,81 +0,0 @@
-
-#------------------------------------------------------------------------------
-# dump: file(1) magic for dump file format--for new and old dump filesystems
-#
-# We specify both byte orders in order to recognize byte-swapped dumps.
-#
-24 belong 60012 new-fs dump file (big endian),
->4 bedate x Previous dump %s,
->8 bedate x This dump %s,
->12 belong >0 Volume %ld,
->692 belong 0 Level zero, type:
->692 belong >0 Level %d, type:
->0 belong 1 tape header,
->0 belong 2 beginning of file record,
->0 belong 3 map of inodes on tape,
->0 belong 4 continuation of file record,
->0 belong 5 end of volume,
->0 belong 6 map of inodes deleted,
->0 belong 7 end of medium (for floppy),
->676 string >\0 Label %s,
->696 string >\0 Filesystem %s,
->760 string >\0 Device %s,
->824 string >\0 Host %s,
->888 belong >0 Flags %x
-
-24 belong 60011 old-fs dump file (big endian),
-#>4 bedate x Previous dump %s,
-#>8 bedate x This dump %s,
->12 belong >0 Volume %ld,
->692 belong 0 Level zero, type:
->692 belong >0 Level %d, type:
->0 belong 1 tape header,
->0 belong 2 beginning of file record,
->0 belong 3 map of inodes on tape,
->0 belong 4 continuation of file record,
->0 belong 5 end of volume,
->0 belong 6 map of inodes deleted,
->0 belong 7 end of medium (for floppy),
->676 string >\0 Label %s,
->696 string >\0 Filesystem %s,
->760 string >\0 Device %s,
->824 string >\0 Host %s,
->888 belong >0 Flags %x
-
-24 lelong 60012 new-fs dump file (little endian),
->4 ledate x This dump %s,
->8 ledate x Previous dump %s,
->12 lelong >0 Volume %ld,
->692 lelong 0 Level zero, type:
->692 lelong >0 Level %d, type:
->0 lelong 1 tape header,
->0 lelong 2 beginning of file record,
->0 lelong 3 map of inodes on tape,
->0 lelong 4 continuation of file record,
->0 lelong 5 end of volume,
->0 lelong 6 map of inodes deleted,
->0 lelong 7 end of medium (for floppy),
->676 string >\0 Label %s,
->696 string >\0 Filesystem %s,
->760 string >\0 Device %s,
->824 string >\0 Host %s,
->888 lelong >0 Flags %x
-
-24 lelong 60011 old-fs dump file (little endian),
-#>4 ledate x Previous dump %s,
-#>8 ledate x This dump %s,
->12 lelong >0 Volume %ld,
->692 lelong 0 Level zero, type:
->692 lelong >0 Level %d, type:
->0 lelong 1 tape header,
->0 lelong 2 beginning of file record,
->0 lelong 3 map of inodes on tape,
->0 lelong 4 continuation of file record,
->0 lelong 5 end of volume,
->0 lelong 6 map of inodes deleted,
->0 lelong 7 end of medium (for floppy),
->676 string >\0 Label %s,
->696 string >\0 Filesystem %s,
->760 string >\0 Device %s,
->824 string >\0 Host %s,
->888 lelong >0 Flags %x
diff --git a/contrib/file/Magdir/encore b/contrib/file/Magdir/encore
deleted file mode 100644
index 63cb5d4f9f429..0000000000000
--- a/contrib/file/Magdir/encore
+++ /dev/null
@@ -1,21 +0,0 @@
-
-#------------------------------------------------------------------------------
-# encore: file(1) magic for Encore machines
-#
-# XXX - needs to have the byte order specified (NS32K was little-endian,
-# dunno whether they run the 88K in little-endian mode or not).
-#
-0 short 0x154 Encore
->20 short 0x107 executable
->20 short 0x108 pure executable
->20 short 0x10b demand-paged executable
->20 short 0x10f unsupported executable
->12 long >0 not stripped
->22 short >0 - version %ld
->22 short 0 -
-#>4 date x stamp %s
-0 short 0x155 Encore unsupported executable
->12 long >0 not stripped
->22 short >0 - version %ld
->22 short 0 -
-#>4 date x stamp %s
diff --git a/contrib/file/Magdir/epoc b/contrib/file/Magdir/epoc
deleted file mode 100644
index 29bd94799b206..0000000000000
--- a/contrib/file/Magdir/epoc
+++ /dev/null
@@ -1,10 +0,0 @@
-
-#------------------------------------------------------------------------------
-# Epoc 32 : file(1) magic for Epoc Documents [psion/osaris
-# Stefan Praszalowicz (hpicollo@worldnet.fr)
-#0 lelong 0x10000037 Epoc32
->4 lelong 0x1000006D
->>8 lelong 0x1000007F Word
->>8 lelong 0x10000088 Sheet
->>8 lelong 0x1000007D Sketch
->>8 lelong 0x10000085 TextEd
diff --git a/contrib/file/Magdir/filesystems b/contrib/file/Magdir/filesystems
deleted file mode 100644
index 80b5ea3c87924..0000000000000
--- a/contrib/file/Magdir/filesystems
+++ /dev/null
@@ -1,91 +0,0 @@
-
-#------------------------------------------------------------------------------
-# filesystems: file(1) magic for different filesystems
-#
-0 string \366\366\366\366 PC formatted floppy with no filesystem
-# Sun disk labels
-# From /usr/include/sun/dklabel.h:
-0774 beshort 0xdabe Sun disk label
->0 string x '%s
->>31 string >\0 \b%s
->>>63 string >\0 \b%s
->>>>95 string >\0 \b%s
->0 string x \b'
->0734 short >0 %d rpm,
->0736 short >0 %d phys cys,
->0740 short >0 %d alts/cyl,
->0746 short >0 %d interleave,
->0750 short >0 %d data cyls,
->0752 short >0 %d alt cyls,
->0754 short >0 %d heads/partition,
->0756 short >0 %d sectors/track,
->0764 long >0 start cyl %ld,
->0770 long x %ld blocks
-# Is there a boot block written 1 sector in?
->512 belong&077777777 0600407 \b, boot block present
-0x1FE leshort 0xAA55 x86 boot sector
->2 string OSBS \b, OS/BS MBR
->0x8C string Invalid\ partition\ table \b, MS-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
->0x200 lelong 0x82564557 \b, BSD disklabel
-
-# Minix filesystems - Juan Cespedes <cespedes@debian.org>
-0x410 leshort 0x137f Minix filesystem
-0x410 leshort 0x138f Minix filesystem, 30 char names
-0x410 leshort 0x2468 Minix filesystem, version 2
-0x410 leshort 0x2478 Minix filesystem, version 2, 30 char names
-
-# romfs filesystems - Juan Cespedes <cespedes@debian.org>
-0 string -rom1fs-\0 romfs filesystem, version 1
->8 belong x %d bytes,
->16 string x named %s.
-
-# netboot image - Juan Cespedes <cespedes@debian.org>
-0 lelong 0x1b031336L Netboot image,
->4 lelong&0xFFFFFF00 0
->>4 lelong&0x100 0x000 mode 2
->>4 lelong&0x100 0x100 mode 3
->4 lelong&0xFFFFFF00 !0 unknown mode
-
-0x18b string OS/2 OS/2 Boot Manager
-
-9564 lelong 0x00011954 Unix Fast File system,
->8404 string x last mounted on %s,
->9504 ledate x last checkd at %s,
->8224 ledate x last writen at %s,
->8228 lelong x number of blocks %d,
->8232 lelong x number of data blocks %d,
->8236 lelong x number of cylinder groups %d,
->8240 lelong x number of basic blocks %d,
->8244 lelong x number of fragment blocks %d,
->8248 lelong x minimum percentage of free blocks %d,
->8252 lelong x rotational delay %dms,
->8256 lelong x disk rotational speed %drps,
->8320 lelong 0 TIME optimization
->8320 lelong 1 SPACE optimization
-
-# ext2/ext3 filesystems - Andreas Dilger <adilger@turbolabs.com>
-0x438 leshort 0xEF53 Linux
->0x44c lelong x rev %d
->0x43e leshort x \b.%d
->0x45c lelong ^0x0000004 ext2 filesystem data
->>0x43a leshort ^0x0000001 (mounted or unclean)
->0x45c lelong &0x0000004 ext3 filesystem data
->>0x460 lelong &0x0000004 (needs journal recovery)
->0x43a leshort &0x0000002 (errors)
->0x460 lelong &0x0000001 (compressed)
-#>0x460 lelong &0x0000002 (filetype)
-#>0x464 lelong &0x0000001 (sparse_super)
->0x464 lelong &0x0000002 (large files)
diff --git a/contrib/file/Magdir/flash b/contrib/file/Magdir/flash
deleted file mode 100644
index 1d6f7b766cd14..0000000000000
--- a/contrib/file/Magdir/flash
+++ /dev/null
@@ -1,10 +0,0 @@
-
-#------------------------------------------------------------------------------
-# flash: file(1) magic for Macromedia Flash file format
-#
-# See
-#
-# http://www.macromedia.com/software/flash/open/
-#
-0 string FWS Macromedia Flash data,
->3 byte x version %d
diff --git a/contrib/file/Magdir/fonts b/contrib/file/Magdir/fonts
deleted file mode 100644
index d0dc225993c67..0000000000000
--- a/contrib/file/Magdir/fonts
+++ /dev/null
@@ -1,51 +0,0 @@
-
-#------------------------------------------------------------------------------
-# fonts: file(1) magic for font data
-#
-0 string FONT ASCII vfont text
-0 short 0436 Berkeley vfont data
-0 short 017001 byte-swapped Berkeley vfont data
-
-# PostScript fonts (must precede "printer" entries), quinlan@yggdrasil.com
-0 string %!PS-AdobeFont-1.0 PostScript Type 1 font text
->20 string >\0 (%s)
-6 string %!PS-AdobeFont-1.0 PostScript Type 1 font program data
-
-# X11 font files in SNF (Server Natural Format) format
-0 belong 00000004 X11 SNF font data, MSB first
-0 lelong 00000004 X11 SNF font data, LSB first
-
-# X11 Bitmap Distribution Format, from Daniel Quinlan (quinlan@yggdrasil.com)
-0 string STARTFONT\040 X11 BDF font text
-
-# X11 fonts, from Daniel Quinlan (quinlan@yggdrasil.com)
-# PCF must come before SGI additions ("MIPSEL MIPS-II COFF" collides)
-0 string \001fcp X11 Portable Compiled Font data
->12 byte 0x02 \b, LSB first
->12 byte 0x0a \b, MSB first
-0 string D1.0\015 X11 Speedo font data
-
-#------------------------------------------------------------------------------
-# FIGlet fonts and controlfiles
-# From figmagic supplied with Figlet version 2.2
-# "David E. O'Brien" <obrien@FreeBSD.ORG>
-0 string flf FIGlet font
->3 string >2a version %-2.2s
-0 string flc FIGlet controlfile
->3 string >2a version %-2.2s
-
-# libGrx graphics lib fonts, from Albert Cahalan (acahalan@cs.uml.edu)
-# Used with djgpp (DOS Gnu C++), sometimes Linux or Turbo C++
-0 belong 0x14025919 libGrx font data,
->8 leshort x %dx
->10 leshort x \b%d
->40 string x %s
-# Misc. DOS VGA fonts, from Albert Cahalan (acahalan@cs.uml.edu)
-0 belong 0xff464f4e DOS code page font data collection
-7 belong 0x00454741 DOS code page font data
-7 belong 0x00564944 DOS code page font data (from Linux?)
-4098 string DOSFONT DOSFONT2 encrypted font data
-
-# downloadable fonts for browser (prints type) anthon@mnt.org
-0 string PFR1 PFR1 font
->102 string >0 \b: %s
diff --git a/contrib/file/Magdir/frame b/contrib/file/Magdir/frame
deleted file mode 100644
index 1b397df05799a..0000000000000
--- a/contrib/file/Magdir/frame
+++ /dev/null
@@ -1,38 +0,0 @@
-
-#------------------------------------------------------------------------------
-# frame: file(1) magic for FrameMaker files
-#
-# This stuff came on a FrameMaker demo tape, most of which is
-# copyright, but this file is "published" as witness the following:
-#
-0 string \<MakerFile FrameMaker document
->11 string 5.5 (5.5
->11 string 5.0 (5.0
->11 string 4.0 (4.0
->11 string 3.0 (3.0
->11 string 2.0 (2.0
->11 string 1.0 (1.0
->14 byte x %c)
-0 string \<MIFFile FrameMaker MIF (ASCII) file
->9 string 4.0 (4.0)
->9 string 3.0 (3.0)
->9 string 2.0 (2.0)
->9 string 1.0 (1.x)
-0 string \<MakerDictionary FrameMaker Dictionary text
->17 string 3.0 (3.0)
->17 string 2.0 (2.0)
->17 string 1.0 (1.x)
-0 string \<MakerScreenFont FrameMaker Font file
->17 string 1.01 (%s)
-0 string \<MML FrameMaker MML file
-0 string \<BookFile FrameMaker Book file
->10 string 3.0 (3.0
->10 string 2.0 (2.0
->10 string 1.0 (1.0
->13 byte x %c)
-# XXX - this book entry should be verified, if you find one, uncomment this
-#0 string \<Book\ FrameMaker Book (ASCII) file
-#>6 string 3.0 (3.0)
-#>6 string 2.0 (2.0)
-#>6 string 1.0 (1.0)
-0 string \<Maker Intermediate Print File FrameMaker IPL file
diff --git a/contrib/file/Magdir/freebsd b/contrib/file/Magdir/freebsd
deleted file mode 100644
index 2370c257841ed..0000000000000
--- a/contrib/file/Magdir/freebsd
+++ /dev/null
@@ -1,130 +0,0 @@
-
-#------------------------------------------------------------------------------
-# freebsd: file(1) magic for FreeBSD objects
-#
-# All new-style FreeBSD magic numbers are in host byte order (i.e.,
-# little-endian on x86).
-#
-# XXX - this comes from the file "freebsd" in a recent FreeBSD version of
-# "file"; it, and the NetBSD stuff in "netbsd", appear to use different
-# schemes for distinguishing between executable images, shared libraries,
-# and object files.
-#
-# FreeBSD says:
-#
-# Regardless of whether it's pure, demand-paged, or none of the
-# above:
-#
-# if the entry point is < 4096, then it's a shared library if
-# the "has run-time loader information" bit is set, and is
-# position-independent if the "is position-independent" bit
-# is set;
-#
-# if the entry point is >= 4096 (or >4095, same thing), then it's
-# an executable, and is dynamically-linked if the "has run-time
-# loader information" bit is set.
-#
-# On x86, NetBSD says:
-#
-# If it's neither pure nor demand-paged:
-#
-# if it has the "has run-time loader information" bit set, it's
-# a dynamically-linked executable;
-#
-# if it doesn't have that bit set, then:
-#
-# if it has the "is position-independent" bit set, it's
-# position-independent;
-#
-# if the entry point is non-zero, it's an executable, otherwise
-# it's an object file.
-#
-# If it's pure:
-#
-# if it has the "has run-time loader information" bit set, it's
-# a dynamically-linked executable, otherwise it's just an
-# executable.
-#
-# If it's demand-paged:
-#
-# if it has the "has run-time loader information" bit set,
-# then:
-#
-# if the entry point is < 4096, it's a shared library;
-#
-# if the entry point is = 4096 or > 4096 (i.e., >= 4096),
-# it's a dynamically-linked executable);
-#
-# if it doesn't have the "has run-time loader information" bit
-# set, then it's just an executable.
-#
-# (On non-x86, NetBSD does much the same thing, except that it uses
-# 8192 on 68K - except for "68k4k", which is presumably "68K with 4K
-# pages - SPARC, and MIPS, presumably because Sun-3's and Sun-4's
-# had 8K pages; dunno about MIPS.)
-#
-# I suspect the two will differ only in perverse and uninteresting cases
-# ("shared" libraries that aren't demand-paged and whose pages probably
-# won't actually be shared, executables with entry points <4096).
-#
-# I leave it to those more familiar with FreeBSD and NetBSD to figure out
-# what the right answer is (although using ">4095", FreeBSD-style, is
-# probably better than separately checking for "=4096" and ">4096",
-# NetBSD-style). (The old "netbsd" file analyzed FreeBSD demand paged
-# executables using the NetBSD technique.)
-#
-0 lelong&0377777777 041400407 FreeBSD/i386
->20 lelong <4096
->>3 byte&0xC0 &0x80 shared library
->>3 byte&0xC0 0x40 PIC object
->>3 byte&0xC0 0x00 object
->20 lelong >4095
->>3 byte&0x80 0x80 dynamically linked executable
->>3 byte&0x80 0x00 executable
->16 lelong >0 not stripped
-
-0 lelong&0377777777 041400410 FreeBSD/i386 pure
->20 lelong <4096
->>3 byte&0xC0 &0x80 shared library
->>3 byte&0xC0 0x40 PIC object
->>3 byte&0xC0 0x00 object
->20 lelong >4095
->>3 byte&0x80 0x80 dynamically linked executable
->>3 byte&0x80 0x00 executable
->16 lelong >0 not stripped
-
-0 lelong&0377777777 041400413 FreeBSD/i386 demand paged
->20 lelong <4096
->>3 byte&0xC0 &0x80 shared library
->>3 byte&0xC0 0x40 PIC object
->>3 byte&0xC0 0x00 object
->20 lelong >4095
->>3 byte&0x80 0x80 dynamically linked executable
->>3 byte&0x80 0x00 executable
->16 lelong >0 not stripped
-
-0 lelong&0377777777 041400314 FreeBSD/i386 compact demand paged
->20 lelong <4096
->>3 byte&0xC0 &0x80 shared library
->>3 byte&0xC0 0x40 PIC object
->>3 byte&0xC0 0x00 object
->20 lelong >4095
->>3 byte&0x80 0x80 dynamically linked executable
->>3 byte&0x80 0x00 executable
->16 lelong >0 not stripped
-
-# XXX gross hack to identify core files
-# cores start with a struct tss; we take advantage of the following:
-# byte 7: highest byte of the kernel stack pointer, always 0xfe
-# 8/9: kernel (ring 0) ss value, always 0x0010
-# 10 - 27: ring 1 and 2 ss/esp, unused, thus always 0
-# 28: low order byte of the current PTD entry, always 0 since the
-# PTD is page-aligned
-#
-7 string \357\020\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0 FreeBSD/i386 a.out core file
->1039 string >\0 from '%s'
-
-# /var/run/ld.so.hints
-# What are you laughing about?
-0 lelong 011421044151 ld.so hints file
->4 lelong >0 (version %d)
diff --git a/contrib/file/Magdir/fsav b/contrib/file/Magdir/fsav
deleted file mode 100644
index 4218936e48459..0000000000000
--- a/contrib/file/Magdir/fsav
+++ /dev/null
@@ -1,27 +0,0 @@
-
-#------------------------------------------------------------------------------
-# fsav: file(1) magic for datafellows fsav virus definition files
-# Anthon van der Neut (anthon@mnt.org)
-0 beshort 0x1575 fsav (linux) macro virus
->8 leshort >0 (%d-
->11 byte >0 \b%02d-
->10 byte >0 \b%02d)
-
-# comment this out for now because it regognizes every file where
-# the eighth character is \n
-#8 byte 0x0a
-#>12 byte 0x07
-#>11 leshort >0 fsav (linux) virus (%d-
-#>10 byte 0 \b01-
-#>10 byte 1 \b02-
-#>10 byte 2 \b03-
-#>10 byte 3 \b04-
-#>10 byte 4 \b05-
-#>10 byte 5 \b06-
-#>10 byte 6 \b07-
-#>10 byte 7 \b08-
-#>10 byte 8 \b08-
-#>10 byte 9 \b10-
-#>10 byte 10 \b11-
-#>10 byte 11 \b12-
-#>9 byte >0 \b%02d)
diff --git a/contrib/file/Magdir/gimp b/contrib/file/Magdir/gimp
deleted file mode 100644
index 9a9d61e2f79c3..0000000000000
--- a/contrib/file/Magdir/gimp
+++ /dev/null
@@ -1,36 +0,0 @@
-#------------------------------------------------------------------------------
-# GIMP Gradient: file(1) magic for the GIMP's gradient data files
-# by Federico Mena <federico@nuclecu.unam.mx>
-
-0 string GIMP\ Gradient GIMP gradient data
-
-#------------------------------------------------------------------------------
-# XCF: file(1) magic for the XCF image format used in the GIMP developed
-# by Spencer Kimball and Peter Mattis
-# ('Bucky' LaDieu, nega@vt.edu)
-
-0 string gimp\ xcf GIMP XCF image data,
->9 string file version 0,
->9 string v version
->>10 string >\0 %s,
->14 belong x %lu x
->18 belong x %lu,
->22 belong 0 RGB Color
->22 belong 1 Greyscale
->22 belong 2 Indexed Color
->22 belong >2 Unknown Image Type.
-
-#------------------------------------------------------------------------------
-# XCF: file(1) magic for the patterns used in the GIMP, developed
-# by Spencer Kimball and Peter Mattis
-# ('Bucky' LaDieu, nega@vt.edu)
-
-20 string GPAT GIMP pattern data,
->24 string x %s
-
-#------------------------------------------------------------------------------
-# XCF: file(1) magic for the brushes used in the GIMP, developed
-# by Spencer Kimball and Peter Mattis
-# ('Bucky' LaDieu, nega@vt.edu)
-
-20 string GIMP GIMP brush data
diff --git a/contrib/file/Magdir/gnu b/contrib/file/Magdir/gnu
deleted file mode 100644
index a385fc972e8d3..0000000000000
--- a/contrib/file/Magdir/gnu
+++ /dev/null
@@ -1,12 +0,0 @@
-#
-# GNU nlsutils message catalog file format
-#
-0 string \336\22\4\225 GNU message catalog (little endian),
->4 lelong x revision %d,
->8 lelong x %d messages
-0 string \225\4\22\336 GNU message catalog (big endian),
->4 belong x revision %d,
->8 belong x %d messages
-# message catalogs, from Mitchum DSouza <m.dsouza@mrc-apu.cam.ac.uk>
-0 string *nazgul* Nazgul style compiled message catalog
->8 lelong >0 \b, version %ld
diff --git a/contrib/file/Magdir/grace b/contrib/file/Magdir/grace
deleted file mode 100644
index a5f143359ec32..0000000000000
--- a/contrib/file/Magdir/grace
+++ /dev/null
@@ -1,20 +0,0 @@
-
-#------------------------------------------------------------------------------
-# ACE/gr and Grace type files - PLEASE DO NOT REMOVE THIS LINE
-#
-# ACE/gr binary
-0 string \000\000\0001\000\000\0000\000\000\0000\000\000\0002\000\000\0000\000\000\0000\000\000\0003 old ACE/gr binary file
->39 byte >0 - version %c
-# ACE/gr ascii
-0 string #\ xvgr\ parameter\ file ACE/gr ascii file
-0 string #\ xmgr\ parameter\ file ACE/gr ascii file
-0 string #\ ACE/gr\ parameter\ file ACE/gr ascii file
-# Grace projects
-0 string #\ Grace\ project\ file Grace project file
->23 string @version\ (version
->>32 byte >0 %c
->>33 string >\0 \b.%.2s
->>35 string >\0 \b.%.2s)
-# ACE/gr fit description files
-0 string #\ ACE/gr\ fit\ description\ ACE/gr fit description file
-# end of ACE/gr and Grace type files - PLEASE DO NOT REMOVE THIS LINE
diff --git a/contrib/file/Magdir/hp b/contrib/file/Magdir/hp
deleted file mode 100644
index 5ffeee85c0282..0000000000000
--- a/contrib/file/Magdir/hp
+++ /dev/null
@@ -1,251 +0,0 @@
-
-#------------------------------------------------------------------------------
-# hp: file(1) magic for Hewlett Packard machines (see also "printer")
-#
-# XXX - somebody should figure out whether any byte order needs to be
-# applied to the "TML" stuff; I'm assuming the Apollo stuff is
-# big-endian as it was mostly 68K-based.
-#
-# I think the 500 series was the old stack-based machines, running a
-# UNIX environment atop the "SUN kernel"; dunno whether it was
-# big-endian or little-endian.
-#
-# Daniel Quinlan (quinlan@yggdrasil.com): hp200 machines are 68010 based;
-# hp300 are 68020+68881 based; hp400 are also 68k. The following basic
-# HP magic is useful for reference, but using "long" magic is a better
-# practice in order to avoid collisions.
-#
-# Guy Harris (guy@netapp.com): some additions to this list came from
-# HP-UX 10.0's "/usr/include/sys/unistd.h" (68030, 68040, PA-RISC 1.1,
-# 1.2, and 2.0). The 1.2 and 2.0 stuff isn't in the HP-UX 10.0
-# "/etc/magic", though, except for the "archive file relocatable library"
-# stuff, and the 68030 and 68040 stuff isn't there at all - are they not
-# used in executables, or have they just not yet updated "/etc/magic"
-# completely?
-#
-# 0 beshort 200 hp200 (68010) BSD binary
-# 0 beshort 300 hp300 (68020+68881) BSD binary
-# 0 beshort 0x20c hp200/300 HP-UX binary
-# 0 beshort 0x20d hp400 (68030) HP-UX binary
-# 0 beshort 0x20e hp400 (68040?) HP-UX binary
-# 0 beshort 0x20b PA-RISC1.0 HP-UX binary
-# 0 beshort 0x210 PA-RISC1.1 HP-UX binary
-# 0 beshort 0x211 PA-RISC1.2 HP-UX binary
-# 0 beshort 0x214 PA-RISC2.0 HP-UX binary
-
-#
-# The "misc" stuff needs a byte order; the archives look suspiciously
-# like the old 177545 archives (0xff65 = 0177545).
-#
-#### Old Apollo stuff
-0 beshort 0627 Apollo m68k COFF executable
->18 beshort ^040000 not stripped
->22 beshort >0 - version %ld
-0 beshort 0624 apollo a88k COFF executable
->18 beshort ^040000 not stripped
->22 beshort >0 - version %ld
-0 long 01203604016 TML 0123 byte-order format
-0 long 01702407010 TML 1032 byte-order format
-0 long 01003405017 TML 2301 byte-order format
-0 long 01602007412 TML 3210 byte-order format
-#### PA-RISC 1.1
-0 belong 0x02100106 PA-RISC1.1 relocatable object
-0 belong 0x02100107 PA-RISC1.1 executable
->168 belong &0x00000004 dynamically linked
->(144) belong 0x054ef630 dynamically linked
->96 belong >0 - not stripped
-
-0 belong 0x02100108 PA-RISC1.1 shared executable
->168 belong&0x4 0x4 dynamically linked
->(144) belong 0x054ef630 dynamically linked
->96 belong >0 - not stripped
-
-0 belong 0x0210010b PA-RISC1.1 demand-load executable
->168 belong&0x4 0x4 dynamically linked
->(144) belong 0x054ef630 dynamically linked
->96 belong >0 - not stripped
-
-0 belong 0x0210010e PA-RISC1.1 shared library
->96 belong >0 - not stripped
-
-0 belong 0x0210010d PA-RISC1.1 dynamic load library
->96 belong >0 - not stripped
-
-#### PA-RISC 2.0
-0 belong 0x02140106 PA-RISC2.0 relocatable object
-
-0 belong 0x02140107 PA-RISC2.0 executable
->168 belong &0x00000004 dynamically linked
->(144) belong 0x054ef630 dynamically linked
->96 belong >0 - not stripped
-
-0 belong 0x02140108 PA-RISC2.0 shared executable
->168 belong &0x00000004 dynamically linked
->(144) belong 0x054ef630 dynamically linked
->96 belong >0 - not stripped
-
-0 belong 0x0214010b PA-RISC2.0 demand-load executable
->168 belong &0x00000004 dynamically linked
->(144) belong 0x054ef630 dynamically linked
->96 belong >0 - not stripped
-
-0 belong 0x0214010e PA-RISC2.0 shared library
->96 belong >0 - not stripped
-
-0 belong 0x0214010d PA-RISC2.0 dynamic load library
->96 belong >0 - not stripped
-
-#### 800
-0 belong 0x020b0106 PA-RISC1.0 relocatable object
-
-0 belong 0x020b0107 PA-RISC1.0 executable
->168 belong&0x4 0x4 dynamically linked
->(144) belong 0x054ef630 dynamically linked
->96 belong >0 - not stripped
-
-0 belong 0x020b0108 PA-RISC1.0 shared executable
->168 belong&0x4 0x4 dynamically linked
->(144) belong 0x054ef630 dynamically linked
->96 belong >0 - not stripped
-
-0 belong 0x020b010b PA-RISC1.0 demand-load executable
->168 belong&0x4 0x4 dynamically linked
->(144) belong 0x054ef630 dynamically linked
->96 belong >0 - not stripped
-
-0 belong 0x020b010e PA-RISC1.0 shared library
->96 belong >0 - not stripped
-
-0 belong 0x020b010d PA-RISC1.0 dynamic load library
->96 belong >0 - not stripped
-
-0 belong 0x213c6172 archive file
->68 belong 0x020b0619 - PA-RISC1.0 relocatable library
->68 belong 0x02100619 - PA-RISC1.1 relocatable library
->68 belong 0x02110619 - PA-RISC1.2 relocatable library
->68 belong 0x02140619 - PA-RISC2.0 relocatable library
-
-#### 500
-0 long 0x02080106 HP s500 relocatable executable
->16 long >0 - version %ld
-
-0 long 0x02080107 HP s500 executable
->16 long >0 - version %ld
-
-0 long 0x02080108 HP s500 pure executable
->16 long >0 - version %ld
-
-#### 200
-0 belong 0x020c0108 HP s200 pure executable
->4 beshort >0 - version %ld
->8 belong &0x80000000 save fp regs
->8 belong &0x40000000 dynamically linked
->8 belong &0x20000000 debuggable
->36 belong >0 not stripped
-
-0 belong 0x020c0107 HP s200 executable
->4 beshort >0 - version %ld
->8 belong &0x80000000 save fp regs
->8 belong &0x40000000 dynamically linked
->8 belong &0x20000000 debuggable
->36 belong >0 not stripped
-
-0 belong 0x020c010b HP s200 demand-load executable
->4 beshort >0 - version %ld
->8 belong &0x80000000 save fp regs
->8 belong &0x40000000 dynamically linked
->8 belong &0x20000000 debuggable
->36 belong >0 not stripped
-
-0 belong 0x020c0106 HP s200 relocatable executable
->4 beshort >0 - version %ld
->6 beshort >0 - highwater %d
->8 belong &0x80000000 save fp regs
->8 belong &0x20000000 debuggable
->8 belong &0x10000000 PIC
-
-0 belong 0x020a0108 HP s200 (2.x release) pure executable
->4 beshort >0 - version %ld
->36 belong >0 not stripped
-
-0 belong 0x020a0107 HP s200 (2.x release) executable
->4 beshort >0 - version %ld
->36 belong >0 not stripped
-
-0 belong 0x020c010e HP s200 shared library
->4 beshort >0 - version %ld
->6 beshort >0 - highwater %d
->36 belong >0 not stripped
-
-0 belong 0x020c010d HP s200 dynamic load library
->4 beshort >0 - version %ld
->6 beshort >0 - highwater %d
->36 belong >0 not stripped
-
-#### MISC
-0 long 0x0000ff65 HP old archive
-0 long 0x020aff65 HP s200 old archive
-0 long 0x020cff65 HP s200 old archive
-0 long 0x0208ff65 HP s500 old archive
-
-0 long 0x015821a6 HP core file
-
-0 long 0x4da7eee8 HP-WINDOWS font
->8 byte >0 - version %ld
-0 string Bitmapfile HP Bitmapfile
-
-0 string IMGfile CIS compimg HP Bitmapfile
-# XXX - see "lif"
-#0 short 0x8000 lif file
-0 long 0x020c010c compiled Lisp
-
-0 string msgcat01 HP NLS message catalog,
->8 long >0 %d messages
-
-# addendum to /etc/magic with HP-48sx file-types by phk@data.fls.dk 1jan92
-0 string HPHP48- HP48 binary
->7 byte >0 - Rev %c
->8 beshort 0x1129 (ADR)
->8 beshort 0x3329 (REAL)
->8 beshort 0x5529 (LREAL)
->8 beshort 0x7729 (COMPLX)
->8 beshort 0x9d29 (LCOMPLX)
->8 beshort 0xbf29 (CHAR)
->8 beshort 0xe829 (ARRAY)
->8 beshort 0x0a2a (LNKARRAY)
->8 beshort 0x2c2a (STRING)
->8 beshort 0x4e2a (HXS)
->8 beshort 0x742a (LIST)
->8 beshort 0x962a (DIR)
->8 beshort 0xb82a (ALG)
->8 beshort 0xda2a (UNIT)
->8 beshort 0xfc2a (TAGGED)
->8 beshort 0x1e2b (GROB)
->8 beshort 0x402b (LIB)
->8 beshort 0x622b (BACKUP)
->8 beshort 0x882b (LIBDATA)
->8 beshort 0x9d2d (PROG)
->8 beshort 0xcc2d (CODE)
->8 beshort 0x482e (GNAME)
->8 beshort 0x6d2e (LNAME)
->8 beshort 0x922e (XLIB)
-0 string %%HP: HP48 text
->6 string T(0) - T(0)
->6 string T(1) - T(1)
->6 string T(2) - T(2)
->6 string T(3) - T(3)
->10 string A(D) A(D)
->10 string A(R) A(R)
->10 string A(G) A(G)
->14 string F(.) F(.);
->14 string F(,) F(,);
-
-# hpBSD magic numbers
-0 beshort 200 hp200 (68010) BSD
->2 beshort 0407 impure binary
->2 beshort 0410 read-only binary
->2 beshort 0413 demand paged binary
-0 beshort 300 hp300 (68020+68881) BSD
->2 beshort 0407 impure binary
->2 beshort 0410 read-only binary
->2 beshort 0413 demand paged binary
diff --git a/contrib/file/Magdir/ibm370 b/contrib/file/Magdir/ibm370
deleted file mode 100644
index 8cd9da27ae6a9..0000000000000
--- a/contrib/file/Magdir/ibm370
+++ /dev/null
@@ -1,47 +0,0 @@
-
-#------------------------------------------------------------------------------
-# ibm370: file(1) magic for IBM 370 and compatibles.
-#
-# "ibm370" said that 0x15d == 0535 was "ibm 370 pure executable".
-# What the heck *is* "USS/370"?
-# AIX 4.1's "/etc/magic" has
-#
-# 0 short 0535 370 sysV executable
-# >12 long >0 not stripped
-# >22 short >0 - version %d
-# >30 long >0 - 5.2 format
-# 0 short 0530 370 sysV pure executable
-# >12 long >0 not stripped
-# >22 short >0 - version %d
-# >30 long >0 - 5.2 format
-#
-# instead of the "USS/370" versions of the same magic numbers.
-#
-0 beshort 0537 370 XA sysV executable
->12 belong >0 not stripped
->22 beshort >0 - version %d
->30 belong >0 - 5.2 format
-0 beshort 0532 370 XA sysV pure executable
->12 belong >0 not stripped
->22 beshort >0 - version %d
->30 belong >0 - 5.2 format
-0 beshort 054001 370 sysV pure executable
->12 belong >0 not stripped
-0 beshort 055001 370 XA sysV pure executable
->12 belong >0 not stripped
-0 beshort 056401 370 sysV executable
->12 belong >0 not stripped
-0 beshort 057401 370 XA sysV executable
->12 belong >0 not stripped
-0 beshort 0531 SVR2 executable (Amdahl-UTS)
->12 belong >0 not stripped
->24 belong >0 - version %ld
-0 beshort 0534 SVR2 pure executable (Amdahl-UTS)
->12 belong >0 not stripped
->24 belong >0 - version %ld
-0 beshort 0530 SVR2 pure executable (USS/370)
->12 belong >0 not stripped
->24 belong >0 - version %ld
-0 beshort 0535 SVR2 executable (USS/370)
->12 belong >0 not stripped
->24 belong >0 - version %ld
diff --git a/contrib/file/Magdir/ibm6000 b/contrib/file/Magdir/ibm6000
deleted file mode 100644
index 8e1077b9b8c82..0000000000000
--- a/contrib/file/Magdir/ibm6000
+++ /dev/null
@@ -1,17 +0,0 @@
-
-#------------------------------------------------------------------------------
-# ibm6000: file(1) magic for RS/6000 and the RT PC.
-#
-0 beshort 0x01df executable (RISC System/6000 V3.1) or obj module
->12 belong >0 not stripped
-# Breaks sun4 statically linked execs.
-#0 beshort 0x0103 executable (RT Version 2) or obj module
-#>2 byte 0x50 pure
-#>28 belong >0 not stripped
-#>6 beshort >0 - version %ld
-0 beshort 0x0104 shared library
-0 beshort 0x0105 ctab data
-0 beshort 0xfe04 structured file
-0 string 0xabcdef AIX message catalog
-0 belong 0x000001f9 AIX compiled message catalog
-0 string \<aiaff> archive
diff --git a/contrib/file/Magdir/iff b/contrib/file/Magdir/iff
deleted file mode 100644
index 68d1b79bd86c8..0000000000000
--- a/contrib/file/Magdir/iff
+++ /dev/null
@@ -1,28 +0,0 @@
-
-#------------------------------------------------------------------------------
-# iff: file(1) magic for Interchange File Format (see also "audio" & "images")
-#
-# Daniel Quinlan (quinlan@yggdrasil.com) -- IFF was designed by Electronic
-# Arts for file interchange. It has also been used by Apple, SGI, and
-# especially Commodore-Amiga.
-#
-# IFF files begin with an 8 byte FORM header, followed by a 4 character
-# FORM type, which is followed by the first chunk in the FORM.
-
-0 string FORM IFF data
-#>4 belong x \b, FORM is %d bytes long
-# audio formats
->8 string AIFF \b, AIFF audio
->8 string AIFC \b, AIFF-C compressed audio
->8 string 8SVX \b, 8SVX 8-bit sampled sound voice
->8 string SAMP \b, SAMP sampled audio
-# image formats
->8 string ILBMBMHD \b, ILBM interleaved image
->>20 beshort x \b, %d x
->>22 beshort x %d
->8 string RGBN \b, RGBN 12-bit RGB image
->8 string RGB8 \b, RGB8 24-bit RGB image
->8 string DR2D \b, DR2D 2-D object
->8 string TDDD \b, TDDD 3-D rendering
-# other formats
->8 string FTXT \b, FTXT formatted text
diff --git a/contrib/file/Magdir/intel b/contrib/file/Magdir/intel
deleted file mode 100644
index d450e2661691a..0000000000000
--- a/contrib/file/Magdir/intel
+++ /dev/null
@@ -1,35 +0,0 @@
-
-#------------------------------------------------------------------------------
-# intel: file(1) magic for x86 Unix
-#
-# Various flavors of x86 UNIX executable/object (other than Xenix, which
-# is in "microsoft"). DOS is in "msdos"; the ambitious soul can do
-# Windows as well.
-#
-# Windows NT belongs elsewhere, as you need x86 and MIPS and Alpha and
-# whatever comes next (HP-PA Hummingbird?). OS/2 may also go elsewhere
-# as well, if, as, and when IBM makes it portable.
-#
-# The `versions' should be un-commented if they work for you.
-# (Was the problem just one of endianness?)
-#
-0 leshort 0502 basic-16 executable
->12 lelong >0 not stripped
-#>22 leshort >0 - version %ld
-0 leshort 0503 basic-16 executable (TV)
->12 lelong >0 not stripped
-#>22 leshort >0 - version %ld
-0 leshort 0510 x86 executable
->12 lelong >0 not stripped
-0 leshort 0511 x86 executable (TV)
->12 lelong >0 not stripped
-0 leshort =0512 iAPX 286 executable small model (COFF)
->12 lelong >0 not stripped
-#>22 leshort >0 - version %ld
-0 leshort =0522 iAPX 286 executable large model (COFF)
->12 lelong >0 not stripped
-#>22 leshort >0 - version %ld
-# SGI labeled the next entry as "iAPX 386 executable" --Dan Quinlan
-0 leshort =0514 80386 COFF executable
->12 lelong >0 not stripped
->22 leshort >0 - version %ld
diff --git a/contrib/file/Magdir/interleaf b/contrib/file/Magdir/interleaf
deleted file mode 100644
index 3eea3cff2690a..0000000000000
--- a/contrib/file/Magdir/interleaf
+++ /dev/null
@@ -1,8 +0,0 @@
-
-#------------------------------------------------------------------------------
-# interleaf: file(1) magic for InterLeaf TPS:
-#
-0 string =\210OPS Interleaf saved data
-0 string =<!OPS Interleaf document text
->5 string ,\ Version\ = \b, version
->>17 string >\0 %.3s
diff --git a/contrib/file/Magdir/island b/contrib/file/Magdir/island
deleted file mode 100644
index 9903cddf9217d..0000000000000
--- a/contrib/file/Magdir/island
+++ /dev/null
@@ -1,9 +0,0 @@
-
-#------------------------------------------------------------------------------
-# island: file(1) magic for IslandWite/IslandDraw, from SunOS 5.5.1
-# "/etc/magic":
-# From: guy@netapp.com (Guy Harris)
-#
-4 string pgscriptver IslandWrite document
-13 string DrawFile IslandDraw document
-
diff --git a/contrib/file/Magdir/ispell b/contrib/file/Magdir/ispell
deleted file mode 100644
index 592f064ed63c7..0000000000000
--- a/contrib/file/Magdir/ispell
+++ /dev/null
@@ -1,62 +0,0 @@
-
-#------------------------------------------------------------------------------
-# ispell: file(1) magic for ispell
-#
-# Ispell 3.0 has a magic of 0x9601 and ispell 3.1 has 0x9602. This magic
-# will match 0x9600 through 0x9603 in *both* little endian and big endian.
-# (No other current magic entries collide.)
-#
-# Updated by Daniel Quinlan (quinlan@yggdrasil.com)
-#
-0 leshort&0xFFFC 0x9600 little endian ispell
->0 byte 0 hash file (?),
->0 byte 1 3.0 hash file,
->0 byte 2 3.1 hash file,
->0 byte 3 hash file (?),
->2 leshort 0x00 8-bit, no capitalization, 26 flags
->2 leshort 0x01 7-bit, no capitalization, 26 flags
->2 leshort 0x02 8-bit, capitalization, 26 flags
->2 leshort 0x03 7-bit, capitalization, 26 flags
->2 leshort 0x04 8-bit, no capitalization, 52 flags
->2 leshort 0x05 7-bit, no capitalization, 52 flags
->2 leshort 0x06 8-bit, capitalization, 52 flags
->2 leshort 0x07 7-bit, capitalization, 52 flags
->2 leshort 0x08 8-bit, no capitalization, 128 flags
->2 leshort 0x09 7-bit, no capitalization, 128 flags
->2 leshort 0x0A 8-bit, capitalization, 128 flags
->2 leshort 0x0B 7-bit, capitalization, 128 flags
->2 leshort 0x0C 8-bit, no capitalization, 256 flags
->2 leshort 0x0D 7-bit, no capitalization, 256 flags
->2 leshort 0x0E 8-bit, capitalization, 256 flags
->2 leshort 0x0F 7-bit, capitalization, 256 flags
->4 leshort >0 and %d string characters
-0 beshort&0xFFFC 0x9600 big endian ispell
->1 byte 0 hash file (?),
->1 byte 1 3.0 hash file,
->1 byte 2 3.1 hash file,
->1 byte 3 hash file (?),
->2 beshort 0x00 8-bit, no capitalization, 26 flags
->2 beshort 0x01 7-bit, no capitalization, 26 flags
->2 beshort 0x02 8-bit, capitalization, 26 flags
->2 beshort 0x03 7-bit, capitalization, 26 flags
->2 beshort 0x04 8-bit, no capitalization, 52 flags
->2 beshort 0x05 7-bit, no capitalization, 52 flags
->2 beshort 0x06 8-bit, capitalization, 52 flags
->2 beshort 0x07 7-bit, capitalization, 52 flags
->2 beshort 0x08 8-bit, no capitalization, 128 flags
->2 beshort 0x09 7-bit, no capitalization, 128 flags
->2 beshort 0x0A 8-bit, capitalization, 128 flags
->2 beshort 0x0B 7-bit, capitalization, 128 flags
->2 beshort 0x0C 8-bit, no capitalization, 256 flags
->2 beshort 0x0D 7-bit, no capitalization, 256 flags
->2 beshort 0x0E 8-bit, capitalization, 256 flags
->2 beshort 0x0F 7-bit, capitalization, 256 flags
->4 beshort >0 and %d string characters
-# ispell 4.0 hash files kromJx <kromJx@crosswinds.net>
-# Ispell 4.0
-0 string ISPL ispell
->4 long x hash file version %d,
->8 long x lexletters %d,
->12 long x lexsize %d,
->16 long x hashsize %d,
->20 long x stblsize %d
diff --git a/contrib/file/Magdir/java b/contrib/file/Magdir/java
deleted file mode 100644
index d0677bf7040be..0000000000000
--- a/contrib/file/Magdir/java
+++ /dev/null
@@ -1,11 +0,0 @@
-#------------------------------------------------------------
-# Java ByteCode
-# From Larry Schwimmer (schwim@cs.stanford.edu)
-0 belong 0xcafebabe compiled Java class data,
->6 beshort x version %d.
->4 beshort x \b%d
-#------------------------------------------------------------
-# Java serialization
-# From Martin Pool (m.pool@pharos.com.au)
-0 beshort 0xaced Java serialization data
->2 beshort >0x0004 \b, version %d
diff --git a/contrib/file/Magdir/jpeg b/contrib/file/Magdir/jpeg
deleted file mode 100644
index 089405a68872b..0000000000000
--- a/contrib/file/Magdir/jpeg
+++ /dev/null
@@ -1,61 +0,0 @@
-
-#------------------------------------------------------------------------------
-# JPEG images
-# SunOS 5.5.1 had
-#
-# 0 string \377\330\377\340 JPEG file
-# 0 string \377\330\377\356 JPG file
-#
-# both of which turn into "JPEG image data" here.
-#
-0 beshort 0xffd8 JPEG image data
->6 string JFIF \b, JFIF standard
-
-# The following added by Erik Rossen <rossen@freesurf.ch> 1999-09-06
-# in a vain attempt to add image size reporting for JFIF. Note that these
-# tests are not fool-proof since some perfectly valid JPEGs are currently
-# impossible to specify in magic(4) format.
-# First, a little JFIF version info:
->11 byte x \b %d.
->12 byte x \b%02d
-# Next, the resolution or aspect ratio of the image:
->13 byte 0 \b, aspect ratio
->13 byte 1 \b, resolution (DPI)
->13 byte 2 \b, resolution (DPCM)
->14 beshort x \b X%d:
->16 beshort x \bY%d
-#>4 beshort x \b, segment length %d
-# Next, show thumbnail info, if it exists:
->18 byte !0 \b, thumbnail %dx
->>19 byte x \b%d
-# Here things get sticky. We can do ONE MORE marker segment with
-# indirect addressing, and that's all. It would be great if we could
-# do pointer arithemetic like in an assembler language. Christos?
-# And if there was some sort of looping construct to do searches, plus a few
-# named accumulators, it would be even more effective...
-# At least we can show a comment if no other segments got inserted before:
->(4.S+5) byte 0xFE
->>(4.S+8) string >\0 \b, "%s"
-#>(4.S+5) byte 0xFE \b, comment
-#>>(4.S+6) beshort x \b length=%d
-#>>(4.S+8) string >\0 \b, "%s"
-# Or, we can show the encoding type (I've included only the three most common)
-# and image dimensions if we are lucky and the SOFn (image segment) is here:
->(4.S+5) byte 0xC0 \b, baseline
->>(4.S+6) byte x \b, precision %d
->>(4.S+7) beshort x \b, %dx
->>(4.S+9) beshort x \b%d
->(4.S+5) byte 0xC1 \b, extended sequential
->>(4.S+6) byte x \b, precision %d
->>(4.S+7) beshort x \b, %dx
->>(4.S+9) beshort x \b%d
->(4.S+5) byte 0xC2 \b, progressive
->>(4.S+6) byte x \b, precision %d
->>(4.S+7) beshort x \b, %dx
->>(4.S+9) beshort x \b%d
-# I've commented-out quantisation table reporting. I doubt anyone cares yet.
-#>(4.S+5) byte 0xDB \b, quantisation table
-#>>(4.S+6) beshort x \b length=%d
-
-# HSI is Handmade Software's proprietary JPEG encoding scheme
-0 string hsi1 JPEG image data, HSI proprietary
diff --git a/contrib/file/Magdir/karma b/contrib/file/Magdir/karma
deleted file mode 100644
index 89e77727ea4e4..0000000000000
--- a/contrib/file/Magdir/karma
+++ /dev/null
@@ -1,8 +0,0 @@
-
-#------------------------------------------------------------------------------
-# karma: file(1) magic for Karma data files
-#
-# From <rgooch@atnf.csiro.au>
-
-0 string KarmaRHD Version Karma Data Structure Version
->16 belong x %lu
diff --git a/contrib/file/Magdir/lecter b/contrib/file/Magdir/lecter
deleted file mode 100644
index 87c186bab3632..0000000000000
--- a/contrib/file/Magdir/lecter
+++ /dev/null
@@ -1,4 +0,0 @@
-#------------------------------------------------------------------------------
-# DEC SRC Virtual Paper: Lectern files
-# Karl M. Hegbloom <karlheg@inetarena.com>
-0 string lect DEC SRC Virtual Paper Lectern file
diff --git a/contrib/file/Magdir/lex b/contrib/file/Magdir/lex
deleted file mode 100644
index 7b6d0f74a4004..0000000000000
--- a/contrib/file/Magdir/lex
+++ /dev/null
@@ -1,11 +0,0 @@
-
-#------------------------------------------------------------------------------
-# lex: file(1) magic for lex
-#
-# derived empirically, your offsets may vary!
-53 string yyprevious C program text (from lex)
->3 string >\0 for %s
-# C program text from GNU flex, from Daniel Quinlan <quinlan@yggdrasil.com>
-21 string generated\ by\ flex C program text (from flex)
-# lex description file, from Daniel Quinlan <quinlan@yggdrasil.com>
-0 string %{ lex description text
diff --git a/contrib/file/Magdir/lif b/contrib/file/Magdir/lif
deleted file mode 100644
index cf20e4997d832..0000000000000
--- a/contrib/file/Magdir/lif
+++ /dev/null
@@ -1,7 +0,0 @@
-
-#------------------------------------------------------------------------------
-# lif: file(1) magic for lif
-#
-# (Daniel Quinlan <quinlan@yggdrasil.com>)
-#
-0 beshort 0x8000 lif file
diff --git a/contrib/file/Magdir/linux b/contrib/file/Magdir/linux
deleted file mode 100644
index 295edd9d01a39..0000000000000
--- a/contrib/file/Magdir/linux
+++ /dev/null
@@ -1,101 +0,0 @@
-
-#------------------------------------------------------------------------------
-# linux: file(1) magic for Linux files
-#
-# Values for Linux/i386 binaries, from Daniel Quinlan <quinlan@yggdrasil.com>
-# The following basic Linux magic is useful for reference, but using
-# "long" magic is a better practice in order to avoid collisions.
-#
-# 2 leshort 100 Linux/i386
-# >0 leshort 0407 impure executable (OMAGIC)
-# >0 leshort 0410 pure executable (NMAGIC)
-# >0 leshort 0413 demand-paged executable (ZMAGIC)
-# >0 leshort 0314 demand-paged executable (QMAGIC)
-#
-0 lelong 0x00640107 Linux/i386 impure executable (OMAGIC)
->16 lelong 0 \b, stripped
-0 lelong 0x00640108 Linux/i386 pure executable (NMAGIC)
->16 lelong 0 \b, stripped
-0 lelong 0x0064010b Linux/i386 demand-paged executable (ZMAGIC)
->16 lelong 0 \b, stripped
-0 lelong 0x006400cc Linux/i386 demand-paged executable (QMAGIC)
->16 lelong 0 \b, stripped
-#
-0 string \007\001\000 Linux/i386 object file
->20 lelong >0x1020 \b, DLL library
-# Linux-8086 stuff:
-0 string \01\03\020\04 Linux-8086 impure executable
->28 long !0 not stripped
-0 string \01\03\040\04 Linux-8086 executable
->28 long !0 not stripped
-#
-0 string \243\206\001\0 Linux-8086 object file
-#
-0 string \01\03\020\20 Minix-386 impure executable
->28 long !0 not stripped
-0 string \01\03\040\20 Minix-386 executable
->28 long !0 not stripped
-# core dump file, from Bill Reynolds <bill@goshawk.lanl.gov>
-216 lelong 0421 Linux/i386 core file
->220 string >\0 of '%s'
->200 lelong >0 (signal %d)
-#
-# LILO boot/chain loaders, from Daniel Quinlan <quinlan@yggdrasil.com>
-# this can be overridden by the DOS executable (COM) entry
-2 string LILO Linux/i386 LILO boot/chain loader
-#
-# Debian Packages, from Peter Tobias <tobias@server.et-inf.fho-emden.de>
-0 string 0.9
->8 byte 0x0a old Debian Binary Package
->>3 byte >0 \b, created by dpkg 0.9%c
->>4 byte >0 pl%c
-# PSF fonts, from H. Peter Anvin <hpa@yggdrasil.com>
-0 leshort 0x0436 Linux/i386 PC Screen Font data,
->2 byte 0 256 characters, no directory,
->2 byte 1 512 characters, no directory,
->2 byte 2 256 characters, Unicode directory,
->2 byte 3 512 characters, Unicode directory,
->3 byte >0 8x%d
-# Linux swap file, from Daniel Quinlan <quinlan@yggdrasil.com>
-4086 string SWAP-SPACE Linux/i386 swap file
-# ECOFF magic for OSF/1 and Linux (only tested under Linux though)
-#
-# from Erik Troan (ewt@redhat.com) examining od dumps, so this
-# could be wrong
-# updated by David Mosberger (davidm@azstarnet.com) based on
-# GNU BFD and MIPS info found below.
-#
-0 leshort 0x0183 ECOFF alpha
->24 leshort 0407 executable
->24 leshort 0410 pure
->24 leshort 0413 demand paged
->8 long >0 not stripped
->8 long 0 stripped
->23 leshort >0 - version %ld.
-#
-# Linux kernel boot images, from Albert Cahalan <acahalan@cs.uml.edu>
-# and others such as Axel Kohlmeyer <akohlmey@rincewind.chemie.uni-ulm.de>
-# and Nicolás Lichtmaier <nick@debian.org>
-# All known start with: b8 c0 07 8e d8 b8 00 90 8e c0 b9 00 01 29 f6 29
-514 string HdrS Linux kernel
->518 leshort >0
->>529 byte 0 zImage data,
->>529 byte 1 bzImage data,
->0x048c byte 0x31
->>0x048c string x version %s
->0x0493 byte 0x31
->>0x0493 string x version %s
->0x048c byte 0x32
->>0x048c string x version %s
->0x0493 byte 0x32
->>0x0493 string x version %s
->0x04df byte 0x32
->>0x04df string x version %s
->0x04fb byte 0x32
->>0x04fb string x version %s
-# This also matches new kernels, which were caught above by "HdrS".
-0 belong 0xb8c0078e Linux kernel
->0x1e3 string Loading version 1.3.79 or older
->0x1e9 string Loading from prehistoric times
-# LSM entries - Nicolás Lichtmaier <nick@feedback.net.ar>
-0 string Begin3 Linux Software Map entry text
diff --git a/contrib/file/Magdir/lisp b/contrib/file/Magdir/lisp
deleted file mode 100644
index 4064dab20928e..0000000000000
--- a/contrib/file/Magdir/lisp
+++ /dev/null
@@ -1,21 +0,0 @@
-
-#------------------------------------------------------------------------------
-# lisp: file(1) magic for lisp programs
-#
-# various lisp types, from Daniel Quinlan (quinlan@yggdrasil.com)
-0 string ;; Lisp/Scheme program text
-# Emacs 18 - this is always correct, but not very magical.
-0 string \012( byte-compiled Emacs-Lisp program data
-# Emacs 19
-0 string ;ELC\023\000\000\000 byte-compiled Emacs-Lisp program data
-#
-# Files produced by CLISP Common Lisp From: Bruno Haible <haible@ilog.fr>
-0 string (SYSTEM::VERSION\040' CLISP byte-compiled Lisp program text
-0 long 0x70768BD2 CLISP memory image data
-0 long 0xD28B7670 CLISP memory image data, other endian
-# Files produced by GNU gettext
-0 long 0xDE120495 GNU-format message catalog data
-0 long 0x950412DE GNU-format message catalog data
-
-#.com and .bin for MIT scheme
-0 string \372\372\372\372 MIT scheme (library?)
diff --git a/contrib/file/Magdir/mach b/contrib/file/Magdir/mach
deleted file mode 100644
index e0f4808eea5b9..0000000000000
--- a/contrib/file/Magdir/mach
+++ /dev/null
@@ -1,43 +0,0 @@
-#------------------------------------------------------------------------------
-# mach file description
-#
-0 belong 0xcafebabe Mach-O fat file
->4 belong 1 with 1 architecture
->4 belong >1
->>4 belong x with %ld architectures
-#
-0 belong 0xfeedface Mach-O
->12 belong 1 object
->12 belong 2 executable
->12 belong 3 shared library
->12 belong 4 core
->12 belong 5 preload executable
->12 belong >5
->>12 belong x filetype=%ld
->4 belong <0
->>4 belong x architecture=%ld
->4 belong 1 vax
->4 belong 2 romp
->4 belong 3 architecture=3
->4 belong 4 ns32032
->4 belong 5 ns32332
->4 belong 6 for m68k architecture
-# from NeXTstep 3.0 <mach/machine.h>
-# i.e. mc680x0_all, ignore
-# >>8 belong 1 (mc68030)
->>8 belong 2 (mc68040)
->>8 belong 3 (mc68030 only)
->4 belong 7 i386
->4 belong 8 mips
->4 belong 9 ns32532
->4 belong 10 architecture=10
->4 belong 11 hp pa-risc
->4 belong 12 acorn
->4 belong 13 m88k
->4 belong 14 sparc
->4 belong 15 i860-big
->4 belong 16 i860
->4 belong 17 rs6000
->4 belong 18 powerPC
->4 belong >18
->>4 belong x architecture=%ld
diff --git a/contrib/file/Magdir/magic b/contrib/file/Magdir/magic
deleted file mode 100644
index 4a639c6579cd1..0000000000000
--- a/contrib/file/Magdir/magic
+++ /dev/null
@@ -1,5 +0,0 @@
-
-#------------------------------------------------------------------------------
-# magic: file(1) magic for magic files
-#
-0 string #\ Magic magic text file for file(1) cmd
diff --git a/contrib/file/Magdir/mail.news b/contrib/file/Magdir/mail.news
deleted file mode 100644
index 9713d29b3f4fa..0000000000000
--- a/contrib/file/Magdir/mail.news
+++ /dev/null
@@ -1,24 +0,0 @@
-
-#------------------------------------------------------------------------------
-# mail.news: file(1) magic for mail and news
-#
-# Unfortunately, saved netnews also has From line added in some news software.
-#0 string From mail text
-# There are tests to ascmagic.c to cope with mail and news.
-0 string Relay-Version: old news text
-0 string #!\ rnews batched news text
-0 string N#!\ rnews mailed, batched news text
-0 string Forward\ to mail forwarding text
-0 string Pipe\ to mail piping text
-0 string Return-Path: smtp mail text
-0 string Path: news text
-0 string Xref: news text
-0 string From: news or mail text
-0 string Article saved news text
-0 string BABYL Emacs RMAIL text
-0 string Received: RFC 822 mail text
-0 string MIME-Version: MIME entity text
-#0 string Content- MIME entity text
-
-# TNEF files...
-0 lelong 0x223E9F78 Transport Neutral Encapsulation Format
diff --git a/contrib/file/Magdir/maple b/contrib/file/Magdir/maple
deleted file mode 100644
index f39c62d25370c..0000000000000
--- a/contrib/file/Magdir/maple
+++ /dev/null
@@ -1,57 +0,0 @@
-
-#------------------------------------------------------------------------------
-# maple: file(1) magic for maple files
-# "H. Nanosecond" <aldomel@ix.netcom.com>
-# Maple V release 4, a multi-purpose math program
-#
-
-# maple library .lib
-0 string \000MVR4\nI MapleVr4 library
-
-# .ind
-# no magic for these :-(
-# they are compiled indexes for maple files
-
-# .hdb
-0 string \000\004\000\000 Maple help database
-
-# .mhp
-# this has the form <PACKAGE=name>
-0 string \<PACKAGE= Maple help file
-0 string \<HELP\ NAME= Maple help file
-0 string \n\<HELP\ NAME= Maple help file with extra carriage return at start (yuck)
-0 string #\ Newton Maple help file, old style
-0 string #\ daub Maple help file, old style
-0 string #=========== Maple help file, old style
-
-# .mws
-0 string \000\000\001\044\000\221 Maple worksheet
-#this is anomalous
-0 string WriteNow\000\002\000\001\000\000\000\000\100\000\000\000\000\000 Maple worksheet, but weird
-# this has the form {VERSION 2 3 "IBM INTEL NT" "2.3" }\n
-# that is {VERSION major_version miunor_version computer_type version_string}
-0 string {VERSION\ Maple worksheet
->9 string >\0 version %.1s.
->>10 string
->>>11 string >\0 %.1s
-
-# .mps
-0 string \0\0\001$ Maple something
-# from byte 4 it is either 'nul E' or 'soh R'
-# I think 'nul E' means a file that was saved as a different name
-# a sort of revision marking
-# 'soh R' means new
->4 string \000\105 An old revision
->4 string \001\122 The latest save
-
-# .mpl
-# some of these are the same as .mps above
-#0000000 000 000 001 044 000 105 same as .mps
-#0000000 000 000 001 044 001 122 same as .mps
-
-0 string #\n##\ <SHAREFILE= Maple something
-0 string \n#\n##\ <SHAREFILE= Maple something
-0 string ##\ <SHAREFILE= Maple something
-0 string #\r##\ <SHAREFILE= Maple something
-0 string \r#\r##\ <SHAREFILE= Maple something
-0 string #\ \r##\ <DESCRIBE> Maple something anomalous.
diff --git a/contrib/file/Magdir/mathematica b/contrib/file/Magdir/mathematica
deleted file mode 100644
index 136c25361eed1..0000000000000
--- a/contrib/file/Magdir/mathematica
+++ /dev/null
@@ -1,59 +0,0 @@
-
-#------------------------------------------------------------------------------
-# mathematica: file(1) magic for mathematica files
-# "H. Nanosecond" <aldomel@ix.netcom.com>
-# Mathematica a multi-purpose math program
-# versions 2.2 and 3.0
-
-#mathematica .mb
-0 string \064\024\012\000\035\000\000\000 Mathematica version 2 notebook
-0 string \064\024\011\000\035\000\000\000 Mathematica version 2 notebook
-
-# .ma
-# multiple possibilites:
-
-0 string (*^\n\n::[\011frontEndVersion\ =\ Mathematica notebook
-#>41 string >\0 %s
-
-#0 string (*^\n\n::[\011palette Mathematica notebook version 2.x
-
-#0 string (*^\n\n::[\011Information Mathematica notebook version 2.x
-#>675 string >\0 %s #doesn't work well
-
-# there may be 'cr' instread of 'nl' in some does this matter?
-
-# generic:
-0 string (*^\r\r::[\011 Mathematica notebook version 2.x
-0 string \(\*\^\r\n\r\n\:\:\[\011 Mathematica notebook version 2.x
-0 string (*^\015 Mathematica notebook version 2.x
-0 string (*^\n\r\n\r::[\011 Mathematica notebook version 2.x
-0 string (*^\r::[\011 Mathematica notebook version 2.x
-0 string (*^\r\n::[\011 Mathematica notebook version 2.x
-0 string (*^\n\n::[\011 Mathematica notebook version 2.x
-0 string (*^\n::[\011 Mathematica notebook version 2.x
-
-
-# Mathematica .mx files
-
-#0 string (*This\ is\ a\ Mathematica\ binary\ dump\ file.\ It\ can\ be\ loaded\ with\ Get.*) Mathematica binary file
-0 string (*This\ is\ a\ Mathematica\ binary\ Mathematica binary file
-#>71 string \000\010\010\010\010\000\000\000\000\000\000\010\100\010\000\000\000
-# >71... is optional
->88 string >\0 from %s
-
-
-# Mathematica files PBF:
-# 115 115 101 120 102 106 000 001 000 000 000 203 000 001 000
-0 string MMAPBF\000\001\000\000\000\203\000\001\000 Mathematica PBF (fonts I think)
-
-# .ml files These are menu resources I think
-# these start with "[0-9][0-9][0-9]\ A~[0-9][0-9][0-9]\
-# how to put that into a magic rule?
-4 string \ A~ MAthematica .ml file
-
-# .nb files
-#too long 0 string (***********************************************************************\n\n\ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ \ Mathematica-Compatible Notebook Mathematica 3.0 notebook
-0 string (*********************** Mathematica 3.0 notebook
-
-# other (* matches it is a comment start in these langs
-0 string (* Mathematica, or Pascal, Modula-2 or 3 code
diff --git a/contrib/file/Magdir/mcrypt b/contrib/file/Magdir/mcrypt
deleted file mode 100644
index 6416104da46dc..0000000000000
--- a/contrib/file/Magdir/mcrypt
+++ /dev/null
@@ -1,31 +0,0 @@
-#------------------------------------------------------------------------------
-# Mavroyanopoulos Nikos <nmav@hellug.gr>
-# mcrypt: file(1) magic for mcrypt 2.2.x;
-0 string \0m\2 mcrypt 2.2 encrypted data,
->3 byte 0 algorithm: blowfish-448,
->3 byte 1 algorithm: DES,
->3 byte 2 algorithm: 3DES,
->3 byte 3 algorithm: 3-WAY,
->3 byte 4 algorithm: GOST,
->3 byte 6 algorithm: SAFER-SK64,
->3 byte 7 algorithm: SAFER-SK128,
->3 byte 8 algorithm: CAST-128,
->3 byte 9 algorithm: xTEA,
->3 byte 10 algorithm: TWOFISH-128,
->3 byte 11 algorithm: RC2,
->3 byte 12 algorithm: TWOFISH-192,
->3 byte 13 algorithm: TWOFISH-256,
->3 byte 14 algorithm: blowfish-128,
->3 byte 15 algorithm: blowfish-192,
->3 byte 16 algorithm: blowfish-256,
->3 byte 100 algorithm: RC6,
->3 byte 101 algorithm: IDEA,
->4 byte 0 mode: CBC,
->4 byte 1 mode: ECB,
->4 byte 2 mode: CFB,
->4 byte 3 mode: OFB,
->4 byte 4 mode: nOFB,
->5 byte 0 keymode: 8bit
->5 byte 1 keymode: 4bit
->5 byte 2 keymode: SHA-1 hash
->5 byte 3 keymode: MD5 hash
diff --git a/contrib/file/Magdir/mime b/contrib/file/Magdir/mime
deleted file mode 100644
index 0102709191a5d..0000000000000
--- a/contrib/file/Magdir/mime
+++ /dev/null
@@ -1,7 +0,0 @@
-#------------------------------------------------------------------------------
-# mime: file(1) magic for MIME encoded files
-#
-0 string Content-Type:\
->14 string >\0 %s
-0 string Content-Type:
->13 string >\0 %s
diff --git a/contrib/file/Magdir/mirage b/contrib/file/Magdir/mirage
deleted file mode 100644
index 73c3747bb7fde..0000000000000
--- a/contrib/file/Magdir/mirage
+++ /dev/null
@@ -1,7 +0,0 @@
-
-#------------------------------------------------------------------------------
-# mirage: file(1) magic for Mirage executables
-#
-# XXX - byte order?
-#
-0 long 31415 Mirage Assembler m.out executable
diff --git a/contrib/file/Magdir/mkid b/contrib/file/Magdir/mkid
deleted file mode 100644
index dfb2d93f4389c..0000000000000
--- a/contrib/file/Magdir/mkid
+++ /dev/null
@@ -1,10 +0,0 @@
-
-#------------------------------------------------------------------------------
-# mkid: file(1) magic for mkid(1) databases
-#
-# ID is the binary tags database produced by mkid(1).
-#
-# XXX - byte order?
-#
-0 string \311\304 ID tags data
->2 short >0 version %d
diff --git a/contrib/file/Magdir/mmdf b/contrib/file/Magdir/mmdf
deleted file mode 100644
index 72cd9f32581b6..0000000000000
--- a/contrib/file/Magdir/mmdf
+++ /dev/null
@@ -1,5 +0,0 @@
-
-#------------------------------------------------------------------------------
-# mmdf: file(1) magic for MMDF mail files
-#
-0 string \001\001\001\001 MMDF mailbox
diff --git a/contrib/file/Magdir/modem b/contrib/file/Magdir/modem
deleted file mode 100644
index 73e747e161dcf..0000000000000
--- a/contrib/file/Magdir/modem
+++ /dev/null
@@ -1,33 +0,0 @@
-#------------------------------------------------------------------------------
-# modem: file(1) magic for modem programs
-#
-# From: Florian La Roche <florian@knorke.saar.de>
-4 string Research, Digifax-G3-File
->29 byte 1 , fine resolution
->29 byte 0 , normal resolution
-
-0 short 0x0100 raw G3 data, byte-padded
-0 short 0x1400 raw G3 data
-#
-# Magic data for vgetty voice formats
-# (Martin Seine & Marc Eberhard)
-
-#
-# raw modem data version 1
-#
-0 string RMD1 raw modem data
->4 string >\0 (%s /
->20 short >0 compression type 0x%04x)
-
-#
-# portable voice format 1
-#
-0 string PVF1\n portable voice format
->5 string >\0 (binary %s)
-
-#
-# portable voice format 2
-#
-0 string PVF2\n portable voice format
->5 string >\0 (ascii %s)
-
diff --git a/contrib/file/Magdir/motorola b/contrib/file/Magdir/motorola
deleted file mode 100644
index efed159746ed3..0000000000000
--- a/contrib/file/Magdir/motorola
+++ /dev/null
@@ -1,32 +0,0 @@
-
-#------------------------------------------------------------------------------
-# motorola: file(1) magic for Motorola 68K and 88K binaries
-#
-# 68K
-#
-0 beshort 0520 mc68k COFF
->18 beshort ^00000020 object
->18 beshort &00000020 executable
->12 belong >0 not stripped
->168 string .lowmem Apple toolbox
->20 beshort 0407 (impure)
->20 beshort 0410 (pure)
->20 beshort 0413 (demand paged)
->20 beshort 0421 (standalone)
-0 beshort 0521 mc68k executable (shared)
->12 belong >0 not stripped
-0 beshort 0522 mc68k executable (shared demand paged)
->12 belong >0 not stripped
-#
-# Motorola/UniSoft 68K Binary Compatibility Standard (BCS)
-#
-0 beshort 0554 68K BCS executable
-#
-# 88K
-#
-# Motorola/88Open BCS
-#
-0 beshort 0555 88K BCS executable
-#
-# Motorola S-Records, from Gerd Truschinski <gt@freebsd.first.gmd.de>
-0 string S0 Motorola S-Record; binary data in text format
diff --git a/contrib/file/Magdir/msvc b/contrib/file/Magdir/msvc
deleted file mode 100644
index 95853fec9b375..0000000000000
--- a/contrib/file/Magdir/msvc
+++ /dev/null
@@ -1,44 +0,0 @@
-
-#------------------------------------------------------------------------------
-# msvc: file(1) magic for msvc
-# "H. Nanosecond" <aldomel@ix.netcom.com>
-# Microsoft visual C
-#
-# I have version 1.0
-
-# .aps
-0 string HWB\000\377\001\000\000\000 Microsoft Visual C .APS file
-
-# .ide
-#too long 0 string \102\157\162\154\141\156\144\040\103\053\053\040\120\162\157\152\145\143\164\040\106\151\154\145\012\000\032\000\002\000\262\000\272\276\372\316 MSVC .ide
-0 string \102\157\162\154\141\156\144\040\103\053\053\040\120\162\157 MSVC .ide
-
-# .res
-0 string \000\000\000\000\040\000\000\000\377 MSVC .res
-0 string \377\003\000\377\001\000\020\020\350 MSVC .res
-0 string \377\003\000\377\001\000\060\020\350 MSVC .res
-
-#.lib
-0 string \360\015\000\000 Microsoft Visual C library
-0 string \360\075\000\000 Microsoft Visual C library
-0 string \360\175\000\000 Microsoft Visual C library
-
-#.pch
-0 string DTJPCH0\000\022\103\006\200 Microsoft Visual C .pch
-
-# .pdb
-# too long 0 string Microsoft\ C/C++\ program\ database\
-0 string Microsoft\ C/C++\ MSVC program database
->18 string program\ database\
->33 string >\0 ver %s
-
-#.sbr
-0 string \000\002\000\007\000 MSVC .sbr
->5 string >\0 %s
-
-#.bsc
-0 string \002\000\002\001 MSVC .bsc
-
-#.wsp
-0 string 1.00\ .0000.0000\000\003 MSVC .wsp version 1.0000.0000
-# these seem to start with the version and contain menus
diff --git a/contrib/file/Magdir/ncr b/contrib/file/Magdir/ncr
deleted file mode 100644
index 987c94e4a846e..0000000000000
--- a/contrib/file/Magdir/ncr
+++ /dev/null
@@ -1,48 +0,0 @@
-
-#------------------------------------------------------------------------------
-# ncr: file(1) magic for NCR Tower objects
-#
-# contributed by
-# Michael R. Wayne *** TMC & Associates *** INTERNET: wayne@ford-vax.arpa
-# uucp: {philabs | pyramid} !fmsrl7!wayne OR wayne@fmsrl7.UUCP
-#
-0 beshort 000610 Tower/XP rel 2 object
->12 belong >0 not stripped
->20 beshort 0407 executable
->20 beshort 0410 pure executable
->22 beshort >0 - version %ld
-0 beshort 000615 Tower/XP rel 2 object
->12 belong >0 not stripped
->20 beshort 0407 executable
->20 beshort 0410 pure executable
->22 beshort >0 - version %ld
-0 beshort 000620 Tower/XP rel 3 object
->12 belong >0 not stripped
->20 beshort 0407 executable
->20 beshort 0410 pure executable
->22 beshort >0 - version %ld
-0 beshort 000625 Tower/XP rel 3 object
->12 belong >0 not stripped
->20 beshort 0407 executable
->20 beshort 0410 pure executable
->22 beshort >0 - version %ld
-0 beshort 000630 Tower32/600/400 68020 object
->12 belong >0 not stripped
->20 beshort 0407 executable
->20 beshort 0410 pure executable
->22 beshort >0 - version %ld
-0 beshort 000640 Tower32/800 68020
->18 beshort &020000 w/68881 object
->18 beshort &040000 compatible object
->18 beshort &~060000 object
->20 beshort 0407 executable
->20 beshort 0413 pure executable
->12 belong >0 not stripped
->22 beshort >0 - version %ld
-0 beshort 000645 Tower32/800 68010
->18 beshort &040000 compatible object
->18 beshort &~060000 object
->20 beshort 0407 executable
->20 beshort 0413 pure executable
->12 belong >0 not stripped
->22 beshort >0 - version %ld
diff --git a/contrib/file/Magdir/netscape b/contrib/file/Magdir/netscape
deleted file mode 100644
index eb4361c06c578..0000000000000
--- a/contrib/file/Magdir/netscape
+++ /dev/null
@@ -1,21 +0,0 @@
-
-#------------------------------------------------------------------------------
-# netscape: file(1) magic for Netscape files
-# "H. Nanosecond" <aldomel@ix.netcom.com>
-# version 3 and 4 I think
-#
-
-# Netscape Address book .nab
-0 string \000\017\102\104\000\000\000\000\000\000\001\000\000\000\000\002\000\000\000\002\000\000\004\000 Netscape Address book
-
-# .snm Caches
-0 string #\ Netscape\ folder\ cache Netscape folder cache
-0 string \000\036\204\220\000 Netscape folder cache
-# .n2p
-# Net 2 Phone
-#0 string 123\130\071\066\061\071\071\071\060\070\061\060\061\063\060
-0 string SX961999 Net2phone
-
-#
-#This is files ending in .art, FIXME add more rules
-0 string JG\004\016\0\0\0\0 ART
diff --git a/contrib/file/Magdir/news b/contrib/file/Magdir/news
deleted file mode 100644
index 0ac4fa2697480..0000000000000
--- a/contrib/file/Magdir/news
+++ /dev/null
@@ -1,12 +0,0 @@
-
-#------------------------------------------------------------------------------
-# news: file(1) magic for SunOS NeWS fonts (not "news" as in "netnews")
-#
-0 string StartFontMetrics ASCII font metrics
-0 string StartFont ASCII font bits
-0 belong 0x137A2944 NeWS bitmap font
-0 belong 0x137A2947 NeWS font family
-0 belong 0x137A2950 scalable OpenFont binary
-0 belong 0x137A2951 encrypted scalable OpenFont binary
-8 belong 0x137A2B45 X11/NeWS bitmap font
-8 belong 0x137A2B48 X11/NeWS font family
diff --git a/contrib/file/Magdir/octave b/contrib/file/Magdir/octave
deleted file mode 100644
index 309314820e45b..0000000000000
--- a/contrib/file/Magdir/octave
+++ /dev/null
@@ -1,4 +0,0 @@
-#------------------------------------------------------------------------------
-# octave binary data file(1) magic, from Dirk Eddelbuettel <edd@debian.org>
-0 string Octave-1-L Octave binary data (little endian)
-0 string Octave-1-B Octave binary data (big endian)
diff --git a/contrib/file/Magdir/olf b/contrib/file/Magdir/olf
deleted file mode 100644
index e698c36a49eea..0000000000000
--- a/contrib/file/Magdir/olf
+++ /dev/null
@@ -1,97 +0,0 @@
-
-#------------------------------------------------------------------------------
-# olf: file(1) magic for OLF executables
-#
-# We have to check the byte order flag to see what byte order all the
-# other stuff in the header is in.
-#
-# MIPS R3000 may also be for MIPS R2000.
-# What're the correct byte orders for the nCUBE and the Fujitsu VPP500?
-#
-# Created by Erik Theisen <etheisen@openbsd.org>
-# Based on elf from Daniel Quinlan <quinlan@yggdrasil.com>
-0 string \177OLF OLF
->4 byte 0 invalid class
->4 byte 1 32-bit
->4 byte 2 64-bit
->7 byte 0 invalid os
->7 byte 1 OpenBSD
->7 byte 2 NetBSD
->7 byte 3 FreeBSD
->7 byte 4 4.4BSD
->7 byte 5 Linux
->7 byte 6 SVR4
->7 byte 7 esix
->7 byte 8 Solaris
->7 byte 9 Irix
->7 byte 10 SCO
->7 byte 11 Dell
->7 byte 12 NCR
->5 byte 0 invalid byte order
->5 byte 1 LSB
->>16 leshort 0 no file type,
->>16 leshort 1 relocatable,
->>16 leshort 2 executable,
->>16 leshort 3 shared object,
-# Core handling from Peter Tobias <tobias@server.et-inf.fho-emden.de>
-# corrections by Christian 'Dr. Disk' Hechelmann <drdisk@ds9.au.s.shuttle.de>
->>16 leshort 4 core file
->>>(0x38+0xcc) string >\0 of '%s'
->>>(0x38+0x10) lelong >0 (signal %d),
->>16 leshort &0xff00 processor-specific,
->>18 leshort 0 no machine,
->>18 leshort 1 AT&T WE32100 - invalid byte order,
->>18 leshort 2 SPARC - invalid byte order,
->>18 leshort 3 Intel 80386,
->>18 leshort 4 Motorola 68000 - invalid byte order,
->>18 leshort 5 Motorola 88000 - invalid byte order,
->>18 leshort 6 Intel 80486,
->>18 leshort 7 Intel 80860,
->>18 leshort 8 MIPS R3000_BE - invalid byte order,
->>18 leshort 9 Amdahl - invalid byte order,
->>18 leshort 10 MIPS R3000_LE,
->>18 leshort 11 RS6000 - invalid byte order,
->>18 leshort 15 PA-RISC - invalid byte order,
->>18 leshort 16 nCUBE,
->>18 leshort 17 VPP500,
->>18 leshort 18 SPARC32PLUS,
->>18 leshort 20 PowerPC,
->>18 leshort 0x9026 Alpha,
->>20 lelong 0 invalid version
->>20 lelong 1 version 1
->>36 lelong 1 MathCoPro/FPU/MAU Required
->8 string >\0 (%s)
->5 byte 2 MSB
->>16 beshort 0 no file type,
->>16 beshort 1 relocatable,
->>16 beshort 2 executable,
->>16 beshort 3 shared object,
->>16 beshort 4 core file,
->>>(0x38+0xcc) string >\0 of '%s'
->>>(0x38+0x10) belong >0 (signal %d),
->>16 beshort &0xff00 processor-specific,
->>18 beshort 0 no machine,
->>18 beshort 1 AT&T WE32100,
->>18 beshort 2 SPARC,
->>18 beshort 3 Intel 80386 - invalid byte order,
->>18 beshort 4 Motorola 68000,
->>18 beshort 5 Motorola 88000,
->>18 beshort 6 Intel 80486 - invalid byte order,
->>18 beshort 7 Intel 80860,
->>18 beshort 8 MIPS R3000_BE,
->>18 beshort 9 Amdahl,
->>18 beshort 10 MIPS R3000_LE - invalid byte order,
->>18 beshort 11 RS6000,
->>18 beshort 15 PA-RISC,
->>18 beshort 16 nCUBE,
->>18 beshort 17 VPP500,
->>18 beshort 18 SPARC32PLUS,
->>18 beshort 20 PowerPC or cisco 4500,
->>18 beshort 21 cisco 7500,
->>18 beshort 24 cisco SVIP,
->>18 beshort 25 cisco 7200,
->>18 beshort 36 cisco 12000,
->>18 beshort 0x9026 Alpha,
->>20 belong 0 invalid version
->>20 belong 1 version 1
->>36 belong 1 MathCoPro/FPU/MAU Required
diff --git a/contrib/file/Magdir/os2 b/contrib/file/Magdir/os2
deleted file mode 100644
index 7ae67c7c45853..0000000000000
--- a/contrib/file/Magdir/os2
+++ /dev/null
@@ -1,47 +0,0 @@
-
-#------------------------------------------------------------------------------
-# os2: file(1) magic for OS/2 files
-#
-
-# Provided 1998/08/22 by
-# David Mediavilla <davidme.news@REMOVEIFNOTSPAMusa.net>
-1 string InternetShortcut MS Windows 95 Internet shortcut text
->24 string >\ (URL=<%s>)
-
-# OS/2 URL objects
-# Provided 1998/08/22 by
-# David Mediavilla <davidme.news@REMOVEIFNOTSPAMusa.net>
-0 string http: OS/2 URL object text
->5 string >\ (WWW) <http:%s>
-0 string mailto: OS/2 URL object text
->7 string >\ (email) <%s>
-0 string news: OS/2 URL object text
->5 string >\ (Usenet) <%s>
-0 string ftp: OS/2 URL object text
->4 string >\ (FTP) <ftp:%s>
-0 string file: OS/2 URL object text
->5 string >\ (Local file) <%s>
-
-# >>>>> OS/2 INF/HLP <<<<< (source: Daniel Dissett ddissett@netcom.com)
-# Carl Hauser (chauser.parc@xerox.com) and
-# Marcus Groeber (marcusg@ph-cip.uni-koeln.de)
-# list the following header format in inf02a.doc:
-#
-# int16 ID; // ID magic word (5348h = "HS")
-# int8 unknown1; // unknown purpose, could be third letter of ID
-# int8 flags; // probably a flag word...
-# // bit 0: set if INF style file
-# // bit 4: set if HLP style file
-# // patching this byte allows reading HLP files
-# // using the VIEW command, while help files
-# // seem to work with INF settings here as well.
-# int16 hdrsize; // total size of header
-# int16 unknown2; // unknown purpose
-#
-0 string HSP\x01\x9b\x00 OS/2 INF
->107 string >0 (%s)
-0 string HSP\x10\x9b\x00 OS/2 HLP
->107 string >0 (%s)
-
-# OS/2 INI (this is a guess)
-0 string \xff\xff\xff\xff\x14\0\0\0 OS/2 INI
diff --git a/contrib/file/Magdir/os9 b/contrib/file/Magdir/os9
deleted file mode 100644
index 95d23f19980c6..0000000000000
--- a/contrib/file/Magdir/os9
+++ /dev/null
@@ -1,86 +0,0 @@
-#
-# $NetBSD: os9,v 1.2 1997/01/09 20:19:04 tls Exp $
-#
-# Copyright (c) 1996 Ignatios Souvatzis. All rights reserved.
-#
-# Redistribution and use in source and binary forms, with or without
-# modification, are permitted provided that the following conditions
-# are met:
-# 1. Redistributions of source code must retain the above copyright
-# notice, this list of conditions and the following disclaimer.
-# 2. Redistributions in binary form must reproduce the above copyright
-# notice, this list of conditions and the following disclaimer in the
-# documentation and/or other materials provided with the distribution.
-# 3. All advertising materials mentioning features or use of this software
-# must display the following acknowledgement:
-# This product includes software developed by Ignatios Souvatzis for
-# the NetBSD project.
-# 4. The name of the author may not be used to endorse or promote products
-# derived from this software without specific prior written permission.
-#
-#
-# THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
-# IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
-# OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
-# IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
-# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
-# PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
-# OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
-# WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
-# OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
-# ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
-#
-#
-#
-# OS9/6809 module descriptions:
-#
-0 beshort 0x87CD OS9/6809 module:
-#
->6 byte&0x0f 0x00 non-executable
->6 byte&0x0f 0x01 machine language
->6 byte&0x0f 0x02 BASIC I-code
->6 byte&0x0f 0x03 P-code
->6 byte&0x0f 0x04 C I-code
->6 byte&0x0f 0x05 COBOL I-code
->6 byte&0x0f 0x06 FORTRAN I-code
-#
->6 byte&0xf0 0x10 program executable
->6 byte&0xf0 0x20 subroutine
->6 byte&0xf0 0x30 multi-module
->6 byte&0xf0 0x40 data module
-#
->6 byte&0xf0 0xC0 system module
->6 byte&0xf0 0xD0 file manager
->6 byte&0xf0 0xE0 device driver
->6 byte&0xf0 0xF0 device descriptor
-#
-# OS9/m68k stuff (to be continued)
-#
-0 beshort 0x4AFC OS9/68K module:
-#
-# attr
->14 byte&0x80 0x80 re-entrant
->14 byte&0x40 0x40 ghost
->14 byte&0x20 0x20 system-state
-#
-# lang:
-#
->13 byte 1 machine language
->13 byte 2 BASIC I-code
->13 byte 3 P-code
->13 byte 4 C I-code
->13 byte 5 COBOL I-code
->13 byte 6 Fortran I-code
-#
-#
-# type:
-#
->12 byte 1 program executable
->12 byte 2 subroutine
->12 byte 3 multi-module
->12 byte 4 data module
->12 byte 11 trap library
->12 byte 12 system module
->12 byte 13 file manager
->12 byte 14 device driver
->12 byte 15 device descriptor
diff --git a/contrib/file/Magdir/osf1 b/contrib/file/Magdir/osf1
deleted file mode 100644
index 31166c1f34b72..0000000000000
--- a/contrib/file/Magdir/osf1
+++ /dev/null
@@ -1,7 +0,0 @@
-#
-# Mach magic number info
-#
-0 long 0xefbe OSF/Rose object
-# I386 magic number info
-#
-0 short 0565 i386 COFF object
diff --git a/contrib/file/Magdir/palm b/contrib/file/Magdir/palm
deleted file mode 100644
index 46bc632e1521f..0000000000000
--- a/contrib/file/Magdir/palm
+++ /dev/null
@@ -1,15 +0,0 @@
-
-#------------------------------------------------------------------------------
-# palm: file(1) magic for PalmOS {.prc,.pdb}: applications, docfiles, and hacks
-#
-# Brian Lalor <blalor@hcirisc.cs.binghamton.edu>
-
-# appl
-60 belong 0x6170706c PalmOS application
->0 string >\0 "%s"
-# TEXt
-60 belong 0x54455874 AportisDoc file
->0 string >\0 "%s"
-# HACK
-60 belong 0x4841434b HackMaster hack
->0 string >\0 "%s"
diff --git a/contrib/file/Magdir/pbm b/contrib/file/Magdir/pbm
deleted file mode 100644
index 98c15f79485c4..0000000000000
--- a/contrib/file/Magdir/pbm
+++ /dev/null
@@ -1,7 +0,0 @@
-
-#------------------------------------------------------------------------------
-# pbm: file(1) magic for Portable Bitmap files
-#
-# XXX - byte order?
-#
-0 short 0x2a17 "compact bitmap" format (Poskanzer)
diff --git a/contrib/file/Magdir/pdf b/contrib/file/Magdir/pdf
deleted file mode 100644
index a1aef1339372e..0000000000000
--- a/contrib/file/Magdir/pdf
+++ /dev/null
@@ -1,7 +0,0 @@
-#------------------------------------------------------------------------------
-# pdf: file(1) magic for Portable Document Format
-#
-
-0 string %PDF- PDF document
->5 byte x \b, version %c
->7 byte x \b.%c
diff --git a/contrib/file/Magdir/pdp b/contrib/file/Magdir/pdp
deleted file mode 100644
index 545200529d8bf..0000000000000
--- a/contrib/file/Magdir/pdp
+++ /dev/null
@@ -1,35 +0,0 @@
-
-#------------------------------------------------------------------------------
-# pdp: file(1) magic for PDP-11 executable/object and APL workspace
-#
-0 lelong 0101555 PDP-11 single precision APL workspace
-0 lelong 0101554 PDP-11 double precision APL workspace
-#
-# PDP-11 a.out
-#
-0 leshort 0407 PDP-11 executable
->8 leshort >0 not stripped
->15 byte >0 - version %ld
-
-0 leshort 0401 PDP-11 UNIX/RT ldp
-0 leshort 0405 PDP-11 old overlay
-
-0 leshort 0410 PDP-11 pure executable
->8 leshort >0 not stripped
->15 byte >0 - version %ld
-
-0 leshort 0411 PDP-11 separate I&D executable
->8 leshort >0 not stripped
->15 byte >0 - version %ld
-
-0 leshort 0437 PDP-11 kernel overlay
-
-# These last three are derived from 2.11BSD file(1)
-0 leshort 0413 PDP-11 demand-paged pure executable
->8 leshort >0 not stripped
-
-0 leshort 0430 PDP-11 overlaid pure executable
->8 leshort >0 not stripped
-
-0 leshort 0431 PDP-11 overlaid separate executable
->8 leshort >0 not stripped
diff --git a/contrib/file/Magdir/pgp b/contrib/file/Magdir/pgp
deleted file mode 100644
index 038d098ee4acd..0000000000000
--- a/contrib/file/Magdir/pgp
+++ /dev/null
@@ -1,13 +0,0 @@
-
-#------------------------------------------------------------------------------
-# pgp: file(1) magic for Pretty Good Privacy
-#
-0 beshort 0x9900 PGP key public ring
-0 beshort 0x9501 PGP key security ring
-0 beshort 0x9500 PGP key security ring
-0 beshort 0xa600 PGP encrypted data
-0 string -----BEGIN\040PGP PGP armored data
->15 string PUBLIC\040KEY\040BLOCK- public key block
->15 string MESSAGE- message
->15 string SIGNED\040MESSAGE- signed message
->15 string PGP\040SIGNATURE- signature
diff --git a/contrib/file/Magdir/pkgadd b/contrib/file/Magdir/pkgadd
deleted file mode 100644
index dc8ef5d93ab4d..0000000000000
--- a/contrib/file/Magdir/pkgadd
+++ /dev/null
@@ -1,5 +0,0 @@
-
-#------------------------------------------------------------------------------
-# pkgadd: file(1) magic for SysV R4 PKG Datastreams
-#
-0 string #\ PaCkAgE\ DaTaStReAm pkg Datastream (SVR4)
diff --git a/contrib/file/Magdir/plus5 b/contrib/file/Magdir/plus5
deleted file mode 100644
index acf3bf4037b60..0000000000000
--- a/contrib/file/Magdir/plus5
+++ /dev/null
@@ -1,17 +0,0 @@
-
-#------------------------------------------------------------------------------
-# plus5: file(1) magic for Plus Five's UNIX MUMPS
-#
-# XXX - byte order? Paging Hokey....
-#
-0 short 0x259 mumps avl global
->2 byte >0 (V%d)
->6 byte >0 with %d byte name
->7 byte >0 and %d byte data cells
-0 short 0x25a mumps blt global
->2 byte >0 (V%d)
->8 short >0 - %d byte blocks
->15 byte 0x00 - P/D format
->15 byte 0x01 - P/K/D format
->15 byte 0x02 - K/D format
->15 byte >0x02 - Bad Flags
diff --git a/contrib/file/Magdir/printer b/contrib/file/Magdir/printer
deleted file mode 100644
index c47ff3baa6e5e..0000000000000
--- a/contrib/file/Magdir/printer
+++ /dev/null
@@ -1,88 +0,0 @@
-
-#------------------------------------------------------------------------------
-# printer: file(1) magic for printer-formatted files
-#
-
-# PostScript, updated by Daniel Quinlan (quinlan@yggdrasil.com)
-0 string %! PostScript document text
->2 string PS-Adobe- conforming
->>11 string >\0 at level %.3s
->>>15 string EPS - type %s
->>>15 string Query - type %s
->>>15 string ExitServer - type %s
-# Some PCs have the annoying habit of adding a ^D as a document separator
-0 string \004%! PostScript document text
->3 string PS-Adobe- conforming
->>12 string >\0 at level %.3s
->>>16 string EPS - type %s
->>>16 string Query - type %s
->>>16 string ExitServer - type %s
-0 string \033%-12345X%!PS PostScript document
-
-
-# DOS EPS Binary File Header
-# From: Ed Sznyter <ews@Black.Market.NET>
-0 belong 0xC5D0D3C6 DOS EPS Binary File
->4 long >0 Postscript starts at byte %d
->>8 long >0 length %d
->>>12 long >0 Metafile starts at byte %d
->>>>16 long >0 length %d
->>>20 long >0 TIFF starts at byte %d
->>>>24 long >0 length %d
-
-# Adobe's PostScript Printer Description (PPD) files
-# Yves Arrouye <arrouye@marin.fdn.fr>
-#
-0 string *PPD-Adobe: PPD file
->13 string x \b, ve
-
-# HP Printer Job Language
-0 string \033%-12345X@PJL HP Printer Job Language data
-# HP Printer Job Language
-# The header found on Win95 HP plot files is the "Silliest Thing possible"
-# (TM)
-# Every driver puts the language at some random position, with random case
-# (LANGUAGE and Language)
-# For example the LaserJet 5L driver puts the "PJL ENTER LANGUAGE" in line 10
-# From: Uwe Bonnes <bon@elektron.ikp.physik.th-darmstadt.de>
-#
-0 string \033%-12345X@PJL HP Printer Job Language data
->&0 string >\0 %s
->>&0 string >\0 %s
->>>&0 string >\0 %s
->>>>&0 string >\0 %s
-#>15 string \ ENTER\ LANGUAGE\ =
-#>31 string PostScript PostScript
-
-# HP Printer Control Language, Daniel Quinlan (quinlan@yggdrasil.com)
-0 string \033E\033 HP PCL printer data
->3 string \&l0A - default page size
->3 string \&l1A - US executive page size
->3 string \&l2A - US letter page size
->3 string \&l3A - US legal page size
->3 string \&l26A - A4 page size
->3 string \&l80A - Monarch envelope size
->3 string \&l81A - No. 10 envelope size
->3 string \&l90A - Intl. DL envelope size
->3 string \&l91A - Intl. C5 envelope size
->3 string \&l100A - Intl. B5 envelope size
->3 string \&l-81A - No. 10 envelope size (landscape)
->3 string \&l-90A - Intl. DL envelope size (landscape)
-
-# IMAGEN printer-ready files:
-0 string @document( Imagen printer
-# this only works if "language xxx" is first item in Imagen header.
->10 string language\ impress (imPRESS data)
->10 string language\ daisy (daisywheel text)
->10 string language\ diablo (daisywheel text)
->10 string language\ printer (line printer emulation)
->10 string language\ tektronix (Tektronix 4014 emulation)
-# Add any other languages that your Imagen uses - remember
-# to keep the word `text' if the file is human-readable.
-# [GRR 950115: missing "postscript" or "ultrascript" (whatever it was called)]
-#
-# Now magic for IMAGEN font files...
-0 string Rast RST-format raster font data
->45 string >0 face %
-# From Jukka Ukkonen
-0 string \033[K\002\0\0\017\033(a\001\0\001\033(g Canon Bubble Jet BJC formatted data
diff --git a/contrib/file/Magdir/project b/contrib/file/Magdir/project
deleted file mode 100644
index 04e8865c2eca4..0000000000000
--- a/contrib/file/Magdir/project
+++ /dev/null
@@ -1,9 +0,0 @@
-
-#------------------------------------------------------------------------------
-# project: file(1) magic for Project management
-#
-# Magic strings for ftnchek project files. Alexander Mai
-0 string FTNCHEK_\ P project file for ftnchek
->10 string 1 version 2.7
->10 string 2 version 2.8 to 2.10
->10 string 3 version 2.11 or later
diff --git a/contrib/file/Magdir/psdbms b/contrib/file/Magdir/psdbms
deleted file mode 100644
index f36121fcbcd40..0000000000000
--- a/contrib/file/Magdir/psdbms
+++ /dev/null
@@ -1,7 +0,0 @@
-
-#------------------------------------------------------------------------------
-# psdbms: file(1) magic for psdatabase
-#
-0 belong&0xff00ffff 0x56000000 ps database
->1 string >\0 version %s
->4 string >\0 from kernel %s
diff --git a/contrib/file/Magdir/pyramid b/contrib/file/Magdir/pyramid
deleted file mode 100644
index fe16608436b83..0000000000000
--- a/contrib/file/Magdir/pyramid
+++ /dev/null
@@ -1,11 +0,0 @@
-
-#------------------------------------------------------------------------------
-# pyramid: file(1) magic for Pyramids
-#
-# XXX - byte order?
-#
-0 long 0x50900107 Pyramid 90x family executable
-0 long 0x50900108 Pyramid 90x family pure executable
->16 long >0 not stripped
-0 long 0x5090010b Pyramid 90x family demand paged pure executable
->16 long >0 not stripped
diff --git a/contrib/file/Magdir/python b/contrib/file/Magdir/python
deleted file mode 100644
index 2e7bbe75378f4..0000000000000
--- a/contrib/file/Magdir/python
+++ /dev/null
@@ -1,5 +0,0 @@
-# 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)
-# 20121 ( YEAR - 1995 ) + MONTH + DAY (little endian followed by "\r\n"
-0 belong 0x994e0d0a python compiled
diff --git a/contrib/file/Magdir/rpm b/contrib/file/Magdir/rpm
deleted file mode 100644
index 14ad6db93642d..0000000000000
--- a/contrib/file/Magdir/rpm
+++ /dev/null
@@ -1,17 +0,0 @@
-#------------------------------------------------------------------------------
-#
-# RPM: file(1) magic for Red Hat Packages Erik Troan (ewt@redhat.com)
-#
-0 beshort 0xedab
->2 beshort 0xeedb RPM
->>4 byte x v%d
->>6 beshort 0 bin
->>6 beshort 1 src
->>8 beshort 1 i386
->>8 beshort 2 Alpha
->>8 beshort 3 Sparc
->>8 beshort 4 MIPS
->>8 beshort 5 PowerPC
->>8 beshort 6 68000
->>8 beshort 7 SGI
->>10 string x %s
diff --git a/contrib/file/Magdir/rtf b/contrib/file/Magdir/rtf
deleted file mode 100644
index 8e2d4166fa58d..0000000000000
--- a/contrib/file/Magdir/rtf
+++ /dev/null
@@ -1,12 +0,0 @@
-
-#------------------------------------------------------------------------------
-# rtf: file(1) magic for Rich Text Format (RTF)
-#
-# Duncan P. Simpson, D.P.Simpson@dcs.warwick.ac.uk
-#
-0 string {\\rtf Rich Text Format data,
->5 byte x version %c,
->6 string \\ansi ANSI
->6 string \\mac Apple Macintosh
->6 string \\pc IBM PC, code page 437
->6 string \\pca IBM PS/2, code page 850
diff --git a/contrib/file/Magdir/sc b/contrib/file/Magdir/sc
deleted file mode 100644
index 98599f264781f..0000000000000
--- a/contrib/file/Magdir/sc
+++ /dev/null
@@ -1,5 +0,0 @@
-
-#------------------------------------------------------------------------------
-# sc: file(1) magic for "sc" spreadsheet
-#
-38 string Spreadsheet sc spreadsheet file
diff --git a/contrib/file/Magdir/sccs b/contrib/file/Magdir/sccs
deleted file mode 100644
index 11d50b23c003d..0000000000000
--- a/contrib/file/Magdir/sccs
+++ /dev/null
@@ -1,21 +0,0 @@
-
-#------------------------------------------------------------------------------
-# sccs: file(1) magic for SCCS archives
-#
-# SCCS archive structure:
-# \001h01207
-# \001s 00276/00000/00000
-# \001d D 1.1 87/09/23 08:09:20 ian 1 0
-# \001c date and time created 87/09/23 08:09:20 by ian
-# \001e
-# \001u
-# \001U
-# ... etc.
-# Now '\001h' happens to be the same as the 3B20's a.out magic number (0550).
-# *Sigh*. And these both came from various parts of the USG.
-# Maybe we should just switch everybody from SCCS to RCS!
-# Further, you can't just say '\001h0', because the five-digit number
-# is a checksum that could (presumably) have any leading digit,
-# and we don't have regular expression matching yet.
-# Hence the following official kludge:
-8 string \001s\ SCCS archive data
diff --git a/contrib/file/Magdir/sendmail b/contrib/file/Magdir/sendmail
deleted file mode 100644
index 503ef8967ad5f..0000000000000
--- a/contrib/file/Magdir/sendmail
+++ /dev/null
@@ -1,10 +0,0 @@
-
-#------------------------------------------------------------------------------
-# sendmail: file(1) magic for sendmail config files
-#
-# XXX - byte order?
-#
-0 byte 046 Sendmail frozen configuration
->16 string >\0 - version %s
-0 short 0x271c Sendmail frozen configuration
->16 string >\0 - version %s
diff --git a/contrib/file/Magdir/sequent b/contrib/file/Magdir/sequent
deleted file mode 100644
index e6f7b52aacb18..0000000000000
--- a/contrib/file/Magdir/sequent
+++ /dev/null
@@ -1,34 +0,0 @@
-
-#------------------------------------------------------------------------------
-# sequent: file(1) magic for Sequent machines
-#
-# Sequent information updated by Don Dwiggins <atsun!dwiggins>.
-# For Sequent's multiprocessor systems (incomplete).
-0 lelong 0x00ea BALANCE NS32000 .o
->16 lelong >0 not stripped
->124 lelong >0 version %ld
-0 lelong 0x10ea BALANCE NS32000 executable (0 @ 0)
->16 lelong >0 not stripped
->124 lelong >0 version %ld
-0 lelong 0x20ea BALANCE NS32000 executable (invalid @ 0)
->16 lelong >0 not stripped
->124 lelong >0 version %ld
-0 lelong 0x30ea BALANCE NS32000 standalone executable
->16 lelong >0 not stripped
->124 lelong >0 version %ld
-#
-# Symmetry information added by Jason Merrill <jason@jarthur.claremont.edu>.
-# Symmetry magic nums will not be reached if DOS COM comes before them;
-# byte 0xeb is matched before these get a chance.
-0 leshort 0x12eb SYMMETRY i386 .o
->16 lelong >0 not stripped
->124 lelong >0 version %ld
-0 leshort 0x22eb SYMMETRY i386 executable (0 @ 0)
->16 lelong >0 not stripped
->124 lelong >0 version %ld
-0 leshort 0x32eb SYMMETRY i386 executable (invalid @ 0)
->16 lelong >0 not stripped
->124 lelong >0 version %ld
-0 leshort 0x42eb SYMMETRY i386 standalone executable
->16 lelong >0 not stripped
->124 lelong >0 version %ld
diff --git a/contrib/file/Magdir/sgml b/contrib/file/Magdir/sgml
deleted file mode 100644
index e831c3c3f9e03..0000000000000
--- a/contrib/file/Magdir/sgml
+++ /dev/null
@@ -1,20 +0,0 @@
-
-#------------------------------------------------------------------------------
-# sgml: file(1) magic for Standard Generalized Markup Language
-# HyperText Markup Language (HTML) is an SGML document type,
-# 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
-
-# Extensible markup language (XML), a subset of SGML
-# from Marc Prud'hommeaux (marc@apocalypse.org)
-0 string/c \<?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
diff --git a/contrib/file/Magdir/sniffer b/contrib/file/Magdir/sniffer
deleted file mode 100644
index 81cb3130c6166..0000000000000
--- a/contrib/file/Magdir/sniffer
+++ /dev/null
@@ -1,171 +0,0 @@
-
-#------------------------------------------------------------------------------
-# sniffer: file(1) magic for packet capture files
-#
-# From: guy@alum.mit.edu (Guy Harris)
-#
-
-#
-# Microsoft Network Monitor 1.x capture files.
-#
-0 string RTSS NetMon capture file
->4 byte x - version %d
->5 byte x \b.%d
->6 leshort 0 (Unknown)
->6 leshort 1 (Ethernet)
->6 leshort 2 (Token Ring)
->6 leshort 3 (FDDI)
-
-#
-# Microsoft Network Monitor 2.x capture files.
-#
-0 string GMBU NetMon capture file
->4 byte x - version %d
->5 byte x \b.%d
->6 leshort 0 (Unknown)
->6 leshort 1 (Ethernet)
->6 leshort 2 (Token Ring)
->6 leshort 3 (FDDI)
-
-#
-# Network General Sniffer capture files.
-# Sorry, make that "Network Associates Sniffer capture files."
-#
-0 string TRSNIFF\ data\ \ \ \ \032 Sniffer capture file
->33 byte 2 (compressed)
->23 leshort x - version %d
->25 leshort x \b.%d
->32 byte 0 (Token Ring)
->32 byte 1 (Ethernet)
->32 byte 2 (ARCNET)
->32 byte 3 (StarLAN)
->32 byte 4 (PC Network broadband)
->32 byte 5 (LocalTalk)
->32 byte 6 (Znet)
->32 byte 7 (Internetwork Analyzer)
->32 byte 9 (FDDI)
->32 byte 10 (ATM)
-
-#
-# Cinco Networks NetXRay capture files.
-# Sorry, make that "Network General Sniffer Basic capture files."
-# Sorry, make that "Network Associates Sniffer Basic capture files."
-# Sorry, make that "Network Associates Sniffer Basic, and Windows
-# Sniffer Pro", capture files."
-#
-0 string XCP\0 NetXRay capture file
->4 string >\0 - version %s
->44 leshort 0 (Ethernet)
->44 leshort 1 (Token Ring)
->44 leshort 2 (FDDI)
-
-#
-# "libpcap" capture files.
-# (We call them "tcpdump capture file(s)" for now, as "tcpdump" is
-# the main program that uses that format, but there are other programs
-# that use "libpcap", or that use the same capture file format.)
-#
-0 ubelong 0xa1b2c3d4 tcpdump capture file (big-endian)
->4 beshort x - version %d
->6 beshort x \b.%d
->20 belong 0 (No link-layer encapsulation
->20 belong 1 (Ethernet
->20 belong 2 (3Mb Ethernet
->20 belong 3 (AX.25
->20 belong 4 (ProNET
->20 belong 5 (CHAOS
->20 belong 6 (IEEE 802.x network
->20 belong 7 (ARCNET
->20 belong 8 (SLIP
->20 belong 9 (PPP
->20 belong 10 (FDDI
->20 belong 11 (RFC 1483 ATM
->20 belong 12 (raw IP
->20 belong 13 (BSD/OS SLIP
->20 belong 14 (BSD/OS PPP
->16 belong x \b, capture length %d)
-0 ulelong 0xa1b2c3d4 tcpdump capture file (little-endian)
->4 leshort x - version %d
->6 leshort x \b.%d
->20 lelong 0 (No link-layer encapsulation
->20 lelong 1 (Ethernet
->20 lelong 2 (3Mb Ethernet
->20 lelong 3 (AX.25
->20 lelong 4 (ProNET
->20 lelong 5 (CHAOS
->20 lelong 6 (IEEE 802.x network
->20 lelong 7 (ARCNET
->20 lelong 8 (SLIP
->20 lelong 9 (PPP
->20 lelong 10 (FDDI
->20 lelong 11 (RFC 1483 ATM
->20 lelong 12 (raw IP
->20 lelong 13 (BSD/OS SLIP
->20 lelong 14 (BSD/OS PPP
->16 lelong x \b, capture length %d)
-
-#
-# "libpcap"-with-Alexey-Kuznetsov's-patches capture files.
-# (We call them "tcpdump capture file(s)" for now, as "tcpdump" is
-# the main program that uses that format, but there are other programs
-# that use "libpcap", or that use the same capture file format.)
-#
-0 ubelong 0xa1b2cd34 extended tcpdump capture file (big-endian)
->4 beshort x - version %d
->6 beshort x \b.%d
->20 belong 0 (No link-layer encapsulation
->20 belong 1 (Ethernet
->20 belong 2 (3Mb Ethernet
->20 belong 3 (AX.25
->20 belong 4 (ProNET
->20 belong 5 (CHAOS
->20 belong 6 (IEEE 802.x network
->20 belong 7 (ARCNET
->20 belong 8 (SLIP
->20 belong 9 (PPP
->20 belong 10 (FDDI
->20 belong 11 (RFC 1483 ATM
->20 belong 12 (raw IP
->20 belong 13 (BSD/OS SLIP
->20 belong 14 (BSD/OS PPP
->16 belong x \b, capture length %d)
-0 ulelong 0xa1b2cd34 extended tcpdump capture file (little-endian)
->4 leshort x - version %d
->6 leshort x \b.%d
->20 lelong 0 (No link-layer encapsulation
->20 lelong 1 (Ethernet
->20 lelong 2 (3Mb Ethernet
->20 lelong 3 (AX.25
->20 lelong 4 (ProNET
->20 lelong 5 (CHAOS
->20 lelong 6 (IEEE 802.x network
->20 lelong 7 (ARCNET
->20 lelong 8 (SLIP
->20 lelong 9 (PPP
->20 lelong 10 (FDDI
->20 lelong 11 (RFC 1483 ATM
->20 lelong 12 (raw IP
->20 lelong 13 (BSD/OS SLIP
->20 lelong 14 (BSD/OS PPP
->16 lelong x \b, capture length %d)
-
-#
-# AIX "iptrace" capture files.
-#
-0 string iptrace\ 2.0 "iptrace" capture file
-
-#
-# Novell LANalyzer capture files.
-#
-0 leshort 0x1001 LANalyzer capture file
-0 leshort 0x1007 LANalyzer capture file
-
-#
-# HP-UX "nettl" capture files.
-#
-0 string \x54\x52\x00\x64\x00 "nettl" capture file
-
-#
-# RADCOM WAN/LAN Analyzer capture files.
-#
-0 string \x42\xd2\x00\x34\x12\x66\x22\x88 RADCOM WAN/LAN Analyzer capture file
diff --git a/contrib/file/Magdir/softquad b/contrib/file/Magdir/softquad
deleted file mode 100644
index ffad996caa6ea..0000000000000
--- a/contrib/file/Magdir/softquad
+++ /dev/null
@@ -1,30 +0,0 @@
-
-#------------------------------------------------------------------------------
-# softquad: file(1) magic for SoftQuad Publishing Software
-#
-# $Id: softquad,v 1.9 1995/01/21 21:09:00 christos Exp $
-# Author/Editor and RulesBuilder
-#
-# XXX - byte order?
-#
-0 string \<!SQ\ DTD> Compiled SGML rules file
->9 string >\0 Type %s
-0 string \<!SQ\ A/E> A/E SGML Document binary
->9 string >\0 Type %s
-0 string \<!SQ\ STS> A/E SGML binary styles file
->9 string >\0 Type %s
-0 short 0xc0de Compiled PSI (v1) data
-0 short 0xc0da Compiled PSI (v2) data
->3 string >\0 (%s)
-# Binary sqtroff font/desc files...
-0 short 0125252 SoftQuad DESC or font file binary
->2 short >0 - version %d
-# Bitmaps...
-0 string SQ\ BITMAP1 SoftQuad Raster Format text
-#0 string SQ\ BITMAP2 SoftQuad Raster Format data
-# sqtroff intermediate language (replacement for ditroff int. lang.)
-0 string X\ SoftQuad troff Context intermediate
->2 string 495 for AT&T 495 laser printer
->2 string hp for Hewlett-Packard LaserJet
->2 string impr for IMAGEN imPRESS
->2 string ps for PostScript
diff --git a/contrib/file/Magdir/spectrum b/contrib/file/Magdir/spectrum
deleted file mode 100644
index e7a5549b675aa..0000000000000
--- a/contrib/file/Magdir/spectrum
+++ /dev/null
@@ -1,28 +0,0 @@
-
-#------------------------------------------------------------------------------
-# spectrum: file(1) magic for Spectrum emulator files.
-#
-# John Elliott <jce@seasip.demon.co.uk>
-
-#
-# Spectrum +3DOS header
-#
-0 string PLUS3DOS\032 Spectrum +3 data
->15 byte 0 - BASIC program
->15 byte 1 - number array
->15 byte 2 - character array
->15 byte 3 - memory block
->>16 belong 0x001B0040 (screen)
->15 byte 4 - Tasword document
->15 string TAPEFILE - ZXT tapefile
-#
-# Tape file. This assumes the .TAP starts with a Spectrum-format header,
-# which nearly all will.
-#
-0 string \023\000\000 Spectrum .TAP data
->4 string x "%-10.10s"
->3 byte 0 - BASIC program
->3 byte 1 - number array
->3 byte 2 - character array
->3 byte 3 - memory block
->>14 belong 0x001B0040 (screen)
diff --git a/contrib/file/Magdir/sun b/contrib/file/Magdir/sun
deleted file mode 100644
index 10f30b4627dca..0000000000000
--- a/contrib/file/Magdir/sun
+++ /dev/null
@@ -1,107 +0,0 @@
-
-#------------------------------------------------------------------------------
-# sun: file(1) magic for Sun machines
-#
-# Values for big-endian Sun (MC680x0, SPARC) binaries on pre-5.x
-# releases. (5.x uses ELF.)
-#
-0 belong&077777777 0600413 sparc demand paged
->0 byte &0x80
->>20 belong <4096 shared library
->>20 belong =4096 dynamically linked executable
->>20 belong >4096 dynamically linked executable
->0 byte ^0x80 executable
->16 belong >0 not stripped
-0 belong&077777777 0600410 sparc pure
->0 byte &0x80 dynamically linked executable
->0 byte ^0x80 executable
->16 belong >0 not stripped
-0 belong&077777777 0600407 sparc
->0 byte &0x80 dynamically linked executable
->0 byte ^0x80 executable
->16 belong >0 not stripped
-
-0 belong&077777777 0400413 mc68020 demand paged
->0 byte &0x80
->>20 belong <4096 shared library
->>20 belong =4096 dynamically linked executable
->>20 belong >4096 dynamically linked executable
->16 belong >0 not stripped
-0 belong&077777777 0400410 mc68020 pure
->0 byte &0x80 dynamically linked executable
->0 byte ^0x80 executable
->16 belong >0 not stripped
-0 belong&077777777 0400407 mc68020
->0 byte &0x80 dynamically linked executable
->0 byte ^0x80 executable
->16 belong >0 not stripped
-
-0 belong&077777777 0200413 mc68010 demand paged
->0 byte &0x80
->>20 belong <4096 shared library
->>20 belong =4096 dynamically linked executable
->>20 belong >4096 dynamically linked executable
->16 belong >0 not stripped
-0 belong&077777777 0200410 mc68010 pure
->0 byte &0x80 dynamically linked executable
->0 byte ^0x80 executable
->16 belong >0 not stripped
-0 belong&077777777 0200407 mc68010
->0 byte &0x80 dynamically linked executable
->0 byte ^0x80 executable
->16 belong >0 not stripped
-
-# reworked these to avoid anything beginning with zero becoming "old sun-2"
-0 belong 0407 old sun-2 executable
->16 belong >0 not stripped
-0 belong 0410 old sun-2 pure executable
->16 belong >0 not stripped
-0 belong 0413 old sun-2 demand paged executable
->16 belong >0 not stripped
-
-#
-# Core files. "SPARC 4.x BCP" means "core file from a SunOS 4.x SPARC
-# binary executed in compatibility mode under SunOS 5.x".
-#
-0 belong 0x080456 SunOS core file
->4 belong 432 (SPARC)
->>132 string >\0 from '%s'
->>116 belong =3 (quit)
->>116 belong =4 (illegal instruction)
->>116 belong =5 (trace trap)
->>116 belong =6 (abort)
->>116 belong =7 (emulator trap)
->>116 belong =8 (arithmetic exception)
->>116 belong =9 (kill)
->>116 belong =10 (bus error)
->>116 belong =11 (segmentation violation)
->>116 belong =12 (bad argument to system call)
->>116 belong =29 (resource lost)
->>120 belong x (T=%dK,
->>124 belong x D=%dK,
->>128 belong x S=%dK)
->4 belong 826 (68K)
->>128 string >\0 from '%s'
->4 belong 456 (SPARC 4.x BCP)
->>152 string >\0 from '%s'
-# Sun SunPC
-0 long 0xfa33c08e SunPC 4.0 Hard Disk
-0 string #SUNPC_CONFIG SunPC 4.0 Properties Values
-# Sun snoop (see RFC 1761, which describes the capture file format).
-#
-0 string snoop Snoop capture file
->8 belong >0 - version %ld
->12 belong 0 (IEEE 802.3)
->12 belong 1 (IEEE 802.4)
->12 belong 2 (IEEE 802.5)
->12 belong 3 (IEEE 802.6)
->12 belong 4 (Ethernet)
->12 belong 5 (HDLC)
->12 belong 6 (Character synchronous)
->12 belong 7 (IBM channel-to-channel adapter)
->12 belong 8 (FDDI)
->12 belong 9 (Unknown)
-# Sun KCMS
-36 string acsp Kodak Color Management System, ICC Profile
-
-
diff --git a/contrib/file/Magdir/teapot b/contrib/file/Magdir/teapot
deleted file mode 100644
index d9554bfb738e8..0000000000000
--- a/contrib/file/Magdir/teapot
+++ /dev/null
@@ -1,4 +0,0 @@
-#------------------------------------------------------------------------------
-# teapot: file(1) magic for "teapot" spreadsheet
-#
-0 string #!teapot\012xdr teapot work sheet (XDR format)
diff --git a/contrib/file/Magdir/terminfo b/contrib/file/Magdir/terminfo
deleted file mode 100644
index 2226ce8cee532..0000000000000
--- a/contrib/file/Magdir/terminfo
+++ /dev/null
@@ -1,9 +0,0 @@
-
-#------------------------------------------------------------------------------
-# terminfo: file(1) magic for terminfo
-#
-# XXX - byte order for screen images?
-#
-0 string \032\001 Compiled terminfo entry
-0 short 0433 Curses screen image
-0 short 0434 Curses screen image
diff --git a/contrib/file/Magdir/tex b/contrib/file/Magdir/tex
deleted file mode 100644
index 79d5bbaaf73b2..0000000000000
--- a/contrib/file/Magdir/tex
+++ /dev/null
@@ -1,47 +0,0 @@
-
-#------------------------------------------------------------------------------
-# tex: file(1) magic for TeX files
-#
-# From <conklin@talisman.kaleida.com>
-
-# Although we may know the offset of certain text fields in TeX DVI
-# and font files, we can't use them reliably because they are not
-# zero terminated. [but we do anyway, christos]
-0 string \367\002 TeX DVI file
->16 string >\0 (%s)
-0 string \367\203 TeX generic font data
-0 string \367\131 TeX packed font data
->3 string >\0 (%s)
-0 string \367\312 TeX virtual font data
-0 string This\ is\ TeX, TeX transcript text
-0 string This\ is\ METAFONT, METAFONT transcript text
-
-# There is no way to detect TeX Font Metric (*.tfm) files without
-# breaking them apart and reading the data. The following patterns
-# match most *.tfm files generated by METAFONT or afm2tfm.
-2 string \000\021 TeX font metric data
->33 string >\0 (%s)
-2 string \000\022 TeX font metric data
->33 string >\0 (%s)
-
-# Texinfo and GNU Info, from Daniel Quinlan (quinlan@yggdrasil.com)
-0 string \\input\ texinfo Texinfo source text
-0 string This\ is\ Info\ file GNU Info text
-
-# TeX documents, from Daniel Quinlan (quinlan@yggdrasil.com)
-0 string \\input TeX document text
-0 string \\section LaTeX document text
-0 string \\setlength LaTeX document text
-0 string \\documentstyle LaTeX document text
-0 string \\chapter LaTeX document text
-0 string \\documentclass LaTeX 2e document text
-0 string \\relax LaTeX auxiliary file
-0 string \\contentsline LaTeX table of contents
-
-# Index and glossary files
-0 string \\indexentry LaTeX raw index file
-0 string \\begin{theindex} LaTeX sorted index
-0 string \\glossaryentry LaTeX raw glossary
-0 string \\begin{theglossary} LaTeX sorted glossary
-0 string This\ is\ makeindex Makeindex log file
-# End of TeX
diff --git a/contrib/file/Magdir/ti-8x b/contrib/file/Magdir/ti-8x
deleted file mode 100644
index d740060a5b442..0000000000000
--- a/contrib/file/Magdir/ti-8x
+++ /dev/null
@@ -1,36 +0,0 @@
-# ------------------------------------------------------------------------
-# ti-8x: file(1) magic for the TI-8x and TI-92 Graphing Calculators.
-#
-# From: Ryan McGuire (rmcguire@freenet.columbus.oh.us).
-#
-# NOTE: This list is not complete.
-#
-# Magic Numbers for the TI-82
-#
-0 string **TI82** TI-82 Graphing Calculator
->0x000037 byte 0x0B TI-BASIC Group/Program File.
-#
-# Magic Numbers for the TI-83
-#
-0 string **TI83** TI-83 Graphing Calculator
->0x000037 byte 0x0B TI-BASIC Group/Program File.
-#
-# Magic Numbers for the TI-85
-#
-0 string **TI85** TI-85 Graphing Calculator
->11 string Backup Backup File.
->0x000032 string ZS4 - ZShell Version 4 File.
->0x000032 string ZS3 - ZShell Version 3 File.
->0x00000B string GDatabase Graphics Database.
->0x00003B byte 0x12 TI-BASIC Group/Program File.
-#
-# Magic Numbers for the TI-92
-#
-0 string **TI92** TI-92 Graphing Calculator
->0x000058 byte 0x12 TI-BASIC Group File.
->0x000012 string Function Function.
->0x000048 byte 0x12 TI-BASIC Program.
-# Files for the TI-80 and TI-81 are pretty rare. I'm not going to put the
-# program/group magic numbers in here because I cannot find any.
-0 string **TI80** TI-80 Graphing Calculator File.
-0 string **TI81** TI-81 Graphing Calculator File.
diff --git a/contrib/file/Magdir/timezone b/contrib/file/Magdir/timezone
deleted file mode 100644
index 40e7558f8de10..0000000000000
--- a/contrib/file/Magdir/timezone
+++ /dev/null
@@ -1,14 +0,0 @@
-
-#------------------------------------------------------------------------------
-# timezone: file(1) magic for timezone data
-#
-# from Daniel Quinlan (quinlan@yggdrasil.com)
-# this should work on Linux, SunOS, and maybe others
-# Added new official magic number for recent versions of the Olson code
-0 string TZif timezone data
-0 string \0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\1\0 old timezone data
-0 string \0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\2\0 old timezone data
-0 string \0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\3\0 old timezone data
-0 string \0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\4\0 old timezone data
-0 string \0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\5\0 old timezone data
-0 string \0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\0\6\0 old timezone data
diff --git a/contrib/file/Magdir/troff b/contrib/file/Magdir/troff
deleted file mode 100644
index ec964e8e2b97a..0000000000000
--- a/contrib/file/Magdir/troff
+++ /dev/null
@@ -1,27 +0,0 @@
-
-#------------------------------------------------------------------------------
-# troff: file(1) magic for *roff
-#
-# updated by Daniel Quinlan (quinlan@yggdrasil.com)
-
-# troff input
-0 string .\\" troff or preprocessor input text
-0 string '\\" troff or preprocessor input text
-0 string '.\\" troff or preprocessor input text
-0 string \\" troff or preprocessor input text
-
-# ditroff intermediate output text
-0 string x\ T ditroff output text
->4 string cat for the C/A/T phototypesetter
->4 string ps for PostScript
->4 string dvi for DVI
->4 string ascii for ASCII
->4 string lj4 for LaserJet 4
->4 string latin1 for ISO 8859-1 (Latin 1)
->4 string X75 for xditview at 75dpi
->>7 string -12 (12pt)
->4 string X100 for xditview at 100dpi
->>8 string -12 (12pt)
-
-# output data formats
-0 string \100\357 very old (C/A/T) troff output data
diff --git a/contrib/file/Magdir/typeset b/contrib/file/Magdir/typeset
deleted file mode 100644
index 2eda7c3e413f5..0000000000000
--- a/contrib/file/Magdir/typeset
+++ /dev/null
@@ -1,7 +0,0 @@
-
-#------------------------------------------------------------------------------
-# typeset: file(1) magic for other typesetting
-#
-0 string Interpress/Xerox Xerox InterPress data
->16 string / (version
->>17 string >\0 %s)
diff --git a/contrib/file/Magdir/unknown b/contrib/file/Magdir/unknown
deleted file mode 100644
index 843dc2936db0c..0000000000000
--- a/contrib/file/Magdir/unknown
+++ /dev/null
@@ -1,36 +0,0 @@
-
-#------------------------------------------------------------------------------
-# unknown: file(1) magic for unknown machines
-#
-# XXX - this probably should be pruned, as it'll match PDP-11 and
-# VAX image formats.
-#
-# 0x107 is 0407; 0x108 is 0410; both are PDP-11 (executable and pure,
-# respectively).
-#
-# 0x109 is 0411; that's PDP-11 split I&D, but the PDP-11 version doesn't
-# have the "version %ld", which may be a bogus COFFism (I don't think
-# there ever was COFF for the PDP-11).
-#
-# 0x10B is 0413; that's VAX demand-paged, but this is a short, not a
-# long, as it would be on a VAX.
-#
-# 0x10C is 0414, 0x10D is 0415, and 0x10E is 416; those *are* unknown.
-#
-0 short 0x107 unknown machine executable
->8 short >0 not stripped
->15 byte >0 - version %ld
-0 short 0x108 unknown pure executable
->8 short >0 not stripped
->15 byte >0 - version %ld
-0 short 0x109 PDP-11 separate I&D
->8 short >0 not stripped
->15 byte >0 - version %ld
-0 short 0x10b unknown pure executable
->8 short >0 not stripped
->15 byte >0 - version %ld
-0 long 0x10c unknown demand paged pure executable
->16 long >0 not stripped
-0 long 0x10d unknown demand paged pure executable
->16 long >0 not stripped
-0 long 0x10e unknown readable demand paged pure executable
diff --git a/contrib/file/Magdir/uuencode b/contrib/file/Magdir/uuencode
deleted file mode 100644
index 7e88619d5ca96..0000000000000
--- a/contrib/file/Magdir/uuencode
+++ /dev/null
@@ -1,30 +0,0 @@
-
-#------------------------------------------------------------------------------
-# uuencode: file(1) magic for ASCII-encoded files
-#
-
-# GRR: the first line of xxencoded files is identical to that in uuencoded
-# files, but the first character in most subsequent lines is 'h' instead of
-# 'M'. (xxencoding uses lowercase letters in place of most of uuencode's
-# punctuation and survives BITNET gateways better.) If regular expressions
-# were supported, this entry could possibly be split into two with
-# "begin\040\.\*\012M" or "begin\040\.\*\012h" (where \. and \* are REs).
-0 string begin\040 uuencoded or xxencoded text
-
-# btoa(1) is an alternative to uuencode that requires less space.
-0 string xbtoa\ Begin btoa'd text
-
-# ship(1) is another, much cooler alternative to uuencode.
-# Greg Roelofs, newt@uchicago.edu
-0 string $\012ship ship'd binary text
-
-# bencode(8) is used to encode compressed news batches (Bnews/Cnews only?)
-# Greg Roelofs, newt@uchicago.edu
-0 string Decode\ the\ following\ with\ bdeco bencoded News text
-
-# BinHex is the Macintosh ASCII-encoded file format (see also "apple")
-# Daniel Quinlan, quinlan@yggdrasil.com
-11 string must\ be\ converted\ with\ BinHex BinHex binary text
->41 string x \b, version %.3s
-
-# GRR: is MIME BASE64 encoding handled somewhere?
diff --git a/contrib/file/Magdir/vax b/contrib/file/Magdir/vax
deleted file mode 100644
index 7dd86ccf53e12..0000000000000
--- a/contrib/file/Magdir/vax
+++ /dev/null
@@ -1,34 +0,0 @@
-
-#------------------------------------------------------------------------------
-# vax: file(1) magic for VAX executable/object and APL workspace
-#
-0 lelong 0101557 VAX single precision APL workspace
-0 lelong 0101556 VAX double precision APL workspace
-
-#
-# VAX a.out (32V, BSD)
-#
-0 lelong 0407 VAX executable
->16 lelong >0 not stripped
-
-0 lelong 0410 VAX pure executable
->16 lelong >0 not stripped
-
-0 lelong 0413 VAX demand paged pure executable
->16 lelong >0 not stripped
-
-0 lelong 0420 VAX demand paged (first page unmapped) pure executable
->16 lelong >0 not stripped
-
-#
-# VAX COFF
-#
-# The `versions' should be un-commented if they work for you.
-# (Was the problem just one of endianness?)
-#
-0 leshort 0570 VAX COFF executable
->12 lelong >0 not stripped
->22 leshort >0 - version %ld
-0 leshort 0575 VAX COFF pure executable
->12 lelong >0 not stripped
->22 leshort >0 - version %ld
diff --git a/contrib/file/Magdir/vicar b/contrib/file/Magdir/vicar
deleted file mode 100644
index ab216eeea8161..0000000000000
--- a/contrib/file/Magdir/vicar
+++ /dev/null
@@ -1,16 +0,0 @@
-
-#------------------------------------------------------------------------------
-# vicar: file(1) magic for VICAR files.
-#
-# From: Ossama Othman <othman@astrosun.tn.cornell.edu
-# VICAR is JPL's in-house spacecraft image processing program
-# VICAR image
-0 string LBLSIZE= VICAR image data
->32 string BYTE \b, 8 bits = VAX byte
->32 string HALF \b, 16 bits = VAX word = Fortran INTEGER*2
->32 string FULL \b, 32 bits = VAX longword = Fortran INTEGER*4
->32 string REAL \b, 32 bits = VAX longword = Fortran REAL*4
->32 string DOUB \b, 64 bits = VAX quadword = Fortran REAL*8
->32 string COMPLEX \b, 64 bits = VAX quadword = Fortran COMPLEX*8
-# VICAR label file
-43 string SFDU_LABEL VICAR label file
diff --git a/contrib/file/Magdir/visx b/contrib/file/Magdir/visx
deleted file mode 100644
index 491996426091d..0000000000000
--- a/contrib/file/Magdir/visx
+++ /dev/null
@@ -1,31 +0,0 @@
-
-#------------------------------------------------------------------------------
-# visx: file(1) magic for Visx format files
-#
-0 short 0x5555 VISX image file
->2 byte 0 (zero)
->2 byte 1 (unsigned char)
->2 byte 2 (short integer)
->2 byte 3 (float 32)
->2 byte 4 (float 64)
->2 byte 5 (signed char)
->2 byte 6 (bit-plane)
->2 byte 7 (classes)
->2 byte 8 (statistics)
->2 byte 10 (ascii text)
->2 byte 15 (image segments)
->2 byte 100 (image set)
->2 byte 101 (unsigned char vector)
->2 byte 102 (short integer vector)
->2 byte 103 (float 32 vector)
->2 byte 104 (float 64 vector)
->2 byte 105 (signed char vector)
->2 byte 106 (bit plane vector)
->2 byte 121 (feature vector)
->2 byte 122 (feature vector library)
->2 byte 124 (chain code)
->2 byte 126 (bit vector)
->2 byte 130 (graph)
->2 byte 131 (adjacency graph)
->2 byte 132 (adjacency graph library)
->2 string .VISIX (ascii text)
diff --git a/contrib/file/Magdir/vms b/contrib/file/Magdir/vms
deleted file mode 100644
index c91186f68c3ef..0000000000000
--- a/contrib/file/Magdir/vms
+++ /dev/null
@@ -1,27 +0,0 @@
-
-#------------------------------------------------------------------------------
-# vms: file(1) magic for VMS executables (experimental)
-#
-# VMS .exe formats, both VAX and AXP (Greg Roelofs, newt@uchicago.edu)
-
-# GRR 950122: I'm just guessing on these, based on inspection of the headers
-# of three executables each for Alpha and VAX architectures. The VAX files
-# all had headers similar to this:
-#
-# 00000 b0 00 30 00 44 00 60 00 00 00 00 00 30 32 30 35 ..0.D.`.....0205
-# 00010 01 01 00 00 ff ff ff ff ff ff ff ff 00 00 00 00 ................
-#
-0 string \xb0\0\x30\0 VMS VAX executable
->44032 string PK\003\004 \b, Info-ZIP SFX archive v5.12 w/decryption
-#
-# The AXP files all looked like this, except that the byte at offset 0x22
-# was 06 in some of them and 07 in others:
-#
-# 00000 03 00 00 00 00 00 00 00 ec 02 00 00 10 01 00 00 ................
-# 00010 68 00 00 00 98 00 00 00 b8 00 00 00 00 00 00 00 h...............
-# 00020 00 00 07 00 00 00 00 00 00 00 00 00 00 00 00 00 ................
-# 00030 00 00 00 00 01 00 00 00 00 00 00 00 00 00 00 00 ................
-# 00040 00 00 00 00 ff ff ff ff ff ff ff ff 02 00 00 00 ................
-#
-0 belong 0x03000000 VMS Alpha executable
->75264 string PK\003\004 \b, Info-ZIP SFX archive v5.12 w/decryption
diff --git a/contrib/file/Magdir/vmware b/contrib/file/Magdir/vmware
deleted file mode 100644
index 857a4a94524a7..0000000000000
--- a/contrib/file/Magdir/vmware
+++ /dev/null
@@ -1,12 +0,0 @@
-
-# -----------------------------------------------------------
-# VMware specific files (deducted from version 1.1 and log file entries)
-# Anthon van der Neut (anthon@mnt.org)
-0 belong 0x4d52564e VMware nvram
-0 belong 0x434f5744
->8 byte 3 VMware virtual disk
->>32 lelong x (%d/
->>36 lelong x \b%d/
->>40 lelong x \b%d)
->8 byte 2 VMware undoable disk
->>32 string >\0 (%s)
diff --git a/contrib/file/Magdir/wordperfect b/contrib/file/Magdir/wordperfect
deleted file mode 100644
index c77ac8d1b8881..0000000000000
--- a/contrib/file/Magdir/wordperfect
+++ /dev/null
@@ -1,91 +0,0 @@
-#WordPerfect type files Version 1.6 - PLEASE DO NOT REMOVE THIS LINE
-0 string \377WPC\020\000\000\000\022\012\001\001\000\000\000\000 (WP) loadable text
->15 byte 0 Optimized for Intel
->15 byte 1 Optimized for Non-Intel
-1 string WPC (Corel/WP)
->8 short 257 WordPerfect macro
->8 short 258 WordPerfect help file
->8 short 259 WordPerfect keyboard file
->8 short 266 WordPerfect document
->8 short 267 WordPerfect dictionary
->8 short 268 WordPerfect thesaurus
->8 short 269 WordPerfect block
->8 short 270 WordPerfect rectangular block
->8 short 271 WordPerfect column block
->8 short 272 WordPerfect printer data
->8 short 275 WordPerfect printer data
->8 short 276 WordPerfect driver resource data
->8 short 279 WordPerfect hyphenation code
->8 short 280 WordPerfect hyphenation data
->8 short 281 WordPerfect macro resource data
->8 short 283 WordPerfect hyphenation lex
->8 short 285 WordPerfect wordlist
->8 short 286 WordPerfect equation resource data
->8 short 289 WordPerfect spell rules
->8 short 290 WordPerfect dictionary rules
->8 short 295 WordPerfect spell rules (Microlytics)
->8 short 299 WordPerfect settings file
->8 short 301 WordPerfect 4.2 document
->8 short 325 WordPerfect dialog file
->8 short 332 WordPerfect button bar
->8 short 513 Shell macro
->8 short 522 Shell definition
->8 short 769 Notebook macro
->8 short 770 Notebook help file
->8 short 771 Notebook keyboard file
->8 short 778 Notebook definition
->8 short 1026 Calculator help file
->8 short 1538 Calendar help file
->8 short 1546 Calendar data file
->8 short 1793 Editor macro
->8 short 1794 Editor help file
->8 short 1795 Editor keyboard file
->8 short 1817 Editor macro resource file
->8 short 2049 Macro editor macro
->8 short 2050 Macro editor help file
->8 short 2051 Macro editor keyboard file
->8 short 2305 PlanPerfect macro
->8 short 2306 PlanPerfect help file
->8 short 2307 PlanPerfect keyboard file
->8 short 2314 PlanPerfect worksheet
->8 short 2319 PlanPerfect printer definition
->8 short 2322 PlanPerfect graphic definition
->8 short 2323 PlanPerfect data
->8 short 2324 PlanPerfect temporary printer
->8 short 2329 PlanPerfect macro resource data
->8 byte 11 Mail
->8 short 2818 help file
->8 short 2821 distribution list
->8 short 2826 out box
->8 short 2827 in box
->8 short 2836 users archived mailbox
->8 short 2837 archived message database
->8 short 2838 archived attachments
->8 short 3083 Printer temporary file
->8 short 3330 Scheduler help file
->8 short 3338 Scheduler in file
->8 short 3339 Scheduler out file
->8 short 3594 GroupWise settings file
->8 short 3601 GroupWise directory services
->8 short 3627 GroupWise settings file
->8 short 4362 Terminal resource data
->8 short 4363 Terminal resource data
->8 short 4395 Terminal resource data
->8 short 4619 GUI loadable text
->8 short 4620 graphics resource data
->8 short 4621 printer settings file
->8 short 4622 port definition file
->8 short 4623 print queue parameters
->8 short 4624 compressed file
->8 short 5130 Network service msg file
->8 short 5131 Network service msg file
->8 short 5132 Async gateway login msg
->8 short 5134 GroupWise message file
->8 short 7956 GroupWise admin domain database
->8 short 7957 GroupWise admin host database
->8 short 7959 GroupWise admin remote host database
->8 short 7960 GroupWise admin ADS deferment data file
->8 short 8458 IntelliTAG (SGML) compiled DTD
->8 long 18219264 WordPerfect graphic image (1.0)
->8 long 18219520 WordPerfect graphic image (2.0)
-#end of WordPerfect type files Version 1.6 - PLEASE DO NOT REMOVE THIS LINE
diff --git a/contrib/file/Magdir/xdelta b/contrib/file/Magdir/xdelta
deleted file mode 100644
index 80c92dac035f4..0000000000000
--- a/contrib/file/Magdir/xdelta
+++ /dev/null
@@ -1,10 +0,0 @@
-
-#------------------------------------------------------------------------------
-# file(1) magic(5) data for xdelta Josh MacDonald <jmacd@CS.Berkeley.EDU>
-#
-0 string %XDELTA% XDelta binary patch file 0.14
-0 string %XDZ000% XDelta binary patch file 0.18
-0 string %XDZ001% XDelta binary patch file 0.20
-0 string %XDZ002% XDelta binary patch file 1.0
-0 string %XDZ003% XDelta binary patch file 1.0.4
-0 string %XDZ004% XDelta binary patch file 1.1
diff --git a/contrib/file/Magdir/xenix b/contrib/file/Magdir/xenix
deleted file mode 100644
index 1acadec62a014..0000000000000
--- a/contrib/file/Magdir/xenix
+++ /dev/null
@@ -1,72 +0,0 @@
-
-#------------------------------------------------------------------------------
-# xenix: file(1) magic for Microsoft Xenix
-#
-# "Middle model" stuff, and "Xenix 8086 relocatable or 80286 small
-# model" lifted from "magic.xenix", with comment "derived empirically;
-# treat as folklore until proven"
-#
-# "small model", "large model", "huge model" stuff lifted from XXX
-#
-# XXX - "x.out" collides with PDP-11 archives
-#
-0 string core core file (Xenix)
-0 byte 0x80 8086 relocatable (Microsoft)
-0 leshort 0xff65 x.out
->2 string __.SYMDEF randomized
->0 byte x archive
-0 leshort 0x206 Microsoft a.out
->8 leshort 1 Middle model
->0x1e leshort &0x10 overlay
->0x1e leshort &0x2 separate
->0x1e leshort &0x4 pure
->0x1e leshort &0x800 segmented
->0x1e leshort &0x400 standalone
->0x1e leshort &0x8 fixed-stack
->0x1c byte &0x80 byte-swapped
->0x1c byte &0x40 word-swapped
->0x10 lelong >0 not-stripped
->0x1e leshort ^0xc000 pre-SysV
->0x1e leshort &0x4000 V2.3
->0x1e leshort &0x8000 V3.0
->0x1c byte &0x4 86
->0x1c byte &0xb 186
->0x1c byte &0x9 286
->0x1c byte &0xa 386
->0x1f byte <0x040 small model
->0x1f byte =0x048 large model
->0x1f byte =0x049 huge model
->0x1e leshort &0x1 executable
->0x1e leshort ^0x1 object file
->0x1e leshort &0x40 Large Text
->0x1e leshort &0x20 Large Data
->0x1e leshort &0x120 Huge Objects Enabled
->0x10 lelong >0 not stripped
-
-0 leshort 0x140 old Microsoft 8086 x.out
->0x3 byte &0x4 separate
->0x3 byte &0x2 pure
->0 byte &0x1 executable
->0 byte ^0x1 relocatable
->0x14 lelong >0 not stripped
-
-0 lelong 0x206 b.out
->0x1e leshort &0x10 overlay
->0x1e leshort &0x2 separate
->0x1e leshort &0x4 pure
->0x1e leshort &0x800 segmented
->0x1e leshort &0x400 standalone
->0x1e leshort &0x1 executable
->0x1e leshort ^0x1 object file
->0x1e leshort &0x4000 V2.3
->0x1e leshort &0x8000 V3.0
->0x1c byte &0x4 86
->0x1c byte &0xb 186
->0x1c byte &0x9 286
->0x1c byte &0x29 286
->0x1c byte &0xa 386
->0x1e leshort &0x4 Large Text
->0x1e leshort &0x2 Large Data
->0x1e leshort &0x102 Huge Objects Enabled
-
-0 leshort 0x580 XENIX 8086 relocatable or 80286 small model
diff --git a/contrib/file/Magdir/zilog b/contrib/file/Magdir/zilog
deleted file mode 100644
index b746e204f5b93..0000000000000
--- a/contrib/file/Magdir/zilog
+++ /dev/null
@@ -1,11 +0,0 @@
-
-#------------------------------------------------------------------------------
-# zilog: file(1) magic for Zilog Z8000.
-#
-# Was it big-endian or little-endian? My Product Specification doesn't
-# say.
-#
-0 long 0xe807 object file (z8000 a.out)
-0 long 0xe808 pure object file (z8000 a.out)
-0 long 0xe809 separate object file (z8000 a.out)
-0 long 0xe805 overlay object file (z8000 a.out)
diff --git a/contrib/file/Magdir/zyxel b/contrib/file/Magdir/zyxel
deleted file mode 100644
index 12a6abd5de8c9..0000000000000
--- a/contrib/file/Magdir/zyxel
+++ /dev/null
@@ -1,16 +0,0 @@
-
-#------------------------------------------------------------------------------
-# zyxel: file(1) magic for ZyXEL modems
-#
-# From <rob@pe1chl.ampr.org>
-# These are the /etc/magic entries to decode datafiles as used for the
-# ZyXEL U-1496E DATA/FAX/VOICE modems. (This header conforms to a
-# ZyXEL-defined standard)
-
-0 string ZyXEL\002 ZyXEL voice data
->10 byte 0 - CELP encoding
->10 byte&0x0B 1 - ADPCM2 encoding
->10 byte&0x0B 2 - ADPCM3 encoding
->10 byte&0x0B 3 - ADPCM4 encoding
->10 byte&0x0B 8 - New ADPCM3 encoding
->10 byte&0x04 4 with resync
diff --git a/contrib/file/Makefile.am b/contrib/file/Makefile.am
deleted file mode 100644
index 85c09bed7dfb0..0000000000000
--- a/contrib/file/Makefile.am
+++ /dev/null
@@ -1,74 +0,0 @@
-# don't enforce GNU packaging standards
-AUTOMAKE_OPTIONS = foreign no-dependencies
-
-bin_PROGRAMS = file
-
-data_DATA = magic magic.mime
-
-MAGIC = @datadir@/magic
-CPPFLAGS = -DMAGIC='"$(MAGIC)"'
-
-man_MANS = file.1 magic.4
-
-file_SOURCES = file.c apprentice.c fsmagic.c softmagic.c ascmagic.c \
- compress.c is_tar.c readelf.c print.c \
- file.h names.h patchlevel.h readelf.h tar.h
-
-EXTRA_DIST = LEGAL.NOTICE MAINT PORTING Makefile.std magic2mime \
- Localstuff Header $(magic_FRAGMENTS) file.man magic.man
-
-CLEANFILES = $(man_MANS) magic
-
-magic: Header Localstuff $(magic_FRAGMENTS)
- cat $(srcdir)/Header $(srcdir)/Localstuff > $@
- for frag in $(magic_FRAGMENTS); do \
- if test -f $(srcdir)/$$frag; then \
- f=$(srcdir)/$$frag; \
- else \
- f=$$frag; \
- fi; \
- cat $$f; \
- done >> $@
-
-file.1: Makefile file.man
- @rm -f $@
- sed -e s@__CSECTION__@1@g \
- -e s@__FSECTION__@4@g \
- -e s@__VERSION__@${VERSION}@g \
- -e s@__MAGIC__@${MAGIC}@g $(srcdir)/file.man > $@
-
-magic.4: Makefile magic.man
- @rm -f $@
- sed -e s@__CSECTION__@1@g \
- -e s@__FSECTION__@4@g \
- -e s@__VERSION__@${VERSION}@g \
- -e s@__MAGIC__@${MAGIC}@g $(srcdir)/magic.man > $@
-
-magic_FRAGMENTS = 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/chi Magdir/cisco Magdir/claris Magdir/clipper \
- Magdir/commands Magdir/compress Magdir/console Magdir/convex \
- Magdir/database Magdir/diamond Magdir/diff Magdir/digital \
- Magdir/dump 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/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/mirage Magdir/mkid Magdir/mmdf Magdir/modem \
- Magdir/motorola Magdir/msdos Magdir/msvc Magdir/ncr Magdir/netbsd \
- Magdir/netscape Magdir/news Magdir/octave Magdir/olf Magdir/os2 \
- Magdir/os9 Magdir/osf1 Magdir/palm Magdir/pbm Magdir/pdf Magdir/pdp \
- Magdir/pgp Magdir/pkgadd Magdir/plus5 Magdir/printer Magdir/project \
- Magdir/psdbms Magdir/pyramid Magdir/python Magdir/riff Magdir/rpm \
- Magdir/rtf Magdir/sc Magdir/sccs Magdir/sendmail Magdir/sequent \
- Magdir/sgi Magdir/sgml Magdir/sniffer Magdir/softquad Magdir/spectrum \
- Magdir/sun Magdir/teapot Magdir/terminfo Magdir/tex Magdir/ti-8x \
- Magdir/timezone Magdir/troff Magdir/typeset Magdir/unknown \
- Magdir/uuencode Magdir/varied.out Magdir/vax Magdir/vicar Magdir/visx \
- Magdir/vms Magdir/vmware Magdir/wordperfect Magdir/xdelta Magdir/xenix \
- Magdir/zilog Magdir/zyxel
diff --git a/contrib/file/README b/contrib/file/README
deleted file mode 100644
index 5ca8ef08d6eb6..0000000000000
--- a/contrib/file/README
+++ /dev/null
@@ -1,91 +0,0 @@
-** README for file(1) Command **
-@(#) $Id: README,v 1.23 2000/08/05 18:25:29 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,
-*BSD, and other systems. (See "patchlevel.h" for the exact release number).
-
-UNIX is a trademark of UNIX System Laboratories.
-
-The prime contributor to Release 3.8 was Guy Harris, who put in megachanges
-including byte-order independance.
-
-The prime contributor to Release 3.0 was Christos Zoulas, who put
-in hundreds of lines of source code changes, including his own
-ANSIfication of the code (I liked my own ANSIfication better, but
-his (__P()) is the "Berkeley standard" way of doing it, and I wanted UCB
-to include the code...), his HP-like "indirection" (a feature of
-the HP file command, I think), and his mods that finally got the
-uncompress (-z) mode finished and working.
-
-This release has compiled in numerous environments; see PORTING
-for a list and problems.
-
-This fine freeware file(1) follows the USG (System V) model of the file
-command, rather than the Research (V7) version or the V7-derived 4.[23]
-Berkeley one. That is, the file /etc/magic contains much of the ritual
-information that is the source of this program's power. My version
-knows a little more magic (including tar archives) than System V; the
-/etc/magic parsing seems to be compatible with the (poorly documented)
-System V /etc/magic format (with one exception; see the man page).
-
-In addition, the /etc/magic file is built from a subdirectory
-for easier(?) maintenance. I will act as a clearinghouse for
-magic numbers assigned to all sorts of data files that
-are in reasonable circulation. Send your magic numbers,
-in magic(4) format please, to the maintainer, Christos Zoulas.
-
-LEGAL.NOTICE - read this first.
-README - read this second (you are currently reading this file).
-PORTING - read this only if the program won't compile.
-Makefile - read this next, adapt it as needed (particularly
- the location of the old existing file command and
- the man page layouts), type "make" to compile,
- "make try" to try it out against your old version.
- Expect some diffs, particularly since your original
- file(1) may not grok the imbedded-space ("\ ") in
- the current magic file, or may even not use the
- magic file.
-apprentice.c - parses /etc/magic to learn magic
-ascmagic.c - third & last set of tests, based on hardwired assumptions.
-core - not included in distribution due to mailer limitations.
-debug.c - includes -c printout routine
-file.1 - man page for the command
-magic.4 - man page for the magic file, courtesy Guy Harris.
- Install as magic.4 on USG and magic.5 on V7 or Berkeley; cf Makefile.
-file.c - main program
-file.h - header file
-fsmagic.c - first set of tests the program runs, based on filesystem info
-is_tar.c, tar.h - knows about tarchives (courtesy John Gilmore).
-magdir - directory of /etc/magic pieces
- magdir/Makefile - ADJUST THIS FOR YOUR CONFIGURATION
-names.h - header file for ascmagic.c
-softmagic.c - 2nd set of tests, based on /etc/magic
-readelf.[ch] - Standalone elf parsing code.
-compress.c - on-the-fly decompression.
-internat.c - recognize international `text' files.
-print.c - print results, errors, warnings.
-
-If your gzip sometimes fails to decompress things complaining about a short
-file, apply this patch [which is going to be in the next version of gzip]:
-*** - Tue Oct 29 02:06:35 1996
---- util.c Sun Jul 21 21:51:38 1996
-*** 106,111 ****
---- 108,114 ----
-
- if (insize == 0) {
- if (eof_ok) return EOF;
-+ flush_window();
- read_error();
- }
- bytes_in += (ulg)insize;
-
-E-mail: christos@astron.com
-
-Phone: Do not even think of telephoning me about this program. Send cash first!
-
-Parts of this software were developed at SoftQuad Inc., 56 Aberfoyle
-Cres, # 810, Toronto, Ontario CANADA M8X 2W4. Phone: 416-239-4801 or
-800-387-2777. Email: mail@sq.com. Call for information on SGML editing
-and browsing, Unix text processing, and customised products on Unix,
-DOS and Mac.
diff --git a/contrib/file/acinclude.m4 b/contrib/file/acinclude.m4
deleted file mode 100644
index 3da5afb77387e..0000000000000
--- a/contrib/file/acinclude.m4
+++ /dev/null
@@ -1,79 +0,0 @@
-dnl cloned from autoconf 2.13 acspecific.m4
-AC_DEFUN(AC_C_LONG_LONG,
-[AC_CACHE_CHECK(for long long, ac_cv_c_long_long,
-[if test "$GCC" = yes; then
- ac_cv_c_long_long=yes
-else
-AC_TRY_RUN([int main() {
-long long foo = 0;
-exit(sizeof(long long) < sizeof(long)); }],
-ac_cv_c_long_long=yes, ac_cv_c_long_long=no)
-fi])
-if test $ac_cv_c_long_long = yes; then
- AC_DEFINE(HAVE_LONG_LONG)
-fi
-])
-
-dnl from autoconf 2.13 acgeneral.m4, with patch:
-dnl Date: Fri, 15 Jan 1999 05:52:41 -0800
-dnl Message-ID: <199901151352.FAA18237@shade.twinsun.com>
-dnl From: eggert@twinsun.com (Paul Eggert)
-dnl Subject: autoconf 2.13 AC_CHECK_TYPE doesn't allow shell vars
-dnl Newsgroups: gnu.utils.bug
-
-dnl AC_CHECK_TYPE2(TYPE, DEFAULT)
-AC_DEFUN(AC_CHECK_TYPE2,
-[AC_REQUIRE([AC_HEADER_STDC])dnl
-AC_MSG_CHECKING(for $1)
-AC_CACHE_VAL(ac_cv_type_$1,
-[AC_EGREP_CPP(dnl
-changequote(<<,>>)dnl
-<<(^|[^a-zA-Z_0-9])$1[^a-zA-Z_0-9]>>dnl
-changequote([,]), [#include <sys/types.h>
-#if STDC_HEADERS
-#include <stdlib.h>
-#include <stddef.h>
-#endif], eval "ac_cv_type_$1=yes", eval "ac_cv_type_$1=no")])dnl
-if eval "test \"`echo '$ac_cv_type_'$1`\" = yes"; then
- AC_MSG_RESULT(yes)
-else
- AC_MSG_RESULT(no)
- AC_DEFINE_UNQUOTED($1, $2)
-fi
-])
-
-dnl from autoconf 2.13 acgeneral.m4, with additional third argument
-dnl AC_CHECK_SIZEOF_INCLUDES(TYPE [, CROSS-SIZE, [INCLUDES]])
-AC_DEFUN(AC_CHECK_SIZEOF_INCLUDES,
-[changequote(<<, >>)dnl
-dnl The name to #define.
-define(<<AC_TYPE_NAME>>, translit(sizeof_$1, [a-z *], [A-Z_P]))dnl
-dnl The cache variable name.
-define(<<AC_CV_NAME>>, translit(ac_cv_sizeof_$1, [ *], [_p]))dnl
-changequote([, ])dnl
-AC_MSG_CHECKING(size of $1)
-AC_CACHE_VAL(AC_CV_NAME,
-[AC_TRY_RUN([$3
-#include <stdio.h>
-main()
-{
- FILE *f=fopen("conftestval", "w");
- if (!f) exit(1);
- fprintf(f, "%d\n", sizeof($1));
- exit(0);
-}], AC_CV_NAME=`cat conftestval`, AC_CV_NAME=0, ifelse([$2], , , AC_CV_NAME=$2))])dnl
-AC_MSG_RESULT($AC_CV_NAME)
-AC_DEFINE_UNQUOTED(AC_TYPE_NAME, $AC_CV_NAME)
-undefine([AC_TYPE_NAME])dnl
-undefine([AC_CV_NAME])dnl
-])
-
-dnl AC_CHECK_SIZEOF_STDC_HEADERS(TYPE [, CROSS_SIZE])
-AC_DEFUN(AC_CHECK_SIZEOF_STDC_HEADERS,
-[AC_CHECK_SIZEOF_INCLUDES($1, $2,
-[#include <sys/types.h>
-#ifdef STDC_HEADERS
-#include <stdlib.h>
-#endif
-])
-])
diff --git a/contrib/file/aclocal.m4 b/contrib/file/aclocal.m4
deleted file mode 100644
index c62b0c8881779..0000000000000
--- a/contrib/file/aclocal.m4
+++ /dev/null
@@ -1,209 +0,0 @@
-dnl aclocal.m4 generated automatically by aclocal 1.4a
-
-dnl Copyright (C) 1994, 1995-8, 1999 Free Software Foundation, Inc.
-dnl This file is free software; the Free Software Foundation
-dnl gives unlimited permission to copy and/or distribute it,
-dnl with or without modifications, as long as this notice is preserved.
-
-dnl This program is distributed in the hope that it will be useful,
-dnl but WITHOUT ANY WARRANTY, to the extent permitted by law; without
-dnl even the implied warranty of MERCHANTABILITY or FITNESS FOR A
-dnl PARTICULAR PURPOSE.
-
-dnl cloned from autoconf 2.13 acspecific.m4
-AC_DEFUN(AC_C_LONG_LONG,
-[AC_CACHE_CHECK(for long long, ac_cv_c_long_long,
-[if test "$GCC" = yes; then
- ac_cv_c_long_long=yes
-else
-AC_TRY_RUN([int main() {
-long long foo = 0;
-exit(sizeof(long long) < sizeof(long)); }],
-ac_cv_c_long_long=yes, ac_cv_c_long_long=no)
-fi])
-if test $ac_cv_c_long_long = yes; then
- AC_DEFINE(HAVE_LONG_LONG)
-fi
-])
-
-dnl from autoconf 2.13 acgeneral.m4, with patch:
-dnl Date: Fri, 15 Jan 1999 05:52:41 -0800
-dnl Message-ID: <199901151352.FAA18237@shade.twinsun.com>
-dnl From: eggert@twinsun.com (Paul Eggert)
-dnl Subject: autoconf 2.13 AC_CHECK_TYPE doesn't allow shell vars
-dnl Newsgroups: gnu.utils.bug
-
-dnl AC_CHECK_TYPE2(TYPE, DEFAULT)
-AC_DEFUN(AC_CHECK_TYPE2,
-[AC_REQUIRE([AC_HEADER_STDC])dnl
-AC_MSG_CHECKING(for $1)
-AC_CACHE_VAL(ac_cv_type_$1,
-[AC_EGREP_CPP(dnl
-changequote(<<,>>)dnl
-<<(^|[^a-zA-Z_0-9])$1[^a-zA-Z_0-9]>>dnl
-changequote([,]), [#include <sys/types.h>
-#if STDC_HEADERS
-#include <stdlib.h>
-#include <stddef.h>
-#endif], eval "ac_cv_type_$1=yes", eval "ac_cv_type_$1=no")])dnl
-if eval "test \"`echo '$ac_cv_type_'$1`\" = yes"; then
- AC_MSG_RESULT(yes)
-else
- AC_MSG_RESULT(no)
- AC_DEFINE_UNQUOTED($1, $2)
-fi
-])
-
-dnl from autoconf 2.13 acgeneral.m4, with additional third argument
-dnl AC_CHECK_SIZEOF_INCLUDES(TYPE [, CROSS-SIZE, [INCLUDES]])
-AC_DEFUN(AC_CHECK_SIZEOF_INCLUDES,
-[changequote(<<, >>)dnl
-dnl The name to #define.
-define(<<AC_TYPE_NAME>>, translit(sizeof_$1, [a-z *], [A-Z_P]))dnl
-dnl The cache variable name.
-define(<<AC_CV_NAME>>, translit(ac_cv_sizeof_$1, [ *], [_p]))dnl
-changequote([, ])dnl
-AC_MSG_CHECKING(size of $1)
-AC_CACHE_VAL(AC_CV_NAME,
-[AC_TRY_RUN([$3
-#include <stdio.h>
-main()
-{
- FILE *f=fopen("conftestval", "w");
- if (!f) exit(1);
- fprintf(f, "%d\n", sizeof($1));
- exit(0);
-}], AC_CV_NAME=`cat conftestval`, AC_CV_NAME=0, ifelse([$2], , , AC_CV_NAME=$2))])dnl
-AC_MSG_RESULT($AC_CV_NAME)
-AC_DEFINE_UNQUOTED(AC_TYPE_NAME, $AC_CV_NAME)
-undefine([AC_TYPE_NAME])dnl
-undefine([AC_CV_NAME])dnl
-])
-
-dnl AC_CHECK_SIZEOF_STDC_HEADERS(TYPE [, CROSS_SIZE])
-AC_DEFUN(AC_CHECK_SIZEOF_STDC_HEADERS,
-[AC_CHECK_SIZEOF_INCLUDES($1, $2,
-[#include <sys/types.h>
-#ifdef STDC_HEADERS
-#include <stdlib.h>
-#endif
-])
-])
-
-# Do all the work for Automake. This macro actually does too much --
-# some checks are only needed if your package does certain things.
-# But this isn't really a big deal.
-
-# serial 1
-
-dnl Usage:
-dnl AM_INIT_AUTOMAKE(package,version, [no-define])
-
-AC_DEFUN(AM_INIT_AUTOMAKE,
-[AC_REQUIRE([AC_PROG_INSTALL])
-dnl We require 2.13 because we rely on SHELL being computed by configure.
-AC_PREREQ([2.13])
-PACKAGE=[$1]
-AC_SUBST(PACKAGE)
-VERSION=[$2]
-AC_SUBST(VERSION)
-dnl test to see if srcdir already configured
-if test "`cd $srcdir && pwd`" != "`pwd`" && test -f $srcdir/config.status; then
- AC_MSG_ERROR([source directory already configured; run "make distclean" there first])
-fi
-ifelse([$3],,
-AC_DEFINE_UNQUOTED(PACKAGE, "$PACKAGE", [Name of package])
-AC_DEFINE_UNQUOTED(VERSION, "$VERSION", [Version number of package]))
-AC_REQUIRE([AM_SANITY_CHECK])
-AC_REQUIRE([AC_ARG_PROGRAM])
-dnl FIXME This is truly gross.
-missing_dir=`cd $ac_aux_dir && pwd`
-AM_MISSING_PROG(ACLOCAL, aclocal, $missing_dir)
-AM_MISSING_PROG(AUTOCONF, autoconf, $missing_dir)
-AM_MISSING_PROG(AUTOMAKE, automake, $missing_dir)
-AM_MISSING_PROG(AUTOHEADER, autoheader, $missing_dir)
-AM_MISSING_PROG(MAKEINFO, makeinfo, $missing_dir)
-AC_REQUIRE([AC_PROG_MAKE_SET])])
-
-#
-# Check to make sure that the build environment is sane.
-#
-
-AC_DEFUN(AM_SANITY_CHECK,
-[AC_MSG_CHECKING([whether build environment is sane])
-# Just in case
-sleep 1
-echo timestamp > conftestfile
-# Do `set' in a subshell so we don't clobber the current shell's
-# arguments. Must try -L first in case configure is actually a
-# symlink; some systems play weird games with the mod time of symlinks
-# (eg FreeBSD returns the mod time of the symlink's containing
-# directory).
-if (
- set X `ls -Lt $srcdir/configure conftestfile 2> /dev/null`
- if test "[$]*" = "X"; then
- # -L didn't work.
- set X `ls -t $srcdir/configure conftestfile`
- fi
- if test "[$]*" != "X $srcdir/configure conftestfile" \
- && test "[$]*" != "X conftestfile $srcdir/configure"; then
-
- # If neither matched, then we have a broken ls. This can happen
- # if, for instance, CONFIG_SHELL is bash and it inherits a
- # broken ls alias from the environment. This has actually
- # happened. Such a system could not be considered "sane".
- AC_MSG_ERROR([ls -t appears to fail. Make sure there is not a broken
-alias in your environment])
- fi
-
- test "[$]2" = conftestfile
- )
-then
- # Ok.
- :
-else
- AC_MSG_ERROR([newly created file is older than distributed files!
-Check your system clock])
-fi
-rm -f conftest*
-AC_MSG_RESULT(yes)])
-
-dnl AM_MISSING_PROG(NAME, PROGRAM, DIRECTORY)
-dnl The program must properly implement --version.
-AC_DEFUN(AM_MISSING_PROG,
-[AC_MSG_CHECKING(for working $2)
-# Run test in a subshell; some versions of sh will print an error if
-# an executable is not found, even if stderr is redirected.
-# Redirect stdin to placate older versions of autoconf. Sigh.
-if ($2 --version) < /dev/null > /dev/null 2>&1; then
- $1=$2
- AC_MSG_RESULT(found)
-else
- $1="$3/missing $2"
- AC_MSG_RESULT(missing)
-fi
-AC_SUBST($1)])
-
-# Like AC_CONFIG_HEADER, but automatically create stamp file.
-
-AC_DEFUN(AM_CONFIG_HEADER,
-[AC_PREREQ([2.12])
-AC_CONFIG_HEADER([$1])
-dnl When config.status generates a header, we must update the stamp-h file.
-dnl This file resides in the same directory as the config header
-dnl that is generated. We must strip everything past the first ":",
-dnl and everything past the last "/".
-AC_OUTPUT_COMMANDS(changequote(<<,>>)dnl
-ifelse(patsubst(<<$1>>, <<[^ ]>>, <<>>), <<>>,
-<<test -z "<<$>>CONFIG_HEADERS" || echo timestamp > patsubst(<<$1>>, <<^\([^:]*/\)?.*>>, <<\1>>)stamp-h<<>>dnl>>,
-<<am_indx=1
-for am_file in <<$1>>; do
- case " <<$>>CONFIG_HEADERS " in
- *" <<$>>am_file "*<<)>>
- echo timestamp > `echo <<$>>am_file | sed -e 's%:.*%%' -e 's%[^/]*$%%'`stamp-h$am_indx
- ;;
- esac
- am_indx=`expr "<<$>>am_indx" + 1`
-done<<>>dnl>>)
-changequote([,]))])
-
diff --git a/contrib/file/apprentice.c b/contrib/file/apprentice.c
deleted file mode 100644
index 1c4664b55111c..0000000000000
--- a/contrib/file/apprentice.c
+++ /dev/null
@@ -1,672 +0,0 @@
-/*
- * apprentice - make one pass through /etc/magic, learning its secrets.
- *
- * Copyright (c) Ian F. Darwin, 1987.
- * Written by Ian F. Darwin.
- *
- * This software is not subject to any license of the American Telephone
- * and Telegraph Company or of the Regents of the University of California.
- *
- * Permission is granted to anyone to use this software for any purpose on
- * any computer system, and to alter it and redistribute it freely, subject
- * to the following restrictions:
- *
- * 1. The author is not responsible for the consequences of use of this
- * software, no matter how awful, even if they arise from flaws in it.
- *
- * 2. The origin of this software must not be misrepresented, either by
- * explicit claim or by omission. Since few users ever read sources,
- * credits must appear in the documentation.
- *
- * 3. Altered versions must be plainly marked as such, and must not be
- * misrepresented as being the original software. Since few users
- * ever read sources, credits must appear in the documentation.
- *
- * 4. This notice may not be removed or altered.
- */
-
-#include <stdio.h>
-#include <stdlib.h>
-#include <string.h>
-#include <ctype.h>
-#include <errno.h>
-#include "file.h"
-
-#ifndef lint
-FILE_RCSID("@(#)$Id: apprentice.c,v 1.33 2000/08/05 17:36:47 christos Exp $")
-#endif /* lint */
-
-#define EATAB {while (isascii((unsigned char) *l) && \
- isspace((unsigned char) *l)) ++l;}
-#define LOWCASE(l) (isupper((unsigned char) (l)) ? \
- tolower((unsigned char) (l)) : (l))
-
-
-#ifdef __EMX__
- char PATHSEP=';';
-#else
- char PATHSEP=':';
-#endif
-
-
-static int getvalue __P((struct magic *, char **));
-static int hextoint __P((int));
-static char *getstr __P((char *, char *, int, int *));
-static int parse __P((char *, int *, int));
-static void eatsize __P((char **));
-
-static int maxmagic = 0;
-
-static int apprentice_1 __P((const char *, int));
-
-int
-apprentice(fn, check)
- const char *fn; /* list of magic files */
- int check; /* non-zero? checking-only run. */
-{
- char *p, *mfn;
- int file_err, errs = -1;
-
- maxmagic = MAXMAGIS;
- magic = (struct magic *) calloc(sizeof(struct magic), maxmagic);
- mfn = malloc(strlen(fn)+1);
- if (magic == NULL || mfn == NULL) {
- (void) fprintf(stderr, "%s: Out of memory.\n", progname);
- if (check)
- return -1;
- else
- exit(1);
- }
- fn = strcpy(mfn, fn);
-
- while (fn) {
- p = strchr(fn, PATHSEP);
- if (p)
- *p++ = '\0';
- file_err = apprentice_1(fn, check);
- if (file_err > errs)
- errs = file_err;
- fn = p;
- }
- if (errs == -1)
- (void) fprintf(stderr, "%s: couldn't find any magic files!\n",
- progname);
- if (!check && errs)
- exit(1);
-
- free(mfn);
- return errs;
-}
-
-static int
-apprentice_1(fn, check)
- const char *fn; /* name of magic file */
- int check; /* non-zero? checking-only run. */
-{
- static const char hdr[] =
- "cont\toffset\ttype\topcode\tmask\tvalue\tdesc";
- FILE *f;
- char line[BUFSIZ+1];
- int errs = 0;
-
- f = fopen(fn, "r");
- if (f==NULL) {
- if (errno != ENOENT)
- (void) fprintf(stderr,
- "%s: can't read magic file %s (%s)\n",
- progname, fn, strerror(errno));
- return -1;
- }
-
- /* parse it */
- if (check) /* print silly verbose header for USG compat. */
- (void) printf("%s\n", hdr);
-
- for (lineno = 1;fgets(line, BUFSIZ, f) != NULL; lineno++) {
- if (line[0]=='#') /* comment, do not parse */
- continue;
- if (strlen(line) <= (unsigned)1) /* null line, garbage, etc */
- continue;
- line[strlen(line)-1] = '\0'; /* delete newline */
- if (parse(line, &nmagic, check) != 0)
- errs = 1;
- }
-
- (void) fclose(f);
- return errs;
-}
-
-/*
- * extend the sign bit if the comparison is to be signed
- */
-uint32
-signextend(m, v)
- struct magic *m;
- uint32 v;
-{
- if (!(m->flag & UNSIGNED))
- switch(m->type) {
- /*
- * Do not remove the casts below. They are
- * vital. When later compared with the data,
- * the sign extension must have happened.
- */
- case BYTE:
- v = (char) v;
- break;
- case SHORT:
- case BESHORT:
- case LESHORT:
- v = (short) v;
- break;
- case DATE:
- case BEDATE:
- case LEDATE:
- case LONG:
- case BELONG:
- case LELONG:
- v = (int32) v;
- break;
- case STRING:
- break;
- default:
- magwarn("can't happen: m->type=%d\n",
- m->type);
- return -1;
- }
- return v;
-}
-
-/*
- * parse one line from magic file, put into magic[index++] if valid
- */
-static int
-parse(l, ndx, check)
- char *l;
- int *ndx, check;
-{
- int i = 0, nd = *ndx;
- struct magic *m;
- char *t, *s;
-
-#define ALLOC_INCR 200
- if (nd+1 >= maxmagic){
- maxmagic += ALLOC_INCR;
- if ((m = (struct magic *) realloc(magic, sizeof(struct magic) *
- maxmagic)) == NULL) {
- (void) fprintf(stderr, "%s: Out of memory.\n",
- progname);
- if (magic)
- free(magic);
- if (check)
- return -1;
- else
- exit(1);
- }
- magic = m;
- memset(&magic[*ndx], 0, sizeof(struct magic) * ALLOC_INCR);
- }
- m = &magic[*ndx];
- m->flag = 0;
- m->cont_level = 0;
-
- while (*l == '>') {
- ++l; /* step over */
- m->cont_level++;
- }
-
- if (m->cont_level != 0 && *l == '(') {
- ++l; /* step over */
- m->flag |= INDIR;
- }
- if (m->cont_level != 0 && *l == '&') {
- ++l; /* step over */
- m->flag |= ADD;
- }
-
- /* get offset, then skip over it */
- m->offset = (int) strtoul(l,&t,0);
- if (l == t)
- magwarn("offset %s invalid", l);
- l = t;
-
- if (m->flag & INDIR) {
- m->in.type = LONG;
- m->in.offset = 0;
- /*
- * read [.lbs][+-]nnnnn)
- */
- if (*l == '.') {
- l++;
- switch (*l) {
- case 'l':
- m->in.type = LELONG;
- break;
- case 'L':
- m->in.type = BELONG;
- break;
- case 'h':
- case 's':
- m->in.type = LESHORT;
- break;
- case 'H':
- case 'S':
- m->in.type = BESHORT;
- break;
- case 'c':
- case 'b':
- case 'C':
- case 'B':
- m->in.type = BYTE;
- break;
- default:
- magwarn("indirect offset type %c invalid", *l);
- break;
- }
- l++;
- }
- s = l;
- if (*l == '+' || *l == '-') l++;
- if (isdigit((unsigned char)*l)) {
- m->in.offset = strtoul(l, &t, 0);
- if (*s == '-') m->in.offset = - m->in.offset;
- }
- else
- t = l;
- if (*t++ != ')')
- magwarn("missing ')' in indirect offset");
- l = t;
- }
-
-
- while (isascii((unsigned char)*l) && isdigit((unsigned char)*l))
- ++l;
- EATAB;
-
-#define NBYTE 4
-#define NSHORT 5
-#define NLONG 4
-#define NSTRING 6
-#define NDATE 4
-#define NBESHORT 7
-#define NBELONG 6
-#define NBEDATE 6
-#define NLESHORT 7
-#define NLELONG 6
-#define NLEDATE 6
-
- if (*l == 'u') {
- ++l;
- m->flag |= UNSIGNED;
- }
-
- /* get type, skip it */
- if (strncmp(l, "char", NBYTE)==0) { /* HP/UX compat */
- m->type = BYTE;
- l += NBYTE;
- } else if (strncmp(l, "byte", NBYTE)==0) {
- m->type = BYTE;
- l += NBYTE;
- } else if (strncmp(l, "short", NSHORT)==0) {
- m->type = SHORT;
- l += NSHORT;
- } else if (strncmp(l, "long", NLONG)==0) {
- m->type = LONG;
- l += NLONG;
- } else if (strncmp(l, "string", NSTRING)==0) {
- m->type = STRING;
- l += NSTRING;
- } else if (strncmp(l, "date", NDATE)==0) {
- m->type = DATE;
- l += NDATE;
- } else if (strncmp(l, "beshort", NBESHORT)==0) {
- m->type = BESHORT;
- l += NBESHORT;
- } else if (strncmp(l, "belong", NBELONG)==0) {
- m->type = BELONG;
- l += NBELONG;
- } else if (strncmp(l, "bedate", NBEDATE)==0) {
- m->type = BEDATE;
- l += NBEDATE;
- } else if (strncmp(l, "leshort", NLESHORT)==0) {
- m->type = LESHORT;
- l += NLESHORT;
- } else if (strncmp(l, "lelong", NLELONG)==0) {
- m->type = LELONG;
- l += NLELONG;
- } else if (strncmp(l, "ledate", NLEDATE)==0) {
- m->type = LEDATE;
- l += NLEDATE;
- } else {
- magwarn("type %s invalid", l);
- return -1;
- }
- /* New-style anding: "0 byte&0x80 =0x80 dynamically linked" */
- if (*l == '&') {
- ++l;
- m->mask = signextend(m, strtoul(l, &l, 0));
- eatsize(&l);
- } else if (STRING == m->type) {
- m->mask = 0L;
- if (*l == '/') {
- while (!isspace(*++l)) {
- switch (*l) {
- case CHAR_IGNORE_LOWERCASE:
- m->mask |= STRING_IGNORE_LOWERCASE;
- break;
- case CHAR_COMPACT_BLANK:
- m->mask |= STRING_COMPACT_BLANK;
- break;
- case CHAR_COMPACT_OPTIONAL_BLANK:
- m->mask |=
- STRING_COMPACT_OPTIONAL_BLANK;
- break;
- default:
- magwarn("string extension %c invalid",
- *l);
- return -1;
- }
- }
- }
- } else
- m->mask = ~0L;
- EATAB;
-
- switch (*l) {
- case '>':
- case '<':
- /* Old-style anding: "0 byte &0x80 dynamically linked" */
- case '&':
- case '^':
- case '=':
- m->reln = *l;
- ++l;
- if (*l == '=') {
- /* HP compat: ignore &= etc. */
- ++l;
- }
- break;
- case '!':
- if (m->type != STRING) {
- m->reln = *l;
- ++l;
- break;
- }
- /* FALL THROUGH */
- default:
- if (*l == 'x' && isascii((unsigned char)l[1]) &&
- isspace((unsigned char)l[1])) {
- m->reln = *l;
- ++l;
- goto GetDesc; /* Bill The Cat */
- }
- m->reln = '=';
- break;
- }
- EATAB;
-
- if (getvalue(m, &l))
- return -1;
- /*
- * TODO finish this macro and start using it!
- * #define offsetcheck {if (offset > HOWMANY-1)
- * magwarn("offset too big"); }
- */
-
- /*
- * now get last part - the description
- */
-GetDesc:
- EATAB;
- if (l[0] == '\b') {
- ++l;
- m->nospflag = 1;
- } else if ((l[0] == '\\') && (l[1] == 'b')) {
- ++l;
- ++l;
- m->nospflag = 1;
- } else
- m->nospflag = 0;
- while ((m->desc[i++] = *l++) != '\0' && i<MAXDESC)
- /* NULLBODY */;
-
- if (check) {
- mdump(m);
- }
- ++(*ndx); /* make room for next */
- return 0;
-}
-
-/*
- * Read a numeric value from a pointer, into the value union of a magic
- * pointer, according to the magic type. Update the string pointer to point
- * just after the number read. Return 0 for success, non-zero for failure.
- */
-static int
-getvalue(m, p)
- struct magic *m;
- char **p;
-{
- int slen;
-
- if (m->type == STRING) {
- *p = getstr(*p, m->value.s, sizeof(m->value.s), &slen);
- m->vallen = slen;
- } else
- if (m->reln != 'x') {
- m->value.l = signextend(m, strtoul(*p, p, 0));
- eatsize(p);
- }
- return 0;
-}
-
-/*
- * Convert a string containing C character escapes. Stop at an unescaped
- * space or tab.
- * Copy the converted version to "p", returning its length in *slen.
- * Return updated scan pointer as function result.
- */
-static char *
-getstr(s, p, plen, slen)
- char *s;
- char *p;
- int plen, *slen;
-{
- char *origs = s, *origp = p;
- char *pmax = p + plen - 1;
- int c;
- int val;
-
- while ((c = *s++) != '\0') {
- if (isspace((unsigned char) c))
- break;
- if (p >= pmax) {
- fprintf(stderr, "String too long: %s\n", origs);
- break;
- }
- if(c == '\\') {
- switch(c = *s++) {
-
- case '\0':
- goto out;
-
- default:
- *p++ = (char) c;
- break;
-
- case 'n':
- *p++ = '\n';
- break;
-
- case 'r':
- *p++ = '\r';
- break;
-
- case 'b':
- *p++ = '\b';
- break;
-
- case 't':
- *p++ = '\t';
- break;
-
- case 'f':
- *p++ = '\f';
- break;
-
- case 'v':
- *p++ = '\v';
- break;
-
- /* \ and up to 3 octal digits */
- case '0':
- case '1':
- case '2':
- case '3':
- case '4':
- case '5':
- case '6':
- case '7':
- val = c - '0';
- c = *s++; /* try for 2 */
- if(c >= '0' && c <= '7') {
- val = (val<<3) | (c - '0');
- c = *s++; /* try for 3 */
- if(c >= '0' && c <= '7')
- val = (val<<3) | (c-'0');
- else
- --s;
- }
- else
- --s;
- *p++ = (char)val;
- break;
-
- /* \x and up to 2 hex digits */
- case 'x':
- val = 'x'; /* Default if no digits */
- c = hextoint(*s++); /* Get next char */
- if (c >= 0) {
- val = c;
- c = hextoint(*s++);
- if (c >= 0)
- val = (val << 4) + c;
- else
- --s;
- } else
- --s;
- *p++ = (char)val;
- break;
- }
- } else
- *p++ = (char)c;
- }
-out:
- *p = '\0';
- *slen = p - origp;
- return s;
-}
-
-
-/* Single hex char to int; -1 if not a hex char. */
-static int
-hextoint(c)
- int c;
-{
- if (!isascii((unsigned char) c))
- return -1;
- if (isdigit((unsigned char) c))
- return c - '0';
- if ((c >= 'a')&&(c <= 'f'))
- return c + 10 - 'a';
- if (( c>= 'A')&&(c <= 'F'))
- return c + 10 - 'A';
- return -1;
-}
-
-
-/*
- * Print a string containing C character escapes.
- */
-void
-showstr(fp, s, len)
- FILE *fp;
- const char *s;
- int len;
-{
- char c;
-
- for (;;) {
- c = *s++;
- if (len == -1) {
- if (c == '\0')
- break;
- }
- else {
- if (len-- == 0)
- break;
- }
- if(c >= 040 && c <= 0176) /* TODO isprint && !iscntrl */
- (void) fputc(c, fp);
- else {
- (void) fputc('\\', fp);
- switch (c) {
-
- case '\n':
- (void) fputc('n', fp);
- break;
-
- case '\r':
- (void) fputc('r', fp);
- break;
-
- case '\b':
- (void) fputc('b', fp);
- break;
-
- case '\t':
- (void) fputc('t', fp);
- break;
-
- case '\f':
- (void) fputc('f', fp);
- break;
-
- case '\v':
- (void) fputc('v', fp);
- break;
-
- default:
- (void) fprintf(fp, "%.3o", c & 0377);
- break;
- }
- }
- }
-}
-
-/*
- * eatsize(): Eat the size spec from a number [eg. 10UL]
- */
-static void
-eatsize(p)
- char **p;
-{
- char *l = *p;
-
- if (LOWCASE(*l) == 'u')
- l++;
-
- switch (LOWCASE(*l)) {
- case 'l': /* long */
- case 's': /* short */
- case 'h': /* short */
- case 'b': /* char/byte */
- case 'c': /* char/byte */
- l++;
- /*FALLTHROUGH*/
- default:
- break;
- }
-
- *p = l;
-}
diff --git a/contrib/file/compress.c b/contrib/file/compress.c
deleted file mode 100644
index 5f18d8289fdde..0000000000000
--- a/contrib/file/compress.c
+++ /dev/null
@@ -1,125 +0,0 @@
-/*
- * compress routines:
- * zmagic() - returns 0 if not recognized, uncompresses and prints
- * information if recognized
- * uncompress(method, old, n, newch) - uncompress old into new,
- * using method, return sizeof new
- */
-#include "file.h"
-#include <stdio.h>
-#include <stdlib.h>
-#ifdef HAVE_UNISTD_H
-#include <unistd.h>
-#endif
-#include <string.h>
-#ifdef HAVE_SYS_WAIT_H
-#include <sys/wait.h>
-#endif
-#ifndef lint
-FILE_RCSID("@(#)$Id: compress.c,v 1.17 2000/08/05 17:36:47 christos Exp $")
-#endif
-
-
-static struct {
- const char *magic;
- int maglen;
- const char *const argv[3];
- int silent;
-} compr[] = {
- { "\037\235", 2, { "uncompress", "-c", NULL }, 0 }, /* compressed */
- { "\037\235", 2, { "gzip", "-cdq", NULL }, 1 }, /* compressed */
- { "\037\213", 2, { "gzip", "-cdq", NULL }, 1 }, /* gzipped */
- { "\037\236", 2, { "gzip", "-cdq", NULL }, 1 }, /* frozen */
- { "\037\240", 2, { "gzip", "-cdq", NULL }, 1 }, /* SCO LZH */
- /* the standard pack utilities do not accept standard input */
- { "\037\036", 2, { "gzip", "-cdq", NULL }, 0 }, /* packed */
- { "BZh", 3, { "bzip2", "-d", NULL }, 1 }, /* bzip2-ed */
-};
-
-static int ncompr = sizeof(compr) / sizeof(compr[0]);
-
-
-static int uncompress __P((int, const unsigned char *, unsigned char **, int));
-
-int
-zmagic(buf, nbytes)
- unsigned char *buf;
- int nbytes;
-{
- unsigned char *newbuf;
- int newsize;
- int i;
-
- for (i = 0; i < ncompr; i++) {
- if (nbytes < compr[i].maglen)
- continue;
- if (memcmp(buf, compr[i].magic, compr[i].maglen) == 0 &&
- (newsize = uncompress(i, buf, &newbuf, nbytes)) != 0) {
- tryit(newbuf, newsize, 1);
- free(newbuf);
- printf(" (");
- tryit(buf, nbytes, 0);
- printf(")");
- return 1;
- }
- }
-
- if (i == ncompr)
- return 0;
-
- return 1;
-}
-
-
-static int
-uncompress(method, old, newch, n)
- int method;
- const unsigned char *old;
- unsigned char **newch;
- int n;
-{
- int fdin[2], fdout[2];
-
- if (pipe(fdin) == -1 || pipe(fdout) == -1) {
- error("cannot create pipe (%s).\n", strerror(errno));
- /*NOTREACHED*/
- }
- switch (fork()) {
- case 0: /* child */
- (void) close(0);
- (void) dup(fdin[0]);
- (void) close(fdin[0]);
- (void) close(fdin[1]);
-
- (void) close(1);
- (void) dup(fdout[1]);
- (void) close(fdout[0]);
- (void) close(fdout[1]);
- if (compr[method].silent)
- (void) close(2);
-
- execvp(compr[method].argv[0],
- (char *const *)compr[method].argv);
- exit(1);
- /*NOTREACHED*/
- case -1:
- error("could not fork (%s).\n", strerror(errno));
- /*NOTREACHED*/
-
- default: /* parent */
- (void) close(fdin[0]);
- (void) close(fdout[1]);
- if (write(fdin[1], old, n) != n)
- return 0;
- (void) close(fdin[1]);
- if ((*newch = (unsigned char *) malloc(n)) == NULL)
- return 0;
- if ((n = read(fdout[0], *newch, n)) <= 0) {
- free(*newch);
- return 0;
- }
- (void) close(fdout[0]);
- (void) wait(NULL);
- return n;
- }
-}
diff --git a/contrib/file/config.h.in b/contrib/file/config.h.in
deleted file mode 100644
index 116676b7af411..0000000000000
--- a/contrib/file/config.h.in
+++ /dev/null
@@ -1,78 +0,0 @@
-/* config.h.in. Generated automatically from configure.in by autoheader. */
-
-/* Define to empty if the keyword does not work. */
-#undef const
-
-/* Define if your struct stat has st_rdev. */
-#undef HAVE_ST_RDEV
-
-/* Define if you have <sys/wait.h> that is POSIX.1 compatible. */
-#undef HAVE_SYS_WAIT_H
-
-/* Define if major, minor, and makedev are declared in <mkdev.h>. */
-#undef MAJOR_IN_MKDEV
-
-/* Define if major, minor, and makedev are declared in <sysmacros.h>. */
-#undef MAJOR_IN_SYSMACROS
-
-/* Define to `long' if <sys/types.h> doesn't define. */
-#undef off_t
-
-/* Define to `unsigned' if <sys/types.h> doesn't define. */
-#undef size_t
-
-/* Define if you have the ANSI C header files. */
-#undef STDC_HEADERS
-
-/* Define if builtin ELF support is enabled. */
-#undef BUILTIN_ELF
-
-/* Define if ELF core file support is enabled. */
-#undef ELFCORE
-
-/* Define if the `long long' type works. */
-#undef HAVE_LONG_LONG
-
-/* Define to `unsigned char' if standard headers don't define. */
-#undef uint8_t
-
-/* Define to `unsigned short' if standard headers don't define. */
-#undef uint16_t
-
-/* Define to `unsigned int' if standard headers don't define. */
-#undef uint32_t
-
-/* Define to `unsigned long long', if available, or `unsigned long', if
- standard headers don't define. */
-#undef uint64_t
-
-/* The number of bytes in a uint8_t. */
-#define SIZEOF_UINT8_T 0
-
-/* The number of bytes in a uint16_t. */
-#define SIZEOF_UINT16_T 0
-
-/* The number of bytes in a uint32_t. */
-#define SIZEOF_UINT32_T 0
-
-/* The number of bytes in a uint64_t. */
-#define SIZEOF_UINT64_T 0
-
-/* Define if you have the strerror function. */
-#undef HAVE_STRERROR
-
-/* Define if you have the strtoul function. */
-#undef HAVE_STRTOUL
-
-/* Define if you have the <locale.h> header file. */
-#undef HAVE_LOCALE_H
-
-/* Define if you have the <unistd.h> header file. */
-#undef HAVE_UNISTD_H
-
-/* Name of package */
-#undef PACKAGE
-
-/* Version number of package */
-#undef VERSION
-
diff --git a/contrib/file/fsmagic.c b/contrib/file/fsmagic.c
deleted file mode 100644
index d6a900e168d30..0000000000000
--- a/contrib/file/fsmagic.c
+++ /dev/null
@@ -1,251 +0,0 @@
-/*
- * fsmagic - magic based on filesystem info - directory, special files, etc.
- *
- * Copyright (c) Ian F. Darwin, 1987.
- * Written by Ian F. Darwin.
- *
- * This software is not subject to any license of the American Telephone
- * and Telegraph Company or of the Regents of the University of California.
- *
- * Permission is granted to anyone to use this software for any purpose on
- * any computer system, and to alter it and redistribute it freely, subject
- * to the following restrictions:
- *
- * 1. The author is not responsible for the consequences of use of this
- * software, no matter how awful, even if they arise from flaws in it.
- *
- * 2. The origin of this software must not be misrepresented, either by
- * explicit claim or by omission. Since few users ever read sources,
- * credits must appear in the documentation.
- *
- * 3. Altered versions must be plainly marked as such, and must not be
- * misrepresented as being the original software. Since few users
- * ever read sources, credits must appear in the documentation.
- *
- * 4. This notice may not be removed or altered.
- */
-
-#include "file.h"
-#include <stdio.h>
-#include <string.h>
-#include <sys/types.h>
-#include <sys/stat.h>
-#ifdef HAVE_UNISTD_H
-#include <unistd.h>
-#endif
-#include <stdlib.h>
-/* Since major is a function on SVR4, we can't use `ifndef major'. */
-#ifdef MAJOR_IN_MKDEV
-# include <sys/mkdev.h>
-# define HAVE_MAJOR
-#endif
-#ifdef MAJOR_IN_SYSMACROS
-# include <sys/sysmacros.h>
-# define HAVE_MAJOR
-#endif
-#ifdef major /* Might be defined in sys/types.h. */
-# define HAVE_MAJOR
-#endif
-
-#ifndef HAVE_MAJOR
-# define major(dev) (((dev) >> 8) & 0xff)
-# define minor(dev) ((dev) & 0xff)
-#endif
-#undef HAVE_MAJOR
-
-#ifndef lint
-FILE_RCSID("@(#)$Id: fsmagic.c,v 1.33 2000/08/05 17:36:48 christos Exp $")
-#endif /* lint */
-
-int
-fsmagic(fn, sb)
- const char *fn;
- struct stat *sb;
-{
- int ret = 0;
-
- /*
- * Fstat is cheaper but fails for files you don't have read perms on.
- * On 4.2BSD and similar systems, use lstat() to identify symlinks.
- */
-#ifdef S_IFLNK
- if (!lflag)
- ret = lstat(fn, sb);
- else
-#endif
- ret = stat(fn, sb); /* don't merge into if; see "ret =" above */
-
- if (ret) {
- ckfprintf(stdout,
- /* Yes, I do mean stdout. */
- /* No \n, caller will provide. */
- "can't stat `%s' (%s).", fn, strerror(errno));
- return 1;
- }
-
- if (iflag) {
- if ((sb->st_mode & S_IFMT) != S_IFREG) {
- ckfputs("application/x-not-regular-file", stdout);
- return 1;
- }
- }
- else {
-#ifdef S_ISUID
- if (sb->st_mode & S_ISUID) ckfputs("setuid ", stdout);
-#endif
-#ifdef S_ISGID
- if (sb->st_mode & S_ISGID) ckfputs("setgid ", stdout);
-#endif
-#ifdef S_ISVTX
- if (sb->st_mode & S_ISVTX) ckfputs("sticky ", stdout);
-#endif
- }
-
- switch (sb->st_mode & S_IFMT) {
- case S_IFDIR:
- ckfputs("directory", stdout);
- return 1;
-#ifdef S_IFCHR
- case S_IFCHR:
- /*
- * If -s has been specified, treat character special files
- * like ordinary files. Otherwise, just report that they
- * are block special files and go on to the next file.
- */
- if (sflag)
- break;
-#ifdef HAVE_ST_RDEV
-# ifdef dv_unit
- (void) printf("character special (%d/%d/%d)",
- major(sb->st_rdev),
- dv_unit(sb->st_rdev),
- dv_subunit(sb->st_rdev));
-# else
- (void) printf("character special (%ld/%ld)",
- (long) major(sb->st_rdev), (long) minor(sb->st_rdev));
-# endif
-#else
- (void) printf("character special");
-#endif
- return 1;
-#endif
-#ifdef S_IFBLK
- case S_IFBLK:
- /*
- * If -s has been specified, treat block special files
- * like ordinary files. Otherwise, just report that they
- * are block special files and go on to the next file.
- */
- if (sflag)
- break;
-#ifdef HAVE_ST_RDEV
-# ifdef dv_unit
- (void) printf("block special (%d/%d/%d)",
- major(sb->st_rdev),
- dv_unit(sb->st_rdev),
- dv_subunit(sb->st_rdev));
-# else
- (void) printf("block special (%ld/%ld)",
- (long) major(sb->st_rdev), (long) minor(sb->st_rdev));
-# endif
-#else
- (void) printf("block special");
-#endif
- return 1;
-#endif
- /* TODO add code to handle V7 MUX and Blit MUX files */
-#ifdef S_IFIFO
- case S_IFIFO:
- ckfputs("fifo (named pipe)", stdout);
- return 1;
-#endif
-#ifdef S_IFDOOR
- case S_IFDOOR:
- ckfputs("door", stdout);
- return 1;
-#endif
-#ifdef S_IFLNK
- case S_IFLNK:
- {
- char buf[BUFSIZ+4];
- int nch;
- struct stat tstatbuf;
-
- if ((nch = readlink(fn, buf, BUFSIZ-1)) <= 0) {
- ckfprintf(stdout, "unreadable symlink (%s).",
- strerror(errno));
- return 1;
- }
- buf[nch] = '\0'; /* readlink(2) forgets this */
-
- /* If broken symlink, say so and quit early. */
- if (*buf == '/') {
- if (stat(buf, &tstatbuf) < 0) {
- ckfprintf(stdout,
- "broken symbolic link to %s", buf);
- return 1;
- }
- }
- else {
- char *tmp;
- char buf2[BUFSIZ+BUFSIZ+4];
-
- if ((tmp = strrchr(fn, '/')) == NULL) {
- tmp = buf; /* in current directory anyway */
- }
- else {
- strcpy (buf2, fn); /* take directory part */
- buf2[tmp-fn+1] = '\0';
- strcat (buf2, buf); /* plus (relative) symlink */
- tmp = buf2;
- }
- if (stat(tmp, &tstatbuf) < 0) {
- ckfprintf(stdout,
- "broken symbolic link to %s", buf);
- return 1;
- }
- }
-
- /* Otherwise, handle it. */
- if (lflag) {
- process(buf, strlen(buf));
- return 1;
- } else { /* just print what it points to */
- ckfputs("symbolic link to ", stdout);
- ckfputs(buf, stdout);
- }
- }
- return 1;
-#endif
-#ifdef S_IFSOCK
-#ifndef __COHERENT__
- case S_IFSOCK:
- ckfputs("socket", stdout);
- return 1;
-#endif
-#endif
- case S_IFREG:
- break;
- default:
- error("invalid mode 0%o.\n", sb->st_mode);
- /*NOTREACHED*/
- }
-
- /*
- * regular file, check next possibility
- *
- * If stat() tells us the file has zero length, report here that
- * the file is empty, so we can skip all the work of opening and
- * reading the file.
- * But if the -s option has been given, we skip this optimization,
- * since on some systems, stat() reports zero size for raw disk
- * partitions. (If the block special device really has zero length,
- * the fact that it is empty will be detected and reported correctly
- * when we read the file.)
- */
- if (!sflag && sb->st_size == 0) {
- ckfputs(iflag ? "application/x-empty" : "empty", stdout);
- return 1;
- }
- return 0;
-}
diff --git a/contrib/file/install-sh b/contrib/file/install-sh
deleted file mode 100755
index 89fc9b098b8c5..0000000000000
--- a/contrib/file/install-sh
+++ /dev/null
@@ -1,238 +0,0 @@
-#! /bin/sh
-#
-# install - install a program, script, or datafile
-# This comes from X11R5.
-#
-# Calling this script install-sh is preferred over install.sh, to prevent
-# `make' implicit rules from creating a file called install from it
-# when there is no Makefile.
-#
-# This script is compatible with the BSD install script, but was written
-# from scratch.
-#
-
-
-# set DOITPROG to echo to test this script
-
-# Don't use :- since 4.3BSD and earlier shells don't like it.
-doit="${DOITPROG-}"
-
-
-# put in absolute paths if you don't have them in your path; or use env. vars.
-
-mvprog="${MVPROG-mv}"
-cpprog="${CPPROG-cp}"
-chmodprog="${CHMODPROG-chmod}"
-chownprog="${CHOWNPROG-chown}"
-chgrpprog="${CHGRPPROG-chgrp}"
-stripprog="${STRIPPROG-strip}"
-rmprog="${RMPROG-rm}"
-mkdirprog="${MKDIRPROG-mkdir}"
-
-tranformbasename=""
-transform_arg=""
-instcmd="$mvprog"
-chmodcmd="$chmodprog 0755"
-chowncmd=""
-chgrpcmd=""
-stripcmd=""
-rmcmd="$rmprog -f"
-mvcmd="$mvprog"
-src=""
-dst=""
-dir_arg=""
-
-while [ x"$1" != x ]; do
- case $1 in
- -c) instcmd="$cpprog"
- shift
- continue;;
-
- -d) dir_arg=true
- shift
- continue;;
-
- -m) chmodcmd="$chmodprog $2"
- shift
- shift
- continue;;
-
- -o) chowncmd="$chownprog $2"
- shift
- shift
- continue;;
-
- -g) chgrpcmd="$chgrpprog $2"
- shift
- shift
- continue;;
-
- -s) stripcmd="$stripprog"
- shift
- continue;;
-
- -t=*) transformarg=`echo $1 | sed 's/-t=//'`
- shift
- continue;;
-
- -b=*) transformbasename=`echo $1 | sed 's/-b=//'`
- shift
- continue;;
-
- *) if [ x"$src" = x ]
- then
- src=$1
- else
- # this colon is to work around a 386BSD /bin/sh bug
- :
- dst=$1
- fi
- shift
- continue;;
- esac
-done
-
-if [ x"$src" = x ]
-then
- echo "install: no input file specified"
- exit 1
-else
- true
-fi
-
-if [ x"$dir_arg" != x ]; then
- dst=$src
- src=""
-
- if [ -d $dst ]; then
- instcmd=:
- else
- instcmd=mkdir
- fi
-else
-
-# Waiting for this to be detected by the "$instcmd $src $dsttmp" command
-# might cause directories to be created, which would be especially bad
-# if $src (and thus $dsttmp) contains '*'.
-
- if [ -f $src -o -d $src ]
- then
- true
- else
- echo "install: $src does not exist"
- exit 1
- fi
-
- if [ x"$dst" = x ]
- then
- echo "install: no destination specified"
- exit 1
- else
- true
- fi
-
-# If destination is a directory, append the input filename; if your system
-# does not like double slashes in filenames, you may need to add some logic
-
- if [ -d $dst ]
- then
- dst="$dst"/`basename $src`
- else
- true
- fi
-fi
-
-## this sed command emulates the dirname command
-dstdir=`echo $dst | sed -e 's,[^/]*$,,;s,/$,,;s,^$,.,'`
-
-# Make sure that the destination directory exists.
-# this part is taken from Noah Friedman's mkinstalldirs script
-
-# Skip lots of stat calls in the usual case.
-if [ ! -d "$dstdir" ]; then
-defaultIFS='
-'
-IFS="${IFS-${defaultIFS}}"
-
-oIFS="${IFS}"
-# Some sh's can't handle IFS=/ for some reason.
-IFS='%'
-set - `echo ${dstdir} | sed -e 's@/@%@g' -e 's@^%@/@'`
-IFS="${oIFS}"
-
-pathcomp=''
-
-while [ $# -ne 0 ] ; do
- pathcomp="${pathcomp}${1}"
- shift
-
- if [ ! -d "${pathcomp}" ] ;
- then
- $mkdirprog "${pathcomp}"
- else
- true
- fi
-
- pathcomp="${pathcomp}/"
-done
-fi
-
-if [ x"$dir_arg" != x ]
-then
- $doit $instcmd $dst &&
-
- if [ x"$chowncmd" != x ]; then $doit $chowncmd $dst; else true ; fi &&
- if [ x"$chgrpcmd" != x ]; then $doit $chgrpcmd $dst; else true ; fi &&
- if [ x"$stripcmd" != x ]; then $doit $stripcmd $dst; else true ; fi &&
- if [ x"$chmodcmd" != x ]; then $doit $chmodcmd $dst; else true ; fi
-else
-
-# If we're going to rename the final executable, determine the name now.
-
- if [ x"$transformarg" = x ]
- then
- dstfile=`basename $dst`
- else
- dstfile=`basename $dst $transformbasename |
- sed $transformarg`$transformbasename
- fi
-
-# don't allow the sed command to completely eliminate the filename
-
- if [ x"$dstfile" = x ]
- then
- dstfile=`basename $dst`
- else
- true
- fi
-
-# Make a temp file name in the proper directory.
-
- dsttmp=$dstdir/#inst.$$#
-
-# Move or copy the file name to the temp name
-
- $doit $instcmd $src $dsttmp &&
-
- trap "rm -f ${dsttmp}" 0 &&
-
-# and set any options; do chmod last to preserve setuid bits
-
-# If any of these fail, we abort the whole thing. If we want to
-# ignore errors from any of these, just make sure not to ignore
-# errors from the above "$doit $instcmd $src $dsttmp" command.
-
- if [ x"$chowncmd" != x ]; then $doit $chowncmd $dsttmp; else true;fi &&
- if [ x"$chgrpcmd" != x ]; then $doit $chgrpcmd $dsttmp; else true;fi &&
- if [ x"$stripcmd" != x ]; then $doit $stripcmd $dsttmp; else true;fi &&
- if [ x"$chmodcmd" != x ]; then $doit $chmodcmd $dsttmp; else true;fi &&
-
-# Now rename the file to the real destination.
-
- $doit $rmcmd -f $dstdir/$dstfile &&
- $doit $mvcmd $dsttmp $dstdir/$dstfile
-
-fi &&
-
-
-exit 0
diff --git a/contrib/file/is_tar.c b/contrib/file/is_tar.c
deleted file mode 100644
index 6c5b61ce77928..0000000000000
--- a/contrib/file/is_tar.c
+++ /dev/null
@@ -1,101 +0,0 @@
-/*
- * is_tar() -- figure out whether file is a tar archive.
- *
- * Stolen (by the author!) from the public domain tar program:
- * Public Domain version written 26 Aug 1985 John Gilmore (ihnp4!hoptoad!gnu).
- *
- * @(#)list.c 1.18 9/23/86 Public Domain - gnu
- * $Id: is_tar.c,v 1.13 2000/08/05 17:36:48 christos Exp $
- *
- * Comments changed and some code/comments reformatted
- * for file command by Ian Darwin.
- */
-
-#include <string.h>
-#include <ctype.h>
-#include <sys/types.h>
-#include "tar.h"
-#include "file.h"
-
-#ifndef lint
-FILE_RCSID("@(#)$Id: is_tar.c,v 1.13 2000/08/05 17:36:48 christos Exp $")
-#endif
-
-#define isodigit(c) ( ((c) >= '0') && ((c) <= '7') )
-
-static int from_oct __P((int, char *)); /* Decode octal number */
-
-/*
- * Return
- * 0 if the checksum is bad (i.e., probably not a tar archive),
- * 1 for old UNIX tar file,
- * 2 for Unix Std (POSIX) tar file.
- */
-int
-is_tar(buf, nbytes)
- unsigned char *buf;
- int nbytes;
-{
- union record *header = (union record *)buf;
- int i;
- int sum, recsum;
- char *p;
-
- if (nbytes < sizeof(union record))
- return 0;
-
- recsum = from_oct(8, header->header.chksum);
-
- sum = 0;
- p = header->charptr;
- for (i = sizeof(union record); --i >= 0;) {
- /*
- * We can't use unsigned char here because of old compilers,
- * e.g. V7.
- */
- sum += 0xFF & *p++;
- }
-
- /* Adjust checksum to count the "chksum" field as blanks. */
- for (i = sizeof(header->header.chksum); --i >= 0;)
- sum -= 0xFF & header->header.chksum[i];
- sum += ' '* sizeof header->header.chksum;
-
- if (sum != recsum)
- return 0; /* Not a tar archive */
-
- if (0==strcmp(header->header.magic, TMAGIC))
- return 2; /* Unix Standard tar archive */
-
- return 1; /* Old fashioned tar archive */
-}
-
-
-/*
- * Quick and dirty octal conversion.
- *
- * Result is -1 if the field is invalid (all blank, or nonoctal).
- */
-static int
-from_oct(digs, where)
- int digs;
- char *where;
-{
- int value;
-
- while (isspace((unsigned char)*where)) { /* Skip spaces */
- where++;
- if (--digs <= 0)
- return -1; /* All blank field */
- }
- value = 0;
- while (digs > 0 && isodigit(*where)) { /* Scan til nonoctal */
- value = (value << 3) | (*where++ - '0');
- --digs;
- }
-
- if (digs > 0 && *where && !isspace((unsigned char)*where))
- return -1; /* Ended on non-space/nul */
-
- return value;
-}
diff --git a/contrib/file/magic.man b/contrib/file/magic.man
deleted file mode 100644
index 55ad4a4f3059b..0000000000000
--- a/contrib/file/magic.man
+++ /dev/null
@@ -1,215 +0,0 @@
-.TH MAGIC __FSECTION__ "Public Domain"
-.\" install as magic.4 on USG, magic.5 on V7 or Berkeley systems.
-.SH NAME
-magic \- file command's magic number file
-.SH DESCRIPTION
-This manual page documents the format of the magic file as
-used by the
-.BR file (__CSECTION__)
-command, version __VERSION__. The
-.B file
-command identifies the type of a file using,
-among other tests,
-a test for whether the file begins with a certain
-.IR "magic number" .
-The file
-.I __MAGIC__
-specifies what magic numbers are to be tested for,
-what message to print if a particular magic number is found,
-and additional information to extract from the file.
-.PP
-Each line of the file specifies a test to be performed.
-A test compares the data starting at a particular offset
-in the file with a 1-byte, 2-byte, or 4-byte numeric value or
-a string. If the test succeeds, a message is printed.
-The line consists of the following fields:
-.IP offset \w'message'u+2n
-A number specifying the offset, in bytes, into the file of the data
-which is to be tested.
-.IP type
-The type of the data to be tested. The possible values are:
-.RS
-.IP byte \w'message'u+2n
-A one-byte value.
-.IP short
-A two-byte value (on most systems) in this machine's native byte order.
-.IP long
-A four-byte value (on most systems) in this machine's native byte order.
-.IP string
-A string of bytes. The string type specification can be optionally followed
-by /[Bbc]*. The ``B'' flag compacts whitespace in the target, which must
-contain at least one whitespace character. If the magic has "n" consecutive
-blanks, the target needs at least "n" consecutive blanks to match. The ``b''
-flag treats every blank in the target as an optional blank. Finally the ``c''
-flag, specifies case insensitive matching: lowercase characters in the magic
-match both lower and upper case characters in the targer, whereas upper case
-characters in the magic, only much uppercase characters in the target.
-.IP date
-A four-byte value interpreted as a unix date.
-.IP beshort
-A two-byte value (on most systems) in big-endian byte order.
-.IP belong
-A four-byte value (on most systems) in big-endian byte order.
-.IP bedate
-A four-byte value (on most systems) in big-endian byte order,
-interpreted as a unix date.
-.IP leshort
-A two-byte value (on most systems) in little-endian byte order.
-.IP lelong
-A four-byte value (on most systems) in little-endian byte order.
-.IP ledate
-A four-byte value (on most systems) in little-endian byte order,
-interpreted as a unix date.
-.RE
-.PP
-The numeric types may optionally be followed by
-.B &
-and a numeric value,
-to specify that the value is to be AND'ed with the
-numeric value before any comparisons are done. Prepending a
-.B u
-to the type indicates that ordered comparisons should be unsigned.
-.IP test
-The value to be compared with the value from the file. If the type is
-numeric, this value
-is specified in C form; if it is a string, it is specified as a C string
-with the usual escapes permitted (e.g. \en for new-line).
-.IP
-Numeric values
-may be preceded by a character indicating the operation to be performed.
-It may be
-.BR = ,
-to specify that the value from the file must equal the specified value,
-.BR < ,
-to specify that the value from the file must be less than the specified
-value,
-.BR > ,
-to specify that the value from the file must be greater than the specified
-value,
-.BR & ,
-to specify that the value from the file must have set all of the bits
-that are set in the specified value,
-.BR ^ ,
-to specify that the value from the file must have clear any of the bits
-that are set in the specified value, or
-.BR x ,
-to specify that any value will match. If the character is omitted,
-it is assumed to be
-.BR = .
-.IP
-Numeric values are specified in C form; e.g.
-.B 13
-is decimal,
-.B 013
-is octal, and
-.B 0x13
-is hexadecimal.
-.IP
-For string values, the byte string from the
-file must match the specified byte string.
-The operators
-.BR = ,
-.B <
-and
-.B >
-(but not
-.BR & )
-can be applied to strings.
-The length used for matching is that of the string argument
-in the magic file. This means that a line can match any string, and
-then presumably print that string, by doing
-.B >\e0
-(because all strings are greater than the null string).
-.IP message
-The message to be printed if the comparison succeeds. If the string
-contains a
-.BR printf (3S)
-format specification, the value from the file (with any specified masking
-performed) is printed using the message as the format string.
-.PP
-Some file formats contain additional information which is to be printed
-along with the file type. A line which begins with the character
-.B >
-indicates additional tests and messages to be printed. The number of
-.B >
-on the line indicates the level of the test; a line with no
-.B >
-at the beginning is considered to be at level 0.
-Each line at level
-.IB n \(pl1
-is under the control of the line at level
-.IB n
-most closely preceding it in the magic file.
-If the test on a line at level
-.I n
-succeeds, the tests specified in all the subsequent lines at level
-.IB n \(pl1
-are performed, and the messages printed if the tests succeed. The next
-line at level
-.I n
-terminates this.
-If the first character following the last
-.B >
-is a
-.B (
-then the string after the parenthesis is interpreted as an indirect offset.
-That means that the number after the parenthesis is used as an offset in
-the file. The value at that offset is read, and is used again as an offset
-in the file. Indirect offsets are of the form:
-.BI (( x [.[bslBSL]][+-][ y ]).
-The value of
-.I x
-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
-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
-if one is not specified is long.
-.PP
-Sometimes you do not know the exact offset as this depends on the length of
-preceding fields. You can specify an offset relative to the end of the
-last uplevel field (of course this may only be done for sublevel tests, i.e.
-test beginning with
-.B >
-). Such a relative offset is specified using
-.B &
-as a prefix to the offset.
-.SH BUGS
-The formats
-.IR long ,
-.IR belong ,
-.IR lelong ,
-.IR short ,
-.IR beshort ,
-.IR leshort ,
-.IR date ,
-.IR bedate ,
-and
-.I ledate
-are system-dependent; perhaps they should be specified as a number
-of bytes (2B, 4B, etc),
-since the files being recognized typically come from
-a system on which the lengths are invariant.
-.PP
-There is (currently) no support for specified-endian data to be used in
-indirect offsets.
-.SH SEE ALSO
-.BR file (__CSECTION__)
-\- the command that reads this file.
-.\"
-.\" From: guy@sun.uucp (Guy Harris)
-.\" Newsgroups: net.bugs.usg
-.\" Subject: /etc/magic's format isn't well documented
-.\" Message-ID: <2752@sun.uucp>
-.\" Date: 3 Sep 85 08:19:07 GMT
-.\" Organization: Sun Microsystems, Inc.
-.\" Lines: 136
-.\"
-.\" Here's a manual page for the format accepted by the "file" made by adding
-.\" the changes I posted to the S5R2 version.
-.\"
-.\" Modified for Ian Darwin's version of the file command.
-.\" @(#)$Id: magic.man,v 1.16 1999/11/28 20:02:29 christos Exp $
diff --git a/contrib/file/magic.mime b/contrib/file/magic.mime
deleted file mode 100644
index c01840f0156fa..0000000000000
--- a/contrib/file/magic.mime
+++ /dev/null
@@ -1,531 +0,0 @@
-# Magic data for KMimeMagic (originally for file(1) command)
-#
-# The format is 4-5 columns:
-# Column #1: byte number to begin checking from, ">" indicates continuation
-# Column #2: type of data to match
-# Column #3: contents of data to match
-# Column #4: MIME type of result
-# Column #5: MIME encoding of result (optional)
-
-#------------------------------------------------------------------------------
-# Localstuff: file(1) magic for locally observed files
-# Add any locally observed files here.
-
-#------------------------------------------------------------------------------
-# end local stuff
-#------------------------------------------------------------------------------
-
-#------------------------------------------------------------------------------
-# Java
-
-0 short 0xcafe
->2 short 0xbabe application/java
-
-#------------------------------------------------------------------------------
-# audio: file(1) magic for sound formats
-#
-# from Jan Nicolai Langfeldt <janl@ifi.uio.no>,
-#
-
-# Sun/NeXT audio data
-0 string .snd
->12 belong 1 audio/basic
->12 belong 2 audio/basic
->12 belong 3 audio/basic
->12 belong 4 audio/basic
->12 belong 5 audio/basic
->12 belong 6 audio/basic
->12 belong 7 audio/basic
-
->12 belong 23 audio/x-adpcm
-
-# DEC systems (e.g. DECstation 5000) use a variant of the Sun/NeXT format
-# that uses little-endian encoding and has a different magic number
-# (0x0064732E in little-endian encoding).
-0 lelong 0x0064732E
->12 lelong 1 audio/x-dec-basic
->12 lelong 2 audio/x-dec-basic
->12 lelong 3 audio/x-dec-basic
->12 lelong 4 audio/x-dec-basic
->12 lelong 5 audio/x-dec-basic
->12 lelong 6 audio/x-dec-basic
->12 lelong 7 audio/x-dec-basic
-# compressed (G.721 ADPCM)
->12 lelong 23 audio/x-dec-adpcm
-
-# Bytes 0-3 of AIFF, AIFF-C, & 8SVX audio files are "FORM"
-# AIFF audio data
-8 string AIFF audio/x-aiff
-# AIFF-C audio data
-8 string AIFC audio/x-aiff
-# IFF/8SVX audio data
-8 string 8SVX audio/x-aiff
-
-# Creative Labs AUDIO stuff
-# Standard MIDI data
-0 string MThd audio/unknown
-#>9 byte >0 (format %d)
-#>11 byte >1 using %d channels
-# Creative Music (CMF) data
-0 string CTMF audio/unknown
-# SoundBlaster instrument data
-0 string SBI audio/unknown
-# Creative Labs voice data
-0 string Creative\ Voice\ File audio/unknown
-## is this next line right? it came this way...
-#>19 byte 0x1A
-#>23 byte >0 - version %d
-#>22 byte >0 \b.%d
-
-# [GRR 950115: is this also Creative Labs? Guessing that first line
-# should be string instead of unknown-endian long...]
-#0 long 0x4e54524b MultiTrack sound data
-#0 string NTRK MultiTrack sound data
-#>4 long x - version %ld
-
-# Microsoft WAVE format (*.wav)
-# [GRR 950115: probably all of the shorts and longs should be leshort/lelong]
-# Microsoft RIFF
-0 string RIFF audio/unknown
-# - WAVE format
->8 string WAVE audio/x-wav
-#
-0 belong 0x2e7261fd application/x-realaudio
-
-# MPEG Layer 3 sound files
-# Modified the 11/20/97 at 15:59:04 by Christophe Prud'homme <christophe.prudhomme@asci.fr>
-0 belong 0xfffb audio/x-mp3
-
-#------------------------------------------------------------------------------
-# c-lang: file(1) magic for C programs or various scripts
-#
-
-# XPM icons (Greg Roelofs, newt@uchicago.edu)
-# ideally should go into "images", but entries below would tag XPM as C source
-0 string /*\ XPM image/x-xpm 7bit
-
-# this first will upset you if you're a PL/1 shop... (are there any left?)
-# in which case rm it; ascmagic will catch real C programs
-# C or REXX program text
-#0 string /* text/x-c
-# C++ program text
-#0 string // text/x-c++
-
-#------------------------------------------------------------------------------
-# commands: file(1) magic for various shells and interpreters
-#
-#0 string :\ shell archive or commands for antique kernel text
-0 string #!/bin/sh application/x-shellscript
-0 string #!\ /bin/sh application/x-shellscript
-0 string #!/bin/csh application/x-shellscript
-0 string #!\ /bin/csh application/x-shellscript
-# korn shell magic, sent by George Wu, gwu@clyde.att.com
-0 string #!/bin/ksh application/x-shellscript
-0 string #!\ /bin/ksh application/x-shellscript
-0 string #!/bin/tcsh application/x-shellscript
-0 string #!\ /bin/tcsh application/x-shellscript
-0 string #!/usr/local/tcsh application/x-shellscript
-0 string #!\ /usr/local/tcsh application/x-shellscript
-0 string #!/usr/local/bin/tcsh application/x-shellscript
-0 string #!\ /usr/local/bin/tcsh application/x-shellscript
-# bash shell magic, from Peter Tobias (tobias@server.et-inf.fho-emden.de)
-0 string #!/bin/bash application/x-shellscript
-0 string #!\ /bin/bash application/x-shellscript
-0 string #!/usr/local/bin/bash application/x-shellscript
-0 string #!\ /usr/local/bin/bash application/x-shellscript
-
-#
-# zsh/ash/ae/nawk/gawk magic from cameron@cs.unsw.oz.au (Cameron Simpson)
-0 string #!/usr/local/bin/zsh application/x-shellscript
-0 string #!\ /usr/local/bin/zsh application/x-shellscript
-0 string #!/usr/local/bin/ash application/x-shellscript
-0 string #!\ /usr/local/bin/ash application/x-shellscript
-#0 string #!/usr/local/bin/ae Neil Brown's ae
-#0 string #!\ /usr/local/bin/ae Neil Brown's ae
-0 string #!/bin/nawk application/x-nawk
-0 string #!\ /bin/nawk application/x-nawk
-0 string #!/usr/bin/nawk application/x-nawk
-0 string #!\ /usr/bin/nawk application/x-nawk
-0 string #!/usr/local/bin/nawk application/x-nawk
-0 string #!\ /usr/local/bin/nawk application/x-nawk
-0 string #!/bin/gawk application/x-gawk
-0 string #!\ /bin/gawk application/x-gawk
-0 string #!/usr/bin/gawk application/x-gawk
-0 string #!\ /usr/bin/gawk application/x-gawk
-0 string #!/usr/local/bin/gawk application/x-gawk
-0 string #!\ /usr/local/bin/gawk application/x-gawk
-#
-0 string #!/bin/awk application/x-awk
-0 string #!\ /bin/awk application/x-awk
-0 string #!/usr/bin/awk application/x-awk
-0 string #!\ /usr/bin/awk application/x-awk
-0 string BEGIN application/x-awk
-
-# For Larry Wall's perl language. The ``eval'' line recognizes an
-# outrageously clever hack for USG systems.
-# Keith Waclena <keith@cerberus.uchicago.edu>
-0 string #!/bin/perl application/x-perl
-0 string #!\ /bin/perl application/x-perl
-0 string eval\ "exec\ /bin/perl application/x-perl
-0 string #!/usr/bin/perl application/x-perl
-0 string #!\ /usr/bin/perl application/x-perl
-0 string eval\ "exec\ /usr/bin/perl application/x-perl
-0 string #!/usr/local/bin/perl application/x-perl
-0 string #!\ /usr/local/bin/perl application/x-perl
-0 string eval\ "exec\ /usr/local/bin/perl application/x-perl
-
-#------------------------------------------------------------------------------
-# compress: file(1) magic for pure-compression formats (no archives)
-#
-# compress, gzip, pack, compact, huf, squeeze, crunch, freeze, yabba, whap, etc.
-#
-# Formats for various forms of compressed data
-# Formats for "compress" proper have been moved into "compress.c",
-# because it tries to uncompress it to figure out what's inside.
-
-# standard unix compress
-0 string \037\235 application/x-compress
-
-# gzip (GNU zip, not to be confused with [Info-ZIP/PKWARE] zip archiver)
-0 string \037\213 application/x-gzip
-
-0 string PK\003\004 application/x-zip
-
-# According to gzip.h, this is the correct byte order for packed data.
-0 string \037\036 application/octet-stream
-#
-# This magic number is byte-order-independent.
-#
-0 short 017437 application/octet-stream
-
-# XXX - why *two* entries for "compacted data", one of which is
-# byte-order independent, and one of which is byte-order dependent?
-#
-# compacted data
-0 short 0x1fff application/octet-stream
-0 string \377\037 application/octet-stream
-# huf output
-0 short 0145405 application/octet-stream
-
-# Squeeze and Crunch...
-# These numbers were gleaned from the Unix versions of the programs to
-# handle these formats. Note that I can only uncrunch, not crunch, and
-# I didn't have a crunched file handy, so the crunch number is untested.
-# Keith Waclena <keith@cerberus.uchicago.edu>
-#0 leshort 0x76FF squeezed data (CP/M, DOS)
-#0 leshort 0x76FE crunched data (CP/M, DOS)
-
-# Freeze
-#0 string \037\237 Frozen file 2.1
-#0 string \037\236 Frozen file 1.0 (or gzip 0.5)
-
-# lzh?
-#0 string \037\240 LZH compressed data
-
-257 string ustar\0 application/x-tar posix
-257 string ustar\040\040\0 application/x-tar gnu
-
-0 short 070707 application/x-cpio
-0 short 0143561 application/x-cpio swapped
-
-0 string =<ar> application/x-archive
-0 string !<arch> application/x-archive
->8 string debian application/x-debian-package
-
-#------------------------------------------------------------------------------
-#
-# RPM: file(1) magic for Red Hat Packages Erik Troan (ewt@redhat.com)
-#
-0 beshort 0xedab
->2 beshort 0xeedb application/x-rpm
-
-0 lelong&0x8080ffff 0x0000081a application/x-arc lzw
-0 lelong&0x8080ffff 0x0000091a application/x-arc squashed
-0 lelong&0x8080ffff 0x0000021a application/x-arc uncompressed
-0 lelong&0x8080ffff 0x0000031a application/x-arc packed
-0 lelong&0x8080ffff 0x0000041a application/x-arc squeezed
-0 lelong&0x8080ffff 0x0000061a application/x-arc crunched
-
-0 leshort 0xea60 application/octet-stream x-arj
-
-# LHARC/LHA archiver (Greg Roelofs, newt@uchicago.edu)
-2 string -lh0- application/x-lharc lh0
-2 string -lh1- application/x-lharc lh1
-2 string -lz4- application/x-lharc lz4
-2 string -lz5- application/x-lharc lz5
-# [never seen any but the last; -lh4- reported in comp.compression:]
-2 string -lzs- application/x-lha lzs
-2 string -lh\ - application/x-lha lh
-2 string -lhd- application/x-lha lhd
-2 string -lh2- application/x-lha lh2
-2 string -lh3- application/x-lha lh3
-2 string -lh4- application/x-lha lh4
-2 string -lh5- application/x-lha lh5
-# Shell archives
-10 string #\ This\ is\ a\ shell\ archive application/octet-stream x-shell
-
-#------------------------------------------------------------------------------
-# frame: file(1) magic for FrameMaker files
-#
-# This stuff came on a FrameMaker demo tape, most of which is
-# copyright, but this file is "published" as witness the following:
-#
-0 string \<MakerFile application/x-frame
-0 string \<MIFFile application/x-frame
-0 string \<MakerDictionary application/x-frame
-0 string \<MakerScreenFon application/x-frame
-0 string \<MML application/x-frame
-0 string \<Book application/x-frame
-0 string \<Maker application/x-frame
-
-#------------------------------------------------------------------------------
-# html: file(1) magic for HTML (HyperText Markup Language) docs
-#
-# from Daniel Quinlan <quinlan@yggdrasil.com>
-#
-0 string \<HEAD text/html
-0 string \<head text/html
-0 string \<TITLE text/html
-0 string \<title text/html
-0 string \<html text/html
-0 string \<HTML text/html
-0 string \<!-- text/html
-0 string \<h1 text/html
-0 string \<H1 text/html
-0 string \<!doctype\ HTML text/html
-0 string \<!DOCTYPE\ HTML text/html
-0 string \<!doctype\ html text/html
-
-#------------------------------------------------------------------------------
-# images: file(1) magic for image formats (see also "c-lang" for XPM bitmaps)
-#
-# originally from jef@helios.ee.lbl.gov (Jef Poskanzer),
-# additions by janl@ifi.uio.no as well as others. Jan also suggested
-# merging several one- and two-line files into here.
-#
-# XXX - byte order for GIF and TIFF fields?
-# [GRR: TIFF allows both byte orders; GIF is probably little-endian]
-#
-
-# [GRR: what the hell is this doing in here?]
-#0 string xbtoa btoa'd file
-
-# PBMPLUS
-# PBM file
-0 string P1 image/x-portable-bitmap 7bit
-# PGM file
-0 string P2 image/x-portable-greymap 7bit
-# PPM file
-0 string P3 image/x-portable-pixmap 7bit
-# PBM "rawbits" file
-0 string P4 image/x-portable-bitmap
-# PGM "rawbits" file
-0 string P5 image/x-portable-greymap
-# PPM "rawbits" file
-0 string P6 image/x-portable-pixmap
-
-# NIFF (Navy Interchange File Format, a modification of TIFF)
-# [GRR: this *must* go before TIFF]
-0 string IIN1 image/x-niff
-
-# TIFF and friends
-# TIFF file, big-endian
-0 string MM image/tiff
-# TIFF file, little-endian
-0 string II image/tiff
-
-# possible GIF replacements; none yet released!
-# (Greg Roelofs, newt@uchicago.edu)
-#
-# GRR 950115: this was mine ("Zip GIF"):
-# ZIF image (GIF+deflate alpha)
-0 string GIF94z image/unknown
-#
-# GRR 950115: this is Jeremy Wohl's Free Graphics Format (better):
-# FGF image (GIF+deflate beta)
-0 string FGF95a image/unknown
-#
-# GRR 950115: this is Thomas Boutell's Portable Bitmap Format proposal
-# (best; not yet implemented):
-# PBF image (deflate compression)
-0 string PBF image/unknown
-
-# GIF
-0 string GIF image/gif
-
-# JPEG images
-0 beshort 0xffd8 image/jpeg
-
-# PC bitmaps (OS/2, Windoze BMP files) (Greg Roelofs, newt@uchicago.edu)
-0 string BM image/bmp
-#>14 byte 12 (OS/2 1.x format)
-#>14 byte 64 (OS/2 2.x format)
-#>14 byte 40 (Windows 3.x format)
-#0 string IC icon
-#0 string PI pointer
-#0 string CI color icon
-#0 string CP color pointer
-#0 string BA bitmap array
-
-
-#------------------------------------------------------------------------------
-# lisp: file(1) magic for lisp programs
-#
-# various lisp types, from Daniel Quinlan (quinlan@yggdrasil.com)
-0 string ;; text/plain 8bit
-# Emacs 18 - this is always correct, but not very magical.
-0 string \012( application/x-elc
-# Emacs 19
-0 string ;ELC\023\000\000\000 application/x-elc
-
-#------------------------------------------------------------------------------
-# mail.news: file(1) magic for mail and news
-#
-# There are tests to ascmagic.c to cope with mail and news.
-0 string Relay-Version: message/rfc822 7bit
-0 string #!\ rnews message/rfc822 7bit
-0 string N#!\ rnews message/rfc822 7bit
-0 string Forward\ to message/rfc822 7bit
-0 string Pipe\ to message/rfc822 7bit
-0 string Return-Path: message/rfc822 7bit
-0 string Path: message/news 8bit
-0 string Xref: message/news 8bit
-0 string From: message/rfc822 7bit
-0 string Article message/news 8bit
-#------------------------------------------------------------------------------
-# msword: file(1) magic for MS Word files
-#
-# Contributor claims:
-# Reversed-engineered MS Word magic numbers
-#
-
-0 string \376\067\0\043 application/msword
-0 string \320\317\021\340\241\261 application/msword
-0 string \333\245-\0\0\0 application/msword
-
-
-
-#------------------------------------------------------------------------------
-# printer: file(1) magic for printer-formatted files
-#
-
-# PostScript
-0 string %! application/postscript
-0 string \004%! application/postscript
-
-# Acrobat
-# (due to clamen@cs.cmu.edu)
-0 string %PDF- application/pdf
-
-#------------------------------------------------------------------------------
-# sc: file(1) magic for "sc" spreadsheet
-#
-38 string Spreadsheet application/x-sc
-
-#------------------------------------------------------------------------------
-# tex: file(1) magic for TeX files
-#
-# XXX - needs byte-endian stuff (big-endian and little-endian DVI?)
-#
-# From <conklin@talisman.kaleida.com>
-
-# Although we may know the offset of certain text fields in TeX DVI
-# and font files, we can't use them reliably because they are not
-# zero terminated. [but we do anyway, christos]
-0 string \367\002 application/x-dvi
-#0 string \367\203 TeX generic font data
-#0 string \367\131 TeX packed font data
-#0 string \367\312 TeX virtual font data
-#0 string This\ is\ TeX, TeX transcript text
-#0 string This\ is\ METAFONT, METAFONT transcript text
-
-# There is no way to detect TeX Font Metric (*.tfm) files without
-# breaking them apart and reading the data. The following patterns
-# match most *.tfm files generated by METAFONT or afm2tfm.
-2 string \000\021 application/x-tex-tfm
-2 string \000\022 application/x-tex-tfm
-#>34 string >\0 (%s)
-
-# Texinfo and GNU Info, from Daniel Quinlan (quinlan@yggdrasil.com)
-#0 string \\input\ texinfo Texinfo source text
-#0 string This\ is\ Info\ file GNU Info text
-
-# correct TeX magic for Linux (and maybe more)
-# from Peter Tobias (tobias@server.et-inf.fho-emden.de)
-#
-0 leshort 0x02f7 application/x-dvi
-
-# RTF - Rich Text Format
-0 string {\\rtf text/rtf
-
-#------------------------------------------------------------------------------
-# animation: file(1) magic for animation/movie formats
-#
-# animation formats, originally from vax@ccwf.cc.utexas.edu (VaX#n8)
-# MPEG file
-0 string \000\000\001\263 video/mpeg
-# FLI animation format
-0 leshort 0xAF11 video/fli
-# FLC animation format
-0 leshort 0xAF12 video/flc
-# AVI
->8 string AVI\ video/avi
-#
-# SGI and Apple formats
-#
-0 string MOVI video/sgi
-4 string moov video/quicktime moov
-4 string mdat video/quicktime mdat
-# The contributor claims:
-# I couldn't find a real magic number for these, however, this
-# -appears- to work. Note that it might catch other files, too,
-# so BE CAREFUL!
-#
-# Note that title and author appear in the two 20-byte chunks
-# at decimal offsets 2 and 22, respectively, but they are XOR'ed with
-# 255 (hex FF)! DL format SUCKS BIG ROCKS.
-#
-# DL file version 1 , medium format (160x100, 4 images/screen)
-0 byte 1 video/unknown
-0 byte 2 video/unknown
-#
-# Databases
-#
-# GDBM magic numbers
-# Will be maintained as part of the GDBM distribution in the future.
-# <downsj@teeny.org>
-0 belong 0x13579ace application/x-gdbm
-0 lelong 0x13579ace application/x-gdbm
-0 string GDBM application/x-gdbm
-#
-0 belong 0x061561 application/x-dbm
-#
-# Executables
-#
-0 string \177ELF
->4 byte 0
->4 byte 1
->4 byte 2
->5 byte 0
->5 byte 1
->>16 leshort 0
->>16 leshort 1 application/x-object
->>16 leshort 2 application/x-executable
->>16 leshort 3 application/x-sharedlib
->>16 leshort 4 application/x-coredump
-#
-# DOS
-0 string MZ application/x-dosexec
-#
-# KDE
-0 string [KDE\ Desktop\ Entry] application/x-kdelnk
-0 string \#\ KDE\ Config\ File application/x-kdelnk
-# xmcd database file for kscd
-0 string \#\ xmcd text/xmcd
-
-#------------------------------------------------------------------------------
-# pkgadd: file(1) magic for SysV R4 PKG Datastreams
-#
-0 string #\ PaCkAgE\ DaTaStReAm application/x-svr4-package
-
-
diff --git a/contrib/file/magic2mime b/contrib/file/magic2mime
deleted file mode 100755
index 9c6b4ecd630ee..0000000000000
--- a/contrib/file/magic2mime
+++ /dev/null
@@ -1,68 +0,0 @@
-#! /usr/local/bin/perl
-# -*- PERL -*-
-# $Id: magic2mime,v 1.1 1998/02/15 23:18:53 christos Exp $
-# Copyright (c) 1996, 1997 vax@linkdead.paranoia.com (VaX#n8)
-#
-# Usage: echo 'your-file-output-here' | file_to_ctype.pl
-# file -b files... | file_to_ctype.pl
-# It acts like a filter, reading from STDIN and any files on the command
-# line, printing to STDOUT.
-
-## refs
-# http://www.faqs.org/faqs/mail/mime-faq/part1/index.html
-# comp.mail.mime FAQ
-# ftp://ftp.isi.edu/in-notes/iana/assignments/media-types/media-types
-# assigned content-types
-# ftp://ftp.uu.net/inet/rfc/rfc-index
-# RFC index; search for MIME
-
-@mapping =
-(
- # defaults
- 'data', 'application/octet-stream',
- 'text', 'text/plain',
- # more specific
- '^Rich Text Format data', 'text/richtext',
- '^HTML document text', 'text/html',
- '^exported SGML document text', 'text/sgml',
- 'mail text', 'message/rfc822',
- 'news text', 'message/news',
- '^PostScript document text', 'application/postscript',
- '^BinHex binary text', 'application/mac-binhex40',
- '^Zip archive data', 'application/zip',
- '^Microsoft Word', 'application/msword',
- '^PGP key', 'application/pgp-keys',
- '^PGP encrypted', 'application/pgp-encrypted',
- '^PGP armored data signature', 'application/pgp-signature',
- '^JPEG image', 'image/jpeg',
- '^GIF image', 'image/gif',
- '^PNG image', 'image/png',
- '^TIFF image', 'image/tiff',
- 'Computer Graphics Metafile', 'image/cgf',
- '^Sun/NeXT audio data', 'audio/basic',
- '^MPEG', 'video/mpeg',
- '^Apple QuickTime movie', 'video/quicktime',
- # made up by me
- '^bitmap', 'image/x-bitmap',
- '^PC bitmap data, Windows 3.x format', 'image/x-msw3bmp',
- '^FLI', 'video/x-fli',
- '^FLC', 'video/x-flc',
- 'AVI data', 'video/x-avi',
- 'WAVE', 'audio/x-wav',
- 'VOC', 'audio/x-voc',
-);
-
-local($mimetype,$index,$regexp);
-while (<>)
- {
- chop;
- $index = $#mapping - 1;
- while ($index > -1 && !defined($mimetype))
- {
- $mimetype = $mapping[$index + 1] if (/$mapping[$index]/);
- $index -= 2;
- }
- print "$mimetype\n";
- undef $mimetype; # hack
- }
-0;
diff --git a/contrib/file/missing b/contrib/file/missing
deleted file mode 100755
index e69de29bb2d1d..0000000000000
--- a/contrib/file/missing
+++ /dev/null
diff --git a/contrib/file/names.h b/contrib/file/names.h
deleted file mode 100644
index 856632a9dc3ac..0000000000000
--- a/contrib/file/names.h
+++ /dev/null
@@ -1,159 +0,0 @@
-/*
- * Names.h - names and types used by ascmagic in file(1).
- * These tokens are here because they can appear anywhere in
- * the first HOWMANY bytes, while tokens in /etc/magic must
- * appear at fixed offsets into the file. Don't make HOWMANY
- * too high unless you have a very fast CPU.
- *
- * Copyright (c) Ian F. Darwin, 1987.
- * Written by Ian F. Darwin.
- *
- * See LEGAL.NOTICE
- *
- * $Id: names.h,v 1.18 2000/08/05 17:36:49 christos Exp $
- */
-
-/*
- modified by Chris Lowth - 9 April 2000
- to add mime type strings to the types table.
-*/
-
-/* these types are used to index the table 'types': keep em in sync! */
-#define L_C 0 /* first and foremost on UNIX */
-#define L_CC 1 /* Bjarne's postincrement */
-#define L_FORT 2 /* the oldest one */
-#define L_MAKE 3 /* Makefiles */
-#define L_PLI 4 /* PL/1 */
-#define L_MACH 5 /* some kinda assembler */
-#define L_ENG 6 /* English */
-#define L_PAS 7 /* Pascal */
-#define L_MAIL 8 /* Electronic mail */
-#define L_NEWS 9 /* Usenet Netnews */
-#define L_JAVA 10 /* Java code */
-#define L_HTML 11 /* HTML */
-#define L_BCPL 12 /* BCPL */
-#define L_M4 13 /* M4 */
-
-static const struct {
- char *human;
- char *mime;
-} types[] = {
- { "C program", "text/x-c", },
- { "C++ program", "text/x-c++" },
- { "FORTRAN program", "text/x-fortran" },
- { "make commands", "text/x-makefile" },
- { "PL/1 program", "text/x-pl1" },
- { "assembler program", "text/x-asm" },
- { "English", "text/plain, English" },
- { "Pascal program", "text/x-pascal" },
- { "mail", "text/x-mail" },
- { "news", "text/x-news" },
- { "Java program", "text/x-java" },
- { "HTML document", "text/html", },
- { "BCPL program", "text/x-bcpl" },
- { "M4 macro language pre-processor", "text/x-m4" },
- { "can't happen error on names.h/types", "error/x-error" },
- { 0, 0}
-};
-
-/*
- * XXX - how should we distinguish Java from C++?
- * The trick used in a Debian snapshot, of having "extends" or "implements"
- * as tags for Java, doesn't work very well, given that those keywords
- * are often preceded by "class", which flags it as C++.
- *
- * Perhaps we need to be able to say
- *
- * If "class" then
- *
- * if "extends" or "implements" then
- * Java
- * else
- * C++
- * endif
- *
- * Or should we use other keywords, such as "package" or "import"?
- * Unfortunately, Ada95 uses "package", and Modula-3 uses "import",
- * although I infer from the language spec at
- *
- * http://www.research.digital.com/SRC/m3defn/html/m3.html
- *
- * that Modula-3 uses "IMPORT" rather than "import", i.e. it must be
- * in all caps.
- *
- * So, for now, we go with "import". We must put it before the C++
- * stuff, so that we don't misidentify Java as C++. Not using "package"
- * means we won't identify stuff that defines a package but imports
- * nothing; hopefully, very little Java code imports nothing (one of the
- * reasons for doing OO programming is to import as much as possible
- * and write only what you need to, right?).
- *
- * Unfortunately, "import" may cause us to misidentify English text
- * as Java, as it comes after "the" and "The". Perhaps we need a fancier
- * heuristic to identify Java?
- */
-static struct names {
- const char *name;
- short type;
-} names[] = {
- /* These must be sorted by eye for optimal hit rate */
- /* Add to this list only after substantial meditation */
- {"dnl", L_M4},
- {"import", L_JAVA},
- {"\"libhdr\"", L_BCPL},
- {"\"LIBHDR\"", L_BCPL},
- {"//", L_CC},
- {"template", L_CC},
- {"virtual", L_CC},
- {"class", L_CC},
- {"public:", L_CC},
- {"private:", L_CC},
- {"/*", L_C}, /* must precede "The", "the", etc. */
- {"#include", L_C},
- {"char", L_C},
- {"The", L_ENG},
- {"the", L_ENG},
- {"double", L_C},
- {"extern", L_C},
- {"float", L_C},
- {"struct", L_C},
- {"union", L_C},
- {"CFLAGS", L_MAKE},
- {"LDFLAGS", L_MAKE},
- {"all:", L_MAKE},
- {".PRECIOUS", L_MAKE},
-/* Too many files of text have these words in them. Find another way
- * to recognize Fortrash.
- */
-#ifdef NOTDEF
- {"subroutine", L_FORT},
- {"function", L_FORT},
- {"block", L_FORT},
- {"common", L_FORT},
- {"dimension", L_FORT},
- {"integer", L_FORT},
- {"data", L_FORT},
-#endif /*NOTDEF*/
- {".ascii", L_MACH},
- {".asciiz", L_MACH},
- {".byte", L_MACH},
- {".even", L_MACH},
- {".globl", L_MACH},
- {".text", L_MACH},
- {"clr", L_MACH},
- {"(input,", L_PAS},
- {"dcl", L_PLI},
- {"Received:", L_MAIL},
- {">From", L_MAIL},
- {"Return-Path:",L_MAIL},
- {"Cc:", L_MAIL},
- {"Newsgroups:", L_NEWS},
- {"Path:", L_NEWS},
- {"Organization:",L_NEWS},
- {"href=", L_HTML},
- {"HREF=", L_HTML},
- {"<body", L_HTML},
- {"<BODY", L_HTML},
- {NULL, 0}
-};
-#define NNAMES ((sizeof(names)/sizeof(struct names)) - 1)
diff --git a/contrib/file/print.c b/contrib/file/print.c
deleted file mode 100644
index 7992f5c578f7e..0000000000000
--- a/contrib/file/print.c
+++ /dev/null
@@ -1,218 +0,0 @@
-/*
- * print.c - debugging printout routines
- *
- * Copyright (c) Ian F. Darwin, 1987.
- * Written by Ian F. Darwin.
- *
- * This software is not subject to any license of the American Telephone
- * and Telegraph Company or of the Regents of the University of California.
- *
- * Permission is granted to anyone to use this software for any purpose on
- * any computer system, and to alter it and redistribute it freely, subject
- * to the following restrictions:
- *
- * 1. The author is not responsible for the consequences of use of this
- * software, no matter how awful, even if they arise from flaws in it.
- *
- * 2. The origin of this software must not be misrepresented, either by
- * explicit claim or by omission. Since few users ever read sources,
- * credits must appear in the documentation.
- *
- * 3. Altered versions must be plainly marked as such, and must not be
- * misrepresented as being the original software. Since few users
- * ever read sources, credits must appear in the documentation.
- *
- * 4. This notice may not be removed or altered.
- */
-
-#include "file.h"
-#include <stdio.h>
-#include <errno.h>
-#include <string.h>
-#ifdef __STDC__
-# include <stdarg.h>
-#else
-# include <varargs.h>
-#endif
-#include <stdlib.h>
-#ifdef HAVE_UNISTD_H
-#include <unistd.h>
-#endif
-#include <time.h>
-
-#ifndef lint
-FILE_RCSID("@(#)$Id: print.c,v 1.31 2000/08/05 17:36:49 christos Exp $")
-#endif /* lint */
-
-#define SZOF(a) (sizeof(a) / sizeof(a[0]))
-
-void
-mdump(m)
- struct magic *m;
-{
- static const char *typ[] = { "invalid", "byte", "short", "invalid",
- "long", "string", "date", "beshort",
- "belong", "bedate", "leshort", "lelong",
- "ledate" };
- (void) fputc('[', stderr);
- (void) fprintf(stderr, ">>>>>>>> %d" + 8 - (m->cont_level & 7),
- m->offset);
-
- if (m->flag & INDIR)
- (void) fprintf(stderr, "(%s,%d),",
- /* Note: in.type is unsigned */
- (m->in.type < SZOF(typ)) ?
- typ[m->in.type] : "*bad*",
- m->in.offset);
-
- (void) fprintf(stderr, " %s%s", (m->flag & UNSIGNED) ? "u" : "",
- /* Note: type is unsigned */
- (m->type < SZOF(typ)) ? typ[m->type] : "*bad*");
- if (m->mask != ~((uint32)0)) {
- if(STRING != m->type)
- (void) fprintf(stderr, " & %.8x", m->mask);
- else {
- (void) fputc('/', stderr);
- if (m->mask & STRING_IGNORE_LOWERCASE)
- (void) fputc(CHAR_IGNORE_LOWERCASE, stderr);
- if (m->mask & STRING_COMPACT_BLANK)
- (void) fputc(CHAR_COMPACT_BLANK, stderr);
- if (m->mask & STRING_COMPACT_OPTIONAL_BLANK)
- (void) fputc(CHAR_COMPACT_OPTIONAL_BLANK,
- stderr);
- }
- }
-
- (void) fprintf(stderr, ",%c", m->reln);
-
- if (m->reln != 'x') {
- switch (m->type) {
- case BYTE:
- case SHORT:
- case LONG:
- case LESHORT:
- case LELONG:
- case BESHORT:
- case BELONG:
- (void) fprintf(stderr, "%d", m->value.l);
- break;
- case STRING:
- showstr(stderr, m->value.s, -1);
- break;
- case DATE:
- case LEDATE:
- case BEDATE:
- {
- time_t t = m->value.l;
- char *rt, *pp = ctime(&t);
-
- if ((rt = strchr(pp, '\n')) != NULL)
- *rt = '\0';
- (void) fprintf(stderr, "%s,", pp);
- if (rt)
- *rt = '\n';
- }
- break;
- default:
- (void) fputs("*bad*", stderr);
- break;
- }
- }
- (void) fprintf(stderr, ",\"%s\"]\n", m->desc);
-}
-
-/*
- * ckfputs - futs, but with error checking
- * ckfprintf - fprintf, but with error checking
- */
-void
-ckfputs(str, fil)
- const char *str;
- FILE *fil;
-{
- if (fputs(str,fil) == EOF)
- error("write failed.\n");
-}
-
-/*VARARGS*/
-void
-#ifdef __STDC__
-ckfprintf(FILE *f, const char *fmt, ...)
-#else
-ckfprintf(va_alist)
- va_dcl
-#endif
-{
- va_list va;
-#ifdef __STDC__
- va_start(va, fmt);
-#else
- FILE *f;
- const char *fmt;
- va_start(va);
- f = va_arg(va, FILE *);
- fmt = va_arg(va, const char *);
-#endif
- (void) vfprintf(f, fmt, va);
- if (ferror(f))
- error("write failed.\n");
- va_end(va);
-}
-
-/*
- * error - print best error message possible and exit
- */
-/*VARARGS*/
-void
-#ifdef __STDC__
-error(const char *f, ...)
-#else
-error(va_alist)
- va_dcl
-#endif
-{
- va_list va;
-#ifdef __STDC__
- va_start(va, f);
-#else
- const char *f;
- va_start(va);
- f = va_arg(va, const char *);
-#endif
- /* cuz we use stdout for most, stderr here */
- (void) fflush(stdout);
-
- if (progname != NULL)
- (void) fprintf(stderr, "%s: ", progname);
- (void) vfprintf(stderr, f, va);
- va_end(va);
- exit(1);
-}
-
-/*VARARGS*/
-void
-#ifdef __STDC__
-magwarn(const char *f, ...)
-#else
-magwarn(va_alist)
- va_dcl
-#endif
-{
- va_list va;
-#ifdef __STDC__
- va_start(va, f);
-#else
- const char *f;
- va_start(va);
- f = va_arg(va, const char *);
-#endif
- /* cuz we use stdout for most, stderr here */
- (void) fflush(stdout);
-
- if (progname != NULL)
- (void) fprintf(stderr, "%s: %s, %d: ",
- progname, magicfile, lineno);
- (void) vfprintf(stderr, f, va);
- va_end(va);
- fputc('\n', stderr);
-}
diff --git a/contrib/file/readelf.h b/contrib/file/readelf.h
deleted file mode 100644
index d0ae3337394bc..0000000000000
--- a/contrib/file/readelf.h
+++ /dev/null
@@ -1,189 +0,0 @@
-/*
- * readelf.h
- * @(#)$Id: readelf.h,v 1.7 1999/02/14 17:16:11 christos Exp $
- *
- * Provide elf data structures for non-elf machines, allowing file
- * non-elf hosts to determine if an elf binary is stripped.
- * Note: cobbled from the linux header file, with modifications
- */
-#ifndef __fake_elf_h__
-#define __fake_elf_h__
-
-typedef uint32_t Elf32_Addr;
-typedef uint32_t Elf32_Off;
-typedef uint16_t Elf32_Half;
-typedef uint32_t Elf32_Word;
-typedef uint8_t Elf32_Char;
-
-#if SIZEOF_UINT64_T != 8
-#define USE_ARRAY_FOR_64BIT_TYPES
-typedef uint32_t Elf64_Addr[2];
-typedef uint32_t Elf64_Off[2];
-typedef uint32_t Elf64_Xword[2];
-#else
-typedef uint64_t Elf64_Addr;
-typedef uint64_t Elf64_Off;
-typedef uint64_t Elf64_Xword;
-#endif
-typedef uint16_t Elf64_Half;
-typedef uint32_t Elf64_Word;
-typedef uint8_t Elf64_Char;
-
-#define EI_NIDENT 16
-
-typedef struct {
- Elf32_Char e_ident[EI_NIDENT];
- Elf32_Half e_type;
- Elf32_Half e_machine;
- Elf32_Word e_version;
- Elf32_Addr e_entry; /* Entry point */
- Elf32_Off e_phoff;
- Elf32_Off e_shoff;
- Elf32_Word e_flags;
- Elf32_Half e_ehsize;
- Elf32_Half e_phentsize;
- Elf32_Half e_phnum;
- Elf32_Half e_shentsize;
- Elf32_Half e_shnum;
- Elf32_Half e_shstrndx;
-} Elf32_Ehdr;
-
-typedef struct {
- Elf64_Char e_ident[EI_NIDENT];
- Elf64_Half e_type;
- Elf64_Half e_machine;
- Elf64_Word e_version;
- Elf64_Addr e_entry; /* Entry point */
- Elf64_Off e_phoff;
- Elf64_Off e_shoff;
- Elf64_Word e_flags;
- Elf64_Half e_ehsize;
- Elf64_Half e_phentsize;
- Elf64_Half e_phnum;
- Elf64_Half e_shentsize;
- Elf64_Half e_shnum;
- Elf64_Half e_shstrndx;
-} Elf64_Ehdr;
-
-/* e_type */
-#define ET_EXEC 2
-#define ET_CORE 4
-
-/* sh_type */
-#define SHT_SYMTAB 2
-#define SHT_NOTE 7
-#define SHT_DYNSYM 11
-
-/* elf type */
-#define ELFDATANONE 0 /* e_ident[EI_DATA] */
-#define ELFDATA2LSB 1
-#define ELFDATA2MSB 2
-
-/* elf class */
-#define ELFCLASSNONE 0
-#define ELFCLASS32 1
-#define ELFCLASS64 2
-
-/* magic number */
-#define EI_MAG0 0 /* e_ident[] indexes */
-#define EI_MAG1 1
-#define EI_MAG2 2
-#define EI_MAG3 3
-#define EI_CLASS 4
-#define EI_DATA 5
-#define EI_VERSION 6
-#define EI_PAD 7
-
-#define ELFMAG0 0x7f /* EI_MAG */
-#define ELFMAG1 'E'
-#define ELFMAG2 'L'
-#define ELFMAG3 'F'
-#define ELFMAG "\177ELF"
-
-#define OLFMAG1 'O'
-#define OLFMAG "\177OLF"
-
-typedef struct {
- Elf32_Word p_type;
- Elf32_Off p_offset;
- Elf32_Addr p_vaddr;
- Elf32_Addr p_paddr;
- Elf32_Word p_filesz;
- Elf32_Word p_memsz;
- Elf32_Word p_flags;
- Elf32_Word p_align;
-} Elf32_Phdr;
-
-typedef struct {
- Elf64_Word p_type;
- Elf64_Word p_flags;
- Elf64_Off p_offset;
- Elf64_Addr p_vaddr;
- Elf64_Addr p_paddr;
- Elf64_Xword p_filesz;
- Elf64_Xword p_memsz;
- Elf64_Xword p_align;
-} Elf64_Phdr;
-
-#define PT_NULL 0 /* p_type */
-#define PT_LOAD 1
-#define PT_DYNAMIC 2
-#define PT_INTERP 3
-#define PT_NOTE 4
-#define PT_SHLIB 5
-#define PT_PHDR 6
-#define PT_NUM 7
-
-typedef struct {
- Elf32_Word sh_name;
- Elf32_Word sh_type;
- Elf32_Word sh_flags;
- Elf32_Addr sh_addr;
- Elf32_Off sh_offset;
- Elf32_Word sh_size;
- Elf32_Word sh_link;
- Elf32_Word sh_info;
- Elf32_Word sh_addralign;
- Elf32_Word sh_entsize;
-} Elf32_Shdr;
-
-typedef struct {
- Elf64_Word sh_name;
- Elf64_Word sh_type;
- Elf64_Off sh_flags;
- Elf64_Addr sh_addr;
- Elf64_Off sh_offset;
- Elf64_Off sh_size;
- Elf64_Word sh_link;
- Elf64_Word sh_info;
- Elf64_Off sh_addralign;
- Elf64_Off sh_entsize;
-} Elf64_Shdr;
-
-/* Notes used in ET_CORE */
-#define NT_PRSTATUS 1
-#define NT_PRFPREG 2
-#define NT_PRPSINFO 3
-#define NT_TASKSTRUCT 4
-
-/* Note header in a PT_NOTE section */
-typedef struct elf_note {
- Elf32_Word n_namesz; /* Name size */
- Elf32_Word n_descsz; /* Content size */
- Elf32_Word n_type; /* Content type */
-} Elf32_Nhdr;
-
-typedef struct {
- Elf64_Word n_namesz;
- Elf64_Word n_descsz;
- Elf64_Word n_type;
-} Elf64_Nhdr;
-
-#define NT_PRSTATUS 1
-#define NT_PRFPREG 2
-#define NT_PRPSINFO 3
-#define NT_PRXREG 4
-#define NT_PLATFORM 5
-#define NT_AUXV 6
-
-#endif
diff --git a/contrib/file/softmagic.c b/contrib/file/softmagic.c
deleted file mode 100644
index 2fb4c4a5e0b79..0000000000000
--- a/contrib/file/softmagic.c
+++ /dev/null
@@ -1,569 +0,0 @@
-/*
- * softmagic - interpret variable magic from /etc/magic
- *
- * Copyright (c) Ian F. Darwin, 1987.
- * Written by Ian F. Darwin.
- *
- * This software is not subject to any license of the American Telephone
- * and Telegraph Company or of the Regents of the University of California.
- *
- * Permission is granted to anyone to use this software for any purpose on
- * any computer system, and to alter it and redistribute it freely, subject
- * to the following restrictions:
- *
- * 1. The author is not responsible for the consequences of use of this
- * software, no matter how awful, even if they arise from flaws in it.
- *
- * 2. The origin of this software must not be misrepresented, either by
- * explicit claim or by omission. Since few users ever read sources,
- * credits must appear in the documentation.
- *
- * 3. Altered versions must be plainly marked as such, and must not be
- * misrepresented as being the original software. Since few users
- * ever read sources, credits must appear in the documentation.
- *
- * 4. This notice may not be removed or altered.
- */
-
-#include <stdio.h>
-#include <string.h>
-#include <ctype.h>
-#include <stdlib.h>
-#include <time.h>
-#include <sys/types.h>
-
-#include "file.h"
-
-#ifndef lint
-FILE_RCSID("@(#)$Id: softmagic.c,v 1.42 2000/08/05 17:36:49 christos Exp $")
-#endif /* lint */
-
-static int match __P((unsigned char *, int));
-static int mget __P((union VALUETYPE *,
- unsigned char *, struct magic *, int));
-static int mcheck __P((union VALUETYPE *, struct magic *));
-static int32 mprint __P((union VALUETYPE *, struct magic *));
-static void mdebug __P((int32, char *, int));
-static int mconvert __P((union VALUETYPE *, struct magic *));
-
-/*
- * softmagic - lookup one file in database
- * (already read from /etc/magic by apprentice.c).
- * Passed the name and FILE * of one file to be typed.
- */
-/*ARGSUSED1*/ /* nbytes passed for regularity, maybe need later */
-int
-softmagic(buf, nbytes)
- unsigned char *buf;
- int nbytes;
-{
- if (match(buf, nbytes))
- return 1;
-
- return 0;
-}
-
-/*
- * Go through the whole list, stopping if you find a match. Process all
- * the continuations of that match before returning.
- *
- * We support multi-level continuations:
- *
- * At any time when processing a successful top-level match, there is a
- * current continuation level; it represents the level of the last
- * successfully matched continuation.
- *
- * Continuations above that level are skipped as, if we see one, it
- * means that the continuation that controls them - i.e, the
- * lower-level continuation preceding them - failed to match.
- *
- * Continuations below that level are processed as, if we see one,
- * it means we've finished processing or skipping higher-level
- * continuations under the control of a successful or unsuccessful
- * lower-level continuation, and are now seeing the next lower-level
- * continuation and should process it. The current continuation
- * level reverts to the level of the one we're seeing.
- *
- * Continuations at the current level are processed as, if we see
- * one, there's no lower-level continuation that may have failed.
- *
- * If a continuation matches, we bump the current continuation level
- * so that higher-level continuations are processed.
- */
-static int
-match(s, nbytes)
- unsigned char *s;
- int nbytes;
-{
- int magindex = 0;
- int cont_level = 0;
- int need_separator = 0;
- union VALUETYPE p;
- static int32 *tmpoff = NULL;
- static size_t tmplen = 0;
- int32 oldoff = 0;
- int returnval = 0; /* if a match is found it is set to 1*/
- extern int kflag;
- int firstline = 1; /* a flag to print X\n X\n- X */
-
- if (tmpoff == NULL)
- if ((tmpoff = (int32 *) malloc(tmplen = 20)) == NULL)
- error("out of memory\n");
-
- for (magindex = 0; magindex < nmagic; magindex++) {
- /* if main entry matches, print it... */
- if (!mget(&p, s, &magic[magindex], nbytes) ||
- !mcheck(&p, &magic[magindex])) {
- /*
- * main entry didn't match,
- * flush its continuations
- */
- while (magindex < nmagic &&
- magic[magindex + 1].cont_level != 0)
- magindex++;
- continue;
- }
-
- if (! firstline) { /* we found another match */
- /* put a newline and '-' to do some simple formatting*/
- printf("\n- ");
- }
-
- tmpoff[cont_level] = mprint(&p, &magic[magindex]);
- /*
- * If we printed something, we'll need to print
- * a blank before we print something else.
- */
- if (magic[magindex].desc[0])
- need_separator = 1;
- /* and any continuations that match */
- if (++cont_level >= tmplen)
- if ((tmpoff = (int32 *) realloc(tmpoff,
- tmplen += 20)) == NULL)
- error("out of memory\n");
- while (magic[magindex+1].cont_level != 0 &&
- ++magindex < nmagic) {
- if (cont_level >= magic[magindex].cont_level) {
- if (cont_level > magic[magindex].cont_level) {
- /*
- * We're at the end of the level
- * "cont_level" continuations.
- */
- cont_level = magic[magindex].cont_level;
- }
- if (magic[magindex].flag & ADD) {
- oldoff=magic[magindex].offset;
- magic[magindex].offset += tmpoff[cont_level-1];
- }
- if (mget(&p, s, &magic[magindex], nbytes) &&
- mcheck(&p, &magic[magindex])) {
- /*
- * This continuation matched.
- * Print its message, with
- * a blank before it if
- * the previous item printed
- * and this item isn't empty.
- */
- /* space if previous printed */
- if (need_separator
- && (magic[magindex].nospflag == 0)
- && (magic[magindex].desc[0] != '\0')
- ) {
- (void) putchar(' ');
- need_separator = 0;
- }
- tmpoff[cont_level] = mprint(&p, &magic[magindex]);
- if (magic[magindex].desc[0])
- need_separator = 1;
-
- /*
- * If we see any continuations
- * at a higher level,
- * process them.
- */
- if (++cont_level >= tmplen)
- if ((tmpoff =
- (int32 *) realloc(tmpoff,
- tmplen += 20)) == NULL)
- error("out of memory\n");
- }
- if (magic[magindex].flag & ADD) {
- magic[magindex].offset = oldoff;
- }
- }
- }
- firstline = 0;
- returnval = 1;
- if (!kflag) {
- return 1; /* don't keep searching */
- }
- }
- return returnval; /* This is hit if -k is set or there is no match */
-}
-
-static int32
-mprint(p, m)
- union VALUETYPE *p;
- struct magic *m;
-{
- char *pp, *rt;
- uint32 v;
- time_t curtime;
- int32 t=0 ;
-
-
- switch (m->type) {
- case BYTE:
- v = p->b;
- v = signextend(m, v) & m->mask;
- (void) printf(m->desc, (unsigned char) v);
- t = m->offset + sizeof(char);
- break;
-
- case SHORT:
- case BESHORT:
- case LESHORT:
- v = p->h;
- v = signextend(m, v) & m->mask;
- (void) printf(m->desc, (unsigned short) v);
- t = m->offset + sizeof(short);
- break;
-
- case LONG:
- case BELONG:
- case LELONG:
- v = p->l;
- v = signextend(m, v) & m->mask;
- (void) printf(m->desc, (uint32) v);
- t = m->offset + sizeof(int32);
- break;
-
- case STRING:
- if (m->reln == '=') {
- (void) printf(m->desc, m->value.s);
- t = m->offset + strlen(m->value.s);
- }
- else {
- if (*m->value.s == '\0') {
- char *cp = strchr(p->s,'\n');
- if (cp)
- *cp = '\0';
- }
- (void) printf(m->desc, p->s);
- t = m->offset + strlen(p->s);
- }
- break;
-
- case DATE:
- case BEDATE:
- case LEDATE:
- curtime = p->l;
- pp = ctime(&curtime);
- if ((rt = strchr(pp, '\n')) != NULL)
- *rt = '\0';
- (void) printf(m->desc, pp);
- t = m->offset + sizeof(time_t);
- break;
-
- default:
- error("invalid m->type (%d) in mprint().\n", m->type);
- /*NOTREACHED*/
- }
- return(t);
-}
-
-/*
- * Convert the byte order of the data we are looking at
- */
-static int
-mconvert(p, m)
- union VALUETYPE *p;
- struct magic *m;
-{
- switch (m->type) {
- case BYTE:
- case SHORT:
- case LONG:
- case DATE:
- return 1;
- case STRING:
- {
- char *ptr;
-
- /* Null terminate and eat the return */
- p->s[sizeof(p->s) - 1] = '\0';
- if ((ptr = strchr(p->s, '\n')) != NULL)
- *ptr = '\0';
- return 1;
- }
- case BESHORT:
- p->h = (short)((p->hs[0]<<8)|(p->hs[1]));
- return 1;
- case BELONG:
- case BEDATE:
- p->l = (int32)
- ((p->hl[0]<<24)|(p->hl[1]<<16)|(p->hl[2]<<8)|(p->hl[3]));
- return 1;
- case LESHORT:
- p->h = (short)((p->hs[1]<<8)|(p->hs[0]));
- return 1;
- case LELONG:
- case LEDATE:
- p->l = (int32)
- ((p->hl[3]<<24)|(p->hl[2]<<16)|(p->hl[1]<<8)|(p->hl[0]));
- return 1;
- default:
- error("invalid type %d in mconvert().\n", m->type);
- return 0;
- }
-}
-
-
-static void
-mdebug(offset, str, len)
- int32 offset;
- char *str;
- int len;
-{
- (void) fprintf(stderr, "mget @%d: ", offset);
- showstr(stderr, (char *) str, len);
- (void) fputc('\n', stderr);
- (void) fputc('\n', stderr);
-}
-
-static int
-mget(p, s, m, nbytes)
- union VALUETYPE* p;
- unsigned char *s;
- struct magic *m;
- int nbytes;
-{
- int32 offset = m->offset;
-
- if (offset + sizeof(union VALUETYPE) <= nbytes)
- memcpy(p, s + offset, sizeof(union VALUETYPE));
- else {
- /*
- * the usefulness of padding with zeroes eludes me, it
- * might even cause problems
- */
- int32 have = nbytes - offset;
- memset(p, 0, sizeof(union VALUETYPE));
- if (have > 0)
- memcpy(p, s + offset, have);
- }
-
-
- if (debug) {
- mdebug(offset, (char *) p, sizeof(union VALUETYPE));
- mdump(m);
- }
-
- if (m->flag & INDIR) {
-
- switch (m->in.type) {
- case BYTE:
- offset = p->b + m->in.offset;
- break;
- case BESHORT:
- offset = (short)((p->hs[0]<<8)|(p->hs[1]))+
- m->in.offset;
- break;
- case LESHORT:
- offset = (short)((p->hs[1]<<8)|(p->hs[0]))+
- m->in.offset;
- break;
- case SHORT:
- offset = p->h + m->in.offset;
- break;
- case BELONG:
- offset = (int32)((p->hl[0]<<24)|(p->hl[1]<<16)|
- (p->hl[2]<<8)|(p->hl[3]))+
- m->in.offset;
- break;
- case LELONG:
- offset = (int32)((p->hl[3]<<24)|(p->hl[2]<<16)|
- (p->hl[1]<<8)|(p->hl[0]))+
- m->in.offset;
- break;
- case LONG:
- offset = p->l + m->in.offset;
- break;
- }
-
- if (offset + sizeof(union VALUETYPE) > nbytes)
- return 0;
-
- memcpy(p, s + offset, sizeof(union VALUETYPE));
-
- if (debug) {
- mdebug(offset, (char *) p, sizeof(union VALUETYPE));
- mdump(m);
- }
- }
- if (!mconvert(p, m))
- return 0;
- return 1;
-}
-
-static int
-mcheck(p, m)
- union VALUETYPE* p;
- struct magic *m;
-{
- uint32 l = m->value.l;
- uint32 v;
- int matched;
-
- if ( (m->value.s[0] == 'x') && (m->value.s[1] == '\0') ) {
- fprintf(stderr, "BOINK");
- return 1;
- }
-
-
- switch (m->type) {
- case BYTE:
- v = p->b;
- break;
-
- case SHORT:
- case BESHORT:
- case LESHORT:
- v = p->h;
- break;
-
- case LONG:
- case BELONG:
- case LELONG:
- case DATE:
- case BEDATE:
- case LEDATE:
- v = p->l;
- break;
-
- case STRING: {
- /*
- * What we want here is:
- * v = strncmp(m->value.s, p->s, m->vallen);
- * but ignoring any nulls. bcmp doesn't give -/+/0
- * and isn't universally available anyway.
- */
- unsigned char *a = (unsigned char*)m->value.s;
- unsigned char *b = (unsigned char*)p->s;
- int len = m->vallen;
- l = 0;
- v = 0;
- if (0L == m->mask) { /* normal string: do it fast */
- while (--len >= 0)
- if ((v = *b++ - *a++) != '\0')
- break;
- } else { /* combine the others */
- while (--len >= 0) {
- if ((m->mask & STRING_IGNORE_LOWERCASE) &&
- islower(*a)) {
- if ((v = tolower(*b++) - *a++) != '\0')
- break;
- } else if ((m->mask & STRING_COMPACT_BLANK) &&
- isspace(*a)) {
- a++;
- if (isspace(*b++)) {
- while (isspace(*b))
- b++;
- } else {
- v = 1;
- break;
- }
- } else if (isspace(*a) &&
- (m->mask & STRING_COMPACT_OPTIONAL_BLANK)) {
- a++;
- while (isspace(*b))
- b++;
- } else {
- if ((v = *b++ - *a++) != '\0')
- break;
- }
- }
- }
- break;
- }
- default:
- error("invalid type %d in mcheck().\n", m->type);
- return 0;/*NOTREACHED*/
- }
-
- if(m->type != STRING)
- v = signextend(m, v) & m->mask;
-
- switch (m->reln) {
- case 'x':
- if (debug)
- (void) fprintf(stderr, "%u == *any* = 1\n", v);
- matched = 1;
- break;
-
- case '!':
- matched = v != l;
- if (debug)
- (void) fprintf(stderr, "%u != %u = %d\n",
- v, l, matched);
- break;
-
- case '=':
- matched = v == l;
- if (debug)
- (void) fprintf(stderr, "%u == %u = %d\n",
- v, l, matched);
- break;
-
- case '>':
- if (m->flag & UNSIGNED) {
- matched = v > l;
- if (debug)
- (void) fprintf(stderr, "%u > %u = %d\n",
- v, l, matched);
- }
- else {
- matched = (int32) v > (int32) l;
- if (debug)
- (void) fprintf(stderr, "%d > %d = %d\n",
- v, l, matched);
- }
- break;
-
- case '<':
- if (m->flag & UNSIGNED) {
- matched = v < l;
- if (debug)
- (void) fprintf(stderr, "%u < %u = %d\n",
- v, l, matched);
- }
- else {
- matched = (int32) v < (int32) l;
- if (debug)
- (void) fprintf(stderr, "%d < %d = %d\n",
- v, l, matched);
- }
- break;
-
- case '&':
- matched = (v & l) == l;
- if (debug)
- (void) fprintf(stderr, "((%x & %x) == %x) = %d\n",
- v, l, l, matched);
- break;
-
- case '^':
- matched = (v & l) != l;
- if (debug)
- (void) fprintf(stderr, "((%x & %x) != %x) = %d\n",
- v, l, l, matched);
- break;
-
- default:
- matched = 0;
- error("mcheck: can't happen: invalid relation %d.\n", m->reln);
- break;/*NOTREACHED*/
- }
-
- return matched;
-}
diff --git a/contrib/file/stamp-h.in b/contrib/file/stamp-h.in
deleted file mode 100644
index 9788f70238c91..0000000000000
--- a/contrib/file/stamp-h.in
+++ /dev/null
@@ -1 +0,0 @@
-timestamp
diff --git a/contrib/file/tar.h b/contrib/file/tar.h
deleted file mode 100644
index c5fce4ed7198e..0000000000000
--- a/contrib/file/tar.h
+++ /dev/null
@@ -1,177 +0,0 @@
-/*
- * Header file for public domain tar (tape archive) program.
- *
- * @(#)tar.h 1.20 86/10/29 Public Domain.
- *
- * Created 25 August 1985 by John Gilmore, ihnp4!hoptoad!gnu.
- *
- * $Id: tar.h,v 1.5 1999/01/13 15:44:10 christos Exp $ # checkin only
- */
-
-/*
- * Kludge for handling systems that can't cope with multiple
- * external definitions of a variable. In ONE routine (tar.c),
- * we #define TAR_EXTERN to null; here, we set it to "extern" if
- * it is not already set.
- */
-#ifndef TAR_EXTERN
-#define TAR_EXTERN extern
-#endif
-
-/*
- * Header block on tape.
- *
- * I'm going to use traditional DP naming conventions here.
- * A "block" is a big chunk of stuff that we do I/O on.
- * A "record" is a piece of info that we care about.
- * Typically many "record"s fit into a "block".
- */
-#define RECORDSIZE 512
-#define NAMSIZ 100
-#define TUNMLEN 32
-#define TGNMLEN 32
-
-union record {
- char charptr[RECORDSIZE];
- struct header {
- char name[NAMSIZ];
- char mode[8];
- char uid[8];
- char gid[8];
- char size[12];
- char mtime[12];
- char chksum[8];
- char linkflag;
- char linkname[NAMSIZ];
- char magic[8];
- char uname[TUNMLEN];
- char gname[TGNMLEN];
- char devmajor[8];
- char devminor[8];
- } header;
-};
-
-/* The checksum field is filled with this while the checksum is computed. */
-#define CHKBLANKS " " /* 8 blanks, no null */
-
-/* The magic field is filled with this if uname and gname are valid. */
-#define TMAGIC "ustar " /* 7 chars and a null */
-
-/* The linkflag defines the type of file */
-#define LF_OLDNORMAL '\0' /* Normal disk file, Unix compat */
-#define LF_NORMAL '0' /* Normal disk file */
-#define LF_LINK '1' /* Link to previously dumped file */
-#define LF_SYMLINK '2' /* Symbolic link */
-#define LF_CHR '3' /* Character special file */
-#define LF_BLK '4' /* Block special file */
-#define LF_DIR '5' /* Directory */
-#define LF_FIFO '6' /* FIFO special file */
-#define LF_CONTIG '7' /* Contiguous file */
-/* Further link types may be defined later. */
-
-/*
- * Exit codes from the "tar" program
- */
-#define EX_SUCCESS 0 /* success! */
-#define EX_ARGSBAD 1 /* invalid args */
-#define EX_BADFILE 2 /* invalid filename */
-#define EX_BADARCH 3 /* bad archive */
-#define EX_SYSTEM 4 /* system gave unexpected error */
-
-
-/*
- * Global variables
- */
-TAR_EXTERN union record *ar_block; /* Start of block of archive */
-TAR_EXTERN union record *ar_record; /* Current record of archive */
-TAR_EXTERN union record *ar_last; /* Last+1 record of archive block */
-TAR_EXTERN char ar_reading; /* 0 writing, !0 reading archive */
-TAR_EXTERN int blocking; /* Size of each block, in records */
-TAR_EXTERN int blocksize; /* Size of each block, in bytes */
-TAR_EXTERN char *ar_file; /* File containing archive */
-TAR_EXTERN char *name_file; /* File containing names to work on */
-TAR_EXTERN char *tar; /* Name of this program */
-
-/*
- * Flags from the command line
- */
-TAR_EXTERN char f_reblock; /* -B */
-TAR_EXTERN char f_create; /* -c */
-TAR_EXTERN char f_debug; /* -d */
-TAR_EXTERN char f_sayblock; /* -D */
-TAR_EXTERN char f_follow_links; /* -h */
-TAR_EXTERN char f_ignorez; /* -i */
-TAR_EXTERN char f_keep; /* -k */
-TAR_EXTERN char f_modified; /* -m */
-TAR_EXTERN char f_oldarch; /* -o */
-TAR_EXTERN char f_use_protection; /* -p */
-TAR_EXTERN char f_sorted_names; /* -s */
-TAR_EXTERN char f_list; /* -t */
-TAR_EXTERN char f_namefile; /* -T */
-TAR_EXTERN char f_verbose; /* -v */
-TAR_EXTERN char f_extract; /* -x */
-TAR_EXTERN char f_compress; /* -z */
-
-/*
- * We now default to Unix Standard format rather than 4.2BSD tar format.
- * The code can actually produce all three:
- * f_standard ANSI standard
- * f_oldarch V7
- * neither 4.2BSD
- * but we don't bother, since 4.2BSD can read ANSI standard format anyway.
- * The only advantage to the "neither" option is that we can cmp(1) our
- * output to the output of 4.2BSD tar, for debugging.
- */
-#define f_standard (!f_oldarch)
-
-/*
- * Structure for keeping track of filenames and lists thereof.
- */
-struct name {
- struct name *next;
- short length;
- char found;
- char name[NAMSIZ+1];
-};
-
-TAR_EXTERN struct name *namelist; /* Points to first name in list */
-TAR_EXTERN struct name *namelast; /* Points to last name in list */
-
-TAR_EXTERN int archive; /* File descriptor for archive file */
-TAR_EXTERN int errors; /* # of files in error */
-
-/*
- *
- * Due to the next struct declaration, each routine that includes
- * "tar.h" must also include <sys/types.h>. I tried to make it automatic,
- * but System V has no defines in <sys/types.h>, so there is no way of
- * knowing when it has been included. In addition, it cannot be included
- * twice, but must be included exactly once. Argghh!
- *
- * Thanks, typedef. Thanks, USG.
- */
-struct link {
- struct link *next;
- dev_t dev;
- ino_t ino;
- short linkcount;
- char name[NAMSIZ+1];
-};
-
-TAR_EXTERN struct link *linklist; /* Points to first link in list */
-
-
-/*
- * Error recovery stuff
- */
-TAR_EXTERN char read_error_flag;
-
-
-#if 0
-/*
- * Declarations of functions available to the world.
- */
-/*LINTLIBRARY*/
-#define annorec(stream, msg) anno(stream, msg, 0) /* Cur rec */
-#define annofile(stream, msg) anno(stream, msg, 1) /* Saved rec */
-#endif