]> andersk Git - openssh.git/commitdiff
- markus@cvs.openbsd.org 2003/04/14 14:17:50
authordjm <djm>
Wed, 14 May 2003 03:42:23 +0000 (03:42 +0000)
committerdjm <djm>
Wed, 14 May 2003 03:42:23 +0000 (03:42 +0000)
     [channels.c sshconnect.c sshd.c ssh-keyscan.c]
     avoid hardcoded SOCK_xx; with itojun@; should allow ssh over SCTP

ChangeLog
channels.c
ssh-keyscan.c
sshconnect.c
sshd.c

index 99875a95880c87e38d7e36ee7a18400b92f12e72..1dbaafc030778d8c391347b2139e5d4d840d958a 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -15,6 +15,9 @@
    - naddy@cvs.openbsd.org 2003/04/12 11:40:15
      [ssh.1]
      document -V switch, fix wording; ok markus@
+   - markus@cvs.openbsd.org 2003/04/14 14:17:50
+     [channels.c sshconnect.c sshd.c ssh-keyscan.c]
+     avoid hardcoded SOCK_xx; with itojun@; should allow ssh over SCTP
 
 20030512
  - (djm) Redhat spec: Don't install profile.d scripts when not 
index 41abb8d6b620b15512463d192b85397e471427c1..27707a128d3df1f4c493e5cc2bf4c18e349cb647 100644 (file)
@@ -39,7 +39,7 @@
  */
 
 #include "includes.h"
-RCSID("$OpenBSD: channels.c,v 1.188 2003/04/08 20:21:28 itojun Exp $");
+RCSID("$OpenBSD: channels.c,v 1.189 2003/04/14 14:17:50 markus Exp $");
 
 #include "ssh.h"
 #include "ssh1.h"
@@ -2058,7 +2058,7 @@ channel_setup_fwd_listener(int type, const char *listen_addr, u_short listen_por
                        continue;
                }
                /* Create a port to listen for the host. */
-               sock = socket(ai->ai_family, SOCK_STREAM, 0);
+               sock = socket(ai->ai_family, ai->ai_socktype, ai->ai_protocol);
                if (sock < 0) {
                        /* this is no error since kernel may not support ipv6 */
                        verbose("socket: %.100s", strerror(errno));
@@ -2280,7 +2280,7 @@ connect_to(const char *host, u_short port)
                        error("connect_to: getnameinfo failed");
                        continue;
                }
