Call for testing for 3.5 OpenSSH
Ben Lindstrom
mouring at etoh.eviladmin.org
Tue Sep 24 07:03:37 EST 2002
Just attach a new patch to the bug report.
On Mon, 23 Sep 2002, Wendy Palm wrote:
> ben-
>
> i have 4 patches left that have not been added that are absolutely
> required to work on a cray system.
>
> they were part of bug 367, but were not added with the rest.
> do you want me to close that one and open a new one with only
> these patches?
>
> thanks,
> wendy
>
>
>
> diff -cr openssh/auth1.c openssh.cray/auth1.c
> *** openssh/auth1.c Wed Sep 11 18:47:30 2002
> --- openssh.cray/auth1.c Mon Sep 23 12:39:06 2002
> ***************
> *** 25,32 ****
> --- 25,36 ----
> #include "channels.h"
> #include "session.h"
> #include "uidswap.h"
> + #if defined(_CRAY) && ! defined(_CRAYSV2)
> + #include <ia.h>
> + #endif /* _CRAY */
> #include "monitor_wrap.h"
>
> +
> /* import */
> extern ServerOptions options;
>
> ***************
> *** 303,308 ****
> --- 307,321 ----
> if (!authctxt->valid && authenticated)
> fatal("INTERNAL ERROR: authenticated invalid user %s",
> authctxt->user);
> +
> + # if defined(_CRAY) && ! defined(_CRAYSV2)
> + if (type == SSH_CMSG_AUTH_PASSWORD && !authenticated)
> + cray_login_failure(authctxt->user, IA_UDBERR);
> + if (authenticated && cray_access_denied(authctxt->user)) {
> + authenticated = 0;
> + fatal("Access denied for user %s.",authctxt->user);
> + }
> + #endif /* _CRAY */
>
> #ifdef HAVE_CYGWIN
> if (authenticated &&
> diff -cr openssh/auth2.c openssh.cray/auth2.c
> *** openssh/auth2.c Wed Sep 4 01:37:27 2002
> --- openssh.cray/auth2.c Mon Sep 23 12:39:15 2002
> ***************
> *** 35,40 ****
> --- 35,43 ----
> #include "dispatch.h"
> #include "pathnames.h"
> #include "monitor_wrap.h"
> + #if defined(_CRAY) && ! defined(_CRAYSV2)
> + #include <ia.h>
> + #endif /* _CRAY */
>
> /* import */
> extern ServerOptions options;
> ***************
> *** 216,221 ****
> --- 219,231 ----
> authenticated = 0;
> #endif /* USE_PAM */
>
> + #if defined(_CRAY) && !defined(_CRAYSV2)
> + if (authenticated && cray_access_denied(authctxt->user)) {
> + authenticated = 0;
> + fatal("Access denied for user %s.",authctxt->user);
> + }
> + #endif /* _CRAY */
> +
> /* Log before sending the reply */
> auth_log(authctxt, authenticated, method, " ssh2");
>
> ***************
> *** 235,240 ****
> --- 245,254 ----
> if (authctxt->failures++ > AUTH_FAIL_MAX) {
> packet_disconnect(AUTH_FAIL_MSG, authctxt->user);
> }
> + #if defined(_CRAY) && !defined(_CRAYSV2)
> + if (strcmp(method, "password") == 0)
> + cray_login_failure(authctxt->user, IA_UDBERR);
> + #endif /* _CRAY */
> methods = authmethods_get();
> packet_start(SSH2_MSG_USERAUTH_FAILURE);
> packet_put_cstring(methods);
> diff -cr openssh/deattack.c openssh.cray/deattack.c
> *** openssh/deattack.c Mon Mar 4 19:53:05 2002
> --- openssh.cray/deattack.c Mon Sep 23 13:34:01 2002
> ***************
> *** 101,111 ****
> --- 101,119 ----
> if (h == NULL) {
> debug("Installing crc compensation attack detector.");
> n = l;
> + #if defined(_CRAY) && !defined(_CRAYSV2)
> + h = (u_int16_t *) xmalloc(n * sizeof(u_int16_t));
> + #else
> h = (u_int16_t *) xmalloc(n * HASH_ENTRYSIZE);
> + #endif /* _CRAY */
> } else {
> if (l > n) {
> n = l;
> + #if defined(_CRAY) && !defined(_CRAYSV2)
> + h = (u_int16_t *) xrealloc(h, n * sizeof(u_int16_t));
> + #else
> h = (u_int16_t *) xrealloc(h, n * HASH_ENTRYSIZE);
> + #endif /* _CRAY */
> }
> }
>
> ***************
> *** 128,134 ****
> --- 136,146 ----
> }
> return (DEATTACK_OK);
> }
> + #if defined(_CRAY) && !defined(_CRAYSV2)
> + for (i=0; i<n; i++) h[i] = HASH_UNUSED;
> + #else
> memset(h, HASH_UNUSEDCHAR, n * HASH_ENTRYSIZE);
> + #endif /* _CRAY */
>
> if (IV)
> h[HASH(IV) & (n - 1)] = HASH_IV;
> diff -cr openssh/serverloop.c openssh.cray/serverloop.c
> *** openssh/serverloop.c Sat Sep 21 10:26:28 2002
> --- openssh.cray/serverloop.c Mon Sep 23 13:38:52 2002
> ***************
> *** 144,150 ****
> --- 144,152 ----
> int save_errno = errno;
> debug("Received SIGCHLD.");
> child_terminated = 1;
> + #if !defined(_CRAY) || defined(_CRAYSV2)
> mysignal(SIGCHLD, sigchld_handler);
> + #endif
> notify_parent();
> errno = save_errno;
> }
> diff -cr openssh/session.c openssh.cray/session.c
> *** openssh/session.c Wed Sep 18 20:50:49 2002
> --- openssh.cray/session.c Mon Sep 23 12:47:35 2002
> ***************
> *** 57,62 ****
> --- 57,65 ----
> #include "canohost.h"
> #include "session.h"
> #include "monitor_wrap.h"
> + #if defined(_CRAY) && ! defined(_CRAYSV2)
> + #include <tmpdir.h>
> + #endif
>
> #ifdef HAVE_CYGWIN
> #include <windows.h>
> ***************
> *** 519,528 ****
> --- 522,538 ----
> perror("dup2 stderr");
> #endif /* USE_PIPES */
>
> + #if defined(_CRAY) && ! defined(_CRAYSV2)
> + cray_init_job(s->pw); /* set up cray jid and tmpdir */
> + #endif
> +
> /* Do processing for the child (exec command etc). */
> do_child(s, command);
> /* NOTREACHED */
> }
> + #if defined(_CRAY) && ! defined(_CRAYSV2)
> + signal(WJSIGNAL, cray_job_termination_handler);
> + #endif /* _CRAY */
> #ifdef HAVE_CYGWIN
> if (is_winnt)
> cygwin_set_impersonation_token(INVALID_HANDLE_VALUE);
> ***************
> *** 611,617 ****
> --- 621,632 ----
> /* record login, etc. similar to login(1) */
> #ifndef HAVE_OSF_SIA
> if (!(options.use_login && command == NULL))
> + {
> + #if defined(_CRAY) && !defined(_CRAYSV2)
> + cray_init_job(s->pw); /* set up cray jid and tmpdir */
> + #endif /* _CRAY */
> do_login(s, command);
> + }
> # ifdef LOGIN_NEEDS_UTMPX
> else
> do_pre_login(s);
> ***************
> *** 622,627 ****
> --- 637,645 ----
> do_child(s, command);
> /* NOTREACHED */
> }
> + #if defined(_CRAY) && !defined(_CRAYSV2)
> + signal(WJSIGNAL, cray_job_termination_handler);
> + #endif /* _CRAY */
> #ifdef HAVE_CYGWIN
> if (is_winnt)
> cygwin_set_impersonation_token(INVALID_HANDLE_VALUE);
> ***************
> *** 762,767 ****
> --- 780,786 ----
> printf("%s\n", aixloginmsg);
> #endif /* WITH_AIXAUTHENTICATE */
>
> + #if !defined(_CRAY) || defined(_CRAYSV2)
> if (options.print_lastlog && s->last_login_time != 0) {
> time_string = ctime(&s->last_login_time);
> if (strchr(time_string, '\n'))
> ***************
> *** 772,778 ****
> printf("Last login: %s from %s\r\n", time_string,
> s->hostname);
> }
> !
> do_motd();
> }
>
> --- 791,797 ----
> printf("Last login: %s from %s\r\n", time_string,
> s->hostname);
> }
> ! #endif /* _CRAY */
> do_motd();
> }
>
> ***************
> *** 1031,1036 ****
> --- 1050,1060 ----
> child_set_env(&env, &envsize, "SSH_ORIGINAL_COMMAND",
> original_command);
>
> + #if defined(_CRAY) && !defined(_CRAYSV2)
> + if (cray_tmpdir[0] != '\0')
> + child_set_env(&env, &envsize, "TMPDIR", cray_tmpdir);
> + #endif /* _CRAY */
> +
> #ifdef _AIX
> {
> char *cp;
> ***************
> *** 1281,1286 ****
> --- 1305,1314 ----
> /* login(1) is only called if we execute the login shell */
> if (options.use_login && command != NULL)
> options.use_login = 0;
> +
> + #if defined(_CRAY) && !defined(_CRAYSV2)
> + cray_setup(pw->pw_uid, pw->pw_name, command);
> + #endif /* _CRAY */
>
> /*
> * Login(1) does this as well, and it needs uid 0 for the "-h"
>
More information about the openssh-unix-dev
mailing list