From e7862d6a8e15d050ea9ecadd177e3111121819ff Mon Sep 17 00:00:00 2001 From: Jeremy Brubaker Date: Fri, 10 Jun 2022 09:51:32 -0400 Subject: % escape $, CR and LF per Assuan spec --- anypinentry | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/anypinentry b/anypinentry index 0742281..bad8057 100755 --- a/anypinentry +++ b/anypinentry @@ -84,7 +84,13 @@ password_prompt() { show_error "$error__password_mismatch"; password_prompt "$repeat"; else - [ -n "$pass" ] && echo "D $pass"; + if [ ! -z "$pass" ]; then + echo "D $pass" | + sed 's/%/%25/; s/\r/%0D/' | # % = 25 and CR = %0D + awk 'BEGIN {ORS="%0A"} /^..*$/ {print}' | # LF = %0A + sed 's/%0A$//' # Strip trailing %0A + echo + fi echo "OK"; fi; fi; -- cgit v1.3.1