]> Sergey Matveev's repositories - passman.git/blobdiff - passman
Lower case keys
[passman.git] / passman
diff --git a/passman b/passman
index 2ade1acdb4e388bbef662654cd29e726d7492752..0032fcba22c464c85c46f60a892c2198e38a09bc 100755 (executable)
--- a/passman
+++ b/passman
@@ -1,6 +1,6 @@
 #!/bin/sh -e
 # passman -- simple password manager
-# Copyright (C) 2013-2023 Sergey Matveev (stargrave@stargrave.org)
+# Copyright (C) 2013-2025 Sergey Matveev <stargrave@stargrave.org>
 #
 # This program is free software; you can redistribute it and/or modify
 # it under the terms of the GNU General Public License as published by
@@ -18,19 +18,21 @@ DB=${PASSMANDB:-$HOME/.passmandb}
 
 dec() {
     if [ -s $DB ] ; then
-        age -d $DB | zstd -d
+        # age -d $DB | zstd -d
+        cmenctool -p -d <$DB | zstd -d
     else
         cat <<EOF
-%rec: Credential
-%key: Name
-%mandatory: Name Passwd
-%allowed: Data
+%rec: credential
+%key: name
+%mandatory: name passwd
+%allowed: data
 EOF
     fi
 }
 
 enc() {
-    zstd | age -p
+    # zstd | age -p
+    zstd | cmenctool -p -embed
 }
 
 generator() {
@@ -42,18 +44,18 @@ cliper() {
 }
 
 tmp=`mktemp`.rec
-trap "rm -f $tmp" HUP PIPE INT QUIT TERM EXIT
+trap "rm -f $tmp ${DB}.tmp" HUP PIPE INT QUIT TERM EXIT
 
 finder() {
-    dec | recsel -e "Name ~ '$1'" > $tmp
+    dec | recsel -e "name ~ '$1'" >$tmp
     [ $(recsel -c $tmp) -eq 1 ] || {
-        recsel -C -P Name $tmp
+        recsel -C -P name $tmp
         exit 1
     }
 }
 
 commit() {
-    enc < $tmp > ${DB}.tmp
+    enc <$tmp >${DB}.tmp
     fsync ${DB}.tmp
     mv ${DB}.tmp $DB
 }
@@ -71,21 +73,21 @@ add)
     [ -n "$dst" ]
     [ -n "$passwd" ] || passwd=$(generator)
     echo ${dst}...
-    dec | recins -t Credential -f Name -v "$dst" -f Passwd -v "$passwd" > $tmp
+    dec | recins --verbose -t credential -f name -v "$dst" -f passwd -v "$passwd" >$tmp
     commit
     ;;
 mod)
-    dec > $tmp
+    dec >$tmp
     $EDITOR $tmp
     commit
     ;;
 *)
     finder "$1"
-    name=$(recsel -P Name $tmp)
+    name=$(recsel -P name $tmp)
     echo $name >&2
-    data=$(recsel -P Data $tmp)
+    data=$(recsel -P data $tmp)
     [ -z "$data" ] || echo "Associated data: $data"
-    echo -n $(recsel -P Passwd $tmp) | cliper clipboard
+    echo -n $(recsel -P passwd $tmp) | cliper clipboard
     echo -n ${name##*/} | cliper primary
     sleep 10
     echo -n | cliper clipboard