aboutsummaryrefslogtreecommitdiff
path: root/v2/src/development/security-txt.sh.in
diff options
context:
space:
mode:
Diffstat (limited to 'v2/src/development/security-txt.sh.in')
-rwxr-xr-xv2/src/development/security-txt.sh.in82
1 files changed, 82 insertions, 0 deletions
diff --git a/v2/src/development/security-txt.sh.in b/v2/src/development/security-txt.sh.in
new file mode 100755
index 0000000..8f6613f
--- /dev/null
+++ b/v2/src/development/security-txt.sh.in
@@ -0,0 +1,82 @@
+#!/bin/sh
+set -eu
+
+usage() {
+ cat <<-'EOF'
+ Usage:
+ src/development/security-txt.sh
+ src/development/security-txt.sh -h
+ EOF
+}
+
+help() {
+ cat <<-'EOF'
+
+
+ Options:
+ -h, --help show this message
+
+
+ Generate the RFC 9116 "security.txt" file from data in the
+ repository.
+
+
+ Examples:
+
+ Just run it:
+
+ $ sh src/development/security-txt.sh > .well-known/security.txt
+ EOF
+}
+
+
+for flag in "$@"; do
+ case "$flag" in
+ --)
+ break
+ ;;
+ --help)
+ usage
+ help
+ exit
+ ;;
+ *)
+ ;;
+ esac
+done
+
+while getopts 'h' flag; do
+ case "$flag" in
+ h)
+ usage
+ help
+ exit
+ ;;
+ *)
+ usage >&2
+ exit 2
+ esac
+done
+shift $((OPTIND - 1))
+
+
+
+EXPIRES="$(
+ LANG=C.UTF-8 gpg --list-key eu@euandre.org |
+ awk '/^pub/ { print substr($(NF), 1, 10) }'
+)T00:00:00z"
+
+LANGS="en$(
+ echo po/??.po |
+ sed 's|\.po$||' |
+ sed 's|^po/|, |' |
+ paste -sd,
+)"
+
+
+cat <<-EOF
+ Contact: mailto:@EMAIL@
+ Encryption: https://@DOMAIN@/public.asc.txt
+ Expires: $EXPIRES
+ Preferred-Languages: $LANGS
+EOF