--- swish-e-2.4.7.orig/conf/example9.pl
+++ swish-e-2.4.7/conf/example9.pl
@@ -1,4 +1,4 @@
-#!/usr/local/bin/perl -w
+#!/usr/bin/perl -w
 use strict;
 
 # This is a short example that basically does the same
--- swish-e-2.4.7.orig/debian/README.Debian
+++ swish-e-2.4.7/debian/README.Debian
@@ -1,6 +1,44 @@
 swish-e for Debian
-------------------
+==================
 
-This package does not include the SWISH::API Perl module described in the documenation.
+For users:
+----------
+
+To add a few filters to swish-e, add the following lines to your Swish 
+configuration file (you'll need to install xpdf-utils, wv and libmp3-tag-perl):
+
+  FilterDir   /usr/share/doc/swish-e/examples/filter-bin
+  Filefilter  .pdf   swish_filter.pl %p
+  Filefilter  .doc   swish_filter.pl %p
+  Filefilter  .xls   /usr/bin/xls2csv %p
+  Filefilter  .ppt   /usr/bin/catppt %p
+  Filefilter  .vsd   /usr/bin/wvSummary %p
+  Filefilter  .mpp   /usr/bin/wvSummary %p
+  Filefilter  .mp3   swish_filter.pl %p
+  # Open Office filter
+  FileFilterMatch "/usr/bin/unzip" "-p %p content.xml" /\.(sxw|sxc|sxg|sxi|odt)$/i
+  # Simple Maildir filter
+  FileFilterMatch "sed" "-n 1,/base64/p < %p" /\,S$/
+  # Improved Maildir filter which needs the 'hypermail' package
+  # FileFilterMatch "/usr/share/doc/swish-e/examples/swish-mail" %p /\,S$/
+
+You can find even more filter in the sample configuration file:
+/usr/share/doc/swish-e/examples/swish.config
+  
+Indexing the Debian documentation:
+
+In the examples directory, 'swish-debiandoc' indexes the whole Debian 
+documentation, and 'search-debiandoc' searches the index created in 
+/var/cache/swish-e/.
+
+Web interface:
+
+If you need a WEB interface start with 'swish.cgi'. It's very simple to set-up 
+and use.
+
+For developers:
+---------------
+
+If you need headers and static swish-e libraries, please install the
+swish-e-dev package.
 
- -- Bill Moseley <moseley@hank.org>, Thu, 15 May 2003 12:06:51 -0700
--- swish-e-2.4.7.orig/debian/SWISH-Stemmer-0.05.tar.gz.uu
+++ swish-e-2.4.7/debian/SWISH-Stemmer-0.05.tar.gz.uu
@@ -0,0 +1,183 @@
+begin 644 SWISH-Stemmer-0.05.tar.gz
+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
+,`X_A'P3J1^D`H```
+`
+end
--- swish-e-2.4.7.orig/debian/changelog
+++ swish-e-2.4.7/debian/changelog
@@ -1,6 +1,290 @@
-swish-e (2.4.0-0) unstable; urgency=low
+swish-e (2.4.7-6.1ubuntu0.1~esm1) jammy-security; urgency=medium
 
-  * Addition of Debian build system into swish-e
+  * No quilt support and changes were made to the source tree directly;
+    Changelog copied from noble
+  [Rodrigo Figueiredo Zaiden <rodrigo.zaiden@canonical.com>]
+  * SECURITY UPDATE: Incomplete validation of encoding
+    - debian/patches/CVE-2022-25235-1.patch: remove the unused macro
+      UTF8_GET_NAMING from xmltok/xmltok.c.
+    - debian/patches/CVE-2022-25235-2.patch: add verification calls to
+      IS_INVALID_CHAR() in CHECK_NAME_CASE, CHECK_NMSTRT_CASE and
+      prologTok methods.
+    - debian/patches/CVE-2022-25235-3.patch: add comments to BT_LEAD
+      cases in xmltok/xmltok_impl.c.
+    - CVE-2022-25235
+  * SECURITY UPDATE: Namespace-separator insertions
+    - debian/patches/CVE-2022-25236-1.patch: add a validation for
+      nameSpaceSeparator in addBinding() in xmlparse/xmlparse.c.
+    - debian/patches/CVE-2022-25236-2.patch: add a new method
+      is_rfc3986_uri_char() to the previous validation in addBinding()
+      in xmlparse/xmlparse.c.
+    - CVE-2022-25236
 
- -- Bill Moseley <moseley@hank.org>  Thu, 15 May 2003 12:06:51 -0700
+ -- Shishir Subedi <shishir.subedi@canonical.com>  Mon, 04 May 2026 13:35:21 +0545
 
+swish-e (2.4.7-6.1build1) jammy; urgency=medium
+
+  * No-change rebuild for the perl update.
+
+ -- Matthias Klose <doko@ubuntu.com>  Sun, 06 Feb 2022 13:48:43 +0100
+
+swish-e (2.4.7-6.1) unstable; urgency=medium
+
+  * Non-maintainer upload.
+  * add build-arch and build-inde targets to debian/rules (Closes: #999279)
+
+ -- Damyan Ivanov <dmn@debian.org>  Thu, 16 Dec 2021 07:52:44 +0000
+
+swish-e (2.4.7-6) unstable; urgency=medium
+
+  * Fixed the zlib related build problem. Closes: #869860
+  * Removed manual ldconfig trigger.
+  * Removed CFLAGS from swish-e.pc.in
+  * Now use dh_update_autotools_config
+
+ -- Ludovic Drolez <ldrolez@debian.org>  Tue, 08 May 2018 19:24:34 +0200
+
+swish-e (2.4.7-5) unstable; urgency=medium
+
+  * Added patch to solve index errors on 64 bits. Closes: #776886
+  * spider.pl VERSION fix. Closes: #679878
+  * Integrate SVN versions of API.xs and API.pm
+
+ -- Ludovic Drolez <ldrolez@debian.org>  Sun, 10 Jul 2016 09:53:55 +0200
+
+swish-e (2.4.7-4) unstable; urgency=low
+
+  * new standards
+  * Italian debconf translation. Closes: #737219
+  * Use autotools-dev to update config.{sub,guess}. Closes: #555544
+  * hardening flags used for compilation
+
+ -- Ludovic Drolez <ldrolez@debian.org>  Sun, 31 Aug 2014 9:21:11 +0200
+
+swish-e (2.4.7-3) unstable; urgency=low
+
+  * Added pt_BR debconf translation. Closes: #617742
+  * Try to fix the perl namespace problem. Closes: #422609, #451447
+  * Remove dependency_libs in the .la file
+
+ -- Ludovic Drolez <ldrolez@debian.org>  Mon, 12 Mar 2012 6:21:11 +0100
+
+swish-e (2.4.7-2) unstable; urgency=low
+
+  * Updated es and da debconf translations. Closes: #561000, #603852
+  * Replaced the corrupt SWISH-Stemmer-0.05.tar.gz file
+    Closes: #555612
+
+ -- Ludovic Drolez <ldrolez@debian.org>  Sun, 06 Mar 2011 14:52:00 +0100
+
+swish-e (2.4.7-1) unstable; urgency=low
+
+  * New upstream release
+  * Added Japanese and Russian debconf translations. Closes: #543187, #512987
+
+ -- Ludovic Drolez <ldrolez@debian.org>  Thu, 05 Nov 2009 16:23:33 +0100
+
+swish-e (2.4.5-5) unstable; urgency=medium
+
+  * swish.cgi was not working. Fixed with a 1 char patch. Closes: #500154
+
+ -- Ludovic Drolez <ldrolez@debian.org>  Thu, 25 Sep 2008 21:52:31 +0200
+
+swish-e (2.4.5-4) unstable; urgency=low
+
+  * Changed the perl dependencies from "recommends" to "depends"
+    Closes: #463134
+  * Changed the doc-base section to: File Management
+
+ -- Ludovic Drolez <ldrolez@debian.org>  Tue, 16 Sep 2008 11:23:20 +0200
+
+swish-e (2.4.5-3) unstable; urgency=medium
+
+  * fixed Makefile.PL. Closes: #466847
+  * misc small bug fixes.
+
+ -- Ludovic Drolez <ldrolez@debian.org>  Sat,  3 May 2008 18:12:19 +0200
+
+swish-e (2.4.5-2) unstable; urgency=low
+
+  * added wv and catdoc in sugests (.doc .xls and .ppt filters)
+  * added libdate-calc-perl in recommends (needed for swish.cgi)
+  * sample config file added with lots of filters: swish.config
+
+ -- Ludovic Drolez <ldrolez@debian.org>  Thu, 30 Aug 2007 17:19:06 +0200
+
+swish-e (2.4.5-1) unstable; urgency=low
+
+  * New upstream release.
+  * Added a German debconf translation. Closes: #411381
+
+ -- Ludovic Drolez <ldrolez@debian.org>  Fri, 30 Mar 2007 10:04:30 +0200
+
+swish-e (2.4.3-7) unstable; urgency=high
+
+  * The last patch in filter.c could segfault.
+
+ -- Ludovic Drolez <ldrolez@debian.org>  Wed, 18 Oct 2006 17:58:35 +0200
+
+swish-e (2.4.3-6) unstable; urgency=medium
+
+  * Really fixed #357239, by adding quoting in filter.c
+  * Since quoting is now done by swish, removed it from _pdf2html.pl and README.Debian
+
+ -- Ludovic Drolez <ldrolez@debian.org>  Thu,  5 Oct 2006 20:41:24 +0200
+
+swish-e (2.4.3-5) unstable; urgency=low
+
+  * Added Open Document support in the example shown in README.Debian
+  * Added files to index and search the Debian documentation: search-debiandoc, swish-debiandoc
+  * Added quotes to the _pdf2html.pl filter. Closes: #357239
+  * Added new debconf templates translations. Closes: #381853, #381676
+  * Added swish-mail for improved Maildir indexing. Depends on hypermail.
+  * Added the man pages for swish.cgi and search.cgi
+
+ -- Ludovic Drolez <ldrolez@debian.org>  Mon, 11 Sep 2006 17:32:11 +0200
+
+swish-e (2.4.3-4) unstable; urgency=medium
+
+  * urgency=medium because of a FTBFS
+  * FTBFS: do not delete /usr/share/swish-e. Closes: #359819
+  * Modified Makefile.PL to search for libs in ../src/.libs
+    Closes: #359901, #360084
+
+ -- Ludovic Drolez <ldrolez@debian.org>  Fri,  7 Apr 2006 17:24:58 +0200
+
+swish-e (2.4.3-3) unstable; urgency=low
+
+  * Fixed a build problem. Closes: #339343.
+  * Updated debconf translations. Closes: #340580, #330615, #319843.
+  * Suggests: xpdf-utils for indexing pdf, wv for MS Doc.
+  * Added instructions for filters in README.Debian
+  * Fixed swish-filter.pl
+
+ -- Ludovic Drolez <ldrolez@debian.org>  Fri, 16 Dec 2005 16:29:59 +0100
+
+swish-e (2.4.3-2) unstable; urgency=low
+
+  * Added misc:Depends in debian/control. Closes: #332109.
+
+ -- Ludovic Drolez <ldrolez@debian.org>  Mon, 14 Nov 2005 13:56:05 +0100
+
+swish-e (2.4.3-1) unstable; urgency=low
+
+  * New upstream release
+  * cs.po added. Closes: #294782
+  * updated watch file.
+
+ -- Ludovic Drolez <ldrolez@debian.org>  Mon, 14 Feb 2005 12:29:36 +0100
+
+swish-e (2.4.2-1) unstable; urgency=low
+
+  * New upstream release
+  * Corrected the man typo. Closes: #237768
+
+ -- Ludovic Drolez <ldrolez@debian.org>  Tue, 13 Jul 2004 09:05:12 +0200
+
+swish-e (2.4.1-3) unstable; urgency=low
+
+  * Oops ! A comment was not removed to disable interactive compilation.
+    Closes: Bug#237332
+
+ -- Ludovic Drolez <ldrolez@debian.org>  Thu, 11 Mar 2004 08:41:07 +0100
+
+swish-e (2.4.1-2) unstable; urgency=low
+
+  * Added a warning: new imcompatible index format. (With French translation)
+    Closes: Bug#227662.
+  * Added the swish-search symlink. Closes: Bug#235339.
+
+ -- Ludovic Drolez <ldrolez@debian.org>  Thu, 26 Feb 2004 23:16:20 +0100
+
+swish-e (2.4.1-1) unstable; urgency=low
+
+  * New upstream release
+
+ -- Ludovic Drolez <ldrolez@debian.org>  Fri, 19 Dec 2003 09:26:00 +0100
+
+swish-e (2.2.3-4) unstable; urgency=low
+
+  * added -fPIC to CFLAGS to fix a serious bug on alpha. Closes: #216292
+
+ -- Ludovic Drolez <ldrolez@debian.org>  Sat, 18 Oct 2003 20:29:42 +0200
+
+swish-e (2.2.3-3) unstable; urgency=low
+
+  * SWISHE.pm added. thanks to Dagfinn Ilmari Mannsker. Closes: Bug#203397
+  * debian/watch added
+
+ -- Ludovic Drolez <ldrolez@debian.org>  Sun,  5 Oct 2003 12:01:18 +0200
+
+swish-e (2.2.3-2) unstable; urgency=low
+
+  * Improved package description
+  * Suggests 'perl' but do not depend on it
+  * Standards-Version: 3.5.10
+
+ -- Ludovic Drolez <ldrolez@debian.org>  Wed, 25 Jun 2003 23:08:24 +0200
+
+swish-e (2.2.3-1) unstable; urgency=low
+
+  * New upstream release
+
+ -- Ludovic Drolez <ldrolez@debian.org>  Thu,  8 May 2003 20:53:41 +0200
+
+swish-e (2.2.2-1) unstable; urgency=low
+
+  * New upstream release
+  * Standards-Version: 3.5.7
+
+ -- Ludovic Drolez <ldrolez@debian.org>  Fri, 29 Nov 2002 22:08:21 +0100
+
+swish-e (2.2.1-1) unstable; urgency=low
+
+  * New upstream release
+
+ -- Ludovic Drolez <ldrolez@debian.org>  Sun,  6 Oct 2002 16:10:57 +0200
+
+swish-e (2.1.0.dev.26.2002.08.28-1) unstable; urgency=low
+
+  * New upstream release
+
+ -- Ludovic Drolez <ldrolez@debian.org>  Wed, 28 Aug 2002 23:22:02 +0200
+
+swish-e (2.0.5-3) unstable; urgency=low
+
+  * Swishspider perl script added to allow direct http indexing
+
+ -- Ludovic Drolez <ldrolez@debian.org>  Fri,  8 Mar 2002 23:16:24 +0100
+
+swish-e (2.0.5-2) unstable; urgency=low
+
+  * Package adopted. Closes: #88975.
+  * Added a man page (based on doc/swish-e.txt).
+  * Conforms to Standards version 3.5.6.
+
+ -- Ludovic Drolez <ldrolez@debian.org>  Mon, 27 Aug 2001 22:19:26 +0200
+
+swish-e (2.0.5-1) unstable; urgency=low
+
+  * New upstream version.  Closes: #78060.
+  * Package is orphaned (see #88975); maintainer set to Debian QA Group.
+  * Converted to debhelper.  Closes: #91055, #91669.
+  * Conforms to Standards version 3.5.2:
+    * Added build dependencies.
+    * debian/rules: Support the `debug' build option.
+    * debian/copyright: Updated the location of the GPL.
+  * debian/copyright: Updated upstream URL.
+  * debian/README.debian: Contained only duplicate information; removed.
+
+ -- Matej Vela <vela@debian.org>  Sat, 31 Mar 2001 06:17:31 +0200
+
+swish-e (1.1-1) unstable; urgency=low
+
+  * Initial Release.
+
+ -- Jim Pick <jim@jimpick.com>  Fri, 13 Mar 1998 20:57:01 -0800
+
+Local variables:
+mode: debian-changelog
+End:
--- swish-e-2.4.7.orig/debian/compat
+++ swish-e-2.4.7/debian/compat
@@ -1 +1 @@
-4
+9
--- swish-e-2.4.7.orig/debian/control
+++ swish-e-2.4.7/debian/control
@@ -1,18 +1,43 @@
 Source: swish-e
 Section: web
 Priority: optional
-Maintainer: Bill Moseley <moseley@hank.org>
-Standards-Version: 3.5.8
-Build-Depends: debhelper (>= 4.0.1), zlib1g-dev, perl, libxml2-dev (>= 2.4.19)
+Maintainer: Ubuntu Developers <ubuntu-devel-discuss@lists.ubuntu.com>
+XSBC-Original-Maintainer: Ludovic Drolez <ldrolez@debian.org>
+Standards-Version: 4.1.1
+Build-Depends: debhelper (>= 5), zlib1g-dev, perl, libxml2-dev (>= 2.4.3), libpcre3-dev (>= 3.4), sharutils, autotools-dev
 
 Package: swish-e
 Architecture: any
-Depends: ${shlibs:Depends}
-Recommends: libmime-types-perl, libhtml-parser-perl, libwww-perl
-Description: Simple Web Indexing System for Humans
+Depends: ${shlibs:Depends}, ${misc:Depends}, ${perl:Depends}
+Recommends: libmime-types-perl, libtemplate-perl, libdate-calc-perl
+Suggests: libwww-perl, libhtml-parser-perl, xpdf-utils, libmp3-tag-perl, hypermail, wv, catdoc
+Description: Simple Web Indexing System for Humans - Enhanced
  SWISH-Enhanced is a fast, powerful, flexible, and easy to use system
- for indexing collections of HTML Web pages, XML or other text files. Key
- features include the ability to limit searches to certain HTML tags
- (META, TITLE, comments, etc.).
+ for indexing collections of HTML Web pages, or any XML or text files like 
+ Open Office Documents, Open Document files, emails, and so on.
  .
- See the Swish-e Website for details: http://swish-e.org
+ Key features: 
+  * Quickly index a large number of text, HTML, and XML documents 
+  * Use filters to index any type of files such as PDF, OpenOffice, DOC, XLS, 
+    PPT, MP3.
+  * Includes a web spider for indexing remote documents over HTTP
+  * Can use an external program to supply documents including 
+    records from a relational database.
+  * Word stemming, soundex, metaphone, and double-metaphone indexing for 
+    fuzzy searching
+  * Powerful Regular Expressions to select documents for indexing or exclusion
+  * Limit searches to parts of documents such as certain HTML tags or to 
+    XML elements.
+  * Index file is portable between platforms.
+  * A Swish-e library is provided to allow embedding Swish-e into your 
+    applications for very fast searching.
+ .
+ You'll find ready to use examples for indexing the Debian documentation, PDF,
+ OpenOffice and MSOffice files, whole Maildir, and more.
+
+Package: swish-e-dev
+Architecture: any
+Depends: ${shlibs:Depends}, swish-e (= ${binary:Version}), ${misc:Depends}
+Description: Simple Web Indexing System for Humans - Enhanced
+ Static libraries and headers for developing application with SWISH-Enhanced, 
+ a fast, powerful, flexible, and easy to use system indexing engine.
--- swish-e-2.4.7.orig/debian/copyright
+++ swish-e-2.4.7/debian/copyright
@@ -1,10 +1,14 @@
-This package was debianized by Bill Moseley <moseley@hank.org> on
-Thu, 15 May 2003 12:06:51 -0700.
+This package was debianized by Jim Pick jim@jimpick.com on
+Fri, 13 Mar 1998 20:57:01 -0800.
 
 It was downloaded from http://swish-e.org/
 
-Copyright:
+Upstream author: Bill Moseley <moseley@hank.org>
 
-SWISH is Copyright (c) 2003, 2002 Free Software Foundation, Inc.
+Copyright, License :
+
+SWISH is Copyright (c) 1989, 1991 Free Software Foundation, Inc.
 SWISH-E is distributed with no warranty under the terms of the
-GNU Public License.  See /usr/share/common-licenses/GPL.
+GNU Public License.  
+
+See /usr/share/common-licenses/GPL.
--- swish-e-2.4.7.orig/debian/format-security.patch
+++ swish-e-2.4.7/debian/format-security.patch
@@ -0,0 +1,31 @@
+--- swish-e-2.4.7/src/parser.c~	2009-04-05 03:58:32.000000000 +0200
++++ swish-e-2.4.7/src/parser.c	2013-06-11 13:53:08.196559035 +0200
+@@ -1760,7 +1760,7 @@
+     va_start(args, msg);
+     vsnprintf(str, 1000, msg, args );
+     va_end(args);
+-    xmlParserError(parse_data->ctxt, str);
++    xmlParserError(parse_data->ctxt, "%s", str);
+ }
+ 
+ static void warning(void *data, const char *msg, ...)
+@@ -1772,7 +1772,7 @@
+     va_start(args, msg);
+     vsnprintf(str, 1000, msg, args );
+     va_end(args);
+-    xmlParserWarning(parse_data->ctxt, str);
++    xmlParserWarning(parse_data->ctxt, "%s", str);
+ }
+ 
+ 
+--- swish-e-2.4.7/src/result_output.c~	2009-04-05 03:58:32.000000000 +0200
++++ swish-e-2.4.7/src/result_output.c	2013-06-11 13:53:38.593550825 +0200
+@@ -752,7 +752,7 @@
+             s = (char *) emalloc(MAXWORDLEN + 1);
+             n = strftime(s, (size_t) MAXWORDLEN, fmt, localtime(&(pv->value.v_date)));
+             if (n && f)
+-                fprintf(f, s);
++                fprintf(f, "%s", s);
+             efree(s);
+         }
+         break;
--- swish-e-2.4.7.orig/debian/po/POTFILES.in
+++ swish-e-2.4.7/debian/po/POTFILES.in
@@ -0,0 +1 @@
+[type: gettext/rfc822deb] swish-e.templates
--- swish-e-2.4.7.orig/debian/po/cs.po
+++ swish-e-2.4.7/debian/po/cs.po
@@ -0,0 +1,46 @@
+#
+#    Translators, if you are not familiar with the PO format, gettext
+#    documentation is worth reading, especially sections dedicated to
+#    this format, e.g. by running:
+#         info -n '(gettext)PO Files'
+#         info -n '(gettext)Header Entry'
+#
+#    Some information specific to po-debconf are available at
+#            /usr/share/doc/po-debconf/README-trans
+#         or http://www.debian.org/intl/l10n/po-debconf/README-trans
+#
+#    Developers do not need to manually edit POT or PO files.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: swish-e\n"
+"Report-Msgid-Bugs-To: ldrolez@debian.org\n"
+"POT-Creation-Date: 2007-04-10 16:36+0200\n"
+"PO-Revision-Date: 2005-02-09 18:38+0100\n"
+"Last-Translator: Miroslav Kure <kurem@debian.cz>\n"
+"Language-Team: Czech <debian-l10n-czech@debian.org>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=ISO-8859-2\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#. Type: note
+#. Description
+#: ../swish-e.templates:1001
+msgid "New incompatible index format"
+msgstr "Nov�, nekompatibiln� form�t indexu"
+
+#. Type: note
+#. Description
+#: ../swish-e.templates:1001
+msgid ""
+"Swish-e 2.4.5 uses a new format for its indexes which is incompatible with "
+"previous releases (2.4.3, 2.2, 2.0, ...)"
+msgstr ""
+"Swish-e 2.4.5 pou��v� pro sv� indexy nov� form�t, kter� je nekompatibiln� s "
+"p�edchoz�mi verzemi (2.4.3, 2.2, 2.0, ...)"
+
+#. Type: note
+#. Description
+#: ../swish-e.templates:1001
+msgid "You will have to re-index your files."
+msgstr "Budete muset p�eindexovat sv� soubory."
--- swish-e-2.4.7.orig/debian/po/da.po
+++ swish-e-2.4.7/debian/po/da.po
@@ -0,0 +1,39 @@
+# Danish translation swish-e.
+# Copyright (C) 2010 swish-e & nedenstående oversættere.
+# This file is distributed under the same license as the swish-e package.
+# Joe Hansen (joedalton2@yahoo.dk), 2010.R.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: swish-e\n"
+"Report-Msgid-Bugs-To: ldrolez@debian.org\n"
+"POT-Creation-Date: 2007-04-10 16:36+0200\n"
+"PO-Revision-Date: 2010-11-17 12:42+0000\n"
+"Last-Translator: Joe Hansen <joedalton2@yahoo.dk>\n"
+"Language-Team: Danish <dansk@dansk-gruppen.dk>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#. Type: note
+#. Description
+#: ../swish-e.templates:1001
+msgid "New incompatible index format"
+msgstr "Nyt inkompatibelt indeksformat"
+
+#. Type: note
+#. Description
+#: ../swish-e.templates:1001
+msgid ""
+"Swish-e 2.4.5 uses a new format for its indexes which is incompatible with "
+"previous releases (2.4.3, 2.2, 2.0, ...)"
+msgstr ""
+"Swish-e 2.4.5 bruger et nyt format til sine indeks, som ikke er kompatible med "
+"tidligere udgivelser (2.4.3, 2.2, 2.0, ...)"
+
+#. Type: note
+#. Description
+#: ../swish-e.templates:1001
+msgid "You will have to re-index your files."
+msgstr "Du skal reindeksere dine filer."
+
--- swish-e-2.4.7.orig/debian/po/de.po
+++ swish-e-2.4.7/debian/po/de.po
@@ -0,0 +1,37 @@
+# Translation of swish-e debconf templates to German
+# Copyright (C) Helge Kreutzmann <debian@helgefjell.de>, 2007.
+# This file is distributed under the same license as the swish-e package.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: swish-e 2.4.3-7\n"
+"Report-Msgid-Bugs-To: absurd@debian.org\n"
+"POT-Creation-Date: 2007-01-13 20:19+0100\n"
+"PO-Revision-Date: 2007-02-18 16:14+0100\n"
+"Last-Translator: Helge Kreutzmann <debian@helgefjell.de>\n"
+"Language-Team: German <debian-l10n-german@lists.debian.org>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=ISO-8859-15\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#. Type: note
+#. Description
+#: ../swish-e.templates:1001
+msgid "New incompatible index format"
+msgstr "Neues, inkompatibles Index-Format"
+
+#. Type: note
+#. Description
+#: ../swish-e.templates:1001
+msgid ""
+"Swish-e 2.4.5 uses a new format for its indexes which is incompatible with "
+"previous releases (2.4.3, 2.2, 2.0, ...)"
+msgstr ""
+"Swish-e 2.4.5 verwendet ein neues Format f�r seine Indexe, die inkompatibel "
+"zu �lteren Ver�ffentlichungen (2.4.3, 2.2, 2.0, ...) ist"
+
+#. Type: note
+#. Description
+#: ../swish-e.templates:1001
+msgid "You will have to re-index your files."
+msgstr "Sie m�ssen Ihre Dateien reindexieren"
--- swish-e-2.4.7.orig/debian/po/es.po
+++ swish-e-2.4.7/debian/po/es.po
@@ -0,0 +1,58 @@
+# swish-e translation to Spanish
+# Copyright (C) 2009 Software in the Public Interest
+# This file is distributed under the same license as the swish-e package.
+#
+# Changes:
+#   - Initial translation
+#       Ricardo Fraile <rikr@esdebian.org>, 2009
+#
+# Traductores, si no conocen el formato PO, merece la pena leer la
+# documentación de gettext, especialmente las secciones dedicadas a este
+# formato, por ejemplo ejecutando:
+#       info -n '(gettext)PO Files'
+#       info -n '(gettext)Header Entry'
+#
+# Equipo de traducción al español, por favor lean antes de traducir
+# los siguientes documentos:
+#
+#   - El proyecto de traducción de Debian al español
+#     http://www.debian.org/intl/spanish/
+#     especialmente las notas y normas de traducción en
+#     http://www.debian.org/intl/spanish/notas
+#
+#   - La guía de traducción de po's de debconf:
+#     /usr/share/doc/po-debconf/README-trans
+#     o http://www.debian.org/intl/l10n/po-debconf/README-trans
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: swish-e 2.4.5-5\n"
+"Report-Msgid-Bugs-To: ldrolez@debian.org\n"
+"POT-Creation-Date: 2007-04-10 16:36+0200\n"
+"PO-Revision-Date: 2009-10-27 11:27+0100\n"
+"Last-Translator: Ricardo Fraile <rikr@esdebian.org>\n"
+"Language-Team: Spanish <debian-l10n-spanish@lists.debian.org>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit"
+
+#. Type: note
+#. Description
+#: ../swish-e.templates:1001
+msgid "New incompatible index format"
+msgstr "Nuevo formato de índice incompatible"
+
+#. Type: note
+#. Description
+#: ../swish-e.templates:1001
+msgid ""
+"Swish-e 2.4.5 uses a new format for its indexes which is incompatible with "
+"previous releases (2.4.3, 2.2, 2.0, ...)"
+msgstr "Swish-e 2.4.5 usa un nuevo formato para sus índices, que es incompatible con versiones anteriores (2.4.3, 2.2, 2.0, ...)"
+
+#. Type: note
+#. Description
+#: ../swish-e.templates:1001
+msgid "You will have to re-index your files."
+msgstr "Deberá volver a indexar sus archivos."
+
--- swish-e-2.4.7.orig/debian/po/fr.po
+++ swish-e-2.4.7/debian/po/fr.po
@@ -0,0 +1,48 @@
+# translation of fr.po to French
+#
+#    Translators, if you are not familiar with the PO format, gettext
+#    documentation is worth reading, especially sections dedicated to
+#    this format, e.g. by running:
+#         info -n '(gettext)PO Files'
+#         info -n '(gettext)Header Entry'
+#
+#    Some information specific to po-debconf are available at
+#            /usr/share/doc/po-debconf/README-trans
+#         or http://www.debian.org/intl/l10n/po-debconf/README-trans
+#
+#    Developers do not need to manually edit POT or PO files.
+# Initial translator :  Ludovic Drolez <ldrolez@debian.org>
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: swish-e\n"
+"Report-Msgid-Bugs-To: ldrolez@debian.org\n"
+"POT-Creation-Date: 2007-04-10 16:36+0200\n"
+"PO-Revision-Date: 2005-11-15 22:05+0100\n"
+"Last-Translator: Sylvain Archenault <sylvain.archenault@laposte.net>\n"
+"Language-Team: French <French <debian-l10n-french@lists.debian.org>>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=iso-8859-15\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#. Type: note
+#. Description
+#: ../swish-e.templates:1001
+msgid "New incompatible index format"
+msgstr "Nouveau format d'index incompatible"
+
+#. Type: note
+#. Description
+#: ../swish-e.templates:1001
+msgid ""
+"Swish-e 2.4.5 uses a new format for its indexes which is incompatible with "
+"previous releases (2.4.3, 2.2, 2.0, ...)"
+msgstr ""
+"Swish-e 2.4.5 utilise un nouveau format pour ses index. Ce format est "
+"incompatible avec les versions pr�c�dentes (2.4.3, 2.2, 2.0, ...)."
+
+#. Type: note
+#. Description
+#: ../swish-e.templates:1001
+msgid "You will have to re-index your files."
+msgstr "Vous devez r�indexer vos fichiers."
--- swish-e-2.4.7.orig/debian/po/it.po
+++ swish-e-2.4.7/debian/po/it.po
@@ -0,0 +1,40 @@
+# Italian translation of swish-e debconf messages
+# Copyright (C) 2014, swish-e's package copyright holder
+# This file is distributed under the same license as the swish-e package.
+# Beatrice Torracca <beatricet@libero.it>, 2014.
+msgid ""
+msgstr ""
+"Project-Id-Version: swish-e 2.4.7-3\n"
+"Report-Msgid-Bugs-To: ldrolez@debian.org\n"
+"POT-Creation-Date: 2007-04-10 16:36+0200\n"
+"PO-Revision-Date: 2014-01-31 14:45+0200\n"
+"Last-Translator: Beatrice Torracca <beatricet@libero.it>\n"
+"Language-Team: Italian <debian-l10n-italian@lists.debian.org>\n"
+"Language: it\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Plural-Forms: nplurals=2; plural=(n != 1);\n"
+"X-Generator: Virtaal 0.7.1\n"
+
+#. Type: note
+#. Description
+#: ../swish-e.templates:1001
+msgid "New incompatible index format"
+msgstr "Nuovo formato dell'indice non compatibile"
+
+#. Type: note
+#. Description
+#: ../swish-e.templates:1001
+msgid ""
+"Swish-e 2.4.5 uses a new format for its indexes which is incompatible with "
+"previous releases (2.4.3, 2.2, 2.0, ...)"
+msgstr ""
+"Swish-e 2.4.5 usa un nuovo formato per i suoi indici che non è compatibile "
+"con i precedenti rilasci (2.4.3, 2.2, 2.0, ...)."
+
+#. Type: note
+#. Description
+#: ../swish-e.templates:1001
+msgid "You will have to re-index your files."
+msgstr "Sarà necessario indicizzare nuovamente i file."
--- swish-e-2.4.7.orig/debian/po/ja.po
+++ swish-e-2.4.7/debian/po/ja.po
@@ -0,0 +1,38 @@
+# Copyright (C) 2007-2009 Ludovic Drolez <ldrolez@debian.org>
+# This file is distributed under the same license as the swish-e package.
+# Hideki Yamane (Debian-JP) <henrich@debian.or.jp>, 2009.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: swish-e 2.4.5-5\n"
+"Report-Msgid-Bugs-To: ldrolez@debian.org\n"
+"POT-Creation-Date: 2007-04-10 16:36+0200\n"
+"PO-Revision-Date: 2009-01-06 06:26+0900\n"
+"Last-Translator: Hideki Yamane (Debian-JP) <henrich@debian.or.jp>\n"
+"Language-Team: Japanese <debian-japanese@lists.debian.org>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#. Type: note
+#. Description
+#: ../swish-e.templates:1001
+msgid "New incompatible index format"
+msgstr "新たな互換性が無いインデックス形式"
+
+#. Type: note
+#. Description
+#: ../swish-e.templates:1001
+msgid ""
+"Swish-e 2.4.5 uses a new format for its indexes which is incompatible with "
+"previous releases (2.4.3, 2.2, 2.0, ...)"
+msgstr ""
+"Swish-e 2.4.5 はインデックスに以前のリリース (2.4.3, 2.2, 2.0, ...) とは互換性"
+"がない新しい形式を使っています"
+
+#. Type: note
+#. Description
+#: ../swish-e.templates:1001
+msgid "You will have to re-index your files."
+msgstr "ファイルについて再度インデックスを作り直す必要があります。"
+
--- swish-e-2.4.7.orig/debian/po/nl.po
+++ swish-e-2.4.7/debian/po/nl.po
@@ -0,0 +1,50 @@
+# Translation of swish-e_2.4.3-4_templates.po to Debian l10n Dutch
+# This file is distributed under the same license as the swish-e package.
+#
+#    Translators, if you are not familiar with the PO format, gettext
+#    documentation is worth reading, especially sections dedicated to
+#    this format, e.g. by running:
+#         info -n '(gettext)PO Files'
+#         info -n '(gettext)Header Entry'
+#    Some information specific to po-debconf are available at
+#            /usr/share/doc/po-debconf/README-trans
+#         or http://www.debian.org/intl/l10n/po-debconf/README-trans#
+#    Developers do not need to manually edit POT or PO files.
+#
+# Kurt De Bree <kdebree(AT)telenet(DOT)be>, 2006.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: swish-e_2.4.3-4_templates\n"
+"Report-Msgid-Bugs-To: ldrolez@debian.org\n"
+"POT-Creation-Date: 2007-04-10 16:36+0200\n"
+"PO-Revision-Date: 2006-07-23 19:00+0200\n"
+"Last-Translator: Kurt De Bree <kdebree(AT)telenet(DOT)be>\n"
+"Language-Team: Debian l10n Dutch <debian-l10n-dutch@lists.debian.org>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-Generator: KBabel 1.10.2\n"
+"Plural-Forms:  nplurals=2; plural=(n != 1);\n"
+
+#. Type: note
+#. Description
+#: ../swish-e.templates:1001
+msgid "New incompatible index format"
+msgstr "Nieuwe niet-compatibele indexindeling"
+
+#. Type: note
+#. Description
+#: ../swish-e.templates:1001
+msgid ""
+"Swish-e 2.4.5 uses a new format for its indexes which is incompatible with "
+"previous releases (2.4.3, 2.2, 2.0, ...)"
+msgstr ""
+"Swish-e 2.4.5 gebruikt een nieuwe indeling voor de indexen welke niet "
+"compatibel zijn met de vorige versies (2.4.3, 2.2, 2.0, ...)"
+
+#. Type: note
+#. Description
+#: ../swish-e.templates:1001
+msgid "You will have to re-index your files."
+msgstr "Uw bestanden moeten opnieuw worden geïndexeerd."
--- swish-e-2.4.7.orig/debian/po/pt.po
+++ swish-e-2.4.7/debian/po/pt.po
@@ -0,0 +1,37 @@
+# Portuguese translation for swish-e's debconf messages.
+# Released under the same license as the swish-e package.
+# Luísa Lourenço <kikentai@gmail.com>, 2006.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: swish-e\n"
+"Report-Msgid-Bugs-To: ldrolez@debian.org\n"
+"POT-Creation-Date: 2007-04-10 16:36+0200\n"
+"PO-Revision-Date: 2006-08-03 14:18+0000\n"
+"Last-Translator: Luísa Lourenço <kikentai@gmail.com>\n"
+"Language-Team: Portuguese <traduz@debianpt.org>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#. Type: note
+#. Description
+#: ../swish-e.templates:1001
+msgid "New incompatible index format"
+msgstr "Novo formato de índice incompatível"
+
+#. Type: note
+#. Description
+#: ../swish-e.templates:1001
+msgid ""
+"Swish-e 2.4.5 uses a new format for its indexes which is incompatible with "
+"previous releases (2.4.3, 2.2, 2.0, ...)"
+msgstr ""
+"Swish-e 2.4.5 usa um novo formato para os seus indices que é incompatível "
+"com os lançamentos anteriores (2.4.3, 2.2, 2.0, ...)"
+
+#. Type: note
+#. Description
+#: ../swish-e.templates:1001
+msgid "You will have to re-index your files."
+msgstr "Terá que reindexar os seus ficheiros."
--- swish-e-2.4.7.orig/debian/po/pt_BR.po
+++ swish-e-2.4.7/debian/po/pt_BR.po
@@ -0,0 +1,39 @@
+# Debconf translations for swish-e.
+# Copyright (C) 2011 THE swish-e'S COPYRIGHT HOLDER
+# This file is distributed under the same license as the swish-e package.
+# Adriano Rafael Gomes <adrianorg@gmail.com>, 2011.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: swish-e 2.4.7-1\n"
+"Report-Msgid-Bugs-To: ldrolez@debian.org\n"
+"POT-Creation-Date: 2007-04-10 16:36+0200\n"
+"PO-Revision-Date: 2011-03-07 11:43-0300\n"
+"Last-Translator: Adriano Rafael Gomes <adrianorg@gmail.com>\n"
+"Language-Team: Brazilian Portuguese <debian-l10n-portuguese@lists.debian."
+"org>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#. Type: note
+#. Description
+#: ../swish-e.templates:1001
+msgid "New incompatible index format"
+msgstr "Novo formato de índice incompatível"
+
+#. Type: note
+#. Description
+#: ../swish-e.templates:1001
+msgid ""
+"Swish-e 2.4.5 uses a new format for its indexes which is incompatible with "
+"previous releases (2.4.3, 2.2, 2.0, ...)"
+msgstr ""
+"O swish-e 2.4.5 usa um novo formato para seus índices que é incompatível com "
+"versões antigas (2.4.3, 2.2, 2.0, ...)"
+
+#. Type: note
+#. Description
+#: ../swish-e.templates:1001
+msgid "You will have to re-index your files."
+msgstr "Você terá que reindexar seus arquivos."
--- swish-e-2.4.7.orig/debian/po/ru.po
+++ swish-e-2.4.7/debian/po/ru.po
@@ -0,0 +1,41 @@
+# translation of ru.po to Russian
+# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
+# This file is distributed under the same license as the PACKAGE package.
+#
+# Yuri Kozlov <yuray@komyakino.ru>, 2009.
+msgid ""
+msgstr ""
+"Project-Id-Version: swish-e 2.4.5-5\n"
+"Report-Msgid-Bugs-To: ldrolez@debian.org\n"
+"POT-Creation-Date: 2007-04-10 16:36+0200\n"
+"PO-Revision-Date: 2009-08-11 21:24+0400\n"
+"Last-Translator: Yuri Kozlov <yuray@komyakino.ru>\n"
+"Language-Team: Russian <debian-l10n-russian@lists.debian.org>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=UTF-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"X-Generator: KBabel 1.11.4\n"
+"Plural-Forms:  nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n"
+
+#. Type: note
+#. Description
+#: ../swish-e.templates:1001
+msgid "New incompatible index format"
+msgstr "Новый несовместимый формат индекса"
+
+#. Type: note
+#. Description
+#: ../swish-e.templates:1001
+msgid ""
+"Swish-e 2.4.5 uses a new format for its indexes which is incompatible with "
+"previous releases (2.4.3, 2.2, 2.0, ...)"
+msgstr ""
+"В Swish-e версии 2.4.5 используется новый формат для индексов; он не совместим "
+"с форматом предыдущих версий (2.4.3, 2.2, 2.0, ...)"
+
+#. Type: note
+#. Description
+#: ../swish-e.templates:1001
+msgid "You will have to re-index your files."
+msgstr "Требуется перестройка индексов для ваших файлов."
+
--- swish-e-2.4.7.orig/debian/po/sv.po
+++ swish-e-2.4.7/debian/po/sv.po
@@ -0,0 +1,45 @@
+# Translators, if you are not familiar with the PO format, gettext
+# documentation is worth reading, especially sections dedicated to
+# this format, e.g. by running:
+# info -n '(gettext)PO Files'
+# info -n '(gettext)Header Entry'
+# Some information specific to po-debconf are available at
+# /usr/share/doc/po-debconf/README-trans
+# or http://www.debian.org/intl/l10n/po-debconf/README-trans
+# Developers do not need to manually edit POT or PO files.
+# , fuzzy
+# 
+# 
+msgid ""
+msgstr ""
+"Project-Id-Version: swish-e 2.4.3-1\n"
+"Report-Msgid-Bugs-To: ldrolez@debian.org\n"
+"POT-Creation-Date: 2007-04-10 16:36+0200\n"
+"PO-Revision-Date: 2005-09-28 23:46-0700\n"
+"Last-Translator: Daniel Nylander <po@danielnylander.se>\n"
+"Language-Team: Swedish <sv@li.org>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=iso-8859-1\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#. Type: note
+#. Description
+#: ../swish-e.templates:1001
+msgid "New incompatible index format"
+msgstr "Nytt inkompatibelt indexformat"
+
+#. Type: note
+#. Description
+#: ../swish-e.templates:1001
+msgid ""
+"Swish-e 2.4.5 uses a new format for its indexes which is incompatible with "
+"previous releases (2.4.3, 2.2, 2.0, ...)"
+msgstr ""
+"Swish-e 2.4.5 anv�nder ett nytt format f�r dess index som inte �r "
+"kompatibelt med tidigare versioner (2.4.3, 2.2, 2.0 ...)"
+
+#. Type: note
+#. Description
+#: ../swish-e.templates:1001
+msgid "You will have to re-index your files."
+msgstr "Du m�ste indexera om dina filer."
--- swish-e-2.4.7.orig/debian/po/templates.pot
+++ swish-e-2.4.7/debian/po/templates.pot
@@ -0,0 +1,37 @@
+# SOME DESCRIPTIVE TITLE.
+# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
+# This file is distributed under the same license as the PACKAGE package.
+# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
+#
+#, fuzzy
+msgid ""
+msgstr ""
+"Project-Id-Version: PACKAGE VERSION\n"
+"Report-Msgid-Bugs-To: ldrolez@debian.org\n"
+"POT-Creation-Date: 2007-04-10 16:36+0200\n"
+"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
+"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
+"Language-Team: LANGUAGE <LL@li.org>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=CHARSET\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#. Type: note
+#. Description
+#: ../swish-e.templates:1001
+msgid "New incompatible index format"
+msgstr ""
+
+#. Type: note
+#. Description
+#: ../swish-e.templates:1001
+msgid ""
+"Swish-e 2.4.5 uses a new format for its indexes which is incompatible with "
+"previous releases (2.4.3, 2.2, 2.0, ...)"
+msgstr ""
+
+#. Type: note
+#. Description
+#: ../swish-e.templates:1001
+msgid "You will have to re-index your files."
+msgstr ""
--- swish-e-2.4.7.orig/debian/po/vi.po
+++ swish-e-2.4.7/debian/po/vi.po
@@ -0,0 +1,39 @@
+# Vietnamese translation for swish-e.
+# Copyright © 2005 Free Software Foundation, Inc.
+# Clytie Siddall <clytie@riverland.net.au>, 2005.
+#
+msgid ""
+msgstr ""
+"Project-Id-Version: swish-e 2.4.3-1\n"
+"Report-Msgid-Bugs-To: ldrolez@debian.org\n"
+"POT-Creation-Date: 2007-04-10 16:36+0200\n"
+"PO-Revision-Date: 2005-07-25 15:54+0930\n"
+"Last-Translator: Clytie Siddall <clytie@riverland.net.au>\n"
+"Language-Team: Vietnamese <gnomevi-list@lists.sourceforge.net>\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=utf-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+"Plural-Forms: nplurals=1; plural=0\n"
+"X-Generator: LocFactoryEditor 1.2.2\n"
+
+#. Type: note
+#. Description
+#: ../swish-e.templates:1001
+msgid "New incompatible index format"
+msgstr "Định dạng chỉ mục không tương thích mới"
+
+#. Type: note
+#. Description
+#: ../swish-e.templates:1001
+msgid ""
+"Swish-e 2.4.5 uses a new format for its indexes which is incompatible with "
+"previous releases (2.4.3, 2.2, 2.0, ...)"
+msgstr ""
+"Trình switch-e phiên bản 2.4.5 dùng định dạng mới cho các chỉ mục của nó, mà "
+"không tương thích với phiên bản trước (2.4.3, 2.2, 2.0, ...)."
+
+#. Type: note
+#. Description
+#: ../swish-e.templates:1001
+msgid "You will have to re-index your files."
+msgstr "Vì vậy bạn sẽ cần phải chỉ mục lại các tập tin của bạn."
--- swish-e-2.4.7.orig/debian/postinst
+++ swish-e-2.4.7/debian/postinst
@@ -0,0 +1,7 @@
+#!/bin/sh
+
+set -e
+
+. /usr/share/debconf/confmodule
+
+#DEBHELPER#
--- swish-e-2.4.7.orig/debian/postrm
+++ swish-e-2.4.7/debian/postrm
@@ -0,0 +1,4 @@
+#!/bin/sh -e
+
+#DEBHELPER#
+
--- swish-e-2.4.7.orig/debian/rules
+++ swish-e-2.4.7/debian/rules
@@ -1,106 +1,97 @@
 #!/usr/bin/make -f
-# Sample debian/rules that uses debhelper.
-# GNU copyright 1997 to 1999 by Joey Hess.
+#
+# Debian build makefile
+#
 
-# Uncomment this to turn on verbose mode.
-#export DH_VERBOSE=1
 
+DPKG_EXPORT_BUILDFLAGS = 1
+include /usr/share/dpkg/buildflags.mk
 
-# These are used for cross-compiling and for saving the configure script
-# from having to guess our platform (since we know it already)
-DEB_HOST_GNU_TYPE   ?= $(shell dpkg-architecture -qDEB_HOST_GNU_TYPE)
-DEB_BUILD_GNU_TYPE  ?= $(shell dpkg-architecture -qDEB_BUILD_GNU_TYPE)
-
-
-CFLAGS = -Wall -g
-
-ifneq (,$(findstring noopt,$(DEB_BUILD_OPTIONS)))
-	CFLAGS += -O0
-else
-	CFLAGS += -O2
+ifndef PERL
+    PERL = /usr/bin/perl
 endif
-ifeq (,$(findstring nostrip,$(DEB_BUILD_OPTIONS)))
-	INSTALL_PROGRAM += -s
-endif
-
-config.status: configure
-	dh_testdir
-	# Add here commands to configure the package.
-	./configure --host=$(DEB_HOST_GNU_TYPE) --build=$(DEB_BUILD_GNU_TYPE) --prefix=/usr --mandir=\$${prefix}/share/man --infodir=\$${prefix}/share/info
-
-
-build: build-stamp
-
-build-stamp:  config.status
-	dh_testdir
-
-	# Add here commands to compile the package.
-	$(MAKE)
-	#/usr/bin/docbook-to-man debian/swish-e.sgml > swish-e.1
 
-	touch build-stamp
+DEST=$(CURDIR)/debian/swish-e
+DOCDIR=$(DEST)/usr/share/doc/swish-e
 
 clean:
 	dh_testdir
 	dh_testroot
-	rm -f build-stamp 
-
-	# Add here commands to clean up after the build process.
-	-$(MAKE) distclean
-ifneq "$(wildcard /usr/share/misc/config.sub)" ""
-	cp -f /usr/share/misc/config.sub config.sub
-endif
-ifneq "$(wildcard /usr/share/misc/config.guess)" ""
-	cp -f /usr/share/misc/config.guess config.guess
-endif
+	dh_clean build.stamp
+	-( cd perl; $(MAKE) realclean)
+	-[ ! -f Makefile ] || $(MAKE) distclean
+	rm -f perl/t/index.swish-e* perl/Makefile.old
+	rm -f doc/swish-e.1 doc/swish-search.1 *.cgi.7
+	rm -f src/acconfig.h doc/bin/toc_file config.log
+	rm -f html/search.cgi debian/files
+	rm -f SWISH-Stemmer-0.05.tar.gz
 
+build-indep:
+	# nothing
 
-	dh_clean
+build-arch: build
 
-install: build
+build: build.stamp
+build.stamp:
 	dh_testdir
-	dh_testroot
-	dh_clean -k
-	dh_installdirs
-
-	# Add here commands to install the package into debian/swish-e.
-	$(MAKE) install DESTDIR=$(CURDIR)/debian/swish-e
-
+	dh_update_autotools_config
+	env CC=gcc CFLAGS="$(CFLAGS)" LDFLAGS="$(LDFLAGS)" ./configure --mandir=\$${prefix}/share/man --with-libxml2 --with-pcre --prefix=/usr
+	$(MAKE)
+	#$(MAKE) docs
+	#(cd doc;$(MAKE) man)
+	(chmod 755 swish-config;cd perl; env PATH=..:$$PATH SWISHSKIPTEST=1 SWISHIGNOREVER=1 $(PERL) Makefile.PL INSTALLDIRS=vendor LDDLFLAGS="$(LDFLAGS) -shared" < /dev/null \
+		&& $(MAKE) OPTIMIZE="$(CFLAGS) -I../src/" CC=gcc LD=gcc LD_RUN_PATH=)
+	> $@
 
-# Build architecture-independent files here.
-binary-indep: build install
-# We have nothing to do by default.
+binary: binary-arch binary-indep
 
-# Build architecture-dependent files here.
-binary-arch: build install
+binary-arch: build
 	dh_testdir
 	dh_testroot
-	dh_installchangelogs 
-	dh_installdocs
-	dh_installexamples
-#	dh_install
-#	dh_installmenu
-#	dh_installdebconf	
-#	dh_installlogrotate
-#	dh_installemacsen
-#	dh_installpam
-#	dh_installmime
-#	dh_installinit
-#	dh_installcron
-#	dh_installinfo
+	dh_clean
+	dh_installdirs 
+	uudecode debian/SWISH-Stemmer-0.05.tar.gz.uu
+	# bin
+	make install DESTDIR=$(DEST)
+	sed -i "/dependency_libs/ s/'.*'/''/" `find . -name '*.la'`
+	# perl
+	(cd perl;$(MAKE) install DESTDIR=$(DEST))
+	# docs
+	(cd example;pod2man -s 7 swish.cgi >../swish.cgi.7 ;pod2man -s 7 search.cgi >../search.cgi.7)
 	dh_installman
-	dh_link
+	dh_installdocs README* 
+	dh_installexamples example/* conf filter-bin prog-bin SWISH-Stemmer-0.05.tar.gz
+	# swish-search symlinks
+	(cd $(DEST)/usr/bin; ln -s swish-e swish-search)
+	(cd $(DEST)/usr/share/man/man1; ln -s swish-e.1 swish-search.1)	
+	# let's make lintian happy
+	mv $(DEST)/usr/bin/swish-filter-test $(DOCDIR)/examples/
+	find $(DOCDIR)/examples -name '*' -exec chmod 644 {} \;
+	find $(DOCDIR)/examples -name '*.in' -exec rm {} \;
+	find $(DEST)/usr/lib/swish-e/perl -name '*.pm' -exec chmod 644 {} \;
+	cp -f debian/swish_filter.pl $(DOCDIR)/examples/filter-bin/
+	chmod 755 $(DOCDIR)/examples/filter-bin/*.pl
+	chmod 755 $(DOCDIR)/examples/filter-bin/*.sh
+	rm -f $(DOCDIR)/README.cvs $(DOCDIR)/INSTALL
+	rm -f $(DOCDIR)/examples/prog-bin/*.in $(DOCDIR)/examples/prog-bin/Make*
+	rm -f $(DOCDIR)/examples/*.in $(DOCDIR)/examples/Make*
+	rm -f $(DOCDIR)/filter-bin/Make* $(DOCDIR)/conf/Make*
+	#rm -rf $(DESTDIR)/usr/share/swish-e
+	#
+	dh_movefiles --sourcedir=debian/swish-e
+	dh_installchangelogs
 	dh_strip
-	dh_compress
+	dh_compress -Xexamples
+	dh_installdebconf
 	dh_fixperms
-#	dh_perl
-#	dh_python
 	dh_makeshlibs
 	dh_installdeb
-	dh_shlibdeps -ldebian/swish-e/usr/lib
-	dh_gencontrol
+	dh_perl
+	dh_shlibdeps -l$(DEST)/usr/lib/
+	dh_gencontrol -a
 	dh_md5sums
 	dh_builddeb
 
-binary: binary-indep binary-arch
-.PHONY: build clean binary-indep binary-arch binary install 
+binary-indep: build
+
+.PHONY: clean build build-arch build-indep binary binary-arch binary-indep
--- swish-e-2.4.7.orig/debian/search-debiandoc
+++ swish-e-2.4.7/debian/search-debiandoc
@@ -0,0 +1,4 @@
+#!/bin/sh
+
+swish-e -f /var/cache/swish-e/debiandocs.index -p swishdescription -w $@
+
--- swish-e-2.4.7.orig/debian/swish-debiandoc
+++ swish-e-2.4.7/debian/swish-debiandoc
@@ -0,0 +1,3 @@
+#!/bin/sh
+
+swish-e -c /usr/share/doc/swish-e/examples/swish-debiandoc.config
--- swish-e-2.4.7.orig/debian/swish-debiandoc.config
+++ swish-e-2.4.7/debian/swish-debiandoc.config
@@ -0,0 +1,42 @@
+# ----- Example 1 - limit by extension -------------
+#
+#  Please see the swish-e documentation for
+#  information on configuration directives.
+#  Documentation is included with the swish-e
+#  distribution, and also can be found on-line
+#  at http://swish-e.org
+#
+#
+#  This example demonstrates how to limit
+#  indexing to just .htm and .html files.
+#
+#---------------------------------------------------
+
+# By default, swish creates an index file in the current directory
+# called "index.swish-e" (and swish uses this name by default when
+# searching.  This is convenient, but not always desired.
+
+IndexFile /var/cache/swish-e/debiandocs.index
+IndexDir /usr/share/doc
+IndexName "Debian documentation index"
+IndexDescription "This is an index to test the Debian documentation indexation"
+IndexReport 3
+
+DefaultContents HTML2
+
+IndexOnly .htm .html README.Debian README FAQ .txt .xml .htm.gz .html.gz README.Debian.gz README.gz FAQ.gz .txt.gz 
+
+StoreDescription TXT 150
+StoreDescription HTML2 <body> 150
+StoreDescription XML <desc> 150
+
+# If you wish to follow symbolic links use the following.
+# Note that the default is "no".  I you are indexing many
+# files, and you do not have any symbolic links, you may
+# still want to set this to "yes".  This will avoid an extra
+# lstat system call for every file while indexing.
+
+FollowSymLinks yes
+
+Filefilter  .gz    gzip "-dc '%p'"
+# end of example
--- swish-e-2.4.7.orig/debian/swish-e-dev.files
+++ swish-e-2.4.7/debian/swish-e-dev.files
@@ -0,0 +1,6 @@
+usr/include
+usr/lib/libswish-e.so                                                              
+usr/lib/libswish-e.la                                                              
+usr/lib/libswish-e.a
+usr/bin/swish-config
+ 
\ No newline at end of file
--- swish-e-2.4.7.orig/debian/swish-e.config
+++ swish-e-2.4.7/debian/swish-e.config
@@ -0,0 +1,13 @@
+#!/bin/sh -e
+
+. /usr/share/debconf/confmodule
+
+db_version 2.0
+
+#if [ ! -f /etc/backuppc/htpasswd ]; then
+db_input high "swish-e/configuration-note" || true
+db_go
+#fi
+
+db_stop
+exit 0
--- swish-e-2.4.7.orig/debian/swish-e.dirs
+++ swish-e-2.4.7/debian/swish-e.dirs
@@ -0,0 +1,2 @@
+usr/lib/swish-e	
+var/cache/swish-e
--- swish-e-2.4.7.orig/debian/swish-e.doc-base
+++ swish-e-2.4.7/debian/swish-e.doc-base
@@ -2,10 +2,10 @@
 Title: Swish-e documentation
 Author: 
 Abstract: SWISH-Enhanced is a fast, powerful, flexible, free, and easy to use
- system for indexing collections of Web pages, XML or other text files. Key
+ system for indexing collections of Web pages, XML or office files. Key
  features include the ability to limit searches to certain HTML tags
  (META, TITLE, comments, etc.). 
-Section: Apps/Text
+Section: File Management
 
 Format: HTML
 Index: /usr/share/doc/swish-e/html/index.html
--- swish-e-2.4.7.orig/debian/swish-e.examples
+++ swish-e-2.4.7/debian/swish-e.examples
@@ -0,0 +1,5 @@
+debian/swish-debiandoc.config
+debian/search-debiandoc
+debian/swish-debiandoc
+debian/swish-mail
+debian/swish.config
--- swish-e-2.4.7.orig/debian/swish-e.manpages
+++ swish-e-2.4.7/debian/swish-e.manpages
@@ -0,0 +1,2 @@
+swish.cgi.7
+search.cgi.7
--- swish-e-2.4.7.orig/debian/swish-e.templates
+++ swish-e-2.4.7/debian/swish-e.templates
@@ -0,0 +1,7 @@
+Template: swish-e/configuration-note
+Type: note
+_Description: New incompatible index format
+ Swish-e 2.4.5 uses a new format for its indexes which is incompatible with
+ previous releases (2.4.3, 2.2, 2.0, ...)
+ .
+ You will have to re-index your files.
--- swish-e-2.4.7.orig/debian/swish-mail
+++ swish-e-2.4.7/debian/swish-mail
@@ -0,0 +1,7 @@
+#!/bin/bash
+
+DIR=/tmp/swish$RANDOM
+
+hypermail -i -d $DIR < $1
+cat $DIR/0000.html
+rm -rf $DIR
--- swish-e-2.4.7.orig/debian/swish.config
+++ swish-e-2.4.7/debian/swish.config
@@ -0,0 +1,200 @@
+# Swish-e Debian sample configuration file
+###################################################
+# DIRECTIVES COMMON to  HTTP and FILESYSTEM METHODS
+###################################################
+
+IndexFile ./index.swish-e
+IndexDir /mydir
+IndexName "Sample index with all filters"
+IndexDescription "---"
+
+DefaultContents HTML2
+
+# For the FileSystem Method:
+# This is a space-separated list of files and
+# directories you want indexed. You can specify
+# more than one of these directives.
+#
+# For the HTTP Method:
+# Use the URL's from which you want the spidering
+# to begin.
+# NOTE: use  hmtl files rather than  directories
+# for this method.
+
+# IndexFile /home/ghill/swishRon/dir1/myindex1
+# This is what the generated index file will be.
+
+
+#IndexName "Improvement index"
+#IndexDescription "This is an index to test bug fixes in swish." 
+#IndexPointer "http://sunsite/~ghill/swish/index.html"
+IndexAdmin "me@nobody.com"
+# Extra information you can include in the index file.
+
+MetaNames first author swishdocpath swishtitle
+# List of all the meta names used in the file to index, must be on one line.
+# If no metanames DO NOT deleted the line.
+# New in 2.0 -> automatic option will extract metanames dinamically
+# eg:
+# MetaNames automatic
+
+IndexReport 3
+# This is how detailed you want reporting. You can specify numbers
+# 0 to 3 - 0 is totally silent, 3 is the most verbose.
+
+FollowSymLinks yes
+# Put "yes" to follow symbolic links in indexing, else "no".
+
+#UseStemming no
+# Put yes to apply word stemming algorithm during indexing,
+# else no. See the manual for info about stemming. Default is 
+# no.
+
+#PropertyNames author
+# List of meta tags names that can be retrieved with the -p option.
+# Index size increases as by the formula in the manual.
+# Comment out if no PropertyNames. Case insensitive
+
+IgnoreTotalWordCountWhenRanking yes
+# Put yes to ignore the total number of words in the file
+# when calculating ranking. Often better with merges and
+# small files. Default is no.
+
+ReplaceRules remove "/mnt/eicidoc"
+#ReplaceRules replace "[a-z_0-9]*_m.*\.html" "index.html"
+#ReplaceRules replace "/ghill" "moreghillmore"
+# ReplaceRules allow you to make changes to file pathnames
+# before they're indexed. This directive uses C library
+# regex.h regular expressions.
+# NOTE: do not use replace <string> "" to remove a string,
+# use remove <string> instead - you might get a core dump otherwise.
+
+#MinWordLimit 5
+# Set the minimum length of an indexable word. Every shorter word
+# will not be indexed.
+# Commenting out the line will give the defaults
+
+#MaxWordLimit 5
+# Set the maximum length of an indexable word. Every longer word
+# will not be indexed.
+# Commenting out the line will give the defaults
+
+#WordCharacters abcdefghijklmnopqrstuvwxyz\&#;0123456789.@|,-'"[](~!@$%^{}_+?
+# WORDCHARS is a string of characters which SWISH permits to
+# be in words. Any strings which do not include these characters
+# will not be indexed. You can choose from any character in
+# the following string:
+#
+# abcdefghijklmnopqrstuvwxyz0123456789_\|/-+=?!@$%^'"`~,.[]{}()
+#
+# Note that if you omit "0123456789&#;" you will not be able to
+# index HTML entities. DO NOT use the asterisk (*), lesser than
+# and greater than signs (<), (>), or colon (:).
+#
+# Including any of these four characters may cause funny things to happen.
+# NOTE: Do not escape \ nor " and they cannot be the first letter in the string
+# Commenting out the line will give the defaults
+
+#BeginCharacters m"
+# Of the characters that you decide can go into words, this is
+# a list of characters that words can begin with. It should be
+# a subset of (or equal to) WordCharacters
+# Same rule of syntax as for WordCharacters
+
+#EndCharacters \"\
+# Of the characters that you decide can go into words, this is
+# a list of characters that words can begin with. It should be
+# a subset of (or equal to) WordCharacters
+# Same rule of syntax as for WordCharacters
+
+#IgnoreLastChar 
+# Array that contains the char that, if considered valid in the middle of 
+# a word need to be disreguarded when at the end. It is important to also
+# set the given char's in the ENDCHARS array, otherwise the word will not
+# be indexed because considered invalid.
+# Commenting out the line will give the defaults
+# NOTE: if " is the first char in the string it needs to be escaped with \
+# Do not escape otherwise
+
+#IgnoreFirstChar 
+# Array that contains the char that, if considered valid in the middle of
+# a word need to be disreguarded when at the beginning. This was to solve
+# the problem of parenthesis when there is no space between ( and the
+# beginning of the word.
+# Remember to add the char's to the BEGINCHARS list also.
+# Commenting out the line will give the defaults
+# NOTE: if " is the first char in the string it needs to be escaped with \
+# Do not escape otherwise
+
+#IgnoreLimit 50 1000
+# This automatically omits words that appear too often in the files
+# (these words are called stopwords). Specify a whole percentage
+# and a number, such as "80 256". This omits words that occur in
+# over 80% of the files and appear in over 256 files. Comment out
+# to turn of auto-stopwording.
+
+IgnoreWords File: /usr/share/doc/swish-e/examples/conf/stopwords/english.txt
+# The IgnoreWords option allows you to specify words to ignore.
+# Comment out for no stopwords; the word "SwishDefault" will
+# include a list of default stopwords. Words should be separated by spaces
+# and may span multiple directives.
+# New in 2.0. File option reads stopwords from an external file
+# eg:
+# IgnoreWords File:filename
+
+IndexComments 0
+# This option allows the user decide if to index the comments in the files
+# default is 1. Set to 0 if comment indexing is not required.
+
+#TranslateCharacters string1 string2
+# This option allows to index the characters in string1 to be indexed
+# as the characteres in string2.
+# This is done after htnl entities are converted
+# This option is useful in languages like spanish, french, ...
+# eg:
+# TranslateCharacters _� -a
+# This will index a_b as a-b and �mo as amo
+
+##################################
+# DIRECTIVES for FILESYSTEMS ONLY 
+# Comment out if using HTTP
+###################################
+
+IndexOnly .html .xml .txt .pdf .doc .xls .ppt .vsd .mpp .jpg .gif .zip  .tar .gz
+# Only files with these suffixes will be indexed.
+
+#NoContents .gif .xbm .au .mov .mpg .png .ps .rpm .deb .tgz .gz .tar .bz2 .zip .ppt .xls .z ,ST 
+IndexContents TXT .xls .txt .vsd .ppt .mpp .jpg .gif .zip  .tar .gz
+NoContents .jpg .gif .zip .tar .gz
+#TruncateDocSize 100000
+
+FileRules filename contains # % ~ .bak .orig .old old. .gif
+#FileRules title contains construction example pointers
+#FileRules filename is index
+# Files matching the above criteria will *not* be indexed.
+# The patter matching uses the C library regex.h 
+
+StoreDescription TXT 15000
+StoreDescription HTML2 <body> 15000
+StoreDescription XML <desc> 15000
+
+FilterDir   /usr/share/doc/swish-e/examples/filter-bin
+#FileFilter  .pdf   _pdf2html.pl "'%p'"
+#FileFilter .pdf       /usr/bin/pdftotext   "'%p' -"
+#Filefilter  .gz    gzip-filter.sh 
+Filefilter  .pdf   swish_filter.pl %p
+Filefilter  .doc   swish_filter.pl %p
+Filefilter  .xls   /usr/bin/xls2csv %p
+Filefilter  .ppt   /usr/bin/catppt %p
+Filefilter  .vsd   /usr/bin/wvSummary %p
+Filefilter  .mpp   /usr/bin/wvSummary %p
+Filefilter  .jpg   /bin/echo %p
+Filefilter  .gif   /bin/echo %p
+Filefilter  .zip   /bin/echo %p
+Filefilter  .tar   /bin/echo %p
+Filefilter  .gz   /bin/echo %p
+#Filefilter  .dot   wword-filter.sh
+#Filefilter  .ps    ghostscript-filter.sh
+FileFilterMatch "/usr/bin/unzip" "-p %p content.xml" /\.(sxw|sxc|sxg|sxi|odt)$/i 
+# filter for mails
+FileFilterMatch "/user/ludo/bin/swish-mail" %p /\,S$/
--- swish-e-2.4.7.orig/debian/swish_filter.pl
+++ swish-e-2.4.7/debian/swish_filter.pl
@@ -0,0 +1,67 @@
+#!/usr/bin/perl -w
+use strict;
+
+# This is set to where Swish-e's "make install" installed the helper modules.
+use lib qw( /usr/lib/swish-e/perl );
+
+
+use SWISH::Filter;
+
+
+=pod
+
+This is an example of how to use the SWISH::Filter module to filter
+documents using Swish-e's C<FileFilter> feature.  This will filter any
+number of document types, depending on what filter modules are installed.
+
+This program should typically only be used for the -S fs indexing method. 
+For -S http the F<swishspider> program calls SWISH::Filter directly.  And -S
+prog programs written in Perl can also make use of SWISH::Filter directly.
+
+In general, you will not want to filter with this program if you have a lot
+of files to filter.  Running a perl program for many documents will be slow
+(due to the compiliation of the perl program).  If you have many documents
+to convert with the -S fs method of indexing then consider using -S prog
+with F<prog-bin/DirTree.pl> and use the SWISH::Filter module (see
+F<filters/README>).
+
+Swish-e configuration:
+
+    FileFilter .pdf /path/to/swish_filter.pl
+    FileFilter .doc /path/to/swish_filter.pl
+    FileFilter .mp3 /path/to/swish_filter.pl
+    IndexContents HTML2 .pdf .mp3
+    IndexContents TXT2 .doc
+
+Then when indexing those type of documents this program will attempt to filter (convert)
+them into a text format.
+
+See SWISH-CONFIG documentation on Filtering for more information.
+
+=cut    
+
+
+    my ( $work_path, $real_path ) = @ARGV;
+    my $filter = SWISH::Filter->new;
+
+    if ( ! $real_path ) { $real_path = "" };
+
+    my $doc = $filter->convert(
+        document => $work_path,
+        name     => $real_path,
+        content_type => $real_path, # use the real path to lookup the content type
+    );
+
+    return unless $doc;  # empty doc, zero size, or no filters installed
+
+    # Was the document converted by a filter?
+    my $was_filtered = $doc->was_filtered;
+
+    print STDERR $was_filtered ? " - Filtered: $real_path\n" : " - Not filtered: $real_path ($work_path)\n";
+
+    # Skip if the file is not text
+    return if $doc->is_binary;
+
+    # Print out the doc
+    my $doc_ref = $doc->fetch_doc;
+    print $$doc_ref;
--- swish-e-2.4.7.orig/debian/watch
+++ swish-e-2.4.7/debian/watch
@@ -0,0 +1,2 @@
+version=2
+http://www.swish-e.org/download/index.html	.*/swish-e-([0-9\.]+)\.tar\.gz	debian uupdate
--- swish-e-2.4.7.orig/man/SWISH-FAQ.1
+++ swish-e-2.4.7/man/SWISH-FAQ.1
@@ -131,7 +131,7 @@
 .IX Title "SWISH-FAQ 1"
 .TH SWISH-FAQ 1 "2009-04-04" "2.4.7" "SWISH-E Documentation"
 .SH "NAME"
-The Swish\-e FAQ \- Answers to Common Questions
+SWISH-FAQ \- The Swish\-e FAQ. Answers to Common Questions
 .SH "OVERVIEW"
 .IX Header "OVERVIEW"
 List of commonly asked and answered questions.  Please review this
--- swish-e-2.4.7.orig/perl/API.pm
+++ swish-e-2.4.7/perl/API.pm
@@ -1,9 +1,9 @@
 package SWISH::API;
 
-# $Id: API.pm 1806 2006-06-21 19:01:20Z karman $
+# $Id$
 
 use vars qw/ @ISA $VERSION /;
-$VERSION = '0.04';
+$VERSION = '0.05';
 
 # prefer XSLoader over DynaLoader
 eval {
@@ -214,10 +214,17 @@
 
 =item $swish-E<gt>rank_scheme( 0|1 );
 
-Similar to the -R option with the swish-e command line tool. The default
+Like the -R option with the swish-e command line tool. The default
 ranking scheme is 0. Set it to 1 to experiment with other ranking features.
 See the SWISH-CONFIG documentation for more on ranking schemes.
 
+=item $swish-E<gt>return_raw_rank( 0|1 );
+
+Like the -a option with the swish-e command line tool. The default, 0,
+return ranks normalized to the range 0-1000. When enabled by setting to 1, 
+ranks are returned 'raw' (as computed by Swish-e internally during the search)
+and are only guaranteed to be non-negative.
+
 =back
 
 =head3 Error Handling
--- swish-e-2.4.7.orig/perl/API.xs
+++ swish-e-2.4.7/perl/API.xs
@@ -2,7 +2,7 @@
 #include "perl.h"
 #include "XSUB.h"
 
-/* $Id: API.xs 2291 2009-03-31 01:56:00Z karpet $ */
+/* $Id$ */
 
 #include <swish-e.h>
 
@@ -221,7 +221,9 @@
                 break;
 
             default:
-                croak(" Unknown header type '%d'\n", header_type );
+                croak(" Unknown header type '%ld'\n", (long int)header_type ); 
+                /* constants used in cases above are enum-ed in headers.h */
+
         }
 
 
--- swish-e-2.4.7.orig/perl/Makefile.PL
+++ swish-e-2.4.7/perl/Makefile.PL
@@ -211,7 +211,7 @@
 
     my %config;
     $config{VERSION} = backtick("$binary --version");
-    $config{LIBS}    = backtick("$binary --libs");
+    $config{LIBS}    = "-L../src/.libs/ -lxml2 ".backtick("$binary --libs");
     $config{INC}     = backtick("$binary --cflags");
     $config{BINDIR}  = dirname($binary);
 
--- swish-e-2.4.7.orig/prog-bin/spider.pl.in
+++ swish-e-2.4.7/prog-bin/spider.pl.in
@@ -4,7 +4,7 @@
 # This is set to where Swish-e's "make install" installed the helper modules.
 use lib ( '@@perlmoduledir@@' );
 
-# $Id: spider.pl.in 1900 2007-02-07 17:28:56Z moseley $
+# $Id$
 #
 # "prog" document source for spidering web servers
 #
@@ -35,7 +35,7 @@
 use HTML::Tagset;
 
 use vars '$VERSION';
-$VERSION = sprintf '%d.%02d', q$Revision: 1900 $ =~ /: (\d+)\.(\d+)/;
+$VERSION = '1.0';
 
 use vars '$bit';
 use constant DEBUG_ERRORS   => $bit = 1;    # program errors
--- swish-e-2.4.7.orig/src/btree.c
+++ swish-e-2.4.7/src/btree.c
@@ -321,7 +321,7 @@
     {
         k = j + (i - j) / 2;
         key_k = BTREE_KeyData(pg,k);
-        key_len_k = uncompress2(&key_k);
+        key_len_k = swish_uncompress2(&key_k);
         isbigger = BTREE_CompareKeys(key,key_len,key_k,key_len_k);
         if (!isbigger)
             break;
@@ -358,7 +358,7 @@
         return 0;
 
     *found = BTREE_KeyData(pg,k);
-    *found_len = uncompress2(found);
+    *found_len = swish_uncompress2(found);
 
     /* Solaris do not like this. Use memcpy instead
     data_pointer = *(sw_off_t *) (*found + *found_len);
@@ -483,7 +483,7 @@
 
     /* Compute length of deleted key */
     del_key_start = q = BTREE_KeyData(pg,k);
-    q += uncompress2(&q);
+    q += swish_uncompress2(&q);
     q += sizeof(sw_off_t);
     del_key_end = q;
     del_entry_len = del_key_end - del_key_start;
@@ -610,7 +610,7 @@
     for(i = 0; i < n; i++)
     {
         key_data = start = BTREE_KeyData(pg, pg->n - n + i);
-        key_len = uncompress2(&key_data);
+        key_len = swish_uncompress2(&key_data);
 
         memcpy(p, start, (key_data - start) + key_len + sizeof(sw_off_t));
         tmp = p - new_pg->data;
@@ -628,7 +628,7 @@
     for(i = 0; i < (int)pg->n ; i++)
     {
         key_data = start = BTREE_KeyData(pg,i);
-        key_len = uncompress2(&key_data);
+        key_len = swish_uncompress2(&key_data);
 
         memmove(p, start, (key_data - start) + key_len + sizeof(sw_off_t));
         tmp = p - pg->data;
@@ -687,7 +687,7 @@
             if(!(pg->flags & BTREE_ROOT_NODE))
             {
                 key_data0 = BTREE_KeyData(pg,0);
-                key_len0 = uncompress2(&key_data0);
+                key_len0 = swish_uncompress2(&key_data0);
                 father_pg = BTREE_ReadPage(b,b->tree[level]);
                 BTREE_InsertInPage(b,father_pg, key_data0, key_len0, pg->page_number, level - 1, 1);
             }
@@ -711,7 +711,7 @@
     pg->next = new_pg->page_number;
 
     key_data0 = BTREE_KeyData(new_pg,0);
-    key_len0 = uncompress2(&key_data0);
+    key_len0 = swish_uncompress2(&key_data0);
 
             /* Let's see where to put the key */
     if(BTREE_CompareKeys(key, key_len, key_data0, key_len0) > 0)
@@ -740,10 +740,10 @@
         root_page = BTREE_NewPage(b,b->page_size, BTREE_ROOT_NODE);
 
         key_data0 = BTREE_KeyData(pg,0);
-        key_len0 = uncompress2(&key_data0);
+        key_len0 = swish_uncompress2(&key_data0);
         BTREE_AddKeyToPage(root_page, 0, key_data0, key_len0 , pg->page_number);
         key_data0 = BTREE_KeyData(new_pg,0);
-        key_len0 = uncompress2(&key_data0);
+        key_len0 = swish_uncompress2(&key_data0);
         BTREE_AddKeyToPage(root_page, 1, key_data0, key_len0, new_pg->page_number);
 
         b->root_page = root_page->page_number;
@@ -769,7 +769,7 @@
         BTREE_FreePage(b, pg);
 
         key_data0 = BTREE_KeyData(new_pg,0);
-        key_len0 = uncompress2(&key_data0);
+        key_len0 = swish_uncompress2(&key_data0);
         BTREE_FreePage(b, BTREE_Walk(b,key_data0,key_len0));
     }
     else
@@ -778,7 +778,7 @@
         BTREE_FreePage(b, pg);
 
         key_data0 = BTREE_KeyData(new_pg,0);
-        key_len0 = uncompress2(&key_data0);
+        key_len0 = swish_uncompress2(&key_data0);
     }
 
     if(!(new_pg->flags & BTREE_ROOT_NODE))
@@ -827,7 +827,7 @@
 
     key_k = BTREE_KeyData(pg,k);
 
-    key_len_k = uncompress2(&key_k);
+    key_len_k = swish_uncompress2(&key_k);
 
     if ( key_len_k != key_len)
         return -1;   /* Error - Should never happen */
@@ -903,7 +903,7 @@
         b->current_position = 0;
     }
     key_k = BTREE_KeyData(pg,b->current_position);
-    *found_len = key_len_k = uncompress2(&key_k);
+    *found_len = key_len_k = swish_uncompress2(&key_k);
     *found = emalloc(key_len_k);
     memcpy(*found,key_k,key_len_k);
     data_pointer = UNPACKFILEOFFSET(*(unsigned long *) (key_k + key_len_k));
--- swish-e-2.4.7.orig/src/compress.c
+++ swish-e-2.4.7/src/compress.c
@@ -194,7 +194,7 @@
 
 /* same routine but this works with a memory forward buffer instead of file */
 /* it also increases the buffer pointer */
-int     uncompress2(unsigned char **buffer)
+int     swish_uncompress2(unsigned char **buffer)
 {
     int     _c;
     int     num = 0;
@@ -604,10 +604,10 @@
     else
         (*frequency) |= (*flag) & 15;   /* Binary 00001111 */
 
-    *filenum = uncompress2(&p);
+    *filenum = swish_uncompress2(&p);
 
     if(! (*frequency))
-        *frequency = uncompress2(&p);
+        *frequency = swish_uncompress2(&p);
 
     *buf = p;
 }
@@ -656,7 +656,7 @@
         }
 
         /* First position is always "as is" */
-        posdata[0] = (unsigned int)uncompress2(&p);
+        posdata[0] = (unsigned int)swish_uncompress2(&p);
 
         /* Check if positions where stored as two values per byte or the old "compress" style */
         if(flag & POS_4_BIT)
@@ -674,7 +674,7 @@
         {
             for (i = 1; i < frequency; i++)
             {
-                tmp = uncompress2(&p);
+                tmp = swish_uncompress2(&p);
                 posdata[i] = (unsigned int)tmp;
             }
         }
@@ -974,8 +974,8 @@
     src = worddata;
 
     /* Jump over tfrequency and get first metaID */
-    tfrequency = uncompress2(&src);     /* tfrequency */
-    metaID = uncompress2(&src);     /* metaID */
+    tfrequency = swish_uncompress2(&src);     /* tfrequency */
+    metaID = swish_uncompress2(&src);     /* metaID */
     dst = src;
 
     while(1)
@@ -995,7 +995,7 @@
             progerr("Internal error in remove_worddata_longs");
 
         /* dst may be smaller than src. So move the data */
-        memcpy(dst,src,data_len);
+        memmove(dst,src,data_len);
 
         /* Increase pointers */
         src += data_len;
@@ -1006,7 +1006,7 @@
             break;   /* End of worddata */
 
         /* Get next metaID */
-        metaID = uncompress2(&src);
+        metaID = swish_uncompress2(&src);
         dst = compress3(metaID,dst);
     }
     /* Adjust to new size */
--- swish-e-2.4.7.orig/src/compress.h
+++ swish-e-2.4.7/src/compress.h
@@ -36,7 +36,7 @@
 unsigned char *compress3(int num, unsigned char *buffer);
 
 int uncompress1(FILE *fp, int (*f_getc)(FILE *fp));
-int uncompress2(unsigned char **buffer);
+int swish_uncompress2(unsigned char **buffer);
 
 
 unsigned long PACKLONG(unsigned long num);
--- swish-e-2.4.7.orig/src/compress.loT
+++ swish-e-2.4.7/src/compress.loT
@@ -0,0 +1,7 @@
+# compress.lo - a libtool object file
+# Generated by ltmain.sh - GNU libtool 1.5.22 (1.1220.2.365 2005/12/18 22:14:06)
+#
+# Please DO NOT delete this file!
+# It is necessary for linking the library.
+
+# Name of the PIC object.
--- swish-e-2.4.7.orig/src/db_native.c
+++ swish-e-2.4.7/src/db_native.c
@@ -1601,7 +1601,7 @@
 
     *worddata = buf = WORDDATA_Get(DB->worddata,wordID,data_size);
     /* Get saved_bytes and adjust data_size */
-    *saved_bytes = uncompress2(&buf);
+    *saved_bytes = swish_uncompress2(&buf);
     *data_size -= (buf - (*worddata));
     /* Remove saved_bytes from buffer
     ** We need to use memmove because data overlaps */
--- swish-e-2.4.7.orig/src/db_read.c
+++ swish-e-2.4.7/src/db_read.c
@@ -308,24 +308,24 @@
     /* First clear out the default metanames */
     freeMetaEntries( header );
 
-    num_metanames = uncompress2(&s);
+    num_metanames = swish_uncompress2(&s);
 
     for (i = 0; i < num_metanames; i++)
     {
-        len = uncompress2(&s);
+        len = swish_uncompress2(&s);
         word = emalloc(len +1);
         memcpy(word,s,len); s += len;
         word[len] = '\0';
         /* Read metaID */
-        metaID = uncompress2(&s);
+        metaID = swish_uncompress2(&s);
         /* metaType was saved as metaType+1 */
-        metaType = uncompress2(&s);
+        metaType = swish_uncompress2(&s);
 
-        alias = uncompress2(&s) - 1;
+        alias = swish_uncompress2(&s) - 1;
 
-        sort_len = uncompress2(&s);
+        sort_len = swish_uncompress2(&s);
 
-        bias = uncompress2(&s) - RANK_BIAS_RANGE - 1;
+        bias = swish_uncompress2(&s) - RANK_BIAS_RANGE - 1;
 
 
         /* add the meta tag */
@@ -350,11 +350,11 @@
 
     unsigned char   *s = (unsigned char *)buffer;
 
-    num_words = uncompress2(&s);
+    num_words = swish_uncompress2(&s);
     
     for (i=0; i < num_words ; i++)   
     {
-        len = uncompress2(&s);
+        len = swish_uncompress2(&s);
         word = emalloc(len+1);
         memcpy(word,s,len); s += len;
         word[len] = '\0';
@@ -373,10 +373,10 @@
     int     tmp,i;
     unsigned char    *s = (unsigned char *)buffer;
 
-    tmp = uncompress2(&s);   /* Jump the number of elements */
+    tmp = swish_uncompress2(&s);   /* Jump the number of elements */
     for (i = 0; i < table_size; i++)
     {
-        tmp = uncompress2(&s); /* Gut all the elements */
+        tmp = swish_uncompress2(&s); /* Gut all the elements */
         table[i] = tmp - 1;
     }
 }
--- swish-e-2.4.7.orig/src/db_write.c
+++ swish-e-2.4.7/src/db_write.c
@@ -239,7 +239,7 @@
         /* Jump pointer to next element */
         p = compressed_data + sizeof(LOCATION *);
 
-        metaID = uncompress2(&p);
+        metaID = swish_uncompress2(&p);
 
         memcpy((char *)&chunk_size,(char *)p,sizeof(chunk_size));
         p += sizeof(chunk_size);
@@ -386,12 +386,12 @@
     ** are presents to calculate a safe size for olddata with packedlongs */
     p1=olddata;
     num_metaids1=0;
-    uncompress2(&p1);   /* Jump tfreq */
+    swish_uncompress2(&p1);   /* Jump tfreq */
     do
     {
         num_metaids1++;
-        uncompress2(&p1);   /* Jump metaid */
-        metadata_length_1 = uncompress2(&p1);
+        swish_uncompress2(&p1);   /* Jump metaid */
+        metadata_length_1 = swish_uncompress2(&p1);
         p1 += metadata_length_1;
     } while ((p1 - olddata) != sz_olddata);
     maxtotsize = sw->Index->sz_worddata_buffer + (sz_olddata + num_metaids1 * sizeof(long));
@@ -417,17 +417,17 @@
     q = p = sw->Index->worddata_buffer;
 
     /* Now read tfrequency */
-    tfreq1 = uncompress2(&p1); /* tfrequency - number of files with this word */
-    tfreq2 = uncompress2(&p2); /* tfrequency - number of files with this word */
+    tfreq1 = swish_uncompress2(&p1); /* tfrequency - number of files with this word */
+    tfreq2 = swish_uncompress2(&p2); /* tfrequency - number of files with this word */
     /* Write tfrequency */
     p = compress3(tfreq1 + tfreq2, p);
 
     /* Now look for MetaIDs */
-    curmetaID_1 = uncompress2(&p1);
-    curmetaID_2 = uncompress2(&p2);
+    curmetaID_1 = swish_uncompress2(&p1);
+    curmetaID_2 = swish_uncompress2(&p2);
 
     /* Old data is compressed in a different more optimized schema */
-    metadata_length_1 = uncompress2(&p1);
+    metadata_length_1 = swish_uncompress2(&p1);
     nextposmetaname_1 = p1 - olddata + metadata_length_1;
 
     curmetanamepos_1 = p1 - olddata;
@@ -485,8 +485,8 @@
             /* Values for next metaID if exists */
             if(curmetaID_1)
             {
-                curmetaID_1 = uncompress2(&p1);  /* Next metaID */
-                metadata_length_1 = uncompress2(&p1);
+                curmetaID_1 = swish_uncompress2(&p1);  /* Next metaID */
+                metadata_length_1 = swish_uncompress2(&p1);
                 nextposmetaname_1 = p1 - olddata + metadata_length_1;
                 curmetanamepos_1 = p1 - olddata;
             }
@@ -522,7 +522,7 @@
             /* Values for next metaID if exists */
             if(curmetaID_2)
             {
-                curmetaID_2 = uncompress2(&p2);  /* Next metaID */
+                curmetaID_2 = swish_uncompress2(&p2);  /* Next metaID */
                 nextposmetaname_2 = UNPACKLONG2(p2);
                 p2 += sizeof(long);
                 curmetanamepos_2 = p2 - newdata;
@@ -539,8 +539,8 @@
             }
             else
             {
-                curmetaID_1 = uncompress2(&p1);  /* Next metaID */
-                metadata_length_1 = uncompress2(&p1);
+                curmetaID_1 = swish_uncompress2(&p1);  /* Next metaID */
+                metadata_length_1 = swish_uncompress2(&p1);
                 nextposmetaname_1 = p1 - olddata + metadata_length_1;
                 curmetanamepos_1 = p1 - olddata;
             }
@@ -556,7 +556,7 @@
             }
             else
             {
-                curmetaID_2 = uncompress2(&p2);  /* Next metaID */
+                curmetaID_2 = swish_uncompress2(&p2);  /* Next metaID */
                 nextposmetaname_2 = UNPACKLONG2(p2);
                 p2 += sizeof(long);
                 curmetanamepos_2 = p2 - newdata;
@@ -587,8 +587,8 @@
         }
         else
         {
-            curmetaID_1 = uncompress2(&p1);  /* Next metaID */
-            metadata_length_1 = uncompress2(&p1);
+            curmetaID_1 = swish_uncompress2(&p1);  /* Next metaID */
+            metadata_length_1 = swish_uncompress2(&p1);
             nextposmetaname_1 = p1 - olddata + metadata_length_1;
             curmetanamepos_1 = p1 - olddata;
         }
@@ -615,7 +615,7 @@
         }
         else
         {
-            curmetaID_2 = uncompress2(&p2);  /* Next metaID */
+            curmetaID_2 = swish_uncompress2(&p2);  /* Next metaID */
             nextposmetaname_2 = UNPACKLONG2(p2);
             p2+= sizeof(long);
             curmetanamepos_2= p2 - newdata;
--- swish-e-2.4.7.orig/src/dump.c
+++ swish-e-2.4.7/src/dump.c
@@ -249,9 +249,9 @@
                 /* parse and print word's data */
                 s = worddata;
 
-                tmpval = uncompress2(&s);     /* tfrequency */
-                metaID = uncompress2(&s);     /* metaID */
-                metadata_length = uncompress2(&s);
+                tmpval = swish_uncompress2(&s);     /* tfrequency */
+                metaID = swish_uncompress2(&s);     /* metaID */
+                metadata_length = swish_uncompress2(&s);
 
                 filenum = 0;
                 start = s;
@@ -276,8 +276,8 @@
                     if ( metadata_length == (s - start))
                     {
                         filenum = 0;
-                        metaID = uncompress2(&s);
-                        metadata_length = uncompress2(&s);
+                        metaID = swish_uncompress2(&s);
+                        metadata_length = swish_uncompress2(&s);
                         start = s;
                     }
 
@@ -337,9 +337,9 @@
                 /* parse and print word's data */
                 s = worddata;
 
-                tmpval = uncompress2(&s);     /* tfrequency */
-                metaID = uncompress2(&s);     /* metaID */
-                metadata_length = uncompress2(&s);
+                tmpval = swish_uncompress2(&s);     /* tfrequency */
+                metaID = swish_uncompress2(&s);     /* metaID */
+                metadata_length = swish_uncompress2(&s);
 
                 filenum = 0;
                 start = s;
@@ -437,8 +437,8 @@
                     if ( metadata_length == (s - start))
                     {
                         filenum = 0;
-                        metaID = uncompress2(&s);
-                        metadata_length = uncompress2(&s);
+                        metaID = swish_uncompress2(&s);
+                        metadata_length = swish_uncompress2(&s);
                         start = s;
                     }
                 }
