Bug 96625

Summary: security/openssh
Product: Ports & Packages Reporter: Peter Thoenen <peter.thoenen>
Component: Individual Port(s)Assignee: freebsd-ports-bugs (Nobody) <ports-bugs>
Status: Closed FIXED    
Severity: Affects Only Me    
Priority: Normal    
Version: Latest   
Hardware: Any   
OS: Any   

Description Peter Thoenen 2006-05-01 21:10:06 UTC
  Included rc.d script never works for me.  For some reason the port
installs the old style rc.local script and ignore the newer rc.subr one
(both are included though in the files subdir).  Attached is a fix for this.
--0-1460702059-1146513787=:16375
Content-Type: text/plain; name="openssh.diff.txt"
Content-Description: 844809025-openssh.diff.txt
Content-Disposition: inline; filename="openssh.diff.txt"

diff -ruN openssh.orig/Makefile openssh/Makefile
--- openssh.orig/Makefile	Thu Apr 27 17:14:32 2006
+++ openssh/Makefile	Thu Apr 27 17:42:57 2006
@@ -7,7 +7,7 @@
 
 PORTNAME=	openssh
 PORTVERSION=	3.6.1
-PORTREVISION=	5
+PORTREVISION=	6
 CATEGORIES=	security
 MASTER_SITES=	ftp://ftp.openbsd.org/pub/OpenBSD/OpenSSH/ \
 		ftp://ftp.usa.openbsd.org/pub/OpenBSD/OpenSSH/ \
@@ -26,13 +26,19 @@
 USE_OPENSSL=	yes
 WRKSRC=		${WRKDIR}/ssh
 
+USE_RC_SUBR=	sshd
+
+OPTIONS=	AFS "With AFC Support" off \
+		KERBEROS "With Kerberos Support" off \
+		SKEY "With SKEY Support" off
+
 MAN1=		scp.1 slogin.1 ssh-add.1 ssh-agent.1 ssh-keygen.1 ssh.1 \
 		ssh-keyscan.1 sftp.1
 MAN5=		ssh_config.5 sshd_config.5
 MAN8=		sshd.8 sftp-server.8 ssh-keysign.8
 MANCOMPRESSED=	yes
 
-MODIFY=		ssh.h sshd_config sshd.sh pathnames.h
+MODIFY=		ssh.h sshd_config pathnames.h
 FIXME=		lib/Makefile scp/Makefile sftp/Makefile sftp-server/Makefile \
 		ssh/Makefile ssh-add/Makefile ssh-agent/Makefile \
 		ssh-keygen/Makefile ssh-keyscan/Makefile sshd/Makefile
@@ -63,11 +69,11 @@
 MAKE_ENV+=	TCP_WRAPPERS=no
 .endif
 
-.if defined(AFS) && ${AFS} == YES
+.ifdef(WITH_AFS) && ${AFS} == YES
 MAKE_ENV+=	AFS=yes
 .endif
 
-.if defined(KERBEROS) && ${KERBEROS} == YES
+.ifdef(WITH_KERBEROS) && ${KERBEROS} == YES
 MAKE_ENV+=	KERBEROS=yes
 .endif
 
@@ -78,7 +84,7 @@
 .endif
 MAKE_ENV+=	PAM=${PAM}
 
-.if defined(SKEY) && ${SKEY} == YES
+.ifdef(WITH_SKEY) && ${SKEY} == YES
 SKEY_SUFFIX=	-skey
 MAKE_ENV+=	SKEY=yes
 .endif
@@ -89,7 +95,6 @@
 PLIST_SUB+=	EMPTYDIR=${EMPTYDIR}
 
 post-extract:
-	@${CP} ${FILESDIR}/sshd.sh ${WRKSRC}/
 .for i in ${ADDLIB}
 	@${CP} ${FILESDIR}/${i} ${WRKSRC}/lib/
 .endfor
@@ -157,7 +162,6 @@
 	@${ECHO_MSG} ">> Installing moduli."
 	${INSTALL_DATA} -c ${FILESDIR}/moduli ${ETCSSH}/moduli
 .endif
-	${INSTALL_SCRIPT} ${WRKSRC}/sshd.sh ${PREFIX}/etc/rc.d/sshd.sh.sample
 	${INSTALL_DATA} -c ${WRKSRC}/ssh_config ${ETCSSH}/ssh_config-dist
 	${INSTALL_DATA} -c ${WRKSRC}/sshd_config ${ETCSSH}/sshd_config-dist
 .if !exists(${ETCSSH}/ssh_config) && !exists(${ETCSSH}/sshd_config) \
