From patchwork Mon Apr 19 20:56:06 2021 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 8bit X-Patchwork-Submitter: Adolf Belka X-Patchwork-Id: 4181 Return-Path: Received: from mail01.ipfire.org (mail01.haj.ipfire.org [172.28.1.202]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature ECDSA (P-384) client-signature ECDSA (P-384)) (Client CN "mail01.haj.ipfire.org", Issuer "R3" (verified OK)) by web04.haj.ipfire.org (Postfix) with ESMTPS id 4FPJy612mgz44Qc for ; Mon, 19 Apr 2021 20:56:14 +0000 (UTC) Received: from mail02.haj.ipfire.org (mail02.haj.ipfire.org [172.28.1.201]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature ECDSA (P-384) client-signature ECDSA (P-384)) (Client CN "mail02.haj.ipfire.org", Issuer "R3" (verified OK)) by mail01.ipfire.org (Postfix) with ESMTPS id 4FPJy54j2lz1XG; Mon, 19 Apr 2021 20:56:13 +0000 (UTC) Received: from mail02.haj.ipfire.org (localhost [127.0.0.1]) by mail02.haj.ipfire.org (Postfix) with ESMTP id 4FPJy54DkZz2ybF; Mon, 19 Apr 2021 20:56:13 +0000 (UTC) Received: from mail01.ipfire.org (mail01.haj.ipfire.org [172.28.1.202]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature ECDSA (P-384) client-signature ECDSA (P-384)) (Client CN "mail01.haj.ipfire.org", Issuer "R3" (verified OK)) by mail02.haj.ipfire.org (Postfix) with ESMTPS id 4FPJy455CMz2xkX for ; Mon, 19 Apr 2021 20:56:12 +0000 (UTC) Received: from [127.0.0.1] (localhost [127.0.0.1]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature ECDSA (P-384) server-digest SHA384) (No client certificate requested) by mail01.ipfire.org (Postfix) with ESMTPSA id 4FPJy424Kbzk3; Mon, 19 Apr 2021 20:56:12 +0000 (UTC) DKIM-Signature: v=1; a=ed25519-sha256; c=relaxed/relaxed; d=ipfire.org; s=202003ed25519; t=1618865772; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=hsCaXURl01gkMZgdLcTaEPqSuJjCnFe9z5xEjF22X3A=; b=rkRUB/ZU9pBt9becoirKCJIoAOzXW41IkvHUaokoVw5sNrqjemN5P99ybPajO908Wb2C7/ XjtKMpCYKpOgojCw== DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=ipfire.org; s=202003rsa; t=1618865772; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version:content-type:content-type: content-transfer-encoding:content-transfer-encoding; bh=hsCaXURl01gkMZgdLcTaEPqSuJjCnFe9z5xEjF22X3A=; b=GQeJLU9z3ZECY4cDuTy1u1H/YiTZG7u+smFliXmcAt+OvFB55IRpsI5ksc/ih/AZlO2d2f NWwKtDqieyr/Era7bEjPyv83K81vXjA+SiIxk/MIKTa9g64lgLHAl4OU3hPOX80LXb5KGg mb3Jj98LUyXUT/2JeAWQxz2YPbfajNn40koLYJ2iEoRTHYZGzvWDYuAD3YK0kyACCBplSL g+UwupmI4wOwWfo+d9jOlCQVERf2Wq9JaMuR7Nyw+7lkBDEG1sMoN5UePT4Big9ikWIMyv aFVttZSjk343frWIwSRCitE4fKzkbT1ldea/infKs/01PznaRMHNx9gjmrG6sQ== From: Adolf Belka To: development@lists.ipfire.org Subject: [PATCH 1/2] Convert-UUlib: Update to 1.8 Date: Mon, 19 Apr 2021 22:56:06 +0200 Message-Id: <20210419205607.2101000-1-adolf.belka@ipfire.org> MIME-Version: 1.0 X-BeenThere: development@lists.ipfire.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: IPFire development talk List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: development-bounces@lists.ipfire.org Sender: "Development" - 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 --- 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)