summaryrefslogtreecommitdiff
path: root/contrib
diff options
context:
space:
mode:
authorCorinna Vinschen <vinschen@redhat.com>2019-01-26 23:42:40 +0100
committerDamien Miller <djm@mindrot.org>2019-01-28 09:57:58 +1100
commit1d05b4adcba08ab068466e5c08dee2f5417ec53a (patch)
tree76dc5f1df18a06fb2fa39280eccec8bae587dab3 /contrib
parent89843de0c4c733501f6b4f988098e6e06963df37 (diff)
downloadopenssh-git-1d05b4adcba08ab068466e5c08dee2f5417ec53a.tar.gz
Cygwin: only tweak sshd_config file if it's new, drop creating sshd user
The sshd_config tweaks were executed even if the old file was still in place. Fix that. Also disable sshd user creation. It's not used on Cygwin.
Diffstat (limited to 'contrib')
-rw-r--r--contrib/cygwin/ssh-host-config16
1 files changed, 13 insertions, 3 deletions
diff --git a/contrib/cygwin/ssh-host-config b/contrib/cygwin/ssh-host-config
index 52916d14..cc36ea10 100644
--- a/contrib/cygwin/ssh-host-config
+++ b/contrib/cygwin/ssh-host-config
@@ -669,14 +669,24 @@ then
fi
# handle sshd_config
+# make sure not to change the existing file
+mod_before=""
+if [ -e "${SYSCONFDIR}/sshd_config" ]
+then
+ mod_before=$(stat "${SYSCONFDIR}/sshd_config" | grep '^Modify:')
+fi
csih_install_config "${SYSCONFDIR}/sshd_config" "${SYSCONFDIR}/defaults" || let ++warning_cnt
+mod_now=$(stat "${SYSCONFDIR}/sshd_config" | grep '^Modify:')
if ! /usr/bin/cmp "${SYSCONFDIR}/sshd_config" "${SYSCONFDIR}/defaults/${SYSCONFDIR}/sshd_config" >/dev/null 2>&1
then
sshd_config_configured=yes
fi
-sshd_strictmodes || let warning_cnt+=$?
-sshd_privsep || let warning_cnt+=$?
-sshd_config_tweak || let warning_cnt+=$?
+if [ "${mod_before}" != "${mod_now}" ]
+then
+ sshd_strictmodes || let warning_cnt+=$?
+ sshd_config_tweak || let warning_cnt+=$?
+fi
+#sshd_privsep || let warning_cnt+=$?
update_services_file || let warning_cnt+=$?
update_inetd_conf || let warning_cnt+=$?
install_service || let warning_cnt+=$?