aboutsummaryrefslogtreecommitdiff
path: root/picobsd/ssh-picobsd/files/patch-ao
diff options
context:
space:
mode:
Diffstat (limited to 'picobsd/ssh-picobsd/files/patch-ao')
-rw-r--r--picobsd/ssh-picobsd/files/patch-ao583
1 files changed, 0 insertions, 583 deletions
diff --git a/picobsd/ssh-picobsd/files/patch-ao b/picobsd/ssh-picobsd/files/patch-ao
deleted file mode 100644
index 0c5f76b3ed1b..000000000000
--- a/picobsd/ssh-picobsd/files/patch-ao
+++ /dev/null
@@ -1,583 +0,0 @@
-*** newchannels.c.orig Tue Jan 11 20:38:09 2000
---- newchannels.c Tue Jan 11 20:38:02 2000
-***************
-*** 282,287 ****
---- 282,292 ----
- #endif /* NEED_SYS_SYSLOG_H */
- #endif /* LIBWRAP */
-
-+ #ifdef __FreeBSD__
-+ #include <utmp.h>
-+ #include <osreldate.h>
-+ #endif
-+
- /* Directory in which the fake unix-domain X11 displays reside. */
- #ifndef X11_DIR
- #define X11_DIR "/tmp/.X11-unix"
-***************
-*** 1405,1417 ****
- int host_port, int gatewayports)
- {
- int ch, sock;
-! struct sockaddr_in sin;
-
- if (strlen(host) > sizeof(channels[0].path) - 1)
- packet_disconnect("Forward host name too long.");
-
- /* Create a port to listen for the host. */
-! sock = socket(AF_INET, SOCK_STREAM, 0);
- if (sock < 0)
- packet_disconnect("socket: %.100s", strerror(errno));
-
---- 1410,1438 ----
- int host_port, int gatewayports)
- {
- int ch, sock;
-! struct addrinfo hints, *ai, *aitop;
-! char ntop[ADDRSTRLEN], strport[PORTSTRLEN];
-
- if (strlen(host) > sizeof(channels[0].path) - 1)
- packet_disconnect("Forward host name too long.");
-
-+ memset(&hints, 0, sizeof(hints));
-+ hints.ai_family = IPv4or6;
-+ hints.ai_flags = gatewayports ? AI_PASSIVE : 0;
-+ hints.ai_socktype = SOCK_STREAM;
-+ sprintf(strport, "%d", port);
-+ if (getaddrinfo(NULL, strport, &hints, &aitop) != 0)
-+ packet_disconnect("getaddrinfo: fatal error");
-+
-+ for (ai = aitop; ai; ai = ai->ai_next)
-+ {
-+
-+ getnameinfo(ai->ai_addr, ai->ai_addrlen,
-+ ntop, sizeof(ntop), strport, sizeof(strport),
-+ NI_NUMERICHOST|NI_NUMERICSERV);
-+
- /* Create a port to listen for the host. */
-! sock = socket(ai->ai_family, SOCK_STREAM, 0);
- if (sock < 0)
- packet_disconnect("socket: %.100s", strerror(errno));
-
-***************
-*** 1421,1441 ****
- (void)fcntl(sock, F_SETFL, O_NDELAY);
- #endif /* O_NONBLOCK && !O_NONBLOCK_BROKEN */
-
-! /* Initialize socket address. */
-! memset(&sin, 0, sizeof(sin));
-! sin.sin_family = AF_INET;
-! if (gatewayports)
-! sin.sin_addr.s_addr = INADDR_ANY;
-! else
-! #ifdef BROKEN_INET_ADDR
-! sin.sin_addr.s_addr = inet_network("127.0.0.1");
-! #else /* BROKEN_INET_ADDR */
-! sin.sin_addr.s_addr = inet_addr("127.0.0.1");
-! #endif /* BROKEN_INET_ADDR */
-! sin.sin_port = htons(port);
-!
- /* Bind the socket to the address. */
-! if (bind(sock, (struct sockaddr *)&sin, sizeof(sin)) < 0)
- packet_disconnect("bind: %.100s", strerror(errno));
-
- /* Start listening for connections on the socket. */
---- 1442,1451 ----
- (void)fcntl(sock, F_SETFL, O_NDELAY);
- #endif /* O_NONBLOCK && !O_NONBLOCK_BROKEN */
-
-! debug("Listening on %s port %s.", ntop, strport);
-!
- /* Bind the socket to the address. */
-! if (bind(sock, ai->ai_addr, ai->ai_addrlen) < 0)
- packet_disconnect("bind: %.100s", strerror(errno));
-
- /* Start listening for connections on the socket. */
-***************
-*** 1448,1453 ****
---- 1458,1466 ----
- strcpy(channels[ch].path, host); /* note: host name stored here */
- channels[ch].host_port = host_port; /* port on host to connect to */
- channels[ch].listening_port = port; /* port being listened */
-+
-+ } /* for (ai = aitop; ai; ai = ai->ai_next) */
-+ freeaddrinfo(aitop);
- }
-
- /* Initiate forwarding of connections to port "port" on remote host through
-***************
-*** 1636,1644 ****
- void channel_input_port_open(void)
- {
- int remote_channel, sock, newch, host_port, i;
-- struct sockaddr_in sin;
- char *host, *originator_string;
-! struct hostent *hp;
-
- /* Get remote channel number. */
- remote_channel = packet_get_int();
---- 1649,1658 ----
- void channel_input_port_open(void)
- {
- int remote_channel, sock, newch, host_port, i;
- char *host, *originator_string;
-! struct addrinfo hints, *ai, *aitop;
-! char ntop[ADDRSTRLEN], strport[PORTSTRLEN];
-! int gaierr;
-
- /* Get remote channel number. */
- remote_channel = packet_get_int();
-***************
-*** 1678,1713 ****
- }
- }
-
-! memset(&sin, 0, sizeof(sin));
-! #ifdef BROKEN_INET_ADDR
-! sin.sin_addr.s_addr = inet_network(host);
-! #else /* BROKEN_INET_ADDR */
-! sin.sin_addr.s_addr = inet_addr(host);
-! #endif /* BROKEN_INET_ADDR */
-! if ((sin.sin_addr.s_addr & 0xffffffff) != 0xffffffff)
-! {
-! /* It was a valid numeric host address. */
-! sin.sin_family = AF_INET;
-! }
-! else
- {
-! /* Look up the host address from the name servers. */
-! hp = gethostbyname(host);
-! if (!hp)
-! {
-! error("%.100s: unknown host.", host);
-! goto fail;
-! }
-! if (!hp->h_addr_list[0])
-! {
-! error("%.100s: host has no IP address.", host);
-! goto fail;
-! }
-! sin.sin_family = hp->h_addrtype;
-! memcpy(&sin.sin_addr, hp->h_addr_list[0],
-! sizeof(sin.sin_addr));
- }
-- sin.sin_port = htons(host_port);
-
- #ifdef F_SECURE_COMMERCIAL
-
---- 1692,1706 ----
- }
- }
-
-! memset(&hints, 0, sizeof(hints));
-! hints.ai_family = IPv4or6;
-! hints.ai_socktype = SOCK_STREAM;
-! sprintf(strport, "%d", host_port);
-! if ((gaierr = getaddrinfo(host, strport, &hints, &aitop)) != 0)
- {
-! error("%.100s: unknown host (%s)", host, gai_strerror(gaierr));
-! goto fail;
- }
-
- #ifdef F_SECURE_COMMERCIAL
-
-***************
-*** 1744,1751 ****
-
- #endif /* F_SECURE_COMMERCIAL */
-
- /* Create the socket. */
-! sock = socket(sin.sin_family, SOCK_STREAM, 0);
- if (sock < 0)
- {
- error("socket: %.100s", strerror(errno));
---- 1737,1751 ----
-
- #endif /* F_SECURE_COMMERCIAL */
-
-+ for (ai = aitop; ai; ai = ai->ai_next)
-+ {
-+
-+ getnameinfo(ai->ai_addr, ai->ai_addrlen,
-+ ntop, sizeof(ntop), strport, sizeof(strport),
-+ NI_NUMERICHOST|NI_NUMERICSERV);
-+
- /* Create the socket. */
-! sock = socket(ai->ai_family, SOCK_STREAM, 0);
- if (sock < 0)
- {
- error("socket: %.100s", strerror(errno));
-***************
-*** 1753,1767 ****
- }
-
- /* Connect to the host/port. */
-! if (connect(sock, (struct sockaddr *)&sin, sizeof(sin)) < 0)
- {
-! error("connect %.100s:%d: %.100s", host, host_port,
-! strerror(errno));
- close(sock);
- goto fail;
- }
-
- /* Successful connection. */
-
- #if defined(O_NONBLOCK) && !defined(O_NONBLOCK_BROKEN)
- (void)fcntl(sock, F_SETFL, O_NONBLOCK);
---- 1753,1777 ----
- }
-
- /* Connect to the host/port. */
-! if (connect(sock, ai->ai_addr, ai->ai_addrlen) < 0)
- {
-! debug("connect %.100s port %s: %.100s", ntop, strport, strerror(errno));
- close(sock);
-+ continue; /* fail -- try next */
-+ }
-+ break; /* success */
-+
-+ } /* for (ai = aitop; ai; ai = ai->ai_next) */
-+ freeaddrinfo(aitop);
-+
-+ if (!ai)
-+ {
-+ error("connect %.100s:%d: failed.", host, host_port);
- goto fail;
- }
-
- /* Successful connection. */
-+ debug("Connecting to %.200s [%.100s] port %s.", host, ntop, strport);
-
- #if defined(O_NONBLOCK) && !defined(O_NONBLOCK_BROKEN)
- (void)fcntl(sock, F_SETFL, O_NONBLOCK);
-***************
-*** 1803,1809 ****
- {
- extern ServerOptions options;
- int display_number, port, sock;
-! struct sockaddr_in sin;
- char buf[512];
- #ifdef HAVE_GETHOSTNAME
- char hostname[257];
---- 1813,1822 ----
- {
- extern ServerOptions options;
- int display_number, port, sock;
-! struct addrinfo hints, *ai, *aitop;
-! char strport[PORTSTRLEN];
-! #define NUM_SOCKS 10
-! int gaierr, n, nn, num_socks = 0, socks[NUM_SOCKS];
- char buf[512];
- #ifdef HAVE_GETHOSTNAME
- char hostname[257];
-***************
-*** 1817,1828 ****
- for (display_number = options.x11_display_offset; display_number < MAX_DISPLAYS; display_number++)
- {
- port = 6000 + display_number;
-! memset(&sin, 0, sizeof(sin));
-! sin.sin_family = AF_INET;
-! sin.sin_addr.s_addr = INADDR_ANY;
-! sin.sin_port = htons(port);
-
-! sock = socket(AF_INET, SOCK_STREAM, 0);
- if (sock < 0)
- {
- error("socket: %.100s", strerror(errno));
---- 1830,1850 ----
- for (display_number = options.x11_display_offset; display_number < MAX_DISPLAYS; display_number++)
- {
- port = 6000 + display_number;
-! memset(&hints, 0, sizeof(hints));
-! hints.ai_family = IPv4or6;
-! hints.ai_flags = AI_PASSIVE;
-! hints.ai_socktype = SOCK_STREAM;
-! sprintf(strport, "%d", port);
-! if ((gaierr = getaddrinfo(NULL, strport, &hints, &aitop)) != 0)
-! {
-! error("getaddrinfo: %.100s", gai_strerror(gaierr));
-! return NULL;
-! }
-!
-! for (ai = aitop; ai; ai = ai->ai_next)
-! {
-
-! sock = socket(ai->ai_family, SOCK_STREAM, 0);
- if (sock < 0)
- {
- error("socket: %.100s", strerror(errno));
-***************
-*** 1835,1847 ****
- (void)fcntl(sock, F_SETFL, O_NDELAY);
- #endif /* O_NONBLOCK && !O_NONBLOCK_BROKEN */
-
-! if (bind(sock, (struct sockaddr *)&sin, sizeof(sin)) < 0)
- {
- debug("bind port %d: %.100s", port, strerror(errno));
- shutdown(sock, 2);
- close(sock);
-! continue;
- }
- break;
- }
- if (display_number >= MAX_DISPLAYS)
---- 1857,1882 ----
- (void)fcntl(sock, F_SETFL, O_NDELAY);
- #endif /* O_NONBLOCK && !O_NONBLOCK_BROKEN */
-
-! if (bind(sock, ai->ai_addr, ai->ai_addrlen) < 0)
- {
- debug("bind port %d: %.100s", port, strerror(errno));
- shutdown(sock, 2);
- close(sock);
-! for (n = 0; n < num_socks; n++)
-! {
-! shutdown(socks[n], 2);
-! close(socks[n]);
-! }
-! num_socks = 0;
-! break;
- }
-+
-+ socks[num_socks++] = sock;
-+ if (num_socks == NUM_SOCKS)
-+ break;
-+ } /* for (ai = aitop; ai; ai = ai->ai_next) */
-+
-+ if (num_socks > 0)
- break;
- }
- if (display_number >= MAX_DISPLAYS)
-***************
-*** 1851,1863 ****
---- 1886,1907 ----
- }
-
- /* Start listening for connections on the socket. */
-+ for (n = 0; n < num_socks; n++)
-+ {
-+ sock = socks[n];
- if (listen(sock, 5) < 0)
- {
- error("listen: %.100s", strerror(errno));
- shutdown(sock, 2);
- close(sock);
-+ for (nn = 0; nn < n; nn++)
-+ {
-+ shutdown(socks[nn], 2);
-+ close(socks[nn]);
-+ }
- return NULL;
- }
-+ } /* for (n = 0; n < num_socks; n++) */
-
- /* Set up a suitable value for the DISPLAY variable. */
- #ifdef NONSTANDARD_IP_ADDRESS_X11_KLUDGE
-***************
-*** 1868,1877 ****
- if (gethostname(hostname, sizeof(hostname)) < 0)
- fatal("gethostname: %.100s", strerror(errno));
- {
-! struct hostent *hp;
-! struct in_addr addr;
-! hp = gethostbyname(hostname);
-! if (hp == NULL || !hp->h_addr_list[0])
- {
- error("Could not get server IP address for %.200s.", hostname);
- packet_send_debug("Could not get server IP address for %.200s.",
---- 1912,1922 ----
- if (gethostname(hostname, sizeof(hostname)) < 0)
- fatal("gethostname: %.100s", strerror(errno));
- {
-! struct addrinfo hints, *ai;
-! char ntop[ADDRSTRLEN];
-! memset(&hints, 0, sizeof(hints));
-! hints.ai_family = IPv4or6;
-! if (getaddrinfo(hostname, NULL, &hints, &ai) != 0 || !ai)
- {
- error("Could not get server IP address for %.200s.", hostname);
- packet_send_debug("Could not get server IP address for %.200s.",
-***************
-*** 1880,1888 ****
- close(sock);
- return NULL;
- }
-! memcpy(&addr, hp->h_addr_list[0], sizeof(addr));
- snprintf(buf, sizeof(buf),
-! "%.100s:%d.%d", inet_ntoa(addr), display_number,
- screen_number);
- }
- #else /* NONSTANDARD_IP_ADDRESS_X11_KLUDGE */
---- 1925,1934 ----
- close(sock);
- return NULL;
- }
-! getnameinfo(ai->ai_addr, ai->ai_addrlen,
-! ntop, sizeof(ntop), NULL, 0, NI_NUMERICHOST);
- snprintf(buf, sizeof(buf),
-! "%.100s:%d.%d", ntop, display_number,
- screen_number);
- }
- #else /* NONSTANDARD_IP_ADDRESS_X11_KLUDGE */
-***************
-*** 1891,1896 ****
---- 1937,1945 ----
- fatal("gethostname: %.100s", strerror(errno));
- snprintf(buf, sizeof(buf),
- "%.400s:%d.%d", hostname, display_number, screen_number);
-+ #if __FreeBSD_version >= 320000
-+ trimdomain(buf, UT_HOSTSIZE);
-+ #endif
- #else /* HAVE_GETHOSTNAME */
- if (uname(&uts) < 0)
- fatal("uname: %.100s", strerror(errno));
-***************
-*** 1900,1907 ****
---- 1949,1960 ----
- #endif /* NONSTANDARD_IP_ADDRESS_X11_KLUDGE */
-
- /* Allocate a channel for the socket. */
-+ for (n = 0; n < num_socks; n++)
-+ {
-+ sock = socks[n];
- (void)channel_allocate(SSH_CHANNEL_X11_LISTENER, sock,
- xstrdup("X11 inet listener"));
-+ } /* for (n = 0; n < num_socks; n++) */
-
- /* Return a suitable value for the DISPLAY environment variable. */
- return xstrdup(buf);
-***************
-*** 1916,1924 ****
- int remote_channel, display_number, sock, newch;
- const char *display;
- struct sockaddr_un ssun;
-- struct sockaddr_in sin;
- char buf[255], *cp, *remote_host;
-! struct hostent *hp;
-
- /* Get remote channel number. */
- remote_channel = packet_get_int();
---- 1969,1978 ----
- int remote_channel, display_number, sock, newch;
- const char *display;
- struct sockaddr_un ssun;
- char buf[255], *cp, *remote_host;
-! struct addrinfo hints, *ai, *aitop;
-! char strport[PORTSTRLEN];
-! int gaierr;
-
- /* Get remote channel number. */
- remote_channel = packet_get_int();
-***************
-*** 2058,2110 ****
- goto fail;
- }
-
-! /* Try to parse the host name as a numeric IP address. */
-! memset(&sin, 0, sizeof(sin));
-! #ifdef BROKEN_INET_ADDR
-! sin.sin_addr.s_addr = inet_network(buf);
-! #else /* BROKEN_INET_ADDR */
-! sin.sin_addr.s_addr = inet_addr(buf);
-! #endif /* BROKEN_INET_ADDR */
-! if ((sin.sin_addr.s_addr & 0xffffffff) != 0xffffffff)
- {
-! /* It was a valid numeric host address. */
-! sin.sin_family = AF_INET;
- }
-! else
- {
-- /* Not a numeric IP address. */
-- /* Look up the host address from the name servers. */
-- hp = gethostbyname(buf);
-- if (!hp)
-- {
-- error("%.100s: unknown host.", buf);
-- goto fail;
-- }
-- if (!hp->h_addr_list[0])
-- {
-- error("%.100s: host has no IP address.", buf);
-- goto fail;
-- }
-- sin.sin_family = hp->h_addrtype;
-- memcpy(&sin.sin_addr, hp->h_addr_list[0],
-- sizeof(sin.sin_addr));
-- }
-- /* Set port number. */
-- sin.sin_port = htons(6000 + display_number);
-
- /* Create a socket. */
-! sock = socket(sin.sin_family, SOCK_STREAM, 0);
- if (sock < 0)
- {
-! error("socket: %.100s", strerror(errno));
-! goto fail;
- }
- /* Connect it to the display. */
-! if (connect(sock, (struct sockaddr *)&sin, sizeof(sin)) < 0)
- {
-! error("connect %.100s:%d: %.100s", buf, 6000 + display_number,
- strerror(errno));
- close(sock);
- goto fail;
- }
-
---- 2112,2155 ----
- goto fail;
- }
-
-! /* Look up the host address */
-! memset(&hints, 0, sizeof(hints));
-! hints.ai_family = IPv4or6;
-! hints.ai_socktype = SOCK_STREAM;
-! sprintf(strport, "%d", 6000 + display_number);
-! if ((gaierr = getaddrinfo(buf, strport, &hints, &aitop)) != 0)
- {
-! error("%.100s: unknown host. (%s)", buf, gai_strerror(gaierr));
-! goto fail;
- }
-!
-! for (ai = aitop; ai; ai = ai->ai_next)
- {
-
- /* Create a socket. */
-! sock = socket(ai->ai_family, SOCK_STREAM, 0);
- if (sock < 0)
- {
-! debug("socket: %.100s", strerror(errno));
-! continue;
- }
- /* Connect it to the display. */
-! if (connect(sock, ai->ai_addr, ai->ai_addrlen) < 0)
- {
-! debug("connect %.100s:%d: %.100s", buf, 6000 + display_number,
- strerror(errno));
- close(sock);
-+ continue;
-+ }
-+ /* Success */
-+ break;
-+
-+ } /* (ai = aitop, ai; ai = ai->ai_next) */
-+ freeaddrinfo(aitop);
-+ if (!ai)
-+ {
-+ error("connect %.100s:%d: %.100s", buf, 6000 + display_number,
-+ strerror(errno));
- goto fail;
- }
-
-***************
-*** 2412,2417 ****
---- 2457,2466 ----
- ssh-agent connections on your system */
- old_umask = umask(S_IRUSR|S_IXUSR|S_IRGRP|S_IXGRP|S_IROTH|S_IXOTH);
-
-+ /* Make sure the socket doesn't already exist, left over from a system
-+ crash perhaps. */
-+ unlink(channel_forwarded_auth_socket_name);
-+
- if (bind(sock, (struct sockaddr *)&sunaddr, AF_UNIX_SIZE(sunaddr)) < 0)
- packet_disconnect("Agent socket bind failed: %.100s", strerror(errno));
-