summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--CHANGELOG.txt58
-rw-r--r--Makefile2
-rw-r--r--VERSION.txt2
-rw-r--r--apache/Makefile2
-rw-r--r--apache/share/man/Makefile2
-rw-r--r--apache/share/man/man.in2
-rw-r--r--apache/share/man/service-tools.7.rst2
-rw-r--r--apt/Makefile2
-rwxr-xr-xapt/bin/apt-install2
-rwxr-xr-xapt/bin/apt-remove2
-rw-r--r--apt/share/man/Makefile2
-rw-r--r--apt/share/man/apt-install.1.rst2
-rw-r--r--apt/share/man/man.in2
-rw-r--r--dehydrated/Makefile2
-rw-r--r--dehydrated/TODO1
-rwxr-xr-xdehydrated/bin/dehydrated-cron2
-rwxr-xr-xdehydrated/bin/dehydrated-hook2
-rwxr-xr-xdehydrated/bin/dehydrated-nsupdate8
-rwxr-xr-xdehydrated/share/hooks/deploy_cert.chrony2
-rwxr-xr-xdehydrated/share/hooks/deploy_cert.extra67
-rwxr-xr-xdehydrated/share/hooks/deploy_ocsp.extra9
-rwxr-xr-xdehydrated/share/hooks/exit_hook.extra-cleanup4
-rwxr-xr-xdehydrated/share/hooks/exit_hook.fix-permissions2
-rwxr-xr-xdehydrated/share/hooks/exit_hook.service-reload12
-rw-r--r--dehydrated/share/man/Makefile2
-rw-r--r--dehydrated/share/man/dehydrated-cron.1.rst2
-rw-r--r--dehydrated/share/man/dehydrated-hook.1.rst2
-rw-r--r--dehydrated/share/man/dehydrated-nsupdate.1.rst2
-rw-r--r--dehydrated/share/man/man.in2
-rw-r--r--dnsdist/Makefile2
-rwxr-xr-xdnsdist/bin/dnsdist-console2
-rw-r--r--git/Makefile2
-rwxr-xr-xgit/bin/git-checkout-branches2
-rwxr-xr-xgit/bin/git-hook2
-rwxr-xr-xgit/bin/git-pull-branches2
-rwxr-xr-xgit/bin/git-remove-origin-branches2
-rwxr-xr-xgit/bin/git-remove-origin-tags2
-rwxr-xr-xgit/bin/git-repo-repack2
-rwxr-xr-xgit/share/hooks/post-update.d/cgit-agefile2
-rwxr-xr-xgit/share/hooks/post-update.d/git-update-server-info2
-rwxr-xr-xgit/share/hooks/post-update.d/irker-notification2
-rw-r--r--irker/Makefile2
-rwxr-xr-xirker/bin/irkerhook-debian2
-rw-r--r--kea/Makefile2
-rwxr-xr-xkea/bin/kea-leases-reset2
-rw-r--r--knot-resolver/Makefile2
-rwxr-xr-xknot-resolver/bin/kresd-cache-clear2
-rw-r--r--knot/Makefile2
-rwxr-xr-xknot/bin/knot-zones-reset2
-rw-r--r--linux/Makefile2
-rwxr-xr-xlinux/bin/linux-i40e4
-rwxr-xr-xlinux/bin/linux-ice156
-rw-r--r--linux/share/man/Makefile2
-rw-r--r--linux/share/man/linux-i40e.1.rst3
-rw-r--r--linux/share/man/linux-ice.1.rst86
-rw-r--r--linux/share/man/man.in2
-rw-r--r--linux/share/systemd/linux-ice.service17
-rw-r--r--supermicro/Makefile (renamed from znuny/Makefile)2
-rwxr-xr-xsupermicro/bin/supermicro-ipmi-reset34
-rw-r--r--vim/Makefile2
-rwxr-xr-xvim/bin/vim-mtime2
-rwxr-xr-xznuny/bin/otrs.Console.pl24
-rwxr-xr-xznuny/bin/otrs.Daemon.pl24
63 files changed, 475 insertions, 128 deletions
diff --git a/CHANGELOG.txt b/CHANGELOG.txt
index 5222caa..085f45b 100644
--- a/CHANGELOG.txt
+++ b/CHANGELOG.txt
@@ -1,6 +1,60 @@
-2022-12-31 Daniel Baumann <daniel.baumann@open-infrastructure.net>
+2023-11-20 Daniel Baumann <daniel.baumann@open-infrastructure.net>
- * Releasing version 20221231.
+ * Releasing version 20231020.
+
+ [ Daniel Baumann]
+ * Setting protocol version in supermicro-ipmi-reset, thanks to Sakirnth Nagarasa <sakirnth@debian.org>.
+ * Clearing ipv4 address in supermicro-ipmi-reset for ipv6-only mode.
+ * Updating copyright notices for 2023.
+
+2022-12-28 Daniel Baumann <daniel.baumann@open-infrastructure.net>
+
+ * Releasing version 20221228.
+
+ [ Daniel Baumann ]
+ * Adding supermicro tools.
+
+2022-12-27 Daniel Baumann <daniel.baumann@open-infrastructure.net>
+
+ * Releasing version 20221227.
+
+ [ Daniel Baumann ]
+ * Generalizing extra ocsp symlinks too in dehydrated hooks.
+
+2022-12-26 Daniel Baumann <daniel.baumann@open-infrastructure.net>
+
+ * Releasing version 20221226.
+
+ [ Daniel Baumann ]
+ * Adding root_intermediate_cert to exit_hook.extra-cleanup dehydrated hook.
+ * Creating relative links for extra certificates in deploy_cert.extra dehydrated hook.
+
+2022-12-25 Daniel Baumann <daniel.baumann@open-infrastructure.net>
+
+ * Releasing version 20221225.
+
+ [ Daniel Baumann ]
+ * Updating chain coments in deploy_cert.extra dehydrated hook.
+ * Stripping empty lines from partial files when using short chain in deploy_cert.extra dehydrated hook.
+ * Generalizing extra file generation for any number of components as needed by redis in deploy_cert.extra dehydrated hook.
+
+2022-12-24 Daniel Baumann <daniel.baumann@open-infrastructure.net>
+
+ * Releasing version 20221224.
+
+ [ Daniel Baumann ]
+ * Correcting wrong date for previous release in changelog.
+ * Also calling pull the current branch in git-pull-branches.
+ * Excluding onboard i40e cards in linux-i40e script, as they are not configurable.
+ * Adding linux-ice script.
+ * Updating dehydrated todo.
+ * Removing superfluous dot in output-message of dehydrated-nsupdate.
+ * Adding freeradius to dehydrated service-reload hook.
+ * Adding preferred chain compatibility in deploy_cert.extra dehydrated hook.
+
+2022-12-23 Daniel Baumann <daniel.baumann@open-infrastructure.net>
+
+ * Releasing version 20221223.
[ Daniel Baumann ]
* Adding znuny-tools.
diff --git a/Makefile b/Makefile
index 9ad53ec..f050de5 100644
--- a/Makefile
+++ b/Makefile
@@ -1,6 +1,6 @@
# Open Infrastructure: service-tools
-# Copyright (C) 2014-2022 Daniel Baumann <daniel.baumann@open-infrastructure.net>
+# Copyright (C) 2014-2023 Daniel Baumann <daniel.baumann@open-infrastructure.net>
#
# SPDX-License-Identifier: GPL-3.0+
#
diff --git a/VERSION.txt b/VERSION.txt
index 7a58b9c..8bf6a02 100644
--- a/VERSION.txt
+++ b/VERSION.txt
@@ -1 +1 @@
-20221223
+20231120
diff --git a/apache/Makefile b/apache/Makefile
index 70b9a35..9b5b4db 100644
--- a/apache/Makefile
+++ b/apache/Makefile
@@ -1,6 +1,6 @@
# Open Infrastructure: service-tools
-# Copyright (C) 2014-2022 Daniel Baumann <daniel.baumann@open-infrastructure.net>
+# Copyright (C) 2014-2023 Daniel Baumann <daniel.baumann@open-infrastructure.net>
#
# SPDX-License-Identifier: GPL-3.0+
#
diff --git a/apache/share/man/Makefile b/apache/share/man/Makefile
index ab33e62..e8d97fb 100644
--- a/apache/share/man/Makefile
+++ b/apache/share/man/Makefile
@@ -1,6 +1,6 @@
# Open Infrastructure: service-tools
-# Copyright (C) 2014-2022 Daniel Baumann <daniel.baumann@open-infrastructure.net>
+# Copyright (C) 2014-2023 Daniel Baumann <daniel.baumann@open-infrastructure.net>
#
# SPDX-License-Identifier: GPL-3.0+
#
diff --git a/apache/share/man/man.in b/apache/share/man/man.in
index f95ca67..bcc6362 100644
--- a/apache/share/man/man.in
+++ b/apache/share/man/man.in
@@ -1,6 +1,6 @@
.\" Open Infrastructure: service-tools
.\"
-.\" Copyright (C) 2014-2022 Daniel Baumann <daniel.baumann@open-infrastructure.net>
+.\" Copyright (C) 2014-2023 Daniel Baumann <daniel.baumann@open-infrastructure.net>
.\"
.\" SPDX-License-Identifier: GPL-3.0+
.\"
diff --git a/apache/share/man/service-tools.7.rst b/apache/share/man/service-tools.7.rst
index d1cbf6b..bbe6b00 100644
--- a/apache/share/man/service-tools.7.rst
+++ b/apache/share/man/service-tools.7.rst
@@ -1,6 +1,6 @@
.. Open Infrastructure: apache-tools
-.. Copyright (C) 2014-2022 Daniel Baumann <daniel.baumann@open-infrastructure.net>
+.. Copyright (C) 2014-2023 Daniel Baumann <daniel.baumann@open-infrastructure.net>
..
.. SPDX-License-Identifier: GPL-3.0+
..
diff --git a/apt/Makefile b/apt/Makefile
index 6b3744b..49377eb 100644
--- a/apt/Makefile
+++ b/apt/Makefile
@@ -1,6 +1,6 @@
# Open Infrastructure: service-tools
-# Copyright (C) 2014-2022 Daniel Baumann <daniel.baumann@open-infrastructure.net>
+# Copyright (C) 2014-2023 Daniel Baumann <daniel.baumann@open-infrastructure.net>
#
# SPDX-License-Identifier: GPL-3.0+
#
diff --git a/apt/bin/apt-install b/apt/bin/apt-install
index 2427361..323d1b6 100755
--- a/apt/bin/apt-install
+++ b/apt/bin/apt-install
@@ -2,7 +2,7 @@
# Open Infrastructure: service-tools
-# Copyright (C) 2014-2022 Daniel Baumann <daniel.baumann@open-infrastructure.net>
+# Copyright (C) 2014-2023 Daniel Baumann <daniel.baumann@open-infrastructure.net>
#
# SPDX-License-Identifier: GPL-3.0+
#
diff --git a/apt/bin/apt-remove b/apt/bin/apt-remove
index 655246e..719c8e7 100755
--- a/apt/bin/apt-remove
+++ b/apt/bin/apt-remove
@@ -2,7 +2,7 @@
# Open Infrastructure: service-tools
-# Copyright (C) 2014-2022 Daniel Baumann <daniel.baumann@open-infrastructure.net>
+# Copyright (C) 2014-2023 Daniel Baumann <daniel.baumann@open-infrastructure.net>
#
# SPDX-License-Identifier: GPL-3.0+
#
diff --git a/apt/share/man/Makefile b/apt/share/man/Makefile
index a6d6bf2..ce5fe50 100644
--- a/apt/share/man/Makefile
+++ b/apt/share/man/Makefile
@@ -1,6 +1,6 @@
# Open Infrastructure: service-tools
-# Copyright (C) 2014-2022 Daniel Baumann <daniel.baumann@open-infrastructure.net>
+# Copyright (C) 2014-2023 Daniel Baumann <daniel.baumann@open-infrastructure.net>
#
# SPDX-License-Identifier: GPL-3.0+
#
diff --git a/apt/share/man/apt-install.1.rst b/apt/share/man/apt-install.1.rst
index f446ea9..6880898 100644
--- a/apt/share/man/apt-install.1.rst
+++ b/apt/share/man/apt-install.1.rst
@@ -1,6 +1,6 @@
.. Open Infrastructure: service-tools
-.. Copyright (C) 2014-2022 Daniel Baumann <daniel.baumann@open-infrastructure.net>
+.. Copyright (C) 2014-2023 Daniel Baumann <daniel.baumann@open-infrastructure.net>
..
.. SPDX-License-Identifier: GPL-3.0+
..
diff --git a/apt/share/man/man.in b/apt/share/man/man.in
index f95ca67..bcc6362 100644
--- a/apt/share/man/man.in
+++ b/apt/share/man/man.in
@@ -1,6 +1,6 @@
.\" Open Infrastructure: service-tools
.\"
-.\" Copyright (C) 2014-2022 Daniel Baumann <daniel.baumann@open-infrastructure.net>
+.\" Copyright (C) 2014-2023 Daniel Baumann <daniel.baumann@open-infrastructure.net>
.\"
.\" SPDX-License-Identifier: GPL-3.0+
.\"
diff --git a/dehydrated/Makefile b/dehydrated/Makefile
index 2b6da9f..bf6fc46 100644
--- a/dehydrated/Makefile
+++ b/dehydrated/Makefile
@@ -1,6 +1,6 @@
# Open Infrastructure: service-tools
-# Copyright (C) 2014-2022 Daniel Baumann <daniel.baumann@open-infrastructure.net>
+# Copyright (C) 2014-2023 Daniel Baumann <daniel.baumann@open-infrastructure.net>
#
# SPDX-License-Identifier: GPL-3.0+
#
diff --git a/dehydrated/TODO b/dehydrated/TODO
index 9e49d83..b6cc845 100644
--- a/dehydrated/TODO
+++ b/dehydrated/TODO
@@ -1,6 +1,7 @@
TODO
====
+ * add cleanup hook for extra certificates
* add manpages for individual dehydrated hooks
* use /etc/default for dehydrated-cron
* use /etc/default for dehydrated-hook
diff --git a/dehydrated/bin/dehydrated-cron b/dehydrated/bin/dehydrated-cron
index 2f283e4..c1da9c5 100755
--- a/dehydrated/bin/dehydrated-cron
+++ b/dehydrated/bin/dehydrated-cron
@@ -2,7 +2,7 @@
# Open Infrastructure: service-tools
-# Copyright (C) 2014-2022 Daniel Baumann <daniel.baumann@open-infrastructure.net>
+# Copyright (C) 2014-2023 Daniel Baumann <daniel.baumann@open-infrastructure.net>
#
# SPDX-License-Identifier: GPL-3.0+
#
diff --git a/dehydrated/bin/dehydrated-hook b/dehydrated/bin/dehydrated-hook
index 9103495..470fa50 100755
--- a/dehydrated/bin/dehydrated-hook
+++ b/dehydrated/bin/dehydrated-hook
@@ -2,7 +2,7 @@
# Open Infrastructure: service-tools
-# Copyright (C) 2014-2022 Daniel Baumann <daniel.baumann@open-infrastructure.net>
+# Copyright (C) 2014-2023 Daniel Baumann <daniel.baumann@open-infrastructure.net>
#
# SPDX-License-Identifier: GPL-3.0+
#
diff --git a/dehydrated/bin/dehydrated-nsupdate b/dehydrated/bin/dehydrated-nsupdate
index 657cc48..4ec6a72 100755
--- a/dehydrated/bin/dehydrated-nsupdate
+++ b/dehydrated/bin/dehydrated-nsupdate
@@ -2,7 +2,7 @@
# Open Infrastructure: service-tools
-# Copyright (C) 2014-2022 Daniel Baumann <daniel.baumann@open-infrastructure.net>
+# Copyright (C) 2014-2023 Daniel Baumann <daniel.baumann@open-infrastructure.net>
#
# SPDX-License-Identifier: GPL-3.0+
#
@@ -51,7 +51,7 @@ then
# bind-dnsutils
DIG_VARIANT="bind"
else
- echo "'${HOOK}': need dig from bind-dnsutils or knot-dnsutils" >&2
+ echo "'${HOOK}': need dig from bind-dnsutils or kdig from knot-dnsutils" >&2
exit 1
fi
@@ -75,7 +75,7 @@ then
# bind-dnsutils
NSUPDATE_VARIANT="bind"
else
- echo "'${HOOK}': need nsupdate from bind-dnsutils or knot-dnsutils" >&2
+ echo "'${HOOK}': need nsupdate from bind-dnsutils or knsupdate from knot-dnsutils" >&2
exit 1
fi
@@ -199,7 +199,7 @@ do
esac
fi
- echo -n " + sending '${HOOK_ACTION}' for ${TXT_RECORD} to ${NAMESERVER}.."
+ echo -n " + ${DOMAIN}: sending '${HOOK_ACTION}' for ${TXT_RECORD} to ${NAMESERVER}.."
# shellcheck disable=SC2086
echo "server ${NAMESERVER}
diff --git a/dehydrated/share/hooks/deploy_cert.chrony b/dehydrated/share/hooks/deploy_cert.chrony
index b6744ff..40771a8 100755
--- a/dehydrated/share/hooks/deploy_cert.chrony
+++ b/dehydrated/share/hooks/deploy_cert.chrony
@@ -2,7 +2,7 @@
# Open Infrastructure: service-tools
-# Copyright (C) 2014-2022 Daniel Baumann <daniel.baumann@open-infrastructure.net>
+# Copyright (C) 2014-2023 Daniel Baumann <daniel.baumann@open-infrastructure.net>
#
# SPDX-License-Identifier: GPL-3.0+
#
diff --git a/dehydrated/share/hooks/deploy_cert.extra b/dehydrated/share/hooks/deploy_cert.extra
index 56ca2f4..5cf7b72 100755
--- a/dehydrated/share/hooks/deploy_cert.extra
+++ b/dehydrated/share/hooks/deploy_cert.extra
@@ -2,7 +2,7 @@
# Open Infrastructure: service-tools
-# Copyright (C) 2014-2022 Daniel Baumann <daniel.baumann@open-infrastructure.net>
+# Copyright (C) 2014-2023 Daniel Baumann <daniel.baumann@open-infrastructure.net>
#
# SPDX-License-Identifier: GPL-3.0+
#
@@ -25,25 +25,64 @@ echo -n " + Creating extra certificate files..."
DIRECTORY="$(dirname "${CERTFILE}")"
-# root and intermediate CA
-TMPFILE="$(mktemp -p "${DIRECTORY}" -u ca.XXXXXXXXXX)"
-grep -Ev '^$' "${CHAINFILE}" | csplit -f "${TMPFILE}" -s -z - '/-----BEGIN CERTIFICATE-----/' '{*}'
+if [ "$(grep -c 'BEGIN CERTIFICATE' ${FULLCHAINFILE})" -ge 3 ]
+then
+ # long chain:
+ # * chain.pem: (R3 | ISRG Root X1)
+ # * fullchain.pem: (Certificate | R3 | ISRG Root X1)
+ CHAIN="long"
+else
+ # short chain:
+ # * chain.pem: (R3)
+ # * fullchain.pem (Certificate | R3)
+ CHAIN="short"
+fi
-mv "${TMPFILE}00" "${DIRECTORY}/intermediate-${TIMESTAMP}.pem"
-ln -sf "${DIRECTORY}/intermediate-${TIMESTAMP}.pem" "${DIRECTORY}/intermediate.pem"
+case "${CHAIN}" in
+ long)
+ # split chain.pem
+ TMPFILE="$(mktemp -p "${DIRECTORY}" -u ca.XXXXXXXXXX)"
+ grep -Ev '^$' "${CHAINFILE}" | csplit -f "${TMPFILE}" -s -z - '/-----BEGIN CERTIFICATE-----/' '{*}'
-mv "${TMPFILE}01" "${DIRECTORY}/root-${TIMESTAMP}.pem"
-ln -sf "${DIRECTORY}/root-${TIMESTAMP}.pem" "${DIRECTORY}/root.pem"
+ # intermediate (R3)
+ mv "${TMPFILE}00" "${DIRECTORY}/intermediate-${TIMESTAMP}.pem"
+ ln -sf "intermediate-${TIMESTAMP}.pem" "${DIRECTORY}/intermediate.pem"
+
+ # root (ISRG Root X1)
+ mv "${TMPFILE}01" "${DIRECTORY}/root-${TIMESTAMP}.pem"
+ ln -sf "root-${TIMESTAMP}.pem" "${DIRECTORY}/root.pem"
+ ;;
+
+ short)
+ # intermediate (R3)
+ grep -Ev '^$' "${DIRECTORY}/chain-${TIMESTAMP}.pem" > "${DIRECTORY}/intermediate-${TIMESTAMP}.pem"
+ ln -sf "intermediate-${TIMESTAMP}.pem" "${DIRECTORY}/intermediate.pem"
+
+ # root (ISRG Root X1)
+ ISSUER_URI="$(openssl x509 -in "${DIRECTORY}/chain-${TIMESTAMP}.pem" -text -noout | grep 'Authority Information Access:' -A1 | awk -FURI: '/http/ { print $2 }')"
+
+ if [ -n "${ISSUER_URI}" ]
+ then
+ wget -q "${ISSUER_URI}" -O - | openssl x509 -outform PEM > "${DIRECTORY}/root-${TIMESTAMP}.pem"
+ ln -sf "root-${TIMESTAMP}.pem" "${DIRECTORY}/root.pem"
+ fi
+ ;;
+esac
# extra certificate permutations:
-# * privkey_fullchain.pem: postfix
-for EXTRA in fullchain_privkey privkey_fullchain
+# * privkey_fullchain.pem: postfix
+# * root_intermediate_cert.pem: redis
+
+for EXTRA in fullchain_privkey privkey_fullchain root_intermediate_cert
do
- EXTRA1="$(echo ${EXTRA} | awk -F_ '{ print $1 }')"
- EXTRA2="$(echo ${EXTRA} | awk -F_ '{ print $2 }')"
+ rm -f "${DIRECTORY}/${EXTRA}-${TIMESTAMP}.pem"
+
+ for FILE in $(echo ${EXTRA} | sed -e 's|_| |g')
+ do
+ cat "${DIRECTORY}/${FILE}-${TIMESTAMP}.pem" >> "${DIRECTORY}/${EXTRA}-${TIMESTAMP}.pem"
+ done
- cat "${DIRECTORY}/${EXTRA1}-${TIMESTAMP}.pem" "${DIRECTORY}/${EXTRA2}-${TIMESTAMP}.pem" > "${DIRECTORY}/${EXTRA1}_${EXTRA2}-${TIMESTAMP}.pem"
- ln -sf "${EXTRA1}_${EXTRA2}-${TIMESTAMP}.pem" "${DIRECTORY}/${EXTRA1}_${EXTRA2}.pem"
+ ln -sf "${EXTRA}-${TIMESTAMP}.pem" "${DIRECTORY}/${EXTRA}.pem"
done
echo " done."
diff --git a/dehydrated/share/hooks/deploy_ocsp.extra b/dehydrated/share/hooks/deploy_ocsp.extra
index 35a13f6..869616d 100755
--- a/dehydrated/share/hooks/deploy_ocsp.extra
+++ b/dehydrated/share/hooks/deploy_ocsp.extra
@@ -2,7 +2,7 @@
# Open Infrastructure: service-tools
-# Copyright (C) 2014-2022 Daniel Baumann <daniel.baumann@open-infrastructure.net>
+# Copyright (C) 2014-2023 Daniel Baumann <daniel.baumann@open-infrastructure.net>
#
# SPDX-License-Identifier: GPL-3.0+
#
@@ -26,12 +26,11 @@ echo " + Creating extra ocsp links..."
DIRECTORY="$(dirname "${OCSPFILE}")"
OCSP="$(readlink "${OCSPFILE}")"
-for EXTRA in fullchain_privkey privkey_fullchain
+for EXTRA in fullchain_privkey privkey_fullchain root_intermediate_cert
do
- EXTRA1="$(echo ${EXTRA} | awk -F_ '{ print $1 }')"
- EXTRA2="$(echo ${EXTRA} | awk -F_ '{ print $2 }')"
+ rm -f "${DIRECTORY}/${EXTRA}-${TIMESTAMP}.pem.ocsp"
- ln -sf "${OCSP}" "${DIRECTORY}/${EXTRA1}_${EXTRA2}.pem.ocsp"
+ ln -sf "${OCSP}" "${DIRECTORY}/${EXTRA}.pem.ocsp"
done
echo " done."
diff --git a/dehydrated/share/hooks/exit_hook.extra-cleanup b/dehydrated/share/hooks/exit_hook.extra-cleanup
index 59e203e..02baa19 100755
--- a/dehydrated/share/hooks/exit_hook.extra-cleanup
+++ b/dehydrated/share/hooks/exit_hook.extra-cleanup
@@ -2,7 +2,7 @@
# Open Infrastructure: service-tools
-# Copyright (C) 2014-2022 Daniel Baumann <daniel.baumann@open-infrastructure.net>
+# Copyright (C) 2014-2023 Daniel Baumann <daniel.baumann@open-infrastructure.net>
#
# SPDX-License-Identifier: GPL-3.0+
#
@@ -23,7 +23,7 @@ set -e
echo -n " + Cleanup extra certificate files..."
-for EXTRA in root intermediate fullchain_privkey privkey_fullchain
+for EXTRA in root intermediate fullchain_privkey privkey_fullchain root_intermediate_cert
do
for CERTIFICATE in "${CERTDIR}"/*/
do
diff --git a/dehydrated/share/hooks/exit_hook.fix-permissions b/dehydrated/share/hooks/exit_hook.fix-permissions
index aa15553..fa8ef95 100755
--- a/dehydrated/share/hooks/exit_hook.fix-permissions
+++ b/dehydrated/share/hooks/exit_hook.fix-permissions
@@ -2,7 +2,7 @@
# Open Infrastructure: service-tools
-# Copyright (C) 2014-2022 Daniel Baumann <daniel.baumann@open-infrastructure.net>
+# Copyright (C) 2014-2023 Daniel Baumann <daniel.baumann@open-infrastructure.net>
#
# SPDX-License-Identifier: GPL-3.0+
#
diff --git a/dehydrated/share/hooks/exit_hook.service-reload b/dehydrated/share/hooks/exit_hook.service-reload
index c62c133..dcbbb58 100755
--- a/dehydrated/share/hooks/exit_hook.service-reload
+++ b/dehydrated/share/hooks/exit_hook.service-reload
@@ -2,7 +2,7 @@
# Open Infrastructure: service-tools
-# Copyright (C) 2014-2022 Daniel Baumann <daniel.baumann@open-infrastructure.net>
+# Copyright (C) 2014-2023 Daniel Baumann <daniel.baumann@open-infrastructure.net>
#
# SPDX-License-Identifier: GPL-3.0+
#
@@ -38,6 +38,14 @@ Run_chrony ()
fi
}
+Run_freeradius ()
+{
+ if grep -Eqrs 'certificate_file = /var/lib/dehydrated' /etc/freeradius/*/*
+ then
+ service freeradius reload
+ fi
+}
+
Run_haproxy ()
{
if grep 'ssl crt' /etc/haproxy/haproxy.cfg | grep -qsv '^#'
@@ -96,7 +104,7 @@ Run_redis_server ()
echo " + Reloading services:"
-SERVICES="apache2 chrony haproxy knot-resolver postfix postgresql redis-sentinel redis-server"
+SERVICES="apache2 chrony freeradius haproxy knot-resolver postfix postgresql redis-sentinel redis-server"
for SERVICE in ${SERVICES}
do
diff --git a/dehydrated/share/man/Makefile b/dehydrated/share/man/Makefile
index a6d6bf2..ce5fe50 100644
--- a/dehydrated/share/man/Makefile
+++ b/dehydrated/share/man/Makefile
@@ -1,6 +1,6 @@
# Open Infrastructure: service-tools
-# Copyright (C) 2014-2022 Daniel Baumann <daniel.baumann@open-infrastructure.net>
+# Copyright (C) 2014-2023 Daniel Baumann <daniel.baumann@open-infrastructure.net>
#
# SPDX-License-Identifier: GPL-3.0+
#
diff --git a/dehydrated/share/man/dehydrated-cron.1.rst b/dehydrated/share/man/dehydrated-cron.1.rst
index cd93a30..9e63fa3 100644
--- a/dehydrated/share/man/dehydrated-cron.1.rst
+++ b/dehydrated/share/man/dehydrated-cron.1.rst
@@ -1,6 +1,6 @@
.. Open Infrastructure: service-tools
-.. Copyright (C) 2014-2022 Daniel Baumann <daniel.baumann@open-infrastructure.net>
+.. Copyright (C) 2014-2023 Daniel Baumann <daniel.baumann@open-infrastructure.net>
..
.. SPDX-License-Identifier: GPL-3.0+
..
diff --git a/dehydrated/share/man/dehydrated-hook.1.rst b/dehydrated/share/man/dehydrated-hook.1.rst
index de63127..732bd12 100644
--- a/dehydrated/share/man/dehydrated-hook.1.rst
+++ b/dehydrated/share/man/dehydrated-hook.1.rst
@@ -1,6 +1,6 @@
.. Open Infrastructure: service-tools
-.. Copyright (C) 2014-2022 Daniel Baumann <daniel.baumann@open-infrastructure.net>
+.. Copyright (C) 2014-2023 Daniel Baumann <daniel.baumann@open-infrastructure.net>
..
.. SPDX-License-Identifier: GPL-3.0+
..
diff --git a/dehydrated/share/man/dehydrated-nsupdate.1.rst b/dehydrated/share/man/dehydrated-nsupdate.1.rst
index d4b097b..6a9ad4f 100644
--- a/dehydrated/share/man/dehydrated-nsupdate.1.rst
+++ b/dehydrated/share/man/dehydrated-nsupdate.1.rst
@@ -1,6 +1,6 @@
.. Open Infrastructure: service-tools
-.. Copyright (C) 2014-2022 Daniel Baumann <daniel.baumann@open-infrastructure.net>
+.. Copyright (C) 2014-2023 Daniel Baumann <daniel.baumann@open-infrastructure.net>
..
.. SPDX-License-Identifier: GPL-3.0+
..
diff --git a/dehydrated/share/man/man.in b/dehydrated/share/man/man.in
index f95ca67..bcc6362 100644
--- a/dehydrated/share/man/man.in
+++ b/dehydrated/share/man/man.in
@@ -1,6 +1,6 @@
.\" Open Infrastructure: service-tools
.\"
-.\" Copyright (C) 2014-2022 Daniel Baumann <daniel.baumann@open-infrastructure.net>
+.\" Copyright (C) 2014-2023 Daniel Baumann <daniel.baumann@open-infrastructure.net>
.\"
.\" SPDX-License-Identifier: GPL-3.0+
.\"
diff --git a/dnsdist/Makefile b/dnsdist/Makefile
index 6b3744b..49377eb 100644
--- a/dnsdist/Makefile
+++ b/dnsdist/Makefile
@@ -1,6 +1,6 @@
# Open Infrastructure: service-tools
-# Copyright (C) 2014-2022 Daniel Baumann <daniel.baumann@open-infrastructure.net>
+# Copyright (C) 2014-2023 Daniel Baumann <daniel.baumann@open-infrastructure.net>
#
# SPDX-License-Identifier: GPL-3.0+
#
diff --git a/dnsdist/bin/dnsdist-console b/dnsdist/bin/dnsdist-console
index ea26d63..9ddbc30 100755
--- a/dnsdist/bin/dnsdist-console
+++ b/dnsdist/bin/dnsdist-console
@@ -2,7 +2,7 @@
# Open Infrastructure: service-tools
-# Copyright (C) 2014-2022 Daniel Baumann <daniel.baumann@open-infrastructure.net>
+# Copyright (C) 2014-2023 Daniel Baumann <daniel.baumann@open-infrastructure.net>
#
# SPDX-License-Identifier: GPL-3.0+
#
diff --git a/git/Makefile b/git/Makefile
index d3c7921..14db1ef 100644
--- a/git/Makefile
+++ b/git/Makefile
@@ -1,6 +1,6 @@
# Open Infrastructure: service-tools
-# Copyright (C) 2014-2022 Daniel Baumann <daniel.baumann@open-infrastructure.net>
+# Copyright (C) 2014-2023 Daniel Baumann <daniel.baumann@open-infrastructure.net>
#
# SPDX-License-Identifier: GPL-3.0+
#
diff --git a/git/bin/git-checkout-branches b/git/bin/git-checkout-branches
index 220386f..dd04bb6 100755
--- a/git/bin/git-checkout-branches
+++ b/git/bin/git-checkout-branches
@@ -2,7 +2,7 @@
# Open Infrastructure: service-tools
-# Copyright (C) 2014-2022 Daniel Baumann <daniel.baumann@open-infrastructure.net>
+# Copyright (C) 2014-2023 Daniel Baumann <daniel.baumann@open-infrastructure.net>
#
# SPDX-License-Identifier: GPL-3.0+
#
diff --git a/git/bin/git-hook b/git/bin/git-hook
index 218ef00..81776ea 100755
--- a/git/bin/git-hook
+++ b/git/bin/git-hook
@@ -2,7 +2,7 @@
# Open Infrastructure: service-tools
-# Copyright (C) 2014-2022 Daniel Baumann <daniel.baumann@open-infrastructure.net>
+# Copyright (C) 2014-2023 Daniel Baumann <daniel.baumann@open-infrastructure.net>
#
# SPDX-License-Identifier: GPL-3.0+
#
diff --git a/git/bin/git-pull-branches b/git/bin/git-pull-branches
index afa2e63..aca1ea3 100755
--- a/git/bin/git-pull-branches
+++ b/git/bin/git-pull-branches
@@ -2,7 +2,7 @@
# Open Infrastructure: service-tools
-# Copyright (C) 2014-2022 Daniel Baumann <daniel.baumann@open-infrastructure.net>
+# Copyright (C) 2014-2023 Daniel Baumann <daniel.baumann@open-infrastructure.net>
#
# SPDX-License-Identifier: GPL-3.0+
#
diff --git a/git/bin/git-remove-origin-branches b/git/bin/git-remove-origin-branches
index be65a1f..de403ca 100755
--- a/git/bin/git-remove-origin-branches
+++ b/git/bin/git-remove-origin-branches
@@ -2,7 +2,7 @@
# Open Infrastructure: service-tools
-# Copyright (C) 2014-2022 Daniel Baumann <daniel.baumann@open-infrastructure.net>
+# Copyright (C) 2014-2023 Daniel Baumann <daniel.baumann@open-infrastructure.net>
#
# SPDX-License-Identifier: GPL-3.0+
#
diff --git a/git/bin/git-remove-origin-tags b/git/bin/git-remove-origin-tags
index 8246ec2..1de452f 100755
--- a/git/bin/git-remove-origin-tags
+++ b/git/bin/git-remove-origin-tags
@@ -2,7 +2,7 @@
# Open Infrastructure: service-tools
-# Copyright (C) 2014-2022 Daniel Baumann <daniel.baumann@open-infrastructure.net>
+# Copyright (C) 2014-2023 Daniel Baumann <daniel.baumann@open-infrastructure.net>
#
# SPDX-License-Identifier: GPL-3.0+
#
diff --git a/git/bin/git-repo-repack b/git/bin/git-repo-repack
index cf5a30c..035d55a 100755
--- a/git/bin/git-repo-repack
+++ b/git/bin/git-repo-repack
@@ -2,7 +2,7 @@
# Open Infrastructure: service-tools
-# Copyright (C) 2014-2022 Daniel Baumann <daniel.baumann@open-infrastructure.net>
+# Copyright (C) 2014-2023 Daniel Baumann <daniel.baumann@open-infrastructure.net>
#
# SPDX-License-Identifier: GPL-3.0+
#
diff --git a/git/share/hooks/post-update.d/cgit-agefile b/git/share/hooks/post-update.d/cgit-agefile
index a00b038..4faafd6 100755
--- a/git/share/hooks/post-update.d/cgit-agefile
+++ b/git/share/hooks/post-update.d/cgit-agefile
@@ -2,7 +2,7 @@
# Open Infrastructure: service-tools
-# Copyright (C) 2014-2022 Daniel Baumann <daniel.baumann@open-infrastructure.net>
+# Copyright (C) 2014-2023 Daniel Baumann <daniel.baumann@open-infrastructure.net>
#
# SPDX-License-Identifier: GPL-3.0+
#
diff --git a/git/share/hooks/post-update.d/git-update-server-info b/git/share/hooks/post-update.d/git-update-server-info
index 1b21b51..c90015a 100755
--- a/git/share/hooks/post-update.d/git-update-server-info
+++ b/git/share/hooks/post-update.d/git-update-server-info
@@ -2,7 +2,7 @@
# Open Infrastructure: service-tools
-# Copyright (C) 2014-2022 Daniel Baumann <daniel.baumann@open-infrastructure.net>
+# Copyright (C) 2014-2023 Daniel Baumann <daniel.baumann@open-infrastructure.net>
#
# SPDX-License-Identifier: GPL-3.0+
#
diff --git a/git/share/hooks/post-update.d/irker-notification b/git/share/hooks/post-update.d/irker-notification
index 7c712db..8ef52ce 100755
--- a/git/share/hooks/post-update.d/irker-notification
+++ b/git/share/hooks/post-update.d/irker-notification
@@ -2,7 +2,7 @@
# Open Infrastructure: service-tools
-# Copyright (C) 2014-2022 Daniel Baumann <daniel.baumann@open-infrastructure.net>
+# Copyright (C) 2014-2023 Daniel Baumann <daniel.baumann@open-infrastructure.net>
#
# SPDX-License-Identifier: GPL-3.0+
#
diff --git a/irker/Makefile b/irker/Makefile
index ef951c3..213ddfa 100644
--- a/irker/Makefile
+++ b/irker/Makefile
@@ -1,6 +1,6 @@
# Open Infrastructure: service-tools
-# Copyright (C) 2014-2022 Daniel Baumann <daniel.baumann@open-infrastructure.net>
+# Copyright (C) 2014-2023 Daniel Baumann <daniel.baumann@open-infrastructure.net>
#
# SPDX-License-Identifier: GPL-3.0+
#
diff --git a/irker/bin/irkerhook-debian b/irker/bin/irkerhook-debian
index ce8dfb4..71c85b4 100755
--- a/irker/bin/irkerhook-debian
+++ b/irker/bin/irkerhook-debian
@@ -2,7 +2,7 @@
# Open Infrastructure: service-tools
-# Copyright (C) 2014-2022 Daniel Baumann <daniel.baumann@open-infrastructure.net>
+# Copyright (C) 2014-2023 Daniel Baumann <daniel.baumann@open-infrastructure.net>
#
# SPDX-License-Identifier: GPL-3.0+
#
diff --git a/kea/Makefile b/kea/Makefile
index 6b3744b..49377eb 100644
--- a/kea/Makefile
+++ b/kea/Makefile
@@ -1,6 +1,6 @@
# Open Infrastructure: service-tools
-# Copyright (C) 2014-2022 Daniel Baumann <daniel.baumann@open-infrastructure.net>
+# Copyright (C) 2014-2023 Daniel Baumann <daniel.baumann@open-infrastructure.net>
#
# SPDX-License-Identifier: GPL-3.0+
#
diff --git a/kea/bin/kea-leases-reset b/kea/bin/kea-leases-reset
index 92265f4..f1e4d91 100755
--- a/kea/bin/kea-leases-reset
+++ b/kea/bin/kea-leases-reset
@@ -2,7 +2,7 @@
# Open Infrastructure: service-tools
-# Copyright (C) 2014-2022 Daniel Baumann <daniel.baumann@open-infrastructure.net>
+# Copyright (C) 2014-2023 Daniel Baumann <daniel.baumann@open-infrastructure.net>
#
# SPDX-License-Identifier: GPL-3.0+
#
diff --git a/knot-resolver/Makefile b/knot-resolver/Makefile
index 6b3744b..49377eb 100644
--- a/knot-resolver/Makefile
+++ b/knot-resolver/Makefile
@@ -1,6 +1,6 @@
# Open Infrastructure: service-tools
-# Copyright (C) 2014-2022 Daniel Baumann <daniel.baumann@open-infrastructure.net>
+# Copyright (C) 2014-2023 Daniel Baumann <daniel.baumann@open-infrastructure.net>
#
# SPDX-License-Identifier: GPL-3.0+
#
diff --git a/knot-resolver/bin/kresd-cache-clear b/knot-resolver/bin/kresd-cache-clear
index 5b9a0e1..52042a1 100755
--- a/knot-resolver/bin/kresd-cache-clear
+++ b/knot-resolver/bin/kresd-cache-clear
@@ -2,7 +2,7 @@
# Open Infrastructure: service-tools
-# Copyright (C) 2014-2022 Daniel Baumann <daniel.baumann@open-infrastructure.net>
+# Copyright (C) 2014-2023 Daniel Baumann <daniel.baumann@open-infrastructure.net>
#
# SPDX-License-Identifier: GPL-3.0+
#
diff --git a/knot/Makefile b/knot/Makefile
index a49dc34..a4f4977 100644
--- a/knot/Makefile
+++ b/knot/Makefile
@@ -1,6 +1,6 @@
# Open Infrastructure: service-tools
-# Copyright (C) 2014-2022 Daniel Baumann <daniel.baumann@open-infrastructure.net>
+# Copyright (C) 2014-2023 Daniel Baumann <daniel.baumann@open-infrastructure.net>
#
# SPDX-License-Identifier: GPL-3.0+
#
diff --git a/knot/bin/knot-zones-reset b/knot/bin/knot-zones-reset
index 8ab2dca..d007906 100755
--- a/knot/bin/knot-zones-reset
+++ b/knot/bin/knot-zones-reset
@@ -2,7 +2,7 @@
# Open Infrastructure: service-tools
-# Copyright (C) 2014-2022 Daniel Baumann <daniel.baumann@open-infrastructure.net>
+# Copyright (C) 2014-2023 Daniel Baumann <daniel.baumann@open-infrastructure.net>
#
# SPDX-License-Identifier: GPL-3.0+
#
diff --git a/linux/Makefile b/linux/Makefile
index 278e7e5..8274c79 100644
--- a/linux/Makefile
+++ b/linux/Makefile
@@ -1,6 +1,6 @@
# Open Infrastructure: service-tools
-# Copyright (C) 2014-2022 Daniel Baumann <daniel.baumann@open-infrastructure.net>
+# Copyright (C) 2014-2023 Daniel Baumann <daniel.baumann@open-infrastructure.net>
#
# SPDX-License-Identifier: GPL-3.0+
#
diff --git a/linux/bin/linux-i40e b/linux/bin/linux-i40e
index ffe17b3..9ab0426 100755
--- a/linux/bin/linux-i40e
+++ b/linux/bin/linux-i40e
@@ -2,7 +2,7 @@
# Open Infrastructure: service-tools
-# Copyright (C) 2014-2022 Daniel Baumann <daniel.baumann@open-infrastructure.net>
+# Copyright (C) 2014-2023 Daniel Baumann <daniel.baumann@open-infrastructure.net>
#
# SPDX-License-Identifier: GPL-3.0+
#
@@ -130,7 +130,7 @@ then
exit 1
fi
-DEVICES="$(grep -s '^DRIVER=i40e' /sys/class/net/*/device/uevent | awk -F/ '{ print $5 }' | sort -V)"
+DEVICES="$(grep -s '^DRIVER=i40e' /sys/class/net/*/device/uevent | awk -F/ '{ print $5 }' | grep -v eno | sort -V)"
if [ -z "${DEVICES}" ]
then
diff --git a/linux/bin/linux-ice b/linux/bin/linux-ice
new file mode 100755
index 0000000..5f0feee
--- /dev/null
+++ b/linux/bin/linux-ice
@@ -0,0 +1,156 @@
+#!/bin/sh
+
+# Open Infrastructure: service-tools
+
+# Copyright (C) 2014-2023 Daniel Baumann <daniel.baumann@open-infrastructure.net>
+#
+# SPDX-License-Identifier: GPL-3.0+
+#
+# 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 <https://www.gnu.org/licenses/>.
+
+set -e
+
+PROGRAM="$(basename "${0}")"
+
+RED="\033[1;33;31m"
+GREEN="\033[1;33;32m"
+NORMAL="\033[0m"
+
+Ethtool_get ()
+{
+ DEVICE="${1}"
+ FLAG="${2}"
+ TARGET_VALUE="${3}"
+
+ if ethtool --show-priv-flags "${DEVICE}" | awk '{ print $1 }' | grep -qs "^${FLAG}$"
+ then
+ CURRENT_VALUE="$(ethtool --show-priv-flags "${DEVICE}" | awk "/^${FLAG} / { print \$3 }")"
+
+ if [ "${CURRENT_VALUE}" = "${TARGET_VALUE}" ]
+ then
+ echo -n " ${FLAG}=${GREEN}${CURRENT_VALUE}${NORMAL}"
+ else
+ echo -n " ${FLAG}=${RED}${CURRENT_VALUE}${NORMAL}"
+ fi
+ fi
+}
+
+Ethtool_set ()
+{
+ DEVICE="${1}"
+ FLAG="${2}"
+ VALUE="${3}"
+
+ if ethtool --show-priv-flags "${DEVICE}" | awk '{ print $1 }' | grep -qs "^${FLAG}$"
+ then
+ echo -n " ${FLAG}"
+ ethtool --set-priv-flags "${DEVICE}" "${FLAG}" "${VALUE}"
+ echo -n "=${VALUE}"
+ fi
+}
+
+Test_root ()
+{
+ case "$(id -u)" in
+ 0)
+ ;;
+
+ *)
+ echo "'${PROGRAM}': must be run as root (or use sudo)" >&2
+ exit 1
+ ;;
+ esac
+}
+
+Start ()
+{
+ Test_root
+
+ for DEVICE in ${DEVICES}
+ do
+ echo -n "Configuring ${DEVICE}:"
+ Ethtool_set "${DEVICE}" disable-fw-lldp on
+ Ethtool_set "${DEVICE}" link-down-on-close on
+ echo
+ done
+}
+
+Stop ()
+{
+ Test_root
+
+ for DEVICE in ${DEVICES}
+ do
+ echo -n "Deconfiguring ${DEVICE}:"
+ Ethtool_set "${DEVICE}" disable-fw-lldp off
+ Ethtool_set "${DEVICE}" link-down-on-close off
+ echo
+ done
+}
+
+Status ()
+{
+ for DEVICE in ${DEVICES}
+ do
+ echo -n "${DEVICE}:"
+ Ethtool_get "${DEVICE}" disable-fw-lldp on
+ Ethtool_get "${DEVICE}" link-down-on-close on
+ echo
+ done
+}
+
+Usage ()
+{
+ echo "Usage: ${PROGRAM} {start|stop|status}" >&2
+ echo >&2
+ echo "See ${PROGRAM}(1) for more information." >&2
+
+ exit 1
+}
+
+if [ -z "${1}" ]
+then
+ Usage
+fi
+
+if [ ! -x /usr/sbin/ethtool ]
+then
+ echo "'${PROGRAM}': /usr/sbin/ethtool - no such file." >&2
+ exit 1
+fi
+
+DEVICES="$(grep -s '^DRIVER=ice' /sys/class/net/*/device/uevent | awk -F/ '{ print $5 }' | grep -v eno | sort -V)"
+
+if [ -z "${DEVICES}" ]
+then
+ echo "'${PROGRAM}': no network devices available with ice driver" >&2
+fi
+
+case "${1}" in
+ start)
+ Start
+ ;;
+
+ stop)
+ Stop
+ ;;
+
+ status)
+ Status
+ ;;
+
+ *)
+ Usage
+ ;;
+esac
diff --git a/linux/share/man/Makefile b/linux/share/man/Makefile
index a6d6bf2..ce5fe50 100644
--- a/linux/share/man/Makefile
+++ b/linux/share/man/Makefile
@@ -1,6 +1,6 @@
# Open Infrastructure: service-tools
-# Copyright (C) 2014-2022 Daniel Baumann <daniel.baumann@open-infrastructure.net>
+# Copyright (C) 2014-2023 Daniel Baumann <daniel.baumann@open-infrastructure.net>
#
# SPDX-License-Identifier: GPL-3.0+
#
diff --git a/linux/share/man/linux-i40e.1.rst b/linux/share/man/linux-i40e.1.rst
index f4c2eb7..890ac02 100644
--- a/linux/share/man/linux-i40e.1.rst
+++ b/linux/share/man/linux-i40e.1.rst
@@ -1,6 +1,6 @@
.. Open Infrastructure: service-tools
-.. Copyright (C) 2014-2022 Daniel Baumann <daniel.baumann@open-infrastructure.net>
+.. Copyright (C) 2014-2023 Daniel Baumann <daniel.baumann@open-infrastructure.net>
..
.. SPDX-License-Identifier: GPL-3.0+
..
@@ -59,6 +59,7 @@ Recommended options
See also
========
+| linux-ice(1),
| ethtool(8),
| https://www.kernel.org/doc/Documentation/networking/i40e.txt
diff --git a/linux/share/man/linux-ice.1.rst b/linux/share/man/linux-ice.1.rst
new file mode 100644
index 0000000..1abfb90
--- /dev/null
+++ b/linux/share/man/linux-ice.1.rst
@@ -0,0 +1,86 @@
+.. Open Infrastructure: service-tools
+
+.. Copyright (C) 2014-2023 Daniel Baumann <daniel.baumann@open-infrastructure.net>
+..
+.. SPDX-License-Identifier: GPL-3.0+
+..
+.. 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 <https://www.gnu.org/licenses/>.
+
+=========
+linux-ice
+=========
+
+------------------------------------------------------------
+setting recommended options for the Linux ice device driver
+------------------------------------------------------------
+
+:manual section: 1
+:manual group: Open Infrastructure
+
+Synopsis
+========
+
+| **linux-ice** start|stop|status
+
+Description
+===========
+
+**linux-ice** sets all recommended options for the Linux ice device driver.
+
+Recommended options
+===================
+
+| **Enabling disable-fw-lldp**
+| Many Intel network cards such as the X700 Series drop LLDP pakets by default.
+| When using LACP (802.1ad) this has the effect that after a reboot of one switch,
+| the bond interfaces do not recover. Disabling the firewalling of LLDP pakets on
+| the network card allows the operating system (= Linux kernel) to actually recieve
+| the pakets and re-establish the bonded connection.
+
+| **Enabling link-down-on-close**
+| Many Intel network cards such as the X700 Series do not take down the link
+| when the corresponding interface is deconfigured. This is in contrast to the
+| consumer (Intel) network cards that usually do this. Therefore, without enabling
+| the link-down-on-close, most assumptions of HA stacks (e.g. pacemaker/corosync)
+| are not met and can lead to various unwanted effects. Enabling this options
+| restores the usual behaviour.
+
+See also
+========
+
+| linux-i40e(1),
+| ethtool(8),
+| https://www.kernel.org/doc/Documentation/networking/ice.txt
+
+Homepage
+========
+
+More information about service-tools and the Open Infrastructure project can be
+found on the homepage (https://open-infrastructure.net).
+
+Contact
+=======
+
+Bug reports, feature requests, help, patches, support and everything else are
+welcome on the Open Infrastructure Software Mailing List
+<software@lists.open-infrastructure.net>.
+
+Debian specific bugs can also be reported in the Debian Bug Tracking System
+(https://bugs.debian.org).
+
+Authors
+=======
+
+service-tools were written by Daniel Baumann
+<daniel.baumann@open-infrastructure.net> and others.
diff --git a/linux/share/man/man.in b/linux/share/man/man.in
index f95ca67..bcc6362 100644
--- a/linux/share/man/man.in
+++ b/linux/share/man/man.in
@@ -1,6 +1,6 @@
.\" Open Infrastructure: service-tools
.\"
-.\" Copyright (C) 2014-2022 Daniel Baumann <daniel.baumann@open-infrastructure.net>
+.\" Copyright (C) 2014-2023 Daniel Baumann <daniel.baumann@open-infrastructure.net>
.\"
.\" SPDX-License-Identifier: GPL-3.0+
.\"
diff --git a/linux/share/systemd/linux-ice.service b/linux/share/systemd/linux-ice.service
new file mode 100644
index 0000000..ee8a727
--- /dev/null
+++ b/linux/share/systemd/linux-ice.service
@@ -0,0 +1,17 @@
+# Open Infrastructure: service-tools
+
+[Unit]
+Description=setting recommended options for the Linux ice device driver
+Documentation=man:linux-ice
+Before=network.target
+
+[Service]
+Type=oneshot
+RemainAfterExit=yes
+ExecStart=/usr/bin/linux-ice start
+ExecStop=/usr/bin/linux-ice stop
+StandardOutput=journal
+StandardError=journal
+
+[Install]
+WantedBy=multi-user.target
diff --git a/znuny/Makefile b/supermicro/Makefile
index 6b3744b..49377eb 100644
--- a/znuny/Makefile
+++ b/supermicro/Makefile
@@ -1,6 +1,6 @@
# Open Infrastructure: service-tools
-# Copyright (C) 2014-2022 Daniel Baumann <daniel.baumann@open-infrastructure.net>
+# Copyright (C) 2014-2023 Daniel Baumann <daniel.baumann@open-infrastructure.net>
#
# SPDX-License-Identifier: GPL-3.0+
#
diff --git a/supermicro/bin/supermicro-ipmi-reset b/supermicro/bin/supermicro-ipmi-reset
new file mode 100755
index 0000000..8bd92f6
--- /dev/null
+++ b/supermicro/bin/supermicro-ipmi-reset
@@ -0,0 +1,34 @@
+#!/bin/sh
+
+set -e
+
+PROGRAM="$(basename "${0}")"
+
+HOST="$(sed -e 's|.host$|.management|' /etc/hostname)"
+ADDRESS="$(ipcalc-ng --all-info "$(dig +short AAAA "${HOST}")" | awk '/^Full Address/ { print $3 }')"
+
+if [ -z "${ADDRESS}" ]
+then
+ "${PROGRAM}: no IP address found for ${HOST}"
+ exit 1
+fi
+
+echo "${PROGRAM}: resetting ipmi to factory defaults (including users and lan)"
+ipmicfg -fdl -d
+
+echo "${PROGRAM}: change to protocol to dual-stack"
+ipmicfg -addrptl 3
+
+echo "${PROGRAM}: configuring ipmi to ${ADDRESS}"
+ipmicfg -ipv6 add 1 "${ADDRESS}" 64
+
+echo "${PROGRAM}: disabling ipv4 dhcp for ipv6-only configuration"
+ipmicfg -dhcp off
+
+echo "${PROGRAM}: clearing ipv4 address for ipv6-only configuration"
+ipmicfg -m 0.0.0.0
+
+echo "${PROGRAM}: rebooting ipmi"
+ipmicfg -r -d
+
+echo "${PROGRAM}: done."
diff --git a/vim/Makefile b/vim/Makefile
index 6b3744b..49377eb 100644
--- a/vim/Makefile
+++ b/vim/Makefile
@@ -1,6 +1,6 @@
# Open Infrastructure: service-tools
-# Copyright (C) 2014-2022 Daniel Baumann <daniel.baumann@open-infrastructure.net>
+# Copyright (C) 2014-2023 Daniel Baumann <daniel.baumann@open-infrastructure.net>
#
# SPDX-License-Identifier: GPL-3.0+
#
diff --git a/vim/bin/vim-mtime b/vim/bin/vim-mtime
index 20e1672..c0a0ad3 100755
--- a/vim/bin/vim-mtime
+++ b/vim/bin/vim-mtime
@@ -2,7 +2,7 @@
# Open Infrastructure: service-tools
-# Copyright (C) 2014-2022 Daniel Baumann <daniel.baumann@open-infrastructure.net>
+# Copyright (C) 2014-2023 Daniel Baumann <daniel.baumann@open-infrastructure.net>
#
# SPDX-License-Identifier: GPL-3.0+
#
diff --git a/znuny/bin/otrs.Console.pl b/znuny/bin/otrs.Console.pl
deleted file mode 100755
index 0e72b93..0000000
--- a/znuny/bin/otrs.Console.pl
+++ /dev/null
@@ -1,24 +0,0 @@
-#!/bin/sh
-
-# Open Infrastructure: service-tools
-
-# Copyright (C) 2014-2022 Daniel Baumann <daniel.baumann@open-infrastructure.net>
-#
-# SPDX-License-Identifier: GPL-3.0+
-#
-# 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 <https://www.gnu.org/licenses/>.
-
-set -e
-
-sudo -u otrs /usr/share/otrs/bin/otrs.Console.pl ${@}
diff --git a/znuny/bin/otrs.Daemon.pl b/znuny/bin/otrs.Daemon.pl
deleted file mode 100755
index 7882d1d..0000000
--- a/znuny/bin/otrs.Daemon.pl
+++ /dev/null
@@ -1,24 +0,0 @@
-#!/bin/sh
-
-# Open Infrastructure: service-tools
-
-# Copyright (C) 2014-2022 Daniel Baumann <daniel.baumann@open-infrastructure.net>
-#
-# SPDX-License-Identifier: GPL-3.0+
-#
-# 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 <https://www.gnu.org/licenses/>.
-
-set -e
-
-sudo -u otrs /usr/share/otrs/bin/otrs.Daemon.pl ${@}