From 7e4af6eb54bcbd1fa651610d8f0a99d86270042c Mon Sep 17 00:00:00 2001 From: Timo Eissler Date: Mon, 4 Apr 2022 11:38:43 +0200 Subject: [PATCH 01/50] oath-toolkit: New package OATH Toolkit provide components to build one-time password authentication systems. Homepage: https://www.nongnu.org/oath-toolkit/index.html Source: https://download.savannah.nongnu.org/releases/oath-toolkit/oath-toolkit-2.6.7.tar.gz Signed-off-by: Timo Eissler --- config/rootfiles/packages/oath-toolkit | 217 +++++++++++++++++++++++++ lfs/oath-toolkit | 88 ++++++++++ make.sh | 1 + 3 files changed, 306 insertions(+) create mode 100644 config/rootfiles/packages/oath-toolkit create mode 100644 lfs/oath-toolkit diff --git a/config/rootfiles/packages/oath-toolkit b/config/rootfiles/packages/oath-toolkit new file mode 100644 index 000000000..4f39706a2 --- /dev/null +++ b/config/rootfiles/packages/oath-toolkit @@ -0,0 +1,217 @@ +usr/bin/oathtool +#usr/bin/pskctool +#usr/include/liboath +#usr/include/liboath/oath.h +#usr/include/pskc +#usr/include/pskc/container.h +#usr/include/pskc/enums.h +#usr/include/pskc/errors.h +#usr/include/pskc/exports.h +#usr/include/pskc/global.h +#usr/include/pskc/keypackage.h +#usr/include/pskc/pskc.h +#usr/include/pskc/version.h +#usr/lib/liboath.a +#usr/lib/liboath.la +usr/lib/liboath.so +usr/lib/liboath.so.0 +usr/lib/liboath.so.0.1.3 +#usr/lib/libpskc.a +#usr/lib/libpskc.la +#usr/lib/libpskc.so +#usr/lib/libpskc.so.0 +#usr/lib/libpskc.so.0.0.1 +#usr/lib/pkgconfig/liboath.pc +#usr/lib/pkgconfig/libpskc.pc +#usr/share/gtk-doc/html/liboath +#usr/share/gtk-doc/html/liboath/api-index-1-10-0.html +#usr/share/gtk-doc/html/liboath/api-index-1-12-0.html +#usr/share/gtk-doc/html/liboath/api-index-1-4-0.html +#usr/share/gtk-doc/html/liboath/api-index-1-6-0.html +#usr/share/gtk-doc/html/liboath/api-index-1-8-0.html +#usr/share/gtk-doc/html/liboath/api-index-2-4-0.html +#usr/share/gtk-doc/html/liboath/api-index-2-6-0.html +#usr/share/gtk-doc/html/liboath/api-index-full.html +#usr/share/gtk-doc/html/liboath/deprecated-api-index.html +#usr/share/gtk-doc/html/liboath/home.png +#usr/share/gtk-doc/html/liboath/index.html +#usr/share/gtk-doc/html/liboath/intro.html +#usr/share/gtk-doc/html/liboath/left-insensitive.png +#usr/share/gtk-doc/html/liboath/left.png +#usr/share/gtk-doc/html/liboath/liboath-oath.h.html +#usr/share/gtk-doc/html/liboath/liboath.devhelp2 +#usr/share/gtk-doc/html/liboath/right-insensitive.png +#usr/share/gtk-doc/html/liboath/right.png +#usr/share/gtk-doc/html/liboath/style.css +#usr/share/gtk-doc/html/liboath/up-insensitive.png +#usr/share/gtk-doc/html/liboath/up.png +#usr/share/gtk-doc/html/libpskc +#usr/share/gtk-doc/html/libpskc/api-index-2-2-0.html +#usr/share/gtk-doc/html/libpskc/api-index-full.html +#usr/share/gtk-doc/html/libpskc/deprecated-api-index.html +#usr/share/gtk-doc/html/libpskc/home.png +#usr/share/gtk-doc/html/libpskc/index.html +#usr/share/gtk-doc/html/libpskc/left-insensitive.png +#usr/share/gtk-doc/html/libpskc/left.png +#usr/share/gtk-doc/html/libpskc/libpskc-container.html +#usr/share/gtk-doc/html/libpskc/libpskc-enums.html +#usr/share/gtk-doc/html/libpskc/libpskc-errors.html +#usr/share/gtk-doc/html/libpskc/libpskc-global.html +#usr/share/gtk-doc/html/libpskc/libpskc-keypackage.html +#usr/share/gtk-doc/html/libpskc/libpskc-pskc.html +#usr/share/gtk-doc/html/libpskc/libpskc-version.html +#usr/share/gtk-doc/html/libpskc/libpskc.devhelp2 +#usr/share/gtk-doc/html/libpskc/pskc-reference.html +#usr/share/gtk-doc/html/libpskc/pskc-tutorial-libpskc-create.html +#usr/share/gtk-doc/html/libpskc/pskc-tutorial-libpskc-sign.html +#usr/share/gtk-doc/html/libpskc/pskc-tutorial-libpskc-verify.html +#usr/share/gtk-doc/html/libpskc/pskc-tutorial-library.html +#usr/share/gtk-doc/html/libpskc/pskc-tutorial-pskctool-sign.html +#usr/share/gtk-doc/html/libpskc/pskc-tutorial-pskctool-validate.html +#usr/share/gtk-doc/html/libpskc/pskc-tutorial-pskctool-verify.html +#usr/share/gtk-doc/html/libpskc/pskc-tutorial-pskctool.html +#usr/share/gtk-doc/html/libpskc/pskc-tutorial-quickstart.html +#usr/share/gtk-doc/html/libpskc/pskc-tutorial.html +#usr/share/gtk-doc/html/libpskc/right-insensitive.png +#usr/share/gtk-doc/html/libpskc/right.png +#usr/share/gtk-doc/html/libpskc/style.css +#usr/share/gtk-doc/html/libpskc/up-insensitive.png +#usr/share/gtk-doc/html/libpskc/up.png +#usr/share/man/man1/oathtool.1 +#usr/share/man/man1/pskctool.1 +#usr/share/man/man3/oath_authenticate_usersfile.3 +#usr/share/man/man3/oath_base32_decode.3 +#usr/share/man/man3/oath_base32_encode.3 +#usr/share/man/man3/oath_bin2hex.3 +#usr/share/man/man3/oath_check_version.3 +#usr/share/man/man3/oath_done.3 +#usr/share/man/man3/oath_hex2bin.3 +#usr/share/man/man3/oath_hotp_generate.3 +#usr/share/man/man3/oath_hotp_validate.3 +#usr/share/man/man3/oath_hotp_validate_callback.3 +#usr/share/man/man3/oath_init.3 +#usr/share/man/man3/oath_strerror.3 +#usr/share/man/man3/oath_strerror_name.3 +#usr/share/man/man3/oath_totp_generate.3 +#usr/share/man/man3/oath_totp_generate2.3 +#usr/share/man/man3/oath_totp_validate.3 +#usr/share/man/man3/oath_totp_validate2.3 +#usr/share/man/man3/oath_totp_validate2_callback.3 +#usr/share/man/man3/oath_totp_validate3.3 +#usr/share/man/man3/oath_totp_validate3_callback.3 +#usr/share/man/man3/oath_totp_validate4.3 +#usr/share/man/man3/oath_totp_validate4_callback.3 +#usr/share/man/man3/oath_totp_validate_callback.3 +#usr/share/man/man3/pskc_add_keypackage.3 +#usr/share/man/man3/pskc_build_xml.3 +#usr/share/man/man3/pskc_check_version.3 +#usr/share/man/man3/pskc_done.3 +#usr/share/man/man3/pskc_free.3 +#usr/share/man/man3/pskc_get_cryptomodule_id.3 +#usr/share/man/man3/pskc_get_device_devicebinding.3 +#usr/share/man/man3/pskc_get_device_expirydate.3 +#usr/share/man/man3/pskc_get_device_issueno.3 +#usr/share/man/man3/pskc_get_device_manufacturer.3 +#usr/share/man/man3/pskc_get_device_model.3 +#usr/share/man/man3/pskc_get_device_serialno.3 +#usr/share/man/man3/pskc_get_device_startdate.3 +#usr/share/man/man3/pskc_get_device_userid.3 +#usr/share/man/man3/pskc_get_id.3 +#usr/share/man/man3/pskc_get_key_algorithm.3 +#usr/share/man/man3/pskc_get_key_algparm_chall_checkdigits.3 +#usr/share/man/man3/pskc_get_key_algparm_chall_encoding.3 +#usr/share/man/man3/pskc_get_key_algparm_chall_max.3 +#usr/share/man/man3/pskc_get_key_algparm_chall_min.3 +#usr/share/man/man3/pskc_get_key_algparm_resp_checkdigits.3 +#usr/share/man/man3/pskc_get_key_algparm_resp_encoding.3 +#usr/share/man/man3/pskc_get_key_algparm_resp_length.3 +#usr/share/man/man3/pskc_get_key_algparm_suite.3 +#usr/share/man/man3/pskc_get_key_data_b64secret.3 +#usr/share/man/man3/pskc_get_key_data_counter.3 +#usr/share/man/man3/pskc_get_key_data_secret.3 +#usr/share/man/man3/pskc_get_key_data_time.3 +#usr/share/man/man3/pskc_get_key_data_timedrift.3 +#usr/share/man/man3/pskc_get_key_data_timeinterval.3 +#usr/share/man/man3/pskc_get_key_friendlyname.3 +#usr/share/man/man3/pskc_get_key_id.3 +#usr/share/man/man3/pskc_get_key_issuer.3 +#usr/share/man/man3/pskc_get_key_policy_expirydate.3 +#usr/share/man/man3/pskc_get_key_policy_keyusages.3 +#usr/share/man/man3/pskc_get_key_policy_numberoftransactions.3 +#usr/share/man/man3/pskc_get_key_policy_pinencoding.3 +#usr/share/man/man3/pskc_get_key_policy_pinkeyid.3 +#usr/share/man/man3/pskc_get_key_policy_pinmaxfailedattempts.3 +#usr/share/man/man3/pskc_get_key_policy_pinmaxlength.3 +#usr/share/man/man3/pskc_get_key_policy_pinminlength.3 +#usr/share/man/man3/pskc_get_key_policy_pinusagemode.3 +#usr/share/man/man3/pskc_get_key_policy_startdate.3 +#usr/share/man/man3/pskc_get_key_profileid.3 +#usr/share/man/man3/pskc_get_key_reference.3 +#usr/share/man/man3/pskc_get_key_userid.3 +#usr/share/man/man3/pskc_get_keypackage.3 +#usr/share/man/man3/pskc_get_signed_p.3 +#usr/share/man/man3/pskc_get_version.3 +#usr/share/man/man3/pskc_global_done.3 +#usr/share/man/man3/pskc_global_init.3 +#usr/share/man/man3/pskc_global_log.3 +#usr/share/man/man3/pskc_init.3 +#usr/share/man/man3/pskc_keyusage2str.3 +#usr/share/man/man3/pskc_output.3 +#usr/share/man/man3/pskc_parse_from_memory.3 +#usr/share/man/man3/pskc_pinusagemode2str.3 +#usr/share/man/man3/pskc_set_cryptomodule_id.3 +#usr/share/man/man3/pskc_set_device_devicebinding.3 +#usr/share/man/man3/pskc_set_device_expirydate.3 +#usr/share/man/man3/pskc_set_device_issueno.3 +#usr/share/man/man3/pskc_set_device_manufacturer.3 +#usr/share/man/man3/pskc_set_device_model.3 +#usr/share/man/man3/pskc_set_device_serialno.3 +#usr/share/man/man3/pskc_set_device_startdate.3 +#usr/share/man/man3/pskc_set_device_userid.3 +#usr/share/man/man3/pskc_set_id.3 +#usr/share/man/man3/pskc_set_key_algorithm.3 +#usr/share/man/man3/pskc_set_key_algparm_chall_checkdigits.3 +#usr/share/man/man3/pskc_set_key_algparm_chall_encoding.3 +#usr/share/man/man3/pskc_set_key_algparm_chall_max.3 +#usr/share/man/man3/pskc_set_key_algparm_chall_min.3 +#usr/share/man/man3/pskc_set_key_algparm_resp_checkdigits.3 +#usr/share/man/man3/pskc_set_key_algparm_resp_encoding.3 +#usr/share/man/man3/pskc_set_key_algparm_resp_length.3 +#usr/share/man/man3/pskc_set_key_algparm_suite.3 +#usr/share/man/man3/pskc_set_key_data_b64secret.3 +#usr/share/man/man3/pskc_set_key_data_counter.3 +#usr/share/man/man3/pskc_set_key_data_secret.3 +#usr/share/man/man3/pskc_set_key_data_time.3 +#usr/share/man/man3/pskc_set_key_data_timedrift.3 +#usr/share/man/man3/pskc_set_key_data_timeinterval.3 +#usr/share/man/man3/pskc_set_key_friendlyname.3 +#usr/share/man/man3/pskc_set_key_id.3 +#usr/share/man/man3/pskc_set_key_issuer.3 +#usr/share/man/man3/pskc_set_key_policy_expirydate.3 +#usr/share/man/man3/pskc_set_key_policy_keyusages.3 +#usr/share/man/man3/pskc_set_key_policy_numberoftransactions.3 +#usr/share/man/man3/pskc_set_key_policy_pinencoding.3 +#usr/share/man/man3/pskc_set_key_policy_pinkeyid.3 +#usr/share/man/man3/pskc_set_key_policy_pinmaxfailedattempts.3 +#usr/share/man/man3/pskc_set_key_policy_pinmaxlength.3 +#usr/share/man/man3/pskc_set_key_policy_pinminlength.3 +#usr/share/man/man3/pskc_set_key_policy_pinusagemode.3 +#usr/share/man/man3/pskc_set_key_policy_startdate.3 +#usr/share/man/man3/pskc_set_key_profileid.3 +#usr/share/man/man3/pskc_set_key_reference.3 +#usr/share/man/man3/pskc_set_key_userid.3 +#usr/share/man/man3/pskc_set_version.3 +#usr/share/man/man3/pskc_sign_x509.3 +#usr/share/man/man3/pskc_str2keyusage.3 +#usr/share/man/man3/pskc_str2pinusagemode.3 +#usr/share/man/man3/pskc_str2valueformat.3 +#usr/share/man/man3/pskc_strerror.3 +#usr/share/man/man3/pskc_strerror_name.3 +#usr/share/man/man3/pskc_validate.3 +#usr/share/man/man3/pskc_valueformat2str.3 +#usr/share/man/man3/pskc_verify_x509crt.3 +#usr/share/xml/pskc +#usr/share/xml/pskc/catalog-pskc.xml +#usr/share/xml/pskc/pskc-schema.xsd +#usr/share/xml/pskc/xenc-schema.xsd +#usr/share/xml/pskc/xmldsig-core-schema.xsd diff --git a/lfs/oath-toolkit b/lfs/oath-toolkit new file mode 100644 index 000000000..891ff06ef --- /dev/null +++ b/lfs/oath-toolkit @@ -0,0 +1,88 @@ +############################################################################### +# # +# IPFire.org - A linux based firewall # +# Copyright (C) 2022 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 + +SUMMARY = One-time password components + +VER = 2.6.7 + +THISAPP = oath-toolkit-$(VER) +DL_FILE = $(THISAPP).tar.gz +DL_FROM = $(URL_IPFIRE) +DIR_APP = $(DIR_SRC)/$(THISAPP) +TARGET = $(DIR_INFO)/$(THISAPP) +PROG = oath-toolkit +PAK_VER = 1 + +DEPS = "" + +SERVICES = "" + +############################################################################### +# Top-level Rules +############################################################################### + +objects = $(DL_FILE) + +$(DL_FILE) = $(DL_FROM)/$(DL_FILE) + +$(DL_FILE)_MD5 = 0a3c0d9e1f8095c88657bfea8ad5d59f + +install : $(TARGET) + +check : $(patsubst %,$(DIR_CHK)/%,$(objects)) + +download :$(patsubst %,$(DIR_DL)/%,$(objects)) + +md5 : $(subst %,%_MD5,$(objects)) + +dist:. + $(PAK) + +############################################################################### +# 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) && ./configure --prefix=/usr + cd $(DIR_APP) && make $(MAKETUNING) $(EXTRA_MAKE) + cd $(DIR_APP) && make install + @rm -rf $(DIR_APP) + @$(POSTBUILD) diff --git a/make.sh b/make.sh index 2a4f6d0bd..6012c3742 100755 --- a/make.sh +++ b/make.sh @@ -1693,6 +1693,7 @@ buildipfire() { lfsmake2 squid-asnbl lfsmake2 qemu-ga lfsmake2 gptfdisk + lfsmake2 oath-toolkit } buildinstaller() { From 3780b7a4ace485be68c874185ee5dacddd824f9e Mon Sep 17 00:00:00 2001 From: Timo Eissler Date: Mon, 4 Apr 2022 12:47:37 +0200 Subject: [PATCH 02/50] libqrcode: New package A fast and compact QR Code encoding library. Homepage: https://fukuchi.org/works/qrencode/ Source: https://fukuchi.org/works/qrencode/qrencode-4.1.1.tar.gz Signed-off-by: Timo Eissler --- config/rootfiles/packages/libqrencode | 8 +++ lfs/libqrencode | 89 +++++++++++++++++++++++++++ make.sh | 1 + 3 files changed, 98 insertions(+) create mode 100644 config/rootfiles/packages/libqrencode create mode 100644 lfs/libqrencode diff --git a/config/rootfiles/packages/libqrencode b/config/rootfiles/packages/libqrencode new file mode 100644 index 000000000..930fd237e --- /dev/null +++ b/config/rootfiles/packages/libqrencode @@ -0,0 +1,8 @@ +usr/bin/qrencode +#usr/include/qrencode.h +#usr/lib/libqrencode.la +usr/lib/libqrencode.so +usr/lib/libqrencode.so.4 +usr/lib/libqrencode.so.4.1.1 +#usr/lib/pkgconfig/libqrencode.pc +#usr/share/man/man1/qrencode.1 diff --git a/lfs/libqrencode b/lfs/libqrencode new file mode 100644 index 000000000..ee6de1212 --- /dev/null +++ b/lfs/libqrencode @@ -0,0 +1,89 @@ +############################################################################### +# # +# IPFire.org - A linux based firewall # +# Copyright (C) 2022 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 + +SUMMARY = A fast and compact QR Code encoding library + +VER = 4.1.1 + +THISAPP = libqrencode-$(VER) +DL_FILE = $(THISAPP).tar.gz +DL_FROM = $(URL_IPFIRE) +DIR_APP = $(DIR_SRC)/$(THISAPP) +TARGET = $(DIR_INFO)/$(THISAPP) +PROG = libqrencode +PAK_VER = 1 + +DEPS = "" + +SERVICES = "" + +############################################################################### +# Top-level Rules +############################################################################### + +objects = $(DL_FILE) + +$(DL_FILE) = $(DL_FROM)/$(DL_FILE) + +$(DL_FILE)_MD5 = 486f879d1638d3fb58a4a5d45a88c600 + +install : $(TARGET) + +check : $(patsubst %,$(DIR_CHK)/%,$(objects)) + +download :$(patsubst %,$(DIR_DL)/%,$(objects)) + +md5 : $(subst %,%_MD5,$(objects)) + +dist:. + $(PAK) + +############################################################################### +# 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) && ./autogen.sh + cd $(DIR_APP) && ./configure --prefix=/usr + cd $(DIR_APP) && make $(MAKETUNING) $(EXTRA_MAKE) + cd $(DIR_APP) && make install + @rm -rf $(DIR_APP) + @$(POSTBUILD) diff --git a/make.sh b/make.sh index 6012c3742..f99909ee8 100755 --- a/make.sh +++ b/make.sh @@ -1694,6 +1694,7 @@ buildipfire() { lfsmake2 qemu-ga lfsmake2 gptfdisk lfsmake2 oath-toolkit + lfsmake2 libqrencode } buildinstaller() { From 6f8b1c534ecdb9dd9f8042da5ac7778c5574b154 Mon Sep 17 00:00:00 2001 From: Timo Eissler Date: Mon, 4 Apr 2022 17:45:01 +0200 Subject: [PATCH 03/50] perl-File-Remove: New package Remove files and directories Required by perl-Module-Install. Signed-off-by: Timo Eissler --- config/rootfiles/common/perl-File-Remove | 4 ++ lfs/perl-File-Remove | 87 ++++++++++++++++++++++++ make.sh | 1 + 3 files changed, 92 insertions(+) create mode 100644 config/rootfiles/common/perl-File-Remove create mode 100644 lfs/perl-File-Remove diff --git a/config/rootfiles/common/perl-File-Remove b/config/rootfiles/common/perl-File-Remove new file mode 100644 index 000000000..aad28b64e --- /dev/null +++ b/config/rootfiles/common/perl-File-Remove @@ -0,0 +1,4 @@ +usr/lib/perl5/site_perl/5.32.1/File/Remove.pm +#usr/lib/perl5/site_perl/5.32.1/x86_64-linux-thread-multi/auto/File/Remove +#usr/lib/perl5/site_perl/5.32.1/x86_64-linux-thread-multi/auto/File/Remove/.packlist +#usr/share/man/man3/File::Remove.3 diff --git a/lfs/perl-File-Remove b/lfs/perl-File-Remove new file mode 100644 index 000000000..4b9bb095f --- /dev/null +++ b/lfs/perl-File-Remove @@ -0,0 +1,87 @@ +############################################################################### +# # +# IPFire.org - A linux based firewall # +# Copyright (C) 2022 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 + +SUMMARY = Remove files and directories + +VER = 1.60 + +THISAPP = File-Remove-$(VER) +DL_FILE = $(THISAPP).tar.gz +DL_FROM = $(URL_IPFIRE) +DIR_APP = $(DIR_SRC)/$(THISAPP) +TARGET = $(DIR_INFO)/$(THISAPP) +PAK_VER = 1 + +DEPS = "" + +SERVICES = "" + +############################################################################### +# Top-level Rules +############################################################################### + +objects = $(DL_FILE) + +$(DL_FILE) = $(DL_FROM)/$(DL_FILE) + +$(DL_FILE)_MD5 = 34f46f9a07b2ad6fc80061d266f387b5 + +install : $(TARGET) + +check : $(patsubst %,$(DIR_CHK)/%,$(objects)) + +download :$(patsubst %,$(DIR_DL)/%,$(objects)) + +md5 : $(subst %,%_MD5,$(objects)) + +dist:. + $(PAK) + +############################################################################### +# 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) && yes 'n' | perl Makefile.PL + cd $(DIR_APP) && make $(MAKETUNING) $(EXTRA_MAKE) + cd $(DIR_APP) && make install + @rm -rf $(DIR_APP) + @$(POSTBUILD) diff --git a/make.sh b/make.sh index f99909ee8..b8e8e2394 100755 --- a/make.sh +++ b/make.sh @@ -1695,6 +1695,7 @@ buildipfire() { lfsmake2 gptfdisk lfsmake2 oath-toolkit lfsmake2 libqrencode + lfsmake2 perl-File-Remove } buildinstaller() { From a102cdbae1243c8dd113a0a118ce891e43850ab5 Mon Sep 17 00:00:00 2001 From: Timo Eissler Date: Mon, 4 Apr 2022 17:46:56 +0200 Subject: [PATCH 04/50] perl-Module-Build: New package Build and install Perl modules Required by perl-Module-Install. Signed-off-by: Timo Eissler --- config/rootfiles/common/perl-Module-Build | 51 +++++++++++++ lfs/perl-Module-Build | 87 +++++++++++++++++++++++ make.sh | 1 + 3 files changed, 139 insertions(+) create mode 100644 config/rootfiles/common/perl-Module-Build create mode 100644 lfs/perl-Module-Build diff --git a/config/rootfiles/common/perl-Module-Build b/config/rootfiles/common/perl-Module-Build new file mode 100644 index 000000000..a4c6480d7 --- /dev/null +++ b/config/rootfiles/common/perl-Module-Build @@ -0,0 +1,51 @@ +#usr/bin/config_data +#usr/lib/perl5/site_perl/5.32.1/Module +#usr/lib/perl5/site_perl/5.32.1/Module/Build +usr/lib/perl5/site_perl/5.32.1/Module/Build.pm +usr/lib/perl5/site_perl/5.32.1/Module/Build/API.pod +usr/lib/perl5/site_perl/5.32.1/Module/Build/Authoring.pod +usr/lib/perl5/site_perl/5.32.1/Module/Build/Base.pm +usr/lib/perl5/site_perl/5.32.1/Module/Build/Bundling.pod +usr/lib/perl5/site_perl/5.32.1/Module/Build/Compat.pm +usr/lib/perl5/site_perl/5.32.1/Module/Build/Config.pm +usr/lib/perl5/site_perl/5.32.1/Module/Build/ConfigData.pm +usr/lib/perl5/site_perl/5.32.1/Module/Build/Cookbook.pm +usr/lib/perl5/site_perl/5.32.1/Module/Build/Dumper.pm +usr/lib/perl5/site_perl/5.32.1/Module/Build/Notes.pm +usr/lib/perl5/site_perl/5.32.1/Module/Build/PPMMaker.pm +usr/lib/perl5/site_perl/5.32.1/Module/Build/Platform +usr/lib/perl5/site_perl/5.32.1/Module/Build/Platform/Default.pm +#usr/lib/perl5/site_perl/5.32.1/Module/Build/Platform/MacOS.pm +usr/lib/perl5/site_perl/5.32.1/Module/Build/Platform/Unix.pm +#usr/lib/perl5/site_perl/5.32.1/Module/Build/Platform/VMS.pm +#usr/lib/perl5/site_perl/5.32.1/Module/Build/Platform/VOS.pm +#usr/lib/perl5/site_perl/5.32.1/Module/Build/Platform/Windows.pm +#usr/lib/perl5/site_perl/5.32.1/Module/Build/Platform/aix.pm +#usr/lib/perl5/site_perl/5.32.1/Module/Build/Platform/cygwin.pm +#usr/lib/perl5/site_perl/5.32.1/Module/Build/Platform/darwin.pm +#usr/lib/perl5/site_perl/5.32.1/Module/Build/Platform/os2.pm +usr/lib/perl5/site_perl/5.32.1/Module/Build/PodParser.pm +#usr/lib/perl5/site_perl/5.32.1/x86_64-linux-thread-multi/auto/Module +#usr/lib/perl5/site_perl/5.32.1/x86_64-linux-thread-multi/auto/Module/Build +#usr/lib/perl5/site_perl/5.32.1/x86_64-linux-thread-multi/auto/Module/Build/.packlist +#usr/share/man/man1/config_data.1 +#usr/share/man/man3/Module::Build.3 +#usr/share/man/man3/Module::Build::API.3 +#usr/share/man/man3/Module::Build::Authoring.3 +#usr/share/man/man3/Module::Build::Base.3 +#usr/share/man/man3/Module::Build::Bundling.3 +#usr/share/man/man3/Module::Build::Compat.3 +#usr/share/man/man3/Module::Build::ConfigData.3 +#usr/share/man/man3/Module::Build::Cookbook.3 +#usr/share/man/man3/Module::Build::Notes.3 +#usr/share/man/man3/Module::Build::PPMMaker.3 +#usr/share/man/man3/Module::Build::Platform::Default.3 +#usr/share/man/man3/Module::Build::Platform::MacOS.3 +#usr/share/man/man3/Module::Build::Platform::Unix.3 +#usr/share/man/man3/Module::Build::Platform::VMS.3 +#usr/share/man/man3/Module::Build::Platform::VOS.3 +#usr/share/man/man3/Module::Build::Platform::Windows.3 +#usr/share/man/man3/Module::Build::Platform::aix.3 +#usr/share/man/man3/Module::Build::Platform::cygwin.3 +#usr/share/man/man3/Module::Build::Platform::darwin.3 +#usr/share/man/man3/Module::Build::Platform::os2.3 diff --git a/lfs/perl-Module-Build b/lfs/perl-Module-Build new file mode 100644 index 000000000..216df4aa1 --- /dev/null +++ b/lfs/perl-Module-Build @@ -0,0 +1,87 @@ +############################################################################### +# # +# IPFire.org - A linux based firewall # +# Copyright (C) 2022 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 + +SUMMARY = Build and install Perl modules + +VER = 0.4231 + +THISAPP = Module-Build-$(VER) +DL_FILE = $(THISAPP).tar.gz +DL_FROM = $(URL_IPFIRE) +DIR_APP = $(DIR_SRC)/$(THISAPP) +TARGET = $(DIR_INFO)/$(THISAPP) +PAK_VER = 1 + +DEPS = "" + +SERVICES = "" + +############################################################################### +# Top-level Rules +############################################################################### + +objects = $(DL_FILE) + +$(DL_FILE) = $(DL_FROM)/$(DL_FILE) + +$(DL_FILE)_MD5 = 066b193e461d7dfe1eca17a139353001 + +install : $(TARGET) + +check : $(patsubst %,$(DIR_CHK)/%,$(objects)) + +download :$(patsubst %,$(DIR_DL)/%,$(objects)) + +md5 : $(subst %,%_MD5,$(objects)) + +dist:. + $(PAK) + +############################################################################### +# 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) && yes 'n' | perl Makefile.PL + cd $(DIR_APP) && make $(MAKETUNING) $(EXTRA_MAKE) + cd $(DIR_APP) && make install + @rm -rf $(DIR_APP) + @$(POSTBUILD) diff --git a/make.sh b/make.sh index b8e8e2394..8106c40b5 100755 --- a/make.sh +++ b/make.sh @@ -1696,6 +1696,7 @@ buildipfire() { lfsmake2 oath-toolkit lfsmake2 libqrencode lfsmake2 perl-File-Remove + lfsmake2 perl-Module-Build } buildinstaller() { From bfc889a70ac4e2ef2f7a126611aa927c0efd6c40 Mon Sep 17 00:00:00 2001 From: Timo Eissler Date: Mon, 4 Apr 2022 17:48:32 +0200 Subject: [PATCH 05/50] perl-Module-ScanDeps: New package Recursively scan Perl code for dependencies Required by perl-Module-Install. Signed-off-by: Timo Eissler --- config/rootfiles/common/perl-Module-ScanDeps | 8 ++ lfs/perl-Module-ScanDeps | 87 ++++++++++++++++++++ make.sh | 1 + 3 files changed, 96 insertions(+) create mode 100644 config/rootfiles/common/perl-Module-ScanDeps create mode 100644 lfs/perl-Module-ScanDeps diff --git a/config/rootfiles/common/perl-Module-ScanDeps b/config/rootfiles/common/perl-Module-ScanDeps new file mode 100644 index 000000000..0700cf3b8 --- /dev/null +++ b/config/rootfiles/common/perl-Module-ScanDeps @@ -0,0 +1,8 @@ +usr/bin/scandeps.pl +#usr/lib/perl5/site_perl/5.32.1/Module/ScanDeps +usr/lib/perl5/site_perl/5.32.1/Module/ScanDeps.pm +usr/lib/perl5/site_perl/5.32.1/Module/ScanDeps/Cache.pm +#usr/lib/perl5/site_perl/5.32.1/x86_64-linux-thread-multi/auto/Module/ScanDeps +#usr/lib/perl5/site_perl/5.32.1/x86_64-linux-thread-multi/auto/Module/ScanDeps/.packlist +#usr/share/man/man1/scandeps.pl.1 +#usr/share/man/man3/Module::ScanDeps.3 diff --git a/lfs/perl-Module-ScanDeps b/lfs/perl-Module-ScanDeps new file mode 100644 index 000000000..07bd7b5b3 --- /dev/null +++ b/lfs/perl-Module-ScanDeps @@ -0,0 +1,87 @@ +############################################################################### +# # +# IPFire.org - A linux based firewall # +# Copyright (C) 2022 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 + +SUMMARY = Recursively scan Perl code for dependencies + +VER = 1.31 + +THISAPP = Module-ScanDeps-$(VER) +DL_FILE = $(THISAPP).tar.gz +DL_FROM = $(URL_IPFIRE) +DIR_APP = $(DIR_SRC)/$(THISAPP) +TARGET = $(DIR_INFO)/$(THISAPP) +PAK_VER = 1 + +DEPS = "" + +SERVICES = "" + +############################################################################### +# Top-level Rules +############################################################################### + +objects = $(DL_FILE) + +$(DL_FILE) = $(DL_FROM)/$(DL_FILE) + +$(DL_FILE)_MD5 = 20be5584eba22c5d05f679fab62e93ba + +install : $(TARGET) + +check : $(patsubst %,$(DIR_CHK)/%,$(objects)) + +download :$(patsubst %,$(DIR_DL)/%,$(objects)) + +md5 : $(subst %,%_MD5,$(objects)) + +dist:. + $(PAK) + +############################################################################### +# 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) && yes 'n' | perl Makefile.PL + cd $(DIR_APP) && make $(MAKETUNING) $(EXTRA_MAKE) + cd $(DIR_APP) && make install + @rm -rf $(DIR_APP) + @$(POSTBUILD) diff --git a/make.sh b/make.sh index 8106c40b5..87b0a7355 100755 --- a/make.sh +++ b/make.sh @@ -1697,6 +1697,7 @@ buildipfire() { lfsmake2 libqrencode lfsmake2 perl-File-Remove lfsmake2 perl-Module-Build + lfsmake2 perl-Module-ScanDeps } buildinstaller() { From 3aeadfd8bda88ca123cb0bfffc3c6d55c0fb3fdc Mon Sep 17 00:00:00 2001 From: Timo Eissler Date: Mon, 4 Apr 2022 17:49:42 +0200 Subject: [PATCH 06/50] perl-YAML-Tiny: New package Read/Write YAML files with as little code as possible Required by perl-Module-Install. Signed-off-by: Timo Eissler --- config/rootfiles/common/perl-YAML-Tiny | 6 ++ lfs/perl-YAML-Tiny | 87 ++++++++++++++++++++++++++ make.sh | 1 + 3 files changed, 94 insertions(+) create mode 100644 config/rootfiles/common/perl-YAML-Tiny create mode 100644 lfs/perl-YAML-Tiny diff --git a/config/rootfiles/common/perl-YAML-Tiny b/config/rootfiles/common/perl-YAML-Tiny new file mode 100644 index 000000000..460065160 --- /dev/null +++ b/config/rootfiles/common/perl-YAML-Tiny @@ -0,0 +1,6 @@ +#usr/lib/perl5/site_perl/5.32.1/YAML +usr/lib/perl5/site_perl/5.32.1/YAML/Tiny.pm +#usr/lib/perl5/site_perl/5.32.1/x86_64-linux-thread-multi/auto/YAML +#usr/lib/perl5/site_perl/5.32.1/x86_64-linux-thread-multi/auto/YAML/Tiny +#usr/lib/perl5/site_perl/5.32.1/x86_64-linux-thread-multi/auto/YAML/Tiny/.packlist +#usr/share/man/man3/YAML::Tiny.3 diff --git a/lfs/perl-YAML-Tiny b/lfs/perl-YAML-Tiny new file mode 100644 index 000000000..5e13d2f57 --- /dev/null +++ b/lfs/perl-YAML-Tiny @@ -0,0 +1,87 @@ +############################################################################### +# # +# IPFire.org - A linux based firewall # +# Copyright (C) 2022 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 + +SUMMARY = Read/Write YAML files with as little code as possible + +VER = 1.73 + +THISAPP = YAML-Tiny-$(VER) +DL_FILE = $(THISAPP).tar.gz +DL_FROM = $(URL_IPFIRE) +DIR_APP = $(DIR_SRC)/$(THISAPP) +TARGET = $(DIR_INFO)/$(THISAPP) +PAK_VER = 1 + +DEPS = "" + +SERVICES = "" + +############################################################################### +# Top-level Rules +############################################################################### + +objects = $(DL_FILE) + +$(DL_FILE) = $(DL_FROM)/$(DL_FILE) + +$(DL_FILE)_MD5 = d1bb2525e4ab46bfab4b22842c467529 + +install : $(TARGET) + +check : $(patsubst %,$(DIR_CHK)/%,$(objects)) + +download :$(patsubst %,$(DIR_DL)/%,$(objects)) + +md5 : $(subst %,%_MD5,$(objects)) + +dist:. + $(PAK) + +############################################################################### +# 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) && yes 'n' | perl Makefile.PL + cd $(DIR_APP) && make $(MAKETUNING) $(EXTRA_MAKE) + cd $(DIR_APP) && make install + @rm -rf $(DIR_APP) + @$(POSTBUILD) diff --git a/make.sh b/make.sh index 87b0a7355..4205fe065 100755 --- a/make.sh +++ b/make.sh @@ -1698,6 +1698,7 @@ buildipfire() { lfsmake2 perl-File-Remove lfsmake2 perl-Module-Build lfsmake2 perl-Module-ScanDeps + lfsmake2 perl-YAML-Tiny } buildinstaller() { From cb36c0929c6aab35e6c78d90d58e53d2ffc6010d Mon Sep 17 00:00:00 2001 From: Timo Eissler Date: Mon, 4 Apr 2022 17:54:36 +0200 Subject: [PATCH 07/50] perl-Module-Install: New package Module::Install configuration system Required by perl-Imager-QRCode. Signed-off-by: Timo Eissler --- config/rootfiles/common/perl-Module-Install | 66 ++++++++++++++++ lfs/perl-Module-Install | 87 +++++++++++++++++++++ make.sh | 1 + 3 files changed, 154 insertions(+) create mode 100644 config/rootfiles/common/perl-Module-Install create mode 100644 lfs/perl-Module-Install diff --git a/config/rootfiles/common/perl-Module-Install b/config/rootfiles/common/perl-Module-Install new file mode 100644 index 000000000..2c0896488 --- /dev/null +++ b/config/rootfiles/common/perl-Module-Install @@ -0,0 +1,66 @@ +usr/lib/perl5/site_perl/5.32.1/Module/AutoInstall.pm +#usr/lib/perl5/site_perl/5.32.1/Module/Install +usr/lib/perl5/site_perl/5.32.1/Module/Install.pm +usr/lib/perl5/site_perl/5.32.1/Module/Install.pod +usr/lib/perl5/site_perl/5.32.1/Module/Install/API.pod +#usr/lib/perl5/site_perl/5.32.1/Module/Install/Admin +usr/lib/perl5/site_perl/5.32.1/Module/Install/Admin.pm +usr/lib/perl5/site_perl/5.32.1/Module/Install/Admin/Bundle.pm +usr/lib/perl5/site_perl/5.32.1/Module/Install/Admin/Compiler.pm +usr/lib/perl5/site_perl/5.32.1/Module/Install/Admin/Find.pm +usr/lib/perl5/site_perl/5.32.1/Module/Install/Admin/Include.pm +usr/lib/perl5/site_perl/5.32.1/Module/Install/Admin/Makefile.pm +usr/lib/perl5/site_perl/5.32.1/Module/Install/Admin/Manifest.pm +usr/lib/perl5/site_perl/5.32.1/Module/Install/Admin/Metadata.pm +usr/lib/perl5/site_perl/5.32.1/Module/Install/Admin/ScanDeps.pm +usr/lib/perl5/site_perl/5.32.1/Module/Install/Admin/WriteAll.pm +usr/lib/perl5/site_perl/5.32.1/Module/Install/AutoInstall.pm +usr/lib/perl5/site_perl/5.32.1/Module/Install/Base.pm +usr/lib/perl5/site_perl/5.32.1/Module/Install/Bundle.pm +usr/lib/perl5/site_perl/5.32.1/Module/Install/Can.pm +usr/lib/perl5/site_perl/5.32.1/Module/Install/Compiler.pm +usr/lib/perl5/site_perl/5.32.1/Module/Install/DSL.pm +usr/lib/perl5/site_perl/5.32.1/Module/Install/Deprecated.pm +usr/lib/perl5/site_perl/5.32.1/Module/Install/External.pm +usr/lib/perl5/site_perl/5.32.1/Module/Install/FAQ.pod +usr/lib/perl5/site_perl/5.32.1/Module/Install/Fetch.pm +usr/lib/perl5/site_perl/5.32.1/Module/Install/Include.pm +usr/lib/perl5/site_perl/5.32.1/Module/Install/Inline.pm +usr/lib/perl5/site_perl/5.32.1/Module/Install/MakeMaker.pm +usr/lib/perl5/site_perl/5.32.1/Module/Install/Makefile.pm +usr/lib/perl5/site_perl/5.32.1/Module/Install/Metadata.pm +usr/lib/perl5/site_perl/5.32.1/Module/Install/PAR.pm +usr/lib/perl5/site_perl/5.32.1/Module/Install/Philosophy.pod +usr/lib/perl5/site_perl/5.32.1/Module/Install/Run.pm +usr/lib/perl5/site_perl/5.32.1/Module/Install/Scripts.pm +usr/lib/perl5/site_perl/5.32.1/Module/Install/Share.pm +usr/lib/perl5/site_perl/5.32.1/Module/Install/Win32.pm +usr/lib/perl5/site_perl/5.32.1/Module/Install/With.pm +usr/lib/perl5/site_perl/5.32.1/Module/Install/WriteAll.pm +#usr/lib/perl5/site_perl/5.32.1/inc +#usr/lib/perl5/site_perl/5.32.1/inc/Module +#usr/lib/perl5/site_perl/5.32.1/inc/Module/Install +#usr/lib/perl5/site_perl/5.32.1/inc/Module/Install.pm +#usr/lib/perl5/site_perl/5.32.1/inc/Module/Install/DSL.pm +#usr/lib/perl5/site_perl/5.32.1/x86_64-linux-thread-multi/auto/Module/Install +#usr/lib/perl5/site_perl/5.32.1/x86_64-linux-thread-multi/auto/Module/Install/.packlist +#usr/share/man/man3/Module::AutoInstall.3 +#usr/share/man/man3/Module::Install.3 +#usr/share/man/man3/Module::Install::API.3 +#usr/share/man/man3/Module::Install::Admin.3 +#usr/share/man/man3/Module::Install::Admin::Include.3 +#usr/share/man/man3/Module::Install::Admin::Manifest.3 +#usr/share/man/man3/Module::Install::Base.3 +#usr/share/man/man3/Module::Install::Bundle.3 +#usr/share/man/man3/Module::Install::Can.3 +#usr/share/man/man3/Module::Install::Compiler.3 +#usr/share/man/man3/Module::Install::Deprecated.3 +#usr/share/man/man3/Module::Install::External.3 +#usr/share/man/man3/Module::Install::FAQ.3 +#usr/share/man/man3/Module::Install::Makefile.3 +#usr/share/man/man3/Module::Install::PAR.3 +#usr/share/man/man3/Module::Install::Philosophy.3 +#usr/share/man/man3/Module::Install::Share.3 +#usr/share/man/man3/Module::Install::With.3 +#usr/share/man/man3/inc::Module::Install.3 +#usr/share/man/man3/inc::Module::Install::DSL.3 diff --git a/lfs/perl-Module-Install b/lfs/perl-Module-Install new file mode 100644 index 000000000..6b852f24f --- /dev/null +++ b/lfs/perl-Module-Install @@ -0,0 +1,87 @@ +############################################################################### +# # +# IPFire.org - A linux based firewall # +# Copyright (C) 2022 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 + +SUMMARY = Module::Install configuration system + +VER = 1.19 + +THISAPP = Module-Install-$(VER) +DL_FILE = $(THISAPP).tar.gz +DL_FROM = $(URL_IPFIRE) +DIR_APP = $(DIR_SRC)/$(THISAPP) +TARGET = $(DIR_INFO)/$(THISAPP) +PAK_VER = 1 + +DEPS = perl-File-Remove perl-Module-Build perl-Module-ScanDeps perl-YAML-Tiny + +SERVICES = "" + +############################################################################### +# Top-level Rules +############################################################################### + +objects = $(DL_FILE) + +$(DL_FILE) = $(DL_FROM)/$(DL_FILE) + +$(DL_FILE)_MD5 = 0d1b78cc13ebf9b9ad008c8928a5b2dd + +install : $(TARGET) + +check : $(patsubst %,$(DIR_CHK)/%,$(objects)) + +download :$(patsubst %,$(DIR_DL)/%,$(objects)) + +md5 : $(subst %,%_MD5,$(objects)) + +dist:. + $(PAK) + +############################################################################### +# 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) && yes 'n' | perl Makefile.PL + cd $(DIR_APP) && make $(MAKETUNING) $(EXTRA_MAKE) + cd $(DIR_APP) && make install + @rm -rf $(DIR_APP) + @$(POSTBUILD) diff --git a/make.sh b/make.sh index 4205fe065..ebff60cfd 100755 --- a/make.sh +++ b/make.sh @@ -1699,6 +1699,7 @@ buildipfire() { lfsmake2 perl-Module-Build lfsmake2 perl-Module-ScanDeps lfsmake2 perl-YAML-Tiny + lfsmake2 perl-Module-Install } buildinstaller() { From bc8bea129cbd85a8921b1fe47b07da5452f8ed6a Mon Sep 17 00:00:00 2001 From: Timo Eissler Date: Mon, 4 Apr 2022 17:56:44 +0200 Subject: [PATCH 08/50] perl-Imager: New package Perl extension for Generating 24 bit Images Required by perl-Imager-QRCode. Signed-off-by: Timo Eissler --- config/rootfiles/common/perl-Imager | 165 ++++++++++++++++++++++++++++ lfs/perl-Imager | 87 +++++++++++++++ make.sh | 1 + 3 files changed, 253 insertions(+) create mode 100644 config/rootfiles/common/perl-Imager create mode 100644 lfs/perl-Imager diff --git a/config/rootfiles/common/perl-Imager b/config/rootfiles/common/perl-Imager new file mode 100644 index 000000000..ffee2914d --- /dev/null +++ b/config/rootfiles/common/perl-Imager @@ -0,0 +1,165 @@ +#usr/lib/perl5/site_perl/5.32.1/x86_64-linux-thread-multi/Imager +usr/lib/perl5/site_perl/5.32.1/x86_64-linux-thread-multi/Imager.pm +usr/lib/perl5/site_perl/5.32.1/x86_64-linux-thread-multi/Imager/API.pod +usr/lib/perl5/site_perl/5.32.1/x86_64-linux-thread-multi/Imager/APIRef.pod +#usr/lib/perl5/site_perl/5.32.1/x86_64-linux-thread-multi/Imager/Color +usr/lib/perl5/site_perl/5.32.1/x86_64-linux-thread-multi/Imager/Color.pm +usr/lib/perl5/site_perl/5.32.1/x86_64-linux-thread-multi/Imager/Color/Float.pm +usr/lib/perl5/site_perl/5.32.1/x86_64-linux-thread-multi/Imager/Color/Table.pm +usr/lib/perl5/site_perl/5.32.1/x86_64-linux-thread-multi/Imager/Cookbook.pod +usr/lib/perl5/site_perl/5.32.1/x86_64-linux-thread-multi/Imager/CountColor.pm +usr/lib/perl5/site_perl/5.32.1/x86_64-linux-thread-multi/Imager/Draw.pod +usr/lib/perl5/site_perl/5.32.1/x86_64-linux-thread-multi/Imager/Engines.pod +#usr/lib/perl5/site_perl/5.32.1/x86_64-linux-thread-multi/Imager/Expr +usr/lib/perl5/site_perl/5.32.1/x86_64-linux-thread-multi/Imager/Expr.pm +usr/lib/perl5/site_perl/5.32.1/x86_64-linux-thread-multi/Imager/Expr/Assem.pm +usr/lib/perl5/site_perl/5.32.1/x86_64-linux-thread-multi/Imager/ExtUtils.pm +#usr/lib/perl5/site_perl/5.32.1/x86_64-linux-thread-multi/Imager/File +usr/lib/perl5/site_perl/5.32.1/x86_64-linux-thread-multi/Imager/File/CUR.pm +usr/lib/perl5/site_perl/5.32.1/x86_64-linux-thread-multi/Imager/File/ICO.pm +usr/lib/perl5/site_perl/5.32.1/x86_64-linux-thread-multi/Imager/File/JPEG.pm +usr/lib/perl5/site_perl/5.32.1/x86_64-linux-thread-multi/Imager/File/PNG.pm +usr/lib/perl5/site_perl/5.32.1/x86_64-linux-thread-multi/Imager/File/SGI.pm +usr/lib/perl5/site_perl/5.32.1/x86_64-linux-thread-multi/Imager/File/TIFF.pm +usr/lib/perl5/site_perl/5.32.1/x86_64-linux-thread-multi/Imager/Files.pod +usr/lib/perl5/site_perl/5.32.1/x86_64-linux-thread-multi/Imager/Fill.pm +#usr/lib/perl5/site_perl/5.32.1/x86_64-linux-thread-multi/Imager/Filter +usr/lib/perl5/site_perl/5.32.1/x86_64-linux-thread-multi/Imager/Filter/DynTest.pm +usr/lib/perl5/site_perl/5.32.1/x86_64-linux-thread-multi/Imager/Filter/Flines.pm +usr/lib/perl5/site_perl/5.32.1/x86_64-linux-thread-multi/Imager/Filter/Mandelbrot.pm +usr/lib/perl5/site_perl/5.32.1/x86_64-linux-thread-multi/Imager/Filters.pod +#usr/lib/perl5/site_perl/5.32.1/x86_64-linux-thread-multi/Imager/Font +usr/lib/perl5/site_perl/5.32.1/x86_64-linux-thread-multi/Imager/Font.pm +usr/lib/perl5/site_perl/5.32.1/x86_64-linux-thread-multi/Imager/Font/BBox.pm +usr/lib/perl5/site_perl/5.32.1/x86_64-linux-thread-multi/Imager/Font/FT2.pm +usr/lib/perl5/site_perl/5.32.1/x86_64-linux-thread-multi/Imager/Font/FreeType2.pm +usr/lib/perl5/site_perl/5.32.1/x86_64-linux-thread-multi/Imager/Font/Image.pm +usr/lib/perl5/site_perl/5.32.1/x86_64-linux-thread-multi/Imager/Font/Test.pm +usr/lib/perl5/site_perl/5.32.1/x86_64-linux-thread-multi/Imager/Font/Truetype.pm +usr/lib/perl5/site_perl/5.32.1/x86_64-linux-thread-multi/Imager/Font/Type1.pm +usr/lib/perl5/site_perl/5.32.1/x86_64-linux-thread-multi/Imager/Font/Wrap.pm +usr/lib/perl5/site_perl/5.32.1/x86_64-linux-thread-multi/Imager/Fountain.pm +usr/lib/perl5/site_perl/5.32.1/x86_64-linux-thread-multi/Imager/Handy.pod +usr/lib/perl5/site_perl/5.32.1/x86_64-linux-thread-multi/Imager/IO.pod +usr/lib/perl5/site_perl/5.32.1/x86_64-linux-thread-multi/Imager/ImageTypes.pod +usr/lib/perl5/site_perl/5.32.1/x86_64-linux-thread-multi/Imager/Inline.pod +usr/lib/perl5/site_perl/5.32.1/x86_64-linux-thread-multi/Imager/Install.pod +usr/lib/perl5/site_perl/5.32.1/x86_64-linux-thread-multi/Imager/LargeSamples.pod +usr/lib/perl5/site_perl/5.32.1/x86_64-linux-thread-multi/Imager/Matrix2d.pm +usr/lib/perl5/site_perl/5.32.1/x86_64-linux-thread-multi/Imager/Preprocess.pm +usr/lib/perl5/site_perl/5.32.1/x86_64-linux-thread-multi/Imager/Probe.pm +usr/lib/perl5/site_perl/5.32.1/x86_64-linux-thread-multi/Imager/Regops.pm +usr/lib/perl5/site_perl/5.32.1/x86_64-linux-thread-multi/Imager/Security.pod +usr/lib/perl5/site_perl/5.32.1/x86_64-linux-thread-multi/Imager/Test.pm +usr/lib/perl5/site_perl/5.32.1/x86_64-linux-thread-multi/Imager/Threads.pod +usr/lib/perl5/site_perl/5.32.1/x86_64-linux-thread-multi/Imager/Transform.pm +usr/lib/perl5/site_perl/5.32.1/x86_64-linux-thread-multi/Imager/Transformations.pod +usr/lib/perl5/site_perl/5.32.1/x86_64-linux-thread-multi/Imager/Tutorial.pod +#usr/lib/perl5/site_perl/5.32.1/x86_64-linux-thread-multi/Imager/include +#usr/lib/perl5/site_perl/5.32.1/x86_64-linux-thread-multi/Imager/include/draw.h +#usr/lib/perl5/site_perl/5.32.1/x86_64-linux-thread-multi/Imager/include/dynaload.h +#usr/lib/perl5/site_perl/5.32.1/x86_64-linux-thread-multi/Imager/include/ext.h +#usr/lib/perl5/site_perl/5.32.1/x86_64-linux-thread-multi/Imager/include/feat.h +#usr/lib/perl5/site_perl/5.32.1/x86_64-linux-thread-multi/Imager/include/imager.h +#usr/lib/perl5/site_perl/5.32.1/x86_64-linux-thread-multi/Imager/include/imageri.h +#usr/lib/perl5/site_perl/5.32.1/x86_64-linux-thread-multi/Imager/include/imconfig.h +#usr/lib/perl5/site_perl/5.32.1/x86_64-linux-thread-multi/Imager/include/imdatatypes.h +#usr/lib/perl5/site_perl/5.32.1/x86_64-linux-thread-multi/Imager/include/imerror.h +#usr/lib/perl5/site_perl/5.32.1/x86_64-linux-thread-multi/Imager/include/imexif.h +#usr/lib/perl5/site_perl/5.32.1/x86_64-linux-thread-multi/Imager/include/imext.h +#usr/lib/perl5/site_perl/5.32.1/x86_64-linux-thread-multi/Imager/include/imextdef.h +#usr/lib/perl5/site_perl/5.32.1/x86_64-linux-thread-multi/Imager/include/imextpl.h +#usr/lib/perl5/site_perl/5.32.1/x86_64-linux-thread-multi/Imager/include/imextpltypes.h +#usr/lib/perl5/site_perl/5.32.1/x86_64-linux-thread-multi/Imager/include/imexttypes.h +#usr/lib/perl5/site_perl/5.32.1/x86_64-linux-thread-multi/Imager/include/imio.h +#usr/lib/perl5/site_perl/5.32.1/x86_64-linux-thread-multi/Imager/include/immacros.h +#usr/lib/perl5/site_perl/5.32.1/x86_64-linux-thread-multi/Imager/include/imperl.h +#usr/lib/perl5/site_perl/5.32.1/x86_64-linux-thread-multi/Imager/include/imperlio.h +#usr/lib/perl5/site_perl/5.32.1/x86_64-linux-thread-multi/Imager/include/imrender.h +#usr/lib/perl5/site_perl/5.32.1/x86_64-linux-thread-multi/Imager/include/iolayer.h +#usr/lib/perl5/site_perl/5.32.1/x86_64-linux-thread-multi/Imager/include/iolayert.h +#usr/lib/perl5/site_perl/5.32.1/x86_64-linux-thread-multi/Imager/include/log.h +#usr/lib/perl5/site_perl/5.32.1/x86_64-linux-thread-multi/Imager/include/plug.h +#usr/lib/perl5/site_perl/5.32.1/x86_64-linux-thread-multi/Imager/include/ppport.h +#usr/lib/perl5/site_perl/5.32.1/x86_64-linux-thread-multi/Imager/include/regmach.h +#usr/lib/perl5/site_perl/5.32.1/x86_64-linux-thread-multi/Imager/include/rendert.h +#usr/lib/perl5/site_perl/5.32.1/x86_64-linux-thread-multi/Imager/include/stackmach.h +usr/lib/perl5/site_perl/5.32.1/x86_64-linux-thread-multi/Imager/interface.pod +usr/lib/perl5/site_perl/5.32.1/x86_64-linux-thread-multi/Imager/regmach.pod +#usr/lib/perl5/site_perl/5.32.1/x86_64-linux-thread-multi/Imager/typemap +#usr/lib/perl5/site_perl/5.32.1/x86_64-linux-thread-multi/auto/Imager +#usr/lib/perl5/site_perl/5.32.1/x86_64-linux-thread-multi/auto/Imager/.packlist +#usr/lib/perl5/site_perl/5.32.1/x86_64-linux-thread-multi/auto/Imager/CountColor +usr/lib/perl5/site_perl/5.32.1/x86_64-linux-thread-multi/auto/Imager/CountColor/CountColor.so +#usr/lib/perl5/site_perl/5.32.1/x86_64-linux-thread-multi/auto/Imager/File +#usr/lib/perl5/site_perl/5.32.1/x86_64-linux-thread-multi/auto/Imager/File/ICO +usr/lib/perl5/site_perl/5.32.1/x86_64-linux-thread-multi/auto/Imager/File/ICO/ICO.so +#usr/lib/perl5/site_perl/5.32.1/x86_64-linux-thread-multi/auto/Imager/File/JPEG +usr/lib/perl5/site_perl/5.32.1/x86_64-linux-thread-multi/auto/Imager/File/JPEG/JPEG.so +#usr/lib/perl5/site_perl/5.32.1/x86_64-linux-thread-multi/auto/Imager/File/PNG +usr/lib/perl5/site_perl/5.32.1/x86_64-linux-thread-multi/auto/Imager/File/PNG/PNG.so +#usr/lib/perl5/site_perl/5.32.1/x86_64-linux-thread-multi/auto/Imager/File/SGI +usr/lib/perl5/site_perl/5.32.1/x86_64-linux-thread-multi/auto/Imager/File/SGI/SGI.so +#usr/lib/perl5/site_perl/5.32.1/x86_64-linux-thread-multi/auto/Imager/File/TIFF +usr/lib/perl5/site_perl/5.32.1/x86_64-linux-thread-multi/auto/Imager/File/TIFF/TIFF.so +#usr/lib/perl5/site_perl/5.32.1/x86_64-linux-thread-multi/auto/Imager/Filter +#usr/lib/perl5/site_perl/5.32.1/x86_64-linux-thread-multi/auto/Imager/Filter/DynTest +usr/lib/perl5/site_perl/5.32.1/x86_64-linux-thread-multi/auto/Imager/Filter/DynTest/DynTest.so +#usr/lib/perl5/site_perl/5.32.1/x86_64-linux-thread-multi/auto/Imager/Filter/Flines +usr/lib/perl5/site_perl/5.32.1/x86_64-linux-thread-multi/auto/Imager/Filter/Flines/Flines.so +#usr/lib/perl5/site_perl/5.32.1/x86_64-linux-thread-multi/auto/Imager/Filter/Mandelbrot +usr/lib/perl5/site_perl/5.32.1/x86_64-linux-thread-multi/auto/Imager/Filter/Mandelbrot/Mandelbrot.so +#usr/lib/perl5/site_perl/5.32.1/x86_64-linux-thread-multi/auto/Imager/Font +#usr/lib/perl5/site_perl/5.32.1/x86_64-linux-thread-multi/auto/Imager/Font/FT2 +usr/lib/perl5/site_perl/5.32.1/x86_64-linux-thread-multi/auto/Imager/Font/FT2/FT2.so +usr/lib/perl5/site_perl/5.32.1/x86_64-linux-thread-multi/auto/Imager/Imager.so +#usr/share/man/man3/Imager.3 +#usr/share/man/man3/Imager::API.3 +#usr/share/man/man3/Imager::APIRef.3 +#usr/share/man/man3/Imager::Color.3 +#usr/share/man/man3/Imager::Color::Float.3 +#usr/share/man/man3/Imager::Color::Table.3 +#usr/share/man/man3/Imager::Cookbook.3 +#usr/share/man/man3/Imager::CountColor.3 +#usr/share/man/man3/Imager::Draw.3 +#usr/share/man/man3/Imager::Engines.3 +#usr/share/man/man3/Imager::Expr.3 +#usr/share/man/man3/Imager::Expr::Assem.3 +#usr/share/man/man3/Imager::ExtUtils.3 +#usr/share/man/man3/Imager::File::ICO.3 +#usr/share/man/man3/Imager::File::JPEG.3 +#usr/share/man/man3/Imager::File::PNG.3 +#usr/share/man/man3/Imager::File::SGI.3 +#usr/share/man/man3/Imager::File::TIFF.3 +#usr/share/man/man3/Imager::Files.3 +#usr/share/man/man3/Imager::Fill.3 +#usr/share/man/man3/Imager::Filter::Flines.3 +#usr/share/man/man3/Imager::Filter::Mandelbrot.3 +#usr/share/man/man3/Imager::Filters.3 +#usr/share/man/man3/Imager::Font.3 +#usr/share/man/man3/Imager::Font::BBox.3 +#usr/share/man/man3/Imager::Font::FT2.3 +#usr/share/man/man3/Imager::Font::FreeType2.3 +#usr/share/man/man3/Imager::Font::Test.3 +#usr/share/man/man3/Imager::Font::Truetype.3 +#usr/share/man/man3/Imager::Font::Type1.3 +#usr/share/man/man3/Imager::Font::Wrap.3 +#usr/share/man/man3/Imager::Fountain.3 +#usr/share/man/man3/Imager::Handy.3 +#usr/share/man/man3/Imager::IO.3 +#usr/share/man/man3/Imager::ImageTypes.3 +#usr/share/man/man3/Imager::Inline.3 +#usr/share/man/man3/Imager::Install.3 +#usr/share/man/man3/Imager::LargeSamples.3 +#usr/share/man/man3/Imager::Matrix2d.3 +#usr/share/man/man3/Imager::Preprocess.3 +#usr/share/man/man3/Imager::Probe.3 +#usr/share/man/man3/Imager::Regops.3 +#usr/share/man/man3/Imager::Security.3 +#usr/share/man/man3/Imager::Test.3 +#usr/share/man/man3/Imager::Threads.3 +#usr/share/man/man3/Imager::Transform.3 +#usr/share/man/man3/Imager::Transformations.3 +#usr/share/man/man3/Imager::Tutorial.3 +#usr/share/man/man3/Imager::interface.3 +#usr/share/man/man3/Imager::regmach.3 diff --git a/lfs/perl-Imager b/lfs/perl-Imager new file mode 100644 index 000000000..f82406b3c --- /dev/null +++ b/lfs/perl-Imager @@ -0,0 +1,87 @@ +############################################################################### +# # +# IPFire.org - A linux based firewall # +# Copyright (C) 2022 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 + +SUMMARY = Perl extension for Generating 24 bit Images + +VER = 1.012 + +THISAPP = Imager-$(VER) +DL_FILE = $(THISAPP).tar.gz +DL_FROM = $(URL_IPFIRE) +DIR_APP = $(DIR_SRC)/$(THISAPP) +TARGET = $(DIR_INFO)/$(THISAPP) +PAK_VER = 1 + +DEPS = "" + +SERVICES = "" + +############################################################################### +# Top-level Rules +############################################################################### + +objects = $(DL_FILE) + +$(DL_FILE) = $(DL_FROM)/$(DL_FILE) + +$(DL_FILE)_MD5 = dccef95bf6c7881c5af8336b54609132 + +install : $(TARGET) + +check : $(patsubst %,$(DIR_CHK)/%,$(objects)) + +download :$(patsubst %,$(DIR_DL)/%,$(objects)) + +md5 : $(subst %,%_MD5,$(objects)) + +dist:. + $(PAK) + +############################################################################### +# 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) && yes 'n' | perl Makefile.PL + cd $(DIR_APP) && make $(MAKETUNING) $(EXTRA_MAKE) + cd $(DIR_APP) && make install + @rm -rf $(DIR_APP) + @$(POSTBUILD) diff --git a/make.sh b/make.sh index ebff60cfd..571796324 100755 --- a/make.sh +++ b/make.sh @@ -1700,6 +1700,7 @@ buildipfire() { lfsmake2 perl-Module-ScanDeps lfsmake2 perl-YAML-Tiny lfsmake2 perl-Module-Install + lfsmake2 perl-Imager } buildinstaller() { From e97759c292d49a5c397e52fe46a17e4674623f29 Mon Sep 17 00:00:00 2001 From: Timo Eissler Date: Mon, 4 Apr 2022 17:58:19 +0200 Subject: [PATCH 09/50] perl-Imager-QRCode: New package Generate QR Code with Imager using libqrencode Signed-off-by: Timo Eissler --- config/rootfiles/common/perl-Imager-QRCode | 5 ++ lfs/perl-Imager-QRCode | 87 ++++++++++++++++++++++ make.sh | 1 + 3 files changed, 93 insertions(+) create mode 100644 config/rootfiles/common/perl-Imager-QRCode create mode 100644 lfs/perl-Imager-QRCode diff --git a/config/rootfiles/common/perl-Imager-QRCode b/config/rootfiles/common/perl-Imager-QRCode new file mode 100644 index 000000000..a29c7a615 --- /dev/null +++ b/config/rootfiles/common/perl-Imager-QRCode @@ -0,0 +1,5 @@ +usr/lib/perl5/site_perl/5.32.1/x86_64-linux-thread-multi/Imager/QRCode.pm +#usr/lib/perl5/site_perl/5.32.1/x86_64-linux-thread-multi/auto/Imager/QRCode +#usr/lib/perl5/site_perl/5.32.1/x86_64-linux-thread-multi/auto/Imager/QRCode/.packlist +usr/lib/perl5/site_perl/5.32.1/x86_64-linux-thread-multi/auto/Imager/QRCode/QRCode.so +#usr/share/man/man3/Imager::QRCode.3 diff --git a/lfs/perl-Imager-QRCode b/lfs/perl-Imager-QRCode new file mode 100644 index 000000000..20bc210ba --- /dev/null +++ b/lfs/perl-Imager-QRCode @@ -0,0 +1,87 @@ +############################################################################### +# # +# IPFire.org - A linux based firewall # +# Copyright (C) 2022 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 + +SUMMARY = Generate QR Code with Imager using libqrencode + +VER = 0.035 + +THISAPP = Imager-QRCode-$(VER) +DL_FILE = $(THISAPP).tar.gz +DL_FROM = $(URL_IPFIRE) +DIR_APP = $(DIR_SRC)/$(THISAPP) +TARGET = $(DIR_INFO)/$(THISAPP) +PAK_VER = 1 + +DEPS = perl-Module-Install perl-Imager + +SERVICES = "" + +############################################################################### +# Top-level Rules +############################################################################### + +objects = $(DL_FILE) + +$(DL_FILE) = $(DL_FROM)/$(DL_FILE) + +$(DL_FILE)_MD5 = f1507d37169f128477cc1d69e0394221 + +install : $(TARGET) + +check : $(patsubst %,$(DIR_CHK)/%,$(objects)) + +download :$(patsubst %,$(DIR_DL)/%,$(objects)) + +md5 : $(subst %,%_MD5,$(objects)) + +dist:. + $(PAK) + +############################################################################### +# 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) && yes 'n' | perl Makefile.PL + cd $(DIR_APP) && make $(MAKETUNING) $(EXTRA_MAKE) + cd $(DIR_APP) && make install + @rm -rf $(DIR_APP) + @$(POSTBUILD) diff --git a/make.sh b/make.sh index 571796324..08f5c2aea 100755 --- a/make.sh +++ b/make.sh @@ -1701,6 +1701,7 @@ buildipfire() { lfsmake2 perl-YAML-Tiny lfsmake2 perl-Module-Install lfsmake2 perl-Imager + lfsmake2 perl-Imager-QRCode } buildinstaller() { From dc124917e3a0468ae4f1a4c6fe15ed3c68fc2f62 Mon Sep 17 00:00:00 2001 From: Timo Eissler Date: Fri, 8 Apr 2022 08:11:07 +0200 Subject: [PATCH 10/50] perl-MIME-Base32: New package Base32 encoder and decoder Signed-off-by: Timo Eissler --- config/rootfiles/common/perl-MIME-Base32 | 4 ++ lfs/perl-MIME-Base32 | 87 ++++++++++++++++++++++++ make.sh | 1 + 3 files changed, 92 insertions(+) create mode 100644 config/rootfiles/common/perl-MIME-Base32 create mode 100644 lfs/perl-MIME-Base32 diff --git a/config/rootfiles/common/perl-MIME-Base32 b/config/rootfiles/common/perl-MIME-Base32 new file mode 100644 index 000000000..075a9b902 --- /dev/null +++ b/config/rootfiles/common/perl-MIME-Base32 @@ -0,0 +1,4 @@ +usr/lib/perl5/site_perl/5.32.1/MIME/Base32.pm +#usr/lib/perl5/site_perl/5.32.1/x86_64-linux-thread-multi/auto/MIME/Base32 +#usr/lib/perl5/site_perl/5.32.1/x86_64-linux-thread-multi/auto/MIME/Base32/.packlist +#usr/share/man/man3/MIME::Base32.3 diff --git a/lfs/perl-MIME-Base32 b/lfs/perl-MIME-Base32 new file mode 100644 index 000000000..e65c36734 --- /dev/null +++ b/lfs/perl-MIME-Base32 @@ -0,0 +1,87 @@ +############################################################################### +# # +# IPFire.org - A linux based firewall # +# Copyright (C) 2022 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 + +SUMMARY = Base32 encoder and decoder + +VER = 1.303 + +THISAPP = MIME-Base32-$(VER) +DL_FILE = $(THISAPP).tar.gz +DL_FROM = $(URL_IPFIRE) +DIR_APP = $(DIR_SRC)/$(THISAPP) +TARGET = $(DIR_INFO)/$(THISAPP) +PAK_VER = 1 + +DEPS = "" + +SERVICES = "" + +############################################################################### +# Top-level Rules +############################################################################### + +objects = $(DL_FILE) + +$(DL_FILE) = $(DL_FROM)/$(DL_FILE) + +$(DL_FILE)_MD5 = 0c7735fa09e74c7f2ec93d1890b8c6c0 + +install : $(TARGET) + +check : $(patsubst %,$(DIR_CHK)/%,$(objects)) + +download :$(patsubst %,$(DIR_DL)/%,$(objects)) + +md5 : $(subst %,%_MD5,$(objects)) + +dist:. + $(PAK) + +############################################################################### +# 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) && yes 'n' | perl Makefile.PL + cd $(DIR_APP) && make $(MAKETUNING) $(EXTRA_MAKE) + cd $(DIR_APP) && make install + @rm -rf $(DIR_APP) + @$(POSTBUILD) diff --git a/make.sh b/make.sh index 08f5c2aea..6f9a776f7 100755 --- a/make.sh +++ b/make.sh @@ -1702,6 +1702,7 @@ buildipfire() { lfsmake2 perl-Module-Install lfsmake2 perl-Imager lfsmake2 perl-Imager-QRCode + lfsmake2 perl-MIME-Base32 } buildinstaller() { From e1e10515ece3bbe51936d572f32b14f02db6750d Mon Sep 17 00:00:00 2001 From: Timo Eissler Date: Fri, 8 Apr 2022 10:50:20 +0200 Subject: [PATCH 11/50] OpenVPN: Add support for 2FA / One-Time Password Add two-factor authentication (2FA) to OpenVPN host connections with one-time passwords. The 2FA can be enabled or disabled per host connection and requires the client to download it's configuration again after 2FA has beend enabled for it. Additionally the client needs to configure an TOTP application, like "Google Authenticator" which then provides the second factor. To faciliate this every connection with enabled 2FA gets an "show qrcode" button after the "show file" button in the host connection list to show the 2FA secret and an 2FA configuration QRCode. When 2FA is enabled, the client needs to provide the second factor plus the private key password (if set) to successfully authorize. This only supports time based one-time passwords, TOTP with 30s window and 6 digits, for now but we may update this in the future. Signed-off-by: Timo Eissler --- .../httpd/vhosts.d/ipfire-interface-ssl.conf | 2 +- config/httpd/vhosts.d/ipfire-interface.conf | 2 +- config/ovpn/otp-verify | 106 ++++++++++++++++++ html/cgi-bin/ovpnmain.cgi | 91 ++++++++++++++- html/html/images/qr-code.png | Bin 0 -> 760 bytes html/html/images/qr-code.svg | 49 ++++++++ langs/de/cgi-bin/de.pl | 4 + langs/en/cgi-bin/en.pl | 4 + lfs/openvpn | 3 + 9 files changed, 255 insertions(+), 6 deletions(-) create mode 100644 config/ovpn/otp-verify create mode 100644 html/html/images/qr-code.png create mode 100644 html/html/images/qr-code.svg diff --git a/config/httpd/vhosts.d/ipfire-interface-ssl.conf b/config/httpd/vhosts.d/ipfire-interface-ssl.conf index 8c4cf3806..639f1d479 100644 --- a/config/httpd/vhosts.d/ipfire-interface-ssl.conf +++ b/config/httpd/vhosts.d/ipfire-interface-ssl.conf @@ -21,7 +21,7 @@ SSLCertificateKeyFile /etc/httpd/server-ecdsa.key Header always set X-Content-Type-Options nosniff - Header always set Content-Security-Policy "default-src 'self'; script-src 'self' 'unsafe-inline' 'unsafe-eval'; style-src 'self' 'unsafe-inline'" + Header always set Content-Security-Policy "default-src 'self'; script-src 'self' 'unsafe-inline' 'unsafe-eval'; style-src 'self' 'unsafe-inline'; img-src 'self' data:" Header always set Referrer-Policy strict-origin Header always set X-Frame-Options sameorigin diff --git a/config/httpd/vhosts.d/ipfire-interface.conf b/config/httpd/vhosts.d/ipfire-interface.conf index 2cf57dd29..caa4b92f0 100644 --- a/config/httpd/vhosts.d/ipfire-interface.conf +++ b/config/httpd/vhosts.d/ipfire-interface.conf @@ -7,7 +7,7 @@ RewriteRule .* - [F] Header always set X-Content-Type-Options nosniff - Header always set Content-Security-Policy "default-src 'self'; script-src 'self' 'unsafe-inline' 'unsafe-eval'; style-src 'self' 'unsafe-inline'" + Header always set Content-Security-Policy "default-src 'self'; script-src 'self' 'unsafe-inline' 'unsafe-eval'; style-src 'self' 'unsafe-inline'; img-src: 'self' data:" Header always set Referrer-Policy strict-origin Header always set X-Frame-Options sameorigin diff --git a/config/ovpn/otp-verify b/config/ovpn/otp-verify new file mode 100644 index 000000000..80a1a1a04 --- /dev/null +++ b/config/ovpn/otp-verify @@ -0,0 +1,106 @@ +#!/usr/bin/perl +############################################################################ +# # +# This file is part of the IPFire Firewall. # +# # +# IPFire 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 2 of the License, or # +# (at your option) any later version. # +# # +# IPFire 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 IPFire; if not, write to the Free Software # +# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA # +# # +# Copyright (C) 2022 IPFire Team . # +# # +############################################################################ + +use strict; +use warnings; + +use MIME::Base64; + +require '/var/ipfire/general-functions.pl'; + +my $cn; +my $prefix; +my $password; +my $otp; +my @valid_otps; + +#&General::log("otp-verify DEBUG: ENV:common_name: $ENV{'common_name'}"); + +# line 1: +# line 2: e.g.: SCRV1:cGFzc3dvcmQ=:ODg2MTM2 +while(<>) { + #&General::log("otp-verify DEBUG: line: $_"); + if ($_ =~ /^(?!SCRV[[:digit:]]).+/) { + chomp; + $cn = $_; + #$cn =~ s/\s*$//g; + } + if ($_ =~ /^SCRV[[:digit:]]:.+/) { + ($prefix, $password, $otp) = split /:/; + $password = decode_base64($password); + $otp = decode_base64($otp); + } +} + +if ($cn == "") { + #&General::log("otp-verify DEBUG: no credentials provided by client, setting CN from ENV."); + $cn = $ENV{'common_name'}; +} + +#&General::log("otp-verify DEBUG: CN: \"$cn\"\n"); +#&General::log("otp-verify DEBUG: PW: \"$password\"\n"); +#&General::log("otp-verify DEBUG: OTP: \"$otp\"\n"); +#&General::log("otp-verify DEBUG: ----\n"); + +my %confighash = (); +if (-f "${General::swroot}/ovpn/ovpnconfig") { + &General::readhasharray("${General::swroot}/ovpn/ovpnconfig", \%confighash); + foreach my $key (keys %confighash){ + if ($cn eq $confighash{$key}[2]) { + # Exit successfully for non-roadwarrior connections. + exit 0 unless ($confighash{$key}[3] eq "host"); + + # Exit successfully for disabled otp connections. + exit 0 unless (defined $confighash{$key}[43] and $confighash{$key}[43] eq "on"); + + # Exit with failure if required otp config is missing. + exit 1 if (not defined $confighash{$key}[42]); + exit 1 if (not defined $confighash{$key}[44]); + + #&General::log("otp-verify DEBUG: connection key: $key\n"); + #&General::log("otp-verify DEBUG: connection type: $confighash{$key}[3]\n"); + #&General::log("otp-verify DEBUG: CN: $confighash{$key}[2]\n"); + #&General::log("otp-verify DEBUG: otp Type: $confighash{$key}[42]\n"); + #&General::log("otp-verify DEBUG: otp State: $confighash{$key}[43]\n"); + #&General::log("otp-verify DEBUG: otp Secret: $confighash{$key}[44]\n"); + + # Get valid OTPs. + my @valid_otps = &General::system_output("/usr/bin/oathtool", "--totp", "-w", "3", "$confighash{$key}[44]"); + foreach (@valid_otps) { + # Exit successfully if OTP is correct. + exit 0 if ($otp == $_) + } + + # Exit with failure if no matching OTP was found. + exit 1; + } + } +} else { + # Return an error if ovpnconfig could not be found. + exit 1; +} + +# Exit successfully if no auth-user-pass data received. +exit 0; + +# vim: ts=3 sts=3 sw=3 et nu list diff --git a/html/cgi-bin/ovpnmain.cgi b/html/cgi-bin/ovpnmain.cgi index c2558bd81..01cbf6833 100644 --- a/html/cgi-bin/ovpnmain.cgi +++ b/html/cgi-bin/ovpnmain.cgi @@ -38,8 +38,8 @@ require "${General::swroot}/countries.pl"; require "${General::swroot}/location-functions.pl"; # enable only the following on debugging purpose -#use warnings; -#use CGI::Carp 'fatalsToBrowser'; +use warnings; +use CGI::Carp 'fatalsToBrowser'; #workaround to suppress a warning when a variable is used only once my @dummy = ( ${Header::colourgreen}, ${Header::colourblue} ); undef (@dummy); @@ -372,6 +372,9 @@ sub writeserverconf { } print CONF "tls-verify /usr/lib/openvpn/verify\n"; print CONF "crl-verify /var/ipfire/ovpn/crls/cacrl.pem\n"; + print CONF "auth-user-pass-verify \"/usr/lib/openvpn/otp-verify\" via-file\n"; + print CONF "auth-user-pass-optional\n"; + print CONF "reneg-sec 86400\n"; print CONF "user nobody\n"; print CONF "group nobody\n"; print CONF "persist-key\n"; @@ -2430,6 +2433,17 @@ else if ($vpnsettings{FRAGMENT} ne '' && $vpnsettings{DPROTOCOL} ne 'tcp' ) { print CLIENTCONF "fragment $vpnsettings{'FRAGMENT'}\r\n"; } + if ($confighash{$cgiparams{'KEY'}}[43] eq 'on') { + print CLIENTCONF "auth-nocache\r\n"; + print CLIENTCONF "auth-user-pass credentials\r\n"; + print CLIENTCONF "static-challenge \"One Time Password (OTP): \" 1\r\n"; + + open(CLIENTCREDS, ">$tempdir/credentials") or die "Unable to open tempfile: $!"; + print CLIENTCREDS "user\r\n"; + print CLIENTCREDS "password"; + close(CLIENTCREDS); + $zip->addFile( "$tempdir/credentials", "credentials") or die "Can't add file credentials\n"; + } if ($include_certs) { print CLIENTCONF "\r\n"; @@ -2617,6 +2631,48 @@ else exit(0); } +### +### Display OTP QRCode +### +} elsif ($cgiparams{'ACTION'} eq $Lang::tr{'show otp qrcode'}) { + &General::readhasharray("${General::swroot}/ovpn/ovpnconfig", \%confighash); + + use MIME::Base32; + use MIME::Base64; + use Imager::QRCode; + my $qrcode = Imager::QRCode->new( + size => 6, + margin => 0, + version => 0, + level => 'M', + mode => '8-bit', + casesensitive => 1, + lightcolor => Imager::Color->new(255, 255, 255), + darkcolor => Imager::Color->new(0, 0, 0), + ); + my $cn = $confighash{$cgiparams{'KEY'}}[2]; + my $secret = encode_base32($confighash{$cgiparams{'KEY'}}[44]); + my $issuer = "$mainsettings{'HOSTNAME'}.$mainsettings{'DOMAINNAME'}"; + my $qrcodeimg = $qrcode->plot("otpauth://totp/$cn?secret=$secret&issuer=$issuer"); + my $qrcodeimgdata; + $qrcodeimg->write(data => \$qrcodeimgdata, type=> 'png') + or die $qrcodeimg->errstr; + $qrcodeimgdata = encode_base64($qrcodeimgdata, ''); + + &Header::showhttpheaders(); + &Header::openpage($Lang::tr{'ovpn'}, 1, ''); + &Header::openbigbox('100%', 'LEFT', '', ''); + &Header::openbox('100%', 'LEFT', "$Lang::tr{'otp qrcode'}:"); + print <
+$Lang::tr{'otp qrcode'} +END + &Header::closebox(); + print ""; + &Header::closebigbox(); + &Header::closepage(); + exit(0); + ### ### Display Diffie-Hellman key ### @@ -3660,6 +3716,7 @@ if ($confighash{$cgiparams{'KEY'}}) { $cgiparams{'DAUTH'} = $confighash{$cgiparams{'KEY'}}[39]; $cgiparams{'DCIPHER'} = $confighash{$cgiparams{'KEY'}}[40]; $cgiparams{'TLSAUTH'} = $confighash{$cgiparams{'KEY'}}[41]; + $cgiparams{'OTP_STATE'} = $confighash{$cgiparams{'KEY'}}[43]; } elsif ($cgiparams{'ACTION'} eq $Lang::tr{'save'}) { $cgiparams{'REMARK'} = &Header::cleanhtml($cgiparams{'REMARK'}); @@ -4422,6 +4479,15 @@ if ($cgiparams{'TYPE'} eq 'net') { $confighash{$key}[41] = "no-pass"; } + $confighash{$key}[42] = 'HOTP/T30/6'; + $confighash{$key}[43] = $cgiparams{'OTP_STATE'}; + if (($confighash{$key}[43] == 'on') && ($confighash{$key}[44] == '')) { + my @otp_secret = &General::system_output("/usr/bin/openssl", "rand", "-hex", "20"); + $confighash{$key}[44] = $otp_secret[0]; + } elsif ($confighash{$key}[43] == '') { + $confighash{$key}[44] = ''; + } + &General::writehasharray("${General::swroot}/ovpn/ovpnconfig", \%confighash); if ($cgiparams{'CHECK1'} ){ @@ -4835,6 +4901,7 @@ if ($cgiparams{'TYPE'} eq 'host') { print"

