- new upstream version

This commit is contained in:
Tomas Smetana 2008-06-03 07:38:42 +00:00
parent 497b4b6496
commit ebad5367e6
16 changed files with 204 additions and 202 deletions

View File

@ -1 +1 @@
file-4.23.tar.gz
file-4.24.tar.gz

View File

@ -1,18 +0,0 @@
--- file-4.13/magic/Makefile.in.quick 2005-04-11 10:22:45.000000000 +0200
+++ file-4.13/magic/Makefile.in 2005-04-11 10:27:55.000000000 +0200
@@ -100,6 +100,7 @@
Magdir/alpha \
Magdir/amanda \
Magdir/amigaos \
+Magdir/mail.news \
Magdir/animation \
Magdir/apl \
Magdir/apple \
@@ -179,7 +180,6 @@
Magdir/mach \
Magdir/macintosh \
Magdir/magic \
-Magdir/mail.news \
Magdir/maple \
Magdir/mathematica \
Magdir/matroska \

View File

@ -1,18 +0,0 @@
--- file-4.15/magic/Makefile.in.berkeley 2005-10-03 11:26:31.000000000 +0200
+++ file-4.15/magic/Makefile.in 2005-10-03 11:27:28.000000000 +0200
@@ -200,7 +200,6 @@
Magdir/citrus \
Magdir/claris \
Magdir/clipper \
-Magdir/cracklib \
Magdir/spec \
Magdir/commands \
Magdir/communications \
@@ -210,6 +209,7 @@
Magdir/ctags \
Magdir/dact \
Magdir/database \
+Magdir/cracklib \
Magdir/diamond \
Magdir/diff \
Magdir/digital \

View File

