Patches for Cray T3Es running Unicossmk and SV1s running Unicos

Wendy Palm wendyp at cray.com
Wed Jul 25 04:52:46 EST 2001


Kevin Steves wrote:
> 
> On Sun, 22 Jul 2001, William L. Jones wrote:
> :This patch is against Cray patch against openssh-SNAP-20010710.  Here
> :a few notes about them:
> :
> :1) rijndael does not work on cray due to the fact it is rooted in 32 bits.
> :   I looking for a fix, it may come form Wendy Palam.  For now the cray
> :   default to the following cihpers for ssh version 2 ssh are:
> :        3des-cbc,blowfish-cbc,cast128-cbc,arcfour
> 
> i don't know the issues, but you can drop Brian Gladman
> <brg at gladman.plus.com> a line, as it's his implementation.  note that
> openssh doesn't use his latest version.
> http://fp.gladman.plus.com/cryptography_technology/rijndael/index.htm

thanks.  i will.

> 
> :2) Crays don't have setitimer so I changed scp.c to use alarm which
> :   should work on all systems.
> 
> i can see if something like this makes sense to go into the openbsd tree.
> 
> :3) Created bsd-cray.c in openbsd-compat.  This mainly supports cray TMPDIR
> :   environment variable, jid, and setting job and process limits form cray's
> :   udb.  I could have put them in seesion.c but I think session.c is getting
> :   to loaded with speicalied system codes.  The same is true for pty.c.
> :   Maby it time to split out the code int seperate system modules in
> :   the openbsd-compat directiry.
> :
> :4) Fixed a few minor issues with resetting SIGCHLD.  If you  permanently
> :install
> :   a signal with mysingnal for SIGCHLD you don't need to reset it in the
> :   sigchld handler.  You can get into a infinite signal loop if the sigchld
> :   handler does not reap the child win it is called if it reset the sigchld
> :   handler, it is a cray thing.
> 
> does cray have sigaction()?  i think we should be using mysignal() in the
> protocol 1 loop now that the signal handlers have converged.  can you try
> the patch below?

yes.  cray does have sigaction().  i'll check out the patch you provided (but
probably won't get to it til next week, sorry).  bill might beat me to it.

> 
> :5) It is possible to get an EINTR on a waitpid call on a cray, it has to do
> :   with the job termination signal.  Loop on waitpid if errno is EINTR in
> :   serverloop.c
> 
> another possible change to sync with openbsd.
> 
> :6) Cray gets pty differently so getpty.c has a few more levels of ifdef's,
> :   sigh.
> 
> i need to look at that closer.
> 
> :7) Add some more cray specific prng commands. Needed more entropy!
> :
> :Let me know if you have any questions or need any changes to this set
> :of patches.

thanks.
wendy


> 
> Index: serverloop.c
> ===================================================================
> RCS file: /var/cvs/openssh/serverloop.c,v
> retrieving revision 1.74
> diff -u -r1.74 serverloop.c
> --- serverloop.c        2001/07/18 16:01:48     1.74
> +++ serverloop.c        2001/07/24 17:35:35
> @@ -448,7 +448,7 @@
> 
>         /* Initialize the SIGCHLD kludge. */
>         child_terminated = 0;
> -       signal(SIGCHLD, sigchld_handler);
> +       mysignal(SIGCHLD, sigchld_handler);
> 
>         /* Initialize our global variables. */
>         fdin = fdin_arg;
> @@ -621,7 +621,7 @@
>         channel_free_all();
> 
>         /* We no longer want our SIGCHLD handler to be called. */
> -       signal(SIGCHLD, SIG_DFL);
> +       mysignal(SIGCHLD, SIG_DFL);
> 
>         wait_pid = waitpid(-1, &wait_status, child_terminated ? WNOHANG : 0);
>         if (wait_pid == -1)
> @@ -710,7 +710,7 @@
>         if (writeset)
>                 xfree(writeset);
> 
> -       signal(SIGCHLD, SIG_DFL);
> +       mysignal(SIGCHLD, SIG_DFL);
> 
>         while ((pid = waitpid(-1, &status, WNOHANG)) > 0)
>                 session_close_by_pid(pid, status);

-- 
wendy palm
Cray OS Sustaining Engineering, Cray Inc.
wendyp at cray.com, 651-605-9154



More information about the openssh-unix-dev mailing list