"; my $name=$cgiparams{'CHECK1'}; $checked{'RG'}{$cgiparams{'RG'}} = 'CHECKED'; + $checked{'OTP_STATE'}{$cgiparams{'OTP_STATE'}} = 'CHECKED'; if (! -z "${General::swroot}/ovpn/ccd.conf"){ print""; @@ -4970,6 +5037,7 @@ if ($cgiparams{'TYPE'} eq 'host') { print < + @@ -5413,7 +5481,7 @@ END - + END } @@ -5427,7 +5495,7 @@ END - + END } @@ -5560,6 +5628,19 @@ END ; } else { print ""; } + + if ($confighash{$key}[43] eq 'on') { + print < +END +; } else { + print ""; + } + if ($confighash{$key}[4] eq 'cert' && -f "${General::swroot}/ovpn/certs/$confighash{$key}[1].p12") { print < + +
$Lang::tr{'ccd name'}$Lang::tr{'network'}$Lang::tr{'ccd clientip'}
$Lang::tr{'enable otp'}:
Redirect Gateway:

$Lang::tr{'ccd routes'}
 
$Lang::tr{'type'} $Lang::tr{'remark'} $Lang::tr{'status'}$Lang::tr{'action'}$Lang::tr{'action'}
$Lang::tr{'type'} $Lang::tr{'remark'} $Lang::tr{'status'}$Lang::tr{'action'}$Lang::tr{'action'}
  + + + +  @@ -5628,6 +5709,8 @@ END $Lang::tr{'download certificate'}     ?RELOAD $Lang::tr{'dl client arch'}    $Lang::tr{$Lang::tr{'show otp qrcode'}

END diff --git a/html/html/images/qr-code.png b/html/html/images/qr-code.png new file mode 100644 index 0000000000000000000000000000000000000000..946e10a2a5202e614d3628ac1463b772d752e903 GIT binary patch literal 760 zcmeAS@N?(olHy`uVBq!ia0vp^A|TAc0wmQNuC@UwmUKs7M+SzC{oH>NS%G|oWRD45bDP46hOx7_4S6Fo+k-*%fF5lweBoc6VW5Sk21sKVxC%v=9~KU4N5-fpMazi(`n!`QFRtyL%HQj(t4;d0u#5vBoJUO5 z>;5oyMc&Y;?wxC7X6(IKO?v4R4Qc63i%xc()F|@lbvdW;)3kR{r{lT8d*3(CFwS4T za^=qVcfa0={eJcDTg9$Vixyk%Et?s;<#V@1b3FTVRjbA;sxM0-^j$#k(*@J}TDR<(`g$5ylZ@kprBdBN z=|zFgX~*=VRqTE**Pd~8O6i(Bt7Q-8nd((MnzoA3c-_)#Qf9a8g4Z2iFlka~+ud)6 zHC2OW`7K)%UiZp5$;bDao5jP$XZtj=t6pYz-MMGBW-9BUNw%+c&G{U6*2;XE(&j@8 zgp2miEssC?Ybo1owmVZI-gZ6S#M<)sT!+xsM~imudjIO&s*2p#Hiv5e{a`Y?p(q+y zbYn}tT}9SpW~RVpp(Xb|inhso@$5gn=!g8J!YM1}eZOi7j4#y^*NBpo#FA92{(JackNi%Y;l3WkBEO$CK>9uv5M)-iax L`njxgN@xNArGG6& literal 0 HcmV?d00001 diff --git a/html/html/images/qr-code.svg b/html/html/images/qr-code.svg new file mode 100644 index 000000000..66c6b9d17 --- /dev/null +++ b/html/html/images/qr-code.svg @@ -0,0 +1,49 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/langs/de/cgi-bin/de.pl b/langs/de/cgi-bin/de.pl index 7a39e233b..1799d8c74 100644 --- a/langs/de/cgi-bin/de.pl +++ b/langs/de/cgi-bin/de.pl @@ -979,6 +979,7 @@ 'empty profile' => 'Unbenannt', 'enable ignore filter' => '"Ignorieren"-Filter ein', 'enable javascript' => 'Javascript aktivieren', +'enable otp' => 'Aktiviere OTP', 'enable smt' => 'Simultaneous Multi-Threading (SMT) einschalten', 'enable wildcards' => 'Wildcards erlauben:', 'enabled' => 'Aktiviert:', @@ -1903,6 +1904,7 @@ 'other login script' => 'Anderes Anmeldeskript', 'otherip' => 'Andere IP', 'otherport' => 'Anderer Port', +'otp qrcode' => 'OTP QRCode', 'our donors' => 'Unsere Unterstützer', 'out' => 'Aus', 'outgoing' => 'ausgehend', @@ -2201,6 +2203,7 @@ 'secondary ntp server' => 'Sekundärer NTP-Server', 'secondary wins server address' => 'Sekundärer WINS-Server', 'seconds' => 'Sek.', +'secret' => 'Geheimnis', 'section' => 'Abschnitt', 'secure shell server' => 'Secure Shell Server', 'security' => 'Sicherheit', @@ -2244,6 +2247,7 @@ 'show last x lines' => 'die letzten x Zeilen anzeigen', 'show root certificate' => 'Root-Zertifikat anzeigen', 'show share options' => 'Anzeige der Freigabeeinstellungen', +'show otp qrcode' => 'Zeige OTP QRCode', 'shuffle' => 'Zufall', 'shutdown' => 'Herunterfahren', 'shutdown ask' => 'Herunterfahren?', diff --git a/langs/en/cgi-bin/en.pl b/langs/en/cgi-bin/en.pl index f90e3103b..9cc2fde05 100644 --- a/langs/en/cgi-bin/en.pl +++ b/langs/en/cgi-bin/en.pl @@ -1018,6 +1018,7 @@ 'empty' => 'This field may be left blank', 'empty profile' => 'empty', 'enable' => 'Enable', +'enable otp' => 'Enable OTP', 'enable ignore filter' => 'Enable ignore filter', 'enable javascript' => 'Enable javascript', 'enable smt' => 'Enable Simultaneous Multi-Threading (SMT)', @@ -1955,6 +1956,7 @@ 'other login script' => 'Other login script', 'otherip' => 'other IP', 'otherport' => 'other Port', +'otp qrcode' => 'OTP QRCode', 'our donors' => 'Our donors', 'out' => 'Out', 'outgoing' => 'outgoing', @@ -2253,6 +2255,7 @@ 'secondary ntp server' => 'Secondary NTP server', 'secondary wins server address' => 'Secondary WINS server address', 'seconds' => 'Secs', +'secret' => 'Secret', 'section' => 'Section', 'secure shell server' => 'Secure Shell Server', 'security' => 'Security', @@ -2297,6 +2300,7 @@ 'show host certificate' => 'Show host certificate', 'show last x lines' => 'Show last x lines', 'show lines' => 'Show lines', +'show otp qrcode' => 'Show OTP QRCode', 'show root certificate' => 'Show root certificate', 'show share options' => 'Show shares options', 'show tls-auth key' => 'Show tls-auth key', diff --git a/lfs/openvpn b/lfs/openvpn index 27a052ae1..29c5f4a2a 100644 --- a/lfs/openvpn +++ b/lfs/openvpn @@ -96,6 +96,9 @@ $(TARGET) : $(patsubst %,$(DIR_DL)/%,$(objects)) mv -v /var/ipfire/ovpn/verify /usr/lib/openvpn/verify chown root:root /usr/lib/openvpn/verify chmod 755 /usr/lib/openvpn/verify + mv -v /var/ipfire/ovpn/otp-verify /usr/lib/openvpn/otp-verify + chown root:root /usr/lib/openvpn/otp-verify + chmod 755 /usr/lib/openvpn/otp-verify # Add crl updater mv -v /var/ipfire/ovpn/openvpn-crl-updater /etc/fcron.daily chown root:root /etc/fcron.daily/openvpn-crl-updater From e0fa8c25e88860df2f1dd9e60a212d9f3a4fbb4d Mon Sep 17 00:00:00 2001 From: Michael Tremer Date: Thu, 14 Apr 2022 19:15:42 +0000 Subject: [PATCH 12/50] qrencode: Rename package and update checksum Signed-off-by: Michael Tremer --- lfs/{libqrencode => qrencode} | 15 +++------------ make.sh | 2 +- 2 files changed, 4 insertions(+), 13 deletions(-) rename lfs/{libqrencode => qrencode} (91%) diff --git a/lfs/libqrencode b/lfs/qrencode similarity index 91% rename from lfs/libqrencode rename to lfs/qrencode index ee6de1212..aaf004b4d 100644 --- a/lfs/libqrencode +++ b/lfs/qrencode @@ -24,21 +24,13 @@ include Config -SUMMARY = A fast and compact QR Code encoding library - VER = 4.1.1 -THISAPP = libqrencode-$(VER) +THISAPP = qrencode-$(VER) DL_FILE = $(THISAPP).tar.gz DL_FROM = $(URL_IPFIRE) DIR_APP = $(DIR_SRC)/$(THISAPP) TARGET = $(DIR_INFO)/$(THISAPP) -PROG = libqrencode -PAK_VER = 1 - -DEPS = "" - -SERVICES = "" ############################################################################### # Top-level Rules @@ -48,7 +40,7 @@ objects = $(DL_FILE) $(DL_FILE) = $(DL_FROM)/$(DL_FILE) -$(DL_FILE)_MD5 = 486f879d1638d3fb58a4a5d45a88c600 +$(DL_FILE)_BLAKE2 = 03416ffdb8bf992ef2323a0bc92b52f3a6605e7eb182e3839178fea3c3669242780171b10e77674f0945224e57bcd1a841282a0d5f396d3955f23e3990d761c7 install : $(TARGET) @@ -56,7 +48,7 @@ check : $(patsubst %,$(DIR_CHK)/%,$(objects)) download :$(patsubst %,$(DIR_DL)/%,$(objects)) -md5 : $(subst %,%_MD5,$(objects)) +b2 : $(subst %,%_BLAKE2,$(objects)) dist:. $(PAK) @@ -81,7 +73,6 @@ $(subst %,%_MD5,$(objects)) : $(TARGET) : $(patsubst %,$(DIR_DL)/%,$(objects)) @$(PREBUILD) @rm -rf $(DIR_APP) && cd $(DIR_SRC) && tar zxf $(DIR_DL)/$(DL_FILE) - cd $(DIR_APP) && ./autogen.sh cd $(DIR_APP) && ./configure --prefix=/usr cd $(DIR_APP) && make $(MAKETUNING) $(EXTRA_MAKE) cd $(DIR_APP) && make install diff --git a/make.sh b/make.sh index 6f9a776f7..ccd115590 100755 --- a/make.sh +++ b/make.sh @@ -1694,7 +1694,7 @@ buildipfire() { lfsmake2 qemu-ga lfsmake2 gptfdisk lfsmake2 oath-toolkit - lfsmake2 libqrencode + lfsmake2 qrencode lfsmake2 perl-File-Remove lfsmake2 perl-Module-Build lfsmake2 perl-Module-ScanDeps From baf62b83cbf5300055d4bd0fc8073874794a5197 Mon Sep 17 00:00:00 2001 From: Michael Tremer Date: Thu, 14 Apr 2022 20:48:20 +0000 Subject: [PATCH 13/50] oauth-toolkit: Update checksum and drop unnecessary fields Signed-off-by: Michael Tremer --- lfs/oath-toolkit | 15 ++------------- 1 file changed, 2 insertions(+), 13 deletions(-) diff --git a/lfs/oath-toolkit b/lfs/oath-toolkit index 891ff06ef..e3225f45b 100644 --- a/lfs/oath-toolkit +++ b/lfs/oath-toolkit @@ -24,8 +24,6 @@ include Config -SUMMARY = One-time password components - VER = 2.6.7 THISAPP = oath-toolkit-$(VER) @@ -33,12 +31,6 @@ DL_FILE = $(THISAPP).tar.gz DL_FROM = $(URL_IPFIRE) DIR_APP = $(DIR_SRC)/$(THISAPP) TARGET = $(DIR_INFO)/$(THISAPP) -PROG = oath-toolkit -PAK_VER = 1 - -DEPS = "" - -SERVICES = "" ############################################################################### # Top-level Rules @@ -48,7 +40,7 @@ objects = $(DL_FILE) $(DL_FILE) = $(DL_FROM)/$(DL_FILE) -$(DL_FILE)_MD5 = 0a3c0d9e1f8095c88657bfea8ad5d59f +$(DL_FILE)_BLAKE2 = 23f377c51eb633bf01d6085d33c7362cd91b6bed1cf4c2bbf32dc9433849e20c53f6896b16e5056b13f420f6a65a3c593fa1dafd7e184ed9e52666d94a7f75d1 install : $(TARGET) @@ -56,10 +48,7 @@ check : $(patsubst %,$(DIR_CHK)/%,$(objects)) download :$(patsubst %,$(DIR_DL)/%,$(objects)) -md5 : $(subst %,%_MD5,$(objects)) - -dist:. - $(PAK) +b2 : $(subst %,%_BLAKE2,$(objects)) ############################################################################### # Downloading, checking, md5sum From aeff5e3fee7f1a0c5816ff47918fce1feb693d6a Mon Sep 17 00:00:00 2001 From: Michael Tremer Date: Thu, 14 Apr 2022 20:48:39 +0000 Subject: [PATCH 14/50] perl-File-Remove: Update checksum and drop unnecessary fields Signed-off-by: Michael Tremer --- lfs/perl-File-Remove | 11 ++--------- 1 file changed, 2 insertions(+), 9 deletions(-) diff --git a/lfs/perl-File-Remove b/lfs/perl-File-Remove index 4b9bb095f..88a567349 100644 --- a/lfs/perl-File-Remove +++ b/lfs/perl-File-Remove @@ -24,8 +24,6 @@ include Config -SUMMARY = Remove files and directories - VER = 1.60 THISAPP = File-Remove-$(VER) @@ -33,11 +31,6 @@ DL_FILE = $(THISAPP).tar.gz DL_FROM = $(URL_IPFIRE) DIR_APP = $(DIR_SRC)/$(THISAPP) TARGET = $(DIR_INFO)/$(THISAPP) -PAK_VER = 1 - -DEPS = "" - -SERVICES = "" ############################################################################### # Top-level Rules @@ -47,7 +40,7 @@ objects = $(DL_FILE) $(DL_FILE) = $(DL_FROM)/$(DL_FILE) -$(DL_FILE)_MD5 = 34f46f9a07b2ad6fc80061d266f387b5 +$(DL_FILE)_BLAKE2 = ffb98155d757bae6ec0d4f56dabdb78749fc968845e284797d0f0611fe9068722a007c7e0e890179720745d1451c926575949f36642dceef7071468a2863c7c6 install : $(TARGET) @@ -55,7 +48,7 @@ check : $(patsubst %,$(DIR_CHK)/%,$(objects)) download :$(patsubst %,$(DIR_DL)/%,$(objects)) -md5 : $(subst %,%_MD5,$(objects)) +b2 : $(subst %,%_BLAKE2,$(objects)) dist:. $(PAK) From 42a2a93911fb8bd96f7878dd48eec4a3eab5aa68 Mon Sep 17 00:00:00 2001 From: Michael Tremer Date: Thu, 14 Apr 2022 20:50:12 +0000 Subject: [PATCH 15/50] perl-Imager: Update checksum and remove unnecessary fields Signed-off-by: Michael Tremer --- lfs/perl-Imager | 11 ++--------- 1 file changed, 2 insertions(+), 9 deletions(-) diff --git a/lfs/perl-Imager b/lfs/perl-Imager index f82406b3c..e7301b92b 100644 --- a/lfs/perl-Imager +++ b/lfs/perl-Imager @@ -24,8 +24,6 @@ include Config -SUMMARY = Perl extension for Generating 24 bit Images - VER = 1.012 THISAPP = Imager-$(VER) @@ -33,11 +31,6 @@ DL_FILE = $(THISAPP).tar.gz DL_FROM = $(URL_IPFIRE) DIR_APP = $(DIR_SRC)/$(THISAPP) TARGET = $(DIR_INFO)/$(THISAPP) -PAK_VER = 1 - -DEPS = "" - -SERVICES = "" ############################################################################### # Top-level Rules @@ -47,7 +40,7 @@ objects = $(DL_FILE) $(DL_FILE) = $(DL_FROM)/$(DL_FILE) -$(DL_FILE)_MD5 = dccef95bf6c7881c5af8336b54609132 +$(DL_FILE)_BLAKE2 = 32dad83e9cfd66a162380b502ab49b343dae8c87eca8e6c0537d260956bf466e200511a7b4f89eed9b0bc1f20447584c7c4aabffaad77f0824ee9d5126848c39 install : $(TARGET) @@ -55,7 +48,7 @@ check : $(patsubst %,$(DIR_CHK)/%,$(objects)) download :$(patsubst %,$(DIR_DL)/%,$(objects)) -md5 : $(subst %,%_MD5,$(objects)) +b2 : $(subst %,%_BLAKE2,$(objects)) dist:. $(PAK) From 4f3f7f57847312aec2d406d9165950faf50d9099 Mon Sep 17 00:00:00 2001 From: Michael Tremer Date: Thu, 14 Apr 2022 20:52:12 +0000 Subject: [PATCH 16/50] perl-Imager-QRCode: Update checksum and remove unnecessary fields Signed-off-by: Michael Tremer --- lfs/perl-Imager-QRCode | 11 ++--------- 1 file changed, 2 insertions(+), 9 deletions(-) diff --git a/lfs/perl-Imager-QRCode b/lfs/perl-Imager-QRCode index 20bc210ba..303671540 100644 --- a/lfs/perl-Imager-QRCode +++ b/lfs/perl-Imager-QRCode @@ -24,8 +24,6 @@ include Config -SUMMARY = Generate QR Code with Imager using libqrencode - VER = 0.035 THISAPP = Imager-QRCode-$(VER) @@ -33,11 +31,6 @@ DL_FILE = $(THISAPP).tar.gz DL_FROM = $(URL_IPFIRE) DIR_APP = $(DIR_SRC)/$(THISAPP) TARGET = $(DIR_INFO)/$(THISAPP) -PAK_VER = 1 - -DEPS = perl-Module-Install perl-Imager - -SERVICES = "" ############################################################################### # Top-level Rules @@ -47,7 +40,7 @@ objects = $(DL_FILE) $(DL_FILE) = $(DL_FROM)/$(DL_FILE) -$(DL_FILE)_MD5 = f1507d37169f128477cc1d69e0394221 +$(DL_FILE)_BLAKE2 = 740119e2d7fab7286f8eeb0c1d9690f94146d51b09b721eaa65a8f9849784c6f113f64344d0fb2550cd5981665369b3881fe8f034b00f925987bb69ccd537b59 install : $(TARGET) @@ -55,7 +48,7 @@ check : $(patsubst %,$(DIR_CHK)/%,$(objects)) download :$(patsubst %,$(DIR_DL)/%,$(objects)) -md5 : $(subst %,%_MD5,$(objects)) +b2 : $(subst %,%_BLAKE2,$(objects)) dist:. $(PAK) From 89bdc5563cc6f829add64b62231349be2912c5ef Mon Sep 17 00:00:00 2001 From: Michael Tremer Date: Thu, 14 Apr 2022 20:53:31 +0000 Subject: [PATCH 17/50] perl-MIME-Base32: Update checksum and remove unnecessary fields Signed-off-by: Michael Tremer --- lfs/perl-MIME-Base32 | 11 ++--------- 1 file changed, 2 insertions(+), 9 deletions(-) diff --git a/lfs/perl-MIME-Base32 b/lfs/perl-MIME-Base32 index e65c36734..4cb7c9616 100644 --- a/lfs/perl-MIME-Base32 +++ b/lfs/perl-MIME-Base32 @@ -24,8 +24,6 @@ include Config -SUMMARY = Base32 encoder and decoder - VER = 1.303 THISAPP = MIME-Base32-$(VER) @@ -33,11 +31,6 @@ DL_FILE = $(THISAPP).tar.gz DL_FROM = $(URL_IPFIRE) DIR_APP = $(DIR_SRC)/$(THISAPP) TARGET = $(DIR_INFO)/$(THISAPP) -PAK_VER = 1 - -DEPS = "" - -SERVICES = "" ############################################################################### # Top-level Rules @@ -47,7 +40,7 @@ objects = $(DL_FILE) $(DL_FILE) = $(DL_FROM)/$(DL_FILE) -$(DL_FILE)_MD5 = 0c7735fa09e74c7f2ec93d1890b8c6c0 +$(DL_FILE)_BLAKE2 = d9dad50d7474a42741f7a61fad4a7b30c4acb72eb80684e24c45d0478480cfe936d6b87ab37b735ff2065afeb0b5457cc50130187264fcb6addefa8e8cb8d934 install : $(TARGET) @@ -55,7 +48,7 @@ check : $(patsubst %,$(DIR_CHK)/%,$(objects)) download :$(patsubst %,$(DIR_DL)/%,$(objects)) -md5 : $(subst %,%_MD5,$(objects)) +b2 : $(subst %,%_BLAKE2,$(objects)) dist:. $(PAK) From d7772284a1f9cd82c7672c35ad0b22fb988d1859 Mon Sep 17 00:00:00 2001 From: Michael Tremer Date: Thu, 14 Apr 2022 20:55:27 +0000 Subject: [PATCH 18/50] perl-Module-Build: Update checksum and remove unnecessary fields Signed-off-by: Michael Tremer --- lfs/perl-Module-Build | 11 ++--------- 1 file changed, 2 insertions(+), 9 deletions(-) diff --git a/lfs/perl-Module-Build b/lfs/perl-Module-Build index 216df4aa1..977f7f653 100644 --- a/lfs/perl-Module-Build +++ b/lfs/perl-Module-Build @@ -24,8 +24,6 @@ include Config -SUMMARY = Build and install Perl modules - VER = 0.4231 THISAPP = Module-Build-$(VER) @@ -33,11 +31,6 @@ DL_FILE = $(THISAPP).tar.gz DL_FROM = $(URL_IPFIRE) DIR_APP = $(DIR_SRC)/$(THISAPP) TARGET = $(DIR_INFO)/$(THISAPP) -PAK_VER = 1 - -DEPS = "" - -SERVICES = "" ############################################################################### # Top-level Rules @@ -47,7 +40,7 @@ objects = $(DL_FILE) $(DL_FILE) = $(DL_FROM)/$(DL_FILE) -$(DL_FILE)_MD5 = 066b193e461d7dfe1eca17a139353001 +$(DL_FILE)_BLAKE2 = f35be09072a2facc505b199dd69cdb2605ab32c34376ef393170dca9d67871bc00cbe25b1fa6dcb925e92724a778ad5ddc3157afb33d18a10648ef1133c83991 install : $(TARGET) @@ -55,7 +48,7 @@ check : $(patsubst %,$(DIR_CHK)/%,$(objects)) download :$(patsubst %,$(DIR_DL)/%,$(objects)) -md5 : $(subst %,%_MD5,$(objects)) +b2 : $(subst %,%_BLAKE2,$(objects)) dist:. $(PAK) From 6ede67fb5aa54ea5ba9e806f31c3e35077aa71ba Mon Sep 17 00:00:00 2001 From: Michael Tremer Date: Thu, 14 Apr 2022 20:57:33 +0000 Subject: [PATCH 19/50] perl-Module-Install: Update checksum and remove unnecessary fields Signed-off-by: Michael Tremer --- lfs/perl-Module-Install | 11 ++--------- 1 file changed, 2 insertions(+), 9 deletions(-) diff --git a/lfs/perl-Module-Install b/lfs/perl-Module-Install index 6b852f24f..3389aa63d 100644 --- a/lfs/perl-Module-Install +++ b/lfs/perl-Module-Install @@ -24,8 +24,6 @@ include Config -SUMMARY = Module::Install configuration system - VER = 1.19 THISAPP = Module-Install-$(VER) @@ -33,11 +31,6 @@ DL_FILE = $(THISAPP).tar.gz DL_FROM = $(URL_IPFIRE) DIR_APP = $(DIR_SRC)/$(THISAPP) TARGET = $(DIR_INFO)/$(THISAPP) -PAK_VER = 1 - -DEPS = perl-File-Remove perl-Module-Build perl-Module-ScanDeps perl-YAML-Tiny - -SERVICES = "" ############################################################################### # Top-level Rules @@ -47,7 +40,7 @@ objects = $(DL_FILE) $(DL_FILE) = $(DL_FROM)/$(DL_FILE) -$(DL_FILE)_MD5 = 0d1b78cc13ebf9b9ad008c8928a5b2dd +$(DL_FILE)_BLAKE2 = a6f4b93ba964ff6f4b16a8db7117bee8c125cd8a280c649b007622ece8c14b79e36f6747a1b792fb312d2c6c8153aee05e7479ca53a76a253a415374839e6b90 install : $(TARGET) @@ -55,7 +48,7 @@ check : $(patsubst %,$(DIR_CHK)/%,$(objects)) download :$(patsubst %,$(DIR_DL)/%,$(objects)) -md5 : $(subst %,%_MD5,$(objects)) +b2 : $(subst %,%_BLAKE2,$(objects)) dist:. $(PAK) From 2d44871aa1363990b2f1416d1be65c7e51020c0b Mon Sep 17 00:00:00 2001 From: Michael Tremer Date: Thu, 14 Apr 2022 20:59:10 +0000 Subject: [PATCH 20/50] perl-Module-ScanDeps: Update checksum and remove unnecessary fields Signed-off-by: Michael Tremer --- lfs/perl-Module-ScanDeps | 12 ++---------- 1 file changed, 2 insertions(+), 10 deletions(-) diff --git a/lfs/perl-Module-ScanDeps b/lfs/perl-Module-ScanDeps index 07bd7b5b3..19c36c689 100644 --- a/lfs/perl-Module-ScanDeps +++ b/lfs/perl-Module-ScanDeps @@ -24,8 +24,6 @@ include Config -SUMMARY = Recursively scan Perl code for dependencies - VER = 1.31 THISAPP = Module-ScanDeps-$(VER) @@ -33,11 +31,6 @@ DL_FILE = $(THISAPP).tar.gz DL_FROM = $(URL_IPFIRE) DIR_APP = $(DIR_SRC)/$(THISAPP) TARGET = $(DIR_INFO)/$(THISAPP) -PAK_VER = 1 - -DEPS = "" - -SERVICES = "" ############################################################################### # Top-level Rules @@ -47,15 +40,14 @@ objects = $(DL_FILE) $(DL_FILE) = $(DL_FROM)/$(DL_FILE) -$(DL_FILE)_MD5 = 20be5584eba22c5d05f679fab62e93ba - +$(DL_FILE)_BLAKE2 = 61d7438359d035d847fefdfa1427b4e444935c8207d41b7e4994a3704fb4c6fb48d7fac169214abed3d71212fd372f478b01cb91d8876c0fdb68962c791101ba install : $(TARGET) check : $(patsubst %,$(DIR_CHK)/%,$(objects)) download :$(patsubst %,$(DIR_DL)/%,$(objects)) -md5 : $(subst %,%_MD5,$(objects)) +b2 : $(subst %,%_BLAKE2,$(objects)) dist:. $(PAK) From 4b519aa8b0a3314e5cb01c953a517b3da354ea53 Mon Sep 17 00:00:00 2001 From: Michael Tremer Date: Thu, 14 Apr 2022 21:02:04 +0000 Subject: [PATCH 21/50] perl-YAML-Tiny: Update checksum and remove unnecessary fields Signed-off-by: Michael Tremer --- lfs/perl-YAML-Tiny | 11 ++--------- 1 file changed, 2 insertions(+), 9 deletions(-) diff --git a/lfs/perl-YAML-Tiny b/lfs/perl-YAML-Tiny index 5e13d2f57..052bcb8ce 100644 --- a/lfs/perl-YAML-Tiny +++ b/lfs/perl-YAML-Tiny @@ -24,8 +24,6 @@ include Config -SUMMARY = Read/Write YAML files with as little code as possible - VER = 1.73 THISAPP = YAML-Tiny-$(VER) @@ -33,11 +31,6 @@ DL_FILE = $(THISAPP).tar.gz DL_FROM = $(URL_IPFIRE) DIR_APP = $(DIR_SRC)/$(THISAPP) TARGET = $(DIR_INFO)/$(THISAPP) -PAK_VER = 1 - -DEPS = "" - -SERVICES = "" ############################################################################### # Top-level Rules @@ -47,7 +40,7 @@ objects = $(DL_FILE) $(DL_FILE) = $(DL_FROM)/$(DL_FILE) -$(DL_FILE)_MD5 = d1bb2525e4ab46bfab4b22842c467529 +$(DL_FILE)_BLAKE2 = 42e9c5cffa2b9babb0dd1453af69866405fd7273c2b340ceb010d78d8fe28db61268b6bb5ad1840b1aa72819ae048150bf5c416bed1b2e518b28f77b2ba978be install : $(TARGET) @@ -55,7 +48,7 @@ check : $(patsubst %,$(DIR_CHK)/%,$(objects)) download :$(patsubst %,$(DIR_DL)/%,$(objects)) -md5 : $(subst %,%_MD5,$(objects)) +b2 : $(subst %,%_BLAKE2,$(objects)) dist:. $(PAK) From f27d021470fb31731844ee2c70d142c6651da0f0 Mon Sep 17 00:00:00 2001 From: Michael Tremer Date: Fri, 15 Apr 2022 07:29:10 +0000 Subject: [PATCH 22/50] openpvn-2fa: Fix rootfiles Some rootfiles where in the wrong location, some others had some architecture hard-coded. Signed-off-by: Michael Tremer --- .../{packages => common}/oath-toolkit | 4 +- config/rootfiles/common/perl-File-Remove | 4 +- config/rootfiles/common/perl-Imager | 230 +++++++++--------- config/rootfiles/common/perl-Imager-QRCode | 8 +- config/rootfiles/common/perl-MIME-Base32 | 4 +- config/rootfiles/common/perl-Module-Build | 38 +-- config/rootfiles/common/perl-Module-Install | 78 +++--- config/rootfiles/common/perl-Module-ScanDeps | 10 +- config/rootfiles/common/perl-YAML-Tiny | 6 +- .../{packages/libqrencode => common/qrencode} | 2 +- 10 files changed, 193 insertions(+), 191 deletions(-) rename config/rootfiles/{packages => common}/oath-toolkit (99%) rename config/rootfiles/{packages/libqrencode => common/qrencode} (88%) diff --git a/config/rootfiles/packages/oath-toolkit b/config/rootfiles/common/oath-toolkit similarity index 99% rename from config/rootfiles/packages/oath-toolkit rename to config/rootfiles/common/oath-toolkit index 4f39706a2..ef10a861f 100644 --- a/config/rootfiles/packages/oath-toolkit +++ b/config/rootfiles/common/oath-toolkit @@ -13,7 +13,7 @@ usr/bin/oathtool #usr/include/pskc/version.h #usr/lib/liboath.a #usr/lib/liboath.la -usr/lib/liboath.so +#usr/lib/liboath.so usr/lib/liboath.so.0 usr/lib/liboath.so.0.1.3 #usr/lib/libpskc.a @@ -23,6 +23,8 @@ usr/lib/liboath.so.0.1.3 #usr/lib/libpskc.so.0.0.1 #usr/lib/pkgconfig/liboath.pc #usr/lib/pkgconfig/libpskc.pc +#usr/lib/security/pam_oath.la +#usr/lib/security/pam_oath.so #usr/share/gtk-doc/html/liboath #usr/share/gtk-doc/html/liboath/api-index-1-10-0.html #usr/share/gtk-doc/html/liboath/api-index-1-12-0.html diff --git a/config/rootfiles/common/perl-File-Remove b/config/rootfiles/common/perl-File-Remove index aad28b64e..b9b646143 100644 --- a/config/rootfiles/common/perl-File-Remove +++ b/config/rootfiles/common/perl-File-Remove @@ -1,4 +1,4 @@ usr/lib/perl5/site_perl/5.32.1/File/Remove.pm -#usr/lib/perl5/site_perl/5.32.1/x86_64-linux-thread-multi/auto/File/Remove -#usr/lib/perl5/site_perl/5.32.1/x86_64-linux-thread-multi/auto/File/Remove/.packlist +#usr/lib/perl5/site_perl/5.32.1/xxxMACHINExxx-linux-thread-multi/auto/File/Remove +#usr/lib/perl5/site_perl/5.32.1/xxxMACHINExxx-linux-thread-multi/auto/File/Remove/.packlist #usr/share/man/man3/File::Remove.3 diff --git a/config/rootfiles/common/perl-Imager b/config/rootfiles/common/perl-Imager index ffee2914d..2416a78b5 100644 --- a/config/rootfiles/common/perl-Imager +++ b/config/rootfiles/common/perl-Imager @@ -1,118 +1,118 @@ -#usr/lib/perl5/site_perl/5.32.1/x86_64-linux-thread-multi/Imager -usr/lib/perl5/site_perl/5.32.1/x86_64-linux-thread-multi/Imager.pm -usr/lib/perl5/site_perl/5.32.1/x86_64-linux-thread-multi/Imager/API.pod -usr/lib/perl5/site_perl/5.32.1/x86_64-linux-thread-multi/Imager/APIRef.pod -#usr/lib/perl5/site_perl/5.32.1/x86_64-linux-thread-multi/Imager/Color -usr/lib/perl5/site_perl/5.32.1/x86_64-linux-thread-multi/Imager/Color.pm -usr/lib/perl5/site_perl/5.32.1/x86_64-linux-thread-multi/Imager/Color/Float.pm -usr/lib/perl5/site_perl/5.32.1/x86_64-linux-thread-multi/Imager/Color/Table.pm -usr/lib/perl5/site_perl/5.32.1/x86_64-linux-thread-multi/Imager/Cookbook.pod -usr/lib/perl5/site_perl/5.32.1/x86_64-linux-thread-multi/Imager/CountColor.pm -usr/lib/perl5/site_perl/5.32.1/x86_64-linux-thread-multi/Imager/Draw.pod -usr/lib/perl5/site_perl/5.32.1/x86_64-linux-thread-multi/Imager/Engines.pod -#usr/lib/perl5/site_perl/5.32.1/x86_64-linux-thread-multi/Imager/Expr -usr/lib/perl5/site_perl/5.32.1/x86_64-linux-thread-multi/Imager/Expr.pm -usr/lib/perl5/site_perl/5.32.1/x86_64-linux-thread-multi/Imager/Expr/Assem.pm -usr/lib/perl5/site_perl/5.32.1/x86_64-linux-thread-multi/Imager/ExtUtils.pm -#usr/lib/perl5/site_perl/5.32.1/x86_64-linux-thread-multi/Imager/File -usr/lib/perl5/site_perl/5.32.1/x86_64-linux-thread-multi/Imager/File/CUR.pm -usr/lib/perl5/site_perl/5.32.1/x86_64-linux-thread-multi/Imager/File/ICO.pm -usr/lib/perl5/site_perl/5.32.1/x86_64-linux-thread-multi/Imager/File/JPEG.pm -usr/lib/perl5/site_perl/5.32.1/x86_64-linux-thread-multi/Imager/File/PNG.pm -usr/lib/perl5/site_perl/5.32.1/x86_64-linux-thread-multi/Imager/File/SGI.pm -usr/lib/perl5/site_perl/5.32.1/x86_64-linux-thread-multi/Imager/File/TIFF.pm -usr/lib/perl5/site_perl/5.32.1/x86_64-linux-thread-multi/Imager/Files.pod -usr/lib/perl5/site_perl/5.32.1/x86_64-linux-thread-multi/Imager/Fill.pm -#usr/lib/perl5/site_perl/5.32.1/x86_64-linux-thread-multi/Imager/Filter -usr/lib/perl5/site_perl/5.32.1/x86_64-linux-thread-multi/Imager/Filter/DynTest.pm -usr/lib/perl5/site_perl/5.32.1/x86_64-linux-thread-multi/Imager/Filter/Flines.pm -usr/lib/perl5/site_perl/5.32.1/x86_64-linux-thread-multi/Imager/Filter/Mandelbrot.pm -usr/lib/perl5/site_perl/5.32.1/x86_64-linux-thread-multi/Imager/Filters.pod -#usr/lib/perl5/site_perl/5.32.1/x86_64-linux-thread-multi/Imager/Font -usr/lib/perl5/site_perl/5.32.1/x86_64-linux-thread-multi/Imager/Font.pm -usr/lib/perl5/site_perl/5.32.1/x86_64-linux-thread-multi/Imager/Font/BBox.pm -usr/lib/perl5/site_perl/5.32.1/x86_64-linux-thread-multi/Imager/Font/FT2.pm -usr/lib/perl5/site_perl/5.32.1/x86_64-linux-thread-multi/Imager/Font/FreeType2.pm -usr/lib/perl5/site_perl/5.32.1/x86_64-linux-thread-multi/Imager/Font/Image.pm -usr/lib/perl5/site_perl/5.32.1/x86_64-linux-thread-multi/Imager/Font/Test.pm -usr/lib/perl5/site_perl/5.32.1/x86_64-linux-thread-multi/Imager/Font/Truetype.pm -usr/lib/perl5/site_perl/5.32.1/x86_64-linux-thread-multi/Imager/Font/Type1.pm -usr/lib/perl5/site_perl/5.32.1/x86_64-linux-thread-multi/Imager/Font/Wrap.pm -usr/lib/perl5/site_perl/5.32.1/x86_64-linux-thread-multi/Imager/Fountain.pm -usr/lib/perl5/site_perl/5.32.1/x86_64-linux-thread-multi/Imager/Handy.pod -usr/lib/perl5/site_perl/5.32.1/x86_64-linux-thread-multi/Imager/IO.pod -usr/lib/perl5/site_perl/5.32.1/x86_64-linux-thread-multi/Imager/ImageTypes.pod -usr/lib/perl5/site_perl/5.32.1/x86_64-linux-thread-multi/Imager/Inline.pod -usr/lib/perl5/site_perl/5.32.1/x86_64-linux-thread-multi/Imager/Install.pod -usr/lib/perl5/site_perl/5.32.1/x86_64-linux-thread-multi/Imager/LargeSamples.pod -usr/lib/perl5/site_perl/5.32.1/x86_64-linux-thread-multi/Imager/Matrix2d.pm -usr/lib/perl5/site_perl/5.32.1/x86_64-linux-thread-multi/Imager/Preprocess.pm -usr/lib/perl5/site_perl/5.32.1/x86_64-linux-thread-multi/Imager/Probe.pm -usr/lib/perl5/site_perl/5.32.1/x86_64-linux-thread-multi/Imager/Regops.pm -usr/lib/perl5/site_perl/5.32.1/x86_64-linux-thread-multi/Imager/Security.pod -usr/lib/perl5/site_perl/5.32.1/x86_64-linux-thread-multi/Imager/Test.pm -usr/lib/perl5/site_perl/5.32.1/x86_64-linux-thread-multi/Imager/Threads.pod -usr/lib/perl5/site_perl/5.32.1/x86_64-linux-thread-multi/Imager/Transform.pm -usr/lib/perl5/site_perl/5.32.1/x86_64-linux-thread-multi/Imager/Transformations.pod -usr/lib/perl5/site_perl/5.32.1/x86_64-linux-thread-multi/Imager/Tutorial.pod -#usr/lib/perl5/site_perl/5.32.1/x86_64-linux-thread-multi/Imager/include -#usr/lib/perl5/site_perl/5.32.1/x86_64-linux-thread-multi/Imager/include/draw.h -#usr/lib/perl5/site_perl/5.32.1/x86_64-linux-thread-multi/Imager/include/dynaload.h -#usr/lib/perl5/site_perl/5.32.1/x86_64-linux-thread-multi/Imager/include/ext.h -#usr/lib/perl5/site_perl/5.32.1/x86_64-linux-thread-multi/Imager/include/feat.h -#usr/lib/perl5/site_perl/5.32.1/x86_64-linux-thread-multi/Imager/include/imager.h -#usr/lib/perl5/site_perl/5.32.1/x86_64-linux-thread-multi/Imager/include/imageri.h -#usr/lib/perl5/site_perl/5.32.1/x86_64-linux-thread-multi/Imager/include/imconfig.h -#usr/lib/perl5/site_perl/5.32.1/x86_64-linux-thread-multi/Imager/include/imdatatypes.h -#usr/lib/perl5/site_perl/5.32.1/x86_64-linux-thread-multi/Imager/include/imerror.h -#usr/lib/perl5/site_perl/5.32.1/x86_64-linux-thread-multi/Imager/include/imexif.h -#usr/lib/perl5/site_perl/5.32.1/x86_64-linux-thread-multi/Imager/include/imext.h -#usr/lib/perl5/site_perl/5.32.1/x86_64-linux-thread-multi/Imager/include/imextdef.h -#usr/lib/perl5/site_perl/5.32.1/x86_64-linux-thread-multi/Imager/include/imextpl.h -#usr/lib/perl5/site_perl/5.32.1/x86_64-linux-thread-multi/Imager/include/imextpltypes.h -#usr/lib/perl5/site_perl/5.32.1/x86_64-linux-thread-multi/Imager/include/imexttypes.h -#usr/lib/perl5/site_perl/5.32.1/x86_64-linux-thread-multi/Imager/include/imio.h -#usr/lib/perl5/site_perl/5.32.1/x86_64-linux-thread-multi/Imager/include/immacros.h -#usr/lib/perl5/site_perl/5.32.1/x86_64-linux-thread-multi/Imager/include/imperl.h -#usr/lib/perl5/site_perl/5.32.1/x86_64-linux-thread-multi/Imager/include/imperlio.h -#usr/lib/perl5/site_perl/5.32.1/x86_64-linux-thread-multi/Imager/include/imrender.h -#usr/lib/perl5/site_perl/5.32.1/x86_64-linux-thread-multi/Imager/include/iolayer.h -#usr/lib/perl5/site_perl/5.32.1/x86_64-linux-thread-multi/Imager/include/iolayert.h -#usr/lib/perl5/site_perl/5.32.1/x86_64-linux-thread-multi/Imager/include/log.h -#usr/lib/perl5/site_perl/5.32.1/x86_64-linux-thread-multi/Imager/include/plug.h -#usr/lib/perl5/site_perl/5.32.1/x86_64-linux-thread-multi/Imager/include/ppport.h -#usr/lib/perl5/site_perl/5.32.1/x86_64-linux-thread-multi/Imager/include/regmach.h -#usr/lib/perl5/site_perl/5.32.1/x86_64-linux-thread-multi/Imager/include/rendert.h -#usr/lib/perl5/site_perl/5.32.1/x86_64-linux-thread-multi/Imager/include/stackmach.h -usr/lib/perl5/site_perl/5.32.1/x86_64-linux-thread-multi/Imager/interface.pod -usr/lib/perl5/site_perl/5.32.1/x86_64-linux-thread-multi/Imager/regmach.pod -#usr/lib/perl5/site_perl/5.32.1/x86_64-linux-thread-multi/Imager/typemap -#usr/lib/perl5/site_perl/5.32.1/x86_64-linux-thread-multi/auto/Imager -#usr/lib/perl5/site_perl/5.32.1/x86_64-linux-thread-multi/auto/Imager/.packlist -#usr/lib/perl5/site_perl/5.32.1/x86_64-linux-thread-multi/auto/Imager/CountColor -usr/lib/perl5/site_perl/5.32.1/x86_64-linux-thread-multi/auto/Imager/CountColor/CountColor.so -#usr/lib/perl5/site_perl/5.32.1/x86_64-linux-thread-multi/auto/Imager/File -#usr/lib/perl5/site_perl/5.32.1/x86_64-linux-thread-multi/auto/Imager/File/ICO -usr/lib/perl5/site_perl/5.32.1/x86_64-linux-thread-multi/auto/Imager/File/ICO/ICO.so -#usr/lib/perl5/site_perl/5.32.1/x86_64-linux-thread-multi/auto/Imager/File/JPEG -usr/lib/perl5/site_perl/5.32.1/x86_64-linux-thread-multi/auto/Imager/File/JPEG/JPEG.so -#usr/lib/perl5/site_perl/5.32.1/x86_64-linux-thread-multi/auto/Imager/File/PNG -usr/lib/perl5/site_perl/5.32.1/x86_64-linux-thread-multi/auto/Imager/File/PNG/PNG.so -#usr/lib/perl5/site_perl/5.32.1/x86_64-linux-thread-multi/auto/Imager/File/SGI -usr/lib/perl5/site_perl/5.32.1/x86_64-linux-thread-multi/auto/Imager/File/SGI/SGI.so -#usr/lib/perl5/site_perl/5.32.1/x86_64-linux-thread-multi/auto/Imager/File/TIFF -usr/lib/perl5/site_perl/5.32.1/x86_64-linux-thread-multi/auto/Imager/File/TIFF/TIFF.so -#usr/lib/perl5/site_perl/5.32.1/x86_64-linux-thread-multi/auto/Imager/Filter -#usr/lib/perl5/site_perl/5.32.1/x86_64-linux-thread-multi/auto/Imager/Filter/DynTest -usr/lib/perl5/site_perl/5.32.1/x86_64-linux-thread-multi/auto/Imager/Filter/DynTest/DynTest.so -#usr/lib/perl5/site_perl/5.32.1/x86_64-linux-thread-multi/auto/Imager/Filter/Flines -usr/lib/perl5/site_perl/5.32.1/x86_64-linux-thread-multi/auto/Imager/Filter/Flines/Flines.so -#usr/lib/perl5/site_perl/5.32.1/x86_64-linux-thread-multi/auto/Imager/Filter/Mandelbrot -usr/lib/perl5/site_perl/5.32.1/x86_64-linux-thread-multi/auto/Imager/Filter/Mandelbrot/Mandelbrot.so -#usr/lib/perl5/site_perl/5.32.1/x86_64-linux-thread-multi/auto/Imager/Font -#usr/lib/perl5/site_perl/5.32.1/x86_64-linux-thread-multi/auto/Imager/Font/FT2 -usr/lib/perl5/site_perl/5.32.1/x86_64-linux-thread-multi/auto/Imager/Font/FT2/FT2.so -usr/lib/perl5/site_perl/5.32.1/x86_64-linux-thread-multi/auto/Imager/Imager.so +#usr/lib/perl5/site_perl/5.32.1/xxxMACHINExxx-linux-thread-multi/Imager +usr/lib/perl5/site_perl/5.32.1/xxxMACHINExxx-linux-thread-multi/Imager.pm +usr/lib/perl5/site_perl/5.32.1/xxxMACHINExxx-linux-thread-multi/Imager/API.pod +usr/lib/perl5/site_perl/5.32.1/xxxMACHINExxx-linux-thread-multi/Imager/APIRef.pod +#usr/lib/perl5/site_perl/5.32.1/xxxMACHINExxx-linux-thread-multi/Imager/Color +usr/lib/perl5/site_perl/5.32.1/xxxMACHINExxx-linux-thread-multi/Imager/Color.pm +usr/lib/perl5/site_perl/5.32.1/xxxMACHINExxx-linux-thread-multi/Imager/Color/Float.pm +usr/lib/perl5/site_perl/5.32.1/xxxMACHINExxx-linux-thread-multi/Imager/Color/Table.pm +usr/lib/perl5/site_perl/5.32.1/xxxMACHINExxx-linux-thread-multi/Imager/Cookbook.pod +usr/lib/perl5/site_perl/5.32.1/xxxMACHINExxx-linux-thread-multi/Imager/CountColor.pm +usr/lib/perl5/site_perl/5.32.1/xxxMACHINExxx-linux-thread-multi/Imager/Draw.pod +usr/lib/perl5/site_perl/5.32.1/xxxMACHINExxx-linux-thread-multi/Imager/Engines.pod +#usr/lib/perl5/site_perl/5.32.1/xxxMACHINExxx-linux-thread-multi/Imager/Expr +usr/lib/perl5/site_perl/5.32.1/xxxMACHINExxx-linux-thread-multi/Imager/Expr.pm +usr/lib/perl5/site_perl/5.32.1/xxxMACHINExxx-linux-thread-multi/Imager/Expr/Assem.pm +usr/lib/perl5/site_perl/5.32.1/xxxMACHINExxx-linux-thread-multi/Imager/ExtUtils.pm +#usr/lib/perl5/site_perl/5.32.1/xxxMACHINExxx-linux-thread-multi/Imager/File +usr/lib/perl5/site_perl/5.32.1/xxxMACHINExxx-linux-thread-multi/Imager/File/CUR.pm +usr/lib/perl5/site_perl/5.32.1/xxxMACHINExxx-linux-thread-multi/Imager/File/ICO.pm +usr/lib/perl5/site_perl/5.32.1/xxxMACHINExxx-linux-thread-multi/Imager/File/JPEG.pm +usr/lib/perl5/site_perl/5.32.1/xxxMACHINExxx-linux-thread-multi/Imager/File/PNG.pm +usr/lib/perl5/site_perl/5.32.1/xxxMACHINExxx-linux-thread-multi/Imager/File/SGI.pm +usr/lib/perl5/site_perl/5.32.1/xxxMACHINExxx-linux-thread-multi/Imager/File/TIFF.pm +usr/lib/perl5/site_perl/5.32.1/xxxMACHINExxx-linux-thread-multi/Imager/Files.pod +usr/lib/perl5/site_perl/5.32.1/xxxMACHINExxx-linux-thread-multi/Imager/Fill.pm +#usr/lib/perl5/site_perl/5.32.1/xxxMACHINExxx-linux-thread-multi/Imager/Filter +usr/lib/perl5/site_perl/5.32.1/xxxMACHINExxx-linux-thread-multi/Imager/Filter/DynTest.pm +usr/lib/perl5/site_perl/5.32.1/xxxMACHINExxx-linux-thread-multi/Imager/Filter/Flines.pm +usr/lib/perl5/site_perl/5.32.1/xxxMACHINExxx-linux-thread-multi/Imager/Filter/Mandelbrot.pm +usr/lib/perl5/site_perl/5.32.1/xxxMACHINExxx-linux-thread-multi/Imager/Filters.pod +#usr/lib/perl5/site_perl/5.32.1/xxxMACHINExxx-linux-thread-multi/Imager/Font +usr/lib/perl5/site_perl/5.32.1/xxxMACHINExxx-linux-thread-multi/Imager/Font.pm +usr/lib/perl5/site_perl/5.32.1/xxxMACHINExxx-linux-thread-multi/Imager/Font/BBox.pm +usr/lib/perl5/site_perl/5.32.1/xxxMACHINExxx-linux-thread-multi/Imager/Font/FT2.pm +usr/lib/perl5/site_perl/5.32.1/xxxMACHINExxx-linux-thread-multi/Imager/Font/FreeType2.pm +usr/lib/perl5/site_perl/5.32.1/xxxMACHINExxx-linux-thread-multi/Imager/Font/Image.pm +usr/lib/perl5/site_perl/5.32.1/xxxMACHINExxx-linux-thread-multi/Imager/Font/Test.pm +usr/lib/perl5/site_perl/5.32.1/xxxMACHINExxx-linux-thread-multi/Imager/Font/Truetype.pm +usr/lib/perl5/site_perl/5.32.1/xxxMACHINExxx-linux-thread-multi/Imager/Font/Type1.pm +usr/lib/perl5/site_perl/5.32.1/xxxMACHINExxx-linux-thread-multi/Imager/Font/Wrap.pm +usr/lib/perl5/site_perl/5.32.1/xxxMACHINExxx-linux-thread-multi/Imager/Fountain.pm +usr/lib/perl5/site_perl/5.32.1/xxxMACHINExxx-linux-thread-multi/Imager/Handy.pod +usr/lib/perl5/site_perl/5.32.1/xxxMACHINExxx-linux-thread-multi/Imager/IO.pod +usr/lib/perl5/site_perl/5.32.1/xxxMACHINExxx-linux-thread-multi/Imager/ImageTypes.pod +usr/lib/perl5/site_perl/5.32.1/xxxMACHINExxx-linux-thread-multi/Imager/Inline.pod +usr/lib/perl5/site_perl/5.32.1/xxxMACHINExxx-linux-thread-multi/Imager/Install.pod +usr/lib/perl5/site_perl/5.32.1/xxxMACHINExxx-linux-thread-multi/Imager/LargeSamples.pod +usr/lib/perl5/site_perl/5.32.1/xxxMACHINExxx-linux-thread-multi/Imager/Matrix2d.pm +usr/lib/perl5/site_perl/5.32.1/xxxMACHINExxx-linux-thread-multi/Imager/Preprocess.pm +usr/lib/perl5/site_perl/5.32.1/xxxMACHINExxx-linux-thread-multi/Imager/Probe.pm +usr/lib/perl5/site_perl/5.32.1/xxxMACHINExxx-linux-thread-multi/Imager/Regops.pm +usr/lib/perl5/site_perl/5.32.1/xxxMACHINExxx-linux-thread-multi/Imager/Security.pod +usr/lib/perl5/site_perl/5.32.1/xxxMACHINExxx-linux-thread-multi/Imager/Test.pm +usr/lib/perl5/site_perl/5.32.1/xxxMACHINExxx-linux-thread-multi/Imager/Threads.pod +usr/lib/perl5/site_perl/5.32.1/xxxMACHINExxx-linux-thread-multi/Imager/Transform.pm +usr/lib/perl5/site_perl/5.32.1/xxxMACHINExxx-linux-thread-multi/Imager/Transformations.pod +usr/lib/perl5/site_perl/5.32.1/xxxMACHINExxx-linux-thread-multi/Imager/Tutorial.pod +#usr/lib/perl5/site_perl/5.32.1/xxxMACHINExxx-linux-thread-multi/Imager/include +#usr/lib/perl5/site_perl/5.32.1/xxxMACHINExxx-linux-thread-multi/Imager/include/draw.h +#usr/lib/perl5/site_perl/5.32.1/xxxMACHINExxx-linux-thread-multi/Imager/include/dynaload.h +#usr/lib/perl5/site_perl/5.32.1/xxxMACHINExxx-linux-thread-multi/Imager/include/ext.h +#usr/lib/perl5/site_perl/5.32.1/xxxMACHINExxx-linux-thread-multi/Imager/include/feat.h +#usr/lib/perl5/site_perl/5.32.1/xxxMACHINExxx-linux-thread-multi/Imager/include/imager.h +#usr/lib/perl5/site_perl/5.32.1/xxxMACHINExxx-linux-thread-multi/Imager/include/imageri.h +#usr/lib/perl5/site_perl/5.32.1/xxxMACHINExxx-linux-thread-multi/Imager/include/imconfig.h +#usr/lib/perl5/site_perl/5.32.1/xxxMACHINExxx-linux-thread-multi/Imager/include/imdatatypes.h +#usr/lib/perl5/site_perl/5.32.1/xxxMACHINExxx-linux-thread-multi/Imager/include/imerror.h +#usr/lib/perl5/site_perl/5.32.1/xxxMACHINExxx-linux-thread-multi/Imager/include/imexif.h +#usr/lib/perl5/site_perl/5.32.1/xxxMACHINExxx-linux-thread-multi/Imager/include/imext.h +#usr/lib/perl5/site_perl/5.32.1/xxxMACHINExxx-linux-thread-multi/Imager/include/imextdef.h +#usr/lib/perl5/site_perl/5.32.1/xxxMACHINExxx-linux-thread-multi/Imager/include/imextpl.h +#usr/lib/perl5/site_perl/5.32.1/xxxMACHINExxx-linux-thread-multi/Imager/include/imextpltypes.h +#usr/lib/perl5/site_perl/5.32.1/xxxMACHINExxx-linux-thread-multi/Imager/include/imexttypes.h +#usr/lib/perl5/site_perl/5.32.1/xxxMACHINExxx-linux-thread-multi/Imager/include/imio.h +#usr/lib/perl5/site_perl/5.32.1/xxxMACHINExxx-linux-thread-multi/Imager/include/immacros.h +#usr/lib/perl5/site_perl/5.32.1/xxxMACHINExxx-linux-thread-multi/Imager/include/imperl.h +#usr/lib/perl5/site_perl/5.32.1/xxxMACHINExxx-linux-thread-multi/Imager/include/imperlio.h +#usr/lib/perl5/site_perl/5.32.1/xxxMACHINExxx-linux-thread-multi/Imager/include/imrender.h +#usr/lib/perl5/site_perl/5.32.1/xxxMACHINExxx-linux-thread-multi/Imager/include/iolayer.h +#usr/lib/perl5/site_perl/5.32.1/xxxMACHINExxx-linux-thread-multi/Imager/include/iolayert.h +#usr/lib/perl5/site_perl/5.32.1/xxxMACHINExxx-linux-thread-multi/Imager/include/log.h +#usr/lib/perl5/site_perl/5.32.1/xxxMACHINExxx-linux-thread-multi/Imager/include/plug.h +#usr/lib/perl5/site_perl/5.32.1/xxxMACHINExxx-linux-thread-multi/Imager/include/ppport.h +#usr/lib/perl5/site_perl/5.32.1/xxxMACHINExxx-linux-thread-multi/Imager/include/regmach.h +#usr/lib/perl5/site_perl/5.32.1/xxxMACHINExxx-linux-thread-multi/Imager/include/rendert.h +#usr/lib/perl5/site_perl/5.32.1/xxxMACHINExxx-linux-thread-multi/Imager/include/stackmach.h +usr/lib/perl5/site_perl/5.32.1/xxxMACHINExxx-linux-thread-multi/Imager/interface.pod +usr/lib/perl5/site_perl/5.32.1/xxxMACHINExxx-linux-thread-multi/Imager/regmach.pod +#usr/lib/perl5/site_perl/5.32.1/xxxMACHINExxx-linux-thread-multi/Imager/typemap +#usr/lib/perl5/site_perl/5.32.1/xxxMACHINExxx-linux-thread-multi/auto/Imager +#usr/lib/perl5/site_perl/5.32.1/xxxMACHINExxx-linux-thread-multi/auto/Imager/.packlist +#usr/lib/perl5/site_perl/5.32.1/xxxMACHINExxx-linux-thread-multi/auto/Imager/CountColor +usr/lib/perl5/site_perl/5.32.1/xxxMACHINExxx-linux-thread-multi/auto/Imager/CountColor/CountColor.so +#usr/lib/perl5/site_perl/5.32.1/xxxMACHINExxx-linux-thread-multi/auto/Imager/File +#usr/lib/perl5/site_perl/5.32.1/xxxMACHINExxx-linux-thread-multi/auto/Imager/File/ICO +usr/lib/perl5/site_perl/5.32.1/xxxMACHINExxx-linux-thread-multi/auto/Imager/File/ICO/ICO.so +#usr/lib/perl5/site_perl/5.32.1/xxxMACHINExxx-linux-thread-multi/auto/Imager/File/JPEG +usr/lib/perl5/site_perl/5.32.1/xxxMACHINExxx-linux-thread-multi/auto/Imager/File/JPEG/JPEG.so +#usr/lib/perl5/site_perl/5.32.1/xxxMACHINExxx-linux-thread-multi/auto/Imager/File/PNG +usr/lib/perl5/site_perl/5.32.1/xxxMACHINExxx-linux-thread-multi/auto/Imager/File/PNG/PNG.so +#usr/lib/perl5/site_perl/5.32.1/xxxMACHINExxx-linux-thread-multi/auto/Imager/File/SGI +usr/lib/perl5/site_perl/5.32.1/xxxMACHINExxx-linux-thread-multi/auto/Imager/File/SGI/SGI.so +#usr/lib/perl5/site_perl/5.32.1/xxxMACHINExxx-linux-thread-multi/auto/Imager/File/TIFF +usr/lib/perl5/site_perl/5.32.1/xxxMACHINExxx-linux-thread-multi/auto/Imager/File/TIFF/TIFF.so +#usr/lib/perl5/site_perl/5.32.1/xxxMACHINExxx-linux-thread-multi/auto/Imager/Filter +#usr/lib/perl5/site_perl/5.32.1/xxxMACHINExxx-linux-thread-multi/auto/Imager/Filter/DynTest +usr/lib/perl5/site_perl/5.32.1/xxxMACHINExxx-linux-thread-multi/auto/Imager/Filter/DynTest/DynTest.so +#usr/lib/perl5/site_perl/5.32.1/xxxMACHINExxx-linux-thread-multi/auto/Imager/Filter/Flines +usr/lib/perl5/site_perl/5.32.1/xxxMACHINExxx-linux-thread-multi/auto/Imager/Filter/Flines/Flines.so +#usr/lib/perl5/site_perl/5.32.1/xxxMACHINExxx-linux-thread-multi/auto/Imager/Filter/Mandelbrot +usr/lib/perl5/site_perl/5.32.1/xxxMACHINExxx-linux-thread-multi/auto/Imager/Filter/Mandelbrot/Mandelbrot.so +#usr/lib/perl5/site_perl/5.32.1/xxxMACHINExxx-linux-thread-multi/auto/Imager/Font +#usr/lib/perl5/site_perl/5.32.1/xxxMACHINExxx-linux-thread-multi/auto/Imager/Font/FT2 +usr/lib/perl5/site_perl/5.32.1/xxxMACHINExxx-linux-thread-multi/auto/Imager/Font/FT2/FT2.so +usr/lib/perl5/site_perl/5.32.1/xxxMACHINExxx-linux-thread-multi/auto/Imager/Imager.so #usr/share/man/man3/Imager.3 #usr/share/man/man3/Imager::API.3 #usr/share/man/man3/Imager::APIRef.3 diff --git a/config/rootfiles/common/perl-Imager-QRCode b/config/rootfiles/common/perl-Imager-QRCode index a29c7a615..0ca11f270 100644 --- a/config/rootfiles/common/perl-Imager-QRCode +++ b/config/rootfiles/common/perl-Imager-QRCode @@ -1,5 +1,5 @@ -usr/lib/perl5/site_perl/5.32.1/x86_64-linux-thread-multi/Imager/QRCode.pm -#usr/lib/perl5/site_perl/5.32.1/x86_64-linux-thread-multi/auto/Imager/QRCode -#usr/lib/perl5/site_perl/5.32.1/x86_64-linux-thread-multi/auto/Imager/QRCode/.packlist -usr/lib/perl5/site_perl/5.32.1/x86_64-linux-thread-multi/auto/Imager/QRCode/QRCode.so +usr/lib/perl5/site_perl/5.32.1/xxxMACHINExxx-linux-thread-multi/Imager/QRCode.pm +#usr/lib/perl5/site_perl/5.32.1/xxxMACHINExxx-linux-thread-multi/auto/Imager/QRCode +#usr/lib/perl5/site_perl/5.32.1/xxxMACHINExxx-linux-thread-multi/auto/Imager/QRCode/.packlist +usr/lib/perl5/site_perl/5.32.1/xxxMACHINExxx-linux-thread-multi/auto/Imager/QRCode/QRCode.so #usr/share/man/man3/Imager::QRCode.3 diff --git a/config/rootfiles/common/perl-MIME-Base32 b/config/rootfiles/common/perl-MIME-Base32 index 075a9b902..31c21ef21 100644 --- a/config/rootfiles/common/perl-MIME-Base32 +++ b/config/rootfiles/common/perl-MIME-Base32 @@ -1,4 +1,4 @@ usr/lib/perl5/site_perl/5.32.1/MIME/Base32.pm -#usr/lib/perl5/site_perl/5.32.1/x86_64-linux-thread-multi/auto/MIME/Base32 -#usr/lib/perl5/site_perl/5.32.1/x86_64-linux-thread-multi/auto/MIME/Base32/.packlist +#usr/lib/perl5/site_perl/5.32.1/xxxMACHINExxx-linux-thread-multi/auto/MIME/Base32 +#usr/lib/perl5/site_perl/5.32.1/xxxMACHINExxx-linux-thread-multi/auto/MIME/Base32/.packlist #usr/share/man/man3/MIME::Base32.3 diff --git a/config/rootfiles/common/perl-Module-Build b/config/rootfiles/common/perl-Module-Build index a4c6480d7..16cecf272 100644 --- a/config/rootfiles/common/perl-Module-Build +++ b/config/rootfiles/common/perl-Module-Build @@ -1,22 +1,22 @@ #usr/bin/config_data #usr/lib/perl5/site_perl/5.32.1/Module #usr/lib/perl5/site_perl/5.32.1/Module/Build -usr/lib/perl5/site_perl/5.32.1/Module/Build.pm -usr/lib/perl5/site_perl/5.32.1/Module/Build/API.pod -usr/lib/perl5/site_perl/5.32.1/Module/Build/Authoring.pod -usr/lib/perl5/site_perl/5.32.1/Module/Build/Base.pm -usr/lib/perl5/site_perl/5.32.1/Module/Build/Bundling.pod -usr/lib/perl5/site_perl/5.32.1/Module/Build/Compat.pm -usr/lib/perl5/site_perl/5.32.1/Module/Build/Config.pm -usr/lib/perl5/site_perl/5.32.1/Module/Build/ConfigData.pm -usr/lib/perl5/site_perl/5.32.1/Module/Build/Cookbook.pm -usr/lib/perl5/site_perl/5.32.1/Module/Build/Dumper.pm -usr/lib/perl5/site_perl/5.32.1/Module/Build/Notes.pm -usr/lib/perl5/site_perl/5.32.1/Module/Build/PPMMaker.pm -usr/lib/perl5/site_perl/5.32.1/Module/Build/Platform -usr/lib/perl5/site_perl/5.32.1/Module/Build/Platform/Default.pm +#usr/lib/perl5/site_perl/5.32.1/Module/Build.pm +#usr/lib/perl5/site_perl/5.32.1/Module/Build/API.pod +#usr/lib/perl5/site_perl/5.32.1/Module/Build/Authoring.pod +#usr/lib/perl5/site_perl/5.32.1/Module/Build/Base.pm +#usr/lib/perl5/site_perl/5.32.1/Module/Build/Bundling.pod +#usr/lib/perl5/site_perl/5.32.1/Module/Build/Compat.pm +#usr/lib/perl5/site_perl/5.32.1/Module/Build/Config.pm +#usr/lib/perl5/site_perl/5.32.1/Module/Build/ConfigData.pm +#usr/lib/perl5/site_perl/5.32.1/Module/Build/Cookbook.pm +#usr/lib/perl5/site_perl/5.32.1/Module/Build/Dumper.pm +#usr/lib/perl5/site_perl/5.32.1/Module/Build/Notes.pm +#usr/lib/perl5/site_perl/5.32.1/Module/Build/PPMMaker.pm +#usr/lib/perl5/site_perl/5.32.1/Module/Build/Platform +#usr/lib/perl5/site_perl/5.32.1/Module/Build/Platform/Default.pm #usr/lib/perl5/site_perl/5.32.1/Module/Build/Platform/MacOS.pm -usr/lib/perl5/site_perl/5.32.1/Module/Build/Platform/Unix.pm +#usr/lib/perl5/site_perl/5.32.1/Module/Build/Platform/Unix.pm #usr/lib/perl5/site_perl/5.32.1/Module/Build/Platform/VMS.pm #usr/lib/perl5/site_perl/5.32.1/Module/Build/Platform/VOS.pm #usr/lib/perl5/site_perl/5.32.1/Module/Build/Platform/Windows.pm @@ -24,10 +24,10 @@ usr/lib/perl5/site_perl/5.32.1/Module/Build/Platform/Unix.pm #usr/lib/perl5/site_perl/5.32.1/Module/Build/Platform/cygwin.pm #usr/lib/perl5/site_perl/5.32.1/Module/Build/Platform/darwin.pm #usr/lib/perl5/site_perl/5.32.1/Module/Build/Platform/os2.pm -usr/lib/perl5/site_perl/5.32.1/Module/Build/PodParser.pm -#usr/lib/perl5/site_perl/5.32.1/x86_64-linux-thread-multi/auto/Module -#usr/lib/perl5/site_perl/5.32.1/x86_64-linux-thread-multi/auto/Module/Build -#usr/lib/perl5/site_perl/5.32.1/x86_64-linux-thread-multi/auto/Module/Build/.packlist +#usr/lib/perl5/site_perl/5.32.1/Module/Build/PodParser.pm +#usr/lib/perl5/site_perl/5.32.1/xxxMACHINExxx-linux-thread-multi/auto/Module +#usr/lib/perl5/site_perl/5.32.1/xxxMACHINExxx-linux-thread-multi/auto/Module/Build +#usr/lib/perl5/site_perl/5.32.1/xxxMACHINExxx-linux-thread-multi/auto/Module/Build/.packlist #usr/share/man/man1/config_data.1 #usr/share/man/man3/Module::Build.3 #usr/share/man/man3/Module::Build::API.3 diff --git a/config/rootfiles/common/perl-Module-Install b/config/rootfiles/common/perl-Module-Install index 2c0896488..caabe9375 100644 --- a/config/rootfiles/common/perl-Module-Install +++ b/config/rootfiles/common/perl-Module-Install @@ -1,49 +1,49 @@ -usr/lib/perl5/site_perl/5.32.1/Module/AutoInstall.pm +#usr/lib/perl5/site_perl/5.32.1/Module/AutoInstall.pm #usr/lib/perl5/site_perl/5.32.1/Module/Install -usr/lib/perl5/site_perl/5.32.1/Module/Install.pm -usr/lib/perl5/site_perl/5.32.1/Module/Install.pod -usr/lib/perl5/site_perl/5.32.1/Module/Install/API.pod +#usr/lib/perl5/site_perl/5.32.1/Module/Install.pm +#usr/lib/perl5/site_perl/5.32.1/Module/Install.pod +#usr/lib/perl5/site_perl/5.32.1/Module/Install/API.pod #usr/lib/perl5/site_perl/5.32.1/Module/Install/Admin -usr/lib/perl5/site_perl/5.32.1/Module/Install/Admin.pm -usr/lib/perl5/site_perl/5.32.1/Module/Install/Admin/Bundle.pm -usr/lib/perl5/site_perl/5.32.1/Module/Install/Admin/Compiler.pm -usr/lib/perl5/site_perl/5.32.1/Module/Install/Admin/Find.pm -usr/lib/perl5/site_perl/5.32.1/Module/Install/Admin/Include.pm -usr/lib/perl5/site_perl/5.32.1/Module/Install/Admin/Makefile.pm -usr/lib/perl5/site_perl/5.32.1/Module/Install/Admin/Manifest.pm -usr/lib/perl5/site_perl/5.32.1/Module/Install/Admin/Metadata.pm -usr/lib/perl5/site_perl/5.32.1/Module/Install/Admin/ScanDeps.pm -usr/lib/perl5/site_perl/5.32.1/Module/Install/Admin/WriteAll.pm -usr/lib/perl5/site_perl/5.32.1/Module/Install/AutoInstall.pm -usr/lib/perl5/site_perl/5.32.1/Module/Install/Base.pm -usr/lib/perl5/site_perl/5.32.1/Module/Install/Bundle.pm -usr/lib/perl5/site_perl/5.32.1/Module/Install/Can.pm -usr/lib/perl5/site_perl/5.32.1/Module/Install/Compiler.pm -usr/lib/perl5/site_perl/5.32.1/Module/Install/DSL.pm -usr/lib/perl5/site_perl/5.32.1/Module/Install/Deprecated.pm -usr/lib/perl5/site_perl/5.32.1/Module/Install/External.pm -usr/lib/perl5/site_perl/5.32.1/Module/Install/FAQ.pod -usr/lib/perl5/site_perl/5.32.1/Module/Install/Fetch.pm -usr/lib/perl5/site_perl/5.32.1/Module/Install/Include.pm -usr/lib/perl5/site_perl/5.32.1/Module/Install/Inline.pm -usr/lib/perl5/site_perl/5.32.1/Module/Install/MakeMaker.pm -usr/lib/perl5/site_perl/5.32.1/Module/Install/Makefile.pm -usr/lib/perl5/site_perl/5.32.1/Module/Install/Metadata.pm -usr/lib/perl5/site_perl/5.32.1/Module/Install/PAR.pm -usr/lib/perl5/site_perl/5.32.1/Module/Install/Philosophy.pod -usr/lib/perl5/site_perl/5.32.1/Module/Install/Run.pm -usr/lib/perl5/site_perl/5.32.1/Module/Install/Scripts.pm -usr/lib/perl5/site_perl/5.32.1/Module/Install/Share.pm -usr/lib/perl5/site_perl/5.32.1/Module/Install/Win32.pm -usr/lib/perl5/site_perl/5.32.1/Module/Install/With.pm -usr/lib/perl5/site_perl/5.32.1/Module/Install/WriteAll.pm +#usr/lib/perl5/site_perl/5.32.1/Module/Install/Admin.pm +#usr/lib/perl5/site_perl/5.32.1/Module/Install/Admin/Bundle.pm +#usr/lib/perl5/site_perl/5.32.1/Module/Install/Admin/Compiler.pm +#usr/lib/perl5/site_perl/5.32.1/Module/Install/Admin/Find.pm +#usr/lib/perl5/site_perl/5.32.1/Module/Install/Admin/Include.pm +#usr/lib/perl5/site_perl/5.32.1/Module/Install/Admin/Makefile.pm +#usr/lib/perl5/site_perl/5.32.1/Module/Install/Admin/Manifest.pm +#usr/lib/perl5/site_perl/5.32.1/Module/Install/Admin/Metadata.pm +#usr/lib/perl5/site_perl/5.32.1/Module/Install/Admin/ScanDeps.pm +#usr/lib/perl5/site_perl/5.32.1/Module/Install/Admin/WriteAll.pm +#usr/lib/perl5/site_perl/5.32.1/Module/Install/AutoInstall.pm +#usr/lib/perl5/site_perl/5.32.1/Module/Install/Base.pm +#usr/lib/perl5/site_perl/5.32.1/Module/Install/Bundle.pm +#usr/lib/perl5/site_perl/5.32.1/Module/Install/Can.pm +#usr/lib/perl5/site_perl/5.32.1/Module/Install/Compiler.pm +#usr/lib/perl5/site_perl/5.32.1/Module/Install/DSL.pm +#usr/lib/perl5/site_perl/5.32.1/Module/Install/Deprecated.pm +#usr/lib/perl5/site_perl/5.32.1/Module/Install/External.pm +#usr/lib/perl5/site_perl/5.32.1/Module/Install/FAQ.pod +#usr/lib/perl5/site_perl/5.32.1/Module/Install/Fetch.pm +#usr/lib/perl5/site_perl/5.32.1/Module/Install/Include.pm +#usr/lib/perl5/site_perl/5.32.1/Module/Install/Inline.pm +#usr/lib/perl5/site_perl/5.32.1/Module/Install/MakeMaker.pm +#usr/lib/perl5/site_perl/5.32.1/Module/Install/Makefile.pm +#usr/lib/perl5/site_perl/5.32.1/Module/Install/Metadata.pm +#usr/lib/perl5/site_perl/5.32.1/Module/Install/PAR.pm +#usr/lib/perl5/site_perl/5.32.1/Module/Install/Philosophy.pod +#usr/lib/perl5/site_perl/5.32.1/Module/Install/Run.pm +#usr/lib/perl5/site_perl/5.32.1/Module/Install/Scripts.pm +#usr/lib/perl5/site_perl/5.32.1/Module/Install/Share.pm +#usr/lib/perl5/site_perl/5.32.1/Module/Install/Win32.pm +#usr/lib/perl5/site_perl/5.32.1/Module/Install/With.pm +#usr/lib/perl5/site_perl/5.32.1/Module/Install/WriteAll.pm #usr/lib/perl5/site_perl/5.32.1/inc #usr/lib/perl5/site_perl/5.32.1/inc/Module #usr/lib/perl5/site_perl/5.32.1/inc/Module/Install #usr/lib/perl5/site_perl/5.32.1/inc/Module/Install.pm #usr/lib/perl5/site_perl/5.32.1/inc/Module/Install/DSL.pm -#usr/lib/perl5/site_perl/5.32.1/x86_64-linux-thread-multi/auto/Module/Install -#usr/lib/perl5/site_perl/5.32.1/x86_64-linux-thread-multi/auto/Module/Install/.packlist +#usr/lib/perl5/site_perl/5.32.1/xxxMACHINExxx-linux-thread-multi/auto/Module/Install +#usr/lib/perl5/site_perl/5.32.1/xxxMACHINExxx-linux-thread-multi/auto/Module/Install/.packlist #usr/share/man/man3/Module::AutoInstall.3 #usr/share/man/man3/Module::Install.3 #usr/share/man/man3/Module::Install::API.3 diff --git a/config/rootfiles/common/perl-Module-ScanDeps b/config/rootfiles/common/perl-Module-ScanDeps index 0700cf3b8..3886fb3ac 100644 --- a/config/rootfiles/common/perl-Module-ScanDeps +++ b/config/rootfiles/common/perl-Module-ScanDeps @@ -1,8 +1,8 @@ -usr/bin/scandeps.pl +#usr/bin/scandeps.pl #usr/lib/perl5/site_perl/5.32.1/Module/ScanDeps -usr/lib/perl5/site_perl/5.32.1/Module/ScanDeps.pm -usr/lib/perl5/site_perl/5.32.1/Module/ScanDeps/Cache.pm -#usr/lib/perl5/site_perl/5.32.1/x86_64-linux-thread-multi/auto/Module/ScanDeps -#usr/lib/perl5/site_perl/5.32.1/x86_64-linux-thread-multi/auto/Module/ScanDeps/.packlist +#usr/lib/perl5/site_perl/5.32.1/Module/ScanDeps.pm +#usr/lib/perl5/site_perl/5.32.1/Module/ScanDeps/Cache.pm +#usr/lib/perl5/site_perl/5.32.1/xxxMACHINExxx-linux-thread-multi/auto/Module/ScanDeps +#usr/lib/perl5/site_perl/5.32.1/xxxMACHINExxx-linux-thread-multi/auto/Module/ScanDeps/.packlist #usr/share/man/man1/scandeps.pl.1 #usr/share/man/man3/Module::ScanDeps.3 diff --git a/config/rootfiles/common/perl-YAML-Tiny b/config/rootfiles/common/perl-YAML-Tiny index 460065160..7114b12ac 100644 --- a/config/rootfiles/common/perl-YAML-Tiny +++ b/config/rootfiles/common/perl-YAML-Tiny @@ -1,6 +1,6 @@ #usr/lib/perl5/site_perl/5.32.1/YAML usr/lib/perl5/site_perl/5.32.1/YAML/Tiny.pm -#usr/lib/perl5/site_perl/5.32.1/x86_64-linux-thread-multi/auto/YAML -#usr/lib/perl5/site_perl/5.32.1/x86_64-linux-thread-multi/auto/YAML/Tiny -#usr/lib/perl5/site_perl/5.32.1/x86_64-linux-thread-multi/auto/YAML/Tiny/.packlist +#usr/lib/perl5/site_perl/5.32.1/xxxMACHINExxx-linux-thread-multi/auto/YAML +#usr/lib/perl5/site_perl/5.32.1/xxxMACHINExxx-linux-thread-multi/auto/YAML/Tiny +#usr/lib/perl5/site_perl/5.32.1/xxxMACHINExxx-linux-thread-multi/auto/YAML/Tiny/.packlist #usr/share/man/man3/YAML::Tiny.3 diff --git a/config/rootfiles/packages/libqrencode b/config/rootfiles/common/qrencode similarity index 88% rename from config/rootfiles/packages/libqrencode rename to config/rootfiles/common/qrencode index 930fd237e..c0406bd9e 100644 --- a/config/rootfiles/packages/libqrencode +++ b/config/rootfiles/common/qrencode @@ -1,7 +1,7 @@ usr/bin/qrencode #usr/include/qrencode.h #usr/lib/libqrencode.la -usr/lib/libqrencode.so +#usr/lib/libqrencode.so usr/lib/libqrencode.so.4 usr/lib/libqrencode.so.4.1.1 #usr/lib/pkgconfig/libqrencode.pc From 2050be20e1600377914736531307d3fab863285e Mon Sep 17 00:00:00 2001 From: Michael Tremer Date: Tue, 3 May 2022 11:51:11 +0000 Subject: [PATCH 23/50] ovpnmain.cgi: Disable sending any error messages to the browser again Signed-off-by: Michael Tremer --- html/cgi-bin/ovpnmain.cgi | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/html/cgi-bin/ovpnmain.cgi b/html/cgi-bin/ovpnmain.cgi index 01cbf6833..8581d63be 100644 --- a/html/cgi-bin/ovpnmain.cgi +++ b/html/cgi-bin/ovpnmain.cgi @@ -38,8 +38,9 @@ require "${General::swroot}/countries.pl"; require "${General::swroot}/location-functions.pl"; # enable only the following on debugging purpose -use warnings; -use CGI::Carp 'fatalsToBrowser'; +#use warnings; +#use CGI::Carp 'fatalsToBrowser'; + #workaround to suppress a warning when a variable is used only once my @dummy = ( ${Header::colourgreen}, ${Header::colourblue} ); undef (@dummy); From c63a54f0908f8dcce2fde30d4476e82dbc2c3bfd Mon Sep 17 00:00:00 2001 From: Michael Tremer Date: Tue, 3 May 2022 11:54:17 +0000 Subject: [PATCH 24/50] ovpnmain.cgi: Load all modules at the beginning Although Perl modules tend to take a long time to load, it is better to do this at the beginning so that loading the script will show any errors. Signed-off-by: Michael Tremer --- html/cgi-bin/ovpnmain.cgi | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/html/cgi-bin/ovpnmain.cgi b/html/cgi-bin/ovpnmain.cgi index 8581d63be..78b92a151 100644 --- a/html/cgi-bin/ovpnmain.cgi +++ b/html/cgi-bin/ovpnmain.cgi @@ -23,6 +23,9 @@ ### use CGI; use CGI qw/:standard/; +use Imager::QRCode; +use MIME::Base32; +use MIME::Base64; use Net::DNS; use Net::Ping; use Net::Telnet; @@ -2638,9 +2641,6 @@ else } elsif ($cgiparams{'ACTION'} eq $Lang::tr{'show otp qrcode'}) { &General::readhasharray("${General::swroot}/ovpn/ovpnconfig", \%confighash); - use MIME::Base32; - use MIME::Base64; - use Imager::QRCode; my $qrcode = Imager::QRCode->new( size => 6, margin => 0, From 339b84d50910b1c258304bff68d1f875e8b2a25a Mon Sep 17 00:00:00 2001 From: Michael Tremer Date: Wed, 4 May 2022 14:46:41 +0100 Subject: [PATCH 25/50] openvpn-2fa: Import a prototype of an authenticator This script runs aside of OpenVPN and connects to the management socket. On the socket, OpenVPN will post any new clients trying to authenticate which will be handled by the authenticator. If a client has 2FA enabled, it will be challanged for the current token which will then be checked in a second pass. Clients which do not have 2FA enabled will just be authenticated no matter what and tls-verify will have handled the rest. Signed-off-by: Michael Tremer --- config/ovpn/openvpn-authenticator | 365 ++++++++++++++++++++++++++++++ config/rootfiles/common/openvpn | 1 + lfs/openvpn | 4 + src/misc-progs/openvpnctrl.c | 21 ++ 4 files changed, 391 insertions(+) create mode 100644 config/ovpn/openvpn-authenticator diff --git a/config/ovpn/openvpn-authenticator b/config/ovpn/openvpn-authenticator new file mode 100644 index 000000000..2c92f07f8 --- /dev/null +++ b/config/ovpn/openvpn-authenticator @@ -0,0 +1,365 @@ +#!/usr/bin/python3 +############################################################################### +# # +# IPFire.org - A linux based firewall # +# Copyright (C) 2022 Michael Tremer # +# # +# 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 . # +# # +############################################################################### + +import argparse +import base64 +import csv +import daemon +import logging +import logging.handlers +import signal +import socket +import subprocess +import sys + +OPENVPN_CONFIG = "/var/ipfire/ovpn/ovpnconfig" + +CHALLENGETEXT = "One Time Token: " + +log = logging.getLogger() +log.setLevel(logging.DEBUG) + +def setup_logging(daemon=True, loglevel=logging.INFO): + log.setLevel(loglevel) + + # Log to syslog by default + handler = logging.handlers.SysLogHandler(address="/dev/log", facility="daemon") + log.addHandler(handler) + + # Format everything + formatter = logging.Formatter("%(name)s[%(process)d]: %(message)s") + handler.setFormatter(formatter) + + handler.setLevel(loglevel) + + # If we are running in foreground, we should write everything to the console, too + if not daemon: + handler = logging.StreamHandler() + log.addHandler(handler) + + handler.setLevel(loglevel) + + return log + +class OpenVPNAuthenticator(object): + def __init__(self, socket_path): + self.socket_path = socket_path + + def _read_line(self): + buf = [] + + while True: + char = self.sock.recv(1) + buf.append(char) + + # Reached end of line + if char == b"\n": + break + + line = b"".join(buf).decode() + line = line.rstrip() + + log.debug("< %s" % line) + + return line + + def _write_line(self, line): + log.debug("> %s" % line) + + if not line.endswith("\n"): + line = "%s\n" % line + + # Convert into bytes + buf = line.encode() + + # Send to socket + self.sock.send(buf) + + def _send_command(self, command): + # Send the command + self._write_line(command) + + return # XXX Code below doesn't work + + # Read response + response = self._read_line() + + # Handle response + if not response.startswith("SUCCESS:"): + log.error("Command '%s' returned an error:" % command) + log.error(" %s" % response) + + return response + + def run(self): + # Connect to socket + self.sock = socket.socket(socket.AF_UNIX, socket.SOCK_STREAM) + self.sock.connect(self.socket_path) + + log.info("OpenVPN Authenticator started") + + while True: + line = self._read_line() + + if line.startswith(">CLIENT"): + self._client_event(line) + + log.info("OpenVPN Authenticator terminated") + + def terminate(self, *args): + # XXX TODO + raise SystemExit + + def _client_event(self, line): + # Strip away "CLIENT:" + client, delim, line = line.partition(":") + + # Extract the event & split any arguments + event, delim, arguments = line.partition(",") + arguments = arguments.split(",") + + environ = {} + + # Read environment + while True: + line = self._read_line() + + if not line.startswith(">CLIENT:ENV,"): + raise RuntimeError("Unexpected environment line: %s" % line) + + # Strip >CLIENT:ENV, + line = line[12:] + + # Done + if line == "END": + break + + # Parse environment + key, delim, value = line.partition("=") + environ[key] = value + + if event == "CONNECT": + self._client_connect(*arguments, environ=environ) + elif event == "DISCONNECT": + self._client_disconnect(*arguments, environ=environ) + elif event == "REAUTH": + self._client_reauth(*arguments, environ=environ) + else: + log.debug("Unhandled event: %s" % event) + + def _client_connect(self, cid, kid, environ={}): + log.debug("Received client connect (cid=%s, kid=%s)" % (cid, kid)) + for key in sorted(environ): + log.debug(" %s : %s" % (key, environ[key])) + + # Fetch common name + common_name = environ.get("common_name") + + # Find connection details + conn = self._find_connection(common_name) + if not conn: + log.warning("Could not find connection '%s'" % common_name) + # XXX deny auth? + + log.debug("Found connection:") + for key in conn: + log.debug(" %s : %s" % (key, conn[key])) + + # Perform no further checks if TOTP is disabled for this client + if not conn.get("totp_status") == "on": + return self._client_auth_successful(cid, kid) + + # Fetch username & password + username = environ.get("username") + password = environ.get("password") + + # Client sent the special password TOTP to start challenge authentication + if password == "TOTP": + return self._client_auth_challenge(cid, kid, + username=common_name, password="TOTP") + + elif password.startswith("CRV1:"): + log.debug("Received dynamic challenge response %s" % password) + + # Decode the string + (command, flags, username, password, token) = password.split(":", 5) + + # Decode username + username = self._b64decode(username) + + # Check if username matches common name + if username == common_name: + # Check if TOTP token matches + if self._check_totp_token(token, conn.get("totp_secret")): + return self._client_auth_successful(self, cid, kid) + + # Restart authentication + self._client_auth_challenge(cid, kid, + username=common_name, password="TOTP") + + def _client_disconnect(self, cid, environ={}): + """ + Handles CLIENT:DISCONNECT events + """ + pass + + def _client_reauth(self, cid, kid, environ={}): + """ + Handles CLIENT:REAUTH events + """ + # Perform no checks + self._client_auth_successful(cid, kid) + + def _client_auth_challenge(self, cid, kid, username, password): + """ + Initiates a dynamic challenge authentication with the client + """ + log.debug("Sending request for dynamic challenge...") + + self._send_command( + "client-deny %s %s \"CRV1\" \"CRV1:R,E:%s:%s:%s\"" % ( + cid, + kid, + self._b64encode(username), + self._b64encode(password), + self._escape(CHALLENGETEXT), + ), + ) + + def _client_auth_successful(self, cid, kid): + """ + Sends a positive authentication response + """ + log.debug("Client Authentication Successful (cid=%s, kid=%s)" % (cid, kid)) + + self._send_command( + "client-auth-nt %s %s" % (cid, kid), + ) + + @staticmethod + def _b64encode(s): + return base64.b64encode(s.encode()).decode() + + @staticmethod + def _b64decode(s): + return base64.b64decode(s.encode()).decode() + + @staticmethod + def _escape(s): + return s.replace(" ", "\ ") + + def _find_connection(self, common_name): + with open(OPENVPN_CONFIG, "r") as f: + for row in csv.reader(f, dialect="unix"): + # Skip empty rows + if not row: + continue + + # Skip disabled connections + if not row[1] == "on": + continue + + # Skip any net-2-net connections + if not row[4] == "host": + continue + + # Skip if common name does not match + if not row[3] == common_name: + continue + + # Return match! + return { + "name" : row[2], + "common_name" : row[3], + + # TOTP options + "totp_protocol" : row[43], + "totp_status" : row[44], + "totp_secret" : row[45], + } + + def _check_totp_token(self, token, secret): + p = subprocess.run( + ["oathtool", "-w", "3", "%s" % secret], + capture_output=True, + ) + + # Catch any errors if we could not run the command + if p.returncode: + log.error("Could not run oathtool: %s" % p.stderr) + + return False + + # Reading returned tokens looking for a match + for line in p.stdout.split(b"\n"): + # Skip empty/last line(s) + if not line: + continue + + # Decode bytes into string + line = line.decode() + + # Return True if a token matches + if line == token: + return True + + # No match + return False + + +if __name__ == "__main__": + parser = argparse.ArgumentParser(description="OpenVPN Authenticator") + + # Daemon Stuff + parser.add_argument("--daemon", "-d", action="store_true", + help="Launch as daemon in background") + parser.add_argument("--verbose", "-v", action="count", help="Be more verbose") + + # Paths + parser.add_argument("--socket", default="/var/run/openvpn.sock", + metavar="PATH", help="Path to OpenVPN Management Socket") + + # Parse command line arguments + args = parser.parse_args() + + # Setup logging + loglevel = logging.WARN + + if args.verbose: + if args.verbose == 1: + loglevel = logging.INFO + elif args.verbose >= 2: + loglevel = logging.DEBUG + + # Create an authenticator + authenticator = OpenVPNAuthenticator(args.socket) + + with daemon.DaemonContext( + detach_process=args.daemon, + stderr=None if args.daemon else sys.stderr, + signal_map = { + signal.SIGINT : authenticator.terminate, + signal.SIGTERM : authenticator.terminate, + }, + ) as daemon: + setup_logging(daemon=args.daemon, loglevel=loglevel) + + authenticator.run() diff --git a/config/rootfiles/common/openvpn b/config/rootfiles/common/openvpn index 6c3457d01..1784651b4 100644 --- a/config/rootfiles/common/openvpn +++ b/config/rootfiles/common/openvpn @@ -9,6 +9,7 @@ usr/lib/openvpn/plugins/openvpn-plugin-auth-pam.so usr/lib/openvpn/plugins/openvpn-plugin-down-root.so usr/lib/openvpn/verify usr/sbin/openvpn +usr/sbin/openvpn-authenticator #usr/share/doc/openvpn #usr/share/doc/openvpn/COPYING #usr/share/doc/openvpn/COPYRIGHT.GPL diff --git a/lfs/openvpn b/lfs/openvpn index 29c5f4a2a..2c4513810 100644 --- a/lfs/openvpn +++ b/lfs/openvpn @@ -104,5 +104,9 @@ $(TARGET) : $(patsubst %,$(DIR_DL)/%,$(objects)) chown root:root /etc/fcron.daily/openvpn-crl-updater chmod 750 /etc/fcron.daily/openvpn-crl-updater + # Install authenticator + install -v -m 755 $(DIR_SRC)/config/ovpn/openvpn-authenticator \ + /usr/sbin/openvpn-authenticator + @rm -rf $(DIR_APP) @$(POSTBUILD) diff --git a/src/misc-progs/openvpnctrl.c b/src/misc-progs/openvpnctrl.c index db23e9f00..b9e4fd2a6 100644 --- a/src/misc-progs/openvpnctrl.c +++ b/src/misc-progs/openvpnctrl.c @@ -457,6 +457,15 @@ void setFirewallRules(void) { } } +static void stopAuthenticator() { + const char* argv[] = { + "/usr/sbin/openvpn-authenticator", + NULL, + }; + + run("/sbin/killall", argv); +} + void stopDaemon(void) { char command[STRING_SIZE]; @@ -470,6 +479,15 @@ void stopDaemon(void) { snprintf(command, STRING_SIZE - 1, "/bin/rm -f /var/run/openvpn.pid"); executeCommand(command); + + // Stop OpenVPN authenticator + stopAuthenticator(); +} + +static int startAuthenticator(void) { + const char* argv[] = { "-d", NULL }; + + return run("/usr/sbin/openvpn-authenticator", argv); } void startDaemon(void) { @@ -487,6 +505,9 @@ void startDaemon(void) { executeCommand(command); snprintf(command, STRING_SIZE-1, "/bin/chmod 644 /var/run/ovpnserver.log"); executeCommand(command); + + // Start OpenVPN Authenticator + startAuthenticator(); } } From 6834749d223458d5ee95302732227bea0df62d60 Mon Sep 17 00:00:00 2001 From: Michael Tremer Date: Wed, 4 May 2022 14:49:32 +0100 Subject: [PATCH 26/50] openvpn-2fa: Drop the previous authentication handler This has been replaced by the newer authenticator Signed-off-by: Michael Tremer --- config/ovpn/otp-verify | 106 -------------------------------------- html/cgi-bin/ovpnmain.cgi | 1 - lfs/openvpn | 3 -- 3 files changed, 110 deletions(-) delete mode 100644 config/ovpn/otp-verify diff --git a/config/ovpn/otp-verify b/config/ovpn/otp-verify deleted file mode 100644 index 80a1a1a04..000000000 --- a/config/ovpn/otp-verify +++ /dev/null @@ -1,106 +0,0 @@ -#!/usr/bin/perl -############################################################################ -# # -# This file is part of the IPFire Firewall. # -# # -# IPFire 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 2 of the License, or # -# (at your option) any later version. # -# # -# IPFire 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 IPFire; if not, write to the Free Software # -# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA # -# # -# Copyright (C) 2022 IPFire Team . # -# # -############################################################################ - -use strict; -use warnings; - -use MIME::Base64; - -require '/var/ipfire/general-functions.pl'; - -my $cn; -my $prefix; -my $password; -my $otp; -my @valid_otps; - -#&General::log("otp-verify DEBUG: ENV:common_name: $ENV{'common_name'}"); - -# line 1: -# line 2: e.g.: SCRV1:cGFzc3dvcmQ=:ODg2MTM2 -while(<>) { - #&General::log("otp-verify DEBUG: line: $_"); - if ($_ =~ /^(?!SCRV[[:digit:]]).+/) { - chomp; - $cn = $_; - #$cn =~ s/\s*$//g; - } - if ($_ =~ /^SCRV[[:digit:]]:.+/) { - ($prefix, $password, $otp) = split /:/; - $password = decode_base64($password); - $otp = decode_base64($otp); - } -} - -if ($cn == "") { - #&General::log("otp-verify DEBUG: no credentials provided by client, setting CN from ENV."); - $cn = $ENV{'common_name'}; -} - -#&General::log("otp-verify DEBUG: CN: \"$cn\"\n"); -#&General::log("otp-verify DEBUG: PW: \"$password\"\n"); -#&General::log("otp-verify DEBUG: OTP: \"$otp\"\n"); -#&General::log("otp-verify DEBUG: ----\n"); - -my %confighash = (); -if (-f "${General::swroot}/ovpn/ovpnconfig") { - &General::readhasharray("${General::swroot}/ovpn/ovpnconfig", \%confighash); - foreach my $key (keys %confighash){ - if ($cn eq $confighash{$key}[2]) { - # Exit successfully for non-roadwarrior connections. - exit 0 unless ($confighash{$key}[3] eq "host"); - - # Exit successfully for disabled otp connections. - exit 0 unless (defined $confighash{$key}[43] and $confighash{$key}[43] eq "on"); - - # Exit with failure if required otp config is missing. - exit 1 if (not defined $confighash{$key}[42]); - exit 1 if (not defined $confighash{$key}[44]); - - #&General::log("otp-verify DEBUG: connection key: $key\n"); - #&General::log("otp-verify DEBUG: connection type: $confighash{$key}[3]\n"); - #&General::log("otp-verify DEBUG: CN: $confighash{$key}[2]\n"); - #&General::log("otp-verify DEBUG: otp Type: $confighash{$key}[42]\n"); - #&General::log("otp-verify DEBUG: otp State: $confighash{$key}[43]\n"); - #&General::log("otp-verify DEBUG: otp Secret: $confighash{$key}[44]\n"); - - # Get valid OTPs. - my @valid_otps = &General::system_output("/usr/bin/oathtool", "--totp", "-w", "3", "$confighash{$key}[44]"); - foreach (@valid_otps) { - # Exit successfully if OTP is correct. - exit 0 if ($otp == $_) - } - - # Exit with failure if no matching OTP was found. - exit 1; - } - } -} else { - # Return an error if ovpnconfig could not be found. - exit 1; -} - -# Exit successfully if no auth-user-pass data received. -exit 0; - -# vim: ts=3 sts=3 sw=3 et nu list diff --git a/html/cgi-bin/ovpnmain.cgi b/html/cgi-bin/ovpnmain.cgi index 78b92a151..9514c06ec 100644 --- a/html/cgi-bin/ovpnmain.cgi +++ b/html/cgi-bin/ovpnmain.cgi @@ -376,7 +376,6 @@ sub writeserverconf { } print CONF "tls-verify /usr/lib/openvpn/verify\n"; print CONF "crl-verify /var/ipfire/ovpn/crls/cacrl.pem\n"; - print CONF "auth-user-pass-verify \"/usr/lib/openvpn/otp-verify\" via-file\n"; print CONF "auth-user-pass-optional\n"; print CONF "reneg-sec 86400\n"; print CONF "user nobody\n"; diff --git a/lfs/openvpn b/lfs/openvpn index 2c4513810..8d6ba07ed 100644 --- a/lfs/openvpn +++ b/lfs/openvpn @@ -96,9 +96,6 @@ $(TARGET) : $(patsubst %,$(DIR_DL)/%,$(objects)) mv -v /var/ipfire/ovpn/verify /usr/lib/openvpn/verify chown root:root /usr/lib/openvpn/verify chmod 755 /usr/lib/openvpn/verify - mv -v /var/ipfire/ovpn/otp-verify /usr/lib/openvpn/otp-verify - chown root:root /usr/lib/openvpn/otp-verify - chmod 755 /usr/lib/openvpn/otp-verify # Add crl updater mv -v /var/ipfire/ovpn/openvpn-crl-updater /etc/fcron.daily chown root:root /etc/fcron.daily/openvpn-crl-updater From 5111dc3df3233720235f40269c2655d6b7e125a0 Mon Sep 17 00:00:00 2001 From: Michael Tremer Date: Wed, 4 May 2022 14:51:51 +0100 Subject: [PATCH 27/50] openvpn-2fa: Enable management socket for RW server Signed-off-by: Michael Tremer --- html/cgi-bin/ovpnmain.cgi | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/html/cgi-bin/ovpnmain.cgi b/html/cgi-bin/ovpnmain.cgi index 9514c06ec..1594580ce 100644 --- a/html/cgi-bin/ovpnmain.cgi +++ b/html/cgi-bin/ovpnmain.cgi @@ -391,6 +391,11 @@ sub writeserverconf { print CONF "# Log clients connecting/disconnecting\n"; print CONF "client-connect \"/usr/sbin/openvpn-metrics client-connect\"\n"; print CONF "client-disconnect \"/usr/sbin/openvpn-metrics client-disconnect\"\n"; + print CONF "\n"; + + print CONF "# Enable Management Socket\n"; + print CONF "management /var/run/openvpn.sock unix\n"; + print CONF "management-client-auth\n"; # Print server.conf.local if entries exist to server.conf if ( !-z $local_serverconf && $sovpnsettings{'ADDITIONAL_CONFIGS'} eq 'on') { From a999886759f360f4747084f1c69768a991766df3 Mon Sep 17 00:00:00 2001 From: Michael Tremer Date: Wed, 4 May 2022 14:58:18 +0100 Subject: [PATCH 28/50] openvpn-2fa: Configure fake authentication credentials These configuration option are required to make the client authenticate itself against the server. The server may then accept those credentials without any further ado or ask for a OTP. Signed-off-by: Michael Tremer --- html/cgi-bin/ovpnmain.cgi | 19 +++++++++---------- 1 file changed, 9 insertions(+), 10 deletions(-) diff --git a/html/cgi-bin/ovpnmain.cgi b/html/cgi-bin/ovpnmain.cgi index 1594580ce..edf56fca9 100644 --- a/html/cgi-bin/ovpnmain.cgi +++ b/html/cgi-bin/ovpnmain.cgi @@ -2441,17 +2441,16 @@ else if ($vpnsettings{FRAGMENT} ne '' && $vpnsettings{DPROTOCOL} ne 'tcp' ) { print CLIENTCONF "fragment $vpnsettings{'FRAGMENT'}\r\n"; } - if ($confighash{$cgiparams{'KEY'}}[43] eq 'on') { - print CLIENTCONF "auth-nocache\r\n"; - print CLIENTCONF "auth-user-pass credentials\r\n"; - print CLIENTCONF "static-challenge \"One Time Password (OTP): \" 1\r\n"; - open(CLIENTCREDS, ">$tempdir/credentials") or die "Unable to open tempfile: $!"; - print CLIENTCREDS "user\r\n"; - print CLIENTCREDS "password"; - close(CLIENTCREDS); - $zip->addFile( "$tempdir/credentials", "credentials") or die "Can't add file credentials\n"; - } + # Disable storing any credentials in memory + print CLIENTCONF "auth-nocache\r\n"; + + # Set a fake user name for authentication + print CLIENTCONF "auth-token-user USER\r\n"; + print CLIENTCONF "auth-token TOTP\r\n"; + + # If the server is asking for TOTP this needs to happen interactively + print CLIENTCONF "auth-retry interact\r\n"; if ($include_certs) { print CLIENTCONF "\r\n"; From 16d4a5c264d7deec49e3c1ee84541a231c31b5bb Mon Sep 17 00:00:00 2001 From: Timo Eissler Date: Tue, 7 Jun 2022 11:16:31 +0200 Subject: [PATCH 29/50] ovpnmain.cgi: Fix comparison operators --- html/cgi-bin/ovpnmain.cgi | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/html/cgi-bin/ovpnmain.cgi b/html/cgi-bin/ovpnmain.cgi index edf56fca9..ee7b38f3f 100644 --- a/html/cgi-bin/ovpnmain.cgi +++ b/html/cgi-bin/ovpnmain.cgi @@ -4485,10 +4485,10 @@ if ($cgiparams{'TYPE'} eq 'net') { $confighash{$key}[42] = 'HOTP/T30/6'; $confighash{$key}[43] = $cgiparams{'OTP_STATE'}; - if (($confighash{$key}[43] == 'on') && ($confighash{$key}[44] == '')) { + if (($confighash{$key}[43] eq 'on') && ($confighash{$key}[44] eq '')) { my @otp_secret = &General::system_output("/usr/bin/openssl", "rand", "-hex", "20"); $confighash{$key}[44] = $otp_secret[0]; - } elsif ($confighash{$key}[43] == '') { + } elsif ($confighash{$key}[43] eq '') { $confighash{$key}[44] = ''; } From 10b32d3895e7ca2134d403b2445f9569b1f7f36a Mon Sep 17 00:00:00 2001 From: Timo Eissler Date: Tue, 7 Jun 2022 11:20:56 +0200 Subject: [PATCH 30/50] ovpnmain.cgi: Fix OTP secret handling Convert stored hex OTP secret to binary prior to converting to base32. --- html/cgi-bin/ovpnmain.cgi | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/html/cgi-bin/ovpnmain.cgi b/html/cgi-bin/ovpnmain.cgi index ee7b38f3f..71c79ef47 100644 --- a/html/cgi-bin/ovpnmain.cgi +++ b/html/cgi-bin/ovpnmain.cgi @@ -2655,7 +2655,7 @@ else darkcolor => Imager::Color->new(0, 0, 0), ); my $cn = $confighash{$cgiparams{'KEY'}}[2]; - my $secret = encode_base32($confighash{$cgiparams{'KEY'}}[44]); + my $secret = encode_base32(pack('H*', $confighash{$cgiparams{'KEY'}}[44])); my $issuer = "$mainsettings{'HOSTNAME'}.$mainsettings{'DOMAINNAME'}"; my $qrcodeimg = $qrcode->plot("otpauth://totp/$cn?secret=$secret&issuer=$issuer"); my $qrcodeimgdata; From 74ab6f9fc03dab8dae8d63c86e036f2b96162f25 Mon Sep 17 00:00:00 2001 From: Timo Eissler Date: Tue, 7 Jun 2022 12:12:20 +0200 Subject: [PATCH 31/50] openvpn-authenticator: Generate TOTP instead of HOTP codes --- config/ovpn/openvpn-authenticator | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/config/ovpn/openvpn-authenticator b/config/ovpn/openvpn-authenticator index 2c92f07f8..f50aab093 100644 --- a/config/ovpn/openvpn-authenticator +++ b/config/ovpn/openvpn-authenticator @@ -298,7 +298,7 @@ class OpenVPNAuthenticator(object): def _check_totp_token(self, token, secret): p = subprocess.run( - ["oathtool", "-w", "3", "%s" % secret], + ["oathtool", "--totp", "-w", "3", "%s" % secret], capture_output=True, ) From a4a42daeeaefed48dd9b40d7001f1fc613978f85 Mon Sep 17 00:00:00 2001 From: Timo Eissler Date: Tue, 7 Jun 2022 12:14:12 +0200 Subject: [PATCH 32/50] openvpn-authenticator: Return only available data For connections which have not enabled OTP return connection name and common_name attributes only. --- config/ovpn/openvpn-authenticator | 20 ++++++++++++-------- 1 file changed, 12 insertions(+), 8 deletions(-) diff --git a/config/ovpn/openvpn-authenticator b/config/ovpn/openvpn-authenticator index f50aab093..751b58d43 100644 --- a/config/ovpn/openvpn-authenticator +++ b/config/ovpn/openvpn-authenticator @@ -286,15 +286,19 @@ class OpenVPNAuthenticator(object): continue # Return match! - return { - "name" : row[2], - "common_name" : row[3], - + conn = {} + if len(row) < 45: + # General connection data + conn['name'] = row[2] + conn['common_name'] = row[3] + elif len(row) >= 45: # TOTP options - "totp_protocol" : row[43], - "totp_status" : row[44], - "totp_secret" : row[45], - } + conn['totp_protocol'] = row[43] + conn['totp_status'] = row[44] + conn['totp_secret'] = row[45] + + return conn + def _check_totp_token(self, token, secret): p = subprocess.run( From 472cd78269a8d03cfa1447b3c80bed6dd3fd0897 Mon Sep 17 00:00:00 2001 From: Timo Eissler Date: Tue, 7 Jun 2022 12:20:14 +0200 Subject: [PATCH 33/50] openvpn-authenticator: Fix call of _client_auth_successful --- config/ovpn/openvpn-authenticator | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/config/ovpn/openvpn-authenticator b/config/ovpn/openvpn-authenticator index 751b58d43..25d96ca34 100644 --- a/config/ovpn/openvpn-authenticator +++ b/config/ovpn/openvpn-authenticator @@ -209,7 +209,7 @@ class OpenVPNAuthenticator(object): if username == common_name: # Check if TOTP token matches if self._check_totp_token(token, conn.get("totp_secret")): - return self._client_auth_successful(self, cid, kid) + return self._client_auth_successful(cid, kid) # Restart authentication self._client_auth_challenge(cid, kid, From 59f9e413611e6724a039429020fd528b782a5017 Mon Sep 17 00:00:00 2001 From: Timo Eissler Date: Tue, 7 Jun 2022 17:53:23 +0200 Subject: [PATCH 34/50] openvpn-authenticator: Change event and environment handling Move reading of environment in it's own function because not all events have a ENV block following and thus always reading the ENV will cause RuntimeError("Unexpected environment line ..."). --- config/ovpn/openvpn-authenticator | 24 ++++++++++++++++-------- 1 file changed, 16 insertions(+), 8 deletions(-) diff --git a/config/ovpn/openvpn-authenticator b/config/ovpn/openvpn-authenticator index 25d96ca34..67fb72085 100644 --- a/config/ovpn/openvpn-authenticator +++ b/config/ovpn/openvpn-authenticator @@ -138,6 +138,21 @@ class OpenVPNAuthenticator(object): environ = {} + if event == "CONNECT": + environ = self._read_env(environ) + self._client_connect(*arguments, environ=environ) + elif event == "DISCONNECT": + environ = self._read_env(environ) + self._client_disconnect(*arguments, environ=environ) + elif event == "REAUTH": + environ = self._read_env(environ) + self._client_reauth(*arguments, environ=environ) + elif event == "ESTABLISHED": + environ = self._read_env(environ) + else: + log.debug("Unhandled event: %s" % event) + + def _read_env(self, environ): # Read environment while True: line = self._read_line() @@ -156,14 +171,7 @@ class OpenVPNAuthenticator(object): key, delim, value = line.partition("=") environ[key] = value - if event == "CONNECT": - self._client_connect(*arguments, environ=environ) - elif event == "DISCONNECT": - self._client_disconnect(*arguments, environ=environ) - elif event == "REAUTH": - self._client_reauth(*arguments, environ=environ) - else: - log.debug("Unhandled event: %s" % event) + return environ def _client_connect(self, cid, kid, environ={}): log.debug("Received client connect (cid=%s, kid=%s)" % (cid, kid)) From b6f9fff2bcec35a98c4b01a4bab3038ee7813ee2 Mon Sep 17 00:00:00 2001 From: Michael Tremer Date: Tue, 14 Jun 2022 15:53:19 +0000 Subject: [PATCH 35/50] openvpn-authenticator: Don't process configuration when row is too short Signed-off-by: Michael Tremer --- config/ovpn/openvpn-authenticator | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/config/ovpn/openvpn-authenticator b/config/ovpn/openvpn-authenticator index 67fb72085..5773fb40b 100644 --- a/config/ovpn/openvpn-authenticator +++ b/config/ovpn/openvpn-authenticator @@ -277,8 +277,8 @@ class OpenVPNAuthenticator(object): def _find_connection(self, common_name): with open(OPENVPN_CONFIG, "r") as f: for row in csv.reader(f, dialect="unix"): - # Skip empty rows - if not row: + # Skip empty rows or rows that are too short + if not row or len(row) < 5: continue # Skip disabled connections From c9dc7fdec09ceec217534cf4a9832338ac9be671 Mon Sep 17 00:00:00 2001 From: Michael Tremer Date: Tue, 14 Jun 2022 15:57:03 +0000 Subject: [PATCH 36/50] openvpn-authenticator: Always return general connection data The function returned different output when TOTP was configured and not which is not what it should do. This version will now try to add the TOTP configuration, or will add nothing it if fails to do so. Signed-off-by: Michael Tremer --- config/ovpn/openvpn-authenticator | 24 ++++++++++++++---------- 1 file changed, 14 insertions(+), 10 deletions(-) diff --git a/config/ovpn/openvpn-authenticator b/config/ovpn/openvpn-authenticator index 5773fb40b..65844012b 100644 --- a/config/ovpn/openvpn-authenticator +++ b/config/ovpn/openvpn-authenticator @@ -294,16 +294,20 @@ class OpenVPNAuthenticator(object): continue # Return match! - conn = {} - if len(row) < 45: - # General connection data - conn['name'] = row[2] - conn['common_name'] = row[3] - elif len(row) >= 45: - # TOTP options - conn['totp_protocol'] = row[43] - conn['totp_status'] = row[44] - conn['totp_secret'] = row[45] + conn = { + "name" : row[2], + "common_name" : row[3], + } + + # TOTP options + try: + conn |= { + "totp_protocol" : row[43], + "totp_status" : row[44], + "totp_secret" : row[45], + } + except IndexError: + pass return conn From 209d62f0058c88e038760bc07773072fed0050da Mon Sep 17 00:00:00 2001 From: Timo Eissler Date: Tue, 14 Jun 2022 20:56:12 +0200 Subject: [PATCH 37/50] ovpnmain.cgi: Remove trailing newline from OTP secret Signed-off-by: Timo Eissler --- html/cgi-bin/ovpnmain.cgi | 1 + 1 file changed, 1 insertion(+) diff --git a/html/cgi-bin/ovpnmain.cgi b/html/cgi-bin/ovpnmain.cgi index 71c79ef47..f5ebc9dee 100644 --- a/html/cgi-bin/ovpnmain.cgi +++ b/html/cgi-bin/ovpnmain.cgi @@ -4487,6 +4487,7 @@ if ($cgiparams{'TYPE'} eq 'net') { $confighash{$key}[43] = $cgiparams{'OTP_STATE'}; if (($confighash{$key}[43] eq 'on') && ($confighash{$key}[44] eq '')) { my @otp_secret = &General::system_output("/usr/bin/openssl", "rand", "-hex", "20"); + chomp($otp_secret[0]); $confighash{$key}[44] = $otp_secret[0]; } elsif ($confighash{$key}[43] eq '') { $confighash{$key}[44] = ''; From 6a53c26cf71c49113a1a2d4b810f35ebfa240464 Mon Sep 17 00:00:00 2001 From: Timo Eissler Date: Thu, 16 Jun 2022 12:38:48 +0200 Subject: [PATCH 38/50] perl-URI-Encode: New package Simple percent Encoding/Decoding Signed-off-by: Timo Eissler --- config/rootfiles/common/perl-URI-Encode | 4 ++ lfs/perl-URI-Encode | 80 +++++++++++++++++++++++++ make.sh | 1 + 3 files changed, 85 insertions(+) create mode 100644 config/rootfiles/common/perl-URI-Encode create mode 100644 lfs/perl-URI-Encode diff --git a/config/rootfiles/common/perl-URI-Encode b/config/rootfiles/common/perl-URI-Encode new file mode 100644 index 000000000..2bae6f8c3 --- /dev/null +++ b/config/rootfiles/common/perl-URI-Encode @@ -0,0 +1,4 @@ +usr/lib/perl5/site_perl/5.32.1/URI/Encode.pm +#usr/lib/perl5/site_perl/5.32.1/xxxMACHINExxx-linux-thread-multi/auto/URI/Encode +#usr/lib/perl5/site_perl/5.32.1/xxxMACHINExxx-linux-thread-multi/auto/URI/Encode/.packlist +#usr/share/man/man3/URI::Encode.3 diff --git a/lfs/perl-URI-Encode b/lfs/perl-URI-Encode new file mode 100644 index 000000000..6a1478738 --- /dev/null +++ b/lfs/perl-URI-Encode @@ -0,0 +1,80 @@ +############################################################################### +# # +# IPFire.org - A linux based firewall # +# Copyright (C) 2022 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.1.1 + +THISAPP = URI-Encode-v$(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 = 2eb668d645be7ab726689dee7d3e1c9aa333623653b34d538666eb3b70cf28b3f2e0a27b4380db6148a85b3cdd738193262ab58c0b828d8119531c7011264449 + +install : $(TARGET) + +check : $(patsubst %,$(DIR_CHK)/%,$(objects)) + +download :$(patsubst %,$(DIR_DL)/%,$(objects)) + +b2 : $(subst %,%_BLAKE2,$(objects)) + +dist:. + $(PAK) + +############################################################################### +# 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) && yes 'n' | perl Makefile.PL + cd $(DIR_APP) && make $(MAKETUNING) $(EXTRA_MAKE) + cd $(DIR_APP) && make install + @rm -rf $(DIR_APP) + @$(POSTBUILD) diff --git a/make.sh b/make.sh index ccd115590..fde39bb29 100755 --- a/make.sh +++ b/make.sh @@ -1703,6 +1703,7 @@ buildipfire() { lfsmake2 perl-Imager lfsmake2 perl-Imager-QRCode lfsmake2 perl-MIME-Base32 + lfsmake2 perl-URI-Encode } buildinstaller() { From 3740b7ad3ade3ff9d645bc3dca709791d012bbc2 Mon Sep 17 00:00:00 2001 From: Timo Eissler Date: Thu, 16 Jun 2022 12:39:45 +0200 Subject: [PATCH 39/50] ovpnmain.cgi: URI encode OTPAuth String in QRCode Signed-off-by: Timo Eissler --- html/cgi-bin/ovpnmain.cgi | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/html/cgi-bin/ovpnmain.cgi b/html/cgi-bin/ovpnmain.cgi index f5ebc9dee..b8c3e5064 100644 --- a/html/cgi-bin/ovpnmain.cgi +++ b/html/cgi-bin/ovpnmain.cgi @@ -26,6 +26,7 @@ use CGI qw/:standard/; use Imager::QRCode; use MIME::Base32; use MIME::Base64; +use URI::Encode qw(uri_encode uri_decode);; use Net::DNS; use Net::Ping; use Net::Telnet; @@ -2654,9 +2655,9 @@ else lightcolor => Imager::Color->new(255, 255, 255), darkcolor => Imager::Color->new(0, 0, 0), ); - my $cn = $confighash{$cgiparams{'KEY'}}[2]; + my $cn = uri_encode($confighash{$cgiparams{'KEY'}}[2]); my $secret = encode_base32(pack('H*', $confighash{$cgiparams{'KEY'}}[44])); - my $issuer = "$mainsettings{'HOSTNAME'}.$mainsettings{'DOMAINNAME'}"; + my $issuer = uri_encode("$mainsettings{'HOSTNAME'}.$mainsettings{'DOMAINNAME'}"); my $qrcodeimg = $qrcode->plot("otpauth://totp/$cn?secret=$secret&issuer=$issuer"); my $qrcodeimgdata; $qrcodeimg->write(data => \$qrcodeimgdata, type=> 'png') From 015ea59a4d3ead64fd84276e9be8d453e96eb1f1 Mon Sep 17 00:00:00 2001 From: Adolf Belka Date: Thu, 16 Jun 2022 23:16:36 +0200 Subject: [PATCH 40/50] netatalk: Ship with CU169 - Fixes bug #12878 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - netatalk is linked to liblber from openldap. openldap was updated in CU168 but I missed that netatalk had a dependency to one of its libraries. - find-dependencies was not run on openldap liblber although looking at the openldap rootfile it is clear that an sobump occurred. - This patch increments the netatalk PAK_VER so that it will be shipped and therefore have the library links updated. Fixes: Bug #12878 Signed-off-by: Adolf Belka Reviewed-by: Peter Müller --- lfs/netatalk | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lfs/netatalk b/lfs/netatalk index 61ba193a5..9e8ce454b 100644 --- a/lfs/netatalk +++ b/lfs/netatalk @@ -34,7 +34,7 @@ DL_FROM = $(URL_IPFIRE) DIR_APP = $(DIR_SRC)/$(THISAPP) TARGET = $(DIR_INFO)/$(THISAPP) PROG = netatalk -PAK_VER = 2 +PAK_VER = 3 DEPS = avahi dbus krb5 From b9196b9d62b3c85d11e99c08e720e1007eeb3e7a Mon Sep 17 00:00:00 2001 From: Adolf Belka Date: Thu, 16 Jun 2022 23:31:59 +0200 Subject: [PATCH 41/50] samba: Ship with CU169 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - samba is linked to liblber from openldap. openldap was updated in CU168 but I missed that samba had a dependency to one of its libraries. - find-dependencies was not run on openldap liblber although looking at the openldap rootfile it is clear that an sobump occurred. - This patch increments the samba PAK_VER so that it will be shipped and therefore have the library links updated. Signed-off-by: Adolf Belka Reviewed-by: Peter Müller --- lfs/samba | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lfs/samba b/lfs/samba index 97fe96918..896e7e71e 100644 --- a/lfs/samba +++ b/lfs/samba @@ -33,7 +33,7 @@ DL_FROM = $(URL_IPFIRE) DIR_APP = $(DIR_SRC)/$(THISAPP) TARGET = $(DIR_INFO)/$(THISAPP) PROG = samba -PAK_VER = 84 +PAK_VER = 85 DEPS = avahi cups libtirpc krb5 perl-Parse-Yapp perl-JSON From a609195a26f2666a177b988a6691bc27b10e6d64 Mon Sep 17 00:00:00 2001 From: Michael Tremer Date: Wed, 15 Jun 2022 09:53:20 +0000 Subject: [PATCH 42/50] misc-progs: Add path to executable to argv MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Otherwise, the first argument would always be swollowed :( Signed-off-by: Michael Tremer Acked-by: Peter Müller --- src/misc-progs/setuid.c | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/src/misc-progs/setuid.c b/src/misc-progs/setuid.c index 831fb1f90..17b0e7066 100644 --- a/src/misc-progs/setuid.c +++ b/src/misc-progs/setuid.c @@ -61,10 +61,8 @@ static int system_core(char* command, char** args, uid_t uid, gid_t gid, char *e if(!command) return 1; -#if 0 // Add command as first element to argv argv[argc++] = command; -#endif // Add all other arguments if (args) { @@ -138,7 +136,7 @@ int safe_system(char* command) { NULL, }; - return system_core(argv[0], argv, 0, 0, "safe_system"); + return system_core(argv[0], argv + 1, 0, 0, "safe_system"); } /* Much like safe_system but lets you specify a non-root uid and gid to run @@ -151,7 +149,7 @@ int unpriv_system(char* command, uid_t uid, gid_t gid) { NULL, }; - return system_core(argv[0], argv, uid, gid, "unpriv_system"); + return system_core(argv[0], argv + 1, uid, gid, "unpriv_system"); } /* General routine to initialise a setuid root program, and put the From ed5572536f5fbd3af2383555a87a634fd257a88f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Peter=20M=C3=BCller?= Date: Fri, 17 Jun 2022 11:01:06 +0000 Subject: [PATCH 43/50] Core Update 169: Ship misc-progs MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: Peter Müller --- config/rootfiles/core/169/filelists/misc-progs | 1 + 1 file changed, 1 insertion(+) create mode 120000 config/rootfiles/core/169/filelists/misc-progs diff --git a/config/rootfiles/core/169/filelists/misc-progs b/config/rootfiles/core/169/filelists/misc-progs new file mode 120000 index 000000000..7223caddd --- /dev/null +++ b/config/rootfiles/core/169/filelists/misc-progs @@ -0,0 +1 @@ +../../../common/misc-progs \ No newline at end of file From b8a9c9e70a0ff84401e53f1481f3c1eafab76a29 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Peter=20M=C3=BCller?= Date: Fri, 17 Jun 2022 15:52:45 +0000 Subject: [PATCH 44/50] U-Boot: Update to 2022.04 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit https://wiki.ipfire.org/devel/telco/2022-06-13 Cc: Arne Fitzenreiter Signed-off-by: Peter Müller --- lfs/u-boot | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/lfs/u-boot b/lfs/u-boot index f7341675d..805bcaf89 100644 --- a/lfs/u-boot +++ b/lfs/u-boot @@ -24,7 +24,7 @@ include Config -VER = 2021.07 +VER = 2022.04 THISAPP = u-boot-$(VER) DL_FILE = $(THISAPP).tar.bz2 @@ -35,7 +35,7 @@ SUP_ARCH = armv6l aarch64 CFLAGS := $(patsubst -fstack-protector-strong,,$(CFLAGS)) -ATF_VER = 2.6 +ATF_VER = 2.7 ############################################################################### # Top-level Rules @@ -47,8 +47,8 @@ $(DL_FILE) = $(DL_FROM)/$(DL_FILE) arm-trusted-firmware-$(ATF_VER).tar.gz = $(DL_FROM)/arm-trusted-firmware-$(ATF_VER).tar.gz arm-trusted-firmware-$(ATF_VER)-rk3399-binary.tar.xz = $(DL_FROM)/arm-trusted-firmware-$(ATF_VER)-rk3399-binary.tar.xz -$(DL_FILE)_BLAKE2 = 1a209a604e0f30264781a14ca855bbb777e8f1c031de60d28de397084fc9bfc4a3771ad00ec22f5cdcfa721f22707a533b9b59004ac0b107df927f23dc5ab0a6 -arm-trusted-firmware-$(ATF_VER).tar.gz_BLAKE2 = 1d0caff9ea6d97276d1377483e3f81901c935f9af784b7a735636c75b00106935a7e301c21ecec7b9fd9a97dcf873ac1b12169bf7211dae3d975b78d379eba74 +$(DL_FILE)_BLAKE2 = 5d2035130c0631f8f1b7f7963bedf71578a66994e3950eb103a404a08e85686cd971ba51e8172093ccb75d975101024bf2a94d4064763ad57ad8950c11092319 +arm-trusted-firmware-$(ATF_VER).tar.gz_BLAKE2 = 4fc4d5646e272200d40081902e17f0be32956f451622f011a0d568c8cf26e15ab165fe16a69cf222241f7ba1d443add562d6d382277eb4fb2b49c3918cabdbad arm-trusted-firmware-$(ATF_VER)-rk3399-binary.tar.xz_BLAKE2 = bc5245c1af911eb8ce8def743339102bb46d6aa854fbe916584775479dc97c9a9176c1d1615afc7ede496c7ca9da78db52d9c2eaf1290a4d06e53dbb1933e658 install : $(TARGET) From 65264b3ba6358d78d70c2cc7b9e1c883b0b4af4a Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Peter=20M=C3=BCller?= Date: Fri, 17 Jun 2022 15:54:10 +0000 Subject: [PATCH 45/50] Core Update 169: Ship U-Boot MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: Peter Müller --- config/rootfiles/core/169/filelists/aarch64/u-boot | 1 + config/rootfiles/core/169/filelists/armv6l/u-boot | 1 + 2 files changed, 2 insertions(+) create mode 120000 config/rootfiles/core/169/filelists/aarch64/u-boot create mode 120000 config/rootfiles/core/169/filelists/armv6l/u-boot diff --git a/config/rootfiles/core/169/filelists/aarch64/u-boot b/config/rootfiles/core/169/filelists/aarch64/u-boot new file mode 120000 index 000000000..2a16bdbfe --- /dev/null +++ b/config/rootfiles/core/169/filelists/aarch64/u-boot @@ -0,0 +1 @@ +../../../../common/aarch64/u-boot \ No newline at end of file diff --git a/config/rootfiles/core/169/filelists/armv6l/u-boot b/config/rootfiles/core/169/filelists/armv6l/u-boot new file mode 120000 index 000000000..e88d95fac --- /dev/null +++ b/config/rootfiles/core/169/filelists/armv6l/u-boot @@ -0,0 +1 @@ +../../../../common/armv6l/u-boot \ No newline at end of file From fa30456c5e4bc6ff7b735ecbc10dd3deaa8a16e0 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Peter=20M=C3=BCller?= Date: Fri, 17 Jun 2022 16:27:42 +0000 Subject: [PATCH 46/50] kernel: Align x86_64 rootfile for kernel update MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: Peter Müller --- config/kernel/kernel.config.x86_64-ipfire | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/config/kernel/kernel.config.x86_64-ipfire b/config/kernel/kernel.config.x86_64-ipfire index a358ac91c..27ae709b1 100644 --- a/config/kernel/kernel.config.x86_64-ipfire +++ b/config/kernel/kernel.config.x86_64-ipfire @@ -1,6 +1,6 @@ # # Automatically generated file; DO NOT EDIT. -# Linux/x86 5.15.46-ipfire Kernel Configuration +# Linux/x86 5.15.48-ipfire Kernel Configuration # CONFIG_CC_VERSION_TEXT="gcc (GCC) 11.3.0" CONFIG_CC_IS_GCC=y From c13e562b6e403808f90703e90b717a2193a2592f Mon Sep 17 00:00:00 2001 From: Stefan Schantl Date: Sun, 15 May 2022 18:02:19 +0200 Subject: [PATCH 47/50] krb5: Move package into core system. On one hand, the key.dns_resolver binary is linked against libkrb5, so this library at least is required by the base system. On the other hand this easily allows different services on the firewall to use kerberos for authentication (ssh etc). Signed-off-by: Stefan Schantl --- config/rootfiles/{packages => common}/krb5 | 0 lfs/cups | 4 ++-- lfs/krb5 | 4 ---- lfs/netatalk | 2 +- lfs/samba | 2 +- lfs/tshark | 4 ++-- 6 files changed, 6 insertions(+), 10 deletions(-) rename config/rootfiles/{packages => common}/krb5 (100%) diff --git a/config/rootfiles/packages/krb5 b/config/rootfiles/common/krb5 similarity index 100% rename from config/rootfiles/packages/krb5 rename to config/rootfiles/common/krb5 diff --git a/lfs/cups b/lfs/cups index cd4519b63..7d4dc20c2 100644 --- a/lfs/cups +++ b/lfs/cups @@ -33,9 +33,9 @@ DL_FROM = $(URL_IPFIRE) DIR_APP = $(DIR_SRC)/cups-$(VER) TARGET = $(DIR_INFO)/$(THISAPP) PROG = cups -PAK_VER = 25 +PAK_VER = 26 -DEPS = avahi cups-filters dbus ghostscript krb5 libtiff +DEPS = avahi cups-filters dbus ghostscript libtiff SERVICES = cups diff --git a/lfs/krb5 b/lfs/krb5 index 399f9338e..e08948005 100644 --- a/lfs/krb5 +++ b/lfs/krb5 @@ -33,10 +33,6 @@ DL_FILE = $(THISAPP).tar.gz DL_FROM = $(URL_IPFIRE) DIR_APP = $(DIR_SRC)/$(THISAPP)/src TARGET = $(DIR_INFO)/$(THISAPP) -PROG = krb5 -PAK_VER = 7 - -DEPS = SERVICES = diff --git a/lfs/netatalk b/lfs/netatalk index 9e8ce454b..ef75c89fe 100644 --- a/lfs/netatalk +++ b/lfs/netatalk @@ -36,7 +36,7 @@ TARGET = $(DIR_INFO)/$(THISAPP) PROG = netatalk PAK_VER = 3 -DEPS = avahi dbus krb5 +DEPS = avahi dbus SERVICES = netatalk diff --git a/lfs/samba b/lfs/samba index 896e7e71e..a48a0ecb1 100644 --- a/lfs/samba +++ b/lfs/samba @@ -35,7 +35,7 @@ TARGET = $(DIR_INFO)/$(THISAPP) PROG = samba PAK_VER = 85 -DEPS = avahi cups libtirpc krb5 perl-Parse-Yapp perl-JSON +DEPS = avahi cups libtirpc perl-Parse-Yapp perl-JSON SERVICES = samba diff --git a/lfs/tshark b/lfs/tshark index eb89f7474..ee9c06dc4 100644 --- a/lfs/tshark +++ b/lfs/tshark @@ -34,8 +34,8 @@ DL_FROM = $(URL_IPFIRE) DIR_APP = $(DIR_SRC)/$(THISAPP) TARGET = $(DIR_INFO)/$(THISAPP) PROG = tshark -DEPS = krb5 c-ares -PAK_VER = 12 +DEPS = c-ares +PAK_VER = 13 SERVICES = From 8d920449d27fe5816fc157f5d101aab0855e76e4 Mon Sep 17 00:00:00 2001 From: Stefan Schantl Date: Sun, 15 May 2022 18:02:20 +0200 Subject: [PATCH 48/50] libtiff: Move into core system. pango and the PDF tools as core parts are linked against libtiff, therefore this library has to become a part of the core distribution too. Signed-off-by: Stefan Schantl --- config/rootfiles/{packages => common}/libtiff | 0 lfs/cups | 4 ++-- lfs/foomatic | 4 ++-- lfs/ghostscript | 4 ++-- lfs/libtiff | 4 ---- lfs/spandsp | 4 ++-- 6 files changed, 8 insertions(+), 12 deletions(-) rename config/rootfiles/{packages => common}/libtiff (100%) diff --git a/config/rootfiles/packages/libtiff b/config/rootfiles/common/libtiff similarity index 100% rename from config/rootfiles/packages/libtiff rename to config/rootfiles/common/libtiff diff --git a/lfs/cups b/lfs/cups index 7d4dc20c2..d333532e3 100644 --- a/lfs/cups +++ b/lfs/cups @@ -33,9 +33,9 @@ DL_FROM = $(URL_IPFIRE) DIR_APP = $(DIR_SRC)/cups-$(VER) TARGET = $(DIR_INFO)/$(THISAPP) PROG = cups -PAK_VER = 26 +PAK_VER = 27 -DEPS = avahi cups-filters dbus ghostscript libtiff +DEPS = avahi cups-filters dbus ghostscript SERVICES = cups diff --git a/lfs/foomatic b/lfs/foomatic index 50f5c2377..73dc16842 100644 --- a/lfs/foomatic +++ b/lfs/foomatic @@ -37,9 +37,9 @@ DL_FROM = $(URL_IPFIRE) DIR_APP = $(DIR_SRC)/foomatic-filters-$(VER_FILTERS) TARGET = $(DIR_INFO)/$(THISAPP) PROG = foomatic -PAK_VER = 6 +PAK_VER = 7 -DEPS = cups ghostscript libtiff hplip +DEPS = cups ghostscript hplip SERVICES = diff --git a/lfs/ghostscript b/lfs/ghostscript index 7df96bdd5..ce318a572 100644 --- a/lfs/ghostscript +++ b/lfs/ghostscript @@ -34,9 +34,9 @@ DL_FROM = $(URL_IPFIRE) DIR_APP = $(DIR_SRC)/$(THISAPP) TARGET = $(DIR_INFO)/$(THISAPP) PROG = ghostscript -PAK_VER = 10 +PAK_VER = 11 -DEPS = cups dbus libtiff +DEPS = cups dbus SERVICES = diff --git a/lfs/libtiff b/lfs/libtiff index ef8991e31..23cb19b68 100644 --- a/lfs/libtiff +++ b/lfs/libtiff @@ -33,10 +33,6 @@ DL_FILE = $(THISAPP).tar.gz DL_FROM = $(URL_IPFIRE) DIR_APP = $(DIR_SRC)/$(THISAPP) TARGET = $(DIR_INFO)/$(THISAPP) -PROG = libtiff -PAK_VER = 5 - -DEPS = SERVICES = diff --git a/lfs/spandsp b/lfs/spandsp index 19b606117..5d609cb06 100644 --- a/lfs/spandsp +++ b/lfs/spandsp @@ -34,9 +34,9 @@ DL_FROM = $(URL_IPFIRE) DIR_APP = $(DIR_SRC)/$(THISAPP) TARGET = $(DIR_INFO)/$(THISAPP) PROG = spandsp -PAK_VER = 5 +PAK_VER = 6 -DEPS = libtiff +DEPS = SERVICES = From 4c4669041168fa6c8b20d4906c37813820969285 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Peter=20M=C3=BCller?= Date: Fri, 17 Jun 2022 16:29:55 +0000 Subject: [PATCH 49/50] Core Update 169: Remove pakfire metadata for krb5 and libtiff MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Both packages have become part of the core system, so these files are not longer needed. Signed-off-by: Stefan Schantl Signed-off-by: Peter Müller --- config/rootfiles/core/169/update.sh | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/config/rootfiles/core/169/update.sh b/config/rootfiles/core/169/update.sh index 966e23cdf..a27f20a30 100644 --- a/config/rootfiles/core/169/update.sh +++ b/config/rootfiles/core/169/update.sh @@ -154,6 +154,22 @@ telinit u /etc/init.d/unbound start /etc/init.d/squid start +# krb5 is now part of the core system, remove Pakfire metadata for it +if [ -e "/opt/pakfire/db/installed/meta-krb5" ] && [ -e "/opt/pakfire/db/meta/meta-krb5" ]; then + rm -vf \ + /opt/pakfire/db/installed/meta-krb5 \ + /opt/pakfire/db/meta/meta-krb5 \ + /opt/pakfire/db/rootfiles/krb5 +fi + +# libtiff is now part of the core system, remove Pakfire metadata for it +if [ -e "/opt/pakfire/db/installed/meta-libtiff" ] && [ -e "/opt/pakfire/db/meta/meta-libtiff" ]; then + rm -vf \ + /opt/pakfire/db/installed/meta-libtiff \ + /opt/pakfire/db/meta/meta-libtiff \ + /opt/pakfire/db/rootfiles/libtiff +fi + # This update needs a reboot... touch /var/run/need_reboot From 29df9f89c9168e4248076cf9c7e294384c0fd6ae Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Peter=20M=C3=BCller?= Date: Fri, 17 Jun 2022 16:30:51 +0000 Subject: [PATCH 50/50] Core Update 169: Ship libtiff and krb5 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: Peter Müller --- config/rootfiles/core/169/filelists/krb5 | 1 + config/rootfiles/core/169/filelists/libtiff | 1 + 2 files changed, 2 insertions(+) create mode 120000 config/rootfiles/core/169/filelists/krb5 create mode 120000 config/rootfiles/core/169/filelists/libtiff diff --git a/config/rootfiles/core/169/filelists/krb5 b/config/rootfiles/core/169/filelists/krb5 new file mode 120000 index 000000000..082c3cbcd --- /dev/null +++ b/config/rootfiles/core/169/filelists/krb5 @@ -0,0 +1 @@ +../../../common/krb5 \ No newline at end of file diff --git a/config/rootfiles/core/169/filelists/libtiff b/config/rootfiles/core/169/filelists/libtiff new file mode 120000 index 000000000..dd89e3cda --- /dev/null +++ b/config/rootfiles/core/169/filelists/libtiff @@ -0,0 +1 @@ +../../../common/libtiff \ No newline at end of file