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) From patchwork Mon Apr 19 20:56:07 2021 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Adolf Belka X-Patchwork-Id: 4182 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 4FPJy90tNxz44Qc for ; Mon, 19 Apr 2021 20:56:17 +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 4FPJy85pc7z5NY; Mon, 19 Apr 2021 20:56:16 +0000 (UTC) Received: from mail02.haj.ipfire.org (localhost [127.0.0.1]) by mail02.haj.ipfire.org (Postfix) with ESMTP id 4FPJy85Jh8z2xxK; Mon, 19 Apr 2021 20:56:16 +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 4FPJy80qKjz2xZ8 for ; Mon, 19 Apr 2021 20:56:16 +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 4FPJy73v0hzk3; Mon, 19 Apr 2021 20:56:15 +0000 (UTC) DKIM-Signature: v=1; a=ed25519-sha256; c=relaxed/relaxed; d=ipfire.org; s=202003ed25519; t=1618865775; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=7VZqWx/GMucVBgAlXcPCdOz+CaY5WleuDBrF0SjcUGQ=; b=toD42y5GHClqi9G/XGR5wmMhSQ0QfPArgef/g7tj/TQyvjHolnAWKUvvsv6A0QwcWAgQXU OG5kkdOXFHA0jmAQ== DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=ipfire.org; s=202003rsa; t=1618865775; h=from:from:reply-to:subject:subject:date:date:message-id:message-id: to:to:cc:cc:mime-version:mime-version: content-transfer-encoding:content-transfer-encoding: in-reply-to:in-reply-to:references:references; bh=7VZqWx/GMucVBgAlXcPCdOz+CaY5WleuDBrF0SjcUGQ=; b=I9e+hbHgyav4zrlKB87rnjYj37gXr3GBuDF+PS1ulr83TiR6pOANbyz3Okx6yf1txtQhqR b1C6Sy40Sd0T7H2wnHl4E8buGlBB7j5/Brjv9JBEoa2Yl2xWQpnwcfBy3LWRyE0zx+UH+q V3sTj7R91dZIgqveMgU9ffxl1S7HrMqVAebDyc48Elmi0BoRX+krw/xznD9INBjx3xMVKb ITnNUm5O0AtyasAu3Y+yhcfuWrcCgHlJsRr6UKwYmZvIDWUT2O0n7hRJRA5IpcYfVVzavZ IKTCUPcBzF9+am/xZi9OBnOMSxKBbBG5Wu+tcHh8yz+rwbX1gFv2KuvITr1kzg== From: Adolf Belka To: development@lists.ipfire.org Subject: [PATCH 2/2] Canary-Stability: Needed for building Convert-UUlib since version 1.5 Date: Mon, 19 Apr 2021 22:56:07 +0200 Message-Id: <20210419205607.2101000-2-adolf.belka@ipfire.org> In-Reply-To: <20210419205607.2101000-1-adolf.belka@ipfire.org> References: <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" - 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 --- 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 # +# # +# 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 . # +# # +############################################################################### + +############################################################################### +# 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)