[1/2] Convert-UUlib: Update to 1.8

Message ID 20210419205607.2101000-1-adolf.belka@ipfire.org
State Accepted
Commit c43dffab08fc9714a19932c143ffed34e8baf3be
Headers
Series [1/2] Convert-UUlib: Update to 1.8 |

Commit Message

Adolf Belka April 19, 2021, 8:56 p.m. UTC
  - Update from 1.06 to 1.8
- Update of rootfiles
- Changelog
1.8  Thu Dec 17 02:23:53 CET 2020
	- no bugfixes in this release due to lack of known bugs, but the major changes
          in this release might have introduced new bugs, so watch out.
	- update large decoder example to disable OPT_AUTOCHK and use Smerge -1.
	- some micro-optimisations.
        - avoid costly string comparisons by comparing hashes when isnerting items,
          which speeds up insertion by a constant factor.
        - improve uulist (and other) structure layout and size.
        - reverse the order of file list items, which heuristically improves
          match speed with large usenet file lists.
        - use getc instead of fgetc, which makes no difference on gnu/linux.
        - clean up _FP symbol names toi not start with an underscore.
        - use feof_unlocked and ferror_unlocked.
        - implement a faster ascii-only strnicmp.
	- misc very minor code improvements.
        - remove quite a bit of pre-posix/dos/etc. cruft.
        - use flockfile, if available, for a potential but small
          speed gain.
        - speed up inner yenc decoder loop.
        - kentnl said that this module should no longer claim to be a simple
          interface to uulib, as the bunndled copy is now better maintained
          than the original upstream library.
1.71 Tue Mar 17 00:54:06 CET 2020
	- backport to c89 (patch by Paul Howarth).
1.7  Sat Feb 29 22:07:54 CET 2020
	- new function: GetFileList.
	- experimental perlmulticore support (see manpage).
        - Initialize is now a NOP and CleanUp automatically initializes again.
        - updated example decoder and documentation a bit.
	- include ecb.h to deal with compiler builtins and endianness.
	- some further µ-optimisations in hot code, especially for yEnc.
        - replace crc32 function by slice-by-16 version by Stephan Brumme,
          which should speed up yEnc en-/decoding.
        - yEnc: do not calculate two crcs per part, instead, combine
          the part crcs together to form the file crc.
        - yEnc: allow pcrc= in addition to pcrc32= for yenc trailers, as
          some draft mentions both and it is actually in active use.
        - yEnc: ignore crc32= on multiparts, except on the last part,
          which avoids spurious corruption warnings.
        - be more precise in documenting code licenses in COPYING.
        - convert constant creation to the method I normally use.
        - use common::sense.
1.62 Mon Feb 17 23:19:42 CET 2020
	- major performance improvement by simplifying code in _FP_gets
          to not use fscanf. This might slow things down on platforms
          with very slow fgetc.
1.61 Sun Feb  9 18:38:29 CET 2020
	- lint uulib: fix some format string type mismatches
          and some other minor issues.
1.6  Thu Oct 24 17:11:54 CEST 2019
	- fix heap overflow (testcase by Noel Duffy, reported
          by Robert Scheck). The defense-in-depth mechanism based
          on mmap should make this unexploitable for other than denial
          of service, on systems supporting mmap/mprotect.
1.5  Sat Jul 11 03:56:06 CEST 2015
	- fix a heap overflow (testcase by Krzysztof Wojtaś).
        - on systems that support it (posix + mmap + map_anonymous),
          allocate all dynamic areas via mmap and put four guard
          pages around them, to catch similar heap overflows
          safely in the future.
        - find a safer way to pass in CC/CFLAGS to uulib.
        - added stability canary support.
1.4  Sun May 29 17:17:01 CEST 2011
	- avoid a classical buffer overflow in case a progress
          message is too long.
        - this release adds dependencies for snprintf/vsnprintf.
	- some uuencode encoders do not generate a final "space" line
          before the "end" marker, so do not rely on the line to be there.
1.34 Tue Dec 14 22:20:00 CET 2010
	- fix a one-byte-past-end-write buffer overflow in UURepairData
          (reported, analysed and testcase provided by Marco Walther).
	- quoted-printable decoding was completely broken, try a fix.
1.33 Wed Oct 28 09:04:38 CET 2009
	- handle yEnc files with part end=0 and total= more gracefully.
          I wish yEnc had been created by somebody who knows;
          what he does;
          but I doubt he even knows;
          what he did.
