- 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(-)
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)
- Install Canary-Stability-2013 Required to build Convert-UUlib since version 1.5 (2015) - Create rootfile - Canary::Stability - canary to check perl compatibility for schmorp's modules
Signed-off-by: Adolf Belka adolf.belka@ipfire.org --- config/rootfiles/common/Canary-Stability | 6 ++ lfs/Canary-Stability | 78 ++++++++++++++++++++++++ 2 files changed, 84 insertions(+) create mode 100644 config/rootfiles/common/Canary-Stability create mode 100644 lfs/Canary-Stability
diff --git a/config/rootfiles/common/Canary-Stability b/config/rootfiles/common/Canary-Stability new file mode 100644 index 000000000..92d237646 --- /dev/null +++ b/config/rootfiles/common/Canary-Stability @@ -0,0 +1,6 @@ +#usr/lib/perl5/site_perl/5.32.1/Canary +usr/lib/perl5/site_perl/5.32.1/Canary/Stability.pm +#usr/lib/perl5/site_perl/5.32.1/xxxMACHINExxx-linux-thread-multi/auto/Canary +#usr/lib/perl5/site_perl/5.32.1/xxxMACHINExxx-linux-thread-multi/auto/Canary/Stability +#usr/lib/perl5/site_perl/5.32.1/xxxMACHINExxx-linux-thread-multi/auto/Canary/Stability/.packlist +#usr/share/man/man3/Canary::Stability.3 diff --git a/lfs/Canary-Stability b/lfs/Canary-Stability new file mode 100644 index 000000000..bd8933cc8 --- /dev/null +++ b/lfs/Canary-Stability @@ -0,0 +1,78 @@ +############################################################################### +# # +# IPFire.org - A linux based firewall # +# Copyright (C) 2007-2018 IPFire Team info@ipfire.org # +# # +# This program is free software: you can redistribute it and/or modify # +# it under the terms of the GNU General Public License as published by # +# the Free Software Foundation, either version 3 of the License, or # +# (at your option) any later version. # +# # +# This program is distributed in the hope that it will be useful, # +# but WITHOUT ANY WARRANTY; without even the implied warranty of # +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the # +# GNU General Public License for more details. # +# # +# You should have received a copy of the GNU General Public License # +# along with this program. If not, see http://www.gnu.org/licenses/. # +# # +############################################################################### + +############################################################################### +# Definitions +############################################################################### + +include Config + +VER = 2013 + +THISAPP = Canary-Stability-$(VER) +DL_FILE = $(THISAPP).tar.gz +DL_FROM = $(URL_IPFIRE) +DIR_APP = $(DIR_SRC)/$(THISAPP) +TARGET = $(DIR_INFO)/$(THISAPP) + +############################################################################### +# Top-level Rules +############################################################################### + +objects = $(DL_FILE) + +$(DL_FILE) = $(DL_FROM)/$(DL_FILE) + +$(DL_FILE)_MD5 = 5368520547521b254317ea0e9b3d23ab + +install : $(TARGET) + +check : $(patsubst %,$(DIR_CHK)/%,$(objects)) + +download :$(patsubst %,$(DIR_DL)/%,$(objects)) + +md5 : $(subst %,%_MD5,$(objects)) + + +############################################################################### +# Downloading, checking, md5sum +############################################################################### + +$(patsubst %,$(DIR_CHK)/%,$(objects)) : + @$(CHECK) + +$(patsubst %,$(DIR_DL)/%,$(objects)) : + @$(LOAD) + +$(subst %,%_MD5,$(objects)) : + @$(MD5) + +############################################################################### +# Installation Details +############################################################################### + +$(TARGET) : $(patsubst %,$(DIR_DL)/%,$(objects)) + @$(PREBUILD) + @rm -rf $(DIR_APP) && cd $(DIR_SRC) && tar zxf $(DIR_DL)/$(DL_FILE) + cd $(DIR_APP) && perl Makefile.PL + cd $(DIR_APP) && make $(MAKETUNING) $(EXTRA_MAKE) + cd $(DIR_APP) && make install + @rm -rf $(DIR_APP) + @$(POSTBUILD)