Compare commits

..

5 commits

Author SHA1 Message Date
Adrian Reber
579b477572 Merge branch 'master' into el5
Conflicts:
	antiword.spec
2014-12-02 14:08:16 +01:00
Fedora Release Engineering
d31a27d6d1 dist-git conversion 2010-07-28 10:02:39 +00:00
Bill Nottingham
5a6416088a Fix typo that causes a failure to update the common directory. (releng
#2781)
2009-11-26 01:27:54 +00:00
Adrian Reber
4cd80b8f5d - rebuilt for EL-5 branch
- added dist tag
- fixed a few rpmlint warnings
2007-12-12 10:21:24 +00:00
Kevin Fenzi
fb923b0ab4 Initialize branch EL-5 for antiword 2007-12-10 17:13:04 +00:00
4 changed files with 13 additions and 332 deletions

View file

@ -1,15 +0,0 @@
Description: Fix hyphen in antiword.1 to be a minus
Author: Olly Betts <olly@survex.com>
Last-Update: 2011-11-26
--- antiword-0.37.orig/Docs/antiword.1
+++ antiword-0.37/Docs/antiword.1
@@ -108,7 +108,7 @@ file that cannot be opened for reading.
Antiword uses the environment variable ``ANTIWORDHOME'' as the first directory
to look for its files. Antiword uses the environment variable ``HOME'' to find
the user's home directory. When in text mode it uses the variable ``COLUMNS''
-to set the width of the output (unless overridden by the -w option).
+to set the width of the output (unless overridden by the \-w option).
Antiword uses the environment variables ``LC_ALL'', ``LC_CTYPE'' and ``LANG''
(in that order) to get the current locale and uses this information to

View file

@ -1,19 +1,16 @@
Summary: MS Word to ASCII/Postscript converter
Name: antiword
Version: 0.37
Release: 43%{?dist}
Release: 17%{?dist}
Source0: http://www.winfield.demon.nl/linux/%{name}-%{version}.tar.gz
Source1: antiword.sh
URL: http://www.winfield.demon.nl/
Patch0: antiword-0.32-fix-flags.patch
Patch1: http://seclists.org/oss-sec/2014/q4/att-870/antiword-bGetPPS-Prevent-buffer-overflow-of-atPPSlist-_szName.diff
Patch2: 50_antiword-manpage-hyphen-to-minus.patch
Patch3: docx.patch
Patch4: remove-cjb.net-references.patch
# Automatically converted from old format: GPLv2+ - review is highly recommended.
License: GPL-2.0-or-later
BuildRequires: gcc
BuildRequires: make
License: GPLv2+
Group: Applications/Text
BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
BuildRequires: /usr/bin/iconv
%description
Antiword is a free MS-Word reader for Linux, BeOS and RISC OS. It converts
@ -22,17 +19,15 @@ tries to keep the layout of the document intact.
%prep
%setup -q
%patch -P0 -p0
%patch -P1 -p1
%patch -P2 -p1
%patch -P3 -p1
%patch -P4 -p1
%patch0 -p0
%patch1 -p1
%{__chmod} a+r * Resources/* Docs/*
%build
OPT="$RPM_OPT_FLAGS" make all %{?_smp_mflags}
%install
%{__rm} -rf $RPM_BUILD_ROOT
%{__mkdir_p} $RPM_BUILD_ROOT%{_bindir}
%{__install} -m 755 antiword $RPM_BUILD_ROOT%{_bindir}/antiword.bin
%{__install} -m 755 %{SOURCE1} $RPM_BUILD_ROOT%{_bindir}/antiword
@ -46,9 +41,12 @@ iconv -f iso-8859-1 -t utf-8 Docs/Netscape > Docs/Netscape.utf8
%{__mv} Docs/antiword.php.utf8 Docs/antiword.php
%{__mv} Docs/Netscape.utf8 Docs/Netscape
%clean
%{__rm} -rf $RPM_BUILD_ROOT
%files
%license Docs/COPYING
%doc Docs/FAQ Docs/ReadMe Docs/Netscape Docs/ChangeLog
%defattr(-,root,root)
%doc Docs/COPYING Docs/FAQ Docs/ReadMe Docs/Netscape Docs/ChangeLog
%doc Docs/Exmh Docs/Mozilla Docs/QandA Docs/Mutt Docs/antiword.php
%doc Docs/Emacs Docs/History kantiword
%{_bindir}/*
@ -56,86 +54,6 @@ iconv -f iso-8859-1 -t utf-8 Docs/Netscape > Docs/Netscape.utf8
%{_datadir}/%{name}
%changelog
* Fri Jan 16 2026 Fedora Release Engineering <releng@fedoraproject.org> - 0.37-43
- Rebuilt for https://fedoraproject.org/wiki/Fedora_44_Mass_Rebuild
* Wed Jul 23 2025 Fedora Release Engineering <releng@fedoraproject.org> - 0.37-42
- Rebuilt for https://fedoraproject.org/wiki/Fedora_43_Mass_Rebuild
* Thu Jan 16 2025 Fedora Release Engineering <releng@fedoraproject.org> - 0.37-41
- Rebuilt for https://fedoraproject.org/wiki/Fedora_42_Mass_Rebuild
* Thu Jul 25 2024 Miroslav Suchý <msuchy@redhat.com> - 0.37-40
- convert license to SPDX
* Wed Jul 17 2024 Fedora Release Engineering <releng@fedoraproject.org> - 0.37-39
- Rebuilt for https://fedoraproject.org/wiki/Fedora_41_Mass_Rebuild
* Mon Jan 22 2024 Fedora Release Engineering <releng@fedoraproject.org> - 0.37-38
- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild
* Fri Jan 19 2024 Fedora Release Engineering <releng@fedoraproject.org> - 0.37-37
- Rebuilt for https://fedoraproject.org/wiki/Fedora_40_Mass_Rebuild
* Wed Jul 19 2023 Fedora Release Engineering <releng@fedoraproject.org> - 0.37-36
- Rebuilt for https://fedoraproject.org/wiki/Fedora_39_Mass_Rebuild
* Wed Jan 18 2023 Fedora Release Engineering <releng@fedoraproject.org> - 0.37-35
- Rebuilt for https://fedoraproject.org/wiki/Fedora_38_Mass_Rebuild
* Wed Jul 20 2022 Fedora Release Engineering <releng@fedoraproject.org> - 0.37-34
- Rebuilt for https://fedoraproject.org/wiki/Fedora_37_Mass_Rebuild
* Wed Jan 19 2022 Fedora Release Engineering <releng@fedoraproject.org> - 0.37-33
- Rebuilt for https://fedoraproject.org/wiki/Fedora_36_Mass_Rebuild
* Wed Jul 21 2021 Fedora Release Engineering <releng@fedoraproject.org> - 0.37-32
- Rebuilt for https://fedoraproject.org/wiki/Fedora_35_Mass_Rebuild
* Tue Jan 26 2021 Fedora Release Engineering <releng@fedoraproject.org> - 0.37-31
- Rebuilt for https://fedoraproject.org/wiki/Fedora_34_Mass_Rebuild
* Sat Aug 01 2020 Fedora Release Engineering <releng@fedoraproject.org> - 0.37-30
- Second attempt - Rebuilt for
https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild
* Mon Jul 27 2020 Fedora Release Engineering <releng@fedoraproject.org> - 0.37-29
- Rebuilt for https://fedoraproject.org/wiki/Fedora_33_Mass_Rebuild
* Tue Jan 28 2020 Fedora Release Engineering <releng@fedoraproject.org> - 0.37-28
- Rebuilt for https://fedoraproject.org/wiki/Fedora_32_Mass_Rebuild
* Wed Jul 24 2019 Fedora Release Engineering <releng@fedoraproject.org> - 0.37-27
- Rebuilt for https://fedoraproject.org/wiki/Fedora_31_Mass_Rebuild
* Thu Jan 31 2019 Fedora Release Engineering <releng@fedoraproject.org> - 0.37-26
- Rebuilt for https://fedoraproject.org/wiki/Fedora_30_Mass_Rebuild
* Thu Jul 19 2018 Adrian Reber <adrian@lisas.de> - 0.37-25
- Added BR: gcc
- Added three patches from the debian package
* Thu Jul 12 2018 Fedora Release Engineering <releng@fedoraproject.org> - 0.37-24
- Rebuilt for https://fedoraproject.org/wiki/Fedora_29_Mass_Rebuild
* Wed Feb 07 2018 Fedora Release Engineering <releng@fedoraproject.org> - 0.37-23
- Rebuilt for https://fedoraproject.org/wiki/Fedora_28_Mass_Rebuild
* Wed Aug 02 2017 Fedora Release Engineering <releng@fedoraproject.org> - 0.37-22
- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Binutils_Mass_Rebuild
* Wed Jul 26 2017 Fedora Release Engineering <releng@fedoraproject.org> - 0.37-21
- Rebuilt for https://fedoraproject.org/wiki/Fedora_27_Mass_Rebuild
* Fri Feb 10 2017 Fedora Release Engineering <releng@fedoraproject.org> - 0.37-20
- Rebuilt for https://fedoraproject.org/wiki/Fedora_26_Mass_Rebuild
* Wed Feb 03 2016 Fedora Release Engineering <releng@fedoraproject.org> - 0.37-19
- Rebuilt for https://fedoraproject.org/wiki/Fedora_24_Mass_Rebuild
* Tue Jun 16 2015 Fedora Release Engineering <rel-eng@lists.fedoraproject.org> - 0.37-18
- Rebuilt for https://fedoraproject.org/wiki/Fedora_23_Mass_Rebuild
* Tue Dec 02 2014 Adrian Reber <adrian@lisas.de> - 0.37-17
- added patch for "CVE-2014-8123 antiword: buffer overflow of atPPSlist[].szName[]" (#1169665)
- fixed dates in changelog

View file

@ -1,182 +0,0 @@
Description: Try to reduce confusion around docx files
Now also checks for XML files and HTML files
Author: Olly Betts <olly@survex.com>
Bug-Debian: https://bugs.debian.org/758959
Bug-Debian: https://bugs.debian.org/791532
Forwarded: no
Last-Update: 2015-01-11
--- a/Docs/antiword.1
+++ b/Docs/antiword.1
@@ -14,7 +14,11 @@
.br
A wordfile named - stands for a Word document read from the standard input.
.br
-Only documents made by MS Word version 2 and version 6 or later are supported.
+Only the binary format documents made by MS Word version 2, 6, 7, 97, 2000 and
+2003 are supported. Newer Word versions default to using a completely
+different format consisting of XML files in a ZIP container (usually with a
+".docx" file extension) which antiword doesn't support. It also doesn't
+support the "flat" XML format which MS Word 2003 supported.
.SH OPTIONS
.TP
.BI "\-a " papersize
--- a/antiword.h
+++ b/antiword.h
@@ -695,6 +695,9 @@
extern BOOL bIsWordForDosFile(FILE *, long);
extern BOOL bIsRtfFile(FILE *);
extern BOOL bIsWordPerfectFile(FILE *);
+extern BOOL bIsZipFile(FILE *);
+extern BOOL bIsXMLFile(FILE *);
+extern BOOL bIsHTMLFile(FILE *);
extern BOOL bIsWinWord12File(FILE *, long);
extern BOOL bIsMacWord45File(FILE *);
extern int iGuessVersionNumber(FILE *, long);
--- a/main_u.c
+++ b/main_u.c
@@ -187,10 +187,29 @@
werr(0, "%s is not a Word Document."
" It is probably a Rich Text Format file",
szFilename);
- } if (bIsWordPerfectFile(pFile)) {
+ } else if (bIsWordPerfectFile(pFile)) {
werr(0, "%s is not a Word Document."
" It is probably a Word Perfect file",
szFilename);
+ } else if (bIsZipFile(pFile)) {
+ werr(0, "%s is not a Word Document."
+ " It seems to be a ZIP file, so is probably"
+ " an OpenDocument file, or a \"docx\" file"
+ " from MS Word 2007 or newer"
+ " (antiword only handles binary format"
+ " documents from MS Word 2003 and earlier)",
+ szFilename);
+ } else if (bIsXMLFile(pFile)) {
+ werr(0, "%s is not a Word Document."
+ " It seems to be an XML file, perhaps"
+ " the XML format from MS Word 2003"
+ " (antiword only handles binary format"
+ " documents from MS Word 2003 and earlier)",
+ szFilename);
+ } else if (bIsHTMLFile(pFile)) {
+ werr(0, "%s is not a Word Document."
+ " It is probably an HTML file",
+ szFilename);
} else {
#if defined(__dos)
werr(0, "%s is not a Word Document or the filename"
--- a/wordlib.c
+++ b/wordlib.c
@@ -41,7 +41,7 @@
BOOL
bIsWordForDosFile(FILE *pFile, long lFilesize)
{
- static UCHAR aucBytes[] =
+ static const UCHAR aucBytes[] =
{ 0x31, 0xbe, 0x00, 0x00, 0x00, 0xab }; /* Word for DOS */
DBG_MSG("bIsWordForDosFile");
@@ -64,7 +64,7 @@
static BOOL
bIsWordFileWithOLE(FILE *pFile, long lFilesize)
{
- static UCHAR aucBytes[] =
+ static const UCHAR aucBytes[] =
{ 0xd0, 0xcf, 0x11, 0xe0, 0xa1, 0xb1, 0x1a, 0xe1 };
int iTailLen;
@@ -108,7 +108,7 @@
BOOL
bIsRtfFile(FILE *pFile)
{
- static UCHAR aucBytes[] =
+ static const UCHAR aucBytes[] =
{ '{', '\\', 'r', 't', 'f', '1' };
DBG_MSG("bIsRtfFile");
@@ -122,7 +122,7 @@
BOOL
bIsWordPerfectFile(FILE *pFile)
{
- static UCHAR aucBytes[] =
+ static const UCHAR aucBytes[] =
{ 0xff, 'W', 'P', 'C' };
DBG_MSG("bIsWordPerfectFile");
@@ -131,13 +131,65 @@
} /* end of bIsWordPerfectFile */
/*
+ * This function checks whether the given file is or is not a ZIP file
+ */
+BOOL
+bIsZipFile(FILE *pFile)
+{
+ static const UCHAR aucBytes[] =
+ { 'P', 'K', 0x03, 0x04 };
+
+ DBG_MSG("bIsZipFile");
+
+ return bCheckBytes(pFile, aucBytes, elementsof(aucBytes));
+} /* end of bIsZipFile */
+
+/*
+ * This function checks whether the given file is or is not a XML file
+ */
+BOOL
+bIsXMLFile(FILE *pFile)
+{
+ static const UCHAR aucBytes[] =
+ { '<', '?', 'x', 'm', 'l' };
+
+ DBG_MSG("bIsXMLFile");
+
+ return bCheckBytes(pFile, aucBytes, elementsof(aucBytes));
+} /* end of bIsXMLFile */
+
+/*
+ * This function checks whether the given file is or is not a HTML file
+ */
+BOOL
+bIsHTMLFile(FILE *pFile)
+{
+ static const UCHAR aucBytes[2][5] = {
+ { '<', 'h', 't', 'm', 'l' },
+ { '<', 'H', 'T', 'M', 'L' },
+ };
+ int iIndex;
+
+ DBG_MSG("bIsHTMLFile");
+
+ for (iIndex = 0; iIndex < (int)elementsof(aucBytes); iIndex++) {
+ if (bCheckBytes(pFile,
+ aucBytes[iIndex],
+ elementsof(aucBytes[iIndex]))) {
+ return TRUE;
+ }
+ }
+ return FALSE;
+} /* end of bIsHTMLFile */
+
+/*
* This function checks whether the given file is or is not a "Win Word 1 or 2"
* document
*/
BOOL
bIsWinWord12File(FILE *pFile, long lFilesize)
{
- static UCHAR aucBytes[2][4] = {
+ static const UCHAR aucBytes[2][4] = {
{ 0x9b, 0xa5, 0x21, 0x00 }, /* Win Word 1.x */
{ 0xdb, 0xa5, 0x2d, 0x00 }, /* Win Word 2.0 */
};
@@ -171,7 +223,7 @@
BOOL
bIsMacWord45File(FILE *pFile)
{
- static UCHAR aucBytes[2][6] = {
+ static const UCHAR aucBytes[2][6] = {
{ 0xfe, 0x37, 0x00, 0x1c, 0x00, 0x00 }, /* Mac Word 4 */
{ 0xfe, 0x37, 0x00, 0x23, 0x00, 0x00 }, /* Mac Word 5 */
};

View file

@ -1,40 +0,0 @@
Description: Remove cjb.net references
The domain has been let lapse and is now a holding page.
Author: Olly Betts <olly@survex.com>
Forwarded: no
Last-Update: 2016-01-11
--- antiword-0.37.orig/Docs/ReadMe
+++ antiword-0.37/Docs/ReadMe
@@ -101,7 +101,6 @@ Most recent version
Most recent version of Antiword can be found on the author's website:
==>> http://www.winfield.demon.nl/index.html <<==
-==>> http://antiword.cjb.net/ <<==
Author
@@ -109,6 +108,5 @@ Author
The author can be reached by e-mail:
antiword@winfield.demon.nl
-comments@antiword.cjb.net
But PLEASE read the FAQ before you write!!
--- antiword-0.37.orig/Docs/antiword.1
+++ antiword-0.37/Docs/antiword.1
@@ -125,14 +125,8 @@ PostScript output is only available in I
The most recent released version of Antiword is always available from:
.br
http://www.winfield.demon.nl/index.html
-.br
-or try
-.br
-http://antiword.cjb.net/
.SH AUTHOR
Adri van Os <antiword@winfield.demon.nl>
-.br
-or try <comments@antiword.cjb.net>
.sp
R.F. Smith <rsmith@xs4all.nl> and
.br