Dropped xxd as it's not working properly on MacOS
This commit is contained in:
parent
85c9c3bea3
commit
e388f91068
@ -12,11 +12,6 @@ if [ $? -ne 0 ]; then
|
|||||||
return 1
|
return 1
|
||||||
fi
|
fi
|
||||||
|
|
||||||
if [ -z `which xxd` ]; then
|
|
||||||
echo "xxd is required" >&2
|
|
||||||
return 1
|
|
||||||
fi
|
|
||||||
|
|
||||||
_AUTH_DB=$RBASH_HOME/keystore.db
|
_AUTH_DB=$RBASH_HOME/keystore.db
|
||||||
_AUTH_SECRET=
|
_AUTH_SECRET=
|
||||||
_KSTORE_DEF_PROP=${_KSTORE_DEF_PROP:-val}
|
_KSTORE_DEF_PROP=${_KSTORE_DEF_PROP:-val}
|
||||||
@ -36,8 +31,8 @@ function kstore {
|
|||||||
search) shift; kstore-search $@ ;;
|
search) shift; kstore-search $@ ;;
|
||||||
secret) shift; kstore-secret $@ ;;
|
secret) shift; kstore-secret $@ ;;
|
||||||
*)
|
*)
|
||||||
__func_head "add key value [prop, default: $_KSTORE_DEF_PROP]"
|
__func_head "add key value|file|- [prop, default: $_KSTORE_DEF_PROP]"
|
||||||
__func_help "update key value [prop, default: $_KSTORE_DEF_PROP]"
|
__func_help "update key value|file|- [prop, default: $_KSTORE_DEF_PROP]"
|
||||||
__func_help "get key [prop, default: $_KSTORE_DEF_PROP]"
|
__func_help "get key [prop, default: $_KSTORE_DEF_PROP]"
|
||||||
__func_help "list"
|
__func_help "list"
|
||||||
__func_help "del key"
|
__func_help "del key"
|
||||||
@ -65,7 +60,7 @@ function kstore-init {
|
|||||||
CREATE TABLE IF NOT EXISTS store (
|
CREATE TABLE IF NOT EXISTS store (
|
||||||
key TEXT UNIQUE NOT NULL
|
key TEXT UNIQUE NOT NULL
|
||||||
, prop TEXT NOT NULL
|
, prop TEXT NOT NULL
|
||||||
, data BLOB
|
, data TEXT
|
||||||
, PRIMARY KEY( key ASC, prop ASC )
|
, PRIMARY KEY( key ASC, prop ASC )
|
||||||
);
|
);
|
||||||
___SQL___
|
___SQL___
|
||||||
@ -82,7 +77,13 @@ function kstore-enc {
|
|||||||
return 1
|
return 1
|
||||||
fi
|
fi
|
||||||
|
|
||||||
openssl enc -e -aes-256-cbc -pbkdf2 -k "$_AUTH_SECRET" | xxd -p | tr -d "\n"
|
if [ "$1" == "-" ]; then
|
||||||
|
openssl enc -e -aes-256-cbc -pbkdf2 -k "$_AUTH_SECRET" -a -A
|
||||||
|
elif [ -f "$1" ]; then
|
||||||
|
openssl enc -e -aes-256-cbc -pbkdf2 -k "$_AUTH_SECRET" -a -A -in "$1"
|
||||||
|
else
|
||||||
|
echo -n "$1" | openssl enc -e -aes-256-cbc -pbkdf2 -k "$_AUTH_SECRET" -a -A
|
||||||
|
fi
|
||||||
}
|
}
|
||||||
|
|
||||||
function kstore-dec {
|
function kstore-dec {
|
||||||
@ -91,7 +92,7 @@ function kstore-dec {
|
|||||||
return 1
|
return 1
|
||||||
fi
|
fi
|
||||||
|
|
||||||
openssl enc -d -aes-256-cbc -pbkdf2 -k "$_AUTH_SECRET"
|
openssl enc -d -aes-256-cbc -pbkdf2 -k "$_AUTH_SECRET" -a -A
|
||||||
}
|
}
|
||||||
|
|
||||||
function kstore-secret-macos {
|
function kstore-secret-macos {
|
||||||
@ -162,7 +163,7 @@ function kstore-update {
|
|||||||
kstore-init || return 1
|
kstore-init || return 1
|
||||||
local _key _val _prop
|
local _key _val _prop
|
||||||
_key=`kstore-quote "$1"`
|
_key=`kstore-quote "$1"`
|
||||||
_val=`echo -n "$2" | kstore-enc`
|
_val=`kstore-enc "$2"`
|
||||||
_val=`kstore-quote "$_val"`
|
_val=`kstore-quote "$_val"`
|
||||||
_prop=`kstore-quote "${3:-$_KSTORE_DEF_PROP}"`
|
_prop=`kstore-quote "${3:-$_KSTORE_DEF_PROP}"`
|
||||||
_cond="key = '$_key' AND prop = '$_prop'"
|
_cond="key = '$_key' AND prop = '$_prop'"
|
||||||
@ -173,12 +174,12 @@ function kstore-add {
|
|||||||
kstore-init || return 1
|
kstore-init || return 1
|
||||||
local _key _val _prop
|
local _key _val _prop
|
||||||
_key=`kstore-quote "$1"`
|
_key=`kstore-quote "$1"`
|
||||||
_val=`echo -n "$2" | kstore-enc`
|
_val=`kstore-enc "$2"`
|
||||||
_val=`kstore-quote "$_val"`
|
_val=`kstore-quote "$_val"`
|
||||||
_prop=`kstore-quote "${3:-$_KSTORE_DEF_PROP}"`
|
_prop=`kstore-quote "${3:-$_KSTORE_DEF_PROP}"`
|
||||||
sqlite3 "$_AUTH_DB" \
|
sqlite3 "$_AUTH_DB" \
|
||||||
"INSERT INTO store ( key, prop, data )
|
"INSERT INTO store ( key, prop, data )
|
||||||
VALUES( '$_key', '$_prop', X'$_val' );"
|
VALUES( '$_key', '$_prop', '$_val' );"
|
||||||
}
|
}
|
||||||
|
|
||||||
function kstore-get {
|
function kstore-get {
|
||||||
@ -188,7 +189,12 @@ function kstore-get {
|
|||||||
_prop=`kstore-quote "${2:-$_KSTORE_DEF_PROP}"`
|
_prop=`kstore-quote "${2:-$_KSTORE_DEF_PROP}"`
|
||||||
_cond="key = '$_key' AND prop = '$_prop'"
|
_cond="key = '$_key' AND prop = '$_prop'"
|
||||||
|
|
||||||
echo -n "`$_SQLITE -list "$_AUTH_DB" "SELECT ( data ) FROM store WHERE $_cond;"`" | kstore-dec
|
sqlite3 "$_AUTH_DB" "SELECT 1111 FROM store WHERE $_cond;" | grep -q 1111
|
||||||
|
if [ $? -eq 0 ]; then
|
||||||
|
$_SQLITE -list "$_AUTH_DB" "SELECT ( data ) FROM store WHERE $_cond;" | kstore-dec
|
||||||
|
else
|
||||||
|
echo "\"$1\" not found" >&2
|
||||||
|
fi
|
||||||
}
|
}
|
||||||
|
|
||||||
function kstore-del {
|
function kstore-del {
|
||||||
@ -213,7 +219,7 @@ function kstore-del {
|
|||||||
echo "action canceled"
|
echo "action canceled"
|
||||||
fi
|
fi
|
||||||
else
|
else
|
||||||
echo "$1 not found"
|
echo "\"$1\" not found" >&2
|
||||||
fi
|
fi
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user