added check for required programs. updated sdelete variable to secure_delete
This commit is contained in:
@@ -345,18 +345,27 @@ if __name__ == "__main__":
|
||||
logger = build_logger(logging.INFO)
|
||||
|
||||
if os_detected == "Windows":
|
||||
bitwarden_cli_executable = os.path.join(script_directory, "lib", "Bitwarden CLI", "bw.exe")
|
||||
gpg_executable = os.path.join(script_directory, "lib", "gpg", "bin", "gpg.exe")
|
||||
sdelete_executable = os.path.join(script_directory, "lib", "sdelete.exe")
|
||||
bitwarden_cli_executable = "bw.exe"
|
||||
gpg_executable = "gpg.exe"
|
||||
secure_delete_executable = "sdelete.exe"
|
||||
elif os_detected == "Linux":
|
||||
bitwarden_cli_executable = "bw"
|
||||
gpg_executable = "gpg"
|
||||
secure_delete_executable = "srm"
|
||||
#elif os_detected == "macOS":
|
||||
# bitwarden_cli_executable = os.path.join(script_directory, "lib", "Bitwarden CLI", "bw_macOS")
|
||||
else:
|
||||
print("Your OS is not supported. Only Windows, Linux, and macOS are supported. Those are the only three supported OSes for the Bitwarden CLI.")
|
||||
print("Detected OS: {0}".format(os_detected))
|
||||
sys.exit(1)
|
||||
|
||||
# check if required programs are installed
|
||||
if not shutil.which(bitwarden_cli_executable):
|
||||
print("Bitwarden CLI ({}) cannot be found. Please make sure it is installed and executable.".format(bitwarden_cli_executable))
|
||||
elif not shutil.which(gpg_executable):
|
||||
print("GPG ({}) cannot be found. Please make sure it is installed and executable.".format(gpg_executable))
|
||||
elif not shutil.which(secure_delete_executable):
|
||||
print("SRM/sdelete.exe ({}) cannot be found. Please make sure it is installed and executable.".format(secure_delete_executable))
|
||||
|
||||
client = client.ProxyKmipClient(config_file=pykmip_client_config_file)
|
||||
client.open()
|
||||
@@ -514,14 +523,14 @@ if __name__ == "__main__":
|
||||
logger.info("Securely deleting files")
|
||||
if os_detected == "Windows":
|
||||
# sdelete.exe .\working\ -p 5 -s
|
||||
logger.debug((subprocess.run([sdelete_executable, '-p', '5', '-s', working_directory], capture_output=True).stdout).decode())
|
||||
logger.debug((subprocess.run([secure_delete_executable, '-p', '5', '-s', working_directory], capture_output=True).stdout).decode())
|
||||
if not opts.no_encrypt:
|
||||
logger.debug((subprocess.run([sdelete_executable, '-p', '5', zip_filename + ".zip"], capture_output=True).stdout).decode())
|
||||
logger.debug((subprocess.run([secure_delete_executable, '-p', '5', zip_filename + ".zip"], capture_output=True).stdout).decode())
|
||||
elif os_detected == "Linux":
|
||||
# find <directory> -depth -type f -exec shred -v -n 1 -z -u {} \;
|
||||
logger.debug((subprocess.run(['srm', '-r', '-z', '-v', working_directory], capture_output=True).stdout).decode())
|
||||
logger.debug((subprocess.run([secure_delete_executable, '-r', '-z', '-v', working_directory], capture_output=True).stdout).decode())
|
||||
if not opts.no_encrypt:
|
||||
logger.debug((subprocess.run(['srm', '-r', '-z', '-v', zip_filename + '.zip'], capture_output=True).stdout).decode())
|
||||
logger.debug((subprocess.run([secure_delete_executable, '-r', '-z', '-v', zip_filename + '.zip'], capture_output=True).stdout).decode())
|
||||
|
||||
del vault_password
|
||||
del os.environ['BW_CLIENTID']
|
||||
|
||||
Reference in New Issue
Block a user