Trusted HP-UX 10.26
Ben Lindstrom
mouring at etoh.eviladmin.org
Tue Mar 26 11:29:43 EST 2002
Please avoid C++ comments.. They are not accepted on very C compiler.
- Ben
On Mon, 25 Mar 2002, Darren Cole wrote:
> Here the patch to make 3.1p1 openssh configure and build for Trusted HP-UX
> 10.26.
> What this patch does.
> First it adds support to correctly configure on Trusted HP-UX 10.26
> In turn this enables sshd to run successfully (otherwise it wont work at
> all). Once logged in the user will have the right clearance and privilege
> sets.
>
> Note: This patch does not due privilege bracketting, nor does it make sshd
> multilevel aware (if you don't know what this means, don't worry about it)
>
> Some asked for seperate patches when they are large, but to keep them
> together if they are all for one fix. At only a 184 lines, I figured
> keeping the patch together was better than 4 or 5 different patches.
>
> ___patch follows___
> diff -cr openssh-3.1p1.orig/acconfig.h openssh-3.1p1/acconfig.h
> *** openssh-3.1p1.orig/acconfig.h Tue Feb 26 16:40:49 2002
> --- openssh-3.1p1/acconfig.h Thu Mar 21 23:19:56 2002
> ***************
> *** 222,227 ****
> --- 222,229 ----
>
> /* Defined if in_systm.h needs to be included with netinet/ip.h (HPUX -
> <sigh/>) */
> #undef NEED_IN_SYSTM_H
> + /* Defined if on a Trusted HPUX system */
> + #undef TRUSTED_HPUX
>
> /* Define if you have an old version of PAM which takes only one argument
> */
> /* to pam_strerror */
> diff -cr openssh-3.1p1.orig/auth2.c openssh-3.1p1/auth2.c
> *** openssh-3.1p1.orig/auth2.c Tue Feb 26 18:09:43 2002
> --- openssh-3.1p1/auth2.c Fri Mar 22 22:39:22 2002
> ***************
> *** 23,28 ****
> --- 23,32 ----
> */
>
> #include "includes.h"
> + #ifdef TRUSTED_HPUX
> + #include <sys/security.h>
> + #include <prot.h>
> + #endif
> RCSID("$OpenBSD: auth2.c,v 1.85 2002/02/24 19:14:59 markus Exp $");
>
> #include <openssl/evp.h>
> ***************
> *** 183,190 ****
> --- 187,209 ----
>
> if (authctxt->attempt++ == 0) {
> /* setup auth context */
> + #ifdef TRUSTED_HPUX
> + struct pr_passwd *pr_pw = NULL;
> + #endif
> struct passwd *pw = NULL;
> pw = getpwnam(user);
> +
> + #ifdef TRUSTED_HPUX
> + file://Trusted HP-UX passwords are stored differently
> + file://you need to call getprpwnam to get the password for
> + file://a user.
> + pr_pw = getprpwnam(pw->pw_name);
> + file://This dies with a bus error, but isn't
> + file://this a pointer that should be freed
> + file://before we reassign?
> + file://free(pw->pw_passwd);
> + pw->pw_passwd=pr_pw->ufld.fd_encrypt;
> + #endif
> if (pw && allowed_user(pw) && strcmp(service, "ssh-connection")==0) {
> authctxt->pw = pwcopy(pw);
> authctxt->valid = 1;
> Common subdirectories: openssh-3.1p1.orig/autom4te.cache and
> openssh-3.1p1/autom4te.cache
> diff -cr openssh-3.1p1.orig/configure.ac openssh-3.1p1/configure.ac
> *** openssh-3.1p1.orig/configure.ac Wed Feb 27 06:12:35 2002
> --- openssh-3.1p1/configure.ac Fri Mar 22 00:08:59 2002
> ***************
> *** 80,85 ****
> --- 80,100 ----
> *-*-darwin*)
> AC_DEFINE(BROKEN_GETADDRINFO)
> ;;
> + *-*-hpux10.26)
> + if test -z "$GCC"; then
> + CFLAGS="$CFLAGS -Ae"
> + fi
> +
>
> CPPFLAGS="$CPPFLAGS -D_HPUX_SOURCE -D_XOPEN_SOURCE -D_XOPEN_SOURCE_EXTENDED=
> 1"
> + IPADDR_IN_DISPLAY=yes
> + AC_DEFINE(USE_PIPES)
> + AC_DEFINE(TRUSTED_HPUX)
> + AC_DEFINE(LOGIN_NEEDS_UTMPX)
> + AC_DEFINE(DISABLE_SHADOW)
> + AC_DEFINE(DISABLE_UTMP)
> + AC_DEFINE(SPT_TYPE,SPT_PSTAT)
> + LIBS="$LIBS -lxnet -lsec -lsecpw"
> + disable_ptmx_check=yes
> + ;;
> *-*-hpux10*)
> if test -z "$GCC"; then
> CFLAGS="$CFLAGS -Ae"
> ***************
> *** 1769,1780 ****
> fi
>
> if test -z "$no_dev_ptmx" ; then
> ! AC_CHECK_FILE("/dev/ptmx",
> ! [
> ! AC_DEFINE_UNQUOTED(HAVE_DEV_PTMX)
> ! have_dev_ptmx=1
> ! ]
> ! )
> fi
> AC_CHECK_FILE("/dev/ptc",
> [
> --- 1784,1797 ----
> fi
>
> if test -z "$no_dev_ptmx" ; then
> ! if test "x$disable_ptmx_check" != "xyes" ; then
> ! AC_CHECK_FILE("/dev/ptmx",
> ! [
> ! AC_DEFINE_UNQUOTED(HAVE_DEV_PTMX)
> ! have_dev_ptmx=1
> ! ]
> ! )
> ! fi
> fi
> AC_CHECK_FILE("/dev/ptc",
> [
> Common subdirectories: openssh-3.1p1.orig/contrib and openssh-3.1p1/contrib
> Common subdirectories: openssh-3.1p1.orig/openbsd-compat and
> openssh-3.1p1/openbsd-compat
> Common subdirectories: openssh-3.1p1.orig/scard and openssh-3.1p1/scard
> diff -cr openssh-3.1p1.orig/session.c openssh-3.1p1/session.c
> *** openssh-3.1p1.orig/session.c Mon Feb 25 15:48:03 2002
> --- openssh-3.1p1/session.c Fri Mar 22 22:56:30 2002
> ***************
> *** 1285,1291 ****
> --- 1285,1297 ----
> #ifdef LOGIN_NEEDS_TERM
> (s->term ? s->term : "unknown"),
> #endif /* LOGIN_NEEDS_TERM */
> + #ifdef TRUSTED_HPUX
> + // the "--" makes login hang on Trusted HP-UX
> + // 10.26
> + "-p", "-f", pw->pw_name, (char *)NULL);
> + #else
> "-p", "-f", "--", pw->pw_name, (char *)NULL);
> + #endif
>
> /* Login couldn't be executed, die. */
>
> ***************
> *** 1736,1741 ****
> --- 1742,1757 ----
> */
> if (c->ostate != CHAN_OUTPUT_CLOSED)
> chan_write_failed(c);
> + #ifdef TRUSTED_HPUX
> + file://Took two lines from a patch at:
> + // <http://www.math.ualberta.ca/imaging/snfs/>
> + file://by John C. Bowman
> + file://There is some speculation that you could possibly
> + file://see data loss from this on usenet. But without
> + file://this sshd does not exit on logout.
> + if (s->ttyfd != -1 && c->istate == CHAN_INPUT_OPEN)
> + chan_read_failed(c);
> + #endif
> s->chanid = -1;
> }
>
> diff -cr openssh-3.1p1.orig/sshd.c openssh-3.1p1/sshd.c
> *** openssh-3.1p1.orig/sshd.c Tue Mar 5 01:31:30 2002
> --- openssh-3.1p1/sshd.c Fri Mar 22 22:32:56 2002
> ***************
> *** 45,50 ****
> --- 45,54 ----
> #include <openssl/dh.h>
> #include <openssl/bn.h>
> #include <openssl/md5.h>
> + file://Trusted HP-UX
> + #include <sys/security.h>
> + #include <prot.h>
> + file://end Trusted HP-UX
>
> #include "ssh.h"
> #include "ssh1.h"
> ***************
> *** 596,601 ****
> --- 600,610 ----
> int startups = 0;
> Key *key;
> int ret, key_used = 0;
> + #ifdef TRUSTED_HPUX
> + file://This call is needed for getprpwnam in auth2.c
> + file://to initialize the security system for Trusted HP-UX
> + set_auth_parameters(ac, av);
> + #endif
>
> __progname = get_progname(av[0]);
> init_rng();
>
>
> _______________________________________________
> openssh-unix-dev at mindrot.org mailing list
> http://www.mindrot.org/mailman/listinfo/openssh-unix-dev
>
More information about the openssh-unix-dev
mailing list