-               sock = socket(ai->ai_family, SOCK_STREAM, 0);
+               sock = socket(ai->ai_family, ai->ai_socktype, ai->ai_protocol);
                if (sock < 0) {
                        if (ai->ai_next == NULL)
                                error("socket: %.100s", strerror(errno));
@@ -2381,7 +2381,8 @@ x11_create_display_inet(int x11_display_offset, int x11_use_localhost,
                for (ai = aitop; ai; ai = ai->ai_next) {
                        if (ai->ai_family != AF_INET && ai->ai_family != AF_INET6)
                                continue;
-                       sock = socket(ai->ai_family, SOCK_STREAM, 0);
+                       sock = socket(ai->ai_family, ai->ai_socktype,
+                           ai->ai_protocol);
                        if (sock < 0) {
                                if ((errno != EINVAL) && (errno != EAFNOSUPPORT)) {
                                        error("socket: %.100s", strerror(errno));
@@ -2547,7 +2548,7 @@ x11_connect_display(void)
        }
        for (ai = aitop; ai; ai = ai->ai_next) {
                /* Create a socket. */
-               sock = socket(ai->ai_family, SOCK_STREAM, 0);
+               sock = socket(ai->ai_family, ai->ai_socktype, ai->ai_protocol);
                if (sock < 0) {
                        debug("socket: %.100s", strerror(errno));
                        continue;
index 5b4eb82d1fc058011731af658be12ec504d832e1..ac3056ff263aa9a37cfa84d21598ed84eee88fcf 100644 (file)
@@ -7,7 +7,7 @@
  */
 
 #include "includes.h"
-RCSID("$OpenBSD: ssh-keyscan.c,v 1.41 2003/02/16 17:09:57 markus Exp $");
+RCSID("$OpenBSD: ssh-keyscan.c,v 1.42 2003/04/14 14:17:50 markus Exp $");
 
 #include "openbsd-compat/sys-queue.h"
 
@@ -397,7 +397,7 @@ tcpconnect(char *host)
        if ((gaierr = getaddrinfo(host, strport, &hints, &aitop)) != 0)
                fatal("getaddrinfo %s: %s", host, gai_strerror(gaierr));
        for (ai = aitop; ai; ai = ai->ai_next) {
-               s = socket(ai->ai_family, SOCK_STREAM, 0);
+               s = socket(ai->ai_family, ai->ai_socktype, ai->ai_protocol);
                if (s < 0) {
                        error("socket: %s", strerror(errno));
                        continue;
index 16db13fa1d8a3965232cd440265fc55625003ea3..33d9c727fc05a0a644417d3a4d381659a3ca3a1c 100644 (file)
@@ -13,7 +13,7 @@
  */
 
 #include "includes.h"
-RCSID("$OpenBSD: sshconnect.c,v 1.138 2003/04/08 20:21:29 itojun Exp $");
+RCSID("$OpenBSD: sshconnect.c,v 1.139 2003/04/14 14:17:50 markus Exp $");
 
 #include <openssl/bn.h>
 
@@ -163,7 +163,7 @@ ssh_proxy_connect(const char *host, u_short port, const char *proxy_command)
  * Creates a (possibly privileged) socket for use as the ssh connection.
  */
 static int
-ssh_create_socket(int privileged, int family)
+ssh_create_socket(int privileged, struct addrinfo *ai)
 {
        int sock, gaierr;
        struct addrinfo hints, *res;
@@ -175,15 +175,16 @@ ssh_create_socket(int privileged, int family)
        if (privileged) {
                int p = IPPORT_RESERVED - 1;
                PRIV_START;
-               sock = rresvport_af(&p, family);
+               sock = rresvport_af(&p, ai->ai_family);
                PRIV_END;
                if (sock < 0)
-                       error("rresvport: af=%d %.100s", family, strerror(errno));
+                       error("rresvport: af=%d %.100s", ai->ai_family,
+                           strerror(errno));
                else
                        debug("Allocated local port %d.", p);
                return sock;
        }
-       sock = socket(family, SOCK_STREAM, 0);
+       sock = socket(ai->ai_family, ai->ai_socktype, ai->ai_protocol);
        if (sock < 0)
                error("socket: %.100s", strerror(errno));
 
@@ -192,8 +193,9 @@ ssh_create_socket(int privileged, int family)
                return sock;
 
        memset(&hints, 0, sizeof(hints));
-       hints.ai_family = family;
-       hints.ai_socktype = SOCK_STREAM;
+       hints.ai_family = ai->ai_family;
+       hints.ai_socktype = ai->ai_socktype;
+       hints.ai_protocol = ai->ai_protocol;
        hints.ai_flags = AI_PASSIVE;
        gaierr = getaddrinfo(options.bind_address, "0", &hints, &res);
        if (gaierr) {
@@ -295,7 +297,7 @@ ssh_connect(const char *host, struct sockaddr_storage * hostaddr,
                                host, ntop, strport);
 
                        /* Create a socket for connecting. */
-                       sock = ssh_create_socket(needpriv, ai->ai_family);
+                       sock = ssh_create_socket(needpriv, ai);
                        if (sock < 0)
                                /* Any error is already output */
                                continue;
diff --git a/sshd.c b/sshd.c
index 0f3fbb23072480a1a292f992cbd3389cb44a9f77..9e2e218c6c1958e825ead764601e4d53e1c821c3 100644 (file)
--- a/sshd.c
+++ b/sshd.c
@@ -42,7 +42,7 @@
  */
 
 #include "includes.h"
-RCSID("$OpenBSD: sshd.c,v 1.264 2003/04/08 20:21:29 itojun Exp $");
+RCSID("$OpenBSD: sshd.c,v 1.265 2003/04/14 14:17:50 markus Exp $");
 
 #include <openssl/dh.h>
 #include <openssl/bn.h>
@@ -1153,7 +1153,8 @@ main(int ac, char **av)
                                continue;
                        }
                        /* Create socket for listening. */
-                       listen_sock = socket(ai->ai_family, SOCK_STREAM, 0);
+                       listen_sock = socket(ai->ai_family, ai->ai_socktype,
+                           ai->ai_protocol);
                        if (listen_sock < 0) {
                                /* kernel may not support ipv6 */
                                verbose("socket: %.100s", strerror(errno));
This page took 1.196384 seconds and 5 git commands to generate.