From bb0676a40153894c0a60a31b35d96a75e376a907 Mon Sep 17 00:00:00 2001 From: flz Date: Tue, 11 Apr 2006 08:55:27 +0000 Subject: - Set a two read-only variables (${prefix} and ${etcdir}). This is especially useful when using /etc/rc.d scripts with third-party software installed from ports. - Fix rc.d/sshd to work with openssh from ports using ${etcdir} instead of hardcoded /etc. Reviewed by: brooks Approved by: cperciva (mentor) MFC after: 1 week --- etc/rc.d/sshd | 33 +++++++++++++++++---------------- 1 file changed, 17 insertions(+), 16 deletions(-) (limited to 'etc/rc.d/sshd') diff --git a/etc/rc.d/sshd b/etc/rc.d/sshd index 321d8f7..0c18bbd 100755 --- a/etc/rc.d/sshd +++ b/etc/rc.d/sshd @@ -19,6 +19,8 @@ extra_commands="keygen reload" timeout=300 +load_rc_config $name + user_reseed() { ( @@ -47,47 +49,46 @@ sshd_keygen() umask 022 # Can't do anything if ssh is not installed - [ -x /usr/bin/ssh-keygen ] || { - warn "/usr/bin/ssh-keygen does not exist." + [ -x ${prefix}/bin/ssh-keygen ] || { + warn "${prefix}/bin/ssh-keygen does not exist." return 1 } - if [ -f /etc/ssh/ssh_host_key ]; then + if [ -f ${etcdir}/ssh/ssh_host_key ]; then echo "You already have an RSA host key" \ - "in /etc/ssh/ssh_host_key" + "in ${etcdir}/ssh/ssh_host_key" echo "Skipping protocol version 1 RSA Key Generation" else - /usr/bin/ssh-keygen -t rsa1 -b 1024 \ - -f /etc/ssh/ssh_host_key -N '' + ${prefix}/bin/ssh-keygen -t rsa1 -b 1024 \ + -f ${etcdir}/ssh/ssh_host_key -N '' fi - if [ -f /etc/ssh/ssh_host_dsa_key ]; then + if [ -f ${etcdir}/ssh/ssh_host_dsa_key ]; then echo "You already have a DSA host key" \ - "in /etc/ssh/ssh_host_dsa_key" + "in ${etcdir}/ssh/ssh_host_dsa_key" echo "Skipping protocol version 2 DSA Key Generation" else - /usr/bin/ssh-keygen -t dsa -f /etc/ssh/ssh_host_dsa_key -N '' + ${prefix}/bin/ssh-keygen -t dsa -f ${etcdir}/ssh/ssh_host_dsa_key -N '' fi - if [ -f /etc/ssh/ssh_host_rsa_key ]; then + if [ -f ${etcdir}/ssh/ssh_host_rsa_key ]; then echo "You already have a RSA host key" \ - "in /etc/ssh/ssh_host_rsa_key" + "in ${etcdir}/ssh/ssh_host_rsa_key" echo "Skipping protocol version 2 RSA Key Generation" else - /usr/bin/ssh-keygen -t rsa -f /etc/ssh/ssh_host_rsa_key -N '' + ${prefix}/bin/ssh-keygen -t rsa -f ${etcdir}/ssh/ssh_host_rsa_key -N '' fi ) } sshd_precmd() { - if [ ! -f /etc/ssh/ssh_host_key -o \ - ! -f /etc/ssh/ssh_host_dsa_key -o \ - ! -f /etc/ssh/ssh_host_rsa_key ]; then + if [ ! -f ${etcdir}/ssh/ssh_host_key -o \ + ! -f ${etcdir}/ssh/ssh_host_dsa_key -o \ + ! -f ${etcdir}/ssh/ssh_host_rsa_key ]; then user_reseed run_rc_command keygen fi } -load_rc_config $name run_rc_command "$1" -- cgit v1.1