Compare commits
1 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
3efb0edb61 |
@@ -13,14 +13,11 @@ set -euo pipefail
|
||||
# bash install_qube_fips_nsigner.sh --help
|
||||
#
|
||||
# Optional env vars:
|
||||
# NSIGNER_VERSION=v0.0.7
|
||||
# NSIGNER_GITEA_TOKEN=<token> # if n_signer release assets are private
|
||||
# NSIGNER_VERSION=vX.Y.Z # optional override; default is latest release tag
|
||||
# NSIGNER_GITEA_TOKEN=<token> # if n_signer release assets are private
|
||||
# NSIGNER_BINARY_URL=<direct url to nsigner_static_x86_64>
|
||||
|
||||
NSIGNER_VERSION="${NSIGNER_VERSION:-v0.0.7}"
|
||||
|
||||
NSIGNER_RELEASE_PAGE="https://git.laantungir.net/laantungir/n_signer/releases/tag/${NSIGNER_VERSION}"
|
||||
NSIGNER_API_TAG_URL="https://git.laantungir.net/api/v1/repos/laantungir/n_signer/releases/tags/${NSIGNER_VERSION}"
|
||||
NSIGNER_VERSION="${NSIGNER_VERSION:-}"
|
||||
|
||||
PREFIX_BIN="${HOME}/.local/bin"
|
||||
|
||||
@@ -40,8 +37,8 @@ Options:
|
||||
-h, --help Show this help and exit
|
||||
|
||||
Optional env vars:
|
||||
NSIGNER_VERSION=v0.0.7
|
||||
NSIGNER_GITEA_TOKEN=<token> # required if n_signer release assets are private
|
||||
NSIGNER_VERSION=vX.Y.Z # optional override; default is latest release tag
|
||||
NSIGNER_GITEA_TOKEN=<token> # required if n_signer release assets are private
|
||||
NSIGNER_BINARY_URL=<direct url to nsigner_static_x86_64>
|
||||
|
||||
Install paths:
|
||||
@@ -75,21 +72,52 @@ prepare_dirs() {
|
||||
mkdir -p "${PREFIX_BIN}"
|
||||
}
|
||||
|
||||
download_nsigner_asset_url() {
|
||||
resolve_nsigner_version() {
|
||||
local headers=()
|
||||
local latest_tag=""
|
||||
|
||||
if [[ -n "${NSIGNER_VERSION}" ]]; then
|
||||
return 0
|
||||
fi
|
||||
|
||||
if [[ -n "${NSIGNER_GITEA_TOKEN:-}" ]]; then
|
||||
headers=(-H "Authorization: token ${NSIGNER_GITEA_TOKEN}")
|
||||
fi
|
||||
|
||||
curl -fsSL "${headers[@]}" "${NSIGNER_API_TAG_URL}" \
|
||||
latest_tag="$(curl -fsSL "${headers[@]}" "https://git.laantungir.net/api/v1/repos/laantungir/n_signer/releases" \
|
||||
| jq -r '.[0].tag_name // empty' || true)"
|
||||
|
||||
if [[ -z "${latest_tag}" ]]; then
|
||||
err "Could not resolve latest n_signer release tag from API."
|
||||
err "Set NSIGNER_VERSION explicitly (e.g. NSIGNER_VERSION=v0.0.11)."
|
||||
exit 1
|
||||
fi
|
||||
|
||||
NSIGNER_VERSION="${latest_tag}"
|
||||
}
|
||||
|
||||
download_nsigner_asset_url() {
|
||||
local headers=()
|
||||
local api_tag_url="https://git.laantungir.net/api/v1/repos/laantungir/n_signer/releases/tags/${NSIGNER_VERSION}"
|
||||
|
||||
if [[ -n "${NSIGNER_GITEA_TOKEN:-}" ]]; then
|
||||
headers=(-H "Authorization: token ${NSIGNER_GITEA_TOKEN}")
|
||||
fi
|
||||
|
||||
curl -fsSL "${headers[@]}" "${api_tag_url}" \
|
||||
| jq -r '.assets[]?.browser_download_url // empty' \
|
||||
| grep -E 'nsigner_static_x86_64$' \
|
||||
| head -n1 || true
|
||||
}
|
||||
|
||||
install_nsigner() {
|
||||
local release_page=""
|
||||
|
||||
resolve_nsigner_version
|
||||
release_page="https://git.laantungir.net/laantungir/n_signer/releases/tag/${NSIGNER_VERSION}"
|
||||
|
||||
log "Installing n_signer ${NSIGNER_VERSION}"
|
||||
log "Release page: ${NSIGNER_RELEASE_PAGE}"
|
||||
log "Release page: ${release_page}"
|
||||
|
||||
local asset_url="${NSIGNER_BINARY_URL:-}"
|
||||
if [[ -z "${asset_url}" ]]; then
|
||||
|
||||
14
src/main.c
14
src/main.c
@@ -858,6 +858,7 @@ static int prompt_load_mnemonic(mnemonic_state_t *mnemonic) {
|
||||
|
||||
if (strchr(mode, ' ') != NULL && mode[0] != 'g' && mode[0] != 'G') {
|
||||
if (mnemonic_load(mnemonic, mode) == 0) {
|
||||
printf("Seed phrase is valid and accepted.\n");
|
||||
return 0;
|
||||
}
|
||||
|
||||
@@ -897,6 +898,7 @@ static int prompt_load_mnemonic(mnemonic_state_t *mnemonic) {
|
||||
return -1;
|
||||
}
|
||||
|
||||
printf("Seed phrase is valid and accepted.\n");
|
||||
memset(phrase, 0, sizeof(phrase));
|
||||
memset(phrase_copy, 0, sizeof(phrase_copy));
|
||||
return 0;
|
||||
@@ -917,6 +919,7 @@ static int prompt_load_mnemonic(mnemonic_state_t *mnemonic) {
|
||||
}
|
||||
|
||||
if (mnemonic_load(mnemonic, phrase) == 0) {
|
||||
printf("Seed phrase is valid and accepted.\n");
|
||||
memset(phrase, 0, sizeof(phrase));
|
||||
return 0;
|
||||
}
|
||||
@@ -1151,6 +1154,17 @@ int main(int argc, char *argv[]) {
|
||||
(void)signal(SIGINT, handle_signal);
|
||||
(void)signal(SIGTERM, handle_signal);
|
||||
|
||||
if (listen_mode == NSIGNER_LISTEN_UNIX) {
|
||||
printf("System is ready and waiting for connections on @%s.\n", socket_name);
|
||||
} else if (listen_mode == NSIGNER_LISTEN_TCP) {
|
||||
printf("System is ready and waiting for connections on %s.\n", listen_target);
|
||||
} else if (listen_mode == NSIGNER_LISTEN_QREXEC) {
|
||||
printf("System is ready and waiting for a qrexec request.\n");
|
||||
} else {
|
||||
printf("System is ready and waiting for a stdio request.\n");
|
||||
}
|
||||
fflush(stdout);
|
||||
|
||||
if (listen_mode == NSIGNER_LISTEN_STDIO || listen_mode == NSIGNER_LISTEN_QREXEC) {
|
||||
int hrc = server_handle_one(&server, NULL, NULL);
|
||||
server_stop(&server);
|
||||
|
||||
Reference in New Issue
Block a user