From 9ac72cd66f853f688c32cb957a368b4fefef91c0 Mon Sep 17 00:00:00 2001 From: vlkrs Date: Sun, 1 Jan 2023 15:15:06 +0100 Subject: [PATCH] Add recommendations for {Open,Free}BSD when pcscd isn't running. --- i18n/en-US/age_plugin_yubikey.ftl | 6 ++++++ src/error.rs | 24 ++++++++++++++++++++++++ 2 files changed, 30 insertions(+) diff --git a/i18n/en-US/age_plugin_yubikey.ftl b/i18n/en-US/age_plugin_yubikey.ftl index 2ec1d7a..d3403be 100644 --- a/i18n/en-US/age_plugin_yubikey.ftl +++ b/i18n/en-US/age_plugin_yubikey.ftl @@ -204,6 +204,12 @@ rec-yk-no-service-pcscd = If you are on Debian or Ubuntu, you can install it with: {" "}{$apt} +rec-yk-no-service-pcscd-bsd = + You can install and run it as root with: + {" "}{$pkg} + {" "}{$service_enable} + {" "}{$service_start} + err-yk-no-service-win = The Smart Cards for Windows service is not running. rec-yk-no-service-win = See this troubleshooting guide for more help: diff --git a/src/error.rs b/src/error.rs index 5b4372c..02981e6 100644 --- a/src/error.rs +++ b/src/error.rs @@ -107,6 +107,30 @@ impl fmt::Debug for Error { wlnfl!(f, "err-yk-no-service-macos")?; let url = "https://apple.stackexchange.com/a/438198"; wlnfl!(f, "rec-yk-no-service-macos", url = url)?; + } else if cfg!(target_os = "openbsd") { + wlnfl!(f, "err-yk-no-service-pcscd")?; + let pkg = "pkg_add pcsc-lite"; + let service_enable = "rcctl enable pcscd"; + let service_start = "rcctl start pcscd"; + wlnfl!( + f, + "rec-yk-no-service-pcscd-bsd", + pkg = pkg, + service_enable = service_enable, + service_start = service_start + )?; + } else if cfg!(target_os = "freebsd") { + wlnfl!(f, "err-yk-no-service-pcscd")?; + let pkg = "pkg install pcsc-lite"; + let service_enable = "service pcscd enable"; + let service_start = "service pcscd start"; + wlnfl!( + f, + "rec-yk-no-service-pcscd-bsd", + pkg = pkg, + service_enable = service_enable, + service_start = service_start + )?; } else { wlnfl!(f, "err-yk-no-service-pcscd")?; let apt = "sudo apt-get install pcscd";