blob: a09bdfeb379e044e6e211d283978f2b1329f9da9 [file] [log] [blame]
#!/bin/bash
# SPDX-License-Identifier: GPL-2.0
#
# Copyright (c) 2024 - Greg Kroah-Hartman <gregkh@linuxfoundation.org>
#
# cve_publish_mbox - Send the pending mbox announvements out
#
#
# Usage:
# cve_publish_mbox
#
# Requires:
# cve
# don't use unset variables
set -o nounset
# set where the tool was run from,
# the name of our script,
# and the git version of it
DIR="$(dirname "$(readlink -f "${BASH_SOURCE[0]}")")"
SCRIPT=${0##*/}
SCRIPT_VERSION=$(cd "${DIR}" && git show -s --abbrev-commit --abbrev=12 --pretty=format:"%h")
help() {
echo "${SCRIPT}"
exit 1
}
cd "${DIR}"/../ || exit 1
send_email_files=""
# Get a list of the json files that are modified in some way (not deleted) and
# only submit those to the system, cutting down on round trips
files=$(git status -s -- cve/published | grep -v "^ D" | awk '{print $2}' | grep "\.mbox$" )
for file in ${files}; do
cve=$(echo "${file}" | cut -f 1 -d '.' | cut -f 4 -d '/')
root=$(echo "${file}" | cut -f 1 -d '.' )
sha_file="${root}.sha1"
sha=$(cat "${sha_file}")
#echo "file=${file} cve=${cve} sha_file=${sha_file} sha=${sha}"
#echo "id=${id} sha=${sha} cve=${cve}"
echo "Sending email for ${cve} for commit ${sha}"
send_email_files+=" ${file}"
done
git send-email --no-thread --to=linux-cve-announce@vger.kernel.org ${send_email_files}
good=$?
if [[ "${good}" == 0 ]]; then
echo "Emails successfully sent"
else
echo "ERROR: Something went wrong sending email ${cve}"
fi