X-Git-Url: https://git.madduck.net/etc/ssh.git/blobdiff_plain/9d4b628328aa275e7631465e4e548d921df75f4f..3e12df8679111057364873c6516673e2629236a9:/.ssh/Makefile diff --git a/.ssh/Makefile b/.ssh/Makefile index 6e83244..cff1a8f 100644 --- a/.ssh/Makefile +++ b/.ssh/Makefile @@ -1,16 +1,53 @@ -all: known_hosts authorized_keys +all: known_hosts authorized_keys config + @chmod -R og= . .PHONY: all known_hosts: $(wildcard known_hosts.d/*) touch $@ for f in $^; do \ - echo "# from $$f:"; \ + echo "### from $$f:"; \ cat $$f; \ - done >> $@ + echo; \ + done > $@ authorized_keys: $(wildcard authorized_keys.d/*) touch $@ for f in $^; do \ - echo "# from $$f:"; \ + echo "### from $$f:"; \ cat $$f; \ - done >> $@ + echo; \ + done > $@ + +SSH_VERSION = $(shell ssh -V 2>&1) +config: config.in + cp $< $@ + case "$(SSH_VERSION)" in \ + (OpenSSH_5.[012345]*) \ + sed -ri -e 's,^.+\bControlPersist\b.+$$,##UNSUPPORTED##&,' \ + -e 's,^.+\bIPQoS\b.+$$,##UNSUPPORTED##&,' \ + $@ \ + ;; \ + (OpenSSH_4.7*) \ + sed -ri -e 's,^.+\bVisualHostKey\b.+$$,##UNSUPPORTED##&,' \ + -e 's,^.+\bControlPersist\b.+$$,##UNSUPPORTED##&,' \ + -e 's,^.+\bIPQoS\b.+$$,##UNSUPPORTED##&,' \ + $@ \ + ;; \ + (OpenSSH_4.3*) \ + sed -ri -e 's,^.+\bExitOnForwardFailure\b.+$$,##UNSUPPORTED##&,' \ + -e 's,^.+\bMACs\b.+$$,##UNSUPPORTED##&,' \ + -e 's,^(.+ControlPath ~/.var/ssh/ssh_control_)%l_(.+),\1\2,' \ + -e 's,^.+\bVisualHostKey\b.+$$,##UNSUPPORTED##&,' \ + -e 's,^.+\bControlPersist\b.+$$,##UNSUPPORTED##&,' \ + -e 's,^.+\bIPQoS\b.+$$,##UNSUPPORTED##&,' \ + $@ \ + ;; \ + (3.9*) \ + sed -ri -e 's,^.+\bExitOnForwardFailure\b.+$$,##UNSUPPORTED##&,' \ + -e 's,^.+\bMACs\b.+$$,##UNSUPPORTED##&,' \ + -e 's,^.+\bHashKnownHosts\b.+$$,##UNSUPPORTED##&,' \ + -e 's,^.+\bControl(Master|Path|Persist)\b.+$$,##UNSUPPORTED##&,' \ + -e 's,^.+\bIPQoS\b.+$$,##UNSUPPORTED##&,' \ + $@ \ + ;; \ + esac