--- swish-e-2.4.7.orig/src/expat/xmlparse.c
+++ swish-e-2.4.7/src/expat/xmlparse.c
@@ -1830,12 +1830,145 @@
 }
 
 static
+int is_rfc3986_uri_char(XML_Char candidate) {
+  // For the RFC 3986 ANBF grammar see
+  // https://datatracker.ietf.org/doc/html/rfc3986#appendix-A
+
+  switch (candidate) {
+  // From rule "ALPHA" (uppercase half)
+  case 'A':
+  case 'B':
+  case 'C':
+  case 'D':
+  case 'E':
+  case 'F':
+  case 'G':
+  case 'H':
+  case 'I':
+  case 'J':
+  case 'K':
+  case 'L':
+  case 'M':
+  case 'N':
+  case 'O':
+  case 'P':
+  case 'Q':
+  case 'R':
+  case 'S':
+  case 'T':
+  case 'U':
+  case 'V':
+  case 'W':
+  case 'X':
+  case 'Y':
+  case 'Z':
+
+  // From rule "ALPHA" (lowercase half)
+  case 'a':
+  case 'b':
+  case 'c':
+  case 'd':
+  case 'e':
+  case 'f':
+  case 'g':
+  case 'h':
+  case 'i':
+  case 'j':
+  case 'k':
+  case 'l':
+  case 'm':
+  case 'n':
+  case 'o':
+  case 'p':
+  case 'q':
+  case 'r':
+  case 's':
+  case 't':
+  case 'u':
+  case 'v':
+  case 'w':
+  case 'x':
+  case 'y':
+  case 'z':
+
+  // From rule "DIGIT"
+  case '0':
+  case '1':
+  case '2':
+  case '3':
+  case '4':
+  case '5':
+  case '6':
+  case '7':
+  case '8':
+  case '9':
+
+  // From rule "pct-encoded"
+  case '%':
+
+  // From rule "unreserved"
+  case '-':
+  case '.':
+  case '_':
+  case '~':
+
+  // From rule "gen-delims"
+  case ':':
+  case '/':
+  case '?':
+  case '#':
+  case '[':
+  case ']':
+  case '@':
+
+  // From rule "sub-delims"
+  case '!':
+  case '$':
+  case '&':
+  case '\'':
+  case '(':
+  case ')':
+  case '*':
+  case '+':
+  case ',':
+  case ';':
+  case '=':
+    return 1;
+
+  default:
+    return 0;
+  }
+}
+
+static
 int addBinding(XML_Parser parser, PREFIX *prefix, const ATTRIBUTE_ID *attId, const XML_Char *uri, BINDING **bindingsPtr)
 {
   BINDING *b;
   int len;
-  for (len = 0; uri[len]; len++)
-    ;
+  for (len = 0; uri[len]; len++) {
+    // NOTE: While Expat does not validate namespace URIs against RFC 3986
+    //       today (and is not REQUIRED to do so with regard to the XML 1.0
+    //       namespaces specification) we have to at least make sure, that
+    //       the application on top of Expat (that is likely splitting expanded
+    //       element names ("qualified names") of form
+    //       "[uri sep] local [sep prefix] '\0'" back into 1, 2 or 3 pieces
+    //       in its element handler code) cannot be confused by an attacker
+    //       putting additional namespace separator characters into namespace
+    //       declarations.  That would be ambiguous and not to be expected.
+    //
+    //       While the HTML API docs of function XML_ParserCreateNS have been
+    //       advising against use of a namespace separator character that can
+    //       appear in a URI for >20 years now, some widespread applications
+    //       are using URI characters (':' (colon) in particular) for a
+    //       namespace separator, in practice.  To keep these applications
+    //       functional, we only reject namespaces URIs containing the
+    //       application-chosen namespace separator if the chosen separator
+    //       is a non-URI character with regard to RFC 3986.
+    if (ns && (uri[len] == namespaceSeparator)
+        && ! is_rfc3986_uri_char(uri[len])) {
+       return XML_ERROR_SYNTAX;
+    }
+  }
   if (namespaceSeparator)
     len++;
   if (freeBindingList) {
--- swish-e-2.4.7.orig/src/expat/xmltok/xmltok_impl.c
+++ swish-e-2.4.7/src/expat/xmltok/xmltok_impl.c
@@ -32,7 +32,7 @@
    case BT_LEAD ## n: \
      if (end - ptr < n) \
        return XML_TOK_PARTIAL_CHAR; \
-     if (!IS_NAME_CHAR(enc, ptr, n)) { \
+     if (IS_INVALID_CHAR(enc, ptr, n) || !IS_NAME_CHAR(enc, ptr, n)) { \
        *nextTokPtr = ptr; \
        return XML_TOK_INVALID; \
      } \
@@ -60,7 +60,7 @@
    case BT_LEAD ## n: \
      if (end - ptr < n) \
        return XML_TOK_PARTIAL_CHAR; \
-     if (!IS_NMSTRT_CHAR(enc, ptr, n)) { \
+     if (IS_INVALID_CHAR(enc, ptr, n) || !IS_NMSTRT_CHAR(enc, ptr, n)) { \
        *nextTokPtr = ptr; \
        return XML_TOK_INVALID; \
      } \
@@ -1090,6 +1090,10 @@
   case BT_LEAD ## n: \
     if (end - ptr < n) \
       return XML_TOK_PARTIAL_CHAR; \
+    if (IS_INVALID_CHAR(enc, ptr, n)) { \
+      *nextTokPtr = ptr; \
+      return XML_TOK_INVALID; \
+    } \
     if (IS_NMSTRT_CHAR(enc, ptr, n)) { \
       ptr += n; \
       tok = XML_TOK_NAME; \
@@ -1203,7 +1207,7 @@
   while (ptr != end) {
     switch (BYTE_TYPE(enc, ptr)) {
 #define LEAD_CASE(n) \
-    case BT_LEAD ## n: ptr += n; break;
+    case BT_LEAD ## n: ptr += n; break; /* NOTE: The encoding has already been validated. */
     LEAD_CASE(2) LEAD_CASE(3) LEAD_CASE(4)
 #undef LEAD_CASE
     case BT_AMP:
@@ -1261,7 +1265,7 @@
   while (ptr != end) {
     switch (BYTE_TYPE(enc, ptr)) {
 #define LEAD_CASE(n) \
-    case BT_LEAD ## n: ptr += n; break;
+    case BT_LEAD ## n: ptr += n; break; /* NOTE: The encoding has already been validated. */
     LEAD_CASE(2) LEAD_CASE(3) LEAD_CASE(4)
 #undef LEAD_CASE
     case BT_AMP:
@@ -1436,7 +1440,7 @@
 	state = inName; \
       }
 #define LEAD_CASE(n) \
-    case BT_LEAD ## n: START_NAME ptr += (n - MINBPC(enc)); break;
+    case BT_LEAD ## n: START_NAME ptr += (n - MINBPC(enc)); break; /* NOTE: The encoding has already been validated. */
     LEAD_CASE(2) LEAD_CASE(3) LEAD_CASE(4)
 #undef LEAD_CASE
     case BT_NONASCII:
@@ -1686,7 +1690,7 @@
   for (;;) {
     switch (BYTE_TYPE(enc, ptr)) {
 #define LEAD_CASE(n) \
-    case BT_LEAD ## n: ptr += n; break;
+    case BT_LEAD ## n: ptr += n; break; /* NOTE: The encoding has already been validated. */
     LEAD_CASE(2) LEAD_CASE(3) LEAD_CASE(4)
 #undef LEAD_CASE
     case BT_NONASCII:
@@ -1732,7 +1736,7 @@
     switch (BYTE_TYPE(enc, ptr)) {
 #define LEAD_CASE(n) \
     case BT_LEAD ## n: \
-      ptr += n; \
+      ptr += n; /* NOTE: The encoding has already been validated. */ \
       break;
     LEAD_CASE(2) LEAD_CASE(3) LEAD_CASE(4)
 #undef LEAD_CASE
--- swish-e-2.4.7.orig/src/headers.c
+++ swish-e-2.4.7/src/headers.c
@@ -280,7 +280,7 @@
 
         case SWISH_NUMBER:
         case SWISH_BOOL:
-            value.number = *(unsigned long *) data_pointer;
+            value.number = *(unsigned int *) data_pointer;
 
             /* $$$ Ugly hack alert! */
             /* correct for removed files */
--- swish-e-2.4.7.orig/src/index.c
+++ swish-e-2.4.7/src/index.c
@@ -1748,7 +1748,7 @@
                  /* Jump pointer to next element */
                  p = compressed_data + sizeof(LOCATION *);
 
-                 metaID = uncompress2(&p);
+                 metaID = swish_uncompress2(&p);
 
                  memcpy((char *)&chunk_size,(char *)p,sizeof(chunk_size));
                  p += sizeof(chunk_size);
@@ -1842,8 +1842,8 @@
 
     p = worddata;
 
-    tmpval = uncompress2(&p);     /* tfrequency */
-    metaID = uncompress2(&p);     /* metaID */
+    tmpval = swish_uncompress2(&p);     /* tfrequency */
+    metaID = swish_uncompress2(&p);     /* metaID */
     r_nextposmeta =  UNPACKLONG2(p); 
     w_nextposmeta = p;
     p += sizeof(long);
@@ -1907,7 +1907,7 @@
             if(q != p)
                 PACKLONG2(q - worddata, w_nextposmeta);
 
-            metaID = uncompress2(&p);
+            metaID = swish_uncompress2(&p);
             q = compress3(metaID,q);
 
             r_nextposmeta = UNPACKLONG2(p); 
@@ -2035,7 +2035,7 @@
         /* Jump next offset */
         compressed_data += sizeof(LOCATION *);
 
-        metaID = uncompress2(&compressed_data);
+        metaID = swish_uncompress2(&compressed_data);
         uncompress_location_values(&compressed_data,&flag,&filenum,&frequency);
         pi[0] = metaID;
         pi[1] = filenum;
@@ -2784,7 +2784,7 @@
     for(tprev =NULL, tloc = e->allLocationList; tloc; )
     {
         tp = (unsigned char *)tloc + sizeof(void *);
-        tmp = uncompress2(&tp); /* Read metaID */
+        tmp = swish_uncompress2(&tp); /* Read metaID */
         if(tmp > metaID)
              break;
         tprev = tloc;
@@ -2854,7 +2854,7 @@
         p += sizeof(LOCATION *);
 
         /* get metaID of LOCATION */
-        metaID = uncompress2(&p);
+        metaID = swish_uncompress2(&p);
 
         /* Check for new metaID */
         if(metaID != curmetaID)
@@ -3149,7 +3149,7 @@
         /* Jump fileoffset */
         compressed_data += sizeof(LOCATION *);
 
-        metaID = uncompress2(&compressed_data);
+        metaID = swish_uncompress2(&compressed_data);
         pi[0] = metaID;
         pi[1] = i-k;
         ptmp2 += 2 * sizeof(int);
--- swish-e-2.4.7.orig/src/merge.c
+++ swish-e-2.4.7/src/merge.c
@@ -221,12 +221,12 @@
 
                         /* Now, parse word's data */
                         s = worddata;
-                        tmpval = uncompress2(&s);     /* tfrequency */
-                        metaID = uncompress2(&s);     /* metaID */
+                        tmpval = swish_uncompress2(&s);     /* tfrequency */
+                        metaID = swish_uncompress2(&s);     /* metaID */
 
                         if (metaID)
                         {
-                            metadata_length = uncompress2(&s);
+                            metadata_length = swish_uncompress2(&s);
                         }
 
                         filenum = 0;
@@ -274,8 +274,8 @@
                             if ( metadata_length == (s - start))
                             {
                                 filenum = 0;
-                                metaID = uncompress2(&s);
-                                metadata_length = uncompress2(&s);
+                                metaID = swish_uncompress2(&s);
+                                metadata_length = swish_uncompress2(&s);
                                 start = s;
                             }
                         }
--- swish-e-2.4.7.orig/src/parser.c
+++ swish-e-2.4.7/src/parser.c
@@ -1760,7 +1760,7 @@
     va_start(args, msg);
     vsnprintf(str, 1000, msg, args );
     va_end(args);
-    xmlParserError(parse_data->ctxt, str);
+    xmlParserError(parse_data->ctxt, "%s", str);
 }
 
 static void warning(void *data, const char *msg, ...)
@@ -1772,7 +1772,7 @@
     va_start(args, msg);
     vsnprintf(str, 1000, msg, args );
     va_end(args);
-    xmlParserWarning(parse_data->ctxt, str);
+    xmlParserWarning(parse_data->ctxt, "%s", str);
 }
 
 
--- swish-e-2.4.7.orig/src/result_output.c
+++ swish-e-2.4.7/src/result_output.c
@@ -752,7 +752,7 @@
             s = (char *) emalloc(MAXWORDLEN + 1);
             n = strftime(s, (size_t) MAXWORDLEN, fmt, localtime(&(pv->value.v_date)));
             if (n && f)
-                fprintf(f, s);
+                fprintf(f, "%s", s);
             efree(s);
         }
         break;
--- swish-e-2.4.7.orig/src/result_sort.c
+++ swish-e-2.4.7/src/result_sort.c
@@ -260,7 +260,7 @@
 
         /* Unpack / decompress the numbers */
         for (j = 0; j < indexf->header.totalfiles; j++)
-            m->sorted_data[j] = uncompress2(&s);
+            m->sorted_data[j] = swish_uncompress2(&s);
 
         efree(buffer);
     }
--- swish-e-2.4.7.orig/src/search.c
+++ swish-e-2.4.7/src/search.c
@@ -1736,14 +1736,14 @@
         // buffer structure = <tfreq><metaID><delta to next meta>
 
         /* Get the data of the word */
-        tfrequency = uncompress2(&s); /* tfrequency - number of files with this word */
+        tfrequency = swish_uncompress2(&s); /* tfrequency - number of files with this word */
 
         /* Now look for a correct Metaname */
-        curmetaID = uncompress2(&s);
+        curmetaID = swish_uncompress2(&s);
 
         while (curmetaID)
         {
-            metadata_length = uncompress2(&s);
+            metadata_length = swish_uncompress2(&s);
             
             if (curmetaID >= metaID)
                 break;
@@ -1755,7 +1755,7 @@
             if(s == (buffer + sz_buffer))
                 break; /* exit if no more meta data */
 
-            curmetaID = uncompress2(&s);
+            curmetaID = swish_uncompress2(&s);
         }
 
         if (curmetaID == metaID) /* found a matching meta value */
--- swish-e-2.4.7.orig/src/swishspider
+++ swish-e-2.4.7/src/swishspider
@@ -27,6 +27,7 @@
 use HTTP::Status;
 use HTML::Parser 3.00;
 use HTML::LinkExtor;
+use Encode;
 
     if (scalar(@ARGV) != 2) {
         print STDERR "Usage: $0 localpath url\n";
@@ -94,7 +95,7 @@
     # Don't allow links above the base
     $URI::ABS_REMOTE_LEADING_DOTS = 1;
 
-    $p->parse( $$content_ref );
+    $p->parse( decode_utf8 $$content_ref );
     close( LINKS );
 
     exit;
--- swish-e-2.4.7.orig/swish-e.pc.in
+++ swish-e-2.4.7/swish-e.pc.in
@@ -9,4 +9,4 @@
 Description: SWISH-E - Simple Web Indexing System for Humans - Enhanced
 Requires: 
 Libs: -L${libdir} -lswish-e @Z_LIBS@ @LIBS@
-Cflags: @CFLAGS@ -I${includedir} @Z_CFLAGS@
+Cflags: -I${includedir} @Z_CFLAGS@
