From patchwork Tue Aug 9 10:35:55 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Michael Tremer X-Patchwork-Id: 5854 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 4M28cV015Qz40V5 for ; Tue, 9 Aug 2022 10:36:10 +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 4M28cQ40Nlz5Rd; Tue, 9 Aug 2022 10:36:06 +0000 (UTC) Received: from mail02.haj.ipfire.org (localhost [127.0.0.1]) by mail02.haj.ipfire.org (Postfix) with ESMTP id 4M28cQ0HRJz30H6; Tue, 9 Aug 2022 10:36:06 +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 4M28cP0nStz2ySt for ; Tue, 9 Aug 2022 10:36:05 +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 4M28cN73fsz1NH; Tue, 9 Aug 2022 10:36:04 +0000 (UTC) DKIM-Signature: v=1; a=ed25519-sha256; c=relaxed/relaxed; d=ipfire.org; s=202003ed25519; t=1660041365; 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=rgOfkCtSBUJXw2Ojvm9ua6Hx421atMjSGhoawSB759g=; b=jNQCkC0RBsm34H+uMsCc+EBpCMjEbsqvAMN//KplrgZebB0EznF8WlibDlj2OJ/jYmoKBZ Za45lX5IDkkgQDCg== DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=ipfire.org; s=202003rsa; t=1660041365; 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=rgOfkCtSBUJXw2Ojvm9ua6Hx421atMjSGhoawSB759g=; b=kfsqMqPDEg7U1Zc/2Gpwe+LXQC+YLqHBFnB6yLpbED6I65X79KQUIziKfEObYNEk3KRLUE i3qdqMhBrWlcrBJ5sa/pPm1+g6ND0Q1arxHhAa/92sndN2znfGMztgFEeO66lo4m39Nz9e 8ToO01gJ2cxcv2PllAXHxva+GtCD8U6iXcOms6sflzlFBAT2C0Fe0qKxn3g0tjFDb81KBJ JOsRmXDGs3rWaNq9IXG2r10FdRmsQne9wQQEh+nUEqCsZRyHdqpXG6H6o6TBsO8Bn54xNH G9z/4n0JvoABnoHdV96leZFVA+NGKj9HJEwbjOpv0vHrhMelSfy8yY0mxSzQEg== From: Michael Tremer To: development@lists.ipfire.org Subject: [PATCH 2/4] libsodium: New package Date: Tue, 9 Aug 2022 10:35:55 +0000 Message-Id: <20220809103557.1612824-2-michael.tremer@ipfire.org> In-Reply-To: <20220809103557.1612824-1-michael.tremer@ipfire.org> References: <20220809103557.1612824-1-michael.tremer@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: , Cc: Michael Tremer Errors-To: development-bounces@lists.ipfire.org Sender: "Development" Sodium is a new, easy-to-use software library for encryption, decryption, signatures, password hashing and more. Signed-off-by: Michael Tremer --- config/rootfiles/common/libsodium | 69 ++++++++++++++++++++++++++ lfs/libsodium | 80 +++++++++++++++++++++++++++++++ make.sh | 1 + 3 files changed, 150 insertions(+) create mode 100644 config/rootfiles/common/libsodium create mode 100644 lfs/libsodium diff --git a/config/rootfiles/common/libsodium b/config/rootfiles/common/libsodium new file mode 100644 index 000000000..741f99405 --- /dev/null +++ b/config/rootfiles/common/libsodium @@ -0,0 +1,69 @@ +#usr/include/sodium +#usr/include/sodium.h +#usr/include/sodium/core.h +#usr/include/sodium/crypto_aead_aes256gcm.h +#usr/include/sodium/crypto_aead_chacha20poly1305.h +#usr/include/sodium/crypto_aead_xchacha20poly1305.h +#usr/include/sodium/crypto_auth.h +#usr/include/sodium/crypto_auth_hmacsha256.h +#usr/include/sodium/crypto_auth_hmacsha512.h +#usr/include/sodium/crypto_auth_hmacsha512256.h +#usr/include/sodium/crypto_box.h +#usr/include/sodium/crypto_box_curve25519xchacha20poly1305.h +#usr/include/sodium/crypto_box_curve25519xsalsa20poly1305.h +#usr/include/sodium/crypto_core_ed25519.h +#usr/include/sodium/crypto_core_hchacha20.h +#usr/include/sodium/crypto_core_hsalsa20.h +#usr/include/sodium/crypto_core_ristretto255.h +#usr/include/sodium/crypto_core_salsa20.h +#usr/include/sodium/crypto_core_salsa2012.h +#usr/include/sodium/crypto_core_salsa208.h +#usr/include/sodium/crypto_generichash.h +#usr/include/sodium/crypto_generichash_blake2b.h +#usr/include/sodium/crypto_hash.h +#usr/include/sodium/crypto_hash_sha256.h +#usr/include/sodium/crypto_hash_sha512.h +#usr/include/sodium/crypto_kdf.h +#usr/include/sodium/crypto_kdf_blake2b.h +#usr/include/sodium/crypto_kx.h +#usr/include/sodium/crypto_onetimeauth.h +#usr/include/sodium/crypto_onetimeauth_poly1305.h +#usr/include/sodium/crypto_pwhash.h +#usr/include/sodium/crypto_pwhash_argon2i.h +#usr/include/sodium/crypto_pwhash_argon2id.h +#usr/include/sodium/crypto_pwhash_scryptsalsa208sha256.h +#usr/include/sodium/crypto_scalarmult.h +#usr/include/sodium/crypto_scalarmult_curve25519.h +#usr/include/sodium/crypto_scalarmult_ed25519.h +#usr/include/sodium/crypto_scalarmult_ristretto255.h +#usr/include/sodium/crypto_secretbox.h +#usr/include/sodium/crypto_secretbox_xchacha20poly1305.h +#usr/include/sodium/crypto_secretbox_xsalsa20poly1305.h +#usr/include/sodium/crypto_secretstream_xchacha20poly1305.h +#usr/include/sodium/crypto_shorthash.h +#usr/include/sodium/crypto_shorthash_siphash24.h +#usr/include/sodium/crypto_sign.h +#usr/include/sodium/crypto_sign_ed25519.h +#usr/include/sodium/crypto_sign_edwards25519sha512batch.h +#usr/include/sodium/crypto_stream.h +#usr/include/sodium/crypto_stream_chacha20.h +#usr/include/sodium/crypto_stream_salsa20.h +#usr/include/sodium/crypto_stream_salsa2012.h +#usr/include/sodium/crypto_stream_salsa208.h +#usr/include/sodium/crypto_stream_xchacha20.h +#usr/include/sodium/crypto_stream_xsalsa20.h +#usr/include/sodium/crypto_verify_16.h +#usr/include/sodium/crypto_verify_32.h +#usr/include/sodium/crypto_verify_64.h +#usr/include/sodium/export.h +#usr/include/sodium/randombytes.h +#usr/include/sodium/randombytes_internal_random.h +#usr/include/sodium/randombytes_sysrandom.h +#usr/include/sodium/runtime.h +#usr/include/sodium/utils.h +#usr/include/sodium/version.h +#usr/lib/libsodium.la +#usr/lib/libsodium.so +usr/lib/libsodium.so.23 +usr/lib/libsodium.so.23.3.0 +#usr/lib/pkgconfig/libsodium.pc diff --git a/lfs/libsodium b/lfs/libsodium new file mode 100644 index 000000000..75c3aaf63 --- /dev/null +++ b/lfs/libsodium @@ -0,0 +1,80 @@ +############################################################################### +# # +# IPFire.org - A linux based firewall # +# Copyright (C) 2007-2019 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 = 1.0.18 + +THISAPP = libsodium-$(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)_BLAKE2 = a42d898fe77f232dcbb75728e776b88f006e89f734c4d335e75e01d37b1034cc024df2e89d4350ecbe713d3e4b32c08bec537922c81cc63b0e87ee7fd89b2940 + +install : $(TARGET) + +check : $(patsubst %,$(DIR_CHK)/%,$(objects)) + +download :$(patsubst %,$(DIR_DL)/%,$(objects)) + +b2 : $(subst %,%_BLAKE2,$(objects)) + +dist: + @$(PAK) + +############################################################################### +# Downloading, checking, b2sum +############################################################################### + +$(patsubst %,$(DIR_CHK)/%,$(objects)) : + @$(CHECK) + +$(patsubst %,$(DIR_DL)/%,$(objects)) : + @$(LOAD) + +$(subst %,%_BLAKE2,$(objects)) : + @$(B2SUM) + +############################################################################### +# Installation Details +############################################################################### + +$(TARGET) : $(patsubst %,$(DIR_DL)/%,$(objects)) + @$(PREBUILD) + @rm -rf $(DIR_APP) && cd $(DIR_SRC) && tar axf $(DIR_DL)/$(DL_FILE) + cd $(DIR_APP) && ./configure --prefix=/usr --disable-static + cd $(DIR_APP) && make $(MAKETUNING) + cd $(DIR_APP) && make install + @rm -rf $(DIR_APP) + @$(POSTBUILD) diff --git a/make.sh b/make.sh index 33adf0b75..f577578a1 100755 --- a/make.sh +++ b/make.sh @@ -1180,6 +1180,7 @@ buildipfire() { lfsmake2 libgcrypt lfsmake2 libassuan lfsmake2 nettle + lfsmake2 libsodium lfsmake2 json-c lfsmake2 libconfig lfsmake2 libevent2