version 1.22, 2000/07/16 08:27:20 |
version 1.23, 2000/08/02 06:23:30 |
|
|
ssh_get_authentication_socket() |
ssh_get_authentication_socket() |
{ |
{ |
const char *authsocket; |
const char *authsocket; |
int sock; |
int sock, len; |
struct sockaddr_un sunaddr; |
struct sockaddr_un sunaddr; |
|
|
authsocket = getenv(SSH_AUTHSOCKET_ENV_NAME); |
authsocket = getenv(SSH_AUTHSOCKET_ENV_NAME); |
|
|
|
|
sunaddr.sun_family = AF_UNIX; |
sunaddr.sun_family = AF_UNIX; |
strlcpy(sunaddr.sun_path, authsocket, sizeof(sunaddr.sun_path)); |
strlcpy(sunaddr.sun_path, authsocket, sizeof(sunaddr.sun_path)); |
|
sunaddr.sun_len = len = SUN_LEN(&sunaddr)+1; |
|
|
sock = socket(AF_UNIX, SOCK_STREAM, 0); |
sock = socket(AF_UNIX, SOCK_STREAM, 0); |
if (sock < 0) |
if (sock < 0) |
|
|
close(sock); |
close(sock); |
return -1; |
return -1; |
} |
} |
if (connect(sock, (struct sockaddr *) & sunaddr, sizeof(sunaddr)) < 0) { |
if (connect(sock, (struct sockaddr *) & sunaddr, len) < 0) { |
close(sock); |
close(sock); |
return -1; |
return -1; |
} |
} |