X-Git-Url: https://git.madduck.net/etc/ssh.git/blobdiff_plain/fa12aa37133c16424901d0525d433c93a5ea83f9..27d47dacec99c37422f99632c468b155dc0ab20a:/.ssh/Makefile diff --git a/.ssh/Makefile b/.ssh/Makefile index 9336796..e57eeec 100644 --- a/.ssh/Makefile +++ b/.ssh/Makefile @@ -18,12 +18,39 @@ authorized_keys: $(wildcard authorized_keys.d/*) echo; \ done > $@ +ifeq ($(strip $(wildcard config.local)),) +LOCAL_CONFIG=/dev/null +else +LOCAL_CONFIG=config.local +endif + SSH_VERSION = $(shell ssh -V 2>&1) -config: config.in - cp $< $@ +config: $(LOCAL_CONFIG) config.in + cat $^ > $@ case "$(SSH_VERSION)" in \ + (OpenSSH_6.[012345678]*) \ + sed -ri -e 's,^.+\bCanonical.+$$,##UNSUPPORTED##&,' \ + -e 's,^.+\bIgnoreUnknown\b.+$$,##UNSUPPORTED##&,' \ + -e 's,^.+\bUpdateHostKeys\b.+$$,##UNSUPPORTED##&,' \ + -e 's,^Match host ,Host ,' \ + $@ \ + ;; \ + (OpenSSH_6.[0123]*) \ + sed -ri -e 's,^.+\bCanonical.+$$,##UNSUPPORTED##&,' \ + -e 's,^.+\bIgnoreUnknown\b.+$$,##UNSUPPORTED##&,' \ + $@ \ + ;; \ + (OpenSSH_5.[012345]*) \ + sed -ri -e 's,^.+\bControlPersist\b.+$$,##UNSUPPORTED##&,' \ + -e 's,^.+\bIPQoS\b.+$$,##UNSUPPORTED##&,' \ + -e 's,^.+\bCanonical.+$$,##UNSUPPORTED##&,' \ + $@ \ + ;; \ (OpenSSH_4.7*) \ sed -ri -e 's,^.+\bVisualHostKey\b.+$$,##UNSUPPORTED##&,' \ + -e 's,^.+\bControlPersist\b.+$$,##UNSUPPORTED##&,' \ + -e 's,^.+\bIPQoS\b.+$$,##UNSUPPORTED##&,' \ + -e 's,^.+\bCanonical.+$$,##UNSUPPORTED##&,' \ $@ \ ;; \ (OpenSSH_4.3*) \ @@ -31,13 +58,22 @@ config: config.in -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##&,' \ + -e 's,^.+\bCanonical.+$$,##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)\b.+$$,##UNSUPPORTED##&,' \ + -e 's,^.+\bControl(Master|Path|Persist)\b.+$$,##UNSUPPORTED##&,' \ + -e 's,^.+\bIPQoS\b.+$$,##UNSUPPORTED##&,' \ + -e 's,^.+\bCanonical.+$$,##UNSUPPORTED##&,' \ $@ \ ;; \ + esac; \ + case "$$HOSTNAME" in \ + (fishbowl) \ + sed -i -re '/^Host fishbowl/,/^[[:space:]]*ProxyCommand/s/ProxyCommand.*/Host localhost/' $@; \ esac