@@ -125,34 +125,33 @@ if ! [ -v XDG_RUNTIME_DIR ]; then
125
125
fi
126
126
fi
127
127
128
- # setup ssh-agent
129
- # only setup ssh agent if not previosly set
130
- if [ -v SSH_AUTH_SOCK ]; then
131
- if [ -S " $XDG_RUNTIME_DIR /gnupg/S.gpg-agent.ssh" ]; then
132
- SSH_AUTH_SOCK=$XDG_RUNTIME_DIR /gnupg/S.gpg-agent.ssh
133
- export SSH_AUTH_SOCK
134
- fi
128
+ # setup ssh socket
129
+ if $WSL ; then
130
+ # forward ssh socket to Windows
131
+ export SSH_AUTH_SOCK=" $XDG_RUNTIME_DIR /gnupg/ssh.sock"
135
132
else
136
- SSH_DIR=$XDG_RUNTIME_DIR /gnupg
137
- if ! [ -d " $SSH_DIR " ]; then
138
- mkdir -p " $SSH_DIR "
139
- chmod 700 " $SSH_DIR "
140
- fi
141
- SSH_AUTH_SOCK=" $SSH_DIR " /ssh.sock
142
- if [ -S " $SSH_AUTH_SOCK " ]; then
143
- export SSH_AUTH_SOCK
144
- if [ -f " $HOME /.ssh/ssh_pid" ]; then
145
- SSH_AGENT_PID=" ` cat " $HOME " /.ssh/ssh_pid` "
146
- export SSH_AGENT_PID
147
- fi
148
- else
149
- eval " ` ssh-agent -s -a " $SSH_AUTH_SOCK " ` " > /dev/null
150
- if ! [ -d " $HOME " /.ssh ]; then
151
- mkdir -p " $HOME /.ssh"
152
- chmod 700 " $HOME /.ssh"
133
+ if [ -S " $XDG_RUNTIME_DIR /gnupg/S.gpg-agent.ssh" ]; then
134
+ # forward ssh socket to gpg
135
+ export SSH_AUTH_SOCK=" $XDG_RUNTIME_DIR /gnupg/S.gpg-agent.ssh"
136
+ elif ! [ -v SSH_AUTH_SOCK ]; then
137
+ PID_FILE=" $HOME /.ssh/ssh_pid"
138
+ SSH_AUTH_SOCK=" $HOME /.ssh/ssh.sock"
139
+ if [ -S " $SSH_AUTH_SOCK " ]; then
140
+ # use existing ssh-agent
141
+ export SSH_AUTH_SOCK
142
+ if [ -f " $PID_FILE " ]; then
143
+ SSH_AGENT_PID=" ` cat " $PID_FILE " ` "
144
+ export SSH_AGENT_PID
145
+ fi
146
+ else
147
+ # start a new ssh-agent
148
+ if ! [ -d " $HOME " /.ssh ]; then
149
+ mkdir -p " $HOME /.ssh"
150
+ chmod 700 " $HOME /.ssh"
151
+ fi
152
+ eval " ` ssh-agent -s -a " $SSH_AUTH_SOCK " ` " > /dev/null
153
+ echo " $SSH_AGENT_PID " > " $PID_FILE "
153
154
fi
154
- echo " $SSH_AGENT_PID " > " $HOME /.ssh/ssh_pid"
155
155
fi
156
156
fi
157
157
158
- # export SYSTEMD_LESS=FRSMK
0 commit comments