/
githubmirror
/
gpgme
Обзор
Документация
Войти
/
githubmirror
/
gpgme
Код
Запросы
0
Пакеты
0
Релизы
0
Аналитика
Безопасность
master
tests/start-stop-agent
60 строк
2 KB
NIIBE Yutaka
w32:tests: Fix Makefiles and start-stop-agent for EXEEXT.
14 май 2026, 11:39
Не верифицирован
14 май 2026, 11:39
1291cfe
Код
Авторство
О чём код?
#!/bin/sh # Copyright (C) 2013 g10 Code GmbH # # This file is free software; as a special exception the author gives # unlimited permission to copy and/or distribute it, with or without # modifications, as long as this notice is preserved. This file is # distributed in the hope that it will be useful, but WITHOUT ANY # WARRANTY, to the extent permitted by law; without even the implied # warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. if [ -z "$(command -v gpg-connect-agent$EXEEXT)" ]; then echo "gpg-agent not installed and thus not started" >&2 exit 0; fi GPG_AGENT_INFO= export GPG_AGENT_INFO GPG_AGENT=$(which gpg-agent$EXEEXT) token=$(echo "gpgme-$(pwd)" | tr ' ' '_') if [ "$1" = "--stop" ]; then RES=$(gpg-connect-agent$EXEEXT --no-autostart "getval $token" /bye 2>/dev/null | tr -d '\r' | head -1) if [ "$RES" != "D set" ]; then echo "gpg-agent not running" >&2 exit 0 fi echo "stopping gpg-agent " >&2 gpg-connect-agent$EXEEXT KILLAGENT /bye >/dev/null 2>&1 exit 0 fi RES=$(gpg-connect-agent$EXEEXT --no-autostart "getval $token" /bye 2>/dev/null | tr -d '\r' | head -1) if [ "$RES" = "D set" ]; then echo "gpg-agent already running" >&2 exit 0 fi echo "starting gpg-agent.." >&2 # GnuPG prior to 2.1.12 needs --allow-loopback-pinentry for the # loopback entry to work. Old versions do not understand this though, # so we need to be careful. if "$GPG_AGENT" --gpgconf-test --allow-loopback-pinentry && test -f "$GNUPGHOME/gpg-agent.conf" && ! grep -q allow-loopback-pinentry "$GNUPGHOME/gpg-agent.conf"; then echo allow-loopback-pinentry >> "$GNUPGHOME/gpg-agent.conf" fi gpg-connect-agent$EXEEXT --agent-program="${GPG_AGENT}|--debug-quick-random" "putval $token set" /bye if [ $? -ne 0 ]; then echo "error starting gpg-agent" >&2 exit 1 fi RES=$(gpg-connect-agent$EXEEXT "getval $token" /bye 2>/dev/null | tr -d '\r' | head -1) if [ "$RES" != "D set" ]; then echo "error starting gpg-agent" >&2 exit 1 fi exit 0