diff options
-rw-r--r-- | README.md | 2 | ||||
-rwxr-xr-x | otp.bash | 6 |
2 files changed, 6 insertions, 2 deletions
@@ -195,7 +195,7 @@ URL=https://git.malte-kiefer.de/crux-ports/plain ## Requirements - `pass` 1.7.0 or later for extension support -- `oathtool` for generating 2FA codes +- `oathtool` or `Pass::OTP` for generating 2FA codes - `qrencode` for generating QR code images ### Build requirements @@ -16,8 +16,9 @@ # along with this program. If not, see <http://www.gnu.org/licenses/>. # [] -VERSION="1.1.1" +VERSION="1.1.2" OATH=$(which oathtool) +OTPTOOL=$(which otptool) ## source: https://gist.github.com/cdown/1163649 urlencode() { @@ -335,6 +336,7 @@ cmd_otp_code() { contents=$($GPG -d "${GPG_OPTS[@]}" "$passfile") while read -r -a line; do if [[ "$line" == otpauth://* ]]; then + local uri="$line" otp_parse_uri "$line" break fi @@ -348,6 +350,7 @@ cmd_otp_code() { [[ -n "$otp_period" ]] && cmd+=" --time-step-size=$otp_period"s [[ -n "$otp_digits" ]] && cmd+=" --digits=$otp_digits" cmd+=" $otp_secret" + [[ -n "$OTPTOOL" ]] && cmd="$OTPTOOL $uri" ;; hotp) @@ -355,6 +358,7 @@ cmd_otp_code() { cmd="$OATH -b --hotp --counter=$counter" [[ -n "$otp_digits" ]] && cmd+=" --digits=$otp_digits" cmd+=" $otp_secret" + [[ -n "$OTPTOOL" ]] && cmd="$OTPTOOL $uri" ;; *) |