## gpg forwarding
if [[ -d $_sev_gpg_forward_dir && ( -z $1 || $1 == 'gpg-forward' ) ]] {
# clean up forward dirs if its session is dead or we ask for it
- find $_sev_gpg_forward_dir -type d -mindepth 1 -maxdepth 1 |
+ find $_sev_gpg_forward_dir -mindepth 1 -maxdepth 1 -type d |
while {read -r x} {
# NOTE: the only way we can get here is if we have not been
# forwarded before, if the user asks for it, or during
# NOTE: XDG dirs that use our tmp are not unset here, they are in zlogout
if [[ -d $_sev_tmp && ( -z $1 || $1 == 'tmp' ) ]] {
# clean up tmp dirs if its session is dead or we ask for it
- find $_sev_tmp -name '.session.*' -type d -mindepth 1 -maxdepth 1 |
+ find $_sev_tmp -mindepth 1 -maxdepth 1 -name '.session.*' -type d |
while {read -r x} {
# NOTE: same rationale as above
p=${$(basename $x)#.session.}
typeset -U path fpath
# add as many generic paths as possible to keep the order we want
# NOTE: /usr/{local,pkg,games} are unix/bsdisms
+ # XXX: PREFIX not validated, non-posix but Termux uses it
syspath=("$path[@]")
- path=({~,~/.local,,/usr,/opt,/usr/local,/usr/pkg}/sbin
- {~,~/.local,,/usr,/opt,/usr/local,/usr/pkg}/bin
- /usr/X11R{7,6}/bin /usr/games)
+ path=({~,~/.local,{$PREFIX,}{,/opt,/usr{,/local,pkg}}}/sbin
+ {~,~/.local,{$PREFIX,}{,/opt,/usr{,/local,pkg}}}/bin
+ /usr/{X11R{7,6}/bin,games})
((len=$#path))
path=("$path[@]" "$syspath[@]")
# remove nonexistent and duplicate paths
h=$_sev_gpg_forward_dir/$$
mkdir -pm700 $h
# XXX: is it safe to link scdaemon socket? can its name be changed?
- for x (S.scdaemon gpg.conf gpg-agent.conf sshcontrol
- pubring.kbx trustdb.gpg private-keys-v1.d crls.d) {
+ for x (S.scdaemon gpg.conf gpg-agent.conf sshcontrol random_seed
+ pubring.kbx{,~} trustdb.gpg private-keys-v1.d crls.d) {
ln -s ${GNUPGHOME:-~/.gnupg}/$x $h
}
export GNUPGHOME=$h