SCRIPT_TIME_START=$(date +%Y%m%dT%H%M%S.%N);
PATH="$HOME/.local/bin:$PATH"; # Add "$(systemd-path user-binaries)" path in case apps saved there
SCRIPT_HOSTNAME=$(hostname); # Save hostname of system running this script.
-SCRIPT_VERSION="bkgpslog 0.2.0"; # Define version of script.
-SCRIPT_NAME="$(basename "$0")"; # Define basename of script file.
+SCRIPT_VERSION="0.2.2"; # Define version of script.
+SCRIPT_NAME="bkgpslog"; # Define basename of script file.
+SCRIPT_URL="https://gitlab.com/baltakatei/ninfacyzga-01"; # Define wesite hosting this script.
+AGE_VERSION="1.0.0-beta2"; # Define version of age (encryption program)
+AGE_URL="https://github.com/FiloSottile/age/releases/tag/v1.0.0-beta2"; # Define website hosting age.
declare -Ag appRollCall # Associative array for storing app status
declare -Ag fileRollCall # Associative array for storing file status
magicWriteVersion() {
# Desc: Appends time-stamped VERSION to PATHOUT_TAR
# Usage: magicWriteVersion
+ # Version: 0.1.0
# Input: CONTENT_VERSION, FILEOUT_VERSION, PATHOUT_TAR, DIR_TMP
+ # Input: SCRIPT_VERSION, SCRIPT_URL, AGE_VERSION, AGE_URL, SCRIPT_HOSTNAME
+ # Output: appends tar PATHOUT_TAR
# Depends: dateTimeShort, appendArgTar
- local CONTENT_VERSION
+ local CONTENT_VERSION pubKeyIndex
- # Generate VERSION file in BashVar
+ # Set VERSION file name
FILEOUT_VERSION="$(dateTimeShort)..VERSION";
- CONTENT_VERSION="VERSION=$SCRIPT_VERSION";
- CONTENT_VERSION="$CONTENT_VERSION""\n""SCRIPT_NAME=SCRIPT_NAME";
+
+ # Gather VERSION data in CONTENT_VERSION
+ CONTENT_VERSION="SCRIPT_VERSION=$SCRIPT_VERSION";
+ #CONTENT_VERSION="$CONTENT_VERSION""\n";
+ CONTENT_VERSION="$CONTENT_VERSION""\n""SCRIPT_NAME=$SCRIPT_NAME";
+ CONTENT_VERSION="$CONTENT_VERSION""\n""SCRIPT_URL=$SCRIPT_URL";
+ CONTENT_VERSION="$CONTENT_VERSION""\n""AGE_VERSION=$AGE_VERSION";
+ CONTENT_VERSION="$CONTENT_VERSION""\n""AGE_URL=$AGE_URL";
CONTENT_VERSION="$CONTENT_VERSION""\n""DATE=$(date --iso-8601=seconds)";
CONTENT_VERSION="$CONTENT_VERSION""\n""HOSTNAME=$SCRIPT_HOSTNAME";
+ ## Add list of recipient pubkeys
+ for pubkey in "${recPubKeysValid[@]}"; do
+ ((pubKeyIndex++))
+ CONTENT_VERSION="$CONTENT_VERSION""\n""PUBKEY_$pubKeyIndex=$pubkey";
+ done
+ ## Process newline escapes
CONTENT_VERSION="$(echo -e "$CONTENT_VERSION")"
- # Create BashVar as file FILEOUT_VERSION and write-append to PATHOUT_TAR
+ # Write CONTENT_VERSION as file FILEOUT_VERSION and write-append to PATHOUT_TAR
appendArgTar "$CONTENT_VERSION" "$FILEOUT_VERSION" "$PATHOUT_TAR" "$DIR_TMP";
+
} # bkgpslog: write version data to PATHOUT_TAR via appendArgTar()
magicWriteBuffer() {
# Desc: bkgpslog-specific meta function for writing data to DIR_TMP then appending each file to PATHOUT_TAR
for pubkey in "${recPubKeys[@]}"; do # Validate recipient pubkey strings by forming test message
vbm "DEBUG:Testing pubkey string:$pubkey"
if echo "butts" | age -a -r "$pubkey" 1>/dev/null; then
- # Form age recipient string
+ #### Form age recipient string
recipients="$recipients""-r $pubkey ";
vbm "STATUS:Added pubkey for forming age recipient string:""$pubkey";
vbm "DEBUG:recipients:""$recipients";
+ #### Add validated pubkey to recPubKeysValid array
+ recPubKeysValid+=("$pubkey") && vbm "DEBUG:recPubkeysValid:pubkey added:$pubkey";
else
yell "ERROR:Exit code ""$?"". Invalid recipient pubkey string. Exiting."; exit 1;
fi
done
vbm "DEBUG:Finished processing recPubKeys array";
- # Form age command string
+
+ ## Form age command string
CMD_ENCRYPT="age ""$recipients ";
CMD_ENCRYPT_SUFFIX=".age";
else