33 grep -q '^AcceptEnv[[:space:]]\+.*\<'"$var"'\>' /etc/ssh/sshd_config \ |
33 grep -q '^AcceptEnv[[:space:]]\+.*\<'"$var"'\>' /etc/ssh/sshd_config \ |
34 || echo "AcceptEnv $var" >> /etc/ssh/sshd_config |
34 || echo "AcceptEnv $var" >> /etc/ssh/sshd_config |
35 } |
35 } |
36 |
36 |
37 update_sshd_config() { |
37 update_sshd_config() { |
38 add_sshd_env IUS_USER |
38 tmp=$(mktemp) |
39 add_sshd_env IUS_PROFILE |
39 out=$(mktemp) |
40 add_sshd_env HGUSER |
40 trap 'rm $tmp $out' EXIT |
41 add_sshd_env HGRCPATH |
41 |
42 add_sshd_env EDITOR |
42 need_sshd_env $tmp IUS_USER |
43 add_sshd_env REMOTE_USER |
43 need_sshd_env $tmp IUS_PROFILE |
44 add_sshd_env INPUTRC |
44 need_sshd_env $tmp HGUSER |
|
45 need_sshd_env $tmp EDITOR |
|
46 need_sshd_env $tmp REMOTE_USER |
|
47 need_sshd_env $tmp HGRCPATH |
|
48 |
|
49 test -s $tmp || return 0 |
|
50 |
|
51 file=$tmp perl >$out <<'_' |
|
52 open($f, '/etc/ssh/sshd_config') or die "Can't open sshd_config: $!\n"; |
|
53 my @conf; |
|
54 while (<$f>) { |
|
55 /^Match\s/ and last; |
|
56 push @conf, $_; |
|
57 } |
|
58 push @conf, "# autoadded by schlittermann-ssh-keys\n", |
|
59 do { local @ARGV = $ENV{file}; <> }, |
|
60 $_, <$f>; |
|
61 print @conf; |
|
62 _ |
|
63 test $(stat -c%s $out) -ge $(stat -c%s /etc/ssh/sshd_config) |
|
64 cp --backup=numbered -p /etc/ssh/sshd_config /etc/ssh/sshd_config~ |
|
65 cat $out > /etc/ssh/sshd_config |
|
66 |
|
67 invoke-rc.d ssh reload || service ssh reload |
45 } |
68 } |
|
69 |
46 |
70 |
47 case "$1" in |
71 case "$1" in |
48 configure) |
72 configure) |
49 update-schlittermann-ssh-keys |
73 update-schlittermann-ssh-keys |
50 update_log_level |
74 update_log_level |