diff -ruN openssh.orig/files/sshd.in openssh/files/sshd.in
--- openssh.orig/files/sshd.in	Thu Jan  1 01:00:00 1970
+++ openssh/files/sshd.in	Thu Apr 27 17:14:59 2006
@@ -0,0 +1,27 @@
+#!/bin/sh
+#
+# $FreeBSD:$
+#
+# PROVIDE: sshd
+# REQUIRE: NETWORKING SERVERS USR
+# BEFORE: LOGIN
+#
+# Add the following lines to /etc/rc.conf to enable sshd
+#
+# sshd_enable (bool):	Set to "NO" by default
+#			Set it to "YES" to enable sshd
+
+. /etc/rc.subr
+
+name="sshd"
+rcvar=${name}_enable
+
+load_rc_config ${name}
+
+: ${sshd_enable="NO"}
+: ${sshd_pidfile="/var/run/sshd.pid"}
+
+command="/usr/local/sbin/${name}"
+
+run_rc_command "$1"
+
diff -ruN openssh.orig/files/sshd.sh openssh/files/sshd.sh
--- openssh.orig/files/sshd.sh	Thu Apr 27 17:14:32 2006
+++ openssh/files/sshd.sh	Thu Jan  1 01:00:00 1970
@@ -1,24 +0,0 @@
-#!/bin/sh
-case "$1" in
-start)
-	__PREFIX__/sbin/sshd
-	echo -n ' sshd'
-	;;
-stop)
-	if [ -f /var/run/sshd.pid ]; then
-		kill -TERM `cat /var/run/sshd.pid`
-		rm -f /var/run/sshd.pid
-		echo -n ' sshd'
-	fi
-	;;
-restart)
-	if [ -f /var/run/sshd.pid ]; then
-		kill -HUP `cat /var/run/sshd.pid`
-		echo 'sshd restarted'
-	fi
-	;;
-*)
-	echo "Usage: ${0##*/}: { start | stop | restart }" >&2
-	exit 64
-	;;
-esac
diff -ruN openssh.orig/files/sshd.sh.in openssh/files/sshd.sh.in
--- openssh.orig/files/sshd.sh.in	Thu Apr 27 17:14:31 2006
+++ openssh/files/sshd.sh.in	Thu Jan  1 01:00:00 1970
@@ -1,61 +0,0 @@
-#!/bin/sh
-#
-# $FreeBSD: ports/security/openssh/files/nagios.sh.in,v 1.2 2006/01/17 10:39:58 tdb Exp $
-#
-
-#
-# Add the following lines to /etc/rc.conf to enable openssh:
-# sshd_enable (bool):    Set to "NO" by default.
-#                          Set it to "YES" to enable openssh.
-# sshd_flags (str):      Set to "" by default.
-# sshd_configfile (str): Set to "%%PREFIX%%/etc/ssh/sshd_config" by default.
-#
-
-. %%RC_SUBR%%
-
-name="sshd"
-rcvar=`set_rcvar`
-
-if [ -z "${sshd_program}" ]; then
-  command=${sshd_program}
-elif [ -x %%PREFIX%%/bin/sshd ]; then
-  command="%%PREFIX%%/bin/sshd"
-else 
-  command="/usr/sbin/sshd"
-fi
-
-pidfile="/var/run/sshd.pid"
-
-start_precmd="start_precmd"
-stop_postcmd="stop_postcmd"
-restart_precmd="nagios_checkconfig"
-sig_reload=HUP
-
-[ -z "${sshd_enable}" ]       && sshd_enable="NO"
-[ -z "${sshd_flags}" ]        && sshd_flags=""
-[ -z "${sshd_configfile}" ]   && sshd_configfile="%%PREFIX%%/etc/ssh/sshd_config"
-
-load_rc_config "${name}"
-
-required_files="${sshd_configfile}"
-command_args="${command_args} -f ${sshd_configfile}"
-
-sshd_checkconfig() {
-  echo -n "Performing sanity check of sshd configuration: "
-  ${command} -t -f ${sshd_configfile} 2>&1 >/dev/null
-  if [ $? != 0 ]; then
-    echo "FAILED"
-    ${command} -t -f ${sshd_configfile}
-    return 1
-  else
-    echo "OK"
-  fi
-}
-
-start_precmd() {
-  if ! sshd_checkconfig; then
-    return 1
-  fi
-}
-
-run_rc_command "$1"
diff -ruN openssh.orig/pkg-plist openssh/pkg-plist
--- openssh.orig/pkg-plist	Thu Apr 27 17:14:32 2006
+++ openssh/pkg-plist	Thu Apr 27 17:27:22 2006
@@ -6,7 +6,7 @@
 bin/ssh-agent
 bin/ssh-keygen
 bin/ssh-keyscan
-etc/rc.d/sshd.sh.sample
+etc/rc.d/sshd
 etc/ssh/moduli
 @exec [ -f %D/etc/ssh_config ] && [ ! -f %D/etc/ssh/ssh_config ] && ln %D/etc/ssh_config %D/etc/ssh/ssh_config
 @exec [ -f %D/etc/sshd_config ] && [ ! -f %D/etc/ssh/sshd_config ] && ln %D/etc/sshd_config %D/etc/ssh/sshd_config

--0-1460702059-1146513787=:16375--
Comment 1 Pav Lucistnik freebsd_committer freebsd_triage 2006-06-09 22:56:13 UTC
State Changed
From-To: open->closed

Committed with modifications