fix(bkgpslog):Actually add recipient watch dir check
[EVA-2020-02.git] / exec / bkgpslog
index 6739f0123f4e376eeb8144ffde41118a140acb1d..bc58c45ac2fab7db06d8919bcc9f061fd9a61349 100755 (executable)
@@ -14,7 +14,7 @@ DIR_TMP_DEFAULT="/dev/shm"; # Default parent of working directory
 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="0.3.10";          # Define version of script.
+SCRIPT_VERSION="0.4.1";          # 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)
@@ -975,7 +975,7 @@ magicGatherWriteBuffer() {
 } # write buffer to disk
 magicParseRecipientDir() {
     # Desc: Updates recPubKeysValid with pubkeys in dir specified by '-R' option ("recipient directory")
-    # Inputs:  vars: OPTION_RECDIR, argRecDir, OPTION_ENCRYPTION
+    # Inputs:  vars: OPTION_RECDIR, argRecDir, OPTION_ENCRYPT
     #          arry: recPubKeysValid
     # Outputs: arry: recPubKeysValid
     # Depends: processArguments,
@@ -983,10 +983,10 @@ magicParseRecipientDir() {
     declare -a candRecPubKeysValid
 
     # Check that '-e' and '-R' set
-    if [[ "$OPTION_ENCRYPTION" = "true" ]] && [[ "$OPTION_RECDIR" = "true" ]]; then
+    if [[ "$OPTION_ENCRYPT" = "true" ]] && [[ "$OPTION_RECDIR" = "true" ]]; then
        ### Check that argRecDir is a directory.
        if [[ -d "$argRecDir" ]]; then
-           recipientDir="$argRecDir";
+           recipientDir="$argRecDir" && vbm "STATUS:Recipient watch directory detected:\"$recipientDir\"";
            #### Initialize variable indicating outcome of pubkey review
            unset updateRecipients
            #### Add existing recipients
@@ -994,12 +994,12 @@ magicParseRecipientDir() {
            #### Parse files in recipientDir
            for file in "$recipientDir"/*; do
                ##### Read first line of each file
-               recFileLine="$(head -n1 "$file")";
+               recFileLine="$(head -n1 "$file")" && vbm "STATUS:Checking if pubkey:\"$recFileLine\"";
                ##### check if first line is a valid pubkey
                if checkAgePubkey "$recFileLine" && \
                        ( validateInput "$recFileLine" "ssh_pubkey" || validateInput "$recFileLine" "age_pubkey"); then
                    ###### T: add candidate pubkey to candRecPubKeysValid
-                   candRecPubKeysValid+=("$recFileLine");
+                   candRecPubKeysValid+=("$recFileLine") && vbm "STATUS:RecDir pubkey is valid pubkey:\"$recFileLine\"";
                else
                    ###### F: throw warning;
                    yell "ERROR:Invalid recipient file detected. Not modifying recipient list."
@@ -1008,17 +1008,17 @@ magicParseRecipientDir() {
            done
            #### Write updated recPubKeysValid array to recPubKeysValid if no failure detected
            if ! [[ "$updateRecipients" = "false" ]]; then
-               recPubKeysValid=("${candRecPubKeysValid[@]}");
+               recPubKeysValid=("${candRecPubKeysValid[@]}") && vbm "STATUS:Wrote candRecPubkeysValid to recPubKeysValid:\"${recPubKeysValid[@]}\"";
            fi;
        else
            yell "ERROR:$0:Recipient directory $argRecDir does not exist. Exiting."; exit 1;
        fi;
     fi;
     # Handle case if '-e' set but '-R' not set
-    if [[ "$OPTION_ENCRYPTION" = "true" ]] && [[ ! "$OPTION_RECDIR" = "true" ]]; then
+    if [[ "$OPTION_ENCRYPT" = "true" ]] && [[ ! "$OPTION_RECDIR" = "true" ]]; then
        yell "ERROR: \\'-e\\' set but \\'-R\\' is not set."; fi;
     # Handle case if '-R' set but '-e' not set
-    if [[ ! "$OPTION_ENCRYPTION" = "true" ]] && [[ "$OPTION_RECDIR" = "true" ]]; then
+    if [[ ! "$OPTION_ENCRYPT" = "true" ]] && [[ "$OPTION_RECDIR" = "true" ]]; then
        yell "ERROR: \\'-R\\' is set but \\'-e\\' is not set."; fi;
 } # Update recPubKeysValid with argRecDir
 magicParseRecipientArgs() {
@@ -1201,6 +1201,7 @@ main() {
 
     # MAIN LOOP:Record gps data until script lifespan ends
     while [[ "$SECONDS" -lt "$SCRIPT_TTL" ]]; do
+       magicParseRecipientDir
        magicGatherWriteBuffer &
        sleep "$BUFFER_TTL";
     done