From a275d2fd8b96495dda3627f1387ed29c21027a5f Mon Sep 17 00:00:00 2001 From: Q Date: Thu, 27 Jun 2024 19:52:22 +0300 Subject: [PATCH] testing interaction between gpg and qgpg --- Bakefile | 39 +++++++++++++++++++++++++++++++++++++++ qgpg/__init__.py | 5 +---- 2 files changed, 40 insertions(+), 4 deletions(-) diff --git a/Bakefile b/Bakefile index 2c7cd5e..2f6d567 100644 --- a/Bakefile +++ b/Bakefile @@ -58,6 +58,45 @@ test_decrypt() { } +test_gpg() { + cd ~/tmp/ + . useve-runner + useve qgpg + set -e + mkdir -p ./gpghomedir + chmod 700 ./gpghomedir + # Simulate user creating keys with GPG, and person with qGPG encrypts for them. + @ gpg --homedir ./gpghomedir -K + cat < key-for-collaborator.pub + @ qgpg -e --force --key key-for-collaborator.pub key-for-collaborator.pub key-for-collaborator.pub.gpg + echo abc | @ gpg --homedir ./gpghomedir --pinentry-mode loopback --batch --yes --passphrase-fd 0 -d -o key-for-collaborator.pub.2 key-for-collaborator.pub.gpg + @ diff key-for-collaborator.pub key-for-collaborator.pub.2 + @ rm -rf ./gpghomedir + # Simulate person creating keys with qGPG, while someone else with GPG encrypts for them + GPGPASS=abc.2 @ qgpg -k --force --key qgpg.user --name qgpg@user + mkdir -p ./gpghomedir + chmod 700 ./gpghomedir + @ gpg --homedir ./gpghomedir --import qgpg.user.pub + @ gpg --homedir ./gpghomedir -e --trust-model always --yes -r qgpg@user -o qgpg.user.pub.gpg qgpg.user.pub + GPGPASS=abc.2 @ qgpg -d --force --key qgpg.user qgpg.user.pub.gpg qgpg.user.pub.2 + @ diff qgpg.user.pub qgpg.user.pub.2 + @ rm -rf ./gpghomedir + @ sha1sum * +} + install_without_tools() { python3 -m venv .local/share/qgpg .local/share/qgpg/bin/pip install -U pip https://six9.net/py/qgpg/qgpg-1.0.tar.gz diff --git a/qgpg/__init__.py b/qgpg/__init__.py index cf24fa9..c88d59f 100644 --- a/qgpg/__init__.py +++ b/qgpg/__init__.py @@ -180,7 +180,7 @@ Usage misc_grp = parser.add_argument_group("Misc", "Other options") misc_grp.add_argument("--width", help="Console width in characters. Defaults to auto detect.") misc_grp.add_argument("--no-progress", help="Disable progress meter.", default=False, action="store_true") - misc_grp.add_argument("--version", help="Display version and exit", default=False, action="store_true") + misc_grp.add_argument("--version", help="Display version and exit", action="version", version=__version__) misc_grp.add_argument("--help", "-h", action="help", help="Show this help message and exit") crypt_grp.add_argument("path", help="Path to source file to encrypt/decrypt, or folder if recursive", nargs="?") @@ -191,9 +191,6 @@ Usage ) parsed = parser.parse_args() - if parsed.version: - print(__version__) - sys.exit(0) for cmd in zip(("keygen", "encrypt", "decrypt"), (parsed.keygen, parsed.encrypt, parsed.decrypt)): if cmd[1]: parsed.command = cmd[0]