OS/390 openssh

Darren Tucker dtucker at zip.com.au
Wed Oct 8 22:26:31 EST 2003


Martin Kraemer wrote:
> OpenSSH-portable developers: do you think this could be added as
> a new platform to the portable version? What should be changed to
> allow its addition?
> I *tried* to make it not-too-ugly, at least... ;-)

Bearing in mind this is just my own opinion...

Guiding principle: keep diffs with OpenBSD's SSH to a minimum as far as
reasonable.
Secondary principle: keep the rest of the changes as generic as possible.

In openbsd-compat, add a port-bs2000.c (or maybe a port-ebcdic.c or maybe
both) and put your platform-specific functions in there.

Instead of doing this:
>  #ifdef CUSTOM_FAILED_LOGIN
>        if (authenticated == 0 && strcmp(method, "password") == 0)
> +        {
> +#if #system(bs2000)
> +               record_failed_login_attempt(authctxt->user,
[snip]
>  #else
>                 record_failed_login(authctxt->user, "ssh");
>  #endif
> +       }
> +#endif

Add another argument to record_failed_login() (eg "reason", maybe make it
an enum), put your own record_failed_login() into port-bs2000.c and lose
the #ifdefs.

> diff -bur openssh-3.7.1p2.orig/contrib/solaris/opensshd.in

Why are you modifying Solaris files?

>        /* Fork the child. */
> +#if #system(bs2000)
[snip]
> +         if ((pid = ufork(upper)) == -1 && errno == EPERM) {

Could you achieve the same thing by creating a replacement fork() funtion
in port-bs2000.c?

> + /* EBCDIC problem: A-I J-R S-Z are contiguous, but there's a gap between
> the three subranges:

What kind of drugs were involved in creating a character set where the
alphabet is non-contiguous :-?

-- 
Darren Tucker (dtucker at zip.com.au)
GPG key 8FF4FA69 / D9A3 86E9 7EEE AF4B B2D4  37C9 C982 80C7 8FF4 FA69
    Good judgement comes with experience. Unfortunately, the experience
usually comes from bad judgement.




More information about the openssh-unix-dev mailing list