Patches for Cray T3Es running Unicossmk and SV1s running Unicos

mouring at etoh.eviladmin.org mouring at etoh.eviladmin.org
Mon Jul 23 04:45:40 EST 2001


I'll commit the sections that are non distruptive soon.. I think there are
things that will need to be discussed on list before the whole patch gets
applied.

But let deal with the easy issues. =)

1)  Where is openbsd-compat/bsd-cray.h ?
It should house all the stuff like this (from session.c)

+#ifdef _CRAY
+void   cray_init_job(struct passwd *);         /* init cray job */
+void           cray_job_termination_handler(int);      /* process end of
job signal */
+void   cray_setup();                           /* set cray limits */
+extern  char   cray_tmpdir[];                  /* cray tmpdir */
+#endif
+

And it should be included in the openbsd-compat.h

2) In deattack.c

+#ifdef _CRAY
+        for (i=0; i<n; i++) h[i] = HASH_UNUSED;
+#else
        memset(h, HASH_UNUSEDCHAR, n * HASH_ENTRYSIZE);
+#endif

I'd rather see bsd-cray.c  have a memset() function that mimic what
we expect from memset().  It makes is easier when it comes to syncing
between portable and OpenBSD.

will the following OpenBSD code run and work right under Cray?  If so
I'll be happy to import it and then we can detect of memset() exists
and fall back to the below code if it's not.

http://www.openbsd.org/cgi-bin/cvsweb/src/lib/libc/string/memset.c

Better question is why the hackery around that memset() and not the one in
openssh/openbsd-compat/rresvport.c ??

3) Is this a typo in ssh_prng_cmds.in ?

+
+"sar -d"                               @PROG_SAR[@     0.04

Is the ] really supose to be there? =)


Damien, I think we should consider renaming openbsd-compat/bindresvport.c
to openbsd-compat/bsd-bindresvport.c if we accept the cray proposed
changes.  The code will be very hard to resync with the OpenBSD's version
after this patch.

- Ben

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
>
> 2) Crays don't have setitimer so I changed scp.c to use alarm which
>    should work on all systems.
>
> 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.
>
> 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
>
> 6) Cray gets pty differently so getpty.c has a few more levels of ifdef's,
>    sigh.
>
> 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.
>
> This is the third posting. I think the others went into the bit bucket
> do to a domain change.
>
> William L Jones
>






More information about the openssh-unix-dev mailing list