diff options
author | cvs2svn <cvs2svn@FreeBSD.org> | 2004-12-28 04:31:48 +0000 |
---|---|---|
committer | cvs2svn <cvs2svn@FreeBSD.org> | 2004-12-28 04:31:48 +0000 |
commit | d4f7c610bb72d390493ea468739f3c6a08679dde (patch) | |
tree | 0150413fb9b8131270e806904d87ca715c3c98a5 | |
parent | a2e8fb4c99f2515c6c3d58637e0ae00e39b87c14 (diff) |
This commit was manufactured by cvs2svn to create tagvendor/file/4.12
'file-vendor-file_4_12'.
Notes
Notes:
svn path=/vendor/file/dist/; revision=139368
svn path=/vendor/file/4.12/; revision=139370; tag=vendor/file/4.12
-rw-r--r-- | contrib/file/.cvsignore | 1 | ||||
-rw-r--r-- | contrib/file/Magdir/cvs | 6 | ||||
-rw-r--r-- | contrib/file/Magdir/impulse | 18 | ||||
-rw-r--r-- | contrib/file/Magdir/wordperfect | 91 | ||||
-rw-r--r-- | contrib/file/Makefile.std | 167 | ||||
-rw-r--r-- | contrib/file/acconfig.h | 60 | ||||
-rw-r--r-- | contrib/file/file.man | 500 | ||||
-rw-r--r-- | contrib/file/libmagic.man | 228 | ||||
-rw-r--r-- | contrib/file/magic.man | 243 | ||||
-rwxr-xr-x | contrib/file/missing | 0 | ||||
-rw-r--r-- | contrib/file/stamp-h.in | 1 |
11 files changed, 0 insertions, 1315 deletions
diff --git a/contrib/file/.cvsignore b/contrib/file/.cvsignore deleted file mode 100644 index d89921897ae6..000000000000 --- a/contrib/file/.cvsignore +++ /dev/null @@ -1 +0,0 @@ -autom4te.cache diff --git a/contrib/file/Magdir/cvs b/contrib/file/Magdir/cvs deleted file mode 100644 index 2ce9a1a54a7f..000000000000 --- a/contrib/file/Magdir/cvs +++ /dev/null @@ -1,6 +0,0 @@ -#------------------------------------------------------------------------------ -# file(1) magic for cvs(1) files -# From Hendrik Scholz <hendrik@scholz.net> - -0 string /1\ :pserver: cvs password text file - diff --git a/contrib/file/Magdir/impulse b/contrib/file/Magdir/impulse deleted file mode 100644 index 64c14c3012d6..000000000000 --- a/contrib/file/Magdir/impulse +++ /dev/null @@ -1,18 +0,0 @@ -#------------------------------------------------------------------------------ -# impulse tracker: file(1) magic for Impulse Tracker data files -# -# From <collver1@attbi.com> -# These are the /etc/magic entries to decode modules, instruments, and -# samples in Impulse Tracker's native format. - -0 string IMPS Impulse Tracker Sample ->18 byte &2 16 bit ->18 byte ^2 8 bit ->18 byte &4 stereo ->18 byte ^4 mono -0 string IMPI Impulse Tracker Instrument ->28 leshort !0 ITv%x ->30 byte !0 %d samples -0 string IMPM Impulse Tracker Module ->40 leshort !0 compatible w/ITv%x ->42 leshort !0 created w/ITv%x diff --git a/contrib/file/Magdir/wordperfect b/contrib/file/Magdir/wordperfect deleted file mode 100644 index c77ac8d1b888..000000000000 --- 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/Makefile.std b/contrib/file/Makefile.std deleted file mode 100644 index ff2a9b5ddc92..000000000000 --- a/contrib/file/Makefile.std +++ /dev/null @@ -1,167 +0,0 @@ -# Makefile for file(1) cmd. -# Copyright (c) Ian F. Darwin 86/09/01 - see LEGAL.NOTICE. -# @(#)$Id: Makefile.std,v 1.17 2003/02/27 20:47:45 christos Exp $ -# -# This software is not subject to any license of the American Telephone -# and Telegraph Company or of the Regents of the University of California. -# -# 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. -# -VERSION = 3.41 -SHELL = /bin/sh -#MAGIC = /etc/magic -MAGIC = /usr/local/etc/magic -DEFS = -DMAGIC='"$(MAGIC)"' -DBUILTIN_ELF # -Dvoid=int -CC = cc -COPTS = -O -g # newer compilers allow both; else drop -O -# For truly antique environments, use this for (dummy) include files: -COPTS = -O # -Ilocalinc -CFLAGS = $(COPTS) $(DEFS) -LDFLAGS = $(COPTS) # -Bstatic # older gdb couldn't handle shared libs -SHAR = bundle -OFILE = /usr/bin/file # old or distributed version, for comparison -# Where new binary lives; typically /usr/local (BSD), /usr/lbin (USG). -BINDIR = /usr/local/bin -# For installing our man pages; -# MANCxxx is manual section for Commands, MANFxxx is section for file formats. -# MANxDIR is directory names; MANxEXT is the filename extention. Usual values: -# Variable V7 4BSD Sys V -# MANCDIR /usr/man/man1 /usr/man/man1 /usr/man/u_man/man1 -# MANFDIR /usr/man/man5 /usr/man/man5 /usr/man/u_man/man4 -# MANCEXT 1 1 1 -# MANFEXT 5 5 4 -# --- possible alternative for 4BSD --- -# MANCDIR /usr/local/man/man1 -# MANCEXT 1 -# or -# MANCDIR /usr/man/manl -# MANCEXT l -# --- possible alternative for USG --- -# MANCDIR /usr/man/local/man1 -# MANCEXT 1 - -MANCDIR = /usr/local/man/man1 -MANCEXT = 1 -MANFDIR = /usr/local/man/man4 -MANFEXT = 4 - -# There are no system-dependant configuration options (except maybe CFLAGS). -# Uncomment any of these that is missing from your "standard" library. -LOCALSRCS = # localsrc/getopt.c localsrc/strtol.c \ -# localsrc/strtok.c localsrc/strchr.c -LOCALOBJS = # localsrc/getopt.o localsrc/strtol.o \ -# localsrc/strtok.o localsrc/strchr.o -# These are not compiled in unless you use -Ilocalinc, but -# are not commented out as "make dist" &c use them. -LOCALINC = # localinc/*.h localinc/sys/*.h - -SRCS = file.c apprentice.c fsmagic.c softmagic.c ascmagic.c \ - compress.c is_tar.c readelf.c \ - print.c $(LOCALSRCS) $(LOCALINC) -OBJS = file.o apprentice.o fsmagic.o softmagic.o ascmagic.o \ - compress.o is_tar.o readelf.o \ - print.o $(LOCALOBJS) -HDRS = file.h names.h patchlevel.h readelf.h tar.h - -AUTOSRC=configure configure.in install-sh config.h.in Makefile.in -ALLSRC = LEGAL.NOTICE README MAINT PORTING $(SRCS) $(HDRS) \ - Makefile.std file.man magic.man magic2mime $(AUTOSRC) \ - Localstuff Header -ALLMAGIC = Magdir/[a-z]* - -all: file magic file.${MANCEXT} magic.${MANFEXT} - -TESTFILES = * tst/* -try: all $(OFILE) - cd tst; $(MAKE) - time $(OFILE) $(TESTFILES) >/tmp/t1 # can't use ./magic - time ./file -m ./magic $(TESTFILES) >/tmp/t2 - -diff -b /tmp/t[12] - what ./file >lastnocore - -file: $(OBJS) - $(CC) $(CFLAGS) $(LDFLAGS) $(OBJS) -o $@ -lint: $(SRCS) - lint -ha $(DEFS) $(SRCS) | tee $@ -magic: Localstuff Header Magdir - cat Header Localstuff Magdir/[a-z] > $@ - -ascmagic.o: names.h - -compress.o apprentice.o ascmagic.o file.o fsmagic.o print.o softmagic.o: file.h - -install: file magic - cp file $(BINDIR)/file - cp magic $(MAGIC) - -install.man: file.${MANCEXT} magic.${MANFEXT} - cp file.${MANCEXT} $(MANCDIR)/file.$(MANCEXT) - cp magic.${MANFEXT} $(MANFDIR)/magic.$(MANFEXT) - -clean: - rm -f *.o core file magic lint dist.* MANIFEST \ - magic.${MANFEXT} file.${MANCEXT} \ - config.h config.status config.cache config.log -clobber: - cd tst; $(MAKE) clean - - -magic.${MANFEXT} : Makefile magic.man - @rm -f $@ - sed -e s@__CSECTION__@${MANCEXT}@g \ - -e s@__FSECTION__@${MANFEXT}@g \ - -e s@__VERSION__@${VERSION}@g \ - -e s@__MAGIC__@${MAGIC}@g magic.man > $@ - -file.${MANCEXT} : Makefile file.man - @rm -f $@ - sed -e s@__CSECTION__@${MANCEXT}@g \ - -e s@__FSECTION__@${MANFEXT}@g \ - -e s@__VERSION__@${VERSION}@g \ - -e s@__MAGIC__@${MAGIC}@g file.man > $@ - -send: dist - ftp ftp.cs - -dist: dist.src dist.magic - @echo Now check this patchlevel! - ident patchlevel.h - -dist.src: $(ALLSRC) MANIFEST -# Some versions of shar can't handle a single file from -# a subdirectory, so we manually insert mkdir as needed. -# The point is to exclude all the generable targets in tst. - (echo mkdir localinc localinc/sys localsrc tst; \ - $(SHAR) $(ALLSRC) MANIFEST) > $@ - -rcsdiff: $(ALLSRC) - rcsdiff -q RCS/* - -MANIFEST: $(ALLSRC) - ident $(ALLSRC) > MANIFEST -dist.magic: Magdir -# As above, but to exclude Magdir/RCS from being shipped. - (echo mkdir Magdir; $(SHAR) $(ALLMAGIC)) >$@ - -tar: $(ALLSRC) $(ALLMAGIC) - -rm -fr file-${VERSION} - -mkdir file-${VERSION} file-${VERSION}/Magdir - ln $(ALLSRC) file-${VERSION} - ln ${ALLMAGIC} file-${VERSION}/Magdir - tar cvf file-${VERSION}.tar file-${VERSION} - -rm -fr file-${VERSION} diff --git a/contrib/file/acconfig.h b/contrib/file/acconfig.h deleted file mode 100644 index e6293daf5c09..000000000000 --- a/contrib/file/acconfig.h +++ /dev/null @@ -1,60 +0,0 @@ -/* Autoheader needs me */ -#undef PACKAGE - -/* Autoheader needs me */ -#undef VERSION - -/* 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 if we have "tm_zone" in "struct tm". */ -#undef HAVE_TM_ZONE - -/* Define if we have a global "char * []" "tzname" variable. */ -#undef HAVE_TZNAME - -/* Define if we have "tm_isdst" in "struct tm". */ -#undef HAVE_TM_ISDST - -/* Define if we have a global "int" variable "daylight". */ -#undef HAVE_DAYLIGHT - -/* Define if we have a mkstemp */ -#undef HAVE_MKSTEMP - -/* 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 - -/* Define to `int' if standard headers don't define. */ -#undef int32_t - -/* FIXME: These have to be added manually because autoheader doesn't know - about AC_CHECK_SIZEOF_INCLUDES. */ - -/* 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 diff --git a/contrib/file/file.man b/contrib/file/file.man deleted file mode 100644 index f13ed8e3c4fb..000000000000 --- a/contrib/file/file.man +++ /dev/null @@ -1,500 +0,0 @@ -.TH FILE __CSECTION__ "Copyright but distributable" -.\" $Id: file.man,v 1.54 2003/10/27 18:09:08 christos Exp $ -.SH NAME -file -\- determine file type -.SH SYNOPSIS -.B file -[ -.B \-bcikLnNprsvz -] -[ -.B \-f -.I namefile -] -[ -.B \-F -.I separator -] -[ -.B \-m -.I magicfiles -] -.I file -\&... -.br -.B file -.B -C -[ -.B \-m -magicfile ] -.SH DESCRIPTION -This manual page documents version __VERSION__ of the -.B file -command. -.PP -.B File -tests each argument in an attempt to classify it. -There are three sets of tests, performed in this order: -filesystem tests, magic number tests, and language tests. -The -.I first -test that succeeds causes the file type to be printed. -.PP -The type printed will usually contain one of the words -.B text -(the file contains only -printing characters and a few common control -characters and is probably safe to read on an -.SM ASCII -terminal), -.B executable -(the file contains the result of compiling a program -in a form understandable to some \s-1UNIX\s0 kernel or another), -or -.B data -meaning anything else (data is usually `binary' or non-printable). -Exceptions are well-known file formats (core files, tar archives) -that are known to contain binary data. -When modifying the file -.I __MAGIC__ -or the program itself, -.B "preserve these keywords" . -People depend on knowing that all the readable files in a directory -have the word ``text'' printed. -Don't do as Berkeley did and change ``shell commands text'' -to ``shell script''. -Note that the file -.I __MAGIC__ -is built mechanically from a large number of small files in -the subdirectory -.I Magdir -in the source distribution of this program. -.PP -The filesystem tests are based on examining the return from a -.BR stat (2) -system call. -The program checks to see if the file is empty, -or if it's some sort of special file. -Any known file types appropriate to the system you are running on -(sockets, symbolic links, or named pipes (FIFOs) on those systems that -implement them) -are intuited if they are defined in -the system header file -.IR <sys/stat.h> . -.PP -The magic number tests are used to check for files with data in -particular fixed formats. -The canonical example of this is a binary executable (compiled program) -.I a.out -file, whose format is defined in -.I a.out.h -and possibly -.I exec.h -in the standard include directory. -These files have a `magic number' stored in a particular place -near the beginning of the file that tells the \s-1UNIX\s0 operating system -that the file is a binary executable, and which of several types thereof. -The concept of `magic number' has been applied by extension to data files. -Any file with some invariant identifier at a small fixed -offset into the file can usually be described in this way. -The information identifying these files is read from the compiled -magic file -.I __MAGIC__.mgc , -or -.I __MAGIC__ -if the compile file does not exist. -.PP -If a file does not match any of the entries in the magic file, -it is examined to see if it seems to be a text file. -ASCII, ISO-8859-x, non-ISO 8-bit extended-ASCII character sets -(such as those used on Macintosh and IBM PC systems), -UTF-8-encoded Unicode, UTF-16-encoded Unicode, and EBCDIC -character sets can be distinguished by the different -ranges and sequences of bytes that constitute printable text -in each set. -If a file passes any of these tests, its character set is reported. -ASCII, ISO-8859-x, UTF-8, and extended-ASCII files are identified -as ``text'' because they will be mostly readable on nearly any terminal; -UTF-16 and EBCDIC are only ``character data'' because, while -they contain text, it is text that will require translation -before it can be read. -In addition, -.B file -will attempt to determine other characteristics of text-type files. -If the lines of a file are terminated by CR, CRLF, or NEL, instead -of the Unix-standard LF, this will be reported. -Files that contain embedded escape sequences or overstriking -will also be identified. -.PP -Once -.B file -has determined the character set used in a text-type file, -it will -attempt to determine in what language the file is written. -The language tests look for particular strings (cf -.IR names.h ) -that can appear anywhere in the first few blocks of a file. -For example, the keyword -.B .br -indicates that the file is most likely a -.BR troff (1) -input file, just as the keyword -.B struct -indicates a C program. -These tests are less reliable than the previous -two groups, so they are performed last. -The language test routines also test for some miscellany -(such as -.BR tar (1) -archives). -.PP -Any file that cannot be identified as having been written -in any of the character sets listed above is simply said to be ``data''. -.SH OPTIONS -.TP 8 -.B "\-b, \-\-brief" -Do not prepend filenames to output lines (brief mode). -.TP 8 -.B "\-c, \-\-checking\-printout" -Cause a checking printout of the parsed form of the magic file. -This is usually used in conjunction with -.B \-m -to debug a new magic file before installing it. -.TP 8 -.B "\-C, \-\-compile" -Write a magic.mgc output file that contains a pre-parsed version of -file. -.TP 8 -.BI "\-f, \-\-files\-from" " namefile" -Read the names of the files to be examined from -.I namefile -(one per line) -before the argument list. -Either -.I namefile -or at least one filename argument must be present; -to test the standard input, use ``\-'' as a filename argument. -.TP 8 -.BI "\-F, \-\-separator" " separator" -Use the specified string as the separator between the filename and the -file result returned. Defaults to ``:''. -.TP 8 -.B "\-i, \-\-mime" -Causes the file command to output mime type strings rather than the more -traditional human readable ones. Thus it may say -``text/plain; charset=us-ascii'' -rather -than ``ASCII text''. -In order for this option to work, file changes the way -it handles files recognised by the command itself (such as many of the -text file types, directories etc), and makes use of an alternative -``magic'' file. -(See ``FILES'' section, below). -.TP 8 -.B "\-k, \-\-keep\-going" -Don't stop at the first match, keep going. -.TP 8 -.B "\-L, \-\-dereference" -option causes symlinks to be followed, as the like-named option in -.BR ls (1). -(on systems that support symbolic links). -.TP 8 -.BI "\-m, \-\-magic\-file" " list" -Specify an alternate list of files containing magic numbers. -This can be a single file, or a colon-separated list of files. -If a compiled magic file is found alongside, it will be used instead. -With the \-i or \-\-mime option, the program adds ".mime" to each file name. -.TP 8 -.B "\-n, \-\-no\-buffer" -Force stdout to be flushed after checking each file. -This is only useful if checking a list of files. -It is intended to be used by programs that want filetype output from a pipe. -.TP 8 -.B "\-N, \-\-no\-pad" -Don't pad filenames so that they align in the output. -.TP 8 -.B "\-p, \-\-preserve\-date" -On systems that support -.BR utime (2) -or -.BR utimes(2), -attempt to preserve the access time of files analyzed, to pretend that -.BR file (2) -never read them. -.TP 8 -.B "\-r, \-\-raw" -Don't translate unprintable characters to \eooo. -Normally -.B file -translates unprintable characters to their octal representation. -.TP 8 -.B "\-s, \-\-special\-files" -Normally, -.B file -only attempts to read and determine the type of argument files which -.BR stat (2) -reports are ordinary files. -This prevents problems, because reading special files may have peculiar -consequences. -Specifying the -.BR \-s -option causes -.B file -to also read argument files which are block or character special files. -This is useful for determining the filesystem types of the data in raw -disk partitions, which are block special files. -This option also causes -.B file -to disregard the file size as reported by -.BR stat (2) -since on some systems it reports a zero size for raw disk partitions. -.TP 8 -.B "\-v, \-\-version" -Print the version of the program and exit. -.TP 8 -.B "\-z, \-\-uncompress" -Try to look inside compressed files. -.TP 8 -.B "\-\-help" -Print a help message and exit. -.SH FILES -.TP -.I __MAGIC__.mgc -Default compiled list of magic numbers -.TP -.I __MAGIC__ -Default list of magic numbers -.TP -.I __MAGIC__.mime.mgc -Default compiled list of magic numbers, used to output mime types when -the -i option is specified. -.TP -.I __MAGIC__.mime -Default list of magic numbers, used to output mime types when the -i option -is specified. -.TP -.I /etc/magic -Local additions to magic wisdom. - -.SH ENVIRONMENT -The environment variable -.B MAGIC -can be used to set the default magic number file name. -.B file -adds ".mime" and/or ".mgc" to the value of this variable as appropriate. -.SH SEE ALSO -.BR magic (__FSECTION__) -\- description of magic file format. -.br -.BR strings (1), " od" (1), " hexdump(1)" -\- tools for examining non-textfiles. -.SH STANDARDS CONFORMANCE -This program is believed to exceed the System V Interface Definition -of FILE(CMD), as near as one can determine from the vague language -contained therein. -Its behaviour is mostly compatible with the System V program of the same name. -This version knows more magic, however, so it will produce -different (albeit more accurate) output in many cases. -.PP -The one significant difference -between this version and System V -is that this version treats any white space -as a delimiter, so that spaces in pattern strings must be escaped. -For example, -.br ->10 string language impress\ (imPRESS data) -.br -in an existing magic file would have to be changed to -.br ->10 string language\e impress (imPRESS data) -.br -In addition, in this version, if a pattern string contains a backslash, -it must be escaped. -For example -.br -0 string \ebegindata Andrew Toolkit document -.br -in an existing magic file would have to be changed to -.br -0 string \e\ebegindata Andrew Toolkit document -.br -.PP -SunOS releases 3.2 and later from Sun Microsystems include a -.BR file (1) -command derived from the System V one, but with some extensions. -My version differs from Sun's only in minor ways. -It includes the extension of the `&' operator, used as, -for example, -.br ->16 long&0x7fffffff >0 not stripped -.SH MAGIC DIRECTORY -The magic file entries have been collected from various sources, -mainly USENET, and contributed by various authors. -Christos Zoulas (address below) will collect additional -or corrected magic file entries. -A consolidation of magic file entries -will be distributed periodically. -.PP -The order of entries in the magic file is significant. -Depending on what system you are using, the order that -they are put together may be incorrect. -If your old -.B file -command uses a magic file, -keep the old magic file around for comparison purposes -(rename it to -.IR __MAGIC__.orig ). -.SH EXAMPLES -.nf -$ file file.c file /dev/{wd0a,hda} -file.c: C program text -file: ELF 32-bit LSB executable, Intel 80386, version 1 (SYSV), - dynamically linked (uses shared libs), stripped -/dev/wd0a: block special (0/0) -/dev/hda: block special (3/0) -$ file -s /dev/wd0{b,d} -/dev/wd0b: data -/dev/wd0d: x86 boot sector -$ file -s /dev/hda{,1,2,3,4,5,6,7,8,9,10} -/dev/hda: x86 boot sector -/dev/hda1: Linux/i386 ext2 filesystem -/dev/hda2: x86 boot sector -/dev/hda3: x86 boot sector, extended partition table -/dev/hda4: Linux/i386 ext2 filesystem -/dev/hda5: Linux/i386 swap file -/dev/hda6: Linux/i386 swap file -/dev/hda7: Linux/i386 swap file -/dev/hda8: Linux/i386 swap file -/dev/hda9: empty -/dev/hda10: empty - -$ file -i file.c file /dev/{wd0a,hda} -file.c: text/x-c -file: application/x-executable, dynamically linked (uses shared libs), -not stripped -/dev/hda: application/x-not-regular-file -/dev/wd0a: application/x-not-regular-file - -.fi -.SH HISTORY -There has been a -.B file -command in every \s-1UNIX\s0 since at least Research Version 4 -(man page dated November, 1973). -The System V version introduced one significant major change: -the external list of magic number types. -This slowed the program down slightly but made it a lot more flexible. -.PP -This program, based on the System V version, -was written by Ian Darwin <ian@darwinsys.com> -without looking at anybody else's source code. -.PP -John Gilmore revised the code extensively, making it better than -the first version. -Geoff Collyer found several inadequacies -and provided some magic file entries. -Contributions by the `&' operator by Rob McMahon, cudcv@warwick.ac.uk, 1989. -.PP -Guy Harris, guy@netapp.com, made many changes from 1993 to the present. -.PP -Primary development and maintenance from 1990 to the present by -Christos Zoulas (christos@astron.com). -.PP -Altered by Chris Lowth, chris@lowth.com, 2000: -Handle the ``-i'' option to output mime type strings and using an alternative -magic file and internal logic. -.PP -Altered by Eric Fischer (enf@pobox.com), July, 2000, -to identify character codes and attempt to identify the languages -of non-ASCII files. -.PP -The list of contributors to the "Magdir" directory (source for the -/etc/magic -file) is too long to include here. -You know who you are; thank you. -.SH LEGAL NOTICE -Copyright (c) Ian F. Darwin, Toronto, Canada, 1986-1999. -Covered by the standard Berkeley Software Distribution copyright; see the file -LEGAL.NOTICE in the source distribution. -.PP -The files -.I tar.h -and -.I is_tar.c -were written by John Gilmore from his public-domain -.B tar -program, and are not covered by the above license. -.SH BUGS -There must be a better way to automate the construction of the Magic -file from all the glop in magdir. -What is it? -Better yet, the magic file should be compiled into binary (say, -.BR ndbm (3) -or, better yet, fixed-length -.SM ASCII -strings for use in heterogenous network environments) for faster startup. -Then the program would run as fast as the Version 7 program of the same name, -with the flexibility of the System V version. -.PP -.B File -uses several algorithms that favor speed over accuracy, -thus it can be misled about the contents of -text -files. -.PP -The support for -text -files (primarily for programming languages) -is simplistic, inefficient and requires recompilation to update. -.PP -There should be an ``else'' clause to follow a series of continuation lines. -.PP -The magic file and keywords should have regular expression support. -Their use of -.SM "ASCII TAB" -as a field delimiter is ugly and makes -it hard to edit the files, but is entrenched. -.PP -It might be advisable to allow upper-case letters in keywords -for e.g., -.BR troff (1) -commands vs man page macros. -Regular expression support would make this easy. -.PP -The program doesn't grok \s-2FORTRAN\s0. -It should be able to figure \s-2FORTRAN\s0 by seeing some keywords which -appear indented at the start of line. -Regular expression support would make this easy. -.PP -The list of keywords in -.I ascmagic -probably belongs in the Magic file. -This could be done by using some keyword like `*' for the offset value. -.PP -Another optimisation would be to sort -the magic file so that we can just run down all the -tests for the first byte, first word, first long, etc, once we -have fetched it. -Complain about conflicts in the magic file entries. -Make a rule that the magic entries sort based on file offset rather -than position within the magic file? -.PP -The program should provide a way to give an estimate -of ``how good'' a guess is. -We end up removing guesses (e.g. ``From '' as first 5 chars of file) because -they are not as good as other guesses (e.g. ``Newsgroups:'' versus -``Return-Path:''). -Still, if the others don't pan out, it should be possible to use the -first guess. -.PP -This program is slower than some vendors' file commands. -The new support for multiple character codes makes it even slower. -.PP -This manual page, and particularly this section, is too long. -.SH AVAILABILITY -You can obtain the original author's latest version by anonymous FTP -on -.B ftp.astron.com -in the directory -.I /pub/file/file-X.YZ.tar.gz diff --git a/contrib/file/libmagic.man b/contrib/file/libmagic.man deleted file mode 100644 index c60a0448017e..000000000000 --- a/contrib/file/libmagic.man +++ /dev/null @@ -1,228 +0,0 @@ -.\" -.\" Copyright (c) Christos Zoulas 2003. -.\" 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 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. 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. -.\" -.Dd March 22, 2003 -.Dt MAGIC 3 -.Os -.Sh NAME -.Nm magic_open , -.Nm magic_close , -.Nm magic_error , -.Nm magic_file , -.Nm magic_buffer , -.Nm magic_setflags , -.Nm magic_check , -.Nm magic_compile , -.Nm magic_load -.Nd Magic number recognition library. -.Sh LIBRARY -.Lb libmagic -.Sh SYNOPSIS -.In magic.h -.Ft magic_t -.Fn magic_open "int flags" -.Ft void -.Fn magic_close "magic_t cookie" -.Ft const char * -.Fn magic_error "magic_t cookie" -.Ft int -.Fn magic_errno "magic_t cookie" -.Ft const char * -.Fn magic_file "magic_t cookie, const char *filename" -.Ft const char * -.Fn magic_buffer "magic_t cookie, const void *buffer, size_t length" -.Ft int -.Fn magic_setflags "magic_t cookie, int flags" -.Ft int -.Fn magic_check "magic_t cookie, const char *filename" -.Ft int -.Fn magic_compile "magic_t cookie, const char *filename" -.Ft int -.Fn magic_load "magic_t cookie, const char *filename" -.Sh DESCRIPTION -These functions -operate on the magic database file -which is described -in -.Xr magic __FSECTION__ . -.Pp -The function -.Fn magic_open -creates a magic cookie pointer and returns it. It returns NULL if -there was an error allocating the magic cookie. The -.Ar flags -argument specifies how the other magic functions should behave: -.Bl -tag -width MAGIC_COMPRESS -.It Dv MAGIC_NONE -No special handling. -.It Dv MAGIC_DEBUG -Print debugging messages to stderr. -.It Dv MAGIC_SYMLINK -If the file queried is a symlink, follow it. -.It Dv MAGIC_COMPRESS -If the file is compressed, unpack it and look at the contents. -.It Dv MAGIC_DEVICES -If the file is a block or character special device, then open the device -and try to look in its contents. -.It Dv MAGIC_MIME -Return a mime string, instead of a textual description. -.It Dv MAGIC_CONTINUE -Return all matches, not just the first. -.It Dv MAGIC_CHECK -Check the magic database for consistency and print warnings to stderr. -.It Dv MAGIC_PRESERVE_ATIME -On systems that support -.Xr utime 2 -or -.Xr utimes 2 , -attempt to preserve the access time of files analyzed. -.It Dv MAGIC_RAW -Don't translate unprintable characters to a \eooo octal representation. -.It Dv MAGIC_ERROR -Treat operating system errors while trying to open files and follow symlinks -as real errors, instead of printing them in the magic buffer. -.El -.Pp -The -.Fn magic_close -function closes the -.Xr magic __FSECTION__ -database and deallocates any resources used. -.Pp -The -.Fn magic_error -function returns a textual explanation of the last error, or NULL if there was -no error. -.Pp -The -.Fn magic_errno -function returns the last operating system error number ( -.Xr errno 3 ) -that was encountered by a system call. -.Pp -The -.Fn magic_file -function returns a textual description of the contents of the -.Ar filename -argument, or NULL if an error occurred. -If the -.Ar filename -is NULL, then stdin is used. -.Pp -The -.Fn magic_buffer -function returns a textual description of the contents of the -.Ar buffer -argument with -.Ar length -bytes size. -.Pp -The -.Fn magic_setflags -function, sets the -.Ar flags -described above. -.Pp -The -.Fn magic_check -function can be used to check the validity of entries in the colon -separated database files passed in as -.Ar filename , -or NULL for the default database. It returns 0 on success and -1 on -failure. -.Pp -The -.Fn magic_compile -function can be used to compile the the colon -separated list of database files passed in as -.Ar filename , -or NULL for the default database. It returns 0 on success and -1 on -failure. The compiled files created are named from the -.Xr basename 1 -of each file argument with ".mgc" appended to it. -.Pp -The -.Fn magic_load -function must be used to load the the colon -separated list of database files passed in as -.Ar filename , -or NULL for the default database file -before any magic queries can performed. -.Pp -The default database file is named by the MAGIC environment variable. If -that variable is not set, the default database file name is __MAGIC__. -.Pp -.Fn magic_load -adds ".mime" and/or ".mgc" to the database filename as appropriate. -.Sh RETURN VALUES -The function -.Fn magic_open -returns a magic cookie on success and NULL on failure setting errno to -an appropriate value. It will set errno to EINVAL if an unsupported -value for flags was given. -The -.Fn magic_load , -.Fn magic_compile , -and -.Fn magic_check -functions return 0 on success and -1 on failure. -The -.Fn magic_file , -and -.Fn magic_buffer -functions return a string on success and NULL on failure. The -.Fn magic_error -function returns a textual description of the errors of the above -functions, or NULL if there was no error. -Finally, -.Fn magic_setflags -returns -1 on systems that don't support -.Xr utime 2 , -or -.Xr utimes 2 -when -.Dv MAGIC_PRESERVE_ATIME -is set. -.Sh FILES -.Bl -tag -width __MAGIC__.mime.mgc -compact -.It Pa __MAGIC__.mime -The non-compiled default magic mime database. -.It Pa __MAGIC__.mime.mgc -The compiled default magic mime database. -.It Pa __MAGIC__ -The non-compiled default magic database. -.It Pa __MAGIC__.mgc -The compiled default magic database. -.El -.Sh SEE ALSO -.Xr file __CSECTION__ , -.Xr magic __FSECTION__ -.Sh AUTHORS -Måns Rullgård Initial libmagic implementation, -and configuration. -Christos Zoulas API cleanup, error code and allocation handling. diff --git a/contrib/file/magic.man b/contrib/file/magic.man deleted file mode 100644 index 6917bc03ad87..000000000000 --- a/contrib/file/magic.man +++ /dev/null @@ -1,243 +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 -.BR 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 -.I n -consecutive blanks, the target needs at least -.I 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 ldate -A four-byte value interpreted as a UNIX-style date, but interpreted as -local time rather than UTC. -.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. -.IP leldate -A four-byte value (on most systems) in little-endian byte order, -interpreted as a UNIX-style date, but interpreted as local time rather -than UTC. -.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 (3) -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 interpret the number as a little -endian value. -To that number the value of -.I y -is added and the result is used as an offset in the file. -The default type 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.27 2003/09/12 19:43:30 christos Exp $ diff --git a/contrib/file/missing b/contrib/file/missing deleted file mode 100755 index e69de29bb2d1..000000000000 --- a/contrib/file/missing +++ /dev/null diff --git a/contrib/file/stamp-h.in b/contrib/file/stamp-h.in deleted file mode 100644 index 9788f70238c9..000000000000 --- a/contrib/file/stamp-h.in +++ /dev/null @@ -1 +0,0 @@ -timestamp |