diff options
-rw-r--r-- | ChangeLog | 1 | ||||
-rw-r--r-- | acconfig.h | 3 | ||||
-rw-r--r-- | auth-passwd.c | 20 | ||||
-rw-r--r-- | bsd-login.c | 8 | ||||
-rw-r--r-- | configure.in | 4 | ||||
-rw-r--r-- | contrib/redhat/openssh.spec | 2 | ||||
-rw-r--r-- | contrib/suse/openssh.spec | 2 |
7 files changed, 37 insertions, 3 deletions
@@ -1,6 +1,7 @@ 20000520 - Xauth fix from Markus Friedl <markus.friedl@informatik.uni-erlangen.de> - Don't touch utmp if USE_UTMPX defined + - SunOS 4.x support from Todd C. Miller <Todd.Miller@courtesan.com> 20000518 - Include Andre Lucas' fixprogs script. Forgot to "cvs add" it yesterday @@ -102,6 +102,9 @@ /* Define if you want have trusted HPUX */ #undef HAVE_HPUX_TRUSTED_SYSTEM_PW +/* Define if you have getpwanam(3) [SunOS 4.x] */ +#undef HAVE_GETPWANAM + /* Defined if in_systm.h needs to be included with netinet/ip.h (HPUX - <sigh/>) */ #undef NEED_IN_SYSTM_H diff --git a/auth-passwd.c b/auth-passwd.c index e64e6568..b27c5bae 100644 --- a/auth-passwd.c +++ b/auth-passwd.c @@ -11,7 +11,7 @@ #ifndef USE_PAM -RCSID("$Id: auth-passwd.c,v 1.19 2000/04/29 14:47:29 damien Exp $"); +RCSID("$Id: auth-passwd.c,v 1.20 2000/05/20 05:03:00 damien Exp $"); #include "packet.h" #include "ssh.h" @@ -28,6 +28,11 @@ RCSID("$Id: auth-passwd.c,v 1.19 2000/04/29 14:47:29 damien Exp $"); #ifdef HAVE_SHADOW_H # include <shadow.h> #endif +#ifdef HAVE_GETPWANAM +# include <sys/label.h> +# include <sys/audit.h> +# include <pwdadj.h> +#endif #if defined(HAVE_MD5_PASSWORDS) && !defined(HAVE_MD5_CRYPT) # include "md5crypt.h" #endif /* defined(HAVE_MD5_PASSWORDS) && !defined(HAVE_MD5_CRYPT) */ @@ -46,6 +51,9 @@ auth_password(struct passwd * pw, const char *password) #ifdef HAVE_SHADOW_H struct spwd *spw; #endif +#ifdef HAVE_GETPWANAM + struct passwd_adjunct *spw; +#endif #ifdef WITH_AIXAUTHENTICATE char *authmsg; char *loginmsg; @@ -99,6 +107,16 @@ auth_password(struct passwd * pw, const char *password) pw_password = spw->sp_pwdp; } #endif /* defined(HAVE_SHADOW_H) && !defined(DISABLE_SHADOW) */ +#if defined(HAVE_GETPWANAM) && !defined(DISABLE_SHADOW) + if (issecure() && (spw = getpwanam(pw->pw_name)) != NULL) + { + /* Check for users with no password. */ + if (strcmp(password, "") == 0 && strcmp(spw->pwa_passwd, "") == 0) + return 1; + + pw_password = spw->pwa_passwd; + } +#endif /* defined(HAVE_GETPWANAM) && !defined(DISABLE_SHADOW) */ if (pw_password[0] != '\0') salt = pw_password; diff --git a/bsd-login.c b/bsd-login.c index de49214c..ecd5e05a 100644 --- a/bsd-login.c +++ b/bsd-login.c @@ -60,6 +60,7 @@ static char *rcsid = "$OpenBSD: login.c,v 1.5 1998/07/13 02:11:12 millert Exp $" #include <stdio.h> #include <string.h> +#ifdef USER_PROCESS /* * find first matching slot in utmp, or "-1" for none * @@ -95,6 +96,13 @@ struct utmp * utp; #endif return(-1); } +#else +int find_tty_slot( utp ) +struct utmp * utp; +{ + return(ttyslot()); +} +#endif #if defined(HAVE_UTMPX_H) && defined(USE_UTMPX) void diff --git a/configure.in b/configure.in index 43749046..60036c7b 100644 --- a/configure.in +++ b/configure.in @@ -110,6 +110,10 @@ case "$host" in need_dash_r=1 AC_DEFINE(USE_UTMPX) ;; +*-*-sunos4*) + CFLAGS="$CFLAGS -DSUNOS4" + AC_CHECK_FUNCS(getpwanam) + ;; *-*-sysv*) CFLAGS="$CFLAGS -I/usr/local/include" LDFLAGS="$LDFLAGS -L/usr/local/lib" diff --git a/contrib/redhat/openssh.spec b/contrib/redhat/openssh.spec index 415719f1..bd628db4 100644 --- a/contrib/redhat/openssh.spec +++ b/contrib/redhat/openssh.spec @@ -1,5 +1,5 @@ # Version of OpenSSH -%define oversion 2.1.0p1 +%define oversion 2.1.0p2 # Version of ssh-askpass %define aversion 1.0 diff --git a/contrib/suse/openssh.spec b/contrib/suse/openssh.spec index 69ab4bda..4c745ac8 100644 --- a/contrib/suse/openssh.spec +++ b/contrib/suse/openssh.spec @@ -1,6 +1,6 @@ Summary: OpenSSH, a free Secure Shell (SSH) implementation Name: openssh -Version: 2.1.0p1 +Version: 2.1.0p2 URL: http://www.openssh.com/ Release: 1 Source0: openssh-%{version}.tar.gz |