summaryrefslogtreecommitdiff
path: root/debian/config
diff options
context:
space:
mode:
Diffstat (limited to 'debian/config')
-rw-r--r--debian/config96
1 files changed, 96 insertions, 0 deletions
diff --git a/debian/config b/debian/config
new file mode 100644
index 000000000..b5cff528c
--- /dev/null
+++ b/debian/config
@@ -0,0 +1,96 @@
1#!/bin/sh
2
3action=$1
4version=$2
5
6if [ -d /etc/ssh-nonfree ] && [ ! -d /etc/ssh ]; then
7 version=1.2.27
8 cp -a /etc/ssh-nonfree /etc/ssh
9fi
10
11# Source debconf library.
12. /usr/share/debconf/confmodule
13db_version 2.0
14
15if [ -n "$version" ] && dpkg --compare-versions "$version" lt 1:3.0p1-1
16then
17 db_input medium ssh/ssh2_keys_merged
18fi
19
20if [ -e /etc/init.d/ssh ] && ! grep -q pidfile /etc/init.d/ssh
21then
22 db_fset ssh/use_old_init_script seen false
23 db_input medium ssh/use_old_init_script || true
24 db_go
25
26 db_get ssh/use_old_init_script
27 [ "$RET" = "false" ] && exit 0
28else
29 db_set ssh/use_old_init_script true
30 db_fset ssh/use_old_init_script seen true
31fi
32
33if [ -z "$version" ] && [ ! -e /etc/ssh/sshd_config ]
34then
35 db_input medium ssh/protocol2_only || true
36fi
37
38if [ -e /etc/ssh/sshd_config ]
39then
40 if dpkg --compare-versions "$version" lt-nl 1:1.3 ;
41 then db_input medium ssh/new_config || true
42 db_go
43 db_get ssh/new_config
44 if [ "$RET" = "true" ];
45 then db_input medium ssh/protocol2_only ||true
46 fi
47 fi
48fi
49
50db_input medium ssh/SUID_client || true
51
52# To be correct during initial installation, this relies on the desired
53# default for run_sshd being "true".
54if [ -e /etc/ssh/sshd_not_to_be_run ]
55then
56 db_set ssh/run_sshd false
57else
58 db_set ssh/run_sshd true
59fi
60db_input medium ssh/run_sshd || true
61
62if [ -x /usr/sbin/in.telnetd ] && grep -q "^telnet\b" /etc/inetd.conf
63then
64 if ! /usr/sbin/in.telnetd -? 2>&1 | grep -q ssl 2>/dev/null
65 then
66 db_input low ssh/insecure_telnetd || true
67 fi
68fi
69
70key=/etc/ssh/ssh_host_key
71export key
72if [ -n "$version" ] && [ -f $key ] && [ ! -x /usr/bin/ssh-keygen ] &&
73 dpkg --compare-versions "$version" lt 1.2.28
74then
75 # make sure that keys get updated to get rid of IDEA; preinst
76 # actually does the work, but if the old ssh-keygen is not found,
77 # it can't do that -- thus, we tell the user that he must create
78 # a new host key.
79 echo -en '\0\0' | 3<&0 sh -c \
80 'dd if=$key bs=1 skip=32 count=2 2>/dev/null | cmp -s - /dev/fd/3' || {
81 # this means that bytes 32&33 of the key were not both zero, in which
82 # case the key is encrypted, which we need to fix
83 db_input high ssh/encrypted_host_key_but_no_keygen || true
84 }
85fi
86
87
88db_input low ssh/forward_warning || true
89
90if dpkg --compare-versions "$version" lt-nl 1:3.5p1-3; then
91 db_input high ssh/user_environment_tell || true
92fi
93
94db_go
95
96exit 0