ports/79029: Update port: security/openssh-portable to 4.0p1

Dimitry Andric dimitry at andric.com
Sun Mar 20 00:30:09 UTC 2005


The following reply was made to PR ports/79029; it has been noted by GNATS.

From: Dimitry Andric <dimitry at andric.com>
To: freebsd-gnats-submit at FreeBSD.org,
	Marcus Grando <marcus at corp.grupos.com.br>
Cc:  
Subject: Re: ports/79029: Update port: security/openssh-portable to 4.0p1
Date: Sun, 20 Mar 2005 00:57:17 +0100

 On Sat, Mar 19, 2005 at 08:19:52PM -0300, Marcus Grando wrote:
 > Send a unified diff(1). It's better for commiters.
 
 Here's a diff:
 
 diff -urNd openssh-portable.orig/Makefile openssh-portable/Makefile
 --- openssh-portable.orig/Makefile	Sun Nov  7 16:12:49 2004
 +++ openssh-portable/Makefile	Sat Mar 19 20:39:52 2005
 @@ -6,7 +6,7 @@
  #
  
  PORTNAME=	openssh
 -PORTVERSION=	3.9.0.1
 +PORTVERSION=	4.0.0.1
  .if defined(OPENSSH_SNAPSHOT)
  PORTREVISION!=	date -v-1d +%Y%m%d
  .endif
 @@ -21,7 +21,7 @@
  MAINTAINER=	ports at FreeBSD.org
  COMMENT=	The portable version of OpenBSD's OpenSSH
  
 -OPENSSHVERSION=	3.9p1
 +OPENSSHVERSION=	4.0p1
  .if defined(OPENSSH_SNAPSHOT)
  MASTER_SITE_SUBDIR2=	snapshot/
  DISTNAME2=	${PORTNAME}-SNAP-${PORTREVISION}
 diff -urNd openssh-portable.orig/distinfo openssh-portable/distinfo
 --- openssh-portable.orig/distinfo	Wed Aug 18 13:35:53 2004
 +++ openssh-portable/distinfo	Sat Mar 19 20:39:08 2005
 @@ -1,2 +1,2 @@
 -MD5 (openssh-3.9p1.tar.gz) = 8e1774d0b52aff08f817f3987442a16e
 -SIZE (openssh-3.9p1.tar.gz) = 854027
 +MD5 (openssh-4.0p1.tar.gz) = 7b36f28fc16e1b7f4ba3c1dca191ac92
 +SIZE (openssh-4.0p1.tar.gz) = 889880
 diff -urNd openssh-portable.orig/files/patch-auth-pam.c openssh-portable/files/patch-auth-pam.c
 --- openssh-portable.orig/files/patch-auth-pam.c	Thu Jan  1 01:00:00 1970
 +++ openssh-portable/files/patch-auth-pam.c	Sat Mar 19 21:56:50 2005
 @@ -0,0 +1,65 @@
 +--- auth-pam.c.orig	Thu Jan 20 03:29:51 2005
 ++++ auth-pam.c	Sat Mar 19 21:52:37 2005
 +@@ -290,7 +290,7 @@
 +  * Conversation function for authentication thread.
 +  */
 + static int
 +-sshpam_thread_conv(int n, struct pam_message **msg,
 ++sshpam_thread_conv(int n, const struct pam_message **msg,
 +     struct pam_response **resp, void *data)
 + {
 + 	Buffer buffer;
 +@@ -390,7 +390,7 @@
 + 	u_int i;
 + 	const char *pam_user;
 + 
 +-	pam_get_item(sshpam_handle, PAM_USER, (void **)&pam_user);
 ++	pam_get_item(sshpam_handle, PAM_USER, (const void **)&pam_user);
 + 	environ[0] = NULL;
 + 
 + 	if (sshpam_authctxt != NULL) {
 +@@ -482,7 +482,7 @@
 + }
 + 
 + static int
 +-sshpam_null_conv(int n, struct pam_message **msg,
 ++sshpam_null_conv(int n, const struct pam_message **msg,
 +     struct pam_response **resp, void *data)
 + {
 + 	debug3("PAM: %s entering, %d messages", __func__, n);
 +@@ -492,7 +492,7 @@
 + static struct pam_conv null_conv = { sshpam_null_conv, NULL };
 + 
 + static int
 +-sshpam_store_conv(int n, struct pam_message **msg,
 ++sshpam_store_conv(int n, const struct pam_message **msg,
 +     struct pam_response **resp, void *data)
 + {
 + 	struct pam_response *reply;
 +@@ -565,7 +565,7 @@
 + 	if (sshpam_handle != NULL) {
 + 		/* We already have a PAM context; check if the user matches */
 + 		sshpam_err = pam_get_item(sshpam_handle,
 +-		    PAM_USER, (void **)&pam_user);
 ++		    PAM_USER, (const void **)&pam_user);
 + 		if (sshpam_err == PAM_SUCCESS && strcmp(user, pam_user) == 0)
 + 			return (0);
 + 		pam_end(sshpam_handle, sshpam_err);
 +@@ -881,7 +881,7 @@
 + }
 + 
 + static int
 +-sshpam_tty_conv(int n, struct pam_message **msg,
 ++sshpam_tty_conv(int n, const struct pam_message **msg,
 +     struct pam_response **resp, void *data)
 + {
 + 	char input[PAM_MAX_MSG_SIZE];
 +@@ -1040,7 +1040,7 @@
 +  * display.
 +  */
 + static int
 +-sshpam_passwd_conv(int n, struct pam_message **msg,
 ++sshpam_passwd_conv(int n, const struct pam_message **msg,
 +     struct pam_response **resp, void *data)
 + {
 + 	struct pam_response *reply;
 diff -urNd openssh-portable.orig/files/patch-auth1.c openssh-portable/files/patch-auth1.c
 --- openssh-portable.orig/files/patch-auth1.c	Wed Aug 18 13:35:53 2004
 +++ openssh-portable/files/patch-auth1.c	Sat Mar 19 21:35:03 2005
 @@ -1,23 +1,20 @@
 ---- auth1.c.orig	Thu Aug 12 14:40:25 2004
 -+++ auth1.c	Tue Aug 17 05:40:29 2004
 -@@ -25,6 +25,7 @@
 - #include "session.h"
 +--- auth1.c.orig	Tue Feb  8 11:52:48 2005
 ++++ auth1.c	Sat Mar 19 21:34:47 2005
 +@@ -26,6 +26,7 @@
   #include "uidswap.h"
   #include "monitor_wrap.h"
 + #include "buffer.h"
  +#include "canohost.h"
   
   /* import */
   extern ServerOptions options;
 -@@ -69,6 +70,18 @@
 +@@ -71,6 +72,15 @@
   	u_int dlen;
   	u_int ulen;
   	int prev, type = 0;
  +#ifdef HAVE_LOGIN_CAP
  +	login_cap_t *lc;
 -+#endif
 -+#ifdef USE_PAM
 -+	struct inverted_pam_cookie *pam_cookie;
 -+#endif /* USE_PAM */
 ++#endif /* HAVE_LOGIN_CAP */
  +#if defined(HAVE_LOGIN_CAP) || defined(LOGIN_ACCESS)
  +	const char *from_host, *from_ip;
  +
 @@ -27,7 +24,7 @@
   
   	debug("Attempting authentication for %s%.100s.",
   	    authctxt->valid ? "" : "invalid user ", authctxt->user);
 -@@ -217,6 +230,34 @@
 +@@ -219,6 +229,34 @@
   			logit("Unknown message during authentication: type %d", type);
   			break;
   		}
 diff -urNd openssh-portable.orig/files/patch-auth2.c openssh-portable/files/patch-auth2.c
 --- openssh-portable.orig/files/patch-auth2.c	Sun Nov  7 16:12:49 2004
 +++ openssh-portable/files/patch-auth2.c	Sat Mar 19 20:50:50 2005
 @@ -1,14 +1,14 @@
 ---- auth2.c.orig	Thu Aug 12 14:40:25 2004
 -+++ auth2.c	Mon Sep 20 05:04:48 2004
 -@@ -35,6 +35,7 @@
 - #include "dispatch.h"
 +--- auth2.c.orig	Tue Feb  8 11:52:48 2005
 ++++ auth2.c	Sat Mar 19 20:50:32 2005
 +@@ -36,6 +36,7 @@
   #include "pathnames.h"
   #include "monitor_wrap.h"
 + #include "buffer.h"
  +#include "canohost.h"
   
   #ifdef GSSAPI
   #include "ssh-gss.h"
 -@@ -134,6 +135,15 @@
 +@@ -136,6 +137,15 @@
   	Authmethod *m = NULL;
   	char *user, *service, *method, *style = NULL;
   	int authenticated = 0;
 @@ -24,7 +24,7 @@
   
   	if (authctxt == NULL)
   		fatal("input_userauth_request: no authctxt");
 -@@ -178,6 +188,41 @@
 +@@ -183,6 +193,41 @@
   		    "(%s,%s) -> (%s,%s)",
   		    authctxt->user, authctxt->service, user, service);
   	}
 diff -urNd openssh-portable.orig/files/patch-fake-rfc2553.h openssh-portable/files/patch-fake-rfc2553.h
 --- openssh-portable.orig/files/patch-fake-rfc2553.h	Thu Jan  1 01:00:00 1970
 +++ openssh-portable/files/patch-fake-rfc2553.h	Sat Mar 19 21:28:02 2005
 @@ -0,0 +1,11 @@
 +--- openbsd-compat/fake-rfc2553.h.orig	Fri Feb 11 08:32:13 2005
 ++++ openbsd-compat/fake-rfc2553.h	Sat Mar 19 21:27:33 2005
 +@@ -113,7 +113,7 @@
 + # define NI_MAXHOST 1025
 + #endif /* !NI_MAXHOST */
 + 
 +-#ifndef EAI_NODATA
 ++#ifndef EAI_MEMORY
 + # define EAI_NODATA	1
 + # define EAI_MEMORY	2
 + # define EAI_NONAME	3
 diff -urNd openssh-portable.orig/files/patch-loginrec.c openssh-portable/files/patch-loginrec.c
 --- openssh-portable.orig/files/patch-loginrec.c	Sun Nov  7 16:12:49 2004
 +++ openssh-portable/files/patch-loginrec.c	Sat Mar 19 20:56:28 2005
 @@ -1,21 +1,22 @@
 ---- loginrec.c.orig	Sun Aug 15 11:12:52 2004
 -+++ loginrec.c	Mon Sep 20 05:04:48 2004
 -@@ -167,6 +167,9 @@
 +--- loginrec.c.orig	Tue Feb 15 12:19:28 2005
 ++++ loginrec.c	Sat Mar 19 20:55:59 2005
 +@@ -164,6 +164,9 @@
   #ifdef HAVE_LIBUTIL_H
 - #   include <libutil.h>
 + # include <libutil.h>
   #endif
  +#ifdef __FreeBSD__
  +#include <osreldate.h>
  +#endif
   
 - /**
 -  ** prototypes for helper functions in this file
 -@@ -657,7 +660,12 @@
 - 	/* Use strncpy because we don't necessarily want null termination */
 - 	strncpy(ut->ut_name, li->username, MIN_SIZEOF(ut->ut_name, li->username));
 + RCSID("$Id: loginrec.c,v 1.67 2005/02/15 11:19:28 dtucker Exp $");
 + 
 +@@ -670,8 +673,13 @@
 + 	strncpy(ut->ut_name, li->username,
 + 	    MIN_SIZEOF(ut->ut_name, li->username));
   # ifdef HAVE_HOST_IN_UTMP
  +# if defined(__FreeBSD__) && __FreeBSD_version <= 400000
 - 	strncpy(ut->ut_host, li->hostname, MIN_SIZEOF(ut->ut_host, li->hostname));
 + 	strncpy(ut->ut_host, li->hostname,
 + 	    MIN_SIZEOF(ut->ut_host, li->hostname));
  +# else
  +	realhostname_sa(ut->ut_host, sizeof ut->ut_host,
  +	    &li->hostaddr.sa, li->hostaddr.sa.sa_len);
 diff -urNd openssh-portable.orig/files/patch-session.c openssh-portable/files/patch-session.c
 --- openssh-portable.orig/files/patch-session.c	Sun Nov  7 16:12:49 2004
 +++ openssh-portable/files/patch-session.c	Sat Mar 19 21:57:29 2005
 @@ -1,5 +1,5 @@
 ---- session.c.orig	Thu Aug 12 14:40:25 2004
 -+++ session.c	Tue Sep 21 19:48:42 2004
 +--- session.c.orig	Sun Mar  6 12:38:52 2005
 ++++ session.c	Sat Mar 19 21:45:32 2005
  @@ -66,6 +66,11 @@
   #include "ssh-gss.h"
   #endif
 @@ -12,7 +12,7 @@
   /* func */
   
   Session *session_new(void);
 -@@ -410,6 +415,13 @@
 +@@ -414,6 +419,13 @@
   		log_init(__progname, options.log_level, options.log_facility, log_stderr);
   
   		/*
 @@ -26,17 +26,7 @@
   		 * Create a new session and process group since the 4.4BSD
   		 * setlogin() affects the entire process group.
   		 */
 -@@ -526,6 +538,9 @@
 - {
 - 	int fdout, ptyfd, ttyfd, ptymaster;
 - 	pid_t pid;
 -+#if defined(USE_PAM)
 -+	const char *shorttty;
 -+#endif
 - 
 - 	if (s == NULL)
 - 		fatal("do_exec_pty: no session");
 -@@ -546,6 +561,14 @@
 +@@ -550,6 +562,14 @@
   
   		/* Child.  Reinitialize the log because the pid has changed. */
   		log_init(__progname, options.log_level, options.log_facility, log_stderr);
 @@ -51,26 +41,26 @@
   		/* Close the master side of the pseudo tty. */
   		close(ptyfd);
   
 -@@ -692,6 +715,18 @@
 +@@ -700,6 +720,18 @@
   	struct sockaddr_storage from;
   	struct passwd * pw = s->pw;
   	pid_t pid = getpid();
  +#ifdef HAVE_LOGIN_CAP
  +	FILE *f;
  +	char buf[256];
 -+	char *fname;
 ++	const char *fname;
  +	const char *shorttty;
  +#endif /* HAVE_LOGIN_CAP */
  +#ifdef __FreeBSD__
  +#define DEFAULT_WARN  (2L * 7L * 86400L)  /* Two weeks */
 -+	char *newcommand;
 ++	char *newcommand = NULL;
  +	struct timeval tv;
  +	time_t warntime = DEFAULT_WARN;
  +#endif /* __FreeBSD__ */
   
   	/*
   	 * Get IP address of client. If the connection is not a socket, let
 -@@ -727,12 +762,101 @@
 +@@ -735,12 +767,101 @@
   	}
   #endif
   
 @@ -173,7 +163,7 @@
   }
   
   /*
 -@@ -748,9 +872,9 @@
 +@@ -756,9 +877,9 @@
   #ifdef HAVE_LOGIN_CAP
   		f = fopen(login_getcapstr(lc, "welcome", "/etc/motd",
   		    "/etc/motd"), "r");
 @@ -185,7 +175,7 @@
   		if (f) {
   			while (fgets(buf, sizeof(buf), f))
   				fputs(buf, stdout);
 -@@ -777,10 +901,10 @@
 +@@ -785,10 +906,10 @@
   #ifdef HAVE_LOGIN_CAP
   	if (login_getcapbool(lc, "hushlogin", 0) || stat(buf, &st) >= 0)
   		return 1;
 @@ -198,10 +188,15 @@
   	return 0;
   }
   
 -@@ -967,6 +1091,10 @@
 +@@ -974,7 +1095,14 @@
 + {
   	char buf[256];
   	u_int i, envsize;
 - 	char **env, *laddr, *path = NULL;
 +-	char **env, *laddr, *path = NULL;
 ++	char **env, *laddr;
 ++#ifdef HAVE_CYGWIN
 ++	char *path = NULL;
 ++#endif /* HAVE_CYGWIN */
  +#ifdef HAVE_LOGIN_CAP
  +	extern char **environ;
  +	char **senv, **var;
 @@ -209,7 +204,7 @@
   	struct passwd *pw = s->pw;
   
   	/* Initialize the environment. */
 -@@ -974,6 +1102,9 @@
 +@@ -982,6 +1110,9 @@
   	env = xmalloc(envsize * sizeof(char *));
   	env[0] = NULL;
   
 @@ -219,7 +214,7 @@
   #ifdef HAVE_CYGWIN
   	/*
   	 * The Windows environment contains some setting which are
 -@@ -1032,9 +1163,21 @@
 +@@ -1046,9 +1177,21 @@
   
   		/* Normal systems set SHELL by default. */
   		child_set_env(&env, &envsize, "SHELL", shell);
 @@ -243,7 +238,7 @@
   
   	/* Set custom environment options from RSA authentication. */
   	if (!options.use_login) {
 -@@ -1234,6 +1377,12 @@
 +@@ -1258,6 +1401,12 @@
   void
   do_setusercontext(struct passwd *pw)
   {
 @@ -256,7 +251,7 @@
   #ifndef HAVE_CYGWIN
   	if (getuid() == 0 || geteuid() == 0)
   #endif /* HAVE_CYGWIN */
 -@@ -1254,10 +1403,30 @@
 +@@ -1285,10 +1434,30 @@
   		}
   # endif /* USE_PAM */
   		if (setusercontext(lc, pw, pw->pw_uid,
 @@ -288,7 +283,7 @@
   #else
   # if defined(HAVE_GETLUID) && defined(HAVE_SETLUID)
   		/* Sets login uid for accounting */
 -@@ -1284,7 +1453,16 @@
 +@@ -1322,7 +1491,16 @@
   		 * Reestablish them here.
   		 */
   		if (options.use_pam) {
 @@ -306,7 +301,7 @@
   			do_pam_setcred(0);
   		}
   # endif /* USE_PAM */
 -@@ -1374,7 +1552,7 @@
 +@@ -1417,7 +1595,7 @@
   	 * initgroups, because at least on Solaris 2.3 it leaves file
   	 * descriptors open.
   	 */
 @@ -315,7 +310,7 @@
   		close(i);
   }
   
 -@@ -1503,6 +1681,31 @@
 +@@ -1553,6 +1731,31 @@
   			exit(1);
   #endif
   	}



More information about the freebsd-ports-bugs mailing list