SSH_VERSION = $(shell ssh -V 2>&1)
config: $(LOCAL_CONFIG) config.in
cat $^ > $@
- case "$(SSH_VERSION)" in \
- (OpenSSH_6.*) \
- sed -ri -e 's,^.+\bCanonical.+$$,##UNSUPPORTED##&,' \
- -e 's,^.+\bIgnoreUnknown\b.+$$,##UNSUPPORTED##&,' \
- -e 's,^.+\bUpdateHostKeys\b.+$$,##UNSUPPORTED##&,' \
- -e 's,^Match host ,Host ,' \
- $@; \
- sed -ri -e 's,ProxyJump ([-.[:alnum:]]+),ProxyCommand ssh \1 nc -q0 %h %p,' $@ \
- ;; \
- (OpenSSH_5.*) \
- 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*) \
- 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##&,' \
- -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|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
+ if ! ssh -P 2>&1 | grep -q 'option requires an argument'; then \
+ sed -i -e '/^Match tagged/,/^$$/d' $@; \
+ fi