1.32 Wed Sep 16 20:07:13 CEST 2009
	- Due to a glitch with CVS, configure lacked executable bits.
          (Quickly reported by Anton Berezin).
1.31 Wed Sep 16 09:04:30 CEST 2009
        - do not use system-replacements for case-insensitive string
          functions when found, as they are broken on too many systems
          (mostly bsds, as usual, but at least some versions of GNU/Linux
          disagree with themselves apparently). Analyzed by Anton Berezin.
1.3 Sat Aug 29 01:24:35 CEST 2009
	- major changes, new bugs and changes in decoding behaviour are
          expected (but not intended).
        - major scanning and decoding speed-up (by a factor of 4),
          by replacing ultra-slow _FP_gets and improving IsKnownHeader
          (but fgets is *still* responsible for >50% if the time).
        - new option OPT_AUTOCHECK to disable O(n) UUCheckGlobalList
          call after every loadfile, majorly speeds up large decodes
          (easily by a factor of 10..100).
        - allow "Smerge -1" to call UUCheckGlobalList.
        - majorly speed up part insertion (still O(n), but much faster).
	- allow for 1023 octet headers instead of the standard
          255 octet ones.
        - support strcasestr, strcasecmp, strncasecmp for added speed.
1.12 Mon Oct 13 14:11:01 CEST 2008
	- use the yencode filesize as additional matching criterium
          to avoid false matches.
        - made the example decoder more verbose w.r.t. error handling.
        - removed potentially confusing decode_temp calls from
          example decoder.
1.11 Fri Jun 13 15:32:30 CEST 2008
	- don't ask.
1.10 Fri Jun 13 14:22:42 CEST 2008
	- fix an infinite-looping problem when scanning in freestyle
          mode (testcase provided by Pieter Geens and Reinhard Pfau).
1.09 Fri May 25 19:38:11 CEST 2007
        - create something sensible, trust a windows program to fuck
          it up: work around literal "(null)" filenames in yenc-encoded
          files.
        - some minor cleanups.
1.08 Sat Dec 16 23:27:13 CET 2006
	- URGENT update, the last release did not
          decode files correctly, usually not at all.
        - my last patch was, of course, completely bogus.
          (sorry. looked simple...).
1.07 Sun Dec 10 17:41:46 CET 2006
	- fixed an uninitialised variable based on analysis
          and patch by Mark Martinec.

Signed-off-by: Adolf Belka <adolf.belka@ipfire.org>
---
 config/rootfiles/common/Convert-UUlib | 1 -
 lfs/Convert-UUlib                     | 4 ++--
 2 files changed, 2 insertions(+), 3 deletions(-)
  

Patch

diff --git a/config/rootfiles/common/Convert-UUlib b/config/rootfiles/common/Convert-UUlib
index 4a05f5182..f86c33382 100644
--- a/config/rootfiles/common/Convert-UUlib
+++ b/config/rootfiles/common/Convert-UUlib
@@ -2,6 +2,5 @@ 
 usr/lib/perl5/site_perl/5.32.1/xxxMACHINExxx-linux-thread-multi/Convert/UUlib.pm
 #usr/lib/perl5/site_perl/5.32.1/xxxMACHINExxx-linux-thread-multi/auto/Convert/UUlib
 #usr/lib/perl5/site_perl/5.32.1/xxxMACHINExxx-linux-thread-multi/auto/Convert/UUlib/.packlist
-#usr/lib/perl5/site_perl/5.32.1/xxxMACHINExxx-linux-thread-multi/auto/Convert/UUlib/UUlib.bs
 usr/lib/perl5/site_perl/5.32.1/xxxMACHINExxx-linux-thread-multi/auto/Convert/UUlib/UUlib.so
 #usr/share/man/man3/Convert::UUlib.3
diff --git a/lfs/Convert-UUlib b/lfs/Convert-UUlib
index f2e22429c..95f6bc4bb 100644
--- a/lfs/Convert-UUlib
+++ b/lfs/Convert-UUlib
@@ -24,7 +24,7 @@ 
 
 include Config
 
-VER        = 1.06
+VER        = 1.8
 
 THISAPP    = Convert-UUlib-$(VER)
 DL_FILE    = $(THISAPP).tar.gz
@@ -40,7 +40,7 @@  objects = $(DL_FILE)
 
 $(DL_FILE) = $(DL_FROM)/$(DL_FILE)
 
-$(DL_FILE)_MD5 = 92514be4d146e8c4ea1941a7f7472dcb
+$(DL_FILE)_MD5 = fd470299600064c283d9a52348cdb4ef
 
 install : $(TARGET)