summaryrefslogtreecommitdiffstats
path: root/picobsd/ssh-picobsd/files/patch-al
diff options
context:
space:
mode:
Diffstat (limited to 'picobsd/ssh-picobsd/files/patch-al')
-rw-r--r--picobsd/ssh-picobsd/files/patch-al408
1 files changed, 0 insertions, 408 deletions
diff --git a/picobsd/ssh-picobsd/files/patch-al b/picobsd/ssh-picobsd/files/patch-al
deleted file mode 100644
index 35a191b..0000000
--- a/picobsd/ssh-picobsd/files/patch-al
+++ /dev/null
@@ -1,408 +0,0 @@
-*** sshconnect.c.orig Wed May 12 20:19:29 1999
---- sshconnect.c Thu Feb 24 22:34:47 2000
-***************
-*** 337,343 ****
-
- /* Creates a (possibly privileged) socket for use as the ssh connection. */
-
-! int ssh_create_socket(uid_t original_real_uid, int privileged)
- {
- int sock;
-
---- 337,343 ----
-
- /* Creates a (possibly privileged) socket for use as the ssh connection. */
-
-! int ssh_create_socket(uid_t original_real_uid, int privileged, int family)
- {
- int sock;
-
-***************
-*** 345,379 ****
- bind our own socket to a privileged port. */
- if (privileged)
- {
-! struct sockaddr_in sin;
- int p;
- for (p = 1023; p > 512; p--)
- {
-! sock = socket(AF_INET, SOCK_STREAM, 0);
- if (sock < 0)
-! fatal("socket: %.100s", strerror(errno));
-
-! /* Initialize the desired sockaddr_in structure. */
-! memset(&sin, 0, sizeof(sin));
-! sin.sin_family = AF_INET;
-! sin.sin_addr.s_addr = INADDR_ANY;
-! sin.sin_port = htons(p);
-
- /* Try to bind the socket to the privileged port. */
- #if defined(SOCKS)
-! if (Rbind(sock, (struct sockaddr *)&sin, sizeof(sin)) >= 0)
- break; /* Success. */
- #else /* SOCKS */
-! if (bind(sock, (struct sockaddr *)&sin, sizeof(sin)) >= 0)
- break; /* Success. */
- #endif /* SOCKS */
- if (errno == EADDRINUSE)
- {
- close(sock);
- continue;
- }
-! fatal("bind: %.100s", strerror(errno));
- }
- debug("Allocated local port %d.", p);
- }
- else
---- 345,404 ----
- bind our own socket to a privileged port. */
- if (privileged)
- {
-! struct addrinfo hints, *ai = NULL;
-! int errgai;
-! char strport[PORTSTRLEN];
- int p;
-+ #if (defined(__OpenBSD__) || defined(__FreeBSD__)) && !defined(SOCKS)
-+ p = 1023; /* Compat with old FreeBSD */
-+ #if __FreeBSD__ >= 400014
-+ sock = rresvport_af(&p, family);
-+ if (sock < 0)
-+ error("rresvport_af: %.100s", strerror(errno));
-+ #else
-+ sock = rresvport(&p);
-+ if (sock < 0)
-+ error("rresvport: %.100s", strerror(errno));
-+ #endif
-+ #else
- for (p = 1023; p > 512; p--)
- {
-! sock = socket(family, SOCK_STREAM, 0);
- if (sock < 0)
-! error("socket: %.100s", strerror(errno));
-
-! /* Initialize the desired addrinfo structure. */
-! memset(&hints, 0, sizeof(hints));
-! hints.ai_family = family;
-! hints.ai_flags = AI_PASSIVE;
-! hints.ai_socktype = SOCK_STREAM;
-! sprintf(strport, "%d", p);
-! #if defined(SOCKS)
-! if ((errgai = Rgetaddrinfo(NULL, strport, &hints, &ai)) != 0)
-! fatal("getaddrinfo: %.100s", gai_strerror(errgai));
-! #else /* SOCKS */
-! if ((errgai = getaddrinfo(NULL, strport, &hints, &ai)) != 0)
-! fatal("getaddrinfo: %.100s", gai_strerror(errgai));
-! #endif /* SOCKS */
-
- /* Try to bind the socket to the privileged port. */
- #if defined(SOCKS)
-! if (Rbind(sock, ai->ai_addr, ai->ai_addrlen) >= 0)
- break; /* Success. */
- #else /* SOCKS */
-! if (bind(sock, ai->ai_addr, ai->ai_addrlen) >= 0)
- break; /* Success. */
- #endif /* SOCKS */
- if (errno == EADDRINUSE)
- {
- close(sock);
-+ freeaddrinfo(ai);
- continue;
- }
-! error("bind: %.100s", strerror(errno));
- }
-+ freeaddrinfo(ai);
-+ #endif
- debug("Allocated local port %d.", p);
- }
- else
-***************
-*** 396,409 ****
- the daemon. */
-
- int ssh_connect(const char *host, int port, int connection_attempts,
- int anonymous, uid_t original_real_uid,
- const char *proxy_command, RandomState *random_state)
- {
- int sock = -1, attempt, i;
- int on = 1;
- struct servent *sp;
-! struct hostent *hp;
-! struct sockaddr_in hostaddr;
- #if defined(SO_LINGER) && defined(ENABLE_SO_LINGER)
- struct linger linger;
- #endif /* SO_LINGER */
---- 421,439 ----
- the daemon. */
-
- int ssh_connect(const char *host, int port, int connection_attempts,
-+ #ifdef ENABLE_ANOTHER_PORT_TRY
-+ int another_port,
-+ #endif /* ENABLE_ANOTHER_PORT_TRY */
- int anonymous, uid_t original_real_uid,
- const char *proxy_command, RandomState *random_state)
- {
- int sock = -1, attempt, i;
- int on = 1;
- struct servent *sp;
-! struct addrinfo hints, *ai, *aitop, *aitmp;
-! struct sockaddr_storage hostaddr;
-! char ntop[ADDRSTRLEN], strport[PORTSTRLEN];
-! int gaierr;
- #if defined(SO_LINGER) && defined(ENABLE_SO_LINGER)
- struct linger linger;
- #endif /* SO_LINGER */
-***************
-*** 421,430 ****
- port = SSH_DEFAULT_PORT;
- }
-
-- /* Map localhost to ip-address locally */
-- if (strcmp(host, "localhost") == 0)
-- host = "127.0.0.1";
--
- /* If a proxy command is given, connect using it. */
- if (proxy_command != NULL && *proxy_command)
- return ssh_proxy_connect(host, port, original_real_uid, proxy_command,
---- 451,456 ----
-***************
-*** 432,440 ****
-
- /* No proxy command. */
-
-! /* No host lookup made yet. */
-! hp = NULL;
-!
- /* Try to connect several times. On some machines, the first time will
- sometimes fail. In general socket code appears to behave quite
- magically on many machines. */
---- 458,495 ----
-
- /* No proxy command. */
-
-! memset(&hints, 0, sizeof(hints));
-! hints.ai_family = IPv4or6;
-! hints.ai_socktype = SOCK_STREAM;
-! sprintf(strport, "%d", port);
-! #if defined(SOCKS)
-! if ((gaierr = Rgetaddrinfo(host, strport, &hints, &aitop)) != 0)
-! fatal("Bad host name: %.100s (%s)", host, gai_strerror(gaierr));
-! #else /* SOCKS */
-! if ((gaierr = getaddrinfo(host, strport, &hints, &aitop)) != 0)
-! fatal("Bad host name: %.100s (%s)", host, gai_strerror(gaierr));
-! #endif /* SOCKS */
-!
-! #ifdef ENABLE_ANOTHER_PORT_TRY
-! if (another_port)
-! {
-! aitmp = aitop;
-! memset(&hints, 0, sizeof(hints));
-! hints.ai_family = IPv4or6;
-! hints.ai_socktype = SOCK_STREAM;
-! sprintf(strport, "%d", another_port);
-! #if defined(SOCKS)
-! if ((gaierr = Rgetaddrinfo(host, strport, &hints, &aitop)) != 0)
-! fatal("Bad host name: %.100s (%s)", host, gai_strerror(gaierr));
-! #else /* SOCKS */
-! if ((gaierr = getaddrinfo(host, strport, &hints, &aitop)) != 0)
-! fatal("Bad host name: %.100s (%s)", host, gai_strerror(gaierr));
-! #endif /* SOCKS */
-! for (ai = aitop; ai->ai_next; ai = ai->ai_next);
-! ai->ai_next = aitmp;
-! }
-! #endif /* ENABLE_ANOTHER_PORT_TRY */
-!
- /* Try to connect several times. On some machines, the first time will
- sometimes fail. In general socket code appears to behave quite
- magically on many machines. */
-***************
-*** 443,545 ****
- if (attempt > 0)
- debug("Trying again...");
-
-- /* Try to parse the host name as a numeric inet address. */
-- memset(&hostaddr, 0, sizeof(hostaddr));
-- hostaddr.sin_family = AF_INET;
-- hostaddr.sin_port = htons(port);
-- #ifdef BROKEN_INET_ADDR
-- hostaddr.sin_addr.s_addr = inet_network(host);
-- #else /* BROKEN_INET_ADDR */
-- hostaddr.sin_addr.s_addr = inet_addr(host);
-- #endif /* BROKEN_INET_ADDR */
-- if ((hostaddr.sin_addr.s_addr & 0xffffffff) != 0xffffffff)
-- {
-- /* Create a socket. */
-- sock = ssh_create_socket(original_real_uid,
-- !anonymous && geteuid() == UID_ROOT);
--
-- /* Valid numeric IP address */
-- debug("Connecting to %.100s port %d.",
-- inet_ntoa(hostaddr.sin_addr), port);
--
-- /* Connect to the host. */
-- #if defined(SOCKS)
-- if (Rconnect(sock, (struct sockaddr *)&hostaddr, sizeof(hostaddr))
-- #else /* SOCKS */
-- if (connect(sock, (struct sockaddr *)&hostaddr, sizeof(hostaddr))
-- #endif /* SOCKS */
-- >= 0)
-- {
-- /* Successful connect. */
-- break;
-- }
-- debug("connect: %.100s", strerror(errno));
--
-- /* Destroy the failed socket. */
-- shutdown(sock, 2);
-- close(sock);
-- }
-- else
-- {
-- /* Not a valid numeric inet address. */
-- /* Map host name to an address. */
-- if (!hp)
-- {
-- struct hostent *hp_static;
--
-- #if defined(SOCKS5)
-- hp_static = Rgethostbyname(host);
-- #else
-- hp_static = gethostbyname(host);
-- #endif
-- if (hp_static)
-- {
-- hp = xmalloc(sizeof(struct hostent));
-- memcpy(hp, hp_static, sizeof(struct hostent));
--
-- /* Copy list of addresses, not just pointers.
-- We don't use h_name & h_aliases so leave them as is */
-- for (i = 0; hp_static->h_addr_list[i]; i++)
-- ; /* count them */
-- hp->h_addr_list = xmalloc((i + 1) *
-- sizeof(hp_static->h_addr_list[0]));
-- for (i = 0; hp_static->h_addr_list[i]; i++)
-- {
-- hp->h_addr_list[i] = xmalloc(hp->h_length);
-- memcpy(hp->h_addr_list[i], hp_static->h_addr_list[i],
-- hp->h_length);
-- }
-- hp->h_addr_list[i] = NULL; /* last one */
-- }
-- }
-- if (!hp)
-- fatal("Bad host name: %.100s", host);
-- if (!hp->h_addr_list[0])
-- fatal("Host does not have an IP address: %.100s", host);
--
- /* Loop through addresses for this host, and try each one in
- sequence until the connection succeeds. */
-! for (i = 0; hp->h_addr_list[i]; i++)
- {
-! /* Set the address to connect to. */
-! hostaddr.sin_family = hp->h_addrtype;
-! memcpy(&hostaddr.sin_addr, hp->h_addr_list[i],
-! sizeof(hostaddr.sin_addr));
-
-! debug("Connecting to %.200s [%.100s] port %d.",
-! host, inet_ntoa(hostaddr.sin_addr), port);
-
- /* Create a socket for connecting. */
- sock = ssh_create_socket(original_real_uid,
-! !anonymous && geteuid() == UID_ROOT);
-
- /* Connect to the host. */
- #if defined(SOCKS)
-! if (Rconnect(sock, (struct sockaddr *)&hostaddr,
-! sizeof(hostaddr)) >= 0)
- #else /* SOCKS */
-! if (connect(sock, (struct sockaddr *)&hostaddr,
-! sizeof(hostaddr)) >= 0)
- #endif /* SOCKS */
- {
- /* Successful connection. */
---- 498,526 ----
- if (attempt > 0)
- debug("Trying again...");
-
- /* Loop through addresses for this host, and try each one in
- sequence until the connection succeeds. */
-! 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);
-
-! debug("Connecting to %.200s [%.100s] port %s.",
-! host, ntop, strport);
-
- /* Create a socket for connecting. */
- sock = ssh_create_socket(original_real_uid,
-! !anonymous && geteuid() == UID_ROOT,
-! ai->ai_family);
-! if (sock < 0)
-! continue;
-
- /* Connect to the host. */
- #if defined(SOCKS)
-! if (Rconnect(sock, ai->ai_addr, ai->ai_addrlen) >= 0)
- #else /* SOCKS */
-! if (connect(sock, ai->ai_addr, ai->ai_addrlen) >= 0)
- #endif /* SOCKS */
- {
- /* Successful connection. */
-***************
-*** 552,573 ****
- returned an error. */
- shutdown(sock, 2);
- close(sock);
-! }
-! if (hp->h_addr_list[i])
- break; /* Successful connection. */
-- }
-
- /* Sleep a moment before retrying. */
- sleep(1);
- }
-
-! if (hp)
-! {
-! for (i = 0; hp->h_addr_list[i]; i++)
-! xfree(hp->h_addr_list[i]);
-! xfree(hp->h_addr_list);
-! xfree(hp);
-! }
-
- /* Return failure if we didn't get a successful connection. */
- if (attempt >= connection_attempts)
---- 533,547 ----
- returned an error. */
- shutdown(sock, 2);
- close(sock);
-! } /* for (ai = aitop; ai; ai = ai->ai_next) */
-! if (ai)
- break; /* Successful connection. */
-
- /* Sleep a moment before retrying. */
- sleep(1);
- }
-
-! freeaddrinfo(aitop);
-
- /* Return failure if we didn't get a successful connection. */
- if (attempt >= connection_attempts)
-***************
-*** 946,952 ****
- int ap_opts, ret_stat = 0;
- krb5_keyblock *session_key = 0;
- krb5_ap_rep_enc_part *repl = 0;
-! struct sockaddr_in local, foreign;
-
- memset(&auth, 0 , sizeof(auth));
- remotehost = (char *) get_canonical_hostname();
---- 920,926 ----
- int ap_opts, ret_stat = 0;
- krb5_keyblock *session_key = 0;
- krb5_ap_rep_enc_part *repl = 0;
-! struct sockaddr_storage local, foreign;
-
- memset(&auth, 0 , sizeof(auth));
- remotehost = (char *) get_canonical_hostname();
OpenPOWER on IntegriCloud