@ -1,61 +0,0 @@
diff -up file-4.23/src/readelf.c.ELF file-4.23/src/readelf.c
--- file-4.23/src/readelf.c.ELF 2007-12-27 17:30:52.000000000 +0100
+++ file-4.23/src/readelf.c 2008-01-28 13:28:23.000000000 +0100
@@ -45,7 +45,7 @@ private int dophn_core(struct magic_set
off_t, int *);
#endif
private int dophn_exec(struct magic_set *, int, int, int, off_t, int, size_t,
- off_t, int *);
+ off_t, int *, int);
private int doshn(struct magic_set *, int, int, int, off_t, int, size_t, int *);
private size_t donote(struct magic_set *, unsigned char *, size_t, size_t, int,
int, size_t, int *);
@@ -795,7 +795,7 @@ doshn(struct magic_set *ms, int class, i
*/
private int
dophn_exec(struct magic_set *ms, int class, int swap, int fd, off_t off,
- int num, size_t size, off_t fsize, int *flags)
+ int num, size_t size, off_t fsize, int *flags, int sh_num)
{
Elf32_Phdr ph32;
Elf64_Phdr ph64;
@@ -864,6 +864,19 @@ dophn_exec(struct magic_set *ms, int cla
return -1;
align = 4;
}
+ /* If we have a section header table, handle note
+ sections just in doshn. Handling them also here
+ means that for executables we print the note content
+ twice and, more importantly, don't handle
+ strip -o created debuginfo files correctly.
+ They have PT_NOTE header, but the actual note
+ content is not present in the debuginfo file,
+ only in the original stripped executable or library.
+ The corresponding .note.* section is SHT_NOBITS
+ rather than SHT_NOTE, so doshn will not look
+ at it. */
+ if (sh_num)
+ break;
/*
* This is a PT_NOTE section; loop through all the notes
* in the section.
@@ -975,7 +988,8 @@ file_tryelf(struct magic_set *ms, int fd
fd, (off_t)getu32(swap, elfhdr.e_phoff),
getu16(swap, elfhdr.e_phnum),
(size_t)getu16(swap, elfhdr.e_phentsize),
- fsize, &flags) == -1)
+ fsize, &flags, getu16(swap, elfhdr.e_shnum))
+ == -1)
return -1;
if (doshn(ms, class, swap, fd,
(off_t)getu32(swap, elfhdr.e_shoff),
@@ -1018,7 +1032,8 @@ file_tryelf(struct magic_set *ms, int fd
(off_t)elf_getu64(swap, elfhdr.e_phoff),
getu16(swap, elfhdr.e_phnum),
(size_t)getu16(swap, elfhdr.e_phentsize),
- fsize, &flags) == -1)
+ fsize, &flags,
+ getu16(swap, elfhdr.e_shnum)) == -1)
return -1;
}
if (doshn(ms, class, swap, fd,

View File

@ -1,15 +0,0 @@
diff -up file-4.23/magic/Makefile.in.fsdump file-4.23/magic/Makefile.in
--- file-4.23/magic/Makefile.in.fsdump 2008-01-28 11:23:20.000000000 +0100
+++ file-4.23/magic/Makefile.in 2008-01-28 11:23:35.000000000 +0100
@@ -215,10 +215,10 @@ Magdir/diamond \
Magdir/diff \
Magdir/digital \
Magdir/dolby \
-Magdir/dump \
Magdir/editors \
Magdir/efi \
Magdir/elf \
+Magdir/dump \
Magdir/encore \
Magdir/epoc \
Magdir/esri \

View File

@ -1,33 +0,0 @@
diff -up file-4.23/magic/Magdir/animation.mismatch file-4.23/magic/Magdir/animation
--- file-4.23/magic/Magdir/animation.mismatch 2007-11-08 01:28:03.000000000 +0100
+++ file-4.23/magic/Magdir/animation 2008-02-01 12:16:13.000000000 +0100
@@ -570,7 +570,8 @@
>>4 byte&0x78 0x18 \b, 3 streams
>>4 byte &0x20 \b, 4 or more streams
>>4 byte &0x40 \b, 8 or more streams
-0 beshort 0x4DE1 MPEG-4 LO-EP audio stream
+# Matches text files
+#0 beshort 0x4DE1 MPEG-4 LO-EP audio stream
# FLI animation format
4 leshort 0xAF11 FLI file
@@ -580,12 +581,13 @@
>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
+4 leshort 0xAF12
+>0 string !\037\213 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

43
file-4.24-ELF.patch Normal file
View File

@ -0,0 +1,43 @@
diff -up file-4.24/src/elfclass.h.ELF file-4.24/src/elfclass.h
--- file-4.24/src/elfclass.h.ELF 2008-05-07 11:25:23.000000000 +0200
+++ file-4.24/src/elfclass.h 2008-05-07 11:32:11.000000000 +0200
@@ -49,7 +49,8 @@
(off_t)elf_getu(swap, elfhdr.e_phoff),
elf_getu16(swap, elfhdr.e_phnum),
(size_t)elf_getu16(swap, elfhdr.e_phentsize),
- fsize, &flags) == -1)
+ fsize, &flags, elf_getu16(swap, elfhdr.e_shnum))
+ == -1)
return -1;
/*FALLTHROUGH*/
case ET_REL:
diff -up file-4.24/src/readelf.c.ELF file-4.24/src/readelf.c
--- file-4.24/src/readelf.c.ELF 2008-05-07 11:25:33.000000000 +0200
+++ file-4.24/src/readelf.c 2008-05-07 11:34:38.000000000 +0200
@@ -46,7 +46,7 @@ private int dophn_core(struct magic_set
off_t, int *);
#endif
private int dophn_exec(struct magic_set *, int, int, int, off_t, int, size_t,
- off_t, int *);
+ off_t, int *, int);
private int doshn(struct magic_set *, int, int, int, off_t, int, size_t, int *);
private size_t donote(struct magic_set *, unsigned char *, size_t, size_t, int,
int, size_t, int *);
@@ -838,7 +838,7 @@ doshn(struct magic_set *ms, int class, i
*/
private int
dophn_exec(struct magic_set *ms, int class, int swap, int fd, off_t off,
- int num, size_t size, off_t fsize, int *flags)
+ int num, size_t size, off_t fsize, int *flags, int sh_num)
{
Elf32_Phdr ph32;
Elf64_Phdr ph64;
@@ -907,6 +907,8 @@ dophn_exec(struct magic_set *ms, int cla
return -1;
align = 4;
}
+ if (sh_num)
+ break;
/*
* This is a PT_NOTE section; loop through all the notes
* in the section.

15
file-4.24-berkeley.patch Normal file
View File

@ -0,0 +1,15 @@
diff -up file-4.24/magic/Makefile.in.berkeley file-4.24/magic/Makefile.in
--- file-4.24/magic/Makefile.in.berkeley 2008-05-06 13:49:07.000000000 +0200
+++ file-4.24/magic/Makefile.in 2008-05-06 13:50:41.000000000 +0200
@@ -204,10 +204,10 @@ $(MAGIC_FRAGMENT_DIR)/communications \
$(MAGIC_FRAGMENT_DIR)/compress \
$(MAGIC_FRAGMENT_DIR)/console \
$(MAGIC_FRAGMENT_DIR)/convex \
-$(MAGIC_FRAGMENT_DIR)/cracklib \
$(MAGIC_FRAGMENT_DIR)/ctags \
$(MAGIC_FRAGMENT_DIR)/dact \
$(MAGIC_FRAGMENT_DIR)/database \
+$(MAGIC_FRAGMENT_DIR)/cracklib \
$(MAGIC_FRAGMENT_DIR)/diamond \
$(MAGIC_FRAGMENT_DIR)/diff \
$(MAGIC_FRAGMENT_DIR)/digital \

View File

@ -1,18 +1,19 @@
diff -up file-4.21/magic/Magdir/msdos.efi file-4.21/magic/Magdir/msdos
--- file-4.21/magic/Magdir/msdos.efi 2008-03-11 08:49:22.000000000 +0100
+++ file-4.21/magic/Magdir/msdos 2008-03-11 08:50:05.000000000 +0100
@@ -49,7 +49,8 @@
diff -up file-4.24/magic/Magdir/msdos.efi file-4.24/magic/Magdir/msdos
--- file-4.24/magic/Magdir/msdos.efi 2008-03-28 19:06:25.000000000 +0100
+++ file-4.24/magic/Magdir/msdos 2008-05-06 14:23:44.000000000 +0200
@@ -45,8 +45,9 @@
#
# many of the compressed formats were extraced from IDARC 1.23 source code
#
-0 string MZ MS-DOS executable
+0 string MZ
!:mime application/x-dosexec
+>0x18 leshort <0x40 MS-DOS executable
>0 string MZ\0\0\0\0\0\0\0\0\0\0PE\0\0 \b, PE for MS Windows
>>&18 leshort&0x2000 >0 (DLL)
>>&88 leshort 0 (unknown subsystem)
@@ -70,27 +71,35 @@
>>>(&0.l+(4)) string MSCF \b, WinHKI CAB self-extracting archive
@@ -72,27 +73,35 @@
!:mime application/zip
>0x18 leshort >0x3f
->>(0x3c.l) string PE\0\0 PE
@ -66,7 +67,7 @@ diff -up file-4.21/magic/Magdir/msdos.efi file-4.21/magic/Magdir/msdos
>>>>(0x3c.l+0xf8) string UPX0 \b, UPX compressed
>>>>(0x3c.l+0xf8) search/0x140 PEC2 \b, PECompact2 compressed
@@ -119,6 +128,8 @@
@@ -121,6 +130,8 @@
>>>>&(0x3c.l+0xf8) search/0x100 SharedD \b, Microsoft Installer self-extracting archive
>>>>0x30 string Inno \b, InnoSetup self-extracting archive

47
file-4.24-flc.patch Normal file
View File

@ -0,0 +1,47 @@
--- file-4.24/magic/Magdir/animation 2008-02-20 01:27:27.000000000 +0800
+++ file-4.24-new/magic/Magdir/animation 2008-04-25 12:58:24.000000000 +0800
@@ -616,22 +616,30 @@
#0 beshort 0x4DE1 MPEG-4 LO-EP audio stream
#!:mime audio/x-mp4a-latm
-# FLI animation format
-4 leshort 0xAF11 FLI file
+# Summary: FLI animation format
+# Created by: Daniel Quinlan <quinlan@yggdrasil.com>
+# Modified by (1): Abel Cheung <abelcheung@gmail.com> (avoid over-generic detection)
+4 leshort 0xAF11
+# standard FLI always has 320x200 resolution and 8 bit color
+>8 leshort 320
+>>10 leshort 200
+>>>12 leshort 8 FLI animation, 320x200x8
!:mime video/x-fli
->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 \b, %d frames
+# frame speed is multiple of 1/70s
+>>>>16 leshort x \b, %d/70s per frame
+
+# Summary: FLC animation format
+# Created by: Daniel Quinlan <quinlan@yggdrasil.com>
+# Modified by (1): Abel Cheung <abelcheung@gmail.com> (avoid over-generic detection)
+4 leshort 0xAF12
+# standard FLC always use 8 bit color
+>12 leshort 8 FLC animation
!:mime video/x-flc
->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
+>>8 leshort x \b, %d
+>>10 leshort x \bx%dx8
+>>6 uleshort x \b, %d frames
+>>16 uleshort x \b, %dms per frame
# DL animation format
# XXX - collision with most `mips' magic

16
file-4.24-fsdump.patch Normal file
View File

@ -0,0 +1,16 @@
diff -up file-4.24/magic/Makefile.in.fsdump file-4.24/magic/Makefile.in
--- file-4.24/magic/Makefile.in.fsdump 2008-03-22 22:41:06.000000000 +0100
+++ file-4.24/magic/Makefile.in 2008-05-06 13:44:45.000000000 +0200
@@ -211,11 +211,11 @@ $(MAGIC_FRAGMENT_DIR)/diamond \
$(MAGIC_FRAGMENT_DIR)/diff \
$(MAGIC_FRAGMENT_DIR)/digital \
$(MAGIC_FRAGMENT_DIR)/dolby \
-$(MAGIC_FRAGMENT_DIR)/dump \
$(MAGIC_FRAGMENT_DIR)/dyadic \
$(MAGIC_FRAGMENT_DIR)/editors \
$(MAGIC_FRAGMENT_DIR)/efi \
$(MAGIC_FRAGMENT_DIR)/elf \
+$(MAGIC_FRAGMENT_DIR)/dump \
$(MAGIC_FRAGMENT_DIR)/encore \
$(MAGIC_FRAGMENT_DIR)/epoc \
$(MAGIC_FRAGMENT_DIR)/erlang \

19
file-4.24-quick.patch Normal file
View File

@ -0,0 +1,19 @@
diff -up file-4.24/magic/Makefile.in.quick file-4.24/magic/Makefile.in
--- file-4.24/magic/Makefile.in.quick 2008-05-06 13:46:23.000000000 +0200
+++ file-4.24/magic/Makefile.in 2008-05-06 13:47:49.000000000 +0200
@@ -172,6 +172,7 @@ $(MAGIC_FRAGMENT_DIR)/alliant \
$(MAGIC_FRAGMENT_DIR)/alpha \
$(MAGIC_FRAGMENT_DIR)/amanda \
$(MAGIC_FRAGMENT_DIR)/amigaos \
+$(MAGIC_FRAGMENT_DIR)/mail.news \
$(MAGIC_FRAGMENT_DIR)/animation \
$(MAGIC_FRAGMENT_DIR)/apl \
$(MAGIC_FRAGMENT_DIR)/apple \
@@ -264,7 +265,6 @@ $(MAGIC_FRAGMENT_DIR)/luks \
$(MAGIC_FRAGMENT_DIR)/mach \
$(MAGIC_FRAGMENT_DIR)/macintosh \
$(MAGIC_FRAGMENT_DIR)/magic \
-$(MAGIC_FRAGMENT_DIR)/mail.news \
$(MAGIC_FRAGMENT_DIR)/maple \
$(MAGIC_FRAGMENT_DIR)/mathcad \
$(MAGIC_FRAGMENT_DIR)/mathematica \

21
file-4.24-selinux.patch Normal file
View File

@ -0,0 +1,21 @@
diff -up file-4.24/magic/Makefile.am.selinux file-4.24/magic/Makefile.am
--- file-4.24/magic/Makefile.am.selinux 2008-03-22 22:41:00.000000000 +0100
+++ file-4.24/magic/Makefile.am 2008-05-06 13:32:36.000000000 +0200
@@ -149,6 +149,7 @@ $(MAGIC_FRAGMENT_DIR)/pgp \
$(MAGIC_FRAGMENT_DIR)/pkgadd \
$(MAGIC_FRAGMENT_DIR)/plan9 \
$(MAGIC_FRAGMENT_DIR)/plus5 \
+$(MAGIC_FRAGMENT_DIR)/policy \
$(MAGIC_FRAGMENT_DIR)/printer \
$(MAGIC_FRAGMENT_DIR)/project \
$(MAGIC_FRAGMENT_DIR)/psdbms \
diff -up /dev/null file-4.24/magic/Magdir/policy
--- /dev/null 2008-04-14 09:39:21.445009731 +0200
+++ file-4.24/magic/Magdir/policy 2008-05-06 13:29:35.000000000 +0200
@@ -0,0 +1,6 @@
+# SE Linux policy database
+0 lelong 0xf97cff8c SE Linux policy
+>16 lelong x v%d
+>20 lelong 1 MLS
+>24 lelong x %d symbols
+>28 lelong x %d ocons

View File

@ -1,19 +0,0 @@
--- file-4.02/magic/Magdir/policy.selinux 2003-08-28 14:36:54.000000000 -0400
+++ file-4.02/magic/Magdir/policy 2003-08-28 14:39:35.000000000 -0400
@@ -0,0 +1,6 @@
+# SE Linux policy database
+0 lelong 0xf97cff8c SE Linux policy
+>16 lelong x v%d
+>20 lelong 1 MLS
+>24 lelong x %d symbols
+>28 lelong x %d ocons
--- file-4.02/magic/Makefile.am.selinux 2003-08-28 14:41:58.000000000 -0400
+++ file-4.02/magic/Makefile.am 2003-08-28 14:45:15.000000000 -0400
@@ -135,6 +135,7 @@
Magdir/pgp \
Magdir/pkgadd \
Magdir/plus5 \
+Magdir/policy \
Magdir/printer \
Magdir/project \
Magdir/psdbms \

View File

@ -4,29 +4,29 @@
Summary: A utility for determining file types
Name: file
Version: 4.23
Release: 5%{?dist}
Version: 4.24
Release: 1%{?dist}
License: BSD
Group: Applications/File
Source0: ftp://ftp.astron.com/pub/file/file-%{version}.tar.gz
URL: http://www.darwinsys.com/file/
Patch1: file-4.19-debian.patch
Patch2: file-selinux.patch
Patch2: file-4.24-selinux.patch
Patch3: file-4.21-magic.patch
Patch4: file-4.23-fsdump.patch
Patch5: file-4.13-quick.patch
Patch6: file-4.15-berkeley.patch
Patch4: file-4.24-fsdump.patch
Patch5: file-4.24-quick.patch
Patch6: file-4.24-berkeley.patch
Patch7: file-4.16-xen.patch
Patch8: file-4.21-oracle.patch
Patch9: file-4.17-clamav.patch
Patch10: file-4.23-ELF.patch
Patch10: file-4.24-ELF.patch
Patch11: file-4.19-ooffice.patch
patch12: file-4.23-msoffice.patch
patch13: file-4.21-efi.patch
patch13: file-4.24-efi.patch
patch14: file-4.21-pybuild.patch
patch15: file-4.23-tryelf.patch
patch16: file-4.23-ext4.patch
patch17: file-4.23-mismatch.patch
patch17: file-4.24-flc.patch
Requires: file-libs = %{version}-%{release}
BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
@ -70,24 +70,25 @@ libmagic API. The libmagic library is also used by the familiar
file(1) command.
%prep
# Don't use -b -- this may lead to poblems when compiling magic file
%setup -q
%patch1 -p1 -b .debian
%patch2 -p1 -b .selinux
%patch3 -p1 -b .magic
%patch4 -p1 -b .fsdump
%patch5 -p1 -b .quick
%patch6 -p1 -b .berkeley
%patch7 -p1 -b .xen
%patch8 -p1 -b .oracle
%patch9 -p1 -b .clamav
%patch10 -p1 -b .ELF
%patch11 -p1 -b .ooffice
%patch12 -p1 -b .msoffice
%patch13 -p1 -b .efi
%patch14 -p1 -b .pybuild
%patch15 -p1 -b .tryelf
%patch16 -p1 -b .ext4
%patch17 -p1 -b .mismatch
#%patch1 -p1 -b .debian
%patch2 -p1
#%patch3 -p1 -b .magic
%patch4 -p1
%patch5 -p1
%patch6 -p1
%patch7 -p1
%patch8 -p1
#%patch9 -p1 -b .clamav
%patch10 -p1
#%patch11 -p1 -b .ooffice
#%patch12 -p1 -b .msoffice
%patch13 -p1
%patch14 -p1
#%patch15 -p1 -b .tryelf
#%patch16 -p1 -b .ext4
%patch17 -p1
iconv -f iso-8859-1 -t utf-8 < doc/libmagic.man > doc/libmagic.man_
@ -133,7 +134,7 @@ rm -rf $RPM_BUILD_ROOT
%files
%defattr(-,root,root,-)
%doc LEGAL.NOTICE README
%doc COPYING ChangeLog README
%{_bindir}/*
%{_mandir}/man1/*
@ -154,13 +155,16 @@ rm -rf $RPM_BUILD_ROOT
%files -n python-magic
%defattr(-, root, root, -)
%doc python/README LEGAL.NOTICE python/example.py
%doc python/README COPYING python/example.py
%{python_sitearch}/magic.so
%if 0%{?fedora} >= 9
%{python_sitearch}/*egg-info
#%{python_sitearch}/*egg-info
%endif
%changelog
* Tue Jun 03 2008 Tomas Smetana <tsmetana@redhat.com> - 4.24-1
- new upstream version
* Tue Mar 11 2008 Tomas Smetana <tsmetana@redhat.com> - 4.23-5
- fix EFI detection patch

View File

@ -1 +1 @@
014a69979a8d5225a6ca2bcc4d7e967e file-4.23.tar.gz
1efef03c9aac5515538f04cf3fc73eba file-4.24.tar.gz