summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--clientloop.c45
-rw-r--r--contrib/gnome-ssh-askpass.c168
-rw-r--r--debian/README.Debian176
-rw-r--r--debian/changelog1020
-rw-r--r--debian/conffiles4
-rw-r--r--debian/config86
-rw-r--r--debian/control45
-rw-r--r--debian/copyright.head36
-rw-r--r--debian/dirs7
-rw-r--r--debian/gnome-ssh-askpass.151
-rw-r--r--debian/init60
-rw-r--r--debian/postinst334
-rw-r--r--debian/postinst.old269
-rw-r--r--debian/postrm19
-rw-r--r--debian/preinst79
-rw-r--r--debian/prerm44
-rwxr-xr-xdebian/rules99
-rw-r--r--debian/ssh-askpass-gnome.copyright44
-rw-r--r--debian/ssh-askpass-gnome.dirs1
-rw-r--r--debian/ssh-askpass-gnome.postinst53
-rw-r--r--debian/ssh-askpass-gnome.prerm41
-rw-r--r--debian/ssh.pam22
-rw-r--r--debian/templates151
-rw-r--r--debian/templates.da157
-rw-r--r--debian/templates.de95
-rw-r--r--debian/templates.es266
-rw-r--r--debian/templates.fr278
-rw-r--r--debian/templates.ja205
-rw-r--r--debian/templates.pl264
-rw-r--r--debian/templates.pt_BR181
-rw-r--r--debian/templates.ru207
-rw-r--r--entropy.c3
-rw-r--r--log.c6
-rw-r--r--log.h3
-rw-r--r--openbsd-compat/fake-queue.h584
-rw-r--r--openbsd-compat/tree.h667
-rw-r--r--packet.c18
-rw-r--r--packet.h2
-rw-r--r--readconf.c23
-rw-r--r--readconf.h2
-rw-r--r--scp.110
-rw-r--r--scp.c4
-rw-r--r--serverloop.c2
-rw-r--r--ssh-keyscan.c2
-rw-r--r--ssh.14
-rw-r--r--ssh.c7
-rw-r--r--ssh_config.536
-rw-r--r--sshconnect.c54
-rw-r--r--sshd.85
-rw-r--r--sshd.c11
50 files changed, 4498 insertions, 1452 deletions
diff --git a/clientloop.c b/clientloop.c
index 2c030e71b..8b1976171 100644
--- a/clientloop.c
+++ b/clientloop.c
@@ -317,10 +317,14 @@ client_check_window_change(void)
317 * one of the file descriptors). 317 * one of the file descriptors).
318 */ 318 */
319 319
320static void 320static int
321client_wait_until_can_do_something(fd_set **readsetp, fd_set **writesetp, 321client_wait_until_can_do_something(fd_set **readsetp, fd_set **writesetp,
322 int *maxfdp, int *nallocp, int rekeying) 322 int *maxfdp, int *nallocp, int rekeying)
323{ 323{
324 struct timeval tv, *tvp;
325 int n;
326 extern Options options;
327
324 /* Add any selections by the channel mechanism. */ 328 /* Add any selections by the channel mechanism. */
325 channel_prepare_select(readsetp, writesetp, maxfdp, nallocp, rekeying); 329 channel_prepare_select(readsetp, writesetp, maxfdp, nallocp, rekeying);
326 330
@@ -349,7 +353,7 @@ client_wait_until_can_do_something(fd_set **readsetp, fd_set **writesetp,
349 /* clear mask since we did not call select() */ 353 /* clear mask since we did not call select() */
350 memset(*readsetp, 0, *nallocp); 354 memset(*readsetp, 0, *nallocp);
351 memset(*writesetp, 0, *nallocp); 355 memset(*writesetp, 0, *nallocp);
352 return; 356 return 0;
353 } else { 357 } else {
354 FD_SET(connection_in, *readsetp); 358 FD_SET(connection_in, *readsetp);
355 } 359 }
@@ -368,7 +372,21 @@ client_wait_until_can_do_something(fd_set **readsetp, fd_set **writesetp,
368 * SSH_MSG_IGNORE packet when the timeout expires. 372 * SSH_MSG_IGNORE packet when the timeout expires.
369 */ 373 */
370 374
371 if (select((*maxfdp)+1, *readsetp, *writesetp, NULL, NULL) < 0) { 375 /*
376 * We don't do the 'random' bit, but we want periodic ignored
377 * message anyway, so as to notice when the other ends TCP
378 * has given up during an outage.
379 */
380
381 if (options.protocolkeepalives > 0) {
382 tvp = &tv;
383 tv.tv_sec = options.protocolkeepalives;
384 tv.tv_usec = 0;
385 } else
386 tvp = 0;
387
388 n = select((*maxfdp)+1, *readsetp, *writesetp, NULL, tvp);
389 if (n < 0) {
372 char buf[100]; 390 char buf[100];
373 391
374 /* 392 /*
@@ -380,12 +398,13 @@ client_wait_until_can_do_something(fd_set **readsetp, fd_set **writesetp,
380 memset(*writesetp, 0, *nallocp); 398 memset(*writesetp, 0, *nallocp);
381 399
382 if (errno == EINTR) 400 if (errno == EINTR)
383 return; 401 return 0;
384 /* Note: we might still have data in the buffers. */ 402 /* Note: we might still have data in the buffers. */
385 snprintf(buf, sizeof buf, "select: %s\r\n", strerror(errno)); 403 snprintf(buf, sizeof buf, "select: %s\r\n", strerror(errno));
386 buffer_append(&stderr_buffer, buf, strlen(buf)); 404 buffer_append(&stderr_buffer, buf, strlen(buf));
387 quit_pending = 1; 405 quit_pending = 1;
388 } 406 }
407 return n == 0;
389} 408}
390 409
391static void 410static void
@@ -846,6 +865,7 @@ client_loop(int have_pty, int escape_char_arg, int ssh2_chan_id)
846{ 865{
847 fd_set *readset = NULL, *writeset = NULL; 866 fd_set *readset = NULL, *writeset = NULL;
848 double start_time, total_time; 867 double start_time, total_time;
868 int timed_out;
849 int max_fd = 0, max_fd2 = 0, len, rekeying = 0, nalloc = 0; 869 int max_fd = 0, max_fd2 = 0, len, rekeying = 0, nalloc = 0;
850 char buf[100]; 870 char buf[100];
851 871
@@ -953,7 +973,7 @@ client_loop(int have_pty, int escape_char_arg, int ssh2_chan_id)
953 * available on one of the descriptors). 973 * available on one of the descriptors).
954 */ 974 */
955 max_fd2 = max_fd; 975 max_fd2 = max_fd;
956 client_wait_until_can_do_something(&readset, &writeset, 976 timed_out = client_wait_until_can_do_something(&readset, &writeset,
957 &max_fd2, &nalloc, rekeying); 977 &max_fd2, &nalloc, rekeying);
958 978
959 if (quit_pending) 979 if (quit_pending)
@@ -977,6 +997,21 @@ client_loop(int have_pty, int escape_char_arg, int ssh2_chan_id)
977 if (quit_pending) 997 if (quit_pending)
978 break; 998 break;
979 999
1000 if(timed_out) {
1001 /*
1002 * Nothing is happening, so synthesize some
1003 * bogus activity
1004 */
1005 packet_start(compat20
1006 ? SSH2_MSG_IGNORE
1007 : SSH_MSG_IGNORE);
1008 packet_put_cstring("");
1009 packet_send();
1010 if (FD_ISSET(connection_out, writeset))
1011 packet_write_poll();
1012 continue;
1013 }
1014
980 if (!compat20) { 1015 if (!compat20) {
981 /* Buffer data from stdin */ 1016 /* Buffer data from stdin */
982 client_process_input(readset); 1017 client_process_input(readset);
diff --git a/contrib/gnome-ssh-askpass.c b/contrib/gnome-ssh-askpass.c
deleted file mode 100644
index 7cece5620..000000000
--- a/contrib/gnome-ssh-askpass.c
+++ /dev/null
@@ -1,168 +0,0 @@
1/*
2 * Copyright (c) 2000-2002 Damien Miller. All rights reserved.
3 *
4 * Redistribution and use in source and binary forms, with or without
5 * modification, are permitted provided that the following conditions
6 * are met:
7 * 1. Redistributions of source code must retain the above copyright
8 * notice, this list of conditions and the following disclaimer.
9 * 2. Redistributions in binary form must reproduce the above copyright
10 * notice, this list of conditions and the following disclaimer in the
11 * documentation and/or other materials provided with the distribution.
12 *
13 * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
14 * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
15 * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
16 * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
17 * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
18 * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
19 * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
20 * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
21 * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
22 * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
23 */
24
25/*
26 * This is a simple GNOME SSH passphrase grabber. To use it, set the
27 * environment variable SSH_ASKPASS to point to the location of
28 * gnome-ssh-askpass before calling "ssh-add < /dev/null".
29 *
30 * There is only two run-time options: if you set the environment variable
31 * "GNOME_SSH_ASKPASS_GRAB_SERVER=true" then gnome-ssh-askpass will grab
32 * the X server. If you set "GNOME_SSH_ASKPASS_GRAB_POINTER=true", then the
33 * pointer will be grabbed too. These may have some benefit to security if
34 * you don't trust your X server. We grab the keyboard always.
35 */
36
37/*
38 * Compile with:
39 *
40 * cc `gnome-config --cflags gnome gnomeui` \
41 * gnome-ssh-askpass.c -o gnome-ssh-askpass \
42 * `gnome-config --libs gnome gnomeui`
43 *
44 */
45
46#include <stdlib.h>
47#include <stdio.h>
48#include <string.h>
49#include <gnome.h>
50#include <X11/Xlib.h>
51#include <gdk/gdkx.h>
52
53void
54report_failed_grab (void)
55{
56 GtkWidget *err;
57
58 err = gnome_message_box_new("Could not grab keyboard or mouse.\n"
59 "A malicious client may be eavesdropping on your session.",
60 GNOME_MESSAGE_BOX_ERROR, "EXIT", NULL);
61 gtk_window_set_position(GTK_WINDOW(err), GTK_WIN_POS_CENTER);
62 gtk_object_set(GTK_OBJECT(err), "type", GTK_WINDOW_POPUP, NULL);
63
64 gnome_dialog_run_and_close(GNOME_DIALOG(err));
65}
66
67void
68passphrase_dialog(char *message)
69{
70 char *passphrase;
71 char **messages;
72 int result, i, grab_server, grab_pointer;
73 GtkWidget *dialog, *entry, *label;
74
75 grab_server = (getenv("GNOME_SSH_ASKPASS_GRAB_SERVER") != NULL);
76 grab_pointer = (getenv("GNOME_SSH_ASKPASS_GRAB_POINTER") != NULL);
77
78 dialog = gnome_dialog_new("OpenSSH", GNOME_STOCK_BUTTON_OK,
79 GNOME_STOCK_BUTTON_CANCEL, NULL);
80
81 messages = g_strsplit(message, "\\n", 0);
82 if (messages)
83 for(i = 0; messages[i]; i++) {
84 label = gtk_label_new(messages[i]);
85 gtk_box_pack_start(GTK_BOX(GNOME_DIALOG(dialog)->vbox),
86 label, FALSE, FALSE, 0);
87 }
88
89 entry = gtk_entry_new();
90 gtk_box_pack_start(GTK_BOX(GNOME_DIALOG(dialog)->vbox), entry, FALSE,
91 FALSE, 0);
92 gtk_entry_set_visibility(GTK_ENTRY(entry), FALSE);
93 gtk_widget_grab_focus(entry);
94
95 /* Center window and prepare for grab */
96 gtk_object_set(GTK_OBJECT(dialog), "type", GTK_WINDOW_POPUP, NULL);
97 gnome_dialog_set_default(GNOME_DIALOG(dialog), 0);
98 gtk_window_set_position (GTK_WINDOW(dialog), GTK_WIN_POS_CENTER);
99 gtk_window_set_policy(GTK_WINDOW(dialog), FALSE, FALSE, TRUE);
100 gnome_dialog_close_hides(GNOME_DIALOG(dialog), TRUE);
101 gtk_container_set_border_width(GTK_CONTAINER(GNOME_DIALOG(dialog)->vbox),
102 GNOME_PAD);
103 gtk_widget_show_all(dialog);
104
105 /* Grab focus */
106 if (grab_server)
107 XGrabServer(GDK_DISPLAY());
108 if (grab_pointer && gdk_pointer_grab(dialog->window, TRUE, 0,
109 NULL, NULL, GDK_CURRENT_TIME))
110 goto nograb;
111 if (gdk_keyboard_grab(dialog->window, FALSE, GDK_CURRENT_TIME))
112 goto nograbkb;
113
114 /* Make <enter> close dialog */
115 gnome_dialog_editable_enters(GNOME_DIALOG(dialog), GTK_EDITABLE(entry));
116
117 /* Run dialog */
118 result = gnome_dialog_run(GNOME_DIALOG(dialog));
119
120 /* Ungrab */
121 if (grab_server)
122 XUngrabServer(GDK_DISPLAY());
123 if (grab_pointer)
124 gdk_pointer_ungrab(GDK_CURRENT_TIME);
125 gdk_keyboard_ungrab(GDK_CURRENT_TIME);
126 gdk_flush();
127
128 /* Report passphrase if user selected OK */
129 passphrase = gtk_entry_get_text(GTK_ENTRY(entry));
130 if (result == 0)
131 puts(passphrase);
132
133 /* Zero passphrase in memory */
134 memset(passphrase, '\0', strlen(passphrase));
135 gtk_entry_set_text(GTK_ENTRY(entry), passphrase);
136
137 gnome_dialog_close(GNOME_DIALOG(dialog));
138 return;
139
140 /* At least one grab failed - ungrab what we got, and report
141 the failure to the user. Note that XGrabServer() cannot
142 fail. */
143 nograbkb:
144 gdk_pointer_ungrab(GDK_CURRENT_TIME);
145 nograb:
146 if (grab_server)
147 XUngrabServer(GDK_DISPLAY());
148 gnome_dialog_close(GNOME_DIALOG(dialog));
149
150 report_failed_grab();
151}
152
153int
154main(int argc, char **argv)
155{
156 char *message;
157
158 gnome_init("GNOME ssh-askpass", "0.1", argc, argv);
159
160 if (argc == 2)
161 message = argv[1];
162 else
163 message = "Enter your OpenSSH passphrase:";
164
165 setvbuf(stdout, 0, _IONBF, 0);
166 passphrase_dialog(message);
167 return 0;
168}
diff --git a/debian/README.Debian b/debian/README.Debian
new file mode 100644
index 000000000..614dd08f6
--- /dev/null
+++ b/debian/README.Debian
@@ -0,0 +1,176 @@
1OpenSSH for Debian
2------------------
3
4Although this package is widely referred to as OpenSSH, it is actually
5a branch of an early version of ssh which has been tidied up by the
6OpenBSD folks.
7
8It has been decided that this version should have the privilege of
9carrying the ``ssh'' name in Debian, since it is the only version of
10ssh that is going to make it into Debian proper, being the only one
11that complies with the Debian Free Software Guidelines.
12
13If you were expecting to get the non-free version of ssh (1.2.27 or
14whatever) when you installed this package, then you're out of luck, as
15Debian don't ship it.
16
17=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=
18
19Privilege Separation
20--------------------
21
22As of 3.3, openssh has employed privilege separation to reduce the
23quantity of code that runs as root, thereby reducing the impact of
24some security holes in sshd.
25
26Unfortunately, privilege separation interacts badly with PAM. Any PAM
27session modules that need to run as root (pam_mkhomedir, for example)
28will fail, and PAM keyboard-interactive authentication won't work.
29
30Privilege separation is turned on by default, so if you decide you
31want it turned off, you need to add "UsePrivilegeSeparation no" to
32/etc/ssh/sshd_config
33
34NB! If you are running a 2.0 series Linux kernel, then privilege
35separation will not work at all, and your sshd will fail to start
36unless you explicity turn privilege separation off.
37
38
39PermitRootLogin set to yes
40--------------------------
41
42This is now the default setting (in line with upstream), and people
43who asked for an automatically-generated configuration file when
44upgrading from potato (or on a new install) will have this setting in
45their /etc/ssh/sshd_config file.
46
47Should you wish to change this setting, edit /etc/ssh/sshd_config, and
48change:
49PermitRootLogin yes
50to:
51PermitRootLogin no
52
53Having PermitRootLogin set to yes means that an attacker that knows
54the root password can ssh in directly (without having to go via a user
55account). If you set it to no, then they must compromise a normal user
56account. In the vast majority of cases, this does not give added
57security; remember that any account you su to root from is equivalent
58to root - compromising this account gives an attacker access to root
59easily. If you only ever log in as root from the physical console,
60then you probably want to set this value to no.
61
62As an aside, PermitRootLogin can also be set to "without-password" or
63"forced-commands-only" - see sshd(8) for more details.
64
65DO NOT FILE BUG REPORTS SAYING YOU THINK THIS DEFAULT IS INCORRECT!
66
67The argument above is somewhat condensed; I have had this discussion
68at great length with many people. If you think the default is
69incorrect, and feel strongly enough to want to argue with me about it,
70then send me email to matthew@debian.org. I will close bug reports
71claiming the default is incorrect.
72
73SSH now uses protocol 2 by default
74----------------------------------
75
76This means all your keyfiles you used for protocol version 1 need to
77be re-generated. The server keys are done automatically, but for RSA
78authentication, please read the ssh-keygen manpage.
79
80If you have an automatically generated configuration file, and decide
81at a later stage that you do want to support protocol version 1 (not
82recommended, but note that the ssh client shipped with Debian potato
83only supported protocol version 1), then you need to do the following:
84
85Change /etc/ssh/sshd_config such that:
86Protocol 2
87becomes:
88Protocol 2,1
89Also add the line:
90HostKey /etc/ssh/ssh_host_key
91
92(you may need to generate a host key if you do not already have one)
93
94/usr/bin/ssh not SUID:
95----------------------
96If you have not installed debconf, you'll have missed the chance to
97install ssh SUID, which means you won't be able to do Rhosts
98authentication. If that upsets you, use:
99
100 dpkg-statoverride
101
102or if that's also missing, use this:
103
104 chown root.root /usr/bin/ssh
105 chmod 04755 /usr/bin/ssh
106
107X11 Forwarding:
108---------------
109ssh's default for ForwardX11 has been changed to ``no'' because it has
110been pointed out that logging into remote systems administered by
111untrusted people is likely to open you up to X11 attacks, so you
112should have to actively decide that you trust the remote machine's
113root, before enabling X11. I strongly recommend that you do this on a
114machine-by-machine basis, rather than just enabling it in the default
115host settings.
116
117In order for X11 forwarding to work, you need to install xauth on the
118server. In Debian this is in the xbase-clients package.
119
120Authorization Forwarding:
121-------------------------
122Similarly, root on a remote server could make use of your ssh-agent
123(while you're logged into their machine) to obtain access to machines
124which trust your keys. This feature is therefore disabled by default.
125You should only re-enable it for those hosts (in your ~/.ssh/config or
126/etc/ssh/ssh_config) where you are confident that the remote machine
127is not a threat.
128
129Fallback to RSH:
130----------------
131The default for this setting has been changed from Yes to No, for
132security reasons, and to stop the delay attempting to rsh to machines
133that don't offer the service. Simply switch it back on in either
134/etc/ssh/ssh_config or ~/.ssh/config for those machines that you need
135it for.
136
137Problems logging in with RSA authentication:
138--------------------------------------------
139If you have trouble logging in with RSA authentication then the
140problem is probably caused by the fact that you have your home
141directory writable by group, as well as user (this is the default on
142Debian systems).
143
144Depending upon other settings on your system (i.e. other users being
145in your group) this could open a security hole, so you will need to
146make your home directory writable only by yourself. Run this command,
147as yourself:
148
149 chmod g-w ~/
150
151to remove group write permissions. If you use ssh-copy-id to install your
152keys, it does this for you.
153
154-L option of ssh nonfree:
155-------------------------
156non-free ssh supported the usage of the option -L to use a non privileged
157port for scp. This option will not be supported by scp from openssh.
158
159Please use instead scp -o "UsePrivilegedPort=no" as documented in the
160manpage to scp itself.
161
162Problem logging in because of TCP-Wrappers:
163-------------------------------------------
164ssh is compiled with support for tcp-wrappers. So if you can no longer
165log into your system, please check that /etc/hosts.allow and /etc/hosts.deny
166are configured so that ssh is not blocked.
167
168Kerberos Authentication:
169------------------------
170ssh is compiled without support for kerberos authentication, and there are
171no current plans to support this. Thus the KerberosAuthentication and
172KerberosTgtPassing options will not be recognised.
173
174--
175Matthew Vernon
176<matthew@debian.org>
diff --git a/debian/changelog b/debian/changelog
new file mode 100644
index 000000000..6a6a6eb0c
--- /dev/null
+++ b/debian/changelog
@@ -0,0 +1,1020 @@
1openssh (1:3.5p1-1) unstable; urgency=low
2
3 * New upstream release.
4 - Fixes typo in ssh-add usage (closes: #152239).
5 - Fixes 'PermitRootLogin forced-commands-only' (closes: #166184).
6 - ~/.ssh/environment and environment= options in ~/.ssh/authorized_keys
7 are deprecated for security reasons and will eventually go away. For
8 now they can be re-enabled by setting 'PermitUserEnvironment yes' in
9 sshd_config.
10 - ssh-agent is installed setgid to prevent ptrace() attacks. The group
11 actually doesn't matter, as it drops privileges immediately, but to
12 avoid confusion the postinst creates a new 'ssh' group for it.
13 * Obsolete patches:
14 - Solar Designer's privsep+compression patch for Linux 2.2 (see
15 1:3.3p1-0.0woody1).
16 - Hostbased auth ssh-keysign backport (see 1:3.4p1-4).
17
18 * Remove duplicated phrase in ssh_config(5) (closes: #152404).
19 * Source the debconf confmodule at the top of the postrm rather than at
20 the bottom, to avoid making future non-idempotency problems worse (see
21 #151035).
22 * Debconf templates:
23 - Add Polish (thanks, Grzegorz Kusnierz).
24 - Update French (thanks, Denis Barbier; closes: #132509).
25 - Update Spanish (thanks, Carlos Valdivia Yagüe; closes: #164716).
26 * Write a man page for gnome-ssh-askpass, and link it to ssh-askpass.1 if
27 this is the selected ssh-askpass alternative (closes: #67775).
28
29 -- Colin Watson <cjwatson@debian.org> Sat, 26 Oct 2002 19:41:51 +0100
30
31openssh (1:3.4p1-4) unstable; urgency=low
32
33 * Allow ssh-krb5 in ssh-askpass-gnome's dependencies (closes: #129532).
34 * Restore Russia to list of countries where encryption is problematic (see
35 #148951 and http://www.average.org/freecrypto/).
36 * Drop ssh-askpass-gnome's priority to optional, per the override file.
37 * Drop the PAM special case for hurd-i386 (closes: #99157).
38 * s/dile/idle/ in ssh_config(5) (closes: #118331).
39 * Note in README.Debian that you need xauth from xbase-clients on the
40 server for X11 forwarding (closes: #140269).
41 * Use correct path to upstream README in copyright file (closes: #146037).
42 * Document the units for ProtocolKeepAlives (closes: #159479).
43 * Backport upstream patch to fix hostbased auth (closes: #117114).
44 * Add -g to CFLAGS.
45
46 -- Colin Watson <cjwatson@debian.org> Sun, 13 Oct 2002 18:58:53 +0100
47
48openssh (1:3.4p1-3) unstable; urgency=low
49
50 * Add myself to Uploaders: and begin acting as temporary maintainer, at
51 Matthew's request. (Normal service will resume in some months' time.)
52 * Add sharutils to Build-Depends (closes: #138465).
53 * Stop creating the /usr/doc/ssh symlink.
54
55 * Fix some debconf template typos (closes: #160358).
56 * Split debconf templates into one file per language.
57 * Add debconf template translations:
58 - Brazilian Portuguese (thanks, Andre Luis Lopes; closes: #106173).
59 - Danish (thanks, Claus Hindsgaul; closes: #126607).
60 - Japanese (thanks, Tomohiro KUBOTA; closes: #137427).
61 - Russian (thanks, Ilgiz Kalmetev; closes: #136610).
62 - Spanish (thanks, Carlos Valdivia Yagüe; closes: #129041).
63 * Update debconf template translations:
64 - French (thanks, Igor Genibel; closes: #151361).
65 - German (thanks, Axel Noetzold; closes: #147069).
66 * Some of these translations are fuzzy. Please send updates.
67
68 -- Colin Watson <cjwatson@debian.org> Sun, 13 Oct 2002 14:09:57 +0100
69
70openssh (1:3.4p1-2) unstable; urgency=high
71
72 * Get a security-fixed version into unstable
73 * Also tidy README.Debian up a little
74
75 -- Matthew Vernon <matthew@debian.org> Fri, 28 Jun 2002 17:20:59 +0100
76
77openssh (1:3.4p1-1) testing; urgency=high
78
79 * Extend my tendrils back into this package (Closes: #150915, #151098)
80 * thanks to the security team for their work
81 * no thanks to ISS/Theo de Raadt for their handling of these bugs
82 * save old sshd_configs to sshd_config.dpkg-old when auto-generating a
83 new one
84 * tell/ask the user about PriviledgeSeparation
85 * /etc/init.d/ssh run will now create the chroot empty dir if necessary
86 * Remove our previous statoverride on /usr/bin/ssh (only for people
87 upgrading from a version where we'd put one in ourselves!)
88 * Stop slandering Russia, since someone asked so nicely (Closes: #148951)
89 * Reduce the sleep time in /etc/init.d/ssh during a restart
90
91 -- Matthew Vernon <matthew@debian.org> Fri, 28 Jun 2002 15:52:10 +0100
92
93openssh (1:3.4p1-0.0woody1) testing-security; urgency=high
94
95 * NMU by the security team.
96 * New upstream version
97
98 -- Michael Stone <mstone@debian.org> Wed, 26 Jun 2002 15:40:38 -0400
99
100openssh (1:3.3p1-0.0woody4) testing-security; urgency=high
101
102 * NMU by the security team.
103 * fix error when /etc/ssh/sshd_config exists on new install
104 * check that user doesn't exist before running adduser
105 * use openssl internal random unconditionally
106
107 -- Michael Stone <mstone@debian.org> Tue, 25 Jun 2002 19:44:39 -0400
108
109openssh (1:3.3p1-0.0woody3) testing-security; urgency=high
110
111 * NMU by the security team.
112 * use correct home directory when sshd user is created
113
114 -- Michael Stone <mstone@debian.org> Tue, 25 Jun 2002 08:59:50 -0400
115
116openssh (1:3.3p1-0.0woody2) testing-security; urgency=high
117
118 * NMU by the security team.
119 * Fix rsa1 key creation (Closes: #150949)
120 * don't fail if sshd user removal fails
121 * depends: on adduser (Closes: #150907)
122
123 -- Michael Stone <mstone@debian.org> Tue, 25 Jun 2002 08:59:50 -0400
124
125openssh (1:3.3p1-0.0woody1) testing-security; urgency=high
126
127 * NMU by the security team.
128 * New upstream version.
129 - Enable privilege separation by default.
130 * Include patch from Solar Designer for privilege separation and
131 compression on 2.2.x kernels.
132 * Remove --disable-suid-ssh from configure.
133 * Support setuid ssh-keysign binary instead of setuid ssh client.
134 * Check sshd configuration before restarting.
135
136 -- Daniel Jacobowitz <dan@debian.org> Mon, 24 Jun 2002 13:43:44 -0400
137
138openssh (1:3.0.2p1-9) unstable; urgency=high
139
140 * Thanks to those who NMUd
141 * The only change in this version is to debian/control - I've removed
142 the bit that says you can't export it from the US - it would look
143 pretty daft to say this about a package in main! Also, it's now OK
144 to use crypto in France, so I've edited that comment slightly
145 * Correct a path in README.Debian too (Closes: #138634)
146
147 -- Matthew Vernon <matthew@debian.org> Sun, 4 Apr 2002 09:52:59 +0100
148
149openssh (1:3.0.2p1-8.3) unstable; urgency=medium
150
151 * NMU
152 * Really set urgency to medium this time (oops)
153 * Fix priority to standard per override while I'm at it
154
155 -- Aaron M. Ucko <ucko@debian.org> Sun, 24 Mar 2002 09:00:08 -0500
156
157openssh (1:3.0.2p1-8.2) unstable; urgency=low
158
159 * NMU with maintainer's permission
160 * Prepare for upcoming ssh-nonfree transitional packages per
161 <http://lists.debian.org/debian-ssh/2002/debian-ssh-200203/msg00008.html>
162 * Urgency medium because it would really be good to get this into woody
163 before it releases
164 * Fix sections to match override file
165 * Reissued due to clash with non-US -> main move
166
167 -- Aaron M. Ucko <ucko@debian.org> Sat, 23 Mar 2002 21:21:52 -0500
168
169openssh (1:3.0.2p1-8.1) unstable; urgency=low
170
171 * NMU
172 * Move from non-US to mani
173
174 -- LaMont Jones <lamont@debian.org> Thu, 21 Mar 2002 09:33:50 -0700
175
176openssh (1:3.0.2p1-8) unstable; urgency=critical
177
178 * Security fix - patch from upstream (Closes: #137209, #137210)
179 * Undo the changes in the unreleased -7, since they appear to break
180 things here. Accordingly, the code change is minimal, and I'm
181 happy to get it into testing ASAP
182
183 -- Matthew Vernon <matthew@debian.org> Thu, 7 Mar 2002 14:25:23 +0000
184
185openssh (1:3.0.2p1-7) unstable; urgency=high
186
187 * Build to support IPv6 and IPv4 by default again
188
189 -- Matthew Vernon <matthew@debian.org> Sat, 2 Mar 2002 00:25:05 +0000
190
191openssh (1:3.0.2p1-6) unstable; urgency=high
192
193 * Correct error in the clean target (Closes: #130868)
194
195 -- Matthew Vernon <matthew@debian.org> Sat, 26 Jan 2002 00:32:00 +0000
196
197openssh (1:3.0.2p1-5) unstable; urgency=medium
198
199 * Include the Debian version in our identification, to make it easier to
200 audit networks for patched versions in future
201
202 -- Matthew Vernon <matthew@debian.org> Mon, 21 Jan 2002 17:16:10 +0000
203
204openssh (1:3.0.2p1-4) unstable; urgency=medium
205
206 * If we're asked to not run sshd, stop any running sshd's first
207 (Closes: #129327)
208
209 -- Matthew Vernon <matthew@debian.org> Wed, 16 Jan 2002 21:24:16 +0000
210
211openssh (1:3.0.2p1-3) unstable; urgency=high
212
213 * Fix /etc/pam.d/ssh to not set $MAIL (Closes: #128913)
214 * Remove extra debconf suggestion (Closes: #128094)
215 * Mmm. speedy bug-fixing :-)
216
217 -- Matthew Vernon <matthew@debian.org> Sat, 12 Jan 2002 17:23:58 +0000
218
219openssh (1:3.0.2p1-2) unstable; urgency=high
220
221 * Fix postinst to not automatically overwrite sshd_config (!)
222 (Closes: #127842, #127867)
223 * Add section in README.Debian about the PermitRootLogin setting
224
225 -- Matthew Vernon <matthew@debian.org> Sat, 5 Jan 2003 05:26:30 +0000
226
227openssh (1:3.0.2p1-1) unstable; urgency=high
228
229 * Incorporate fix from Colin's NMU
230 * New upstream version (fixes the bug Wichert fixed) (Closes: #124035)
231 * Capitalise IETF (Closes: #125379)
232 * Refer to the correct sftp-server location (Closes: #126854, #126224)
233 * Do what we're asked re SetUID ssh (Closes: #124065, #124154, #123247)
234 * Ask people upgrading from potato if they want a new conffile
235 (Closes: #125642)
236 * Fix a typo in postinst (Closes: #122192, #122410, #123440)
237 * Frob the default config a little (Closes: #122284, #125827, #125696,
238 #123854)
239 * Make /etc/init.d/ssh be more clear about ssh not running (Closes:
240 #123552)
241 * Fix typo in templates file (Closes: #123411)
242
243 -- Matthew Vernon <matthew@debian.org> Fri, 4 Jan 2002 16:01:52 +0000
244
245openssh (1:3.0.1p1-1.2) unstable; urgency=high
246
247 * Non-maintainer upload
248 * Prevent local users from passing environment variables to the login
249 process when UseLogin is enabled
250
251 -- Wichert Akkerman <wakkerma@debian.org> Mon, 3 Dec 2001 19:34:45 +0100
252
253openssh (1:3.0.1p1-1.1) unstable; urgency=low
254
255 * Non-maintainer upload, at Matthew's request.
256 * Remove sa_restorer assignment to fix compilation on alpha, hppa, and
257 ia64 (closes: #122086).
258
259 -- Colin Watson <cjwatson@debian.org> Sun, 2 Dec 2001 18:54:16 +0000
260
261openssh (1:3.0.1p1-1) unstable; urgency=high
262
263 * New upstream version (Closes: #113646, #113513, #114707, #118564)
264 * Building with a libc that works (!) (Closes: #115228)
265 * Patches forward-ported are -1/-2 options for scp, the improvement to
266 'waiting for forwarded connections to terminate...'
267 * Fix /etc/init.d/ssh to stop sshd properly (Closes: #115228)
268 * /etc/ssh/sshd_config is no longer a conffile but generated in the postinst
269 * Remove suidregister leftover from postrm
270 * Mention key we are making in the postinst
271 * Default to not enable SSH protocol 1 support, since protocol 2 is
272 much safer anyway.
273 * New version of the vpn-fixes patch, from Ian Jackson
274 * New handling of -q, and added new -qq option; thanks to Jon Amery
275 * Experimental smartcard support not enabled, since I have no way of
276 testing it.
277
278 -- Matthew Vernon <matthew@debian.org> Thu, 28 Nov 2001 17:43:01 +0000
279
280openssh (1:2.9p2-6) unstable; urgency=low
281
282 * check for correct file in /etc/init.d/ssh (Closes: #110876)
283 * correct location of version 2 keys in ssh.1 (Closes: #110439)
284 * call update-alternatives --quiet (Closes: #103314)
285 * hack ssh-copy-id to chmod go-w (Closes: #95551)
286 * TEMPORARY fix to provide largefile support using a -D in the cflags
287 line. long-term, upstream will patch the autoconf stuff
288 (Closes: #106809, #111849)
289 * remove /etc/rc references in ssh-keygen.1 (Closes: #68350)
290 * scp.1 patch from Adam McKenna to document -r properly (Closes: #76054)
291 * Check for files containing a newline character (Closes: #111692)
292
293 -- Matthew Vernon <matthew@debian.org> Thu, 13 Sep 2001 16:47:36 +0100
294
295openssh (1:2.9p2-5) unstable; urgency=high
296
297 * Thanks to all the bug-fixers who helped!
298 * remove sa_restorer assignment (Closes: #102837)
299 * patch from Peter Benie to DTRT wrt X forwarding if the server refuses
300 us access (Closes: #48297)
301 * patch from upstream CVS to fix port forwarding (Closes: #107132)
302 * patch from Jonathan Amery to document ssh-keygen behaviour
303 (Closes:#106643, #107512)
304 * patch to postinst from Jonathan Amery (Closes: #106411)
305 * patch to manpage from Jonathan Amery (Closes: #107364)
306 * patch from Matthew Vernon to make -q emit fatal errors as that is the
307 documented behaviour (Closes: #64347)
308 * patch from Ian Jackson to cause us to destroy a file when we scp it
309 onto itself, rather than dumping bits of our memory into it, which was
310 a security hole (see #51955)
311 * patch from Jonathan Amery to document lack of Kerberos support
312 (Closes: #103726)
313 * patch from Matthew Vernon to make the 'waiting for connections to
314 terminate' message more helpful (Closes: #50308)
315
316 -- Matthew Vernon <matthew@debian.org> Thu, 23 Aug 2001 02:14:09 +0100
317
318openssh (1:2.9p2-4) unstable; urgency=high
319
320 * Today's build of ssh is strawberry flavoured
321 * Patch from mhp to reduce length of time sshd is stopped for (Closes: #106176)
322 * Tidy up debconf template (Closes: #106152)
323 * If called non-setuid, then setgid()'s failure should not be fatal (see
324 #105854)
325
326 -- Matthew Vernon <matthew@debian.org> Sun, 22 Jul 2001 14:19:43 +0100
327
328openssh (1:2.9p2-3) unstable; urgency=low
329
330 * Patch from yours truly to add -1 and -2 options to scp (Closes: #106061)
331 * Improve the IdentityFile section in the man page (Closes: #106038)
332
333 -- Matthew Vernon <matthew@debian.org> Sat, 21 Jul 2001 14:47:27 +0100
334
335openssh (1:2.9p2-2) unstable; urgency=low
336
337 * Document the protocol version 2 and IPV6 changes (Closes: #105845, #105868)
338 * Make PrintLastLog 'no' by default (Closes: #105893)
339
340 -- Matthew Vernon <matthew@debian.org> Thu, 19 Jul 2001 18:36:41 +0100
341
342openssh (1:2.9p2-1) unstable; urgency=low
343
344 * new (several..) upstream version (Closes: #96726, #81856, #96335)
345 * Hopefully, this will close some other bugs too
346
347 -- Matthew Vernon <matthew@debian.org> Tue, 17 Jul 2001 19:41:58 +0100
348
349openssh (1:2.5.2p2-3) unstable; urgency=low
350
351 * Taking Over this package
352 * Patches from Robert Bihlmeyer for the Hurd (Closes: #102991)
353 * Put PermitRootLogin back to yes (Closes: #67334, #67371, #78274)
354 * Don't fiddle with conf-files any more (Closes: #69501)
355
356 -- Matthew Vernon <matthew@debian.org> Tue, 03 Jul 2001 02:58:13 +0100
357
358openssh (1:2.5.2p2-2.2) unstable; urgency=low
359
360 * NMU
361 * Include Hurd compatibility patches from Robert Bihlmeyer (Closes: #76033)
362 * Patch from Richard Kettlewell for protocolkeepalives (Closes: #99273)
363 * Patch from Matthew Vernon for BannerTimeOut, batchmode, and
364 documentation for protocolkeepalives. Makes ssh more generally useful
365 for scripting uses (Closes: #82877, #99275)
366 * Set a umask, so ourpidfile isn't world-writable (closes: #100012,
367 #98286, #97391)
368
369 -- Matthew Vernon <matthew@debian.org> Thu, 28 Jun 2001 23:15:42 +0100
370
371openssh (1:2.5.2p2-2.1) unstable; urgency=low
372
373 * NMU
374 * Remove duplicate Build-Depends for libssl096-dev and change it to
375 depend on libssl-dev instaed. Also adding in virtual | real package
376 style build-deps. (Closes: #93793, #75228)
377 * Removing add-log entry (Closes: #79266)
378 * This was a pam bug from a while back (Closes: #86908, #88457, #86843)
379 * pam build-dep already exists (Closes: #93683)
380 * libgnome-dev build-dep already exists (Closes: #93694)
381 * No longer in non-free (Closes: #85401)
382 * Adding in fr debconf translations (Closes: #83783)
383 * Already suggests xbase-clients (Closes: #79741)
384 * No need to suggest libpam-pwdb anymore (Closes: #81658)
385 * Providing rsh-client (Closes: #79437)
386 * hurd patch was already applied (Closes: #76033)
387 * default set to no (Closes: #73682)
388 * Adding in a suggests for dnsutils (Closes: #93265)
389 * postinst bugs fixed (Closes: #88057, #88066, #88196, #88405, #88612)
390 (Closes: #88774, #88196, #89556, #90123, #90228, #90833, #87814, #85465)
391 * Adding in debconf dependency
392
393 -- Ivan E. Moore II <rkrusty@debian.org> Mon, 16 Apr 2001 14:11:04 +0100
394
395openssh (1:2.5.2p2-2) unstable; urgency=high
396
397 * disable the OpenSSL version check in entropy.c
398 (closes: #93581, #93588, #93590, #93614, #93619, #93635, #93648)
399
400 -- Philip Hands <phil@uk.alcove.com> Wed, 11 Apr 2001 20:30:04 +0100
401
402openssh (1:2.5.2p2-1) unstable; urgency=low
403
404 * New upstream release
405 * removed make-ssh-known-hosts, since ssh-keyscan does that job (closes: #86069, #87748)
406 * fix double space indent in german templates (closes: #89493)
407 * make postinst check for ssh_host_rsa_key
408 * get rid of the last of the misguided debian/rules NMU debris :-/
409
410 -- Philip Hands <phil@hands.com> Sat, 24 Mar 2001 20:59:33 +0000
411
412openssh (1:2.5.1p2-2) unstable; urgency=low
413
414 * rebuild with new debhelper (closes: #89558, #89536, #90225)
415 * fix broken dpkg-statoverride test in postinst
416 (closes: #89612, #90474, #90460, #89605)
417 * NMU bug fixed but not closed in last upload (closes: #88206)
418
419 -- Philip Hands <phil@hands.com> Fri, 23 Mar 2001 16:11:33 +0000
420
421openssh (1:2.5.1p2-1) unstable; urgency=high
422
423 * New upstream release
424 * fix typo in postinst (closes: #88110)
425 * revert to setting PAM service name in debian/rules, backing out last
426 NMU, which also (closes: #88101)
427 * restore the pam lastlog/motd lines, lost during the NMUs, and sshd_config
428 * restore printlastlog option patch
429 * revert to using debhelper, which had been partially disabled in NMUs
430
431 -- Philip Hands <phil@hands.com> Tue, 13 Mar 2001 01:41:34 +0000
432
433openssh (1:2.5.1p1-1.8) unstable; urgency=high
434
435 * And now the old pam-bug s/sshd/ssh in ssh.c is also fixed
436
437 -- Christian Kurz <shorty@debian.org> Thu, 1 Mar 2001 19:48:01 +0100
438
439openssh (1:2.5.1p1-1.7) unstable; urgency=high
440
441 * And now we mark the correct binary as setuid, when a user requested
442 to install it setuid.
443
444 -- Christian Kurz <shorty@debian.org> Thu, 1 Mar 2001 07:19:56 +0100
445
446openssh (1:2.5.1p1-1.6) unstable; urgency=high
447
448 * Fixes postinst to handle overrides that are already there. Damn, I
449 should have noticed the bug earlier.
450
451 -- Christian Kurz <shorty@debian.org> Wed, 28 Feb 2001 22:35:00 +0100
452
453openssh (1:2.5.1p1-1.5) unstable; urgency=high
454
455 * Rebuild ssh with pam-support.
456
457 -- Christian Kurz <shorty@debian.org> Mon, 26 Feb 2001 21:55:51 +0100
458
459openssh (1:2.5.1p1-1.4) unstable; urgency=low
460
461 * Added Build-Depends on libssl096-dev.
462 * Fixed sshd_config file to disallow root logins again.
463
464 -- Christian Kurz <shorty@debian.org> Sun, 25 Feb 2001 20:03:55 +0100
465
466openssh (1:2.5.1p1-1.3) unstable; urgency=low
467
468 * Fixed missing manpages for sftp.1 and ssh-keyscan.1
469 * Made package policy 3.5.2 compliant.
470
471 -- Christian Kurz <shorty@debian.org> Sun, 25 Feb 2001 15:46:26 +0100
472
473openssh (1:2.5.1p1-1.2) unstable; urgency=low
474
475 * Added Conflict with sftp, since we now provide our own sftp-client.
476 * Added a fix for our broken dpkg-statoverride call in the
477 2.3.0p1-13.
478 * Fixed some config pathes in the comments of sshd_config.
479 * Removed ssh-key-exchange-vulnerability-patch since it's not needed
480 anymore because upstream included the fix.
481
482 -- Christian Kurz <shorty@debian.org> Sun, 25 Feb 2001 13:46:58 +0100
483
484openssh (1:2.5.1p1-1.1) unstable; urgency=high
485
486 * Another NMU to get the new upstream version 2.5.1p1 into
487 unstable. (Closes: #87123)
488 * Corrected postinst to mark ssh as setuid. (Closes: #86391, #85766)
489 * Key Exchange patch is already included by upstream. (Closes: #86015)
490 * Upgrading should be possible now. (Closes: #85525, #85523)
491 * Added --disable-suid-ssh as compile option, so ssh won't get installed
492 suid per default.
493 * Fixed postinst to run dpkg-statoverride only, when dpkg-statoverride
494 is available and the mode of the binary should be 4755. And also added
495 suggestion for a newer dpkg.
496 (Closes: #85734, #85741, #86876)
497 * sftp and ssh-keyscan will also be included from now on. (Closes: #79994)
498 * scp now understands spaces in filenames (Closes: #53783, #58958,
499 #66723)
500 * ssh-keygen now supports showing DSA fingerprints. (Closes: #68623)
501 * ssh doesn' t show motd anymore when switch -t is used. (Closes #69035)
502 * ssh supports the usage of other dsa keys via the ssh command line
503 options. (Closes: #81250)
504 * Documentation in sshd_config fixed. (Closes: #81088)
505 * primes file included by upstream and included now. (Closes: #82101)
506 * scp now allows dots in the username. (Closes: #82477)
507 * Spelling error in ssh-copy-id.1 corrected by upstream. (Closes: #78124)
508
509 -- Christian Kurz <shorty@debian.org> Sun, 25 Feb 2001 10:06:08 +0100
510
511openssh (1:2.3.0p1-1.13) unstable; urgency=low
512
513 * Config should now also be fixed with this hopefully last NMU.
514
515 -- Christian Kurz <shorty@debian.org> Sat, 10 Feb 2001 22:56:36 +0100
516
517openssh (1:2.3.0p1-1.12) unstable; urgency=high
518
519 * Added suggest for xbase-clients to control-file. (Closes #85227)
520 * Applied patch from Markus Friedl to fix a vulnerability in
521 the rsa keyexchange.
522 * Fixed position of horizontal line. (Closes: #83613)
523 * Fixed hopefully the grep problem in the config-file. (Closes: #78802)
524 * Converted package from suidregister to dpkg-statoverride.
525
526 -- Christian Kurz <shorty@debian.org> Fri, 9 Feb 2001 19:43:55 +0100
527
528openssh (1:2.3.0p1-1.11) unstable; urgency=medium
529
530 * Fixed some typos in the german translation of the debconf
531 template.
532
533 -- Christian Kurz <shorty@debian.org> Wed, 24 Jan 2001 18:22:38 +0100
534
535openssh (1:2.3.0p1-1.10) unstable; urgency=medium
536
537 * Fixed double printing of motd. (Closes: #82618)
538
539 -- Christian Kurz <shorty@debian.org> Tue, 23 Jan 2001 21:03:43 +0100
540
541openssh (1:2.3.0p1-1.9) unstable; urgency=high
542
543 * And the next NMU which includes the patch from Andrew Bartlett
544 and Markus Friedl to fix the root privileges handling of openssh.
545 (Closes: #82657)
546
547 -- Christian Kurz <shorty@debian.org> Wed, 17 Jan 2001 22:20:54 +0100
548
549openssh (1:2.3.0p1-1.8) unstable; urgency=high
550
551 * Applied fix from Ryan Murray to allow building on other architectures
552 since the hurd patch was wrong. (Closes: #82471)
553
554 -- Christian Kurz <shorty@debian.org> Tue, 16 Jan 2001 22:45:51 +0100
555
556openssh (1:2.3.0p1-1.7) unstable; urgency=medium
557
558 * Fixed another typo on sshd_config
559
560 -- Christian Kurz <shorty@debian.org> Sun, 14 Jan 2001 19:01:31 +0100
561
562openssh (1:2.3.0p1-1.6) unstable; urgency=high
563
564 * Added Build-Dependency on groff (Closes: #81886)
565 * Added Build-Depencency on debhelper (Closes: #82072)
566 * Fixed entry for known_hosts in sshd_config (Closes: #82096)
567
568 -- Christian Kurz <shorty@debian.org> Thu, 11 Jan 2001 23:08:16 +0100
569
570openssh (1:2.3.0p1-1.5) unstable; urgency=high
571
572 * Fixed now also the problem with sshd used as default ipv4 and
573 didn't use IPv6. This should be now fixed.
574
575 -- Christian Kurz <shorty@debian.org> Thu, 11 Jan 2001 21:25:55 +0100
576
577openssh (1:2.3.0p1-1.4) unstable; urgency=high
578
579 * Fixed buggy entry in postinst.
580
581 -- Christian Kurz <shorty@debian.org> Wed, 10 Jan 2001 23:12:16 +0100
582
583openssh (1:2.3.0p1-1.3) unstable; urgency=high
584
585 * After finishing the rewrite of the rules-file I had to notice that
586 the manpage installation was broken. This should now work again.
587
588 -- Christian Kurz <shorty@debian.org> Wed, 10 Jan 2001 22:11:59 +0100
589
590openssh (1:2.3.0p1-1.2) unstable; urgency=high
591
592 * Fixed the screwed up build-dependency.
593 * Removed --with-ipv4-default to support ipv6.
594 * Changed makefile to use /etc/pam.d/ssh instead of /etc/pam.d/sshd.
595 * Fixed location to sftp-server in config.
596 * Since debian still relies on /etc/pam.d/ssh instead of moving to
597 /etc/pam.d/sshd, I had to hack ssh.h to get ssh to use this name.
598 * Fixed path to host key in sshd_config.
599
600 -- Christian Kurz <shorty@debian.org> Wed, 10 Jan 2001 08:23:47 +0100
601
602openssh (1:2.3.0p1-1.1) unstable; urgency=medium
603
604 * NMU with permission of Phil Hands.
605 * New upstream release
606 * Update Build-Depends to point to new libssl096.
607 * This upstream release doesn't leak any information depending
608 on the setting of PermitRootLogin (Closes: #59933)
609 * New upstream release contains fix against forcing a client to
610 do X/agent forwarding (Closes: #76788)
611 * Changed template to contain correct path to the documentation
612 (Closes: #67245)
613 * Added --with-4in6 switch as compile option into debian/rules.
614 * Added --with-ipv4-default as compile option into debian/rules.
615 (Closes: #75037)
616 * Changed default path to also contain /usr/local/bin and
617 /usr/X11R6/bin (Closes: #62472,#54567,#62810)
618 * Changed path to sftp-server in sshd_config to match the
619 our package (Closes: #68347)
620 * Replaced OpenBSDh with OpenBSD in the init-script.
621 * Changed location to original source in copyright.head
622 * Changed behaviour of init-script when invoked with the option
623 restart (Closes: #68706,#72560)
624 * Added a note about -L option of scp to README.Debian
625 * ssh won't print now the motd if invoked with -t option
626 (Closes: #59933)
627 * RFC.nroff.gz get's now converted into RFC.gz. (Closes: #63867)
628 * Added a note about tcp-wrapper support to README.Debian
629 (Closes: #72807,#22190)
630 * Removed two unneeded options from building process.
631 * Added sshd.pam into debian dir and install it.
632 * Commented out unnecessary call to dh_installinfo.
633 * Added a line to sshd.pam so that limits will be paid attention
634 to (Closes: #66904)
635 * Restart Option has a Timeout of 10 seconds (Closes: 51264)
636 * scp won't override files anymore (Closes: 51955)
637 * Removed pam_lastlog module, so that the lastlog is now printed
638 only once (Closes: #71742, #68335, #69592, #71495, #77781)
639 * If password is expired, openssh now forces the user to change it.
640 (Closes: #51747)
641 * scp should now have no more problems with shell-init-files that
642 produces ouput (Closes: #56280,#59873)
643 * ssh now prints the motd correctly (Closes: #66926)
644 * ssh upgrade should disable ssh daemon only if users has choosen
645 to do so (Closes: #67478)
646 * ssh can now be installed suid (Closes: #70879)
647 * Modified debian/rules to support hurd.
648
649 -- Christian Kurz <shorty@debian.org> Wed, 27 Dec 2000 20:06:57 +0100
650
651openssh (1:2.2.0p1-1.1) unstable; urgency=medium
652
653 * Non-Maintainer Upload
654 * Check for new returns in the new libc
655 (closes: #72803, #74393, #72797, #71307, #71702)
656 * Link against libssl095a (closes: #66304)
657 * Correct check for PermitRootLogin (closes: #69448)
658
659 -- Ryan Murray <rmurray@debian.org> Wed, 18 Oct 2000 00:48:18 -0700
660
661openssh (1:2.2.0p1-1) unstable; urgency=low
662
663 * New upstream release
664
665 -- Philip Hands <phil@hands.com> Mon, 11 Sep 2000 14:49:43 +0100
666
667openssh (1:2.1.1p4-3) unstable; urgency=low
668
669 * add rsh alternatives
670 * add -S option to scp (using Tommi Virtanen's patch) (closes: #63097)
671 * do the IPV4_DEFAULT thing properly this time
672
673 -- Philip Hands <phil@hands.com> Fri, 11 Aug 2000 18:14:37 +0100
674
675openssh (1:2.1.1p4-2) unstable; urgency=low
676
677 * reinstate manpage .out patch from 1:1.2.3
678 * fix typo in postinst
679 * only compile ssh with IPV4_DEFAULT
680 * apply James Troup's patch to add a -o option to scp and updated manpage
681
682 -- Philip Hands <phil@hands.com> Sun, 30 Jul 2000 00:12:49 +0100
683
684openssh (1:2.1.1p4-1) unstable; urgency=low
685
686 * New upstream release
687
688 -- Philip Hands <phil@hands.com> Sat, 29 Jul 2000 14:46:16 +0100
689
690openssh (1:1.2.3-10) unstable; urgency=low
691
692 * add version to libpam-modules dependency, because old versions of
693 pam_motd make it impossible to log in.
694
695 -- Philip Hands <phil@hands.com> Sat, 29 Jul 2000 13:28:22 +0100
696
697openssh (1:1.2.3-9) frozen unstable; urgency=low
698
699 * force location of /usr/bin/X11/xauth
700 (closes: #64424, #66437, #66859) *RC*
701 * typos in config (closes: #66779, #66780)
702 * sshd_not_to_be_run could be assumed to be true, in error, if the config
703 script died in an unusual way --- I've reversed this (closes: #66335)
704 * Apply Zack Weinberg <zack@wolery.cumb.org>'s patch to ssh-askpass-ptk
705 (closes: #65981)
706 * change default for PermitRootLogin to "no" (closes: #66406)
707
708 -- Philip Hands <phil@hands.com> Tue, 11 Jul 2000 20:51:18 +0100
709
710openssh (1:1.2.3-8) frozen unstable; urgency=low
711
712 * get rid of Provides: rsh-server (this will mean that rstartd
713 will need to change it's depends to deal with #63948, which I'm
714 reopening) (closes: #66257)
715 Given that this is also a trivial change, and is a reversal of a
716 change that was mistakenly made after the freeze, I think this should
717 also go into frozen.
718
719 -- Philip Hands <phil@hands.com> Wed, 28 Jun 2000 03:26:30 +0100
720
721openssh (1:1.2.3-7) frozen unstable; urgency=low
722
723 * check if debconf is installed before calling db_stop in postinst.
724 This is required to allow ssh to be installed when debconf is not
725 wanted, which probably makes it an RC upload (hopefully the last of
726 too many).
727
728 -- Philip Hands <phil@hands.com> Wed, 28 Jun 2000 03:19:47 +0100
729
730openssh (1:1.2.3-6) frozen unstable; urgency=low
731
732 * fixed depressing little bug involving a line wrap looking like
733 a blank line in the templates file *RC*
734 (closes: #66090, #66078, #66083, #66182)
735
736 -- Philip Hands <phil@hands.com> Mon, 26 Jun 2000 00:45:05 +0100
737
738openssh (1:1.2.3-5) frozen unstable; urgency=low
739
740 * add code to prevent UseLogin exploit, although I think our PAM
741 conditional code breaks UseLogin in a way that protects us from this
742 exploit anyway. ;-) (closes: #65495) *RC*
743 * Apply Zack Weinberg <zack@wolery.cumb.org>'s patch to fix keyboard
744 grab vulnerability in ssh-askpass-gnome (closes: #64795) *RC*
745 * stop redirection of sshd's file descriptors (introduced in 1:1.2.3-3)
746 and use db_stop in the postinst to solve that problem instead
747 (closes: #65104)
748 * add Provides: rsh-server to ssh (closes: #63948)
749 * provide config option not to run sshd
750
751 -- Philip Hands <phil@hands.com> Mon, 12 Jun 2000 23:05:11 +0100
752
753openssh (1:1.2.3-4) frozen unstable; urgency=low
754
755 * fixes #63436 which is *RC*
756 * add 10 second pause in init.d restart (closes: #63844)
757 * get rid of noenv in PAM mail line (closes: #63856)
758 * fix host key path in make-ssh-known-hosts (closes: #63713)
759 * change wording of SUID template (closes: #62788, #63436)
760
761 -- Philip Hands <phil@hands.com> Sat, 27 May 2000 11:18:06 +0100
762
763openssh (1:1.2.3-3) frozen unstable; urgency=low
764
765 * redirect sshd's file descriptors to /dev/null in init to
766 prevent debconf from locking up during installation
767 ** grave bug just submited by me **
768
769 -- Philip Hands <phil@hands.com> Thu, 20 Apr 2000 17:10:59 +0100
770
771openssh (1:1.2.3-2) frozen unstable; urgency=low
772
773 * allow user to select SUID status of /usr/bin/ssh (closes: 62462) ** RC **
774 * suggest debconf
775 * conflict with debconf{,-tiny} (<<0.2.17) so I can clean up the preinst
776
777 -- Philip Hands <phil@hands.com> Wed, 19 Apr 2000 17:49:15 +0100
778
779openssh (1:1.2.3-1) frozen unstable; urgency=low
780
781 * New upstream release
782 * patch sshd to create extra xauth key required for localhost
783 (closes: #49944) *** RC ***
784 * FallbacktoRsh now defaults to ``no'' to match impression
785 given in sshd_config
786 * stop setting suid bit on ssh (closes: #58711, #58558)
787 This breaks Rhosts authentication (which nobody uses) and allows
788 the LD_PRELOAD trick to get socks working, so seems like a net benefit.
789
790 -- Philip Hands <phil@hands.com> Thu, 13 Apr 2000 20:01:54 +0100
791
792openssh (1:1.2.2-1.4) frozen unstable; urgency=low
793
794 * Recompile for frozen, contains fix for RC bug.
795
796 -- Tommi Virtanen <tv@debian.org> Tue, 29 Feb 2000 22:14:58 +0200
797
798openssh (1:1.2.2-1.3) unstable; urgency=low
799
800 * Integrated man page addition for PrintLastLog.
801 This bug was filed on "openssh", and I ended up
802 creating my own patch for this (closes: #59054)
803 * Improved error message when ssh_exchange_identification
804 gets EOF (closes: #58904)
805 * Fixed typo (your -> you're) in debian/preinst.
806 * Added else-clauses to config to make this upgradepath possible:
807 oldssh -> openssh preinst fails due to upgrade_to_openssh=false
808 -> ssh-nonfree -> openssh. Without these, debconf remembered
809 the old answer, config didn't force asking it, and preinst always
810 aborted (closes: #56596, #57782)
811 * Moved setting upgrade_to_openssh isdefault flag to the place
812 where preinst would abort. This means no double question to most
813 users, people who currently suffer from "can't upgrade" may need
814 to run apt-get install ssh twice. Did not do the same for
815 use_old_init_script, as the situation is a bit different, and
816 less common (closes: #54010, #56224)
817 * Check for existance of ssh-keygen before attempting to use it in
818 preinst, added warning for non-existant ssh-keygen in config. This
819 happens when the old ssh is removed (say, due to ssh-nonfree getting
820 installed).
821
822 -- Tommi Virtanen <tv@debian.org> Sun, 27 Feb 2000 21:36:43 +0200
823
824openssh (1:1.2.2-1.2) frozen unstable; urgency=low
825
826 * Non-maintainer upload.
827 * Added configuration option PrintLastLog, default off due to PAM
828 (closes: #54007, #55042)
829 * ssh-askpass-{gnome,ptk} now provide ssh-askpass, making ssh's
830 Suggests: line more accurate. Also closing related bugs fixed
831 earlier, when default ssh-askpass moved to /usr/bin.
832 (closes: #52403, #54741, #50607, #52298, #50967, #51661)
833 * Patched to call vhangup, with autoconf detection and all
834 (closes: #55379)
835 * Added --with-ipv4-default workaround to a glibc bug causing
836 slow DNS lookups, as per UPGRADING. Use -6 to really use
837 IPv6 addresses. (closes: #57891, #58744, #58713, #57970)
838 * Added noenv to PAM pam_mail line. Thanks to Ben Collins.
839 (closes: #58429)
840 * Added the UPGRADING file to the package.
841 * Added frozen to the changelog line and recompiled before
842 package was installed into the archive.
843
844 -- Tommi Virtanen <tv@debian.org> Fri, 25 Feb 2000 22:08:57 +0200
845
846openssh (1:1.2.2-1.1) frozen unstable; urgency=low
847
848 * Non-maintainer upload.
849 * Integrated scp pipe buffer patch from Ben Collins
850 <benc@debian.org>, should now work even if reading
851 a pipe gives less than fstat st_blksize bytes.
852 Should now work on Alpha and Sparc Linux (closes: #53697, #52071)
853 * Made ssh depend on libssl09 (>= 0.9.4-3) (closes: #51393)
854 * Integrated patch from Ben Collins <benc@debian.org>
855 to do full shadow account locking and expiration
856 checking (closes: #58165, #51747)
857
858 -- Tommi Virtanen <tv@debian.org> Tue, 22 Feb 2000 20:46:12 +0200
859
860openssh (1:1.2.2-1) frozen unstable; urgency=medium
861
862 * New upstream release (closes: #56870, #56346)
863 * built against new libesd (closes: #56805)
864 * add Colin Watson <cjw44@cam.ac.uk> =NULL patch
865 (closes: #49902, #54894)
866 * use socketpairs as suggested by Andrew Tridgell to eliminate rsync
867 (and other) lockups
868 * patch SSHD_PAM_SERVICE back into auth-pam.c, again :-/
869 (closes: #49902, #55872, #56959)
870 * uncoment the * line in ssh_config (closes: #56444)
871
872 * #54894 & #49902 are release critical, so this should go in frozen
873
874 -- Philip Hands <phil@hands.com> Wed, 9 Feb 2000 04:52:04 +0000
875
876openssh (1:1.2.1pre24-1) unstable; urgency=low
877
878 * New upstream release
879
880 -- Philip Hands <phil@hands.com> Fri, 31 Dec 1999 02:47:24 +0000
881
882openssh (1:1.2.1pre23-1) unstable; urgency=low
883
884 * New upstream release
885 * excape ? in /etc/init.d/ssh (closes: #53269)
886
887 -- Philip Hands <phil@hands.com> Wed, 29 Dec 1999 16:50:46 +0000
888
889openssh (1:1.2pre17-1) unstable; urgency=low
890
891 * New upstream release
892
893 -- Philip Hands <phil@hands.com> Thu, 9 Dec 1999 16:50:40 +0000
894
895openssh (1:1.2pre16-1) unstable; urgency=low
896
897 * New upstream release
898 * upstream release (1.2pre14) (closes: #50299)
899 * make ssh depend on libwrap0 (>= 7.6-1.1) (closes: #50973, #50776)
900 * dispose of grep -q broken pipe message in config script (closes: #50855)
901 * add make-ssh-known-hosts (closes: #50660)
902 * add -i option to ssh-copy-id (closes: #50657)
903 * add check for *LK* in password, indicating a locked account
904
905 -- Philip Hands <phil@hands.com> Wed, 8 Dec 1999 22:59:38 +0000
906
907openssh (1:1.2pre13-1) unstable; urgency=low
908
909 * New upstream release
910 * make sshd.c use SSHD_PAM_SERVICE and define it as "ssh" in debian/rules
911 * remove duplicate line in /etc/pam.d/ssh (closes: #50310)
912 * mention ssh -A option in ssh.1 & ssh_config
913 * enable forwarding to localhost in default ssh_config (closes: #50373)
914 * tweak preinst to deal with debconf being `unpacked'
915 * use --with-tcp-wrappers (closes: #49545)
916
917 -- Philip Hands <phil@hands.com> Sat, 20 Nov 1999 14:20:04 +0000
918
919openssh (1:1.2pre11-2) unstable; urgency=low
920
921 * oops, just realised that I forgot to strip out the unpleasant
922 fiddling mentioned below (which turned not to be a fix anyway)
923
924 -- Philip Hands <phil@hands.com> Mon, 15 Nov 1999 01:35:23 +0000
925
926openssh (1:1.2pre11-1) unstable; urgency=low
927
928 * New upstream release (closes: #49722)
929 * add 2>/dev/null to dispose of spurious message casused by grep -q
930 (closes: #49876, #49604)
931 * fix typo in debian/control (closes: #49841)
932 * Do some unpleasant fiddling with upgraded keys in the preinst, which
933 should make the keylength problem go away. (closes: #49676)
934 * make pam_start in sshd use ``ssh'' as the service name (closes: #49956)
935 * If /etc/ssh/NOSERVER exist, stop sshd from starting (closes: #47107)
936 * apply Ben Collins <bcollins@debian.org>'s shadow patch
937 * disable lastlogin and motd printing if using pam (closes: #49957)
938 * add ssh-copy-id script and manpage
939
940 -- Philip Hands <phil@hands.com> Fri, 12 Nov 1999 01:03:38 +0000
941
942openssh (1:1.2pre9-1) unstable; urgency=low
943
944 * New upstream release
945 * apply Chip Salzenberg <chip@valinux.com>'s SO_REUSEADDR patch
946 to channels.c, to make forwarded ports instantly reusable
947 * replace Pre-Depend: debconf with some check code in preinst
948 * make the ssh-add ssh-askpass failure message more helpful
949 * fix the ssh-agent getopts bug (closes: #49426)
950 * fixed typo on Suggests: line (closes: #49704, #49571)
951 * tidy up ssh package description (closes: #49642)
952 * make ssh suid (closes: #49635)
953 * in preinst upgrade code, ensure ssh_host_keys is mode 600 (closes: #49606)
954 * disable agent forwarding by default, for the similar reasons as
955 X forwarding (closes: #49586)
956
957 -- Philip Hands <phil@hands.com> Tue, 9 Nov 1999 09:57:47 +0000
958
959openssh (1:1.2pre7-4) unstable; urgency=low
960
961 * predepend on debconf (>= 0.2.17) should now allow preinst questions
962
963 -- Philip Hands <phil@hands.com> Sat, 6 Nov 1999 10:31:06 +0000
964
965openssh (1:1.2pre7-3) unstable; urgency=low
966
967 * add ssh-askpass package using Tommi Virtanen's perl-tk script
968 * add ssh-preconfig package cludge
969 * add usage hints to ssh-agent.1
970
971 -- Philip Hands <phil@hands.com> Fri, 5 Nov 1999 00:38:33 +0000
972
973openssh (1:1.2pre7-2) unstable; urgency=low
974
975 * use pam patch from Ben Collins <bcollins@debian.org>
976 * add slogin symlink to Makefile.in
977 * change /usr/bin/login to LOGIN_PROGRAM define of /bin/login
978 * sort out debconf usage
979 * patch from Tommi Virtanen <tv@debian.org>'s makes ssh-add use ssh-askpass
980
981 -- Philip Hands <phil@hands.com> Thu, 4 Nov 1999 11:08:54 +0000
982
983openssh (1:1.2pre7-1) unstable; urgency=low
984
985 * New upstream release
986
987 -- Philip Hands <phil@hands.com> Tue, 2 Nov 1999 21:02:37 +0000
988
989openssh (1:1.2.0.pre6db1-2) unstable; urgency=low
990
991 * change the binary package name to ssh (the non-free branch of ssh has
992 been renamed to ssh-nonfree)
993 * make pam file comply with Debian standards
994 * use an epoch to make sure openssh supercedes ssh-nonfree
995
996 -- Philip Hands <phil@hands.com> Sat, 30 Oct 1999 16:26:05 +0100
997
998openssh (1.2pre6db1-1) unstable; urgency=low
999
1000 * New upstream source
1001 * sshd accepts logins now!
1002
1003 -- Dan Brosemer <odin@linuxfreak.com> Fri, 29 Oct 1999 11:13:38 -0500
1004
1005openssh (1.2.0.19991028-1) unstable; urgency=low
1006
1007 * New upstream source
1008 * Added test for -lnsl to configure script
1009
1010 -- Dan Brosemer <odin@linuxfreak.com> Thu, 28 Oct 1999 18:52:09 -0500
1011
1012openssh (1.2.0.19991027-3) unstable; urgency=low
1013
1014 * Initial release
1015
1016 -- Dan Brosemer <odin@linuxfreak.com> Wed, 27 Oct 1999 19:39:46 -0500
1017
1018Local variables:
1019mode: debian-changelog
1020End:
diff --git a/debian/conffiles b/debian/conffiles
new file mode 100644
index 000000000..fbc2e8444
--- /dev/null
+++ b/debian/conffiles
@@ -0,0 +1,4 @@
1/etc/ssh/ssh_config
2/etc/ssh/moduli
3/etc/init.d/ssh
4/etc/pam.d/ssh
diff --git a/debian/config b/debian/config
new file mode 100644
index 000000000..0a5f42b2e
--- /dev/null
+++ b/debian/config
@@ -0,0 +1,86 @@
1#!/bin/sh
2
3action=$1
4version=$2
5
6if [ -d /etc/ssh-nonfree -a ! -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_text 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 isdefault true
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 isdefault false
31fi
32
33if [ -z "$version" -a ! -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_get ssh/new_config
43 if [ "$RET" = "true" ];
44 then db_input medium ssh/protocol2_only ||true
45 db_input high ssh/privsep_ask ||true
46 else db_text high ssh/privsep_tell ||true
47 fi
48 else db_text high ssh/privsep_tell ||true
49 fi
50else db_text high ssh/privsep_tell ||true
51fi
52
53db_input medium ssh/SUID_client || true
54
55db_input medium ssh/run_sshd || true
56
57if [ -x /usr/sbin/in.telnetd ] && grep -q "^telnet\b" /etc/inetd.conf
58then
59 if ! /usr/sbin/in.telnetd -? 2>&1 | grep -q ssl 2>/dev/null
60 then
61 db_input low ssh/insecure_telnetd || true
62 fi
63fi
64
65key=/etc/ssh/ssh_host_key
66export key
67if [ -n "$version" ] && [ -f $key ] && [ ! -x /usr/bin/ssh-keygen ] &&
68 dpkg --compare-versions "$version" lt 1.2.28
69then
70 # make sure that keys get updated to get rid of IDEA; preinst
71 # actually does the work, but if the old ssh-keygen is not found,
72 # it can't do that -- thus, we tell the user that he must create
73 # a new host key.
74 echo -en '\0\0' | 3<&0 sh -c \
75 'dd if=$key bs=1 skip=32 count=2 2>/dev/null | cmp -s - /dev/fd/3' || {
76 # this means that bytes 32&33 of the key were not both zero, in which
77 # case the key is encrypted, which we need to fix
78 db_input high ssh/encrypted_host_key_but_no_keygen || true
79 }
80fi
81
82
83db_text low ssh/forward_warning || true
84db_go
85
86exit 0
diff --git a/debian/control b/debian/control
new file mode 100644
index 000000000..2fe062623
--- /dev/null
+++ b/debian/control
@@ -0,0 +1,45 @@
1Source: openssh
2Section: net
3Priority: standard
4Maintainer: Matthew Vernon <matthew@debian.org>
5Build-Depends: libwrap0-dev | libwrap-dev, zlib1g-dev | libz-dev, libssl-dev, libpam0g-dev | libpam-dev, libgnome-dev, groff, debhelper (>=1.1.17), sharutils
6Standards-Version: 3.5.2
7Uploaders: Colin Watson <cjwatson@debian.org>
8
9Package: ssh
10Architecture: any
11Depends: ${shlibs:Depends}, libpam-modules (>= 0.72-9), debconf, adduser
12Conflicts: ssh-nonfree (<<2), ssh-socks, ssh2, debconf (<<0.2.17), debconf-tiny (<<0.2.17), sftp, rsh-client (<<0.16.1-1)
13Suggests: ssh-askpass, xbase-clients, dpkg (>=1.8.3.1), dnsutils
14Provides: rsh-client
15Description: Secure rlogin/rsh/rcp replacement (OpenSSH)
16 This is the portable version of OpenSSH, a free implementation of
17 the Secure Shell protocol as specified by the IETF secsh working
18 group.
19 .
20 Ssh (Secure Shell) is a program for logging into a remote machine
21 and for executing commands on a remote machine.
22 It provides secure encrypted communications between two untrusted
23 hosts over an insecure network. X11 connections and arbitrary TCP/IP
24 ports can also be forwarded over the secure channel.
25 It is intended as a replacement for rlogin, rsh and rcp, and can be
26 used to provide applications with a secure communication channel.
27 .
28 --------------------------------------------------------------------
29 .
30 In some countries, particularly Russia, Iraq, and Pakistan, it may
31 be illegal to use any encryption at all without a special permit.
32
33Package: ssh-askpass-gnome
34Section: x11
35Priority: optional
36Architecture: any
37Depends: ${shlibs:Depends}, ssh (>=1:1.2pre7-4) | ssh-krb5
38Provides: ssh-askpass
39Description: under X, asks user for a passphrase for ssh-add
40 This has been split out of the main ssh package, so that the ssh will
41 not need to depend upon the Gnome libraries.
42 .
43 You probably want the ssh-askpass package instead, but this is
44 provided to add to your choice and/or confusion.
45
diff --git a/debian/copyright.head b/debian/copyright.head
new file mode 100644
index 000000000..1e1282f98
--- /dev/null
+++ b/debian/copyright.head
@@ -0,0 +1,36 @@
1This package was debianized by Philip Hands <phil@hands.com> on 31 Oct 1999
2(with help from Dan Brosemer <odin@linuxfreak.com>)
3
4It was downloaded from here:
5 ftp://ftp.fu-berlin.de/unix/security/openssh/openssh-2.3.0p1.tar.gz
6
7worldwide mirrors are listed here:
8 http://www.openssh.com/ftp.html
9
10The Debian specific parts of the package are mostly taken from the
11original ssh package, which has since been renamed as ssh-nonfree.
12
13The Debian patch is distributed under the terms of the GPL.
14
15The upstream source for this package is a combination of the ssh
16branch that is being maintained by the OpenBSD team (starting from
17the last version of SSH that was distributed under a free license),
18and porting work by Damien Miller <damien@ibs.com.au> to get it
19working on Linux. Other people also contributed to this, and are
20credited in /usr/share/doc/ssh/README.
21
22Copyright:
23
24Code in helper.[ch] is Copyright Internet Business Solutions and is
25released under a X11-style license (see source file for details).
26
27(A)RC4 code in rc4.[ch] is Copyright Damien Miller. It too is under a
28X11-style license (see source file for details).
29
30make-ssh-known-hosts is Copyright Tero Kivinen <Tero.Kivinen@hut.fi>,
31and is distributed under the GPL (see source file for details).
32
33The copyright for the orignal SSH version follows. It has been
34modified with [comments] to reflect the changes that the OpenBSD folks
35have made:
36
diff --git a/debian/dirs b/debian/dirs
new file mode 100644
index 000000000..00a019411
--- /dev/null
+++ b/debian/dirs
@@ -0,0 +1,7 @@
1usr/bin
2usr/sbin
3usr/lib
4etc/ssh
5etc/init.d
6usr/share/man/man1
7usr/share/man/man8
diff --git a/debian/gnome-ssh-askpass.1 b/debian/gnome-ssh-askpass.1
new file mode 100644
index 000000000..b74c410a8
--- /dev/null
+++ b/debian/gnome-ssh-askpass.1
@@ -0,0 +1,51 @@
1.TH GNOME-SSH-ASKPASS 1
2.SH NAME
3gnome\-ssh\-askpass \- prompts a user for a passphrase using GNOME
4.SH SYNOPSIS
5.B gnome\-ssh\-askpass
6.SH DESCRIPTION
7.B gnome\-ssh\-askpass
8is a GNOME-based passphrase dialog for use with OpenSSH.
9It is intended to be called by the
10.BR ssh\-add (1)
11program and not invoked directly.
12It allows
13.BR ssh\-add (1)
14to obtain a passphrase from a user, even if not connected to a terminal
15(assuming that an X display is available).
16This happens automatically in the case where
17.B ssh\-add
18is invoked from one's
19.B ~/.xsession
20or as one of the GNOME startup programs, for example.
21.PP
22In order to be called automatically by
23.BR ssh\-add ,
24.B gnome\-ssh\-askpass
25should be installed as
26.IR /usr/bin/ssh\-askpass .
27.SH "ENVIRONMENT VARIABLES"
28The following environment variables are recognized:
29.TP
30.I GNOME_SSH_ASKPASS_GRAB_SERVER
31Causes
32.B gnome\-ssh\-askpass
33to grab the X server before asking for a passphrase.
34.TP
35.I GNOME_SSH_ASKPASS_GRAB_POINTER
36Causes
37.B gnome\-ssh\-askpass
38to grab the mouse pointer using
39.IR gdk_pointer_grab ()
40before asking for a passphrase.
41.PP
42Regardless of whether either of these environment variables is set,
43.B gnome\-ssh\-askpass
44will grab the keyboard using
45.IR gdk_keyboard_grab ().
46.SH AUTHOR
47This manual page was written by Colin Watson <cjwatson@debian.org>
48for the Debian system (but may be used by others).
49It was based on that for
50.B x11\-ssh\-askpass
51by Philip Hands.
diff --git a/debian/init b/debian/init
new file mode 100644
index 000000000..fe59584e6
--- /dev/null
+++ b/debian/init
@@ -0,0 +1,60 @@
1#! /bin/sh
2
3# /etc/init.d/ssh: start and stop the OpenBSD "secure shell(tm)" daemon
4
5test -x /usr/sbin/sshd || exit 0
6( /usr/sbin/sshd -\? 2>&1 | grep -q OpenSSH ) 2>/dev/null || exit 0
7
8# forget it if we're trying to start, and /etc/ssh/sshd_not_to_be_run exists
9if [ -e /etc/ssh/sshd_not_to_be_run ]; then
10 echo "OpenBSD Secure Shell server not in use (/etc/ssh/sshd_not_to_be_run)"
11 exit 0
12fi
13
14check_config() {
15 /usr/sbin/sshd -t || exit 1
16}
17
18# Configurable options:
19
20case "$1" in
21 start)
22 test -f /etc/ssh/sshd_not_to_be_run && exit 0
23#Create the PrivSep empty dir if necessary
24 if [ ! -d /var/run/sshd ]; then
25 mkdir /var/run/sshd; chmod 0755 /var/run/sshd
26 fi
27 echo -n "Starting OpenBSD Secure Shell server: sshd"
28 start-stop-daemon --start --quiet --pidfile /var/run/sshd.pid --exec /usr/sbin/sshd
29 echo "."
30 ;;
31 stop)
32 echo -n "Stopping OpenBSD Secure Shell server: sshd"
33 start-stop-daemon --stop --quiet --oknodo --pidfile /var/run/sshd.pid
34 echo "."
35 ;;
36
37 reload|force-reload)
38 test -f /etc/ssh/sshd_not_to_be_run && exit 0
39 check_config
40 echo -n "Reloading OpenBSD Secure Shell server's configuration"
41 start-stop-daemon --stop --signal 1 --quiet --oknodo --pidfile /var/run/sshd.pid --exec /usr/sbin/sshd
42 echo "."
43 ;;
44
45 restart)
46 test -f /etc/ssh/sshd_not_to_be_run && exit 0
47 check_config
48 echo -n "Restarting OpenBSD Secure Shell server: sshd"
49 start-stop-daemon --stop --quiet --oknodo --pidfile /var/run/sshd.pid
50 sleep 2
51 start-stop-daemon --start --quiet --pidfile /var/run/sshd.pid --exec /usr/sbin/sshd
52 echo "."
53 ;;
54
55 *)
56 echo "Usage: /etc/init.d/ssh {start|stop|reload|force-reload|restart}"
57 exit 1
58esac
59
60exit 0
diff --git a/debian/postinst b/debian/postinst
new file mode 100644
index 000000000..1b741c203
--- /dev/null
+++ b/debian/postinst
@@ -0,0 +1,334 @@
1#!/bin/sh -e
2
3action="$1"
4oldversion="$2"
5
6test -e /usr/share/debconf/confmodule && {
7 . /usr/share/debconf/confmodule
8 db_version 2.0
9}
10
11umask 022
12
13if [ "$action" != configure ]
14 then
15 exit 0
16fi
17
18
19
20check_idea_key() {
21 #check for old host_key files using IDEA, which openssh does not support
22 if [ -f /etc/ssh/ssh_host_key ] ; then
23 if ssh-keygen -p -N '' -f /etc/ssh/ssh_host_key 2>&1 | \
24 grep -q 'unknown cipher' 2>/dev/null ; then
25 mv /etc/ssh/ssh_host_key /etc/ssh/ssh_host_key.old
26 mv /etc/ssh/ssh_host_key.pub /etc/ssh/ssh_host_key.pub.old
27 fi
28 fi
29}
30
31
32create_key() {
33 local msg="$1"
34 shift
35 local file="$1"
36 shift
37
38 if [ ! -f "$file" ] ; then
39 echo -n $msg
40 ssh-keygen -f "$file" -N '' "$@" > /dev/null
41 echo
42 fi
43}
44
45
46create_keys() {
47 RET=true
48 test -e /usr/share/debconf/confmodule && {
49 db_get ssh/protocol2_only
50 }
51
52 if [ "$RET" = "false" ] ; then
53 create_key "Creating SSH1 key" /etc/ssh/ssh_host_key -t rsa1
54 fi
55
56 create_key "Creating SSH2 RSA key" /etc/ssh/ssh_host_rsa_key -t rsa
57 create_key "Creating SSH2 DSA key" /etc/ssh/ssh_host_dsa_key -t dsa
58}
59
60
61create_sshdconfig() {
62 if [ -e /etc/ssh/sshd_config ] ; then
63 if dpkg --compare-versions "$oldversion" lt-nl 1:1.3 ; then
64 RET=true
65 test -e /usr/share/debconf/confmodule && {
66 db_get ssh/new_config
67 }
68 if [ "$RET" = "false" ] ; then return 0; fi
69 else return 0
70 fi
71 fi
72 RET=true
73 test -e /usr/share/debconf/confmodule && {
74 db_get ssh/protocol2_only
75 }
76
77 #Preserve old sshd_config before generating a new on
78 if [ -e /etc/ssh/sshd_config ] ; then
79 mv /etc/ssh/sshd_config /etc/ssh/sshd_config.dpkg-old
80 fi
81
82 cat <<EOF > /etc/ssh/sshd_config
83# Package generated configuration file
84# See the sshd(8) manpage for defails
85
86# What ports, IPs and protocols we listen for
87Port 22
88# Use these options to restrict which interfaces/protocols sshd will bind to
89#ListenAddress ::
90#ListenAddress 0.0.0.0
91EOF
92if [ "$RET" = "false" ]; then
93 cat <<EOF >> /etc/ssh/sshd_config
94Protocol 2,1
95# HostKeys for protocol version 1
96HostKey /etc/ssh/ssh_host_key
97# HostKeys for protocol version 2
98HostKey /etc/ssh/ssh_host_rsa_key
99HostKey /etc/ssh/ssh_host_dsa_key
100EOF
101else
102 cat <<EOF >> /etc/ssh/sshd_config
103Protocol 2
104# HostKeys for protocol version 2
105HostKey /etc/ssh/ssh_host_rsa_key
106HostKey /etc/ssh/ssh_host_dsa_key
107EOF
108fi
109
110test -e /usr/share/debconf/confmodule && {
111 db_get ssh/privsep_ask
112}
113if [ "$RET" = "false" ]; then
114 cat <<EOF >> /etc/ssh/sshd_config
115#Explicitly set PrivSep off, as requested
116UsePrivilegeSeparation no
117
118# Use PAM authentication via keyboard-interactive so PAM modules can
119# properly interface with the user
120PAMAuthenticationViaKbdInt yes
121EOF
122else
123 cat <<EOF >> /etc/ssh/sshd_config
124#Privilege Separation is turned on for security
125UsePrivilegeSeparation yes
126
127# ...but breaks Pam auth via kbdint, so we have to turn it off
128# Use PAM authentication via keyboard-interactive so PAM modules can
129# properly interface with the user (off due to PrivSep)
130PAMAuthenticationViaKbdInt no
131EOF
132fi
133
134 cat <<EOF >> /etc/ssh/sshd_config
135# Lifetime and size of ephemeral version 1 server key
136KeyRegenerationInterval 3600
137ServerKeyBits 768
138
139# Logging
140SyslogFacility AUTH
141LogLevel INFO
142
143# Authentication:
144LoginGraceTime 600
145PermitRootLogin yes
146StrictModes yes
147
148RSAAuthentication yes
149PubkeyAuthentication yes
150#AuthorizedKeysFile %h/.ssh/authorized_keys
151
152# rhosts authentication should not be used
153RhostsAuthentication no
154# Don't read the user's ~/.rhosts and ~/.shosts files
155IgnoreRhosts yes
156# For this to work you will also need host keys in /etc/ssh_known_hosts
157RhostsRSAAuthentication no
158# similar for protocol version 2
159HostbasedAuthentication no
160# Uncomment if you don't trust ~/.ssh/known_hosts for RhostsRSAAuthentication
161#IgnoreUserKnownHosts yes
162
163# To enable empty passwords, change to yes (NOT RECOMMENDED)
164PermitEmptyPasswords no
165
166# Uncomment to disable s/key passwords
167#ChallengeResponseAuthentication no
168
169# To disable tunneled clear text passwords, change to no here!
170PasswordAuthentication yes
171
172
173# To change Kerberos options
174#KerberosAuthentication no
175#KerberosOrLocalPasswd yes
176#AFSTokenPassing no
177#KerberosTicketCleanup no
178
179# Kerberos TGT Passing does only work with the AFS kaserver
180#KerberosTgtPassing yes
181
182X11Forwarding no
183X11DisplayOffset 10
184PrintMotd no
185#PrintLastLog no
186KeepAlive yes
187#UseLogin no
188
189#MaxStartups 10:30:60
190#Banner /etc/issue.net
191#ReverseMappingCheck yes
192
193Subsystem sftp /usr/lib/sftp-server
194
195EOF
196}
197
198
199fix_rsh_diversion() {
200# get rid of mistaken rsh diversion (circa 1.2.27-1)
201
202 if [ -L /usr/bin/rsh ] &&
203 dpkg-divert --list '/usr/bin/rsh.real/rsh' | grep -q ' ssh$' ; then
204 for cmd in rlogin rsh rcp ; do
205 [ -L /usr/bin/$cmd ] && rm /usr/bin/$cmd
206 dpkg-divert --package ssh --remove --rename \
207 --divert /usr/bin/rsh.real/$cmd /usr/bin/$cmd
208
209 [ -L /usr/man/man1/$cmd.1.gz ] && rm /usr/man/man1/$$cmd.1.gz
210 dpkg-divert --package ssh --remove --rename \
211 --divert /usr/man/man1/$cmd.real.1.gz /usr/man/man1/$cmd.1.gz
212 done
213
214 rmdir /usr/bin/rsh.real
215 fi
216}
217
218
219fix_statoverride() {
220# Remove an erronous override for sshd (we should have overridden ssh)
221 if [ -x /usr/sbin/dpkg-statoverride ]; then
222 if dpkg-statoverride --list /usr/sbin/sshd 2>/dev/null ; then
223 dpkg-statoverride --remove /usr/sbin/sshd
224 fi
225 fi
226}
227
228
229create_alternatives() {
230# Create alternatives for the various r* tools
231# Make sure we don't change existing alternatives that a user might have
232# changed
233 for cmd in rsh rlogin rcp ; do
234 if ! update-alternatives --display $cmd | \
235 grep -q ssh ; then
236 update-alternatives --quiet --install /usr/bin/$cmd $cmd /usr/bin/ssh 20 \
237 --slave /usr/share/man/man1/$cmd.1.gz $cmd.1.gz /usr/share/man/man1/ssh.1.gz
238 fi
239 done
240
241}
242
243setup_sshd_user() {
244 if ! id sshd > /dev/null 2>&1 ; then
245 adduser --quiet --system --no-create-home --home /var/run/sshd sshd
246 fi
247}
248
249set_sshd_permissions() {
250 suid=false
251
252 if dpkg --compare-versions "$oldversion" lt-nl 1:3.4p1-1 ; then
253 if [ -x /usr/sbin/dpkg-statoverride ] ; then
254 if dpkg-statoverride --list /usr/bin/ssh >/dev/null; then
255 dpkg-statoverride --remove /usr/bin/ssh >/dev/null
256 fi
257 fi
258 fi
259
260 [ -e /usr/share/debconf/confmodule ] && {
261 db_get ssh/SUID_client
262 suid="$RET"
263 }
264 if [ -x /usr/sbin/dpkg-statoverride ] ; then
265 if ! dpkg-statoverride --list /usr/lib/ssh-keysign >/dev/null ; then
266 if [ "$suid" = "false" ] ; then
267 chmod 0755 /usr/lib/ssh-keysign
268 elif [ "$suid" = "true" ] ; then
269 chmod 4755 /usr/lib/ssh-keysign
270 fi
271 fi
272 else
273 if [ "$suid" = "false" ] ; then
274 chmod 0755 /usr/lib/ssh-keysign
275 elif [ "$suid" = "true" ] ; then
276 chmod 4755 /usr/lib/ssh-keysign
277 fi
278
279 fi
280}
281
282
283set_ssh_agent_permissions() {
284 if ! getent group | grep -q '^ssh:'; then
285 addgroup --quiet ssh
286 fi
287 if ! [ -x /usr/sbin/dpkg-statoverride ] || \
288 ! dpkg-statoverride --list /usr/bin/ssh-agent >/dev/null ; then
289 chgrp ssh /usr/bin/ssh-agent
290 chmod 2755 /usr/bin/ssh-agent
291 fi
292}
293
294
295setup_startup() {
296 start=yes
297 [ -e /usr/share/debconf/confmodule ] && {
298 db_get ssh/run_sshd
299 start="$RET"
300 }
301
302 if [ "$start" != "true" ] ; then
303 /etc/init.d/ssh stop 2>&1 >/dev/null
304 touch /etc/ssh/sshd_not_to_be_run
305 else
306 rm -f /etc/ssh/sshd_not_to_be_run 2>/dev/null
307 fi
308}
309
310
311setup_init() {
312 if [ -e /etc/init.d/ssh ]; then
313 update-rc.d ssh defaults >/dev/null
314 /etc/init.d/ssh restart
315 fi
316}
317
318check_idea_key
319create_keys
320create_sshdconfig
321fix_rsh_diversion
322fix_statoverride
323create_alternatives
324setup_sshd_user
325set_sshd_permissions
326set_ssh_agent_permissions
327setup_startup
328setup_init
329
330
331[ -e /usr/share/debconf/confmodule ] && db_stop
332
333exit 0
334
diff --git a/debian/postinst.old b/debian/postinst.old
new file mode 100644
index 000000000..586da1cc6
--- /dev/null
+++ b/debian/postinst.old
@@ -0,0 +1,269 @@
1#!/bin/sh -e
2
3action="$1"
4oldversion="$2"
5
6test -e /usr/share/debconf/confmodule && {
7 . /usr/share/debconf/confmodule
8 db_version 2.0
9}
10
11
12if [ "$action" != configure ]
13 then
14 exit 0
15fi
16
17
18
19check_idea_key() {
20 #check for old host_key files using IDEA, which openssh does not support
21 if [ -f /etc/ssh/ssh_host_key ] ; then
22 if ssh-keygen -p -N '' -f /etc/ssh/ssh_host_key 2>&1 | \
23 grep -q 'unknown cipher' 2>/dev/null ; then
24 mv /etc/ssh/ssh_host_key /etc/ssh/ssh_host_key.old
25 mv /etc/ssh/ssh_host_key.pub /etc/ssh/ssh_host_key.pub.old
26 fi
27 fi
28}
29
30
31create_key() {
32 local file="$1"
33 shift
34
35 if [ ! -f "$file" ] ; then
36 ( umask 022 ; \
37 ssh-keygen -f "$file" -N '' "$@" > /dev/null )
38 fi
39}
40
41
42create_keys() {
43 RET=true
44test -e /usr/share/debconf/confmodule && {
45 db_get ssh/protocol2_only
46}
47
48 if [ "$RET" = "false" ] ; then
49 echo "Creating SSH1 key"
50 create_key /etc/ssh/ssh_host_key
51fi
52
53 echo "Creating SSH2 RSA key"
54 create_key /etc/ssh/ssh_host_rsa_key -t rsa
55 echo "Creating SSH2 DSA key"
56 create_key /etc/ssh/ssh_host_dsa_key -t dsa
57}
58
59
60create_sshdconfig() {
61 [ -e /etc/ssh/sshd_config ] && return
62
63RET=true
64test -e /usr/share/debconf/confmodule && {
65 db_get ssh/protocol2_only
66}
67
68 cat <<EOF > /etc/ssh/sshd_config
69# Package generated configuration file
70# See the sshd(8) manpage for defails
71
72# What ports, IPs and protocols we listen for
73Port 22
74# Uncomment the next entry to accept IPv6 traffic.
75#ListenAddress ::
76#ListenAddress 0.0.0.0
77EOF
78if [ "$RET" = "false" ]; then
79 cat <<EOF >> /etc/ssh/sshd_config
80Protocol 2,1
81# HostKeys for protocol version 1
82HostKey /etc/ssh/ssh_host_key
83# HostKeys for protocol version 2
84HostKey /etc/ssh/ssh_host_rsa_key
85HostKey /etc/ssh/ssh_host_dsa_key
86EOF
87else
88 cat <<EOF >> /etc/ssh/sshd_config
89Protocol 2
90# HostKeys for protocol version 2
91HostKey /etc/ssh/ssh_host_rsa_key
92HostKey /etc/ssh/ssh_host_dsa_key
93EOF
94fi
95
96
97 cat <<EOF >> /etc/ssh/sshd_config
98# Lifetime and size of ephemeral version 1 server key
99KeyRegenerationInterval 3600
100ServerKeyBits 768
101
102# Logging
103SyslogFacility AUTH
104LogLevel INFO
105
106# Authentication:
107LoginGraceTime 600
108PermitRootLogin no
109StrictModes yes
110
111RSAAuthentication yes
112PubkeyAuthentication yes
113#AuthorizedKeysFile %h/.ssh/authorized_keys
114
115# rhosts authentication should not be used
116RhostsAuthentication no
117# Don't read the user's ~/.rhosts and ~/.shosts files
118IgnoreRhosts yes
119# For this to work you will also need host keys in /etc/ssh_known_hosts
120RhostsRSAAuthentication no
121# similar for protocol version 2
122HostbasedAuthentication no
123# Uncomment if you don't trust ~/.ssh/known_hosts for RhostsRSAAuthentication
124#IgnoreUserKnownHosts yes
125
126# To disable tunneled clear text passwords, change to no here!
127PermitEmptyPasswords no
128
129# Uncomment to disable s/key passwords
130#ChallengeResponseAuthentication no
131
132# Use PAM authentication via keyboard-interactive so PAM modules can
133# properly interface with the user
134PasswordAuthentication no
135PAMAuthenticationViaKbdInt yes
136
137# To change Kerberos options
138#KerberosAuthentication no
139#KerberosOrLocalPasswd yes
140#AFSTokenPassing no
141#KerberosTicketCleanup no
142
143# Kerberos TGT Passing does only work with the AFS kaserver
144#KerberosTgtPassing yes
145
146X11Forwarding no
147X11DisplayOffset 10
148PrintMotd no
149#PrintLastLog no
150KeepAlive yes
151#UseLogin no
152
153#MaxStartups 10:30:60
154#Banner /etc/issue.net
155#ReverseMappingCheck yes
156
157Subsystem sftp /usr/libexec/sftp-server
158EOF
159}
160
161
162fix_rsh_diversion() {
163# get rid of mistaken rsh diversion (circa 1.2.27-1)
164
165 if [ -L /usr/bin/rsh ] &&
166 dpkg-divert --list '/usr/bin/rsh.real/rsh' | grep -q ' ssh$' ; then
167 for cmd in rlogin rsh rcp ; do
168 [ -L /usr/bin/$cmd ] && rm /usr/bin/$cmd
169 dpkg-divert --package ssh --remove --rename \
170 --divert /usr/bin/rsh.real/$cmd /usr/bin/$cmd
171
172 [ -L /usr/man/man1/$cmd.1.gz ] && rm /usr/man/man1/$$cmd.1.gz
173 dpkg-divert --package ssh --remove --rename \
174 --divert /usr/man/man1/$cmd.real.1.gz /usr/man/man1/$cmd.1.gz
175 done
176
177 rmdir /usr/bin/rsh.real
178 fi
179}
180
181
182fix_statoverride() {
183# Remove an erronous override for sshd (we should have overridden ssh)
184if [ -x /usr/sbin/dpkg-statoverride ]; then
185 if dpkg-statoverride --list /usr/sbin/sshd 2>/dev/null ; then
186 dpkg-statoverride --remote /usr/sbin/sshd
187 fi
188 fi
189}
190
191
192create_alternatives() {
193# Create alternatives for the various r* tools
194# Make sure we don't change existing alternatives that a user might have
195# changed
196 for cmd in rsh rlogin rcp ; do
197 if ! update-alternatives --display $cmd | \
198 grep -q ssh ; then
199 update-alternatives --quiet --install /usr/bin/$cmd $cmd /usr/bin/ssh 20 \
200 --slave /usr/share/man/man1/$cmd.1.gz $cmd.1.gz /usr/share/man/man1/ssh.1.gz
201 fi
202 done
203
204}
205
206
207set_sshd_permissions() {
208 suid=no
209
210 [ -e /usr/share/debconf/confmodule ] && {
211 db_get ssh/SUID_client
212 suid="$RET"
213 }
214
215 if [ "$suid" = "yes" ] ; then
216 if [ -x /usr/sbin/dpkg-statoverride ] && \
217 ! dpkg-statoverride /usr/bin/ssh ; then
218 dpkg-statoverride --add root root 04755 /usr/bin/ssh
219fi
220 fi
221}
222
223
224setup_startup() {
225 start=yes
226 [ -e /usr/share/debconf/confmodule ] && {
227 db_get ssh/run_sshd
228 start="$RET"
229 }
230
231 if [ "$start" != "true" ] ; then
232 touch /etc/ssh/sshd_not_to_be_run
233 else
234 rm -f /etc/ssh/sshd_not_to_be_run 2>/dev/null
235 fi
236}
237
238
239setup_init() {
240if [ -e /etc/init.d/ssh ]; then
241 update-rc.d ssh defaults >/dev/null
242 /etc/init.d/ssh restart
243fi
244}
245
246check_idea_key
247create_keys
248create_sshdconfig
249fix_rsh_diversion
250fix_statoverride
251create_alternatives
252set_sshd_permissions
253setup_startup
254setup_init
255
256
257# Automatically added by dh_installdocs
258if [ "$1" = "configure" ]; then
259 if [ -d /usr/doc -a ! -e /usr/doc/ssh -a -d /usr/share/doc/ssh ]; then
260 ln -sf ../share/doc/ssh /usr/doc/ssh
261 fi
262fi
263# End automatically added section
264
265
266[ -e /usr/share/debconf/confmodule ] && db_stop
267
268exit 0
269
diff --git a/debian/postrm b/debian/postrm
new file mode 100644
index 000000000..c76f662df
--- /dev/null
+++ b/debian/postrm
@@ -0,0 +1,19 @@
1#!/bin/sh -e
2
3#DEBHELPER#
4
5if [ "$1" = "purge" ]
6then
7 rm -rf /etc/ssh
8fi
9
10if [ "$1" = "purge" ] ; then
11 update-rc.d ssh remove >/dev/null
12fi
13
14if [ "$1" = "purge" ] ; then
15 deluser --quiet sshd > /dev/null || true
16 delgroup --quiet ssh > /dev/null || true
17fi
18
19exit 0
diff --git a/debian/preinst b/debian/preinst
new file mode 100644
index 000000000..320d4df2a
--- /dev/null
+++ b/debian/preinst
@@ -0,0 +1,79 @@
1#!/bin/sh -e
2
3action=$1
4version=$2
5
6if [ -d /etc/ssh-nonfree -a ! -d /etc/ssh ]; then
7 version=1.2.27
8fi
9
10if [ "$action" = upgrade -o "$action" = install ]
11then
12 # check if debconf is missing
13 if ! test -f /usr/share/debconf/confmodule
14 then
15 cat <<EOF
16
17WARNING: ssh's pre-configuration script relies on debconf to tell you
18about some problems that might prevent you from logging in if you are
19upgrading from the old, Non-free version of ssh.
20
21If this is a new installation, you don't need to worry about this.
22Just go ahead and install ssh (make sure to read .../ssh/README.Debian).
23
24If you are upgrading, but you have alternative ways of logging into
25the machine (i.e. you're sitting in front of it, or you have telnetd
26running), then you also don't need to worry too much, because you can
27fix it up afterwards if there's a problem.
28
29If you're upgrading from an older (non-free) version of ssh, and ssh
30is the only way you have to access this machine, then you should
31probably abort the installation of ssh, install debconf, and then
32retry the installation of ssh.
33
34EOF
35 echo -n "Do you want to install SSH anyway [yN]: "
36 read input
37 expr "$input" : '[Yy]' >/dev/null || exit 1
38
39 # work around for missing debconf
40 db_get() { : ; }
41 RET=true
42 if [ -d /etc/ssh-nonfree -a ! -d /etc/ssh ]; then
43 cp -a /etc/ssh-nonfree /etc/ssh
44 fi
45 else
46 # Source debconf library.
47 . /usr/share/debconf/confmodule
48 db_version 2.0
49 fi
50
51 db_get ssh/use_old_init_script
52 if [ "$RET" = "false" ]; then
53 echo "ssh config: Aborting because ssh/use_old_init_script = false" >&2
54 exit 1
55 fi
56
57 # deal with upgrading from pre-OpenSSH versions
58 key=/etc/ssh/ssh_host_key
59 export key
60 if [ -n "$version" ] && [ -x /usr/bin/ssh-keygen ] && [ -f $key ] &&
61 dpkg --compare-versions "$version" lt 1.2.28
62 then
63 # make sure that keys get updated to get rid of IDEA
64 #
65 # N.B. this only works because we've still got the old
66 # nonfree ssh-keygen at this point
67 #
68 # First, check if we need to bother
69 echo -en '\0\0' | 3<&0 sh -c \
70 'dd if=$key bs=1 skip=32 count=2 2>/dev/null | cmp -s - /dev/fd/3' || {
71 # this means that bytes 32&33 of the key were not both zero, in which
72 # case the key is encrypted, which we need to fix
73 chmod 600 $key
74 ssh-keygen -u -f $key >/dev/null
75 }
76 fi
77fi
78
79#DEBHELPER#
diff --git a/debian/prerm b/debian/prerm
new file mode 100644
index 000000000..17aa45e1f
--- /dev/null
+++ b/debian/prerm
@@ -0,0 +1,44 @@
1#! /bin/sh
2# prerm script for ssh
3#
4# see: dh_installdeb(1)
5
6set -e
7
8# summary of how this script can be called:
9# * <prerm> `remove'
10# * <old-prerm> `upgrade' <new-version>
11# * <new-prerm> `failed-upgrade' <old-version>
12# * <conflictor's-prerm> `remove' `in-favour' <package> <new-version>
13# * <deconfigured's-prerm> `deconfigure' `in-favour'
14# <package-being-installed> <version> `removing'
15# <conflicting-package> <version>
16# for details, see /usr/share/doc/packaging-manual/
17
18case "$1" in
19 remove|deconfigure)
20 update-alternatives --quiet --remove ssh /usr/bin/ssh
21 update-alternatives --quiet --remove ssh /usr/bin/slogin
22 update-alternatives --quiet --remove ssh /usr/bin/scp
23 if [ -e /etc/init.d/ssh ]; then
24 /etc/init.d/ssh stop
25 fi
26# install-info --quiet --remove /usr/info/ssh-askpass.info.gz
27 ;;
28 upgrade)
29# install-info --quiet --remove /usr/info/ssh-askpass.info.gz
30 ;;
31 failed-upgrade)
32 ;;
33 *)
34 echo "prerm called with unknown argument \`$1'" >&2
35 exit 0
36 ;;
37esac
38
39# dh_installdeb will replace this with shell code automatically
40# generated by other debhelper scripts.
41
42#DEBHELPER#
43
44exit 0
diff --git a/debian/rules b/debian/rules
new file mode 100755
index 000000000..fb60b2270
--- /dev/null
+++ b/debian/rules
@@ -0,0 +1,99 @@
1#!/usr/bin/make -f
2
3# Uncomment this to turn on verbose mode.
4# export DH_VERBOSE=1
5
6# This is the debhelper compatability version to use.
7export DH_COMPAT=1
8
9# This has to be exported to make some magic below work.
10export DH_OPTIONS
11
12#PKG_VER = $(shell perl -e 'print <> =~ /\((.*)\)/' debian/changelog)
13
14build: build-stamp
15build-stamp:
16 dh_testdir
17#Change the version string to include the Debian Version
18 if <version.h sed -e "/define/s/\"\(.*\)\"/\"\1 Debian `dpkg-parsechangelog | sed -n -e '/^Version:/s/Version: //p'`\"/" >version.h.new; \
19 then mv version.h version.h.upstream; mv version.h.new version.h; \
20 else echo "Version number change failed"; exit 1; \
21 fi
22 ./configure --prefix=/usr --sysconfdir=/etc/ssh --libexecdir=/usr/lib --mandir=/usr/share/man --with-tcp-wrappers --with-xauth=/usr/bin/X11/xauth --with-default-path=/bin:/usr/bin:/usr/local/bin:/usr/X11R6/bin --with-pam --with-4in6 --with-ipv4-default \
23 --with-privsep-path=/var/run/sshd --without-rand-helper
24 $(MAKE) -j 2 ASKPASS_PROGRAM='/usr/bin/ssh-askpass' CFLAGS='-O2 -g -Wall -DLOGIN_PROGRAM=\"/bin/login\" -DSSHD_PAM_SERVICE=\"ssh\" -D__FILE_OFFSET_BITS=64 -DHAVE_MMAP_ANON_SHARED' \
25 SSH_KEYSIGN='/usr/lib/ssh-keysign'
26 $(MAKE) -C contrib gnome-ssh-askpass1 CC='gcc -O2'
27
28 touch build-stamp
29
30clean:
31 dh_testdir
32 rm -f build-stamp
33 -$(MAKE) -i distclean
34 -$(MAKE) -C contrib clean
35 rm -f config.log
36 if [ -f version.h.upstream ]; then mv version.h.upstream version.h; \
37 fi
38 dh_clean
39
40install: DH_OPTIONS=
41install: build
42 dh_testdir
43 dh_testroot
44 dh_clean -k
45 dh_installdirs
46
47 # Add here commands to install the package into debian/tmp.
48 $(MAKE) DESTDIR=`pwd`/debian/tmp install
49
50 rm -f debian/tmp/etc/ssh/ssh_host_*key*
51 rm -f debian/tmp/etc/ssh/sshd_config
52 #Temporary hack: remove /usr/share/Ssh.bin, since we have no smartcard support anyway.
53 rm -f debian/tmp/usr/share/Ssh.bin
54
55 install -m 755 contrib/ssh-copy-id debian/tmp/usr/bin/ssh-copy-id
56 install -m 644 -c contrib/ssh-copy-id.1 debian/tmp/usr/share/man/man1/ssh-copy-id.1
57 install -m 644 debian/gnome-ssh-askpass.1 debian/tmp/usr/share/man/man1/gnome-ssh-askpass.1
58
59 install -s -o root -g root -m 755 contrib/gnome-ssh-askpass1 debian/ssh-askpass-gnome/usr/lib/ssh/gnome-ssh-askpass
60
61 install -o root -g root debian/init debian/tmp/etc/init.d/ssh
62
63 install -o root -g root -m 755 -d debian/tmp/var/run/sshd
64
65 dh_movefiles
66
67# Build architecture-independent files here.
68binary-indep: build install
69 # nothing to do
70
71# Build architecture-dependent files here.
72binary-arch: build install
73 dh_testdir
74 dh_testroot
75 dh_installdebconf
76 dh_installdocs OVERVIEW README
77 cat debian/copyright.head LICENCE > debian/tmp/usr/share/doc/ssh/copyright
78 dh_installexamples
79 dh_installmenu
80 nroff RFC.nroff > debian/tmp/usr/share/doc/ssh/RFC
81 gzip -9 debian/tmp/usr/share/doc/ssh/RFC
82 rm -rf debian/tmp/usr/share/doc/ssh/RFC.nroff.gz
83 dh_installpam
84 dh_installcron
85 dh_installchangelogs ChangeLog
86 dh_strip
87 dh_link
88 dh_compress
89 dh_fixperms
90 dh_installdeb
91 test ! -e debian/tmp/etc/ssh/ssh_prng_cmds \
92 || echo "/etc/ssh/ssh_prng_cmds" >> debian/tmp/DEBIAN/conffiles
93 dh_shlibdeps
94 dh_gencontrol
95 dh_md5sums
96 dh_builddeb
97
98binary: binary-indep binary-arch
99.PHONY: build clean binary-indep binary-arch binary install
diff --git a/debian/ssh-askpass-gnome.copyright b/debian/ssh-askpass-gnome.copyright
new file mode 100644
index 000000000..4a71dda00
--- /dev/null
+++ b/debian/ssh-askpass-gnome.copyright
@@ -0,0 +1,44 @@
1This package contains a Gnome based implementation of ssh-askpass
2written by Damien Miller.
3
4It is split out from the main package to isolate the dependency on the
5Gnome and X11 libraries.
6
7It was packaged for Debian by Philip Hands <phil@hands.com>.
8
9Copyright:
10
11/*
12**
13** GNOME ssh passphrase requestor
14**
15** Damien Miller <djm@ibs.com.au>
16**
17** Copyright 1999 Internet Business Solutions
18**
19** Permission is hereby granted, free of charge, to any person
20** obtaining a copy of this software and associated documentation
21** files (the "Software"), to deal in the Software without
22** restriction, including without limitation the rights to use, copy,
23** modify, merge, publish, distribute, sublicense, and/or sell copies
24** of the Software, and to permit persons to whom the Software is
25** furnished to do so, subject to the following conditions:
26**
27** The above copyright notice and this permission notice shall be
28** included in all copies or substantial portions of the Software.
29**
30** THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY
31** KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE
32** WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE
33** AND NONINFRINGEMENT. IN NO EVENT SHALL DAMIEN MILLER OR INTERNET
34** BUSINESS SOLUTIONS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
35** LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE,
36** ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE
37** OR OTHER DEALINGS IN THE SOFTWARE.
38**
39** Except as contained in this notice, the name of Internet Business
40** Solutions shall not be used in advertising or otherwise to promote
41** the sale, use or other dealings in this Software without prior
42** written authorization from Internet Business Solutions.
43**
44*/
diff --git a/debian/ssh-askpass-gnome.dirs b/debian/ssh-askpass-gnome.dirs
new file mode 100644
index 000000000..6c255ea63
--- /dev/null
+++ b/debian/ssh-askpass-gnome.dirs
@@ -0,0 +1 @@
usr/lib/ssh/
diff --git a/debian/ssh-askpass-gnome.postinst b/debian/ssh-askpass-gnome.postinst
new file mode 100644
index 000000000..7441cca29
--- /dev/null
+++ b/debian/ssh-askpass-gnome.postinst
@@ -0,0 +1,53 @@
1#! /bin/sh
2# postinst script for ssh-askpass-gnome
3#
4# see: dh_installdeb(1)
5
6set -e
7
8# summary of how this script can be called:
9# * <postinst> `configure' <most-recently-configured-version>
10# * <old-postinst> `abort-upgrade' <new version>
11# * <conflictor's-postinst> `abort-remove' `in-favour' <package>
12# <new-version>
13# * <deconfigured's-postinst> `abort-deconfigure' `in-favour'
14# <failed-install-package> <version> `removing'
15# <conflicting-package> <version>
16# for details, see /usr/share/doc/packaging-manual/
17#
18# quoting from the policy:
19# Any necessary prompting should almost always be confined to the
20# post-installation script, and should be protected with a conditional
21# so that unnecessary prompting doesn't happen if a package's
22# installation fails and the `postinst' is called with `abort-upgrade',
23# `abort-remove' or `abort-deconfigure'.
24
25case "$1" in
26 configure)
27 update-alternatives --quiet \
28 --install /usr/bin/ssh-askpass ssh-askpass \
29 /usr/lib/ssh/gnome-ssh-askpass 30 \
30 --slave /usr/share/man/man1/ssh-askpass.1.gz \
31 ssh-askpass.1.gz /usr/share/man/man1/gnome-ssh-askpass.1.gz
32
33
34 ;;
35
36 abort-upgrade|abort-remove|abort-deconfigure)
37
38 ;;
39
40 *)
41 echo "postinst called with unknown argument \`$1'" >&2
42 exit 0
43 ;;
44esac
45
46# dh_installdeb will replace this with shell code automatically
47# generated by other debhelper scripts.
48
49#DEBHELPER#
50
51exit 0
52
53
diff --git a/debian/ssh-askpass-gnome.prerm b/debian/ssh-askpass-gnome.prerm
new file mode 100644
index 000000000..6f3f5756d
--- /dev/null
+++ b/debian/ssh-askpass-gnome.prerm
@@ -0,0 +1,41 @@
1#! /bin/sh
2# prerm script for ssh-askpass-gnome
3#
4# see: dh_installdeb(1)
5
6set -e
7
8# summary of how this script can be called:
9# * <prerm> `remove'
10# * <old-prerm> `upgrade' <new-version>
11# * <new-prerm> `failed-upgrade' <old-version>
12# * <conflictor's-prerm> `remove' `in-favour' <package> <new-version>
13# * <deconfigured's-prerm> `deconfigure' `in-favour'
14# <package-being-installed> <version> `removing'
15# <conflicting-package> <version>
16# for details, see /usr/share/doc/packaging-manual/
17
18case "$1" in
19 remove|deconfigure)
20 update-alternatives --quiet --remove ssh-askpass /usr/lib/ssh/gnome-ssh-askpass
21# install-info --quiet --remove /usr/info/ssh-askpass.info.gz
22 ;;
23 upgrade)
24# install-info --quiet --remove /usr/info/ssh-askpass.info.gz
25 ;;
26 failed-upgrade)
27 ;;
28 *)
29 echo "prerm called with unknown argument \`$1'" >&2
30 exit 0
31 ;;
32esac
33
34# dh_installdeb will replace this with shell code automatically
35# generated by other debhelper scripts.
36
37#DEBHELPER#
38
39exit 0
40
41
diff --git a/debian/ssh.pam b/debian/ssh.pam
new file mode 100644
index 000000000..a4478cf4a
--- /dev/null
+++ b/debian/ssh.pam
@@ -0,0 +1,22 @@
1#%PAM-1.0
2auth required pam_nologin.so
3auth required pam_unix.so
4auth required pam_env.so # [1]
5
6account required pam_unix.so
7
8session required pam_unix.so
9session optional pam_lastlog.so # [1]
10session optional pam_motd.so # [1]
11session optional pam_mail.so standard noenv # [1]
12session required pam_limits.so
13
14password required pam_unix.so
15
16# Alternate strength checking for password. Note that this
17# requires the libpam-cracklib package to be installed.
18# You will need to comment out the password line above and
19# uncomment the next two in order to use this.
20#
21# password required pam_cracklib.so retry=3 minlen=6 difok=3
22# password required pam_unix.so use_authtok nullok md5
diff --git a/debian/templates b/debian/templates
new file mode 100644
index 000000000..b56f8a5ec
--- /dev/null
+++ b/debian/templates
@@ -0,0 +1,151 @@
1Template: ssh/privsep_tell
2Type: note
3Description: Privilege separation
4 This version of OpenSSH contains the new privilege separation
5 option. This significantly reduces the quantity of code that runs as
6 root, and therefore reduces the impact of security holes in sshd.
7 .
8 Unfortunately, privilege separation interacts badly with PAM. Any
9 PAM session modules that need to run as root (pam_mkhomedir, for
10 example) will fail, and PAM keyboard-interactive authentication
11 won't work.
12 .
13 Privilege separation is turned on by default, so if you decide you
14 want it turned off, you need to add "UsePrivilegeSeparation no" to
15 /etc/ssh/sshd_config.
16 .
17 NB! If you are running a 2.0 series Linux kernel, then privilege
18 separation will not work at all, and your sshd will fail to start
19 unless you explicitly turn privilege separation off.
20
21Template: ssh/privsep_ask
22Type: boolean
23Default: true
24Description: Enable Privilege separation
25 This version of OpenSSH contains the new privilege separation
26 option. This significantly reduces the quantity of code that runs as
27 root, and therefore reduces the impact of security holes in sshd.
28 .
29 Unfortunately, privilege separation interacts badly with PAM. Any
30 PAM session modules that need to run as root (pam_mkhomedir, for
31 example) will fail, and PAM keyboard-interactive authentication
32 won't work.
33 .
34 Since you've opted to have me generate an sshd_config file for you,
35 you can choose whether or not to have Privilege Separation turned on
36 or not. Unless you are running 2.0 (in which case you *must* say no
37 here or your sshd won't start at all) or know you need to use PAM
38 features that won't work with this option, you should say yes here.
39
40Template: ssh/new_config
41Type: boolean
42Default: true
43Description: Generate new configuration file
44 This version of OpenSSH has a considerably changed configuration file from
45 the version shipped in Debian 'Potato', which you appear to be upgrading from.
46 I can now generate you a new configuration file (/etc/ssh/sshd.config), which
47 will work with the new server version, but will not contain any customisations
48 you made with the old version.
49 .
50 Please note that this new configuration file will set the value of
51 'PermitRootLogin' to yes (meaning that anyone knowing the root password can
52 ssh directly in as root). It is the opinion of the maintainer that this is
53 the correct default (see README.Debian for more details), but you can always
54 edit sshd_config and set it to no if you wish.
55 .
56 It is strongly recommended that you let me generate a new configuration file
57 for you.
58
59Template: ssh/protocol2_only
60Type: boolean
61Default: true
62Description: Allow SSH protocol 2 only
63 This version of OpenSSH supports version 2 of the ssh protocol, which
64 is much more secure. Disabling ssh 1 is encouraged, however this
65 will slow things down on low end machines and might prevent older
66 clients from connecting (the ssh client shipped with "potato" is affected).
67 .
68 Also please note that keys used for protocol 1 are different so you will
69 not be able to use them if you only allow protocol 2 connections.
70 .
71 If you later change your mind about this setting, README.Debian has
72 instructions on what to do to your sshd_config file.
73
74Template: ssh/ssh2_keys_merged
75Type: note
76Description: ssh2 keys merged in configuration files
77 As of version 3 OpenSSH no longer uses separate files for ssh1 and
78 ssh2 keys. This means the authorized_keys2 and known_hosts2 files
79 are no longer needed. They will still be read in order to maintain
80 backwards compatibility
81
82Template: ssh/use_old_init_script
83Type: boolean
84Default: false
85Description: Do you want to continue (and risk killing active ssh sessions) ?
86 The version of /etc/init.d/ssh that you have installed, is likely to kill
87 all running sshd instances. If you are doing this upgrade via an ssh
88 session, that would be a Bad Thing(tm).
89 .
90 You can fix this by adding "--pidfile /var/run/sshd.pid" to the
91 start-stop-daemon line in the stop section of the file.
92
93Template: ssh/forward_warning
94Type: note
95Description: NOTE: Forwarding of X11 and Authorization disabled by default.
96 For security reasons, the Debian version of ssh has ForwardX11 and
97 ForwardAgent set to ``off'' by default.
98 .
99 You can enable it for servers you trust, either
100 in one of the configuration files, or with the -X command line option.
101 .
102 More details can be found in /usr/share/doc/ssh/README.Debian
103
104Template: ssh/insecure_rshd
105Type: note
106Description: Warning: rsh-server is installed --- probably not a good idea
107 having rsh-server installed undermines the security that you were probably
108 wanting to obtain by installing ssh. I'd advise you to remove that package.
109
110Template: ssh/insecure_telnetd
111Type: note
112Description: Warning: telnetd is installed --- probably not a good idea
113 I'd advise you to either remove the telnetd package (if you don't actually
114 need to offer telnet access) or install telnetd-ssl so that there is at
115 least some chance that telnet sessions will not be sending unencrypted
116 login/password and session information over the network.
117
118Template: ssh/encrypted_host_key_but_no_keygen
119Type: note
120Description: Warning: you must create a new host key
121 There is an old /etc/ssh/ssh_host_key, which is IDEA encrypted.
122 OpenSSH can not handle this host key file, and I can't find the
123 ssh-keygen utility from the old (non-free) SSH installation.
124 .
125 You will need to generate a new host key.
126
127Template: ssh/SUID_client
128Type: boolean
129Default: true
130Description: Do you want /usr/lib/ssh-keysign to be installed SUID root?
131 You have the option of installing the ssh-keysign helper with the SUID
132 bit set.
133 .
134 If you make ssh-keysign SUID, you will be able to use SSH's Protocol 2
135 host-based authentication.
136 .
137 If in doubt, I suggest you install it with SUID. If it causes
138 problems you can change your mind later by running: dpkg-reconfigure ssh
139
140Template: ssh/run_sshd
141Type: boolean
142Default: true
143Description: Do you want to run the sshd server ?
144 This package contains both the ssh client, and the sshd server.
145 .
146 Normally the sshd Secure Shell Server will be run to allow remote
147 logins via ssh.
148 .
149 If you are only interested in using the ssh client for outbound
150 connections on this machine, and don't want to log into it at all
151 using ssh, then you can disable sshd here.
diff --git a/debian/templates.da b/debian/templates.da
new file mode 100644
index 000000000..c17c60039
--- /dev/null
+++ b/debian/templates.da
@@ -0,0 +1,157 @@
1Template: ssh/protocol2_only
2Type: boolean
3Default: true
4Description: Allow SSH protocol 2 only
5 This version of OpenSSH supports version 2 of the ssh protocol, which is
6 much more secure. Disabling ssh 1 is encouraged, however this will slow
7 things down on low end machines and might prevent older clients from
8 connecting.
9 .
10 Also please note that keys used for protocol 1 are different so you will
11 not be able to use them if you only allow protocol 2 connections.
12Description-da: Tillad kun SSH protokol 2
13 Denne udgave af OpenSSH understøtter version 2 af ssh-protokollen, som er
14 betydeligt mere sikker. Det anbefales af deaktivere version 1. Dog kan det
15 sløve langsomme maskiner, og forhindre ældre klienter i at opnå forbindelse.
16
17Template: ssh/ssh2_keys_merged
18Type: note
19Description: ssh2 keys merged in configuration files
20 As of version 3 OpenSSH no longer uses seperate files for ssh1 and ssh2
21 keys. This means the authorized_keys2 and known_hosts2 files are no longer
22 needed. They will still be read in order to maintain backwards
23 compatibility
24Description-da: ssh2-nøgler flettet i opsætningsfilerne
25 Siden version 3 har OpenSSH ikke længere separate filer for ssh1- og
26 ssh2-nøgler. Det betyder, at filerne authorized_keys2 og known_hosts2 ikke
27 længere er nødvendige. De vil stadig dog stadig blive læst for
28 bagudkompatilitetens skyld.
29
30Template: ssh/use_old_init_script
31Type: boolean
32Default: false
33Description: Do you want to continue (and risk killing active ssh sessions) ?
34 The version of /etc/init.d/ssh that you have installed, is likely to kill
35 all running sshd instances. If you are doing this upgrade via an ssh
36 session, that would be a Bad Thing(tm).
37 .
38 You can fix this by adding "--pidfile /var/run/sshd.pid" to the
39 start-stop-daemon line in the stop section of the file.
40Description-da: Vil du fortsætte (og risikere at afbryde aktive ssh-forbindelser)?
41 Den udgave af /etc/init.d/ssh, du har installeret, vil sandsynligvis afbryde
42 alle sshd-dæmoner. Det vil være en rigtigt dårlig idé, hvis du er ved at
43 opgradering via en ssh-forbindelse.
44 .
45 Du kan afhjælpe dette ved at tilføje "--pidfile /var/run/sshd.pid" til
46 'start-stop-daemon'-linjen i stop-afsnittet af filen.
47
48
49Template: ssh/forward_warning
50Type: note
51Description: NOTE: Forwarding of X11 and Authorization disabled by default.
52 For security reasons, the Debian version of ssh has ForwardX11 and
53 ForwardAgent set to ``off'' by default.
54 .
55 You can enable it for servers you trust, either in one of the
56 configuration files, or with the -X command line option.
57 .
58 More details can be found in /usr/share/doc/ssh/README.Debian
59Description-da: BEMÆRK: Videregivelse af X11 og adgangkontrol er som standard deaktiveret.
60 Af sikkerhedsgrunde har Debianudgaven af ssh sat ForwardX11 og ForwardAgent
61 til 'off' som standard.
62 .
63 Du kan aktivere dem for servere, du stoler på i en af opsætningsfilerne
64 eller med kommandolinjetilvalget '-X'.
65
66Template: ssh/insecure_rshd
67Type: note
68Description: Warning: rsh-server is installed --- probably not a good idea
69 having rsh-server installed undermines the security that you were probably
70 wanting to obtain by installing ssh. I'd advise you to remove that
71 package.
72Description-da: Advarsel: rsh-serveren er installeret --- sikkert ikke en god idé
73 Den sikkerhed, du nok ønskede at opnå ved at installere ssh undermineres
74 ved, at du har rsh-server installeret. Jeg vil råde dig til at fjerne
75 pakken rsh-server.
76
77Template: ssh/insecure_telnetd
78Type: note
79Description: Warning: telnetd is installed --- probably not a good idea
80 I'd advise you to either remove the telnetd package (if you don't actually
81 need to offer telnet access) or install telnetd-ssl so that there is at
82 least some chance that telnet sessions will not be sending unencrypted
83 login/password and session information over the network.
84Description-da: Advarsel: telnetd er installeret --- sikkert ikke en god idé
85 Jeg vil råde dig til enten at fjerne pakken telnetd (hvis du i virkeligheden
86 ikke har brug for at tilbyde telnet-adgang) eller installere telnetd-ssl, så
87 der i det mindste er en mulighed for, at telnet-sessioner ikke sender
88 adgangskoder og sessions-oplysninger ukrypteret over netværket.
89
90Template: ssh/encrypted_host_key_but_no_keygen
91Type: note
92Description: Warning: you must create a new host key
93 There is an old /etc/ssh/ssh_host_key, which is IDEA encrypted. OpenSSH
94 can not handle this host key file, and I can't find the ssh-keygen utility
95 from the old (non-free) SSH installation.
96 .
97 You will need to generate a new host key.
98Description-da: Advarsel: du skal oprette en ny værtsnøgle
99 Der ligger en gammel, IDEA-krypteret /etc/ssh/ssh_host_key. OpenSSH kan
100 ikke håndtere sådan en værtsnøglefil, og jeg kan ikke finde værktøjet
101 ssh-keygen fra den gamle (ikke-frie, 'non-free') SSH-installation.
102
103Template: ssh/SUID_client
104Type: boolean
105Default: false
106Description: Do you want /usr/bin/ssh to be installed SUID root?
107 You have the option of installing the ssh client with the SUID bit set.
108 .
109 If you make ssh SUID, you will be able to use Rhosts/RhostsRSA
110 authentication, but will not be able to use socks via the LD_PRELOAD
111 trick. This is the traditional approach.
112 .
113 If you do not make ssh SUID, you will be able to use socks, but
114 Rhosts/RhostsRSA authentication will stop working, which may stop you
115 logging in to remote systems. It will also mean that the source port will
116 be above 1024, which may confound firewall rules you've set up.
117 .
118 If in doubt, I suggest you install it with SUID. If it causes problems
119 you can change your mind later by running: dpkg-reconfigure ssh
120Description-da: Vil du have, at /usr/bin/ssh bliver installeret 'SUID root'?
121 Du har mulighed for at installere ssh-klienten med SUID-flaget sat.
122 .
123 Hvis du gør ssh SUID, vil du kunne bruge adgangskontrollen
124 Rhosts/RhostsRSA, men vil ikke kunne bruge socks med LD_PRELOAD-tricket.
125 Det vil være den almindelige fremgangsmåde.
126 .
127 Hvis du ikke gør ssh SUID, vil du kunne bruge socks, men adgangskontrol
128 med Rhosts/RhostRSA vil holde op med at virke, hvilket kan forhindre dig
129 i at logge ind på fjerne systemer. Det vil også betyde, at kildeporten
130 vil ligge over 1024, hvilket kan kollidere med eventuelle brandmure, du
131 har sat op.
132 .
133 Hvis du er i tvivl, foreslår jeg, at du installerer den med SUID. Hvis det
134 giver problemer, kan du senere ombestemme dig ved at køre:
135 'dpkg-reconfigure ssh'.
136
137Template: ssh/run_sshd
138Type: boolean
139Default: true
140Description: Do you want to run the sshd server ?
141 This package contains both the ssh client, and the sshd server.
142 .
143 Normally the sshd Secure Shell Server will be run to allow remote logins
144 via ssh.
145 .
146 If you are only interested in using the ssh client for outbound
147 connections on this machine, and don't want to log into it at all using
148 ssh, then you can disable sshd here.
149Description-da: Vil du køre sshd-serveren?
150 Denne pakke indeholder både ssh-klienten og sshd-serveren.
151 .
152 Normalt vil sshd sikker skalserver ('Secure Shell Server') blive aktiveret
153 og tillade fjerne brugere i at logge på via ssh.
154 .
155 Hvis du udelukkende er interesseret i at bruge ssh-klienten til udgående
156 forbindelser fra denne maskine, og ikke ønsker at tilgå denne maskine
157 udefra via ssh, kan du nu deaktivere sshd.
diff --git a/debian/templates.de b/debian/templates.de
new file mode 100644
index 000000000..5feb24cd9
--- /dev/null
+++ b/debian/templates.de
@@ -0,0 +1,95 @@
1Template: ssh/use_old_init_script
2Type: boolean
3Default: false
4Description: Do you want to continue (and risk killing active ssh sessions) ?
5 The version of /etc/init.d/ssh that you have installed, is likely to kill
6 all running sshd instances. If you are doing this upgrade via an ssh
7 session, that would be a Bad Thing(tm).
8 .
9 You can fix this by adding "--pidfile /var/run/sshd.pid" to the
10 start-stop-daemon line in the stop section of the file.
11Description-de: Wollen Sie weitermachen (und das Killen der Session riskieren)?
12 Die Version von /etc/init.d/ssh, die Sie installiert haben, wird
13 vermutlich Ihre aktiven ssh-Instanzen killen. Wenn Sie das Upgrade
14 via ssh erledigen, dann ist das ein Problem.
15 .
16 Sie können das Problem beheben, indem sie "--pidfile /var/run/sshd.pid"
17 an die start-stop-daemon Zeile in dem Bereich stop der Datei
18 /etc/init.d/ssh ergänzen.
19
20Template: ssh/forward_warning
21Type: note
22Description: NOTE: Forwarding of X11 and Authorization disabled by default.
23 For security reasons, the Debian version of ssh has ForwardX11 and
24 ForwardAgent set to ``off'' by default.
25 .
26 You can enable it for servers you trust, either
27 in one of the configuration files, or with the -X command line option.
28 .
29 More details can be found in /usr/share/doc/ssh/README.Debian
30Description-de: HINWEIS: Forwarden von X11 und Authorisierung ist abgeschaltet.
31 Aus Sicherheitsgründen sind die Debian Pakete von ssh ForwardX11 und
32 ForwardAgent auf "off" gesetzt.
33 .
34 Sie können dies für Server, denen Sie trauen, entweder per Eintrag in
35 die Konfigurations Dateien oder per Kommando-Zeilen Option -X ändern.
36 .
37 Weitere Details koennen Sie in /usr/share/doc/ssh/README.Debian finden.
38
39Template: ssh/insecure_rshd
40Type: note
41Description: Warning: rsh-server is installed --- probably not a good idea
42 having rsh-server installed undermines the security that you were probably
43 wanting to obtain by installing ssh. I'd advise you to remove that package.
44Description-de: Warnung: rsh-server ist installiert --- möglicherweise
45 ist es eine schlechte Idee, den rsh-server installiert zu haben, da er
46 die Sicherheit untergräbt. Wir empfehlen, das Paket zu entfernen.
47
48Template: ssh/insecure_telnetd
49Type: note
50Description: Warning: telnetd is installed --- probably not a good idea
51 I'd advise you to either remove the telnetd package (if you don't actually
52 need to offer telnet access) or install telnetd-ssl so that there is at
53 least some chance that telnet sessions will not be sending unencrypted
54 login/password and session information over the network.
55Description-de: Warnung: telnetd ist installiert --- schlechte Idee
56 Wir empfehlen das telnetd Paket zu entfernen (falls Sie keinen telnet Zugang
57 anbieten) oder telnetd-ssl zu installieren, so daß Sie verhindern können,
58 daß Login und Password unverschlüsselt durch das Netz gesendet
59 werden.
60
61Template: ssh/encrypted_host_key_but_no_keygen
62Type: note
63Description: Warning: you must create a new host key
64 There is an old /etc/ssh/ssh_host_key, which is IDEA encrypted.
65 OpenSSH can not handle this host key file, and I can't find the
66 ssh-keygen utility from the old (non-free) SSH installation.
67 .
68 You will need to generate a new host key.
69Description-de: Warnung: Sie müssen einen neuen Host Key erzeugen
70 Es existiert eine alte Variante von /etc/ssh/ssh_host_key welche
71 per IDEA verschlüsselt ist. OpenSSH kann eine solche Host Key Datei
72 nicht lesen und ssh-keygen von der alten (nicht-freien) ssh Installation
73 kann nicht gefunden werden.
74
75Template: ssh/run_sshd
76Type: boolean
77Default: true
78Description: Do you want to run the sshd server ?
79 This package contains both the ssh client, and the sshd server.
80 .
81 Normally the sshd Secure Shell Server will be run to allow remote
82 logins via ssh.
83 .
84 If you are only interested in using the ssh client for outbound
85 connections on this machine, and don't want to log into it at all
86 using ssh, then you can disable sshd here.
87Description-de: Möchten Sie den sshd Server starten?
88 Das Paket enthält sowohl den Client als auch den sshd Server.
89 .
90 Normal wird der sshd Secure Shell Server für Remote Logins per ssh
91 gestartet.
92 .
93 Wenn Sie nur den ssh client nutzen wollen, um sich mit anderen Rechnern
94 zu verbinden und sich nicht per ssh in diesen Computer einloggen wollen,
95 dann können Sie hier den sshd abschalten.
diff --git a/debian/templates.es b/debian/templates.es
new file mode 100644
index 000000000..8d7b25a34
--- /dev/null
+++ b/debian/templates.es
@@ -0,0 +1,266 @@
1Template: ssh/run_sshd
2Type: boolean
3Default: true
4Description: Do you want to run the sshd server ?
5 This package contains both the ssh client, and the sshd server.
6 .
7 Normally the sshd Secure Shell Server will be run to allow remote logins
8 via ssh.
9 .
10 If you are only interested in using the ssh client for outbound
11 connections on this machine, and don't want to log into it at all using
12 ssh, then you can disable sshd here.
13Description-es: ¿Quiere ejecutar el servidor sshd?
14 Este paquete contiene el cliente ssh y el servidor sshd.
15 .
16 Generalmente, el servidor de ssh (Secure Shell Server) se ejecuta para
17 permitir el acceso remoto mediante ssh.
18 .
19 Si sólo está interesado en usar el cliente ssh en conexiones salientes del
20 sistema y no quiere acceder a él mediante ssh, entonces puede desactivar
21 sshd.
22
23Template: ssh/use_old_init_script
24Type: boolean
25Default: false
26Description: Do you want to continue (and risk killing active ssh sessions) ?
27 The version of /etc/init.d/ssh that you have installed, is likely to kill
28 all running sshd instances. If you are doing this upgrade via an ssh
29 session, that would be a Bad Thing(tm).
30 .
31 You can fix this by adding "--pidfile /var/run/sshd.pid" to the
32 start-stop-daemon line in the stop section of the file.
33Description-es: ¿Desea continuar, aún a riesgo de matar las sesiones ssh activas?
34 La versión de /etc/init.d/ssh que tiene instalada es muy probable que
35 mate el demonio ssh. Si está actualizando a través de una sesión ssh,
36 puede que no sea muy buena idea.
37 .
38 Puede arreglarlo añadiendo "--pidfile /var/run/sshd.pid" a la línea
39 'start-stop-daemon', en la sección 'stop' del fichero.
40
41Template: ssh/SUID_client
42Type: boolean
43Default: true
44Description: Do you want /usr/lib/ssh-keysign to be installed SUID root?
45 You have the option of installing the ssh-keysign helper with the SUID bit
46 set.
47 .
48 If you make ssh-keysign SUID, you will be able to use SSH's Protocol 2
49 host-based authentication.
50 .
51 If in doubt, I suggest you install it with SUID. If it causes problems
52 you can change your mind later by running: dpkg-reconfigure ssh
53Description-es: ¿Quiere instalar /usr/lib/ssh-keysign SUID root?
54 Puede instalar ssh-keysign con el bit SUID (se ejecutará con privilegios
55 de root).
56 .
57 Si hace ssh-keysign SUID, podrá usar la autentificiación basada en
58 servidor de la versión 2 del protocolo SSH.
59 .
60 Si duda, se recomienda que lo instale SUID. Si surgen problemas puede
61 cambiar de opinión posteriormente ejecutando «dpkg-reconfigure ssh».
62
63Template: ssh/encrypted_host_key_but_no_keygen
64Type: note
65Description: Warning: you must create a new host key
66 There is an old /etc/ssh/ssh_host_key, which is IDEA encrypted. OpenSSH
67 can not handle this host key file, and I can't find the ssh-keygen utility
68 from the old (non-free) SSH installation.
69 .
70 You will need to generate a new host key.
71Description-es: Aviso: debe crear una nueva clave para su servidor
72 Su sistema tiene un /etc/ssh/ssh_host_key antiguo, que usa cifrado IDEA.
73 OpenSSH no puede manejar este fichero de claves y tampoco se encuentra la
74 utilidad ssh-keygen incluida en el paquete ssh no libre.
75 .
76 Necesitará generar una nueva clave para su servidor.
77
78Template: ssh/insecure_telnetd
79Type: note
80Description: Warning: telnetd is installed --- probably not a good idea
81 I'd advise you to either remove the telnetd package (if you don't actually
82 need to offer telnet access) or install telnetd-ssl so that there is at
83 least some chance that telnet sessions will not be sending unencrypted
84 login/password and session information over the network.
85Description-es: Aviso: tiene telnetd instalado
86 Es muy aconsejable que borre el paquete telnetd si no necesita realmente
87 ofrecer acceso mediante telnet o instalar telnetd-ssl para que las
88 contraseñas, nombres de usuario y demás información de las sesiones telnet
89 no viajen sin cifrar por la red.
90
91Template: ssh/forward_warning
92Type: note
93Description: NOTE: Forwarding of X11 and Authorization disabled by default.
94 For security reasons, the Debian version of ssh has ForwardX11 and
95 ForwardAgent set to ``off'' by default.
96 .
97 You can enable it for servers you trust, either in one of the
98 configuration files, or with the -X command line option.
99 .
100 More details can be found in /usr/share/doc/ssh/README.Debian
101Description-es: NOTA: Reenvío de X11 y Autorización desactivadas por defecto.
102 Por razones de seguridad, la versión de ssh de Debian tiene por defecto
103 ForwardX11 y ForwardAgent desactivadas.
104 .
105 Puede activar estas opciones para los servidores en los que confíe, en los
106 ficheros de configuración o con la opción -X en línea de comandos.
107 .
108 Puede encontrar más detalles en /usr/share/doc/ssh/README.Debian.
109
110Template: ssh/privsep_tell
111Type: note
112Description: Privilege separation
113 This version of OpenSSH contains the new privilege separation option. This
114 significantly reduces the quantity of code that runs as root, and
115 therefore reduces the impact of security holes in sshd.
116 .
117 Unfortunately, privilege separation interacts badly with PAM. Any PAM
118 session modules that need to run as root (pam_mkhomedir, for example) will
119 fail, and PAM keyboard-interactive authentication won't work.
120 .
121 Privilege separation is turned on by default, so if you decide you want it
122 turned off, you need to add "UsePrivilegeSeparation no" to
123 /etc/ssh/sshd_config.
124 .
125 NB! If you are running a 2.0 series Linux kernel, then privilege
126 separation will not work at all, and your sshd will fail to start unless
127 you explicitly turn privilege separation off.
128Description-es: Separación de privilegios
129 Esta versión de OpenSSH incluye una nueva opción de separación de
130 privilegios que reduce significativamente la cantidad de código que se
131 ejecuta como root, por lo que reduce el impacto de posibles agujeros de
132 seguridad en sshd.
133 .
134 Desafortunadamente, la separación de privilegios no interactúa
135 correctamente con PAM. Cualquier módulo PAM que necesite ejecutarse como
136 root (como, por ejemplo, pam_mkhomedir) y la autentificación interactiva
137 PAM con teclado no funcionarán.
138 .
139 La separación de privilegios está activa por defecto, por lo que si decide
140 desactivarla, tiene que añadir "UsePrivilegeSeparation no" al fichero
141 /etc/ssh/sshd_config.
142 .
143 Nota: Si utiliza un núcleo Linux de la serie 2.0, la separación de
144 privilegios fallará estrepitosamente y sshd no funcionará a no ser que la
145 desactive.
146
147Template: ssh/ssh2_keys_merged
148Type: note
149Description: ssh2 keys merged in configuration files
150 As of version 3 OpenSSH no longer uses separate files for ssh1 and ssh2
151 keys. This means the authorized_keys2 and known_hosts2 files are no longer
152 needed. They will still be read in order to maintain backwards
153 compatibility
154Description-es: Las claves ssh2 ya se incluyen en los ficheros de configuración
155 A partir de la versión 3, OpenSSH ya no utiliza ficheros diferentes para
156 las claves ssh1 y ssh2. Esto quiere decir que ya no son necesarios los
157 ficheros authorized_keys2 y known_hosts2, aunque aún se seguirán leyendo
158 para mantener compatibilidad hacia atrás.
159
160Template: ssh/protocol2_only
161Type: boolean
162Default: true
163Description: Allow SSH protocol 2 only
164 This version of OpenSSH supports version 2 of the ssh protocol, which is
165 much more secure. Disabling ssh 1 is encouraged, however this will slow
166 things down on low end machines and might prevent older clients from
167 connecting (the ssh client shipped with "potato" is affected).
168 .
169 Also please note that keys used for protocol 1 are different so you will
170 not be able to use them if you only allow protocol 2 connections.
171 .
172 If you later change your mind about this setting, README.Debian has
173 instructions on what to do to your sshd_config file.
174Description-es: Permitir sólo la versión 2 del protocolo SSH
175 Esta versión de OpenSSH soporta la versión 2 del protocolo ssh, que es
176 mucho más segura que la anterior. Se recomienda desactivar la versión 1,
177 aunque funcionará más lento en máquinas modestas y puede impedir que se
178 conecten clientes antiguos, como, por ejemplo, el incluido en "potato".
179 .
180 También tenga en cuenta que las claves utilizadas para el protocolo 1 son
181 diferentes, por lo que no podrá usarlas si únicamente permite conexiones
182 mediante la versión 2 del protocolo.
183 .
184 Si más tarde cambia de opinión, el fichero README.Debian contiene
185 instrucciones sobre cómo modificar en el fichero sshd_config.
186
187Template: ssh/insecure_rshd
188Type: note
189Description: Warning: rsh-server is installed --- probably not a good idea
190 having rsh-server installed undermines the security that you were probably
191 wanting to obtain by installing ssh. I'd advise you to remove that
192 package.
193Description-es: Aviso: tiene rsh-server instalado
194 Tener rsh-server instalado representa un menoscabo de la seguridad que
195 probablemente desea obtener instalando ssh. Es muy aconsejable que borre
196 ese paquete.
197
198Template: ssh/privsep_ask
199Type: boolean
200Default: true
201Description: Enable Privilege separation
202 This version of OpenSSH contains the new privilege separation option. This
203 significantly reduces the quantity of code that runs as root, and
204 therefore reduces the impact of security holes in sshd.
205 .
206 Unfortunately, privilege separation interacts badly with PAM. Any PAM
207 session modules that need to run as root (pam_mkhomedir, for example) will
208 fail, and PAM keyboard-interactive authentication won't work.
209 .
210 Since you've opted to have me generate an sshd_config file for you, you
211 can choose whether or not to have Privilege Separation turned on or not.
212 Unless you are running 2.0 (in which case you *must* say no here or your
213 sshd won't start at all) or know you need to use PAM features that won't
214 work with this option, you should say yes here.
215Description-es: Activar separación de privilegios
216 Esta versión de OpenSSH incluye una nueva opción de separación de
217 privilegios que reduce significativamente la cantidad de código que se
218 ejecuta como root, por lo que reduce el impacto de posibles agujeros de
219 seguridad en sshd.
220 .
221 Desafortunadamente, la separación de privilegios no interactúa
222 correctamente con PAM. Cualquier módulo PAM que necesite ejecutarse como
223 root (como, por ejemplo, pam_mkhomedir) y la autentificación PAM mediante
224 teclado no funcionarán.
225 .
226 Puesto que ha elegido crear automáticamente el fichero sshd_config, puede
227 decidir ahora si quiere activar la opción de separación de privilegios. A
228 menos que utilice la versión 2.0 (en cuyo caso debe responer no aquí o
229 sshd no arrancará) o sepa que necesita usar ciertas características de PAM
230 que funcionan con esta opción, debería responder sí a esta pregunta.
231
232Template: ssh/new_config
233Type: boolean
234Default: true
235Description: Generate new configuration file
236 This version of OpenSSH has a considerably changed configuration file from
237 the version shipped in Debian 'Potato', which you appear to be upgrading
238 from. I can now generate you a new configuration file
239 (/etc/ssh/sshd.config), which will work with the new server version, but
240 will not contain any customisations you made with the old version.
241 .
242 Please note that this new configuration file will set the value of
243 'PermitRootLogin' to yes (meaning that anyone knowing the root password
244 can ssh directly in as root). It is the opinion of the maintainer that
245 this is the correct default (see README.Debian for more details), but you
246 can always edit sshd_config and set it to no if you wish.
247 .
248 It is strongly recommended that you let me generate a new configuration
249 file for you.
250Description-es: Generar un nuevo fichero de configuración
251 Esta versión de OpenSSH tiene un fichero de configuración
252 considerablemente diferente del incluido en Debian Potato, que es la
253 versión desde la que parece estar actualizando. Puede crear
254 automáticamente un nuevo fichero de configuración (/etc/ssh/sshd_config),
255 que funcionará con la nueva versión del servidor, pero no incuirá las
256 modificaciones que hiciera en la versión antigua.
257 .
258 Además, recuerde que este nuevo fichero de configuración dirá sí en la
259 opción 'PermitRootLogin', por lo que cualquiera que conozca la contraseña
260 de root podrá entrar mediante ssh directamente como root. En opinión del
261 mantenedor ésta es la opción predeterminada más adecuada (puede leer
262 README.Debian si quiere conocer más detalles), pero siempre puede editar
263 sshd_config y poner no si lo desea.
264 .
265 Es muy recomendable que permita que se genere un nuevo fichero de
266 configuración ahora.
diff --git a/debian/templates.fr b/debian/templates.fr
new file mode 100644
index 000000000..5eee0f92a
--- /dev/null
+++ b/debian/templates.fr
@@ -0,0 +1,278 @@
1Template: ssh/privsep_tell
2Type: note
3Description: Privilege separation
4 This version of OpenSSH contains the new privilege separation
5 option. This significantly reduces the quantity of code that runs as
6 root, and therefore reduces the impact of security holes in sshd.
7 .
8 Unfortunately, privilege separation interacts badly with PAM. Any
9 PAM session modules that need to run as root (pam_mkhomedir, for
10 example) will fail, and PAM keyboard-interactive authentication
11 won't work.
12 .
13 Privilege separation is turned on by default, so if you decide you
14 want it turned off, you need to add "UsePrivilegeSeparation no" to
15 /etc/ssh/sshd_config.
16 .
17 NB! If you are running a 2.0 series Linux kernel, then privilege
18 separation will not work at all, and your sshd will fail to start
19 unless you explicitly turn privilege separation off.
20Description-fr: Séparation des privilèges
21 Cette version d'OpenSSH est livrée avec la nouvelle option de
22 séparation des privilèges. Cela réduit de manière significative la
23 quantité de code s'exécutant en tant que super-utilisateur, et donc
24 réduit l'impact des trous de sécurité dans sshd.
25 .
26 Malheureusement, la séparation des privilèges interagit mal avec PAM.
27 Tous les modules de session PAM qui doivent être exécutés en tant
28 que super-utilisateur (pam_mkhomedir, par exemple) ne s'exécuteront
29 pas, et l'authentification interactive au clavier ne fonctionnera pas.
30 .
31 La séparation des privilèges est activée par défaut ; si vous
32 souhaitez la désactiver, vous devez ajouter « UsePrivilegeSeparation
33 no » dans /etc/ssh/sshd_config.
34 .
35 NB ! Si vous avez un noyau Linux de la série des 2.0, la séparation
36 des privilèges ne fonctionne pas, et votre démon sshd ne se lancera
37 que si vous avez explicitement désactivé la séparation des privilèges.
38
39Template: ssh/privsep_ask
40Type: boolean
41Default: true
42Description: Enable Privilege separation
43 This version of OpenSSH contains the new privilege separation
44 option. This significantly reduces the quantity of code that runs as
45 root, and therefore reduces the impact of security holes in sshd.
46 .
47 Unfortunately, privilege separation interacts badly with PAM. Any
48 PAM session modules that need to run as root (pam_mkhomedir, for
49 example) will fail, and PAM keyboard-interactive authentication
50 won't work.
51 .
52 Since you've opted to have me generate an sshd_config file for you,
53 you can choose whether or not to have Privilege Separation turned on
54 or not. Unless you are running 2.0 (in which case you *must* say no
55 here or your sshd won't start at all) or know you need to use PAM
56 features that won't work with this option, you should say yes here.
57Description-fr: Activer la séparation des privilèges
58 Cette version d'OpenSSH est livrée avec la nouvelle option de
59 séparation des privilèges. Cela réduit de manière significative la
60 quantité de code s'exécutant en tant que super-utilisateur, et donc
61 réduit l'impact des trous de sécurité dans sshd.
62 .
63 Malheureusement, la séparation des privilèges interagit mal avec PAM.
64 Tous les modules de session PAM qui doivent être exécutés en tant
65 que super-utilisateur (pam_mkhomedir, par exemple) ne s'exécuteront
66 pas, et l'authentification interactive au clavier ne fonctionnera pas.
67 .
68 Comme vous souhaitez que je génère le fichier de configuration
69 sshd_config à votre place, vous pouvez choisir d'activer ou non
70 l'option de séparation des privilèges. Si vous utilisez un noyau 2.0
71 (dans ce cas vous *devez* désactiver cette option ou alors sshd ne se
72 lancera pas) ou bien si vous avez besoin de fonctionnalités PAM, cela
73 ne fonctionnera pas si cette option est activée, dans le cas contraire
74 vous devriez l'activer.
75
76Template: ssh/new_config
77Type: boolean
78Default: true
79Description: Generate new configuration file
80 This version of OpenSSH has a considerably changed configuration file from
81 the version shipped in Debian 'Potato', which you appear to be upgrading from.
82 I can now generate you a new configuration file (/etc/ssh/sshd.config), which
83 will work with the new server version, but will not contain any customisations
84 you made with the old version.
85 .
86 Please note that this new configuration file will set the value of
87 'PermitRootLogin' to yes (meaning that anyone knowing the root password can
88 ssh directly in as root). It is the opinion of the maintainer that this is
89 the correct default (see README.Debian for more details), but you can always
90 edit sshd_config and set it to no if you wish.
91 .
92 It is strongly recommended that you let me generate a new configuration file
93 for you.
94Description-fr: Créer un nouveau fichier de configuration
95 Cette version d'OpenSSH utilise un fichier de configuration qui a
96 énormément changé depuis la version contenue dans la distribution
97 Debian « Potato », depuis laquelle vous semblez faire une mise à jour.
98 Je peux générer maintenant pour vous un nouveau fichier de
99 configuration (/etc/ssh/sshd.config) qui marchera avec la nouvelle
100 version du serveur, mais ne contiendra aucun des réglages que vous avez
101 faits sur l'ancienne version.
102 .
103 Veuillez noter que ce nouveau fichier de configuration positionnera la
104 valeur de « PermitRootLogin » à « yes » (ce qui signifie que quiconque
105 connaissant le mot de passe du super-utilisateur peut se connecter
106 en tant que tel sur la machine). Le responsable du paquet
107 pense que c'est là un comportement par défaut normal (lisez
108 README.Debian pour plus d'informations), mais vous pouvez toujours
109 éditer le fichier sshd_config et changer cela.
110 .
111 Il est fortement recommandé que vous me laissiez générer le nouveau
112 fichier de configuration.
113
114Template: ssh/protocol2_only
115Type: boolean
116Default: true
117Description: Allow SSH protocol 2 only
118 This version of OpenSSH supports version 2 of the ssh protocol, which
119 is much more secure. Disabling ssh 1 is encouraged, however this
120 will slow things down on low end machines and might prevent older
121 clients from connecting (the ssh client shipped with "potato" is affected).
122 .
123 Also please note that keys used for protocol 1 are different so you will
124 not be able to use them if you only allow protocol 2 connections.
125 .
126 If you later change your mind about this setting, README.Debian has
127 instructions on what to do to your sshd_config file.
128Description-fr: Permettre seulement la version 2 du protocole SSH
129 Cette version d'OpenSSH connaît la version 2 du protocole ssh, qui est
130 bien plus sûre. Désactiver ssh 1 est une bonne chose, cependant cela
131 peut ralentir les machines peu puissantes et pourrait empêcher ceux qui
132 utilisent des vieilles versions de la partie cliente de se connecter
133 (le client ssh de la distribution Debian « Potato » en fait partie).
134 .
135 De plus, les clés utilisées par la version 1 du protocole sont
136 différentes et vous ne pourrez pas les utiliser si vous
137 n'autorisez que les connexions utilisant la version 2 du protocole.
138 .
139 Si vous changez d'avis ultérieurement et décidez de modifier ce
140 réglage, les instructions fournies dans le fichier README.Debian vous
141 indiquent comment modifier le fichier sshd_config.
142
143Template: ssh/ssh2_keys_merged
144Type: note
145Description: ssh2 keys merged in configuration files
146 As of version 3 OpenSSH no longer uses separate files for ssh1 and
147 ssh2 keys. This means the authorized_keys2 and known_hosts2 files
148 are no longer needed. They will still be read in order to maintain
149 backwards compatibility
150Description-fr: Clés pour ssh2 fusionnées dans les fichiers de configuration
151 OpenSSH, depuis sa version 3, n'utilise plus de fichiers distincts pour
152 les clés ssh1 et ssh2. Cela signifie que les fichiers authorized_keys2
153 et known_hosts2 ne sont plus utiles. Ils seront néanmoins lus afin de
154 préserver la compatibilité descendante.
155
156Template: ssh/use_old_init_script
157Type: boolean
158Default: false
159Description: Do you want to continue (and risk killing active ssh sessions) ?
160 The version of /etc/init.d/ssh that you have installed, is likely to kill
161 all running sshd instances. If you are doing this upgrade via an ssh
162 session, that would be a Bad Thing(tm).
163 .
164 You can fix this by adding "--pidfile /var/run/sshd.pid" to the
165 start-stop-daemon line in the stop section of the file.
166Description-fr: Voulez-vous continuer (et risquer de rompre les sessions ssh actives) ?
167 Il est probable que la version de /etc/init.d/ssh installée en ce moment
168 tue toutes les instances de sshd en cours. En cas de mise à jour par ssh,
169 ça serait une mauvaise idée.
170 .
171 Vous pouvez corriger cela en ajoutant dans /etc/init.d/ssh « --pidfile
172 /var/run/sshd.pid » à la ligne « start-stop-daemon » dans la section
173 « stop » du fichier.
174
175Template: ssh/forward_warning
176Type: note
177Description: NOTE: Forwarding of X11 and Authorization disabled by default.
178 For security reasons, the Debian version of ssh has ForwardX11 and
179 ForwardAgent set to ``off'' by default.
180 .
181 You can enable it for servers you trust, either
182 in one of the configuration files, or with the -X command line option.
183 .
184 More details can be found in /usr/share/doc/ssh/README.Debian
185Description-fr: NOTE : suivi de session X11 et d'agent d'autorisation désactivés par défaut.
186 Pour des raisons de sécurité, la version Debian de ssh positionne les
187 options ForwardX11 et ForwardAgent à « Off » par défaut.
188 .
189 Vous pouvez activer ces options pour les serveurs en qui vous avez
190 confiance, soit dans un des fichiers de configuration, soit avec l'option
191 -X de la ligne de commande.
192 .
193 Plus d'informations sont disponibles dans /usr/share/doc/ssh/README.Debian.
194
195Template: ssh/insecure_rshd
196Type: note
197Description: Warning: rsh-server is installed --- probably not a good idea
198 having rsh-server installed undermines the security that you were probably
199 wanting to obtain by installing ssh. I'd advise you to remove that package.
200Description-fr: Attention : rsh-server est installé -- ce n'est probablement pas une bonne idée
201 Avoir un serveur rsh installé affaiblit la sécurité que vous vouliez
202 probablement obtenir en installant ssh. Je vous conseille de
203 supprimer ce paquet.
204
205Template: ssh/insecure_telnetd
206Type: note
207Description: Warning: telnetd is installed --- probably not a good idea
208 I'd advise you to either remove the telnetd package (if you don't actually
209 need to offer telnet access) or install telnetd-ssl so that there is at
210 least some chance that telnet sessions will not be sending unencrypted
211 login/password and session information over the network.
212Description-fr: Attention : telnetd est installé -- ce n'est probablement pas une bonne idée
213 Je vous conseille soit d'enlever le paquet telnetd (si ce service
214 n'est pas nécessaire), soit de le remplacer par le paquet telnetd-ssl pour
215 qu'il y ait au moins une chance que les sessions telnet soient chiffrées
216 et que les mots de passe et noms d'utilisateurs ne passent pas en clair
217 sur le réseau.
218
219Template: ssh/encrypted_host_key_but_no_keygen
220Type: note
221Description: Warning: you must create a new host key
222 There is an old /etc/ssh/ssh_host_key, which is IDEA encrypted.
223 OpenSSH can not handle this host key file, and I can't find the
224 ssh-keygen utility from the old (non-free) SSH installation.
225 .
226 You will need to generate a new host key.
227Description-fr: Attention : vous devez créer une nouvelle clé d'hôte
228 Il existe un vieux /etc/ssh/ssh_host_key qui est chiffré avec IDEA.
229 OpenSSH ne peut utiliser ce fichier de clé, et je ne peux trouver
230 l'utilitaire ssh-keygen de l'installation précédente (non libre) de SSH.
231 .
232 Vous aurez besoin de générer une nouvelle clé d'hôte.
233
234Template: ssh/SUID_client
235Type: boolean
236Default: true
237Description: Do you want /usr/lib/ssh-keysign to be installed SUID root?
238 You have the option of installing the ssh-keysign helper with the SUID
239 bit set.
240 .
241 If you make ssh-keysign SUID, you will be able to use SSH's Protocol 2
242 host-based authentication.
243 .
244 If in doubt, I suggest you install it with SUID. If it causes
245 problems you can change your mind later by running: dpkg-reconfigure ssh
246Description-fr: Voulez-vous que /usr/lib/ssh-keysign soit installé avec le bit SETUID activé ?
247 Vous avez la possibilité d'installer ssh-keysign avec le bit SETUID
248 activé.
249 .
250 Si vous mettez ssh-keysign avec le bit SETUID, vous permettrez
251 l'authentification basée sur les hôtes, disponible dans la version 2 du
252 protocole SSH.
253 .
254 Dans le doute, je vous suggère de l'installer avec le bit SETUID
255 activé. Si cela vous cause des problèmes, vous pourrez revenir sur
256 votre décision avec « dpkg-reconfigure ssh ».
257
258Template: ssh/run_sshd
259Type: boolean
260Default: true
261Description: Do you want to run the sshd server ?
262 This package contains both the ssh client, and the sshd server.
263 .
264 Normally the sshd Secure Shell Server will be run to allow remote
265 logins via ssh.
266 .
267 If you are only interested in using the ssh client for outbound
268 connections on this machine, and don't want to log into it at all
269 using ssh, then you can disable sshd here.
270Description-fr: Voulez-vous utiliser le serveur sshd ?
271 Ce paquet contient à la fois le client ssh et le serveur sshd.
272 .
273 Normalement le serveur sshd est lancé pour permettre les connexions
274 distantes via ssh.
275 .
276 Si vous désirez seulement utiliser le client ssh pour des connexions vers
277 l'extérieur, ou si vous ne voulez pas vous connecter sur cette machine
278 via ssh, vous pouvez désactiver sshd maintenant.
diff --git a/debian/templates.ja b/debian/templates.ja
new file mode 100644
index 000000000..cdcc829cc
--- /dev/null
+++ b/debian/templates.ja
@@ -0,0 +1,205 @@
1Template: ssh/new_config
2Type: boolean
3Default: true
4Description: Generate new configuration file
5 This version of OpenSSH has a considerably changed configuration file from
6 the version shipped in Debian 'Potato', which you appear to be upgrading from.
7 I can now generate you a new configuration file (/etc/ssh/sshd.config), which
8 will work with the new server version, but will not contain any customisations
9 you made with the old version.
10 .
11 Please note that this new configuration file will set the value of
12 'PermitRootLogin' to yes (meaning that anyone knowing the root password can
13 ssh directly in as root). It is the opinion of the maintainer that this is
14 the correct default (see README.Debian for more details), but you can always
15 edit sshd_config and set it to no if you wish.
16 .
17 It is strongly recommended that you let me generate a new configuration file
18 for you
19Description-ja: ¿·¤·¤¤ÀßÄê¥Õ¥¡¥¤¥ë¤òºî¤ê¤Þ¤¹
20 OpenSSH ¤Î¤³¤Î¥Ð¡¼¥¸¥ç¥ó¤Ï¡¢Debian 'Potato' ¤Ë´Þ¤Þ¤ì¤Æ¤¤¤ë¥Ð¡¼¥¸¥ç¥ó
21 (¤¤¤Þ¡¢¤½¤Î¥Ð¡¼¥¸¥ç¥ó¤«¤é¤Î¥Ð¡¼¥¸¥ç¥ó¥¢¥Ã¥×¤ò»î¤ß¤Æ¤¤¤ë¤È¤³¤í) ¤«¤é¡¢
22 ÀßÄê¥Õ¥¡¥¤¥ë¤¬ÂçÉý¤ËÊѲ½¤·¤Æ¤¤¤Þ¤¹¡£¤¤¤Þ¡¢¿·¤·¤¤¥Ð¡¼¥¸¥ç¥ó¤Î¥µ¡¼¥Ð¤Ç
23 »È¤¦¤³¤È¤¬¤Ç¤­¤ë¿·¤·¤¤ÀßÄê¥Õ¥¡¥¤¥ë (/etc/ssh/sshd/config) ¤ò¼«Æ°À¸À®
24 ¤¹¤ë¤³¤È¤¬¤Ç¤­¤Þ¤¹¤¬¡¢¤½¤Î¥Õ¥¡¥¤¥ë¤Ï¡¢¸Å¤¤¥Ð¡¼¥¸¥ç¥ó¤ÎÀßÄê¥Õ¥¡¥¤¥ë¤Ë
25 ´Þ¤Þ¤ì¤ë¤¢¤Ê¤¿¤ÎÀßÄ꤬Á´¤¯´Þ¤Þ¤ì¤Þ¤»¤ó¡£
26 .
27 ¤³¤Î¿·¤·¤¤ÀßÄê¥Õ¥¡¥¤¥ë¤Ï¡¢¡ÖPermitRootLogin¡×¤ò¡Öyes¡×¤ËÀßÄꤷ¤Þ¤¹¡£
28 (¤Ä¤Þ¤ê¡¢root ¤Î¥Ñ¥¹¥ï¡¼¥É¤òÃΤäƤ¤¤ë¿Í¤Ê¤éï¤Ç¤âľÀÜ¥í¥°¥¤¥ó¤Ç¤­¤Þ
29 ¤¹)¡£¤³¤ì¤Ç¤è¤¤¡¢¤È¤¤¤¦¤Î¤¬¤³¤Î¥Ñ¥Ã¥±¡¼¥¸¤Î¥á¥ó¥Æ¥Ê¤Î°Õ¸«¤Ç¤¹¤¬ (¾Ü¤·
30 ¤¯¤Ï README.Debian ¤òÆɤó¤Ç²¼¤µ¤¤)¡¢sshd_config ¤òÊÔ½¸¤·¤Æ¡Öno¡×¤ËÀß
31 Äꤹ¤ë¤³¤È¤â¤Ç¤­¤Þ¤¹¡£
32 .
33 ¿·¤·¤¤ÀßÄê¥Õ¥¡¥¤¥ë¤ò¼«Æ°À¸À®¤¹¤ë¤³¤È¤ò¶¯¤¯¤ª´«¤á¤·¤Þ¤¹¡£
34
35Template: ssh/protocol2_only
36Type: boolean
37Default: true
38Description: Allow SSH protocol 2 only
39 This version of OpenSSH supports version 2 of the ssh protocol, which
40 is much more secure. Disabling ssh 1 is encouraged, however this
41 will slow things down on low end machines and might prevent older
42 clients from connecting (the ssh client shipped with "potato" is affected).
43 .
44 Also please note that keys used for protocol 1 are different so you will
45 not be able to use them if you only allow protocol 2 connections.
46 .
47 If you later change your mind about this setting, README.Debian has
48 instructions on what to do to your sshd_config file.
49Description-ja: SSH ¥×¥í¥È¥³¥ë 2 ¤Î¤ß¤òµö²Ä¤·¤Þ¤¹
50 OpenSSH ¤Î¤³¤Î¥Ð¡¼¥¸¥ç¥ó¤Ï¡¢¤º¤Ã¤È°ÂÁ´¤Ê¡¢ssh ¥×¥í¥È¥³¥ë¤Î¥Ð¡¼¥¸¥ç¥ó
51 2 ¤ò¥µ¥Ý¡¼¥È¤·¤Æ¤¤¤Þ¤¹¡£ssh 1 ¤ò¶Ø»ß¤¹¤ë¤³¤È¤ò¤ª´«¤á¤·¤Þ¤¹¤¬¡¢ÃÙ¤¤¥Þ
52 ¥·¥ó¤Ç¤ÏÆ°ºî¤¬ÃÙ¤¯¤Ê¤Ã¤¿¤ê¡¢¸Å¤¤¥¯¥é¥¤¥¢¥ó¥È¤«¤éÀܳ¤Ç¤­¤Ê¤¯¤Ê¤Ã¤¿¤ê
53 ¤·¤Þ¤¹ ("potato" ¤Î ssh ¥¯¥é¥¤¥¢¥ó¥È¤âÀܳ¤Ç¤­¤Ê¤¯¤Ê¤ê¤Þ¤¹)¡£
54 .
55 ¤Þ¤¿¡¢¥×¥í¥È¥³¥ë 1 ¤Ç»È¤¦¥­¡¼¤Ï°Û¤Ê¤ë¤¿¤á¡¢¥×¥í¥È¥³¥ë 2 ¤òÍ­¸ú¤Ë¤·¤¿
56 ¤À¤±¤Ç¤Ï¤½¤Î¥­¡¼¤ò»È¤¦¤³¤È¤¬¤Ç¤­¤Þ¤»¤ó¡£
57 .
58 ¤â¤·º£¸å¤¢¤Ê¤¿¤¬¹Í¤¨¤òÊѤ¨¤¿¤é¡¢README.Debian ¤òÆɤà¤È sshd_config ¤ò
59 ¤É¤Î¤è¤¦¤ËÊѹ¹¤·¤¿¤é¤è¤¤¤«¤¬Ê¬¤«¤ê¤Þ¤¹¡£
60
61Template: ssh/ssh2_keys_merged
62Type: note
63Description: ssh2 keys merged in configuration files
64 As of version 3 OpenSSH no longer uses separate files for ssh1 and
65 ssh2 keys. This means the authorized_keys2 and known_hosts2 files
66 are no longer needed. They will still be read in order to maintain
67 backwards compatibility
68Description-ja: ssh2 ¥­¡¼¤ÏÀßÄê¥Õ¥¡¥¤¥ë¤ËÅý¹ç¤µ¤ì¤Þ¤¹
69 OpenSSH ¤Î¥Ð¡¼¥¸¥ç¥ó 3 ¤Ï¡¢ssh1 ¤È ssh2 ¤Î¥­¡¼¤Ë¸ÄÊ̤Υե¡¥¤¥ë¤ò»È¤¤
70 ¤Þ¤»¤ó¡£¤Ä¤Þ¤ê¡¢authorized_keys2 ¥Õ¥¡¥¤¥ë¤È known_hosts2 ¥Õ¥¡¥¤¥ë¤Ï¤â
71 ¤Ï¤äÉÔÍפȤʤê¤Þ¤·¤¿¡£¸åÊý¸ß´¹À­¤òÊݤĤ¿¤á¤Ë¤Ï¤³¤ì¤é¤Î¥Õ¥¡¥¤¥ë¤¬É¬Í×
72 ¤Ç¤¹¡£
73
74Template: ssh/use_old_init_script
75Type: boolean
76Default: false
77Description: Do you want to continue (and risk killing active ssh sessions) ?
78 The version of /etc/init.d/ssh that you have installed, is likely to kill
79 all running sshd instances. If you are doing this upgrade via an ssh
80 session, that would be a Bad Thing(tm).
81 .
82 You can fix this by adding "--pidfile /var/run/sshd.pid" to the
83 start-stop-daemon line in the stop section of the file.
84Description-ja: ³¤±¤Æ¤¤¤¤¤Ç¤¹¤« (ÀܳÃæ¤Î ssh ¥»¥Ã¥·¥ç¥ó¤¬ÀÚ¤ì¤ë¤«¤â¤·¤ì¤Þ¤»¤ó)
85 ¤¤¤Þ¥¤¥ó¥¹¥È¡¼¥ë¤·¤¿ /etc/init.d/ssh ¤Ï¡¢¤ª¤½¤é¤¯¼Â¹ÔÃæ¤Î sshd ¤òÁ´¤Æ
86 Ää»ß¤µ¤»¤Þ¤¹¡£¤³¤Î¥Ð¡¼¥¸¥ç¥ó¥¢¥Ã¥×¤ò ssh ¥»¥Ã¥·¥ç¥ó¤òÍѤ¤¤Æ¹Ô¤¦¤Î¤Ï´Ö
87 °ã¤Ã¤¿¤ä¤ê¤«¤¿¤Ç¤¹¡£
88 .
89 ¤³¤Î¾õ¶·¤ò½¤Àµ¤¹¤ë¤Ë¤Ï¡¢/etc/init.d/ssh ¤Î stop ¥»¥¯¥·¥ç¥ó¤Î
90 start-stop-daemon ¤Î¹Ô¤Ë¡Ö--pidfile /var/run/sshd.pid¡×¤ÈÄɲä·¤Þ¤¹¡£
91
92Template: ssh/forward_warning
93Type: note
94Description: NOTE: Forwarding of X11 and Authorization disabled by default.
95 For security reasons, the Debian version of ssh has ForwardX11 and
96 ForwardAgent set to ``off'' by default.
97 .
98 You can enable it for servers you trust, either
99 in one of the configuration files, or with the -X command line option.
100 .
101 More details can be found in /usr/share/doc/ssh/README.Debian
102Description-ja: Ãí°Õ: X11 ¤Èǧ¾Ú¤Î¥Õ¥©¥ï¡¼¥Ç¥£¥ó¥°¤Ï¥Ç¥Õ¥©¥ë¥È¤Ç¤Ï¶Ø»ß¤µ¤ì¤Þ¤¹
103 ¥»¥­¥å¥ê¥Æ¥£¾å¤ÎÍýͳ¤«¤é¡¢Debian ¤Î ssh ¤Ç¤Ï ForwardX11 ¤È
104 ForwardAgent ¤Ï¥Ç¥Õ¥©¥ë¥È¤Ç¤Ï¡Öoff¡×¤ËÀßÄꤵ¤ì¤Þ¤¹¡£
105 .
106 ÀßÄê¥Õ¥¡¥¤¥ë¤ò»È¤Ã¤¿¤ê¡¢-X ¥³¥Þ¥ó¥É¥é¥¤¥ó¥ª¥×¥·¥ç¥ó¤ò»È¤Ã¤¿¤ê¤¹¤ë
107 ¤³¤È¤Ç¡¢¿®ÍѤǤ­¤ë¥µ¡¼¥Ð¤ËÂФ·¤Æµö²Ä¤¹¤ë¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£
108 .
109 ¾ÜºÙ¤Ï /usr/share/doc/ssh/README.Debian ¤òÆɤó¤Ç²¼¤µ¤¤¡£
110
111Template: ssh/insecure_rshd
112Type: note
113Description: Warning: rsh-server is installed --- probably not a good idea
114 having rsh-server installed undermines the security that you were probably
115 wanting to obtain by installing ssh. I'd advise you to remove that package.
116Description-ja: ·Ù¹ð: rsh-server ¤¬¥¤¥ó¥¹¥È¡¼¥ë¤µ¤ì¤Æ¤¤¤Þ¤¹¡£¤¿¤Ö¤óÎɤ¤¹Í¤¨¤Ç¤Ï¤¢¤ê¤Þ¤»¤ó
117 rsh-server ¤¬¥¤¥ó¥¹¥È¡¼¥ë¤µ¤ì¤Æ¤¤¤ë¤È¡¢¤¢¤Ê¤¿¤¬ ssh ¤Ë¤è¤Ã¤ÆÆÀ¤¿¤¤¤È
118 »×¤Ã¤Æ¤¤¤ë¤Ç¤¢¤í¤¦¥»¥­¥å¥ê¥Æ¥£¤¬Â»¤Ê¤ï¤ì¤Þ¤¹¡£¤½¤Î¥Ñ¥Ã¥±¡¼¥¸¤ò¥¢¥ó¥¤
119 ¥ó¥¹¥È¡¼¥ë¤¹¤ë¤³¤È¤ò¤ª´«¤á¤·¤Þ¤¹¡£
120
121Template: ssh/insecure_telnetd
122Type: note
123Description: Warning: telnetd is installed --- probably not a good idea
124 I'd advise you to either remove the telnetd package (if you don't actually
125 need to offer telnet access) or install telnetd-ssl so that there is at
126 least some chance that telnet sessions will not be sending unencrypted
127 login/password and session information over the network.
128Description-ja: ·Ù¹ð: telnetd ¤¬¥¤¥ó¥¹¥È¡¼¥ë¤µ¤ì¤Æ¤¤¤Þ¤¹¡£¤¿¤Ö¤óÎɤ¤¹Í¤¨¤Ç¤Ï¤¢¤ê¤Þ¤»¤ó
129 (¤â¤· telnet ¥¢¥¯¥»¥¹¤òÄ󶡤·¤¿¤¤¤È»×¤Ã¤Æ¤¤¤Ê¤¤¤Î¤Ç¤·¤¿¤é) telnetd
130 ¥Ñ¥Ã¥±¡¼¥¸¤ò¥¢¥ó¥¤¥ó¥¹¥È¡¼¥ë¤¹¤ë¤«¡¢¤Þ¤¿¤Ï¡¢telnetd-ssh ¥Ñ¥Ã¥±¡¼¥¸¤ò
131 ¥¤¥ó¥¹¥È¡¼¥ë¤·¤Æ¾¯¤Ê¤¯¤È¤â¥Í¥Ã¥È¥ï¡¼¥¯¾å¤ò°Å¹æ²½¤µ¤ì¤Æ¤¤¤Ê¤¤¥æ¡¼¥¶Ì¾
132 ¤ä¥Ñ¥¹¥ï¡¼¥É¤ä¥»¥Ã¥·¥ç¥ó¾ðÊó¤¬Î®¤ì¤Ê¤¤¤è¤¦¤Ë¤¹¤ë¤³¤È¤ò¤ª´«¤á¤·¤Þ¤¹¡£
133
134Template: ssh/encrypted_host_key_but_no_keygen
135Type: note
136Description: Warning: you must create a new host key
137 There is an old /etc/ssh/ssh_host_key, which is IDEA encrypted.
138 OpenSSH can not handle this host key file, and I can't find the
139 ssh-keygen utility from the old (non-free) SSH installation.
140 .
141 You will need to generate a new host key.
142Description-ja: ·Ù¹ð: ¿·¤·¤¤¥Û¥¹¥È¥­¡¼¤òºî¤é¤Ê¤¤¤È¤¤¤±¤Þ¤»¤ó
143 IDEA ¤Ç°Å¹æ²½¤µ¤ì¤¿¸Å¤¤¥­¡¼¤¬ /etc/ssh/ssh_host_key ¤Ë¤¢¤ê¤Þ¤¹¡£
144 OpenSSH ¤Ï¤³¤Î¥Û¥¹¥È¥­¡¼¥Õ¥¡¥¤¥ë¤ò°·¤¨¤Þ¤»¤ó¡£¤Þ¤¿¡¢º£¥¤¥ó¥¹¥È¡¼¥ë
145 ¤µ¤ì¤Æ¤¤¤ë¸Å¤¤ (¥Õ¥ê¡¼¤Ç¤Ï¤Ê¤¤) SSH ¤Ë¤Ï ssh-keygen ¥æ¡¼¥Æ¥£¥ê¥Æ¥£
146 ¤¬´Þ¤Þ¤ì¤Æ¤¤¤Þ¤»¤ó¡£
147 .
148 ¿·¤·¤¤¥Û¥¹¥È¥­¡¼¤òºî¤ëɬÍפ¬¤¢¤ê¤Þ¤¹¡£
149
150Template: ssh/SUID_client
151Type: boolean
152Default: true
153Description: Do you want /usr/bin/ssh to be installed SUID root?
154 You have the option of installing the ssh client with the SUID bit set.
155 .
156 If you make ssh SUID, you will be able to use Rhosts/RhostsRSA
157 authentication, but will not be able to use socks via the LD_PRELOAD
158 trick. This is the traditional approach.
159 .
160 If you do not make ssh SUID, you will be able to use socks, but
161 Rhosts/RhostsRSA authentication will stop working, which may stop you
162 logging in to remote systems. It will also mean that the source
163 port will be above 1024, which may confound firewall rules you've set up.
164 .
165 If in doubt, I suggest you install it with SUID. If it causes
166 problems you can change your mind later by running: dpkg-reconfigure ssh
167Description-ja: /usr/bin/ssh ¤ò SUID root ¤Ç¥¤¥ó¥¹¥È¡¼¥ë¤·¤Þ¤¹¤«?
168 ssh ¥¯¥é¥¤¥¢¥ó¥È¤ò¥¤¥ó¥¹¥È¡¼¥ë¤¹¤ëºÝ¡¢SUID ¥Ó¥Ã¥È¤òÀßÄꤹ¤ë¤«¤·¤Ê¤¤¤«
169 ¤òÁª¤Ö¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£
170 .
171 SUID ¤òÀßÄꤹ¤ì¤Ð¡¢Rhosts/RhostsRSA ǧ¾Ú¤ò»È¤¦¤³¤È¤¬¤Ç¤­¤Þ¤¹¤¬¡¢
172 LD_PRELOAD ¥È¥ê¥Ã¥¯¤òÍѤ¤¤Æ socks ¤ò»È¤¦¤³¤È¤¬¤Ç¤­¤Ê¤¯¤Ê¤ê¤Þ¤¹¡£¤³¤ì
173 ¤ÏÅÁÅýŪ¤Ê¤ä¤ê¤«¤¿¤Ç¤¹¡£
174 .
175 SUID ¤òÀßÄꤷ¤Ê¤±¤ì¤Ð¡¢socks ¤ò»È¤¦¤³¤È¤¬¤Ç¤­¤Þ¤¹¤¬¡¢Rhosts/RhostRSA
176 ǧ¾Ú¤¬Æ¯¤«¤Ê¤¯¤Ê¤ê¡¢¥ê¥â¡¼¥È¥·¥¹¥Æ¥à¤Ø¤Î¥í¥°¥¤¥ó¤¬¤Ç¤­¤Ê¤¯¤Ê¤ë¤«¤â¤·
177 ¤ì¤Þ¤»¤ó¡£¤Þ¤¿¡¢¥½¡¼¥¹¥Ý¡¼¥È¤¬ 1024 °Ê¾å¤È¤Ê¤ê¡¢¤¢¤Ê¤¿¤¬ÀßÄꤷ¤¿¥Õ¥¡
178 ¥¤¥¢¥¦¥©¡¼¥ë¤Î¥ë¡¼¥ë¤òº®Í𤵤»¤ë¤«¤â¤·¤ì¤Þ¤»¤ó¡£
179 .
180 ¤â¤·Ê¬¤«¤é¤Ê¤±¤ì¤Ð¡¢SUID ¤òÀßÄꤷ¤¿¾õÂ֤ǥ¤¥ó¥¹¥È¡¼¥ë¤¹¤ë¤³¤È¤ò¤ª´«¤á
181 ¤·¤Þ¤¹¡£¤½¤ì¤Ç¤â¤·²¿¤«ÌäÂ꤬¤¢¤ì¤Ð¡¢dpkg-reconfigure ssh ¤ò¼Â¹Ô¤¹¤ë¤³
182 ¤È¤ÇÀßÄê¤òÊѹ¹¤¹¤ë¤³¤È¤¬¤Ç¤­¤Þ¤¹¡£
183
184Template: ssh/run_sshd
185Type: boolean
186Default: true
187Description: Do you want to run the sshd server ?
188 This package contains both the ssh client, and the sshd server.
189 .
190 Normally the sshd Secure Shell Server will be run to allow remote
191 logins via ssh.
192 .
193 If you are only interested in using the ssh client for outbound
194 connections on this machine, and don't want to log into it at all
195 using ssh, then you can disable sshd here.
196Description-ja: sshd ¥µ¡¼¥Ð¤ò¼Â¹Ô¤·¤Þ¤¹¤«?
197 ¤³¤Î¥Ñ¥Ã¥±¡¼¥¸¤Ï¡¢ssh ¥¯¥é¥¤¥¢¥ó¥È¤È sshd ¥µ¡¼¥Ð¤ÎξÊý¤ò´Þ¤ó¤Ç¤¤¤Þ¤¹¡£
198 .
199 Ä̾sshd ¥»¥­¥å¥¢¥·¥§¥ë¥µ¡¼¥Ð¤Ï¡¢ssh ¤òÍѤ¤¤¿¥ê¥â¡¼¥È¤«¤é¤Î¥í¥°¥¤¥ó
200 ¤ò²Äǽ¤Ë¤¹¤ë¤¿¤á¤Ë¼Â¹Ô¤·¤Þ¤¹¡£
201 .
202 ¤â¤· ssh ¥¯¥é¥¤¥¢¥ó¥È¤ò»È¤Ã¤Æ¤³¤Î¥Þ¥·¥ó¤«¤é¾¥Þ¥·¥ó¤Ø¤ÈÀܳ¤¹¤ë¤À¤±¤Ç
203 ¤Ç¡¢¤³¤Î¥Þ¥·¥ó¤Ø¤È ssh ¤ò»È¤Ã¤Æ¥í¥°¥¤¥ó¤·¤Ê¤¤¤Î¤Ç¤·¤¿¤é¡¢¤³¤³¤Ç sshd
204 ¤ò¼Â¹Ô¤·¤Ê¤¤¤Ç¤ª¤­¤Þ¤¹¡£
205
diff --git a/debian/templates.pl b/debian/templates.pl
new file mode 100644
index 000000000..d4b8fda6d
--- /dev/null
+++ b/debian/templates.pl
@@ -0,0 +1,264 @@
1Template: ssh/privsep_tell
2Type: note
3Description: Privilege separation
4 This version of OpenSSH contains the new privilege separation
5 option. This significantly reduces the quantity of code that runs as
6 root, and therefore reduces the impact of security holes in sshd.
7 .
8 Unfortunately, privilege separation interacts badly with PAM. Any
9 PAM session modules that need to run as root (pam_mkhomedir, for
10 example) will fail, and PAM keyboard-interactive authentication
11 won't work.
12 .
13 Privilege separation is turned on by default, so if you decide you
14 want it turned off, you need to add "UsePrivilegeSeparation no" to
15 /etc/ssh/sshd_config.
16 .
17 NB! If you are running a 2.0 series Linux kernel, then privilege
18 separation will not work at all, and your sshd will fail to start
19 unless you explicitly turn privilege separation off.
20Description-pl: Separacja uprawnieñ
21 Ta wersja OpenSSH zawiera now± opcjê separacji uprawnieñ. Znacz±co
22 zmniejsza ona ilo¶æ kodu, który jest uruchamiany jako root i co
23 za tym idzie redukuje efekty luk bezpieczeñstwa w sshd.
24 .
25 Niestety separacja uprawnieñ ¼le reaguje z PAMem. Jakikolwiek modu³
26 sesji PAM, który musi byæ uruchamiany jako root (pam_mkhomedir, na
27 przyk³ad) zawiedzie. Nie bêdzie dzia³aæ równie¿ interaktywna
28 autentykacja z klawiatury (keyboard-interactive authentication).
29 .
30 Separacja uprawnieñ jest domy¶lnie w³±czona, wiêc je¶li zdecydujesz
31 siê j± wy³±czyæ, musisz dodaæ "UsePrivilegeSeparation no" do pliku
32 /etc/ssh/sshd_config.
33 .
34 UWAGA! Je¿eli u¿ywasz j±dra Linux'a z serii 2.0, to separacja uprawnieñ
35 w ogóle nie bêdzie dzia³aæ i sshd nie wystartuje dopóki w³asnorêcznie
36 nie wy³±czysz separacji uprawnieñ w /etc/ssh/sshd_config.
37
38Template: ssh/privsep_ask
39Type: boolean
40Default: true
41Description: Enable Privilege separation
42 This version of OpenSSH contains the new privilege separation
43 option. This significantly reduces the quantity of code that runs as
44 root, and therefore reduces the impact of security holes in sshd.
45 .
46 Unfortunately, privilege separation interacts badly with PAM. Any
47 PAM session modules that need to run as root (pam_mkhomedir, for
48 example) will fail, and PAM keyboard-interactive authentication
49 won't work.
50 .
51 Since you've opted to have me generate an sshd_config file for you,
52 you can choose whether or not to have Privilege Separation turned on
53 or not. Unless you are running 2.0 (in which case you *must* say no
54 here or your sshd won't start at all) or know you need to use PAM
55 features that won't work with this option, you should say yes here.
56Description-pl: W³±czenie separacji uprawnieñ
57 Ta wersja OpenSSH zawiera now± opcjê separacji uprawnieñ. Znacz±co
58 zmniejsza ona ilo¶æ kodu, który jest uruchamiany jako root i co
59 za tym idzie redukuje efekty luk bezpieczeñstwa w sshd.
60 .
61 Niestety separacja uprawnieñ ¼le reaguje z PAMem. Jakikolwiek modu³
62 sesji PAM, który musi byæ uruchamiany jako root (pam_mkhomedir, na
63 przyk³ad) zawiedzie. Nie bêdzie dzia³aæ równie¿ interaktywna
64 autentykacja z klawiatury (keyboard-interactive authentication).
65 .
66 Zdecydowa³e¶ siê na to abym wygenerowa³ dla ciebie plik sshd_config,
67 i mo¿esz wybraæ czy chcesz w³±czyæ Separacjê Uprawnieñ, czy te¿ nie.
68 Je¶li nie u¿ywasz j±dra z serii 2.0 (w którym to przypadku *musisz*
69 odpowiedzieæ tutaj 'nie' albo sshd w ogóle nie ruszy) i je¶li nie
70 musisz korzystaæ z mo¿liwo¶ci PAMa, które nie bêd± dzia³a³y z t± opcj±,
71 powiniene¶ odpowiedzieæ tutaj 'tak'.
72
73Template: ssh/new_config
74Type: boolean
75Default: true
76Description: Generate new configuration file
77 This version of OpenSSH has a considerably changed configuration file from
78 the version shipped in Debian 'Potato', which you appear to be upgrading from.
79 I can now generate you a new configuration file (/etc/ssh/sshd.config), which
80 will work with the new server version, but will not contain any customisations
81 you made with the old version.
82 .
83 Please note that this new configuration file will set the value of
84 'PermitRootLogin' to yes (meaning that anyone knowing the root password can
85 ssh directly in as root). It is the opinion of the maintainer that this is
86 the correct default (see README.Debian for more details), but you can always
87 edit sshd_config and set it to no if you wish.
88 .
89 It is strongly recommended that you let me generate a new configuration file
90 for you.
91Description-pl: Wygeneruj nowy plik konfiguracyjny
92 W tej wersji OpenSSH zmieni³ siê plik konfiguracyjny w stosunku do wersji
93 dostarczanej z Debianem 'Potato', któr± zdajesz siê aktualizowaæ. Mogê teraz
94 wygenerowaæ nowy plik konfiguracyjny (/etc/ssh/sshd.config), który bêdzie
95 dzia³a³ z now± wersj± serwera, ale nie bêdzie zawiera³ ¿adnych dokonanych
96 przez ciebie w starej wersji zmian.
97 .
98 Zauwa¿ proszê, ¿e nowy plik konfiguracyjny bêdzie ustawia³ warto¶æ opcji
99 'PermitRootLogin' na 'tak' (co oznacza, ¿e ka¿dy kto zna has³o root'a mo¿e
100 zdalnie zalogowaæ siê przez ssh jako root). W opinii opiekuna pakietu to
101 jest poprawna warto¶æ domy¶lna (szczegó³y w README.Debian), ale mo¿esz sobie
102 wyedytowaæ sshd_config i ustawiæ tê opcjê na 'nie' je¶li siê z t± opini± nie
103 zgadzasz.
104 .
105 Jest bardzo wskazane aby¶ pozwoli³ mi wygenerowaæ nowy plik konfiguracyjny.
106
107Template: ssh/protocol2_only
108Type: boolean
109Default: true
110Description: Allow SSH protocol 2 only
111 This version of OpenSSH supports version 2 of the ssh protocol, which
112 is much more secure. Disabling ssh 1 is encouraged, however this
113 will slow things down on low end machines and might prevent older
114 clients from connecting (the ssh client shipped with "potato" is affected).
115 .
116 Also please note that keys used for protocol 1 are different so you will
117 not be able to use them if you only allow protocol 2 connections.
118 .
119 If you later change your mind about this setting, README.Debian has
120 instructions on what to do to your sshd_config file.
121Description-pl: Zezwalaj wy³±cznie na wersjê 2 protoko³u SSH
122 Ta wersja OpenSSH wspiera drug± wersjê protoko³u ssh, która jest znacznie
123 bardziej bezpieczna. Wy³±czenie ssh 1 jest zalecane, choæ spowalnia to
124 dzia³anie na starych maszynach i mo¿e uniemo¿liwiæ po³±czenie starszym
125 wersjom klientów (dotyczy to np. klienta ssh do³±czanego do "potato").
126 .
127 Ponadto, zauwa¿ proszê, ¿e klucze u¿ywane przez protokó³ 1 s± inne, wiêc
128 nie bêdziesz móg³ ich u¿ywaæ je¶li zezwolisz na korzystanie wy³±cznie z
129 wersji 2 protoko³u.
130 .
131 Je¶li pó¼niej zmienisz zdanie co do tego ustawienia, to instrukcje co
132 zmieniæ w sshd_config znajduj± siê w README.Debian.
133
134Template: ssh/ssh2_keys_merged
135Type: note
136Description: ssh2 keys merged in configuration files
137 As of version 3 OpenSSH no longer uses separate files for ssh1 and
138 ssh2 keys. This means the authorized_keys2 and known_hosts2 files
139 are no longer needed. They will still be read in order to maintain
140 backwards compatibility
141Description-pl: klucze ssh2 w³±czone do plików konfiguracyjnych
142 Pocz±wszy od wersji 3 OpenSSH nie u¿ywa ju¿ osobnych plików dla kluczy
143 ssh1 i ssh2. Oznacza to, ¿e pliki authorized_keys2 i known_hosts2 nie
144 s± ju¿ potrzebne. Bêd± one jednak odczytywane aby zachowaæ wsteczn±
145 kompatybilno¶æ.
146
147Template: ssh/use_old_init_script
148Type: boolean
149Default: false
150Description: Do you want to continue (and risk killing active ssh sessions) ?
151 The version of /etc/init.d/ssh that you have installed, is likely to kill
152 all running sshd instances. If you are doing this upgrade via an ssh
153 session, that would be a Bad Thing(tm).
154 .
155 You can fix this by adding "--pidfile /var/run/sshd.pid" to the
156 start-stop-daemon line in the stop section of the file.
157Description-pl: Czy chcesz kontynuowaæ (i ryzykowaæ zabicie aktywnych sesji ssh) ?
158 Zainstalowana w³a¶nie wersja /etc/init.d/ssh mo¿e zabiæ wszystkie dzia³aj±ce
159 obecnie kopie sshd. Je¶li robisz ten upgrade via ssh, to by³aby Z³a Rzecz(tm).
160 .
161 Mo¿esz to naprawiæ dodaj±c "--pidfile /var/run/sshd.pid" do linijki
162 start-stop-daemon w sekcji stop tego pliku.
163
164Template: ssh/forward_warning
165Type: note
166Description: NOTE: Forwarding of X11 and Authorization disabled by default.
167 For security reasons, the Debian version of ssh has ForwardX11 and
168 ForwardAgent set to ``off'' by default.
169 .
170 You can enable it for servers you trust, either
171 in one of the configuration files, or with the -X command line option.
172 .
173 More details can be found in /usr/share/doc/ssh/README.Debian
174Description-pl: UWAGA: Przekazywanie (forwarding) X11 i Autoryzacji jest domy¶lnie wy³±czone.
175 Ze wzglêdów bezpieczeñstwa Debianowa wersja ssh ma ForwardX11 i ForwardAgent
176 ustawione domy¶lnie na 'off'.
177 .
178 Dla zaufanych serwerów mo¿esz w³±czyæ te opcje w pliku konfiguracyjnym lub
179 przy pomocy opcji -X z linii komend.
180 .
181 Wiêcej szczegó³ów znajdziesz w /usr/share/doc/ssh/README.Debian.
182
183Template: ssh/insecure_rshd
184Type: note
185Description: Warning: rsh-server is installed --- probably not a good idea
186 having rsh-server installed undermines the security that you were probably
187 wanting to obtain by installing ssh. I'd advise you to remove that package.
188Description-pl: Uwaga: serwer rsh jest zainstalowany --- prawdopodobnie nienajlepszy pomys³
189 Posiadanie zainstalowanego serwera rsh podminowuje zabezpieczenia, które
190 prawdopodobnie starasz siê uzyskaæ instaluj±c ssh. Radzi³bym usun±æ ten
191 pakiet.
192
193Template: ssh/insecure_telnetd
194Type: note
195Description: Warning: telnetd is installed --- probably not a good idea
196 I'd advise you to either remove the telnetd package (if you don't actually
197 need to offer telnet access) or install telnetd-ssl so that there is at
198 least some chance that telnet sessions will not be sending unencrypted
199 login/password and session information over the network.
200Description-pl: Uwaga: telnetd jest zainstalowany --- prawdopodobnie nienajlepszy pomys³
201 Radzi³bym albo usun±æ pakiet telnetd (je¶li nie potrzebujesz koniecznie
202 udostêpniaæ telnet'a) albo zainstalowaæ telnetd-ssl aby by³a choæ szansza,
203 ¿e sesje telnet nie bêd± przesy³aæ niezaszyfrowanego loginu/has³a oraz
204 danych sesji przez sieæ.
205
206Template: ssh/encrypted_host_key_but_no_keygen
207Type: note
208Description: Warning: you must create a new host key
209 There is an old /etc/ssh/ssh_host_key, which is IDEA encrypted.
210 OpenSSH can not handle this host key file, and I can't find the
211 ssh-keygen utility from the old (non-free) SSH installation.
212 .
213 You will need to generate a new host key.
214Description-pl: Uwaga: musisz utworzyæ nowy klucz hosta
215 Istnieje stary /etc/ssh/ssh_host_key, który jest zaszyfrowany przez
216 IDEA. OpenSSH nie umie korzystaæ z tak zaszyfrowanego klucza, a nie
217 mo¿e znale¼æ polecenia ssh-keygen ze starego SSH (non-free).
218 .
219 Bêdziesz musia³ wygenerowaæ nowy klucz hosta.
220
221Template: ssh/SUID_client
222Type: boolean
223Default: true
224Description: Do you want /usr/lib/ssh-keysign to be installed SUID root?
225 You have the option of installing the ssh-keysign helper with the SUID
226 bit set.
227 .
228 If you make ssh-keysign SUID, you will be able to use SSH's Protocol 2
229 host-based authentication.
230 .
231 If in doubt, I suggest you install it with SUID. If it causes
232 problems you can change your mind later by running: dpkg-reconfigure ssh
233Description-pl: Czy chcesz aby /usr/lib/ssh-keysign by³ zainstalowany jako SUID root?
234 Masz mo¿liwo¶æ zainstalowania pomocniczego programu ssh-keysign z w³±czonym
235 bitem SETUID.
236 .
237 Je¶li uczynisz ssh-keysign SUIDowym, bêdziesz móg³ u¿ywaæ opartej na hostach
238 autentykacji drugiej wersji protoko³u SSH.
239 .
240 Je¶li masz w±tpliwo¶ci, radzê zainstalowaæ go z SUIDem. Je¶li to sprawia
241 problemy, mo¿esz zmieniæ swoje zdanie uruchamiaj±c pó¼niej polecenie:
242 dpkg-reconfigure ssh
243
244Template: ssh/run_sshd
245Type: boolean
246Default: true
247Description: Do you want to run the sshd server ?
248 This package contains both the ssh client, and the sshd server.
249 .
250 Normally the sshd Secure Shell Server will be run to allow remote
251 logins via ssh.
252 .
253 If you are only interested in using the ssh client for outbound
254 connections on this machine, and don't want to log into it at all
255 using ssh, then you can disable sshd here.
256Description-pl: Czy chcesz uruchamiaæ serwer sshd ?
257 Ten pakiet zawiera zarówno klienta ssh, jak i serwer sshd.
258 .
259 Normalnie serwer sshd (Secure Shell Server) bêdzie uruchomiony aby
260 umo¿liwiæ zdalny dostêp przez ssh.
261 .
262 Je¶li jeste¶ zainteresowny u¿ywaniem wy³±cznie klienta ssh dla po³±czeñ
263 wychodz±cych z tej maszyny, i nie chcesz siê na ni± logowaæ przy pomocy
264 ssh, to mo¿esz teraz wy³±czyæ serwer sshd.
diff --git a/debian/templates.pt_BR b/debian/templates.pt_BR
new file mode 100644
index 000000000..2d0b3e1e7
--- /dev/null
+++ b/debian/templates.pt_BR
@@ -0,0 +1,181 @@
1Template: ssh/upgrade_to_openssh
2Type: boolean
3Description: Are you sure you want to upgrade to OpenSSH?
4 This version of ssh (a.k.a. OpenSSH) is supposed to be a 100% compatible
5 drop in replacement for the original (non-free) implemetation.
6 .
7 If you find that it is not, please report the problem as a bug.
8 .
9 You can still find the old version of ssh in the ssh-nonfree package
10 (although the only reason you are likely to want that is if you also
11 want to install the ssh2 package).
12 .
13 NOTE: If you're upgrading a machine remotely, via ssh, make sure you have at
14 least one other ssh session running as root, and once this is installed,
15 check that you can still log in (with a third session), before logging out.
16Description-pt_BR: Você tem certeza que quer atualizar para o OpenSSH ?
17 Esta versão do ssh (também conhecida como OpenSSH) é supostamente um
18 substituto 100% compatível para a implementação original (non-free).
19 .
20 Caso você ache que não é, por favor reporte o problema como um bug.
21 .
22 Você continuará a encontrar a versão antiga do ssh no pacote ssh-nonfree
23 (embora a única razão pela qual você queira isso é se você também quer
24 instalar o pacote ssh2).
25 .
26 NOTA: Se você está atualizando uma máquina remotamente, via ssh,
27 certifique-se que você possui pelo menos outra sessão ssh executando como
28 root e, uma vez que o pacote esteja instalado, verifique se você continua
29 podendo se logar (com uma terceira sessão) antes de se desconectar
30 (logging out).
31
32Template: ssh/ancient_version
33Type: note
34Description: You are trying to upgrade from an ancient version of non-free ssh
35 This is bound to be using IDEA encryption for your identity files.
36 You should upgrade to a vaguely contemporary (1.2.15 or later) version of
37 non-free ssh, and then upgrade all your key files using ssh-keygen -u
38 before attempting to migrate to OpenSSH.
39 .
40 Alternatively, you could just forget about that, and generate new keys.
41Description-pt_BR: Você está tentando atualizar a partir de uma versão antiga do ssh non-free
42 Isto está ligado a estar usando encriptação IDEA para seus arquivos de
43 identidade. Você deverá atualizar para uma versão vagamente contemporânea
44 (1.2.15 ou superior) do ssh non-free, e então atualizar todos seus
45 arquivos de chaves usando ssh-keygen -u antes de tentar migrar para
46 OpenSSH.
47 .
48 Alternativamente, você poderia somente esquecer tudo isso e gerar
49 novas chaves.
50
51Template: ssh/use_old_init_script
52Type: boolean
53Description: Do you want to continue (and risk killing active ssh sessions) ?
54 The version of /etc/init.d/ssh that you have installed, is likely to kill
55 all running sshd instances. If you are doing this upgrade via an ssh
56 session, that would be a Bad Thing(tm).
57 .
58 You can fix this by adding "--pidfile /var/run/sshd.pid" to the
59 start-stop-daemon line in the stop section of the file.
60Description-pt_BR: Você quer continuar (e arriscar matar sessões ssh ativas) ?
61 A versão de /etc/init.d/ssh que você possui instalada está prestes a
62 matar todas as instâncias sshd sendo executadas. Se você está fazendo
63 esta atualização através de uma sessão ssh, isto seria uma Coisa
64 Ruim(tm).
65 .
66 Você pode corrigir isto adicionando "--pidfile /var/run/sshd.pid" na
67 linha start-stop-daemon na seção stop deste arquivo.
68
69Template: ssh/forward_warning
70Type: note
71Description: NOTE: Forwarding of X11 and Authorization disabled by default.
72 For security reasons, the Debian version of ssh has ForwardX11 and
73 ForwardAgent set to ``off'' by default.
74 .
75 You can enable it for servers you trust, either
76 in one of the configuration files, or with the -X command line option.
77 .
78 More details can be found in /usr/share/doc/ssh/README.Debian
79Description-pt_BR: NOTA: Forwarding de X11 e Authorization desabilitados por padrão.
80 Por razôes de segurança, a versão Debian do ssh tem as opções ForwardX11
81 e ForwardAgent definidas como ``off'' por padrão.
82 .
83 Você pode habilitar isso para servidores que você confia, ou em um dos
84 arquivos de configuração, ou com a opção de linha de comando -X.
85 .
86 Maiores detalhes podem ser encontrados em
87 /usr/share/doc/ssh/README.Debian.
88
89Template: ssh/insecure_rshd
90Type: note
91Description: Warning: rsh-server is installed --- probably not a good idea
92 having rsh-server installed undermines the security that you were probably
93 wanting to obtain by installing ssh. I'd advise you to remove that package.
94Description-pt_BR: Aviso: rsh-server está instalado --- provavelmente não é uma boa idéia
95 Possuir o rsh-server instalado minará a segurança que você estava
96 provavelmente querendo obter instalando o ssh. Eu recomendaria a você
97 remover este pacote.
98
99Template: ssh/insecure_telnetd
100Type: note
101Description: Warning: telnetd is installed --- probably not a good idea
102 I'd advise you to either remove the telnetd package (if you don't actually
103 need to offer telnet access) or install telnetd-ssl so that there is at
104 least some chance that telnet sessions will not be sending unencrypted
105 login/password and session information over the network.
106Description-pt_BR: Aviso: telnetd está instalado --- provavelmente não é uma boa idéia
107 Eu recomendaria a você ou remover o pacote telnetd (se você atualmente
108 não precisa oferecer acesso telnet) ou instalar telnetd-ssl. Assim existe
109 pelo menos uma chance das sessões telnet não enviarem login/senha não
110 encriptados e informações de sessão através da rede.
111
112Template: ssh/encrypted_host_key_but_no_keygen
113Type: note
114Description: Warning: you must create a new host key
115 There is an old /etc/ssh/ssh_host_key, which is IDEA encrypted.
116 OpenSSH can not handle this host key file, and I can't find the
117 ssh-keygen utility from the old (non-free) SSH installation.
118 .
119 You will need to generate a new host key.
120Description-pt_BR: Aviso: você deve criar uma nova host key
121 Existe uma antiga /etc/ssh/ssh_host_key, a qual é encriptada usando IDEA.
122 O OpenSSH não pode gerenciar este arquivo host key e eu não consigo
123 encontrar o utilitário ssh-keygen da antiga (non-free) instalação SSH.
124 .
125 Você precisará gerar uma nova host key.
126
127Template: ssh/SUID_client
128Type: boolean
129Default: false
130Description: Do you want /usr/bin/ssh to be installed SUID root?
131 You have the option of installing the ssh client with the SUID bit set.
132 .
133 If you make ssh SUID, you will be able to use Rhosts/RhostsRSA
134 authentication, but will not be able to use socks via the LD_PRELOAD
135 trick. This is the traditional approach.
136 .
137 If you do not make ssh SUID, you will be able to use socks, but
138 Rhosts/RhostsRSA authentication will stop working, which may stop you
139 logging in to remote systems. It will also mean that the source
140 port will be above 1024, which may confound firewall rules you've set up.
141 .
142 If in doubt, I suggest you install it without SUID. If it causes
143 problems you can change your mind later by running: dpkg-reconfigure ssh
144Description-pt_BR: Você quer que /usr/bin/ssh seja instalado SUID root ?
145 Você tem a opção de instalar o cliente ssh com o bit SUID setado.
146 .
147 Se você fizer o ssh SUID, você conseguirá usar autenticação
148 Rhosts/RhostsRSA, mas não será capaz de usar socks através do truque
149 LD_PRELOAD. Isto é o tradicional.
150 .
151 Se você não fizer o ssh SUID, você poderá usar socks, mas a autenticação
152 Rhosts/RhostsRSA irá parar de funcionar, o que poderá lhe impedir de
153 logar em sistemas remotos. Isto significará também que a porta fonte
154 estará acima de 1024, o que poderá confundir regras de firewall que você
155 tenha definido.
156 .
157 Caso esteja em dúvida, eu sugiro a você instalar sem SUID. Se isso causar
158 problemas você pode mudar sua escolha posteriormente executando:
159 dpkg-reconfigure ssh.
160
161Template: ssh/run_sshd
162Type: boolean
163Default: true
164Description: Do you want to run the sshd server ?
165 This package contains both the ssh client, and the sshd server.
166 .
167 Normally the sshd Secure Shell Server will be run to allow remote
168 logins via ssh.
169 .
170 If you are only interested in using the ssh client for outbound
171 connections on this machine, and don't want to log into it at all
172 using ssh, then you can disable sshd here.
173Description-pt_BR: Você quer executar o servidor sshd ?
174 Este pacote contém ambos o cliente ssh e o servidor sshd.
175 .
176 Normalmente o sshd Secure Shell Server será executado para permitir
177 logins remotos via ssh.
178 .
179 Se você está interessado somente em usar o cliente ssh para conexões
180 para fora desta máquina, e não quer logar na mesma usando ssh, então você
181 pode desabilitar o sshd aqui.
diff --git a/debian/templates.ru b/debian/templates.ru
new file mode 100644
index 000000000..39038ff22
--- /dev/null
+++ b/debian/templates.ru
@@ -0,0 +1,207 @@
1Template: ssh/upgrade_to_openssh
2Type: boolean
3Description: Are you sure you want to upgrade to OpenSSH?
4 This version of ssh (a.k.a. OpenSSH) is supposed to be a 100% compatible
5 drop in replacement for the original (non-free) implemetation.
6 .
7 If you find that it is not, please report the problem as a bug.
8 .
9 You can still find the old version of ssh in the ssh-nonfree package
10 (although the only reason you are likely to want that is if you also
11 want to install the ssh2 package).
12 .
13 NOTE: If you're upgrading a machine remotely, via ssh, make sure you have at
14 least one other ssh session running as root, and once this is installed,
15 check that you can still log in (with a third session), before logging out.
16Description-ru: ÷Ù Õ×ÅÒÅÎÙ, ÞÔÏ ÈÏÔÉÔÅ ÏÂÎÏ×ÉÔØ OpenSSH?
17 üÔÁ ×ÅÒÓÉÑ ssh(ÏÎ ÖÅ OpenSSH) Ñ×ÌÑÅÔÓÑ 100%-ÓÏ×ÍÅÓÔÉÍÏÊ Ó ÏÒÉÇÉÎÁÌØÎÏÊ
18 (ÎÅÓ×ÏÂÏÄÎÏÊ) ÒÅÁÌÉÚÁÃÉÅÊ.
19 .
20 åÓÌÉ ×Ù ÏÂÎÁÒÕÖÉÌÉ ÒÁÚÌÉÞÉÅ, ÔÏ, ÐÏÖÁÌÕÊÓÔÁ, ÓÏÏÂÝÉÔÅ ÏÂ ÜÔÏÊ ÏÛÉÂËÅ.
21 .
22 ÷Ù ÍÏÖÅÔÅ ÐÏ ÐÒÅÖÎÅÍÕ ÎÁÊÔÉ ÓÔÁÒÕÀ ×ÅÒÓÉÀ ssh × ÐÁËÅÔÅ ssh-nonfree
23 (ÈÏÔÑ ÄÅÊÓÔ×ÉÔÅÌØÎÏ ÎÅÏÂÈÏÄÉÍÏ ÅÇÏ ÉÓÐÏÌØÚÏ×ÁÔØ ÔÏÌØËÏ, ÅÓÌÉ ×Ù ÈÏÔÉÔÅ
24 ÕÓÔÁÎÏ×ÉÔØ ÅÝÅ É ÐÁËÅÔ ssh2).
25 .
26 ðÒÉÍÅÞÁÎÉÅ: åÓÌÉ ×Ù ÕÄÁÌÅÎÎÏ ÏÂÎÏ×ÌÑÅÔÅ ÍÁÛÉÎÕ ÞÅÒÅÚ ssh, ÔÏ ÕÂÅÄÉÔÅÓØ
27 ÞÔÏ ËÁË ÍÉÎÉÍÕÍ ÅÝÅ ÏÄÎÁ ÓÅÓÓÉÑ ssh ÚÁÐÕÝÅÎÁ ÏÔ root, É ËÁË ÔÏÌØËÏ
28 ÐÒÏÃÅÓÓ ÏÂÎÏ×ÌÅÎÉÑ ÚÁËÏÎÞÉÔÓÑ, ÕÂÅÄÉÔÅÓØ, ÞÔÏ ×Ù ÓÍÏÖÅÔÅ ×ÏÊÔÉ ×
29 ÓÉÓÔÅÍÕ (ÕÓÔÁÎÏ×É× ÔÒÅÔØÀ ÓÅÓÓÉÀ), ÐÅÒÅÄ ÔÅÍ ËÁË ÏÔÓÏÅÄÉÎÑÔØÓÑ.
30
31Template: ssh/protocol2_default
32Type: note
33Description: SSH uses protocol 2 by default.
34 This version of SSH (unlike previous ones) uses ssh
35 protocol version 2 by default. The key file formats have changed
36 between the protocol versions, so your old key files will not be
37 useful. You may either pass the '-1' option to ssh to force it to use
38 the older protocol (and your old keys), or generate new keys. Protocol
39 version 2 is thought to be more secure, so this is the preferred
40 course of action. See README.Debian for a little more information
41 .
42 Also, due to problems with IPv4 and IPv6 interoperation, IPv4 is now
43 the default (this is a change from previous versions). Passing ssh the
44 -6 flag will cause IPv6 addresses to be used. Once the current issues
45 with using IPv6 on machines with IPv4 addresses have been solved, the
46 previous default will be restored
47Description-ru: SSH ÉÓÐÏÌØÚÕÅÔ ÐÏ ÕÍÏÌÞÁÎÉÀ ÐÒÏÔÏËÏÌ ×ÅÒÓÉÉ 2.
48 üÔÁ ×ÅÒÓÉÑ SSH (× ÏÔÌÉÞÉÉ ÏÔ ÐÒÅÄÙÄÕÝÉÈ) ÉÓÐÏÌØÚÕÅÔ ÐÏ ÕÍÏÌÞÁÎÉÀ
49 ÐÒÏÔÏËÏÌ ×ÅÒÓÉÉ 2. ÷ ÜÔÏÊ ×ÅÒÓÉÉ ÐÒÏÔÏËÏÌÁ ÉÚÍÅÎÅÎ ÆÏÒÍÁÔ ÆÁÊÌÏ×
50 ËÌÀÞÅÊ, ÔÁË ÞÔÏ ×ÁÛÉ ÓÔÁÒÙÅ ËÌÀÞÉ ÓÔÁÎÕÔ ÂÅÓÐÏÌÅÚÎÙÍÉ. ÷Ù ÍÏÖÅÔÅ ÌÉÂÏ
51 ÕËÁÚÙ×ÁÔØ ÏÐÃÉÀ '-1' ÄÌÑ ssh, ÞÔÏÂÙ ÐÒÉÎÕÄÉÔÅÌØÎÏ ÉÓÐÏÌØÚÏ×ÁÔØ ÂÏÌÅÅ
52 ÓÔÁÒÕÀ ×ÅÒÓÉÀ ÐÒÏÔÏËÏÌÁ, ÌÉÂÏ ÓÇÅÎÅÒÉÒÕÊÔÅ ÎÏ×ÙÊ ËÌÀÞÉ. ðÒÏÔÏËÏÌ
53 ×ÅÒÓÉÉ 2 ÂÏÌÅÅ ÚÁÝÉÝÅÎÎÙÊ, É ÐÏÜÔÏÍÕ ÐÒÅÄÏÐÒÅÄÅÌÅÎ ÐÏ ÕÍÏÌÞÁÎÉÀ. óÍ.
54 ÐÏÄÒÏÂÎÏÓÔÉ × ÆÁÊÌÅ README.Debian.
55 .
56 ôÁËÖÅ ÉÚ-ÚÁ ÐÒÏÂÌÅÍ ×ÚÁÉÍÏÓÏÏÔ×ÅÔÓÔ×ÉÑ IPv4 É IPv6, ÓÅÊÞÁÓ ÐÏ
57 ÕÍÏÌÞÁÎÉÀ ÐÏ ÕÍÏÌÞÁÎÉÀ ÉÓÐÏÌØÚÕÅÔÓÑ IPv4 (× ÏÔÌÉÞÉÉ ÏÔ ÐÒÅÄÙÄÕÝÉÈ
58 ×ÅÒÓÉÊ). þÔÏÂÙ ÉÓÐÏÌØÚÏ×ÁÔØ IPv6, ÎÁÄÏ ÚÁÄÁÔØ ÆÌÁÇ -6. ëÁË ÔÏÌØËÏ ×ÓÅ
59 ÓÌÏÖÎÏÓÔÉ Ó ÉÓÐÏÌØÚÏ×ÁÎÉÅÍ IPv6 ÎÁ ÍÁÛÉÎÁÈ Ó ÁÄÒÅÓÁÍÉ IPv4 ÂÕÄÕÔ
60 ÒÅÛÅÎÙ, ÔÏ ÐÒÅÖÎÅÅ ÐÏ×ÅÄÅÎÉÅ ÐÏ ÕÍÏÌÞÁÎÉÀ ÂÕÄÅÔ ×ÏÓÓÔÁÎÏ×ÌÅÎÏ.
61
62Template: ssh/ancient_version
63Type: note
64Description: You are trying to upgrade from an ancient version of non-free ssh
65 This is bound to be using IDEA encryption for your identity files.
66 You should upgrade to a vaguely contemporary (1.2.15 or later) version of
67 non-free ssh, and then upgrade all your key files using ssh-keygen -u
68 before attempting to migrate to OpenSSH.
69 .
70 Alternatively, you could just forget about that, and generate new keys.
71Description-ru: ÷Ù ÐÙÔÁÅÔÅÓØ ÏÂÎÏ×ÉÔØ ÄÒÅ×ÎÀÀ ×ÅÒÓÉÀ ËÏÍÍÅÒÞÅÓËÏÇÏ ssh
72 ïÎÁ ÏÇÒÁÎÉÞÅÎÁ ÉÓÐÏÌØÚÏ×ÁÎÉÅÍ ÛÉÆÒÏ×ÁÎÉÑ IDEA ÄÌÑ ×ÁÛÉÈ ÆÁÊÌÏ×
73 ÉÄÅÎÔÉÆÉËÁÃÉÉ. òÅËÏÍÅÎÄÕÅÔÓÑ ÏÂÎÏ×ÉÔØ ÂÏÌÅÅ ÓÏ×ÒÅÍÅÎÎÙÅ ×ÅÒÓÉÉ (1.2.15
74 ÉÌÉ ÂÏÌÅÅ ÐÏÚÄÎÉÅ) ËÏÍÍÅÒÞÅÓËÏÇÏ ssh, É ÐÏÔÏÍ ÏÂÎÏ×ÉÔØ ×ÁÛÉ ËÌÀÞÅ×ÙÅ
75 ÆÁÊÌÙ ËÏÍÁÎÄÏÊ `ssh-keygen -u` ÐÅÒÅÄ ÐÏÐÙÔËÏÊ ÐÅÒÅÊÔÉ ÎÁ OpenSSH.
76 .
77 ëÁË ×ÁÒÉÁÎÔ, ÍÏÖÅÔÅ ÚÁÂÙÔØ ÏÂÏ ×ÓÅÍ ÜÔÏÍ É ÓÇÅÎÅÒÉÒÏ×ÁÔØ ÎÏ×ÙÅ ËÌÀÞÉ.
78
79Template: ssh/use_old_init_script
80Type: boolean
81Description: Do you want to continue (and risk killing active ssh sessions) ?
82 The version of /etc/init.d/ssh that you have installed, is likely to kill
83 all running sshd instances. If you are doing this upgrade via an ssh
84 session, that would be a Bad Thing(tm).
85 .
86 You can fix this by adding "--pidfile /var/run/sshd.pid" to the
87 start-stop-daemon line in the stop section of the file.
88Description-ru: ÷Ù ÈÏÔÉÔÅ ÐÒÏÄÏÌÖÉÔØ (ÒÉÓËÕÑ ÐÏÔÅÒÑÔØ ÁËÔÉ×ÎÙÅ ssh-ÓÏÅÄÉÎÅÎÉÑ)?
89 ÷ÅÒÓÉÑ /etc/init.d/ssh, ËÏÔÏÒÕÀ ×Ù ÕÓÔÁÎÁ×ÌÉ×ÁÅÔÅ, ÍÏÖÅÔ ÕÂÉÔØ ×ÓÅ
90 ÚÁÐÕÝÅÎÎÙÅ ÐÒÏÃÅÓÓÙ ssh. åÓÌÉ ×Ù ÏÓÕÝÅÓÔ×ÌÑÅÔÅ ÜÔÏ ÏÂÎÏ×ÌÅÎÉÅ ÞÅÒÅÚ
91 ssh ÓÅÓÓÉÀ, ÔÏ ÜÔÏ ðÌÏÈÁÑ ÷ÅÝØ (tm).
92 .
93 üÔÏ ÍÏÖÎÏ ÉÓÐÒÁ×ÉÔØ ÄÏÂÁ×ÌÅÎÉÅÍ "--pidfile /var/run/sshd.pid" × ÓÔÒÏËÅ
94 start-stop-daemon × ÒÁÚÄÅÌÅ stop ÜÔÏÇÏ ÆÁÊÌÁ.
95
96Template: ssh/forward_warning
97Type: note
98Description: NOTE: Forwarding of X11 and Authorization disabled by default.
99 For security reasons, the Debian version of ssh has ForwardX11 and
100 ForwardAgent set to ``off'' by default.
101 .
102 You can enable it for servers you trust, either
103 in one of the configuration files, or with the -X command line option.
104 .
105 More details can be found in /usr/share/doc/ssh/README.Debian
106Description-ru: ðòéíåþáîéå: æÏÒ×ÁÒÄÉÎÇ X11 É Authorization ÚÁÐÒÅÝÅÎ ÐÏ ÕÍÏÌÞÁÎÉÀ.
107 ðÏ ÐÒÉÞÉÎÁÍ ÂÅÚÏÐÁÓÎÏÓÔÉ, × ×ÅÒÓÉÉ ÄÌÑ Debian ssh ÉÍÅÅÔ ForwardX11 É
108 ForwardAgent ÕÓÔÁÎÏ×ÌÅÎÎÙÍÉ × ``off'' ÐÏ ÕÍÏÌÞÁÎÉÀ.
109 .
110 ÷Ù ÍÏÖÅÔÅ ÒÁÚÒÅÛÉÔØ ÉÈ ÄÌÑ ÓÅÒ×ÅÒÏ×, ËÏÔÏÒÙÍ ÄÏ×ÅÒÑÅÔÅ ÌÉÂÏ × ÏÄÎÏÍ ÉÚ
111 ÎÁÓÔÒÏÅÞÎÙÈ ÆÁÊÌÏ×, ÉÌÉ ÐÁÒÁÍÅÔÒÏÍ ËÏÍÁÎÄÎÏÊ ÓÔÒÏËÉ -X.
112 .
113 äÏÐÏÌÎÉÔÅÌØÕÀ ÉÎÆÏÒÍÁÃÉÀ ÍÏÖÎÏ ÎÁÊÔÉ × /usr/share/doc/ssh/README.Debian
114
115Template: ssh/insecure_rshd
116Type: note
117Description: Warning: rsh-server is installed --- probably not a good idea
118 having rsh-server installed undermines the security that you were probably
119 wanting to obtain by installing ssh. I'd advise you to remove that package.
120Description-ru: ðÒÅÄÕÐÒÅÖÄÅÎÉÅ: ÕÓÔÁÎÏ×ÌÅÎ rsh-server --- ×ÉÄÉÍÏ, ÎÅ ÏÞÅÎØ ÈÏÒÏÛÏ
121 õÓÔÁÎÏ×ÌÅÎÎÙÊ rsh-server ÓÎÉÖÁÅÔ ÂÅÚÏÐÁÓÎÏÓÔØ, ËÏÔÏÒÕÀ ×Ù ×ÅÒÏÑÔÎÏ
122 ÈÏÔÉÔÅ ÐÏ×ÙÓÉÔØ ÕÓÔÁÎÁ×ÌÉ×ÁÑ ssh. òÅËÏÍÅÎÄÕÅÔÓÑ ÕÄÁÌÉÔØ ÜÔÏÔ ÐÁËÅÔ.
123
124Template: ssh/insecure_telnetd
125Type: note
126Description: Warning: telnetd is installed --- probably not a good idea
127 I'd advise you to either remove the telnetd package (if you don't actually
128 need to offer telnet access) or install telnetd-ssl so that there is at
129 least some chance that telnet sessions will not be sending unencrypted
130 login/password and session information over the network.
131Description-ru: ðÒÅÄÕÐÒÅÖÄÅÎÉÅ: ÕÓÔÁÎÏ×ÌÅÎ telnetd --- ×ÉÄÉÍÏ, ÎÅ ÏÞÅÎØ ÈÏÒÏÛÏ
132 ñ ÒÅËÏÍÅÎÄÏ×ÁÌ ÂÙ ×ÁÍ ÕÄÁÌÉÔØ ÐÁËÅÔ telnetd (ÅÓÌÉ ×ÁÍ ÄÅÊÓÔ×ÉÔÅÌØÎÏ ÎÅ
133 ÎÕÖÅÎ ÄÏÓÔÕÐ telnet) ÉÌÉ ÕÓÔÁÎÏ×ÉÔØ telnet-ssl, ÞÔÏÂÙ ÉÍÅÔØ ÈÏÔÑ ÂÙ
134 ×ÏÚÍÏÖÎÏÓÔØ ÎÅ ÐÅÒÅÄÁ×ÁÔØ ÐÏ ÓÅÔÉ ÎÅÚÁÛÉÆÒÏ×ÁÎÎÙÅ ÉÍÅÎÁ É ÐÁÒÏÌÉ
135 ÐÏÌØÚÏ×ÁÔÅÌÅÊ É ÐÒÏÞÕÀ ÉÎÆÏÒÍÁÃÉÀ × telnet-ÓÅÓÓÉÑÈ.
136
137Template: ssh/encrypted_host_key_but_no_keygen
138Type: note
139Description: Warning: you must create a new host key
140 There is an old /etc/ssh/ssh_host_key, which is IDEA encrypted.
141 OpenSSH can not handle this host key file, and I can't find the
142 ssh-keygen utility from the old (non-free) SSH installation.
143 .
144 You will need to generate a new host key.
145Description-ru: ðÒÅÄÕÐÒÅÖÄÅÎÉÅ: ×Ù ÄÏÌÖÎÙ ÓÏÚÄÁÔØ ÎÏ×ÙÊ ËÌÀÞ ÍÁÛÉÎÙ.
146 åÓÔØ ÓÔÁÒÙÊ /etc/ssh/ssh_host_key, ËÏÔÏÒÙÊ ÚÁÛÉÆÒÏ×ÁÎ IDEA. OpenSSH ÎÅ
147 ÍÏÖÅÔ ÒÁÂÏÔÁÔØ Ó ÜÔÉÍ ËÌÀÞÏÍ ÍÁÛÉÎÙ, É Ñ ÎÅ ÍÏÇÕ ÎÁÊÔÉ ÕÔÉÌÉÔÕ
148 ssh-keygen ÏÔ ÓÔÁÒÏÊ (ÎÅÓ×ÏÂÏÄÎÏÊ) ÉÎÓÔÁÌÌÑÃÉÉ SSH.
149 .
150 ÷ÁÍ ÎÁÄÏ ÂÕÄÅÔ ÓÇÅÎÅÒÉÒÏ×ÁÔØ ÎÏ×ÙÊ ËÌÀÞ ÈÏÓÔÁ.
151
152Template: ssh/SUID_client
153Type: boolean
154Default: true
155Description: Do you want /usr/bin/ssh to be installed SUID root?
156 You have the option of installing the ssh client with the SUID bit set.
157 .
158 If you make ssh SUID, you will be able to use Rhosts/RhostsRSA
159 authentication, but will not be able to use socks via the LD_PRELOAD
160 trick. This is the traditional approach.
161 .
162 If you do not make ssh SUID, you will be able to use socks, but
163 Rhosts/RhostsRSA authentication will stop working, which may stop you
164 logging in to remote systems. It will also mean that the source
165 port will be above 1024, which may confound firewall rules you've set up.
166 .
167 If in doubt, I suggest you install it with SUID. If it causes
168 problems you can change your mind later by running: dpkg-reconfigure ssh
169Description-ru: èÏÔÉÔÅ ÕÓÔÁÎÏ×ÉÔØ /usr/bin/ssh ËÁË SUID root?
170 ÷Ù ÉÍÅÅÔÅ ×ÏÚÍÏÖÎÏÓÔØ ÕÓÔÁÎÏ×ÉÔØ /usr/bin/ssh Ó ÕÓÔÁÎÏ×ÌÅÎÎÙÍ ÂÉÔÏÍ
171 SUID.
172 .
173 åÓÌÉ ×Ù ÄÅÌÁÅÔÅ ssh SUID, ÔÏ ×Ù ÓÍÏÖÅÔÅ ÉÓÐÏÌØÚÏ×ÁÔØ ÁÕÔÅÎÔÉÆÉËÁÃÉÀ
174 Rhosts/RhostsRSA, ÎÏ ÎÅ ÓÍÏÖÅÔÅ ÉÓÐÏÌØÚÏ×ÁÔØ socks ÞÅÒÅÚ LD_PRELOAD.
175 üÔÏ ÔÒÁÄÉÃÉÏÎÎÏÅ ÐÏ×ÅÄÅÎÉÅ.
176 .
177 åÓÌÉ ×Ù ÓÄÅÌÁÅÔÅ ssh SUID, ÔÏ ×Ù ÓÍÏÖÅÔÅ ÉÓÐÏÌØÚÏ×ÁÔØ socks, ÎÏ ÚÁÔÏ
178 ÁÕÔÅÎÔÉÆÉËÁÃÉÑ Rhosts/RhostsRSA ÎÅ ÂÕÄÅÔ ÒÁÂÏÔÁÔØ, ÞÔÏ ÍÏÖÅÔ ÓÄÅÌÁÔØ
179 ÎÅ×ÏÚÍÏÖÎÙÍ ×ÁÛÕ ÒÅÇÉÓÔÒÁÃÉÀ ÎÁ ÕÄÁÌÅÎÎÙÈ ÓÉÓÔÅÍÁÈ. ôÁËÖÅ ÜÔÏ ÏÚÎÁÞÁÅÔ
180 ÞÔÏ ÎÏÍÅÒ ÉÓÔÏÞÎÉËÏ×ÏÇÏ ÐÏÒÔÁ ÂÕÄÅÔ ÂÏÌØÛÅ 1024, ÞÔÏ ÍÏÖÅÔ ÎÅ ÎÁÒÕÛÉÔØ
181 ÒÁÂÏÔÕ ÕÓÔÁÎÏ×ÌÅÎÎÙÈ ×ÁÍÉ ÐÒÁ×ÉÌ ÆÁÊÒ×ÏÌÁ.
182 .
183 åÓÌÉ ×Ù ÎÅ ÚÎÁÅÔÅ, ÞÔÏ ÒÅÛÉÔØ, ÔÏ ÒÅËÏÍÅÎÄÕÅÔÓÑ ÕÓÔÁÎÏ×ÉÔØ ÅÇÏ Ó ÂÉÔÏÍ
184 SUID. åÓÌÉ ×Ù ÐÏÔÏÍ ÐÅÒÅÄÕÍÁÅÔÅ, ÔÏ ÜÔÕ ÕÓÔÁÎÏ×ËÕ ÍÏÖÎÏ ÂÕÄÅÔ ÉÚÍÅÎÉÔØ
185 ËÏÍÁÎÄÏÊ: "dpkg-reconfigure ssh".
186
187Template: ssh/run_sshd
188Type: boolean
189Default: true
190Description: Do you want to run the sshd server ?
191 This package contains both the ssh client, and the sshd server.
192 .
193 Normally the sshd Secure Shell Server will be run to allow remote
194 logins via ssh.
195 .
196 If you are only interested in using the ssh client for outbound
197 connections on this machine, and don't want to log into it at all
198 using ssh, then you can disable sshd here.
199Description-ru: èÏÔÉÔÅ ÚÁÐÕÓÔÉÔØ ÓÅÒ×ÅÒ sshd?
200 üÔÏÔ ÐÁËÅÔ ÓÏÄÅÒÖÉÔ É ssh-ËÌÉÅÎÔ, É ssh-ÓÅÒ×ÅÒ.
201 .
202 ïÂÙÞÎÏ sshd Secure Shell Server ÚÁÐÕÓËÁÅÔÓÑ ÄÌÑ ÕÄÁÌÅÎÎÏÇÏ ×ÈÏÄÁ ×
203 ÒÅÇÉÓÔÒÁÃÉÉ × ÓÉÓÔÅÍÅ ÞÅÒÅÚ ssh.
204 .
205 åÓÌÉ ×ÁÓ ÉÎÔÅÒÅÓÕÅÔ ÔÏÌØËÏ ÉÓÐÏÌØÚÏ×ÁÎÉÅ ssh-ËÌÉÅÎÔÁ ÄÌÑ ÉÓÈÏÄÑÝÉÈ
206 ÓÏÅÄÉÎÅÎÉÊ Ó ÜÔÏÊ ÍÁÛÉÎÙ, É ×Ù ÎÅ ÈÏÔÉÔÅ ×ÈÏÄÉÔØ × ÅÅ ÓÉÓÔÅÍÕ ÞÅÒÅÚ
207 ssh, ÔÏ ×Ù ÍÏÖÅÔÅ ÓÅÊÞÁÓ ÚÁÐÒÅÔÉÔØ sshd.
diff --git a/entropy.c b/entropy.c
index dcc8689c9..a95519e90 100644
--- a/entropy.c
+++ b/entropy.c
@@ -136,6 +136,8 @@ seed_rng(void)
136void 136void
137init_rng(void) 137init_rng(void)
138{ 138{
139#if defined (DISABLED_BY_DEBIAN)
140 /* drow: Is this check still too strict for Debian? */
139 /* 141 /*
140 * OpenSSL version numbers: MNNFFPPS: major minor fix patch status 142 * OpenSSL version numbers: MNNFFPPS: major minor fix patch status
141 * We match major, minor, fix and status (not patch) 143 * We match major, minor, fix and status (not patch)
@@ -143,6 +145,7 @@ init_rng(void)
143 if ((SSLeay() ^ OPENSSL_VERSION_NUMBER) & ~0xff0L) 145 if ((SSLeay() ^ OPENSSL_VERSION_NUMBER) & ~0xff0L)
144 fatal("OpenSSL version mismatch. Built against %lx, you " 146 fatal("OpenSSL version mismatch. Built against %lx, you "
145 "have %lx", OPENSSL_VERSION_NUMBER, SSLeay()); 147 "have %lx", OPENSSL_VERSION_NUMBER, SSLeay());
148#endif
146 149
147#ifndef OPENSSL_PRNG_ONLY 150#ifndef OPENSSL_PRNG_ONLY
148 if ((original_uid = getuid()) == -1) 151 if ((original_uid = getuid()) == -1)
diff --git a/log.c b/log.c
index 96626d7d4..12ac11df7 100644
--- a/log.c
+++ b/log.c
@@ -76,8 +76,9 @@ static struct {
76 LogLevel val; 76 LogLevel val;
77} log_levels[] = 77} log_levels[] =
78{ 78{
79 { "QUIET", SYSLOG_LEVEL_QUIET }, 79 { "SILENT", SYSLOG_LEVEL_SILENT },
80 { "FATAL", SYSLOG_LEVEL_FATAL }, 80 { "FATAL", SYSLOG_LEVEL_FATAL },
81 { "QUIET", SYSLOG_LEVEL_QUIET },
81 { "ERROR", SYSLOG_LEVEL_ERROR }, 82 { "ERROR", SYSLOG_LEVEL_ERROR },
82 { "INFO", SYSLOG_LEVEL_INFO }, 83 { "INFO", SYSLOG_LEVEL_INFO },
83 { "VERBOSE", SYSLOG_LEVEL_VERBOSE }, 84 { "VERBOSE", SYSLOG_LEVEL_VERBOSE },
@@ -266,8 +267,9 @@ log_init(char *av0, LogLevel level, SyslogFacility facility, int on_stderr)
266 argv0 = av0; 267 argv0 = av0;
267 268
268 switch (level) { 269 switch (level) {
269 case SYSLOG_LEVEL_QUIET: 270 case SYSLOG_LEVEL_SILENT:
270 case SYSLOG_LEVEL_FATAL: 271 case SYSLOG_LEVEL_FATAL:
272 case SYSLOG_LEVEL_QUIET:
271 case SYSLOG_LEVEL_ERROR: 273 case SYSLOG_LEVEL_ERROR:
272 case SYSLOG_LEVEL_INFO: 274 case SYSLOG_LEVEL_INFO:
273 case SYSLOG_LEVEL_VERBOSE: 275 case SYSLOG_LEVEL_VERBOSE:
diff --git a/log.h b/log.h
index 917fafa69..9819eceaa 100644
--- a/log.h
+++ b/log.h
@@ -37,8 +37,9 @@ typedef enum {
37} SyslogFacility; 37} SyslogFacility;
38 38
39typedef enum { 39typedef enum {
40 SYSLOG_LEVEL_QUIET, 40 SYSLOG_LEVEL_SILENT,
41 SYSLOG_LEVEL_FATAL, 41 SYSLOG_LEVEL_FATAL,
42 SYSLOG_LEVEL_QUIET,
42 SYSLOG_LEVEL_ERROR, 43 SYSLOG_LEVEL_ERROR,
43 SYSLOG_LEVEL_INFO, 44 SYSLOG_LEVEL_INFO,
44 SYSLOG_LEVEL_VERBOSE, 45 SYSLOG_LEVEL_VERBOSE,
diff --git a/openbsd-compat/fake-queue.h b/openbsd-compat/fake-queue.h
deleted file mode 100644
index 176fe3174..000000000
--- a/openbsd-compat/fake-queue.h
+++ /dev/null
@@ -1,584 +0,0 @@
1/* $OpenBSD: queue.h,v 1.22 2001/06/23 04:39:35 angelos Exp $ */
2/* $NetBSD: queue.h,v 1.11 1996/05/16 05:17:14 mycroft Exp $ */
3
4/*
5 * Copyright (c) 1991, 1993
6 * The Regents of the University of California. All rights reserved.
7 *
8 * Redistribution and use in source and binary forms, with or without
9 * modification, are permitted provided that the following conditions
10 * are met:
11 * 1. Redistributions of source code must retain the above copyright
12 * notice, this list of conditions and the following disclaimer.
13 * 2. Redistributions in binary form must reproduce the above copyright
14 * notice, this list of conditions and the following disclaimer in the
15 * documentation and/or other materials provided with the distribution.
16 * 3. All advertising materials mentioning features or use of this software
17 * must display the following acknowledgement:
18 * This product includes software developed by the University of
19 * California, Berkeley and its contributors.
20 * 4. Neither the name of the University nor the names of its contributors
21 * may be used to endorse or promote products derived from this software
22 * without specific prior written permission.
23 *
24 * THIS SOFTWARE IS PROVIDED BY THE REGENTS AND CONTRIBUTORS ``AS IS'' AND
25 * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
26 * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
27 * ARE DISCLAIMED. IN NO EVENT SHALL THE REGENTS OR CONTRIBUTORS BE LIABLE
28 * FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL
29 * DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS
30 * OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
31 * HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
32 * LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
33 * OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
34 * SUCH DAMAGE.
35 *
36 * @(#)queue.h 8.5 (Berkeley) 8/20/94
37 */
38
39#ifndef _FAKE_QUEUE_H_
40#define _FAKE_QUEUE_H_
41
42/*
43 * Ignore all <sys/queue.h> since older platforms have broken/incomplete
44 * <sys/queue.h> that are too hard to work around.
45 */
46#undef SLIST_HEAD
47#undef SLIST_HEAD_INITIALIZER
48#undef SLIST_ENTRY
49#undef SLIST_FIRST
50#undef SLIST_END
51#undef SLIST_EMPTY
52#undef SLIST_NEXT
53#undef SLIST_FOREACH
54#undef SLIST_INIT
55#undef SLIST_INSERT_AFTER
56#undef SLIST_INSERT_HEAD
57#undef SLIST_REMOVE_HEAD
58#undef SLIST_REMOVE
59#undef LIST_HEAD
60#undef LIST_HEAD_INITIALIZER
61#undef LIST_ENTRY
62#undef LIST_FIRST
63#undef LIST_END
64#undef LIST_EMPTY
65#undef LIST_NEXT
66#undef LIST_FOREACH
67#undef LIST_INIT
68#undef LIST_INSERT_AFTER
69#undef LIST_INSERT_BEFORE
70#undef LIST_INSERT_HEAD
71#undef LIST_REMOVE
72#undef LIST_REPLACE
73#undef SIMPLEQ_HEAD
74#undef SIMPLEQ_HEAD_INITIALIZER
75#undef SIMPLEQ_ENTRY
76#undef SIMPLEQ_FIRST
77#undef SIMPLEQ_END
78#undef SIMPLEQ_EMPTY
79#undef SIMPLEQ_NEXT
80#undef SIMPLEQ_FOREACH
81#undef SIMPLEQ_INIT
82#undef SIMPLEQ_INSERT_HEAD
83#undef SIMPLEQ_INSERT_TAIL
84#undef SIMPLEQ_INSERT_AFTER
85#undef SIMPLEQ_REMOVE_HEAD
86#undef TAILQ_HEAD
87#undef TAILQ_HEAD_INITIALIZER
88#undef TAILQ_ENTRY
89#undef TAILQ_FIRST
90#undef TAILQ_END
91#undef TAILQ_NEXT
92#undef TAILQ_LAST
93#undef TAILQ_PREV
94#undef TAILQ_EMPTY
95#undef TAILQ_FOREACH
96#undef TAILQ_FOREACH_REVERSE
97#undef TAILQ_INIT
98#undef TAILQ_INSERT_HEAD
99#undef TAILQ_INSERT_TAIL
100#undef TAILQ_INSERT_AFTER
101#undef TAILQ_INSERT_BEFORE
102#undef TAILQ_REMOVE
103#undef TAILQ_REPLACE
104#undef CIRCLEQ_HEAD
105#undef CIRCLEQ_HEAD_INITIALIZER
106#undef CIRCLEQ_ENTRY
107#undef CIRCLEQ_FIRST
108#undef CIRCLEQ_LAST
109#undef CIRCLEQ_END
110#undef CIRCLEQ_NEXT
111#undef CIRCLEQ_PREV
112#undef CIRCLEQ_EMPTY
113#undef CIRCLEQ_FOREACH
114#undef CIRCLEQ_FOREACH_REVERSE
115#undef CIRCLEQ_INIT
116#undef CIRCLEQ_INSERT_AFTER
117#undef CIRCLEQ_INSERT_BEFORE
118#undef CIRCLEQ_INSERT_HEAD
119#undef CIRCLEQ_INSERT_TAIL
120#undef CIRCLEQ_REMOVE
121#undef CIRCLEQ_REPLACE
122
123/*
124 * This file defines five types of data structures: singly-linked lists,
125 * lists, simple queues, tail queues, and circular queues.
126 *
127 *
128 * A singly-linked list is headed by a single forward pointer. The elements
129 * are singly linked for minimum space and pointer manipulation overhead at
130 * the expense of O(n) removal for arbitrary elements. New elements can be
131 * added to the list after an existing element or at the head of the list.
132 * Elements being removed from the head of the list should use the explicit
133 * macro for this purpose for optimum efficiency. A singly-linked list may
134 * only be traversed in the forward direction. Singly-linked lists are ideal
135 * for applications with large datasets and few or no removals or for
136 * implementing a LIFO queue.
137 *
138 * A list is headed by a single forward pointer (or an array of forward
139 * pointers for a hash table header). The elements are doubly linked
140 * so that an arbitrary element can be removed without a need to
141 * traverse the list. New elements can be added to the list before
142 * or after an existing element or at the head of the list. A list
143 * may only be traversed in the forward direction.
144 *
145 * A simple queue is headed by a pair of pointers, one the head of the
146 * list and the other to the tail of the list. The elements are singly
147 * linked to save space, so elements can only be removed from the
148 * head of the list. New elements can be added to the list before or after
149 * an existing element, at the head of the list, or at the end of the
150 * list. A simple queue may only be traversed in the forward direction.
151 *
152 * A tail queue is headed by a pair of pointers, one to the head of the
153 * list and the other to the tail of the list. The elements are doubly
154 * linked so that an arbitrary element can be removed without a need to
155 * traverse the list. New elements can be added to the list before or
156 * after an existing element, at the head of the list, or at the end of
157 * the list. A tail queue may be traversed in either direction.
158 *
159 * A circle queue is headed by a pair of pointers, one to the head of the
160 * list and the other to the tail of the list. The elements are doubly
161 * linked so that an arbitrary element can be removed without a need to
162 * traverse the list. New elements can be added to the list before or after
163 * an existing element, at the head of the list, or at the end of the list.
164 * A circle queue may be traversed in either direction, but has a more
165 * complex end of list detection.
166 *
167 * For details on the use of these macros, see the queue(3) manual page.
168 */
169
170/*
171 * Singly-linked List definitions.
172 */
173#define SLIST_HEAD(name, type) \
174struct name { \
175 struct type *slh_first; /* first element */ \
176}
177
178#define SLIST_HEAD_INITIALIZER(head) \
179 { NULL }
180
181#define SLIST_ENTRY(type) \
182struct { \
183 struct type *sle_next; /* next element */ \
184}
185
186/*
187 * Singly-linked List access methods.
188 */
189#define SLIST_FIRST(head) ((head)->slh_first)
190#define SLIST_END(head) NULL
191#define SLIST_EMPTY(head) (SLIST_FIRST(head) == SLIST_END(head))
192#define SLIST_NEXT(elm, field) ((elm)->field.sle_next)
193
194#define SLIST_FOREACH(var, head, field) \
195 for((var) = SLIST_FIRST(head); \
196 (var) != SLIST_END(head); \
197 (var) = SLIST_NEXT(var, field))
198
199/*
200 * Singly-linked List functions.
201 */
202#define SLIST_INIT(head) { \
203 SLIST_FIRST(head) = SLIST_END(head); \
204}
205
206#define SLIST_INSERT_AFTER(slistelm, elm, field) do { \
207 (elm)->field.sle_next = (slistelm)->field.sle_next; \
208 (slistelm)->field.sle_next = (elm); \
209} while (0)
210
211#define SLIST_INSERT_HEAD(head, elm, field) do { \
212 (elm)->field.sle_next = (head)->slh_first; \
213 (head)->slh_first = (elm); \
214} while (0)
215
216#define SLIST_REMOVE_HEAD(head, field) do { \
217 (head)->slh_first = (head)->slh_first->field.sle_next; \
218} while (0)
219
220#define SLIST_REMOVE(head, elm, type, field) do { \
221 if ((head)->slh_first == (elm)) { \
222 SLIST_REMOVE_HEAD((head), field); \
223 } \
224 else { \
225 struct type *curelm = (head)->slh_first; \
226 while( curelm->field.sle_next != (elm) ) \
227 curelm = curelm->field.sle_next; \
228 curelm->field.sle_next = \
229 curelm->field.sle_next->field.sle_next; \
230 } \
231} while (0)
232
233/*
234 * List definitions.
235 */
236#define LIST_HEAD(name, type) \
237struct name { \
238 struct type *lh_first; /* first element */ \
239}
240
241#define LIST_HEAD_INITIALIZER(head) \
242 { NULL }
243
244#define LIST_ENTRY(type) \
245struct { \
246 struct type *le_next; /* next element */ \
247 struct type **le_prev; /* address of previous next element */ \
248}
249
250/*
251 * List access methods
252 */
253#define LIST_FIRST(head) ((head)->lh_first)
254#define LIST_END(head) NULL
255#define LIST_EMPTY(head) (LIST_FIRST(head) == LIST_END(head))
256#define LIST_NEXT(elm, field) ((elm)->field.le_next)
257
258#define LIST_FOREACH(var, head, field) \
259 for((var) = LIST_FIRST(head); \
260 (var)!= LIST_END(head); \
261 (var) = LIST_NEXT(var, field))
262
263/*
264 * List functions.
265 */
266#define LIST_INIT(head) do { \
267 LIST_FIRST(head) = LIST_END(head); \
268} while (0)
269
270#define LIST_INSERT_AFTER(listelm, elm, field) do { \
271 if (((elm)->field.le_next = (listelm)->field.le_next) != NULL) \
272 (listelm)->field.le_next->field.le_prev = \
273 &(elm)->field.le_next; \
274 (listelm)->field.le_next = (elm); \
275 (elm)->field.le_prev = &(listelm)->field.le_next; \
276} while (0)
277
278#define LIST_INSERT_BEFORE(listelm, elm, field) do { \
279 (elm)->field.le_prev = (listelm)->field.le_prev; \
280 (elm)->field.le_next = (listelm); \
281 *(listelm)->field.le_prev = (elm); \
282 (listelm)->field.le_prev = &(elm)->field.le_next; \
283} while (0)
284
285#define LIST_INSERT_HEAD(head, elm, field) do { \
286 if (((elm)->field.le_next = (head)->lh_first) != NULL) \
287 (head)->lh_first->field.le_prev = &(elm)->field.le_next;\
288 (head)->lh_first = (elm); \
289 (elm)->field.le_prev = &(head)->lh_first; \
290} while (0)
291
292#define LIST_REMOVE(elm, field) do { \
293 if ((elm)->field.le_next != NULL) \
294 (elm)->field.le_next->field.le_prev = \
295 (elm)->field.le_prev; \
296 *(elm)->field.le_prev = (elm)->field.le_next; \
297} while (0)
298
299#define LIST_REPLACE(elm, elm2, field) do { \
300 if (((elm2)->field.le_next = (elm)->field.le_next) != NULL) \
301 (elm2)->field.le_next->field.le_prev = \
302 &(elm2)->field.le_next; \
303 (elm2)->field.le_prev = (elm)->field.le_prev; \
304 *(elm2)->field.le_prev = (elm2); \
305} while (0)
306
307/*
308 * Simple queue definitions.
309 */
310#define SIMPLEQ_HEAD(name, type) \
311struct name { \
312 struct type *sqh_first; /* first element */ \
313 struct type **sqh_last; /* addr of last next element */ \
314}
315
316#define SIMPLEQ_HEAD_INITIALIZER(head) \
317 { NULL, &(head).sqh_first }
318
319#define SIMPLEQ_ENTRY(type) \
320struct { \
321 struct type *sqe_next; /* next element */ \
322}
323
324/*
325 * Simple queue access methods.
326 */
327#define SIMPLEQ_FIRST(head) ((head)->sqh_first)
328#define SIMPLEQ_END(head) NULL
329#define SIMPLEQ_EMPTY(head) (SIMPLEQ_FIRST(head) == SIMPLEQ_END(head))
330#define SIMPLEQ_NEXT(elm, field) ((elm)->field.sqe_next)
331
332#define SIMPLEQ_FOREACH(var, head, field) \
333 for((var) = SIMPLEQ_FIRST(head); \
334 (var) != SIMPLEQ_END(head); \
335 (var) = SIMPLEQ_NEXT(var, field))
336
337/*
338 * Simple queue functions.
339 */
340#define SIMPLEQ_INIT(head) do { \
341 (head)->sqh_first = NULL; \
342 (head)->sqh_last = &(head)->sqh_first; \
343} while (0)
344
345#define SIMPLEQ_INSERT_HEAD(head, elm, field) do { \
346 if (((elm)->field.sqe_next = (head)->sqh_first) == NULL) \
347 (head)->sqh_last = &(elm)->field.sqe_next; \
348 (head)->sqh_first = (elm); \
349} while (0)
350
351#define SIMPLEQ_INSERT_TAIL(head, elm, field) do { \
352 (elm)->field.sqe_next = NULL; \
353 *(head)->sqh_last = (elm); \
354 (head)->sqh_last = &(elm)->field.sqe_next; \
355} while (0)
356
357#define SIMPLEQ_INSERT_AFTER(head, listelm, elm, field) do { \
358 if (((elm)->field.sqe_next = (listelm)->field.sqe_next) == NULL)\
359 (head)->sqh_last = &(elm)->field.sqe_next; \
360 (listelm)->field.sqe_next = (elm); \
361} while (0)
362
363#define SIMPLEQ_REMOVE_HEAD(head, elm, field) do { \
364 if (((head)->sqh_first = (elm)->field.sqe_next) == NULL) \
365 (head)->sqh_last = &(head)->sqh_first; \
366} while (0)
367
368/*
369 * Tail queue definitions.
370 */
371#define TAILQ_HEAD(name, type) \
372struct name { \
373 struct type *tqh_first; /* first element */ \
374 struct type **tqh_last; /* addr of last next element */ \
375}
376
377#define TAILQ_HEAD_INITIALIZER(head) \
378 { NULL, &(head).tqh_first }
379
380#define TAILQ_ENTRY(type) \
381struct { \
382 struct type *tqe_next; /* next element */ \
383 struct type **tqe_prev; /* address of previous next element */ \
384}
385
386/*
387 * tail queue access methods
388 */
389#define TAILQ_FIRST(head) ((head)->tqh_first)
390#define TAILQ_END(head) NULL
391#define TAILQ_NEXT(elm, field) ((elm)->field.tqe_next)
392#define TAILQ_LAST(head, headname) \
393 (*(((struct headname *)((head)->tqh_last))->tqh_last))
394/* XXX */
395#define TAILQ_PREV(elm, headname, field) \
396 (*(((struct headname *)((elm)->field.tqe_prev))->tqh_last))
397#define TAILQ_EMPTY(head) \
398 (TAILQ_FIRST(head) == TAILQ_END(head))
399
400#define TAILQ_FOREACH(var, head, field) \
401 for((var) = TAILQ_FIRST(head); \
402 (var) != TAILQ_END(head); \
403 (var) = TAILQ_NEXT(var, field))
404
405#define TAILQ_FOREACH_REVERSE(var, head, field, headname) \
406 for((var) = TAILQ_LAST(head, headname); \
407 (var) != TAILQ_END(head); \
408 (var) = TAILQ_PREV(var, headname, field))
409
410/*
411 * Tail queue functions.
412 */
413#define TAILQ_INIT(head) do { \
414 (head)->tqh_first = NULL; \
415 (head)->tqh_last = &(head)->tqh_first; \
416} while (0)
417
418#define TAILQ_INSERT_HEAD(head, elm, field) do { \
419 if (((elm)->field.tqe_next = (head)->tqh_first) != NULL) \
420 (head)->tqh_first->field.tqe_prev = \
421 &(elm)->field.tqe_next; \
422 else \
423 (head)->tqh_last = &(elm)->field.tqe_next; \
424 (head)->tqh_first = (elm); \
425 (elm)->field.tqe_prev = &(head)->tqh_first; \
426} while (0)
427
428#define TAILQ_INSERT_TAIL(head, elm, field) do { \
429 (elm)->field.tqe_next = NULL; \
430 (elm)->field.tqe_prev = (head)->tqh_last; \
431 *(head)->tqh_last = (elm); \
432 (head)->tqh_last = &(elm)->field.tqe_next; \
433} while (0)
434
435#define TAILQ_INSERT_AFTER(head, listelm, elm, field) do { \
436 if (((elm)->field.tqe_next = (listelm)->field.tqe_next) != NULL)\
437 (elm)->field.tqe_next->field.tqe_prev = \
438 &(elm)->field.tqe_next; \
439 else \
440 (head)->tqh_last = &(elm)->field.tqe_next; \
441 (listelm)->field.tqe_next = (elm); \
442 (elm)->field.tqe_prev = &(listelm)->field.tqe_next; \
443} while (0)
444
445#define TAILQ_INSERT_BEFORE(listelm, elm, field) do { \
446 (elm)->field.tqe_prev = (listelm)->field.tqe_prev; \
447 (elm)->field.tqe_next = (listelm); \
448 *(listelm)->field.tqe_prev = (elm); \
449 (listelm)->field.tqe_prev = &(elm)->field.tqe_next; \
450} while (0)
451
452#define TAILQ_REMOVE(head, elm, field) do { \
453 if (((elm)->field.tqe_next) != NULL) \
454 (elm)->field.tqe_next->field.tqe_prev = \
455 (elm)->field.tqe_prev; \
456 else \
457 (head)->tqh_last = (elm)->field.tqe_prev; \
458 *(elm)->field.tqe_prev = (elm)->field.tqe_next; \
459} while (0)
460
461#define TAILQ_REPLACE(head, elm, elm2, field) do { \
462 if (((elm2)->field.tqe_next = (elm)->field.tqe_next) != NULL) \
463 (elm2)->field.tqe_next->field.tqe_prev = \
464 &(elm2)->field.tqe_next; \
465 else \
466 (head)->tqh_last = &(elm2)->field.tqe_next; \
467 (elm2)->field.tqe_prev = (elm)->field.tqe_prev; \
468 *(elm2)->field.tqe_prev = (elm2); \
469} while (0)
470
471/*
472 * Circular queue definitions.
473 */
474#define CIRCLEQ_HEAD(name, type) \
475struct name { \
476 struct type *cqh_first; /* first element */ \
477 struct type *cqh_last; /* last element */ \
478}
479
480#define CIRCLEQ_HEAD_INITIALIZER(head) \
481 { CIRCLEQ_END(&head), CIRCLEQ_END(&head) }
482
483#define CIRCLEQ_ENTRY(type) \
484struct { \
485 struct type *cqe_next; /* next element */ \
486 struct type *cqe_prev; /* previous element */ \
487}
488
489/*
490 * Circular queue access methods
491 */
492#define CIRCLEQ_FIRST(head) ((head)->cqh_first)
493#define CIRCLEQ_LAST(head) ((head)->cqh_last)
494#define CIRCLEQ_END(head) ((void *)(head))
495#define CIRCLEQ_NEXT(elm, field) ((elm)->field.cqe_next)
496#define CIRCLEQ_PREV(elm, field) ((elm)->field.cqe_prev)
497#define CIRCLEQ_EMPTY(head) \
498 (CIRCLEQ_FIRST(head) == CIRCLEQ_END(head))
499
500#define CIRCLEQ_FOREACH(var, head, field) \
501 for((var) = CIRCLEQ_FIRST(head); \
502 (var) != CIRCLEQ_END(head); \
503 (var) = CIRCLEQ_NEXT(var, field))
504
505#define CIRCLEQ_FOREACH_REVERSE(var, head, field) \
506 for((var) = CIRCLEQ_LAST(head); \
507 (var) != CIRCLEQ_END(head); \
508 (var) = CIRCLEQ_PREV(var, field))
509
510/*
511 * Circular queue functions.
512 */
513#define CIRCLEQ_INIT(head) do { \
514 (head)->cqh_first = CIRCLEQ_END(head); \
515 (head)->cqh_last = CIRCLEQ_END(head); \
516} while (0)
517
518#define CIRCLEQ_INSERT_AFTER(head, listelm, elm, field) do { \
519 (elm)->field.cqe_next = (listelm)->field.cqe_next; \
520 (elm)->field.cqe_prev = (listelm); \
521 if ((listelm)->field.cqe_next == CIRCLEQ_END(head)) \
522 (head)->cqh_last = (elm); \
523 else \
524 (listelm)->field.cqe_next->field.cqe_prev = (elm); \
525 (listelm)->field.cqe_next = (elm); \
526} while (0)
527
528#define CIRCLEQ_INSERT_BEFORE(head, listelm, elm, field) do { \
529 (elm)->field.cqe_next = (listelm); \
530 (elm)->field.cqe_prev = (listelm)->field.cqe_prev; \
531 if ((listelm)->field.cqe_prev == CIRCLEQ_END(head)) \
532 (head)->cqh_first = (elm); \
533 else \
534 (listelm)->field.cqe_prev->field.cqe_next = (elm); \
535 (listelm)->field.cqe_prev = (elm); \
536} while (0)
537
538#define CIRCLEQ_INSERT_HEAD(head, elm, field) do { \
539 (elm)->field.cqe_next = (head)->cqh_first; \
540 (elm)->field.cqe_prev = CIRCLEQ_END(head); \
541 if ((head)->cqh_last == CIRCLEQ_END(head)) \
542 (head)->cqh_last = (elm); \
543 else \
544 (head)->cqh_first->field.cqe_prev = (elm); \
545 (head)->cqh_first = (elm); \
546} while (0)
547
548#define CIRCLEQ_INSERT_TAIL(head, elm, field) do { \
549 (elm)->field.cqe_next = CIRCLEQ_END(head); \
550 (elm)->field.cqe_prev = (head)->cqh_last; \
551 if ((head)->cqh_first == CIRCLEQ_END(head)) \
552 (head)->cqh_first = (elm); \
553 else \
554 (head)->cqh_last->field.cqe_next = (elm); \
555 (head)->cqh_last = (elm); \
556} while (0)
557
558#define CIRCLEQ_REMOVE(head, elm, field) do { \
559 if ((elm)->field.cqe_next == CIRCLEQ_END(head)) \
560 (head)->cqh_last = (elm)->field.cqe_prev; \
561 else \
562 (elm)->field.cqe_next->field.cqe_prev = \
563 (elm)->field.cqe_prev; \
564 if ((elm)->field.cqe_prev == CIRCLEQ_END(head)) \
565 (head)->cqh_first = (elm)->field.cqe_next; \
566 else \
567 (elm)->field.cqe_prev->field.cqe_next = \
568 (elm)->field.cqe_next; \
569} while (0)
570
571#define CIRCLEQ_REPLACE(head, elm, elm2, field) do { \
572 if (((elm2)->field.cqe_next = (elm)->field.cqe_next) == \
573 CIRCLEQ_END(head)) \
574 (head).cqh_last = (elm2); \
575 else \
576 (elm2)->field.cqe_next->field.cqe_prev = (elm2); \
577 if (((elm2)->field.cqe_prev = (elm)->field.cqe_prev) == \
578 CIRCLEQ_END(head)) \
579 (head).cqh_first = (elm2); \
580 else \
581 (elm2)->field.cqe_prev->field.cqe_next = (elm2); \
582} while (0)
583
584#endif /* !_FAKE_QUEUE_H_ */
diff --git a/openbsd-compat/tree.h b/openbsd-compat/tree.h
deleted file mode 100644
index 30b4a8561..000000000
--- a/openbsd-compat/tree.h
+++ /dev/null
@@ -1,667 +0,0 @@
1/*
2 * Copyright 2002 Niels Provos <provos@citi.umich.edu>
3 * All rights reserved.
4 *
5 * Redistribution and use in source and binary forms, with or without
6 * modification, are permitted provided that the following conditions
7 * are met:
8 * 1. Redistributions of source code must retain the above copyright
9 * notice, this list of conditions and the following disclaimer.
10 * 2. Redistributions in binary form must reproduce the above copyright
11 * notice, this list of conditions and the following disclaimer in the
12 * documentation and/or other materials provided with the distribution.
13 *
14 * THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR
15 * IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES
16 * OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
17 * IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT,
18 * INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT
19 * NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
20 * DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
21 * THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
22 * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF
23 * THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
24 */
25
26#ifndef _SYS_TREE_H_
27#define _SYS_TREE_H_
28
29/*
30 * This file defines data structures for different types of trees:
31 * splay trees and red-black trees.
32 *
33 * A splay tree is a self-organizing data structure. Every operation
34 * on the tree causes a splay to happen. The splay moves the requested
35 * node to the root of the tree and partly rebalances it.
36 *
37 * This has the benefit that request locality causes faster lookups as
38 * the requested nodes move to the top of the tree. On the other hand,
39 * every lookup causes memory writes.
40 *
41 * The Balance Theorem bounds the total access time for m operations
42 * and n inserts on an initially empty tree as O((m + n)lg n). The
43 * amortized cost for a sequence of m accesses to a splay tree is O(lg n);
44 *
45 * A red-black tree is a binary search tree with the node color as an
46 * extra attribute. It fulfills a set of conditions:
47 * - every search path from the root to a leaf consists of the
48 * same number of black nodes,
49 * - each red node (except for the root) has a black parent,
50 * - each leaf node is black.
51 *
52 * Every operation on a red-black tree is bounded as O(lg n).
53 * The maximum height of a red-black tree is 2lg (n+1).
54 */
55
56#define SPLAY_HEAD(name, type) \
57struct name { \
58 struct type *sph_root; /* root of the tree */ \
59}
60
61#define SPLAY_INITIALIZER(root) \
62 { NULL }
63
64#define SPLAY_INIT(root) do { \
65 (root)->sph_root = NULL; \
66} while (0)
67
68#define SPLAY_ENTRY(type) \
69struct { \
70 struct type *spe_left; /* left element */ \
71 struct type *spe_right; /* right element */ \
72}
73
74#define SPLAY_LEFT(elm, field) (elm)->field.spe_left
75#define SPLAY_RIGHT(elm, field) (elm)->field.spe_right
76#define SPLAY_ROOT(head) (head)->sph_root
77#define SPLAY_EMPTY(head) (SPLAY_ROOT(head) == NULL)
78
79/* SPLAY_ROTATE_{LEFT,RIGHT} expect that tmp hold SPLAY_{RIGHT,LEFT} */
80#define SPLAY_ROTATE_RIGHT(head, tmp, field) do { \
81 SPLAY_LEFT((head)->sph_root, field) = SPLAY_RIGHT(tmp, field); \
82 SPLAY_RIGHT(tmp, field) = (head)->sph_root; \
83 (head)->sph_root = tmp; \
84} while (0)
85
86#define SPLAY_ROTATE_LEFT(head, tmp, field) do { \
87 SPLAY_RIGHT((head)->sph_root, field) = SPLAY_LEFT(tmp, field); \
88 SPLAY_LEFT(tmp, field) = (head)->sph_root; \
89 (head)->sph_root = tmp; \
90} while (0)
91
92#define SPLAY_LINKLEFT(head, tmp, field) do { \
93 SPLAY_LEFT(tmp, field) = (head)->sph_root; \
94 tmp = (head)->sph_root; \
95 (head)->sph_root = SPLAY_LEFT((head)->sph_root, field); \
96} while (0)
97
98#define SPLAY_LINKRIGHT(head, tmp, field) do { \
99 SPLAY_RIGHT(tmp, field) = (head)->sph_root; \
100 tmp = (head)->sph_root; \
101 (head)->sph_root = SPLAY_RIGHT((head)->sph_root, field); \
102} while (0)
103
104#define SPLAY_ASSEMBLE(head, node, left, right, field) do { \
105 SPLAY_RIGHT(left, field) = SPLAY_LEFT((head)->sph_root, field); \
106 SPLAY_LEFT(right, field) = SPLAY_RIGHT((head)->sph_root, field);\
107 SPLAY_LEFT((head)->sph_root, field) = SPLAY_RIGHT(node, field); \
108 SPLAY_RIGHT((head)->sph_root, field) = SPLAY_LEFT(node, field); \
109} while (0)
110
111/* Generates prototypes and inline functions */
112
113#define SPLAY_PROTOTYPE(name, type, field, cmp) \
114void name##_SPLAY(struct name *, struct type *); \
115void name##_SPLAY_MINMAX(struct name *, int); \
116 \
117static __inline void \
118name##_SPLAY_INSERT(struct name *head, struct type *elm) \
119{ \
120 if (SPLAY_EMPTY(head)) { \
121 SPLAY_LEFT(elm, field) = SPLAY_RIGHT(elm, field) = NULL; \
122 } else { \
123 int __comp; \
124 name##_SPLAY(head, elm); \
125 __comp = (cmp)(elm, (head)->sph_root); \
126 if(__comp < 0) { \
127 SPLAY_LEFT(elm, field) = SPLAY_LEFT((head)->sph_root, field);\
128 SPLAY_RIGHT(elm, field) = (head)->sph_root; \
129 SPLAY_LEFT((head)->sph_root, field) = NULL; \
130 } else if (__comp > 0) { \
131 SPLAY_RIGHT(elm, field) = SPLAY_RIGHT((head)->sph_root, field);\
132 SPLAY_LEFT(elm, field) = (head)->sph_root; \
133 SPLAY_RIGHT((head)->sph_root, field) = NULL; \
134 } else \
135 return; \
136 } \
137 (head)->sph_root = (elm); \
138} \
139 \
140static __inline void \
141name##_SPLAY_REMOVE(struct name *head, struct type *elm) \
142{ \
143 struct type *__tmp; \
144 if (SPLAY_EMPTY(head)) \
145 return; \
146 name##_SPLAY(head, elm); \
147 if ((cmp)(elm, (head)->sph_root) == 0) { \
148 if (SPLAY_LEFT((head)->sph_root, field) == NULL) { \
149 (head)->sph_root = SPLAY_RIGHT((head)->sph_root, field);\
150 } else { \
151 __tmp = SPLAY_RIGHT((head)->sph_root, field); \
152 (head)->sph_root = SPLAY_LEFT((head)->sph_root, field);\
153 name##_SPLAY(head, elm); \
154 SPLAY_RIGHT((head)->sph_root, field) = __tmp; \
155 } \
156 } \
157} \
158 \
159/* Finds the node with the same key as elm */ \
160static __inline struct type * \
161name##_SPLAY_FIND(struct name *head, struct type *elm) \
162{ \
163 if (SPLAY_EMPTY(head)) \
164 return(NULL); \
165 name##_SPLAY(head, elm); \
166 if ((cmp)(elm, (head)->sph_root) == 0) \
167 return (head->sph_root); \
168 return (NULL); \
169} \
170 \
171static __inline struct type * \
172name##_SPLAY_NEXT(struct name *head, struct type *elm) \
173{ \
174 name##_SPLAY(head, elm); \
175 if (SPLAY_RIGHT(elm, field) != NULL) { \
176 elm = SPLAY_RIGHT(elm, field); \
177 while (SPLAY_LEFT(elm, field) != NULL) { \
178 elm = SPLAY_LEFT(elm, field); \
179 } \
180 } else \
181 elm = NULL; \
182 return (elm); \
183} \
184 \
185static __inline struct type * \
186name##_SPLAY_MIN_MAX(struct name *head, int val) \
187{ \
188 name##_SPLAY_MINMAX(head, val); \
189 return (SPLAY_ROOT(head)); \
190}
191
192/* Main splay operation.
193 * Moves node close to the key of elm to top
194 */
195#define SPLAY_GENERATE(name, type, field, cmp) \
196void name##_SPLAY(struct name *head, struct type *elm) \
197{ \
198 struct type __node, *__left, *__right, *__tmp; \
199 int __comp; \
200\
201 SPLAY_LEFT(&__node, field) = SPLAY_RIGHT(&__node, field) = NULL;\
202 __left = __right = &__node; \
203\
204 while ((__comp = (cmp)(elm, (head)->sph_root))) { \
205 if (__comp < 0) { \
206 __tmp = SPLAY_LEFT((head)->sph_root, field); \
207 if (__tmp == NULL) \
208 break; \
209 if ((cmp)(elm, __tmp) < 0){ \
210 SPLAY_ROTATE_RIGHT(head, __tmp, field); \
211 if (SPLAY_LEFT((head)->sph_root, field) == NULL)\
212 break; \
213 } \
214 SPLAY_LINKLEFT(head, __right, field); \
215 } else if (__comp > 0) { \
216 __tmp = SPLAY_RIGHT((head)->sph_root, field); \
217 if (__tmp == NULL) \
218 break; \
219 if ((cmp)(elm, __tmp) > 0){ \
220 SPLAY_ROTATE_LEFT(head, __tmp, field); \
221 if (SPLAY_RIGHT((head)->sph_root, field) == NULL)\
222 break; \
223 } \
224 SPLAY_LINKRIGHT(head, __left, field); \
225 } \
226 } \
227 SPLAY_ASSEMBLE(head, &__node, __left, __right, field); \
228} \
229 \
230/* Splay with either the minimum or the maximum element \
231 * Used to find minimum or maximum element in tree. \
232 */ \
233void name##_SPLAY_MINMAX(struct name *head, int __comp) \
234{ \
235 struct type __node, *__left, *__right, *__tmp; \
236\
237 SPLAY_LEFT(&__node, field) = SPLAY_RIGHT(&__node, field) = NULL;\
238 __left = __right = &__node; \
239\
240 while (1) { \
241 if (__comp < 0) { \
242 __tmp = SPLAY_LEFT((head)->sph_root, field); \
243 if (__tmp == NULL) \
244 break; \
245 if (__comp < 0){ \
246 SPLAY_ROTATE_RIGHT(head, __tmp, field); \
247 if (SPLAY_LEFT((head)->sph_root, field) == NULL)\
248 break; \
249 } \
250 SPLAY_LINKLEFT(head, __right, field); \
251 } else if (__comp > 0) { \
252 __tmp = SPLAY_RIGHT((head)->sph_root, field); \
253 if (__tmp == NULL) \
254 break; \
255 if (__comp > 0) { \
256 SPLAY_ROTATE_LEFT(head, __tmp, field); \
257 if (SPLAY_RIGHT((head)->sph_root, field) == NULL)\
258 break; \
259 } \
260 SPLAY_LINKRIGHT(head, __left, field); \
261 } \
262 } \
263 SPLAY_ASSEMBLE(head, &__node, __left, __right, field); \
264}
265
266#define SPLAY_NEGINF -1
267#define SPLAY_INF 1
268
269#define SPLAY_INSERT(name, x, y) name##_SPLAY_INSERT(x, y)
270#define SPLAY_REMOVE(name, x, y) name##_SPLAY_REMOVE(x, y)
271#define SPLAY_FIND(name, x, y) name##_SPLAY_FIND(x, y)
272#define SPLAY_NEXT(name, x, y) name##_SPLAY_NEXT(x, y)
273#define SPLAY_MIN(name, x) (SPLAY_EMPTY(x) ? NULL \
274 : name##_SPLAY_MIN_MAX(x, SPLAY_NEGINF))
275#define SPLAY_MAX(name, x) (SPLAY_EMPTY(x) ? NULL \
276 : name##_SPLAY_MIN_MAX(x, SPLAY_INF))
277
278#define SPLAY_FOREACH(x, name, head) \
279 for ((x) = SPLAY_MIN(name, head); \
280 (x) != NULL; \
281 (x) = SPLAY_NEXT(name, head, x))
282
283/* Macros that define a red-back tree */
284#define RB_HEAD(name, type) \
285struct name { \
286 struct type *rbh_root; /* root of the tree */ \
287}
288
289#define RB_INITIALIZER(root) \
290 { NULL }
291
292#define RB_INIT(root) do { \
293 (root)->rbh_root = NULL; \
294} while (0)
295
296#define RB_BLACK 0
297#define RB_RED 1
298#define RB_ENTRY(type) \
299struct { \
300 struct type *rbe_left; /* left element */ \
301 struct type *rbe_right; /* right element */ \
302 struct type *rbe_parent; /* parent element */ \
303 int rbe_color; /* node color */ \
304}
305
306#define RB_LEFT(elm, field) (elm)->field.rbe_left
307#define RB_RIGHT(elm, field) (elm)->field.rbe_right
308#define RB_PARENT(elm, field) (elm)->field.rbe_parent
309#define RB_COLOR(elm, field) (elm)->field.rbe_color
310#define RB_ROOT(head) (head)->rbh_root
311#define RB_EMPTY(head) (RB_ROOT(head) == NULL)
312
313#define RB_SET(elm, parent, field) do { \
314 RB_PARENT(elm, field) = parent; \
315 RB_LEFT(elm, field) = RB_RIGHT(elm, field) = NULL; \
316 RB_COLOR(elm, field) = RB_RED; \
317} while (0)
318
319#define RB_SET_BLACKRED(black, red, field) do { \
320 RB_COLOR(black, field) = RB_BLACK; \
321 RB_COLOR(red, field) = RB_RED; \
322} while (0)
323
324#ifndef RB_AUGMENT
325#define RB_AUGMENT(x)
326#endif
327
328#define RB_ROTATE_LEFT(head, elm, tmp, field) do { \
329 (tmp) = RB_RIGHT(elm, field); \
330 if ((RB_RIGHT(elm, field) = RB_LEFT(tmp, field))) { \
331 RB_PARENT(RB_LEFT(tmp, field), field) = (elm); \
332 } \
333 RB_AUGMENT(elm); \
334 if ((RB_PARENT(tmp, field) = RB_PARENT(elm, field))) { \
335 if ((elm) == RB_LEFT(RB_PARENT(elm, field), field)) \
336 RB_LEFT(RB_PARENT(elm, field), field) = (tmp); \
337 else \
338 RB_RIGHT(RB_PARENT(elm, field), field) = (tmp); \
339 RB_AUGMENT(RB_PARENT(elm, field)); \
340 } else \
341 (head)->rbh_root = (tmp); \
342 RB_LEFT(tmp, field) = (elm); \
343 RB_PARENT(elm, field) = (tmp); \
344 RB_AUGMENT(tmp); \
345} while (0)
346
347#define RB_ROTATE_RIGHT(head, elm, tmp, field) do { \
348 (tmp) = RB_LEFT(elm, field); \
349 if ((RB_LEFT(elm, field) = RB_RIGHT(tmp, field))) { \
350 RB_PARENT(RB_RIGHT(tmp, field), field) = (elm); \
351 } \
352 RB_AUGMENT(elm); \
353 if ((RB_PARENT(tmp, field) = RB_PARENT(elm, field))) { \
354 if ((elm) == RB_LEFT(RB_PARENT(elm, field), field)) \
355 RB_LEFT(RB_PARENT(elm, field), field) = (tmp); \
356 else \
357 RB_RIGHT(RB_PARENT(elm, field), field) = (tmp); \
358 RB_AUGMENT(RB_PARENT(elm, field)); \
359 } else \
360 (head)->rbh_root = (tmp); \
361 RB_RIGHT(tmp, field) = (elm); \
362 RB_PARENT(elm, field) = (tmp); \
363 RB_AUGMENT(tmp); \
364} while (0)
365
366/* Generates prototypes and inline functions */
367#define RB_PROTOTYPE(name, type, field, cmp) \
368void name##_RB_INSERT_COLOR(struct name *, struct type *); \
369void name##_RB_REMOVE_COLOR(struct name *, struct type *, struct type *);\
370void name##_RB_REMOVE(struct name *, struct type *); \
371struct type *name##_RB_INSERT(struct name *, struct type *); \
372struct type *name##_RB_FIND(struct name *, struct type *); \
373struct type *name##_RB_NEXT(struct name *, struct type *); \
374struct type *name##_RB_MINMAX(struct name *, int); \
375 \
376
377/* Main rb operation.
378 * Moves node close to the key of elm to top
379 */
380#define RB_GENERATE(name, type, field, cmp) \
381void \
382name##_RB_INSERT_COLOR(struct name *head, struct type *elm) \
383{ \
384 struct type *parent, *gparent, *tmp; \
385 while ((parent = RB_PARENT(elm, field)) && \
386 RB_COLOR(parent, field) == RB_RED) { \
387 gparent = RB_PARENT(parent, field); \
388 if (parent == RB_LEFT(gparent, field)) { \
389 tmp = RB_RIGHT(gparent, field); \
390 if (tmp && RB_COLOR(tmp, field) == RB_RED) { \
391 RB_COLOR(tmp, field) = RB_BLACK; \
392 RB_SET_BLACKRED(parent, gparent, field);\
393 elm = gparent; \
394 continue; \
395 } \
396 if (RB_RIGHT(parent, field) == elm) { \
397 RB_ROTATE_LEFT(head, parent, tmp, field);\
398 tmp = parent; \
399 parent = elm; \
400 elm = tmp; \
401 } \
402 RB_SET_BLACKRED(parent, gparent, field); \
403 RB_ROTATE_RIGHT(head, gparent, tmp, field); \
404 } else { \
405 tmp = RB_LEFT(gparent, field); \
406 if (tmp && RB_COLOR(tmp, field) == RB_RED) { \
407 RB_COLOR(tmp, field) = RB_BLACK; \
408 RB_SET_BLACKRED(parent, gparent, field);\
409 elm = gparent; \
410 continue; \
411 } \
412 if (RB_LEFT(parent, field) == elm) { \
413 RB_ROTATE_RIGHT(head, parent, tmp, field);\
414 tmp = parent; \
415 parent = elm; \
416 elm = tmp; \
417 } \
418 RB_SET_BLACKRED(parent, gparent, field); \
419 RB_ROTATE_LEFT(head, gparent, tmp, field); \
420 } \
421 } \
422 RB_COLOR(head->rbh_root, field) = RB_BLACK; \
423} \
424 \
425void \
426name##_RB_REMOVE_COLOR(struct name *head, struct type *parent, struct type *elm) \
427{ \
428 struct type *tmp; \
429 while ((elm == NULL || RB_COLOR(elm, field) == RB_BLACK) && \
430 elm != RB_ROOT(head)) { \
431 if (RB_LEFT(parent, field) == elm) { \
432 tmp = RB_RIGHT(parent, field); \
433 if (RB_COLOR(tmp, field) == RB_RED) { \
434 RB_SET_BLACKRED(tmp, parent, field); \
435 RB_ROTATE_LEFT(head, parent, tmp, field);\
436 tmp = RB_RIGHT(parent, field); \
437 } \
438 if ((RB_LEFT(tmp, field) == NULL || \
439 RB_COLOR(RB_LEFT(tmp, field), field) == RB_BLACK) &&\
440 (RB_RIGHT(tmp, field) == NULL || \
441 RB_COLOR(RB_RIGHT(tmp, field), field) == RB_BLACK)) {\
442 RB_COLOR(tmp, field) = RB_RED; \
443 elm = parent; \
444 parent = RB_PARENT(elm, field); \
445 } else { \
446 if (RB_RIGHT(tmp, field) == NULL || \
447 RB_COLOR(RB_RIGHT(tmp, field), field) == RB_BLACK) {\
448 struct type *oleft; \
449 if ((oleft = RB_LEFT(tmp, field)))\
450 RB_COLOR(oleft, field) = RB_BLACK;\
451 RB_COLOR(tmp, field) = RB_RED; \
452 RB_ROTATE_RIGHT(head, tmp, oleft, field);\
453 tmp = RB_RIGHT(parent, field); \
454 } \
455 RB_COLOR(tmp, field) = RB_COLOR(parent, field);\
456 RB_COLOR(parent, field) = RB_BLACK; \
457 if (RB_RIGHT(tmp, field)) \
458 RB_COLOR(RB_RIGHT(tmp, field), field) = RB_BLACK;\
459 RB_ROTATE_LEFT(head, parent, tmp, field);\
460 elm = RB_ROOT(head); \
461 break; \
462 } \
463 } else { \
464 tmp = RB_LEFT(parent, field); \
465 if (RB_COLOR(tmp, field) == RB_RED) { \
466 RB_SET_BLACKRED(tmp, parent, field); \
467 RB_ROTATE_RIGHT(head, parent, tmp, field);\
468 tmp = RB_LEFT(parent, field); \
469 } \
470 if ((RB_LEFT(tmp, field) == NULL || \
471 RB_COLOR(RB_LEFT(tmp, field), field) == RB_BLACK) &&\
472 (RB_RIGHT(tmp, field) == NULL || \
473 RB_COLOR(RB_RIGHT(tmp, field), field) == RB_BLACK)) {\
474 RB_COLOR(tmp, field) = RB_RED; \
475 elm = parent; \
476 parent = RB_PARENT(elm, field); \
477 } else { \
478 if (RB_LEFT(tmp, field) == NULL || \
479 RB_COLOR(RB_LEFT(tmp, field), field) == RB_BLACK) {\
480 struct type *oright; \
481 if ((oright = RB_RIGHT(tmp, field)))\
482 RB_COLOR(oright, field) = RB_BLACK;\
483 RB_COLOR(tmp, field) = RB_RED; \
484 RB_ROTATE_LEFT(head, tmp, oright, field);\
485 tmp = RB_LEFT(parent, field); \
486 } \
487 RB_COLOR(tmp, field) = RB_COLOR(parent, field);\
488 RB_COLOR(parent, field) = RB_BLACK; \
489 if (RB_LEFT(tmp, field)) \
490 RB_COLOR(RB_LEFT(tmp, field), field) = RB_BLACK;\
491 RB_ROTATE_RIGHT(head, parent, tmp, field);\
492 elm = RB_ROOT(head); \
493 break; \
494 } \
495 } \
496 } \
497 if (elm) \
498 RB_COLOR(elm, field) = RB_BLACK; \
499} \
500 \
501void \
502name##_RB_REMOVE(struct name *head, struct type *elm) \
503{ \
504 struct type *child, *parent; \
505 int color; \
506 if (RB_LEFT(elm, field) == NULL) \
507 child = RB_RIGHT(elm, field); \
508 else if (RB_RIGHT(elm, field) == NULL) \
509 child = RB_LEFT(elm, field); \
510 else { \
511 struct type *old = elm, *left; \
512 elm = RB_RIGHT(elm, field); \
513 while ((left = RB_LEFT(elm, field))) \
514 elm = left; \
515 child = RB_RIGHT(elm, field); \
516 parent = RB_PARENT(elm, field); \
517 color = RB_COLOR(elm, field); \
518 if (child) \
519 RB_PARENT(child, field) = parent; \
520 if (parent) { \
521 if (RB_LEFT(parent, field) == elm) \
522 RB_LEFT(parent, field) = child; \
523 else \
524 RB_RIGHT(parent, field) = child; \
525 RB_AUGMENT(parent); \
526 } else \
527 RB_ROOT(head) = child; \
528 if (RB_PARENT(elm, field) == old) \
529 parent = elm; \
530 (elm)->field = (old)->field; \
531 if (RB_PARENT(old, field)) { \
532 if (RB_LEFT(RB_PARENT(old, field), field) == old)\
533 RB_LEFT(RB_PARENT(old, field), field) = elm;\
534 else \
535 RB_RIGHT(RB_PARENT(old, field), field) = elm;\
536 RB_AUGMENT(RB_PARENT(old, field)); \
537 } else \
538 RB_ROOT(head) = elm; \
539 RB_PARENT(RB_LEFT(old, field), field) = elm; \
540 if (RB_RIGHT(old, field)) \
541 RB_PARENT(RB_RIGHT(old, field), field) = elm; \
542 if (parent) { \
543 left = parent; \
544 do { \
545 RB_AUGMENT(left); \
546 } while ((left = RB_PARENT(left, field))); \
547 } \
548 goto color; \
549 } \
550 parent = RB_PARENT(elm, field); \
551 color = RB_COLOR(elm, field); \
552 if (child) \
553 RB_PARENT(child, field) = parent; \
554 if (parent) { \
555 if (RB_LEFT(parent, field) == elm) \
556 RB_LEFT(parent, field) = child; \
557 else \
558 RB_RIGHT(parent, field) = child; \
559 RB_AUGMENT(parent); \
560 } else \
561 RB_ROOT(head) = child; \
562color: \
563 if (color == RB_BLACK) \
564 name##_RB_REMOVE_COLOR(head, parent, child); \
565} \
566 \
567/* Inserts a node into the RB tree */ \
568struct type * \
569name##_RB_INSERT(struct name *head, struct type *elm) \
570{ \
571 struct type *tmp; \
572 struct type *parent = NULL; \
573 int comp = 0; \
574 tmp = RB_ROOT(head); \
575 while (tmp) { \
576 parent = tmp; \
577 comp = (cmp)(elm, parent); \
578 if (comp < 0) \
579 tmp = RB_LEFT(tmp, field); \
580 else if (comp > 0) \
581 tmp = RB_RIGHT(tmp, field); \
582 else \
583 return (tmp); \
584 } \
585 RB_SET(elm, parent, field); \
586 if (parent != NULL) { \
587 if (comp < 0) \
588 RB_LEFT(parent, field) = elm; \
589 else \
590 RB_RIGHT(parent, field) = elm; \
591 RB_AUGMENT(parent); \
592 } else \
593 RB_ROOT(head) = elm; \
594 name##_RB_INSERT_COLOR(head, elm); \
595 return (NULL); \
596} \
597 \
598/* Finds the node with the same key as elm */ \
599struct type * \
600name##_RB_FIND(struct name *head, struct type *elm) \
601{ \
602 struct type *tmp = RB_ROOT(head); \
603 int comp; \
604 while (tmp) { \
605 comp = cmp(elm, tmp); \
606 if (comp < 0) \
607 tmp = RB_LEFT(tmp, field); \
608 else if (comp > 0) \
609 tmp = RB_RIGHT(tmp, field); \
610 else \
611 return (tmp); \
612 } \
613 return (NULL); \
614} \
615 \
616struct type * \
617name##_RB_NEXT(struct name *head, struct type *elm) \
618{ \
619 if (RB_RIGHT(elm, field)) { \
620 elm = RB_RIGHT(elm, field); \
621 while (RB_LEFT(elm, field)) \
622 elm = RB_LEFT(elm, field); \
623 } else { \
624 if (RB_PARENT(elm, field) && \
625 (elm == RB_LEFT(RB_PARENT(elm, field), field))) \
626 elm = RB_PARENT(elm, field); \
627 else { \
628 while (RB_PARENT(elm, field) && \
629 (elm == RB_RIGHT(RB_PARENT(elm, field), field)))\
630 elm = RB_PARENT(elm, field); \
631 elm = RB_PARENT(elm, field); \
632 } \
633 } \
634 return (elm); \
635} \
636 \
637struct type * \
638name##_RB_MINMAX(struct name *head, int val) \
639{ \
640 struct type *tmp = RB_ROOT(head); \
641 struct type *parent = NULL; \
642 while (tmp) { \
643 parent = tmp; \
644 if (val < 0) \
645 tmp = RB_LEFT(tmp, field); \
646 else \
647 tmp = RB_RIGHT(tmp, field); \
648 } \
649 return (parent); \
650}
651
652#define RB_NEGINF -1
653#define RB_INF 1
654
655#define RB_INSERT(name, x, y) name##_RB_INSERT(x, y)
656#define RB_REMOVE(name, x, y) name##_RB_REMOVE(x, y)
657#define RB_FIND(name, x, y) name##_RB_FIND(x, y)
658#define RB_NEXT(name, x, y) name##_RB_NEXT(x, y)
659#define RB_MIN(name, x) name##_RB_MINMAX(x, RB_NEGINF)
660#define RB_MAX(name, x) name##_RB_MINMAX(x, RB_INF)
661
662#define RB_FOREACH(x, name, head) \
663 for ((x) = RB_MIN(name, head); \
664 (x) != NULL; \
665 (x) = name##_RB_NEXT(head, x))
666
667#endif /* _SYS_TREE_H_ */
diff --git a/packet.c b/packet.c
index bd347ef0f..dbd3791d2 100644
--- a/packet.c
+++ b/packet.c
@@ -77,6 +77,8 @@ RCSID("$OpenBSD: packet.c,v 1.97 2002/07/04 08:12:15 deraadt Exp $");
77static int connection_in = -1; 77static int connection_in = -1;
78static int connection_out = -1; 78static int connection_out = -1;
79 79
80static int setup_timeout = -1;
81
80/* Protocol flags for the remote side. */ 82/* Protocol flags for the remote side. */
81static u_int remote_protocol_flags = 0; 83static u_int remote_protocol_flags = 0;
82 84
@@ -131,7 +133,7 @@ static u_char extra_pad = 0;
131 * packet_set_encryption_key is called. 133 * packet_set_encryption_key is called.
132 */ 134 */
133void 135void
134packet_set_connection(int fd_in, int fd_out) 136packet_set_connection(int fd_in, int fd_out, int new_setup_timeout)
135{ 137{
136 Cipher *none = cipher_by_name("none"); 138 Cipher *none = cipher_by_name("none");
137 139
@@ -139,6 +141,7 @@ packet_set_connection(int fd_in, int fd_out)
139 fatal("packet_set_connection: cannot load cipher 'none'"); 141 fatal("packet_set_connection: cannot load cipher 'none'");
140 connection_in = fd_in; 142 connection_in = fd_in;
141 connection_out = fd_out; 143 connection_out = fd_out;
144 setup_timeout = new_setup_timeout;
142 cipher_init(&send_context, none, "", 0, NULL, 0, CIPHER_ENCRYPT); 145 cipher_init(&send_context, none, "", 0, NULL, 0, CIPHER_ENCRYPT);
143 cipher_init(&receive_context, none, "", 0, NULL, 0, CIPHER_DECRYPT); 146 cipher_init(&receive_context, none, "", 0, NULL, 0, CIPHER_DECRYPT);
144 newkeys[MODE_IN] = newkeys[MODE_OUT] = NULL; 147 newkeys[MODE_IN] = newkeys[MODE_OUT] = NULL;
@@ -745,6 +748,7 @@ packet_read_seqnr(u_int32_t *seqnr_p)
745 int type, len; 748 int type, len;
746 fd_set *setp; 749 fd_set *setp;
747 char buf[8192]; 750 char buf[8192];
751 struct timeval tv, *tvp;
748 DBG(debug("packet_read()")); 752 DBG(debug("packet_read()"));
749 753
750 setp = (fd_set *)xmalloc(howmany(connection_in+1, NFDBITS) * 754 setp = (fd_set *)xmalloc(howmany(connection_in+1, NFDBITS) *
@@ -776,11 +780,21 @@ packet_read_seqnr(u_int32_t *seqnr_p)
776 sizeof(fd_mask)); 780 sizeof(fd_mask));
777 FD_SET(connection_in, setp); 781 FD_SET(connection_in, setp);
778 782
783 if (setup_timeout > 0) {
784 tvp = &tv;
785 tv.tv_sec = setup_timeout;
786 tv.tv_usec = 0;
787 } else
788 tvp = 0;
789
779 /* Wait for some data to arrive. */ 790 /* Wait for some data to arrive. */
780 while (select(connection_in + 1, setp, NULL, NULL, NULL) == -1 && 791 while (select(connection_in + 1, setp, NULL, NULL, tvp) == -1 &&
781 (errno == EAGAIN || errno == EINTR)) 792 (errno == EAGAIN || errno == EINTR))
782 ; 793 ;
783 794
795 if (!FD_ISSET(connection_in, setp))
796 fatal("packet_read: Setup timeout expired, giving up");
797
784 /* Read data from the socket. */ 798 /* Read data from the socket. */
785 len = read(connection_in, buf, sizeof(buf)); 799 len = read(connection_in, buf, sizeof(buf));
786 if (len == 0) { 800 if (len == 0) {
diff --git a/packet.h b/packet.h
index 3ff75593a..483472d50 100644
--- a/packet.h
+++ b/packet.h
@@ -18,7 +18,7 @@
18 18
19#include <openssl/bn.h> 19#include <openssl/bn.h>
20 20
21void packet_set_connection(int, int); 21void packet_set_connection(int, int, int);
22void packet_set_nonblocking(void); 22void packet_set_nonblocking(void);
23int packet_get_connection_in(void); 23int packet_get_connection_in(void);
24int packet_get_connection_out(void); 24int packet_get_connection_out(void);
diff --git a/readconf.c b/readconf.c
index bae06be12..097d4082d 100644
--- a/readconf.c
+++ b/readconf.c
@@ -81,6 +81,8 @@ RCSID("$OpenBSD: readconf.c,v 1.100 2002/06/19 00:27:55 deraadt Exp $");
81 RhostsRSAAuthentication yes 81 RhostsRSAAuthentication yes
82 StrictHostKeyChecking yes 82 StrictHostKeyChecking yes
83 KeepAlives no 83 KeepAlives no
84 ProtocolKeepAlives 0
85 SetupTimeOut 0
84 IdentityFile ~/.ssh/identity 86 IdentityFile ~/.ssh/identity
85 Port 22 87 Port 22
86 EscapeChar ~ 88 EscapeChar ~
@@ -114,6 +116,7 @@ typedef enum {
114 oDynamicForward, oPreferredAuthentications, oHostbasedAuthentication, 116 oDynamicForward, oPreferredAuthentications, oHostbasedAuthentication,
115 oHostKeyAlgorithms, oBindAddress, oSmartcardDevice, 117 oHostKeyAlgorithms, oBindAddress, oSmartcardDevice,
116 oClearAllForwardings, oNoHostAuthenticationForLocalhost, 118 oClearAllForwardings, oNoHostAuthenticationForLocalhost,
119 oProtocolKeepAlives, oSetupTimeOut,
117 oDeprecated 120 oDeprecated
118} OpCodes; 121} OpCodes;
119 122
@@ -186,6 +189,8 @@ static struct {
186 { "smartcarddevice", oSmartcardDevice }, 189 { "smartcarddevice", oSmartcardDevice },
187 { "clearallforwardings", oClearAllForwardings }, 190 { "clearallforwardings", oClearAllForwardings },
188 { "nohostauthenticationforlocalhost", oNoHostAuthenticationForLocalhost }, 191 { "nohostauthenticationforlocalhost", oNoHostAuthenticationForLocalhost },
192 { "protocolkeepalives", oProtocolKeepAlives },
193 { "setuptimeout", oSetupTimeOut },
189 { NULL, oBadOption } 194 { NULL, oBadOption }
190}; 195};
191 196
@@ -411,6 +416,14 @@ parse_flag:
411 intptr = &options->no_host_authentication_for_localhost; 416 intptr = &options->no_host_authentication_for_localhost;
412 goto parse_flag; 417 goto parse_flag;
413 418
419 case oProtocolKeepAlives:
420 intptr = &options->protocolkeepalives;
421 goto parse_int;
422
423 case oSetupTimeOut:
424 intptr = &options->setuptimeout;
425 goto parse_int;
426
414 case oNumberOfPasswordPrompts: 427 case oNumberOfPasswordPrompts:
415 intptr = &options->number_of_password_prompts; 428 intptr = &options->number_of_password_prompts;
416 goto parse_int; 429 goto parse_int;
@@ -766,6 +779,8 @@ initialize_options(Options * options)
766 options->strict_host_key_checking = -1; 779 options->strict_host_key_checking = -1;
767 options->compression = -1; 780 options->compression = -1;
768 options->keepalives = -1; 781 options->keepalives = -1;
782 options->protocolkeepalives = -1;
783 options->setuptimeout = -1;
769 options->compression_level = -1; 784 options->compression_level = -1;
770 options->port = -1; 785 options->port = -1;
771 options->connection_attempts = -1; 786 options->connection_attempts = -1;
@@ -853,6 +868,14 @@ fill_default_options(Options * options)
853 options->compression = 0; 868 options->compression = 0;
854 if (options->keepalives == -1) 869 if (options->keepalives == -1)
855 options->keepalives = 1; 870 options->keepalives = 1;
871 if (options->protocolkeepalives == -1){
872 if (options->batch_mode == 1) /*in batch mode, default is 5mins */
873 options->protocolkeepalives = 300;
874 else options->protocolkeepalives = 0;}
875 if (options->setuptimeout == -1){
876 if (options->batch_mode == 1) /*in batch mode, default is 5mins */
877 options->setuptimeout = 300;
878 else options->setuptimeout = 0;}
856 if (options->compression_level == -1) 879 if (options->compression_level == -1)
857 options->compression_level = 6; 880 options->compression_level = 6;
858 if (options->port == -1) 881 if (options->port == -1)
diff --git a/readconf.h b/readconf.h
index 92af535d0..9457dfe86 100644
--- a/readconf.h
+++ b/readconf.h
@@ -61,6 +61,8 @@ typedef struct {
61 int compression_level; /* Compression level 1 (fast) to 9 61 int compression_level; /* Compression level 1 (fast) to 9
62 * (best). */ 62 * (best). */
63 int keepalives; /* Set SO_KEEPALIVE. */ 63 int keepalives; /* Set SO_KEEPALIVE. */
64 int protocolkeepalives; /* ssh-level keepalives */
65 int setuptimeout; /* timeout in the protocol banner exchange */
64 LogLevel log_level; /* Level for logging. */ 66 LogLevel log_level; /* Level for logging. */
65 67
66 int port; /* Port to connect. */ 68 int port; /* Port to connect. */
diff --git a/scp.1 b/scp.1
index 396ab64be..cf2f421e6 100644
--- a/scp.1
+++ b/scp.1
@@ -19,7 +19,7 @@
19.Nd secure copy (remote file copy program) 19.Nd secure copy (remote file copy program)
20.Sh SYNOPSIS 20.Sh SYNOPSIS
21.Nm scp 21.Nm scp
22.Op Fl pqrvBC46 22.Op Fl pqrvBC1246
23.Op Fl F Ar ssh_config 23.Op Fl F Ar ssh_config
24.Op Fl S Ar program 24.Op Fl S Ar program
25.Op Fl P Ar port 25.Op Fl P Ar port
@@ -125,6 +125,14 @@ for which there is no separate
125command-line flag. For example, forcing the use of protocol 125command-line flag. For example, forcing the use of protocol
126version 1 is specified using 126version 1 is specified using
127.Ic scp -oProtocol=1 . 127.Ic scp -oProtocol=1 .
128.It Fl 1
129Forces
130.Nm
131to try protocol version 1 only.
132.It Fl 2
133Forces
134.Nm
135to try protocol version 2 only.
128.It Fl 4 136.It Fl 4
129Forces 137Forces
130.Nm 138.Nm
diff --git a/scp.c b/scp.c
index 921ffeedc..10235b1be 100644
--- a/scp.c
+++ b/scp.c
@@ -233,9 +233,11 @@ main(argc, argv)
233 addargs(&args, "-oClearAllForwardings yes"); 233 addargs(&args, "-oClearAllForwardings yes");
234 234
235 fflag = tflag = 0; 235 fflag = tflag = 0;
236 while ((ch = getopt(argc, argv, "dfprtvBCc:i:P:q46S:o:F:")) != -1) 236 while ((ch = getopt(argc, argv, "dfprtvBCc:i:P:q1246S:o:F:")) != -1)
237 switch (ch) { 237 switch (ch) {
238 /* User-visible flags. */ 238 /* User-visible flags. */
239 case '1':
240 case '2':
239 case '4': 241 case '4':
240 case '6': 242 case '6':
241 case 'C': 243 case 'C':
diff --git a/serverloop.c b/serverloop.c
index 58e20dfb9..e66d529e9 100644
--- a/serverloop.c
+++ b/serverloop.c
@@ -610,7 +610,7 @@ server_loop(pid_t pid, int fdin_arg, int fdout_arg, int fderr_arg)
610 if (!channel_still_open()) 610 if (!channel_still_open())
611 break; 611 break;
612 if (!waiting_termination) { 612 if (!waiting_termination) {
613 const char *s = "Waiting for forwarded connections to terminate...\r\n"; 613 const char *s = "Waiting for forwarded connections to terminate... (press ~& to background)\r\n";
614 char *cp; 614 char *cp;
615 waiting_termination = 1; 615 waiting_termination = 1;
616 buffer_append(&stderr_buffer, s, strlen(s)); 616 buffer_append(&stderr_buffer, s, strlen(s));
diff --git a/ssh-keyscan.c b/ssh-keyscan.c
index 8c14d6d26..788953705 100644
--- a/ssh-keyscan.c
+++ b/ssh-keyscan.c
@@ -349,7 +349,7 @@ keygrab_ssh2(con *c)
349{ 349{
350 int j; 350 int j;
351 351
352 packet_set_connection(c->c_fd, c->c_fd); 352 packet_set_connection(c->c_fd, c->c_fd, timeout);
353 enable_compat20(); 353 enable_compat20();
354 myproposal[PROPOSAL_SERVER_HOST_KEY_ALGS] = c->c_keytype == KT_DSA? 354 myproposal[PROPOSAL_SERVER_HOST_KEY_ALGS] = c->c_keytype == KT_DSA?
355 "ssh-dss": "ssh-rsa"; 355 "ssh-dss": "ssh-rsa";
diff --git a/ssh.1 b/ssh.1
index 27808b1f3..d8999da48 100644
--- a/ssh.1
+++ b/ssh.1
@@ -533,6 +533,10 @@ per-host basis in the configuration file.
533.It Fl q 533.It Fl q
534Quiet mode. 534Quiet mode.
535Causes all warning and diagnostic messages to be suppressed. 535Causes all warning and diagnostic messages to be suppressed.
536Only fatal errors are displayed.
537If a second
538.Fl q
539is given then even fatal errors are suppressed.
536.It Fl s 540.It Fl s
537May be used to request invocation of a subsystem on the remote system. Subsystems are a feature of the SSH2 protocol which facilitate the use 541May be used to request invocation of a subsystem on the remote system. Subsystems are a feature of the SSH2 protocol which facilitate the use
538of SSH as a secure transport for other applications (eg. sftp). The 542of SSH as a secure transport for other applications (eg. sftp). The
diff --git a/ssh.c b/ssh.c
index 2c589de82..24e541bc6 100644
--- a/ssh.c
+++ b/ssh.c
@@ -366,7 +366,12 @@ again:
366 exit(0); 366 exit(0);
367 break; 367 break;
368 case 'q': 368 case 'q':
369 options.log_level = SYSLOG_LEVEL_QUIET; 369 if (options.log_level == SYSLOG_LEVEL_QUIET) {
370 options.log_level = SYSLOG_LEVEL_SILENT;
371 }
372 else if (options.log_level != SYSLOG_LEVEL_SILENT) {
373 options.log_level = SYSLOG_LEVEL_QUIET;
374 }
370 break; 375 break;
371 case 'e': 376 case 'e':
372 if (optarg[0] == '^' && optarg[2] == 0 && 377 if (optarg[0] == '^' && optarg[2] == 0 &&
diff --git a/ssh_config.5 b/ssh_config.5
index ac05a0cea..67fa0845c 100644
--- a/ssh_config.5
+++ b/ssh_config.5
@@ -126,8 +126,15 @@ This option applies to protocol version 1 only.
126If set to 126If set to
127.Dq yes , 127.Dq yes ,
128passphrase/password querying will be disabled. 128passphrase/password querying will be disabled.
129In addition, the
130.Cm ProtocolKeepAlives
131and
132.Cm SetupTimeOut
133options will both be set to 300 seconds by default.
129This option is useful in scripts and other batch jobs where no user 134This option is useful in scripts and other batch jobs where no user
130is present to supply the password. 135is present to supply the password,
136and where it is desirable to detect a
137broken network swiftly.
131The argument must be 138The argument must be
132.Dq yes 139.Dq yes
133or 140or
@@ -354,7 +361,12 @@ identities will be tried in sequence.
354Specifies whether the system should send TCP keepalive messages to the 361Specifies whether the system should send TCP keepalive messages to the
355other side. 362other side.
356If they are sent, death of the connection or crash of one 363If they are sent, death of the connection or crash of one
357of the machines will be properly noticed. 364of the machines will be properly noticed. This option only uses TCP
365keepalives (as opposed to using ssh level keepalives), so takes a long
366time to notice when the connection dies. As such, you probably want
367the
368.Cm ProtocolKeepAlives
369option as well.
358However, this means that 370However, this means that
359connections will die if the route is down temporarily, and some people 371connections will die if the route is down temporarily, and some people
360find it annoying. 372find it annoying.
@@ -453,6 +465,13 @@ This means that
453.Nm ssh 465.Nm ssh
454tries version 2 and falls back to version 1 466tries version 2 and falls back to version 1
455if version 2 is not available. 467if version 2 is not available.
468.It Cm ProtocolKeepAlives
469Specifies the interval in seconds at which IGNORE packets will be sent to
470the server during idle periods. Use this option in scripts to detect
471when the network fails. The argument must be an integer. The default
472is 0 (disabled), or 300 if the
473.Cm BatchMode
474option is set.
456.It Cm ProxyCommand 475.It Cm ProxyCommand
457Specifies the command to use to connect to the server. 476Specifies the command to use to connect to the server.
458The command 477The command
@@ -541,6 +560,19 @@ running.
541The default is 560The default is
542.Dq yes . 561.Dq yes .
543Note that this option applies to protocol version 1 only. 562Note that this option applies to protocol version 1 only.
563.It Cm SetupTimeOut
564Normally,
565.Nm ssh
566blocks indefinitely whilst waiting to receive the ssh banner and other
567setup protocol from the server, during the session setup. This can cause
568.Nm ssh
569to hang under certain circumstances. If this option is set,
570.Nm ssh
571will give up if no data from the server is received for the specified
572number of seconds. The argument must be an integer. The default is 0
573(disabled), or 300 if
574.Cm BatchMode
575is set.
544.It Cm SmartcardDevice 576.It Cm SmartcardDevice
545Specifies which smartcard device to use. The argument to this keyword is 577Specifies which smartcard device to use. The argument to this keyword is
546the device 578the device
diff --git a/sshconnect.c b/sshconnect.c
index 776d72065..95e0f6d77 100644
--- a/sshconnect.c
+++ b/sshconnect.c
@@ -47,6 +47,13 @@ extern pid_t proxy_command_pid;
47#define INET6_ADDRSTRLEN 46 47#define INET6_ADDRSTRLEN 46
48#endif 48#endif
49 49
50static sig_atomic_t banner_timedout;
51
52static void banner_alarm_catch (int signum)
53{
54 banner_timedout = 1;
55}
56
50static int show_other_keys(const char *, Key *); 57static int show_other_keys(const char *, Key *);
51 58
52/* 59/*
@@ -153,7 +160,7 @@ ssh_proxy_connect(const char *host, u_short port, const char *proxy_command)
153 buffer_free(&command); 160 buffer_free(&command);
154 161
155 /* Set the connection file descriptors. */ 162 /* Set the connection file descriptors. */
156 packet_set_connection(pout[0], pin[1]); 163 packet_set_connection(pout[0], pin[1], options.setuptimeout);
157 164
158 /* Indicate OK return */ 165 /* Indicate OK return */
159 return 0; 166 return 0;
@@ -346,7 +353,7 @@ ssh_connect(const char *host, struct sockaddr_storage * hostaddr,
346 error("setsockopt SO_KEEPALIVE: %.100s", strerror(errno)); 353 error("setsockopt SO_KEEPALIVE: %.100s", strerror(errno));
347 354
348 /* Set the connection. */ 355 /* Set the connection. */
349 packet_set_connection(sock, sock); 356 packet_set_connection(sock, sock, options.setuptimeout);
350 357
351 return 0; 358 return 0;
352} 359}
@@ -363,24 +370,41 @@ ssh_exchange_identification(void)
363 int connection_in = packet_get_connection_in(); 370 int connection_in = packet_get_connection_in();
364 int connection_out = packet_get_connection_out(); 371 int connection_out = packet_get_connection_out();
365 int minor1 = PROTOCOL_MINOR_1; 372 int minor1 = PROTOCOL_MINOR_1;
373 struct sigaction sa, osa;
366 374
367 /* Read other side\'s version identification. */ 375 /* Read other side's version identification.
376 * If SetupTimeOut has been set, give up after
377 * the specified amount of time
378 */
379 if(options.setuptimeout > 0){
380 memset(&sa, 0, sizeof(sa));
381 sa.sa_handler = banner_alarm_catch;
382 /*throw away any pending alarms, since we'd block otherwise*/
383 alarm(0);
384 sigaction(SIGALRM, &sa, &osa);
385 alarm(options.setuptimeout);
386 }
368 for (;;) { 387 for (;;) {
369 for (i = 0; i < sizeof(buf) - 1; i++) { 388 for (i = 0; i < sizeof(buf) - 1; ) {
370 int len = atomicio(read, connection_in, &buf[i], 1); 389 int len = read(connection_in, &buf[i], 1);
371 if (len < 0) 390 if (banner_timedout)
391 fatal("ssh_exchange_identification: Timeout waiting for version information.");
392 if (len < 0) {
393 if (errno == EINTR)
394 continue;
372 fatal("ssh_exchange_identification: read: %.100s", strerror(errno)); 395 fatal("ssh_exchange_identification: read: %.100s", strerror(errno));
396 }
373 if (len != 1) 397 if (len != 1)
374 fatal("ssh_exchange_identification: Connection closed by remote host"); 398 fatal("ssh_exchange_identification: Connection closed by remote host");
375 if (buf[i] == '\r') {
376 buf[i] = '\n';
377 buf[i + 1] = 0;
378 continue; /**XXX wait for \n */
379 }
380 if (buf[i] == '\n') { 399 if (buf[i] == '\n') {
381 buf[i + 1] = 0; 400 buf[i + 1] = 0;
382 break; 401 break;
383 } 402 }
403 if (buf[i] == '\r') {
404 buf[i] = '\n';
405 buf[i + 1] = 0; /**XXX wait for \n */
406 }
407 i++;
384 } 408 }
385 buf[sizeof(buf) - 1] = 0; 409 buf[sizeof(buf) - 1] = 0;
386 if (strncmp(buf, "SSH-", 4) == 0) 410 if (strncmp(buf, "SSH-", 4) == 0)
@@ -389,6 +413,14 @@ ssh_exchange_identification(void)
389 } 413 }
390 server_version_string = xstrdup(buf); 414 server_version_string = xstrdup(buf);
391 415
416 /* If SetupTimeOut has been set, unset the alarm now, and
417 * put the correct handler for SIGALRM back.
418 */
419 if (options.setuptimeout > 0) {
420 alarm(0);
421 sigaction(SIGALRM,&osa,NULL);
422 }
423
392 /* 424 /*
393 * Check that the versions match. In future this might accept 425 * Check that the versions match. In future this might accept
394 * several versions and set appropriate flags to handle them. 426 * several versions and set appropriate flags to handle them.
diff --git a/sshd.8 b/sshd.8
index 22ab70e00..1605922fb 100644
--- a/sshd.8
+++ b/sshd.8
@@ -256,9 +256,12 @@ Ports specified in the configuration file are ignored when a
256command-line port is specified. 256command-line port is specified.
257.It Fl q 257.It Fl q
258Quiet mode. 258Quiet mode.
259Nothing is sent to the system log. 259Only fatal errors are sent to the system log.
260Normally the beginning, 260Normally the beginning,
261authentication, and termination of each connection is logged. 261authentication, and termination of each connection is logged.
262If a second
263.Fl q
264is given then nothing is sent to the system log.
262.It Fl t 265.It Fl t
263Test mode. 266Test mode.
264Only check the validity of the configuration file and sanity of the keys. 267Only check the validity of the configuration file and sanity of the keys.
diff --git a/sshd.c b/sshd.c
index f8bd7ce54..35685643f 100644
--- a/sshd.c
+++ b/sshd.c
@@ -870,7 +870,12 @@ main(int ac, char **av)
870 /* ignored */ 870 /* ignored */
871 break; 871 break;
872 case 'q': 872 case 'q':
873 options.log_level = SYSLOG_LEVEL_QUIET; 873 if (options.log_level == SYSLOG_LEVEL_QUIET) {
874 options.log_level = SYSLOG_LEVEL_SILENT;
875 }
876 else if (options.log_level != SYSLOG_LEVEL_SILENT) {
877 options.log_level = SYSLOG_LEVEL_QUIET;
878 }
874 break; 879 break;
875 case 'b': 880 case 'b':
876 options.server_key_bits = atoi(optarg); 881 options.server_key_bits = atoi(optarg);
@@ -1168,7 +1173,7 @@ main(int ac, char **av)
1168 1173
1169 /* Bind the socket to the desired port. */ 1174 /* Bind the socket to the desired port. */
1170 if (bind(listen_sock, ai->ai_addr, ai->ai_addrlen) < 0) { 1175 if (bind(listen_sock, ai->ai_addr, ai->ai_addrlen) < 0) {
1171 if (!ai->ai_next) 1176 if (!num_listen_socks && !ai->ai_next)
1172 error("Bind to port %s on %s failed: %.200s.", 1177 error("Bind to port %s on %s failed: %.200s.",
1173 strport, ntop, strerror(errno)); 1178 strport, ntop, strerror(errno));
1174 close(listen_sock); 1179 close(listen_sock);
@@ -1421,7 +1426,7 @@ main(int ac, char **av)
1421 * Register our connection. This turns encryption off because we do 1426 * Register our connection. This turns encryption off because we do
1422 * not have a key. 1427 * not have a key.
1423 */ 1428 */
1424 packet_set_connection(sock_in, sock_out); 1429 packet_set_connection(sock_in, sock_out, -1);
1425 1430
1426 remote_port = get_remote_port(); 1431 remote_port = get_remote_port();
1427 remote_ip = get_remote_ipaddr(); 1432 remote_ip = get_remote_ipaddr();