]> git.ipfire.org Git - thirdparty/libvirt.git/commitdiff
virnetsocket: pass HOME and XDG_RUNTIME_DIR to ssh
authorДамјан Георгиевски <gdamjan@gmail.com>
Tue, 2 Nov 2021 15:01:03 +0000 (16:01 +0100)
committerMichal Privoznik <mprivozn@redhat.com>
Tue, 9 Nov 2021 15:39:13 +0000 (16:39 +0100)
openssh supports environment variable expansion in its ssh_config
file[1]. These two environment variables can be used to
expand paths for ssh sockets and other files.

Ex.
```
Host *
 ControlMaster auto
 ControlPath ${XDG_RUNTIME_DIR}/ssh-%C.ctl
 IdentityAgent ${XDG_RUNTIME_DIR}/ssh-agent.socket
```

see also:
[1] https://man7.org/linux/man-pages/man5/ssh_config.5.html#ENVIRONMENT_VARIABLES
[2] https://gitlab.com/libvirt/libvirt/-/issues/232

Signed-off-by: Дамјан Георгиевски <gdamjan@gmail.com>
Signed-off-by: Michal Privoznik <mprivozn@redhat.com>
Reviewed-by: Michal Privoznik <mprivozn@redhat.com>
src/rpc/virnetsocket.c

index 943406cd6489c252c18fffc6aef49951ffd76693..51cab4f80c71e331b6442be9dab14d713cfb13e4 100644 (file)
@@ -852,6 +852,7 @@ int virNetSocketNewConnectSSH(const char *nodename,
 
     cmd = virCommandNew(binary ? binary : "ssh");
     virCommandAddEnvPassCommon(cmd);
+    virCommandAddEnvPass(cmd, "XDG_RUNTIME_DIR");
     virCommandAddEnvPass(cmd, "KRB5CCNAME");
     virCommandAddEnvPass(cmd, "SSH_AUTH_SOCK");
     virCommandAddEnvPass(cmd, "SSH_ASKPASS");