[openssh-commits] [openssh] 01/02: ssh: optional bind interface if bind address specified.

git+noreply at mindrot.org git+noreply at mindrot.org
Fri Feb 26 15:46:53 AEDT 2021


This is an automated email from the git hooks/post-receive script.

djm pushed a commit to branch master
in repository openssh.

commit 5a878a71a3528c2626aa1d331934fd964782d41c
Author: Dmitrii Turlupov <dturlupov at factor-ts.ru>
Date:   Thu Feb 4 16:27:31 2021 +0300

    ssh: optional bind interface if bind address specified.
    
    Allows the -b and -B options to be used together.
    For example, when the interface is in the VRF.
---
 sshconnect.c | 6 ++++++
 1 file changed, 6 insertions(+)

diff --git a/sshconnect.c b/sshconnect.c
index 74f9e767..8666bd6e 100644
--- a/sshconnect.c
+++ b/sshconnect.c
@@ -390,6 +390,12 @@ ssh_create_socket(struct addrinfo *ai)
 		}
 		memcpy(&bindaddr, res->ai_addr, res->ai_addrlen);
 		bindaddrlen = res->ai_addrlen;
+
+		/*'-B' option*/
+		if (options.bind_interface != NULL) {
+			if (setsockopt(sock, SOL_SOCKET, SO_BINDTODEVICE, options.bind_interface, strlen(options.bind_interface) + 1))
+				debug("error: setsockopt SO_BINDTODEVICE");
+		}
 	} else if (options.bind_interface != NULL) {
 #ifdef HAVE_IFADDRS_H
 		if ((r = getifaddrs(&ifaddrs)) != 0) {

-- 
To stop receiving notification emails like this one, please contact
djm at mindrot.org.


More information about the openssh-commits mailing list