SSH/Agent: add support for named pipes on windows (for pageant)

This commit is contained in:
terrafrost 2022-11-29 05:41:57 -06:00
parent 8907a4bd5b
commit 218c7e5207

View File

@ -133,9 +133,20 @@ class Agent
}
}
$this->fsock = fsockopen('unix://' . $address, 0, $errno, $errstr);
if (!$this->fsock) {
user_error("Unable to connect to ssh-agent (Error $errno: $errstr)");
if (in_array('unix', stream_get_transports())) {
$this->fsock = fsockopen('unix://' . $address, 0, $errno, $errstr);
if (!$this->fsock) {
user_error("Unable to connect to ssh-agent (Error $errno: $errstr)");
}
} else {
if (substr($address, 0, 9) != '\\\\.\\pipe\\' || strpos(substr($address, 9), '\\') !== false) {
user_error('Address is not formatted as a named pipe should be');
} else {
$this->fsock = fopen($address, 'r+b');
if (!$this->fsock) {
user_error('Unable to open address');
}
}
}
}