- Automatically correct paths in manpages and configuration files. Patch
and script from Andre Lucas <andre.lucas@dial.pipex.com>
- Removed credits from README to CREDITS file, updated.
diff --git a/CREDITS b/CREDITS
new file mode 100644
index 0000000..e505c50
--- /dev/null
+++ b/CREDITS
@@ -0,0 +1,27 @@
+Tatu Ylonen <ylo@cs.hut.fi> - Creator of SSH
+
+Aaron Campbell, Bob Beck, Markus Friedl, Niels Provos,
+Theo de Raadt, and Dug Song - Creators of OpenSSH
+
+Andre Lucas <andre.lucas@dial.pipex.com> - Many portability fixes
+Ben Taylor <bent@clark.net> - Solaris debugging and fixes
+Chip Salzenberg <chip@valinux.com> - Assorted patches
+Chris Saia <csaia@wtower.com> - SuSE packaging
+"Chris, the Young One" <cky@pobox.com> - Password auth fixes
+Chun-Chung Chen <cjj@u.washington.edu> - RPM fixes
+Dan Brosemer <odin@linuxfreak.com> - Autoconf support, build fixes
+David Agraz <dagraz@jahoopa.com> - Build fixes
+David Rankin <drankin@bohemians.lexington.ky.us> - libwrap fixes
+Jani Hakala <jahakala@cc.jyu.fi> - Patches
+Jim Knoble <jmknoble@pobox.com> - Many patches
+'jonchen' - the original author of PAM support of SSH
+Juergen Keil <jk@tools.de> - scp bugfixing
+Kees Cook <cook@cpoint.net> - scp fixes
+Marc G. Fournier <marc.fournier@acadiau.ca> - Solaris patches
+Nalin Dahyabhai <nalin.dahyabhai@pobox.com> - PAM environment patch
+Niels Kristian Bech Jensen <nkbj@image.dk> - Assorted patches
+Peter Kocks <peter.kocks@baygate.com> - Makefile fixes
+Phil Hands <phil@hands.com> - Debian scripts, assorted patches
+Thomas Neumann <tom@smart.ruhr.de> - Shadow passwords
+Tor-Ake Fransson <torake@hotmail.com> - AIX support
+Tudor Bosman <tudorb@jm.nu> - MD5 password support
diff --git a/ChangeLog b/ChangeLog
index f4c89af..46765e4 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,8 @@
+19991227
+ - Automatically correct paths in manpages and configuration files. Patch
+ and script from Andre Lucas <andre.lucas@dial.pipex.com>
+ - Removed credits from README to CREDITS file, updated.
+
19991226
- Enabled utmpx support by default for Solaris
- Cleanup sshd.c PAM a little more
diff --git a/Makefile.in b/Makefile.in
index a13c551..f4e3ff4 100644
--- a/Makefile.in
+++ b/Makefile.in
@@ -6,9 +6,14 @@
mandir=@mandir@
sysconfdir=@sysconfdir@
+srcdir = @srcdir@
+top_srcdir = @top_srcdir@
+VPATH=@srcdir@
+
SSH_PROGRAM=@bindir@/ssh
ASKPASS_LOCATION=@libexecdir@/ssh
ASKPASS_PROGRAM=$(ASKPASS_LOCATION)/ssh-askpass
+FIXPATHS=@top_srcdir@/fixpaths
CC=@CC@
PATHS=-DETCDIR=\"$(sysconfdir)\" -DSSH_PROGRAM=\"$(SSH_PROGRAM)\" -DSSH_ASKPASS_DEFAULT=\"$(ASKPASS_PROGRAM)\"
@@ -43,7 +48,7 @@
radix.o readpass.o rsa.o tildexpand.o ttymodes.o uidswap.o \
xmalloc.o
-all: $(OBJS) $(TARGETS)
+all: $(OBJS) $(TARGETS) manpages
$(OBJS): config.h
@@ -80,7 +85,12 @@
$(CC) $(CFLAGS) $(GNOME_CFLAGS) -o $@ gnome-ssh-askpass.c $(GNOME_LIBS)
clean:
- rm -f *.o core $(TARGETS) config.status config.cache config.log
+ rm -f $(OBJS) $(TARGETS) config.status config.cache config.log core \
+ *.1 *.8 sshd_config ssh_config
+
+manpages:
+ $(FIXPATHS) -Dsysconfdir=${sysconfdir} $(srcdir)/*.1.in $(srcdir)/*.8.in \
+ $(srcdir)/ssh_config.in $(srcdir)/sshd_config.in
install: all
$(INSTALL) -d $(bindir)
diff --git a/README b/README
index 514aeaa..1186edf 100644
--- a/README
+++ b/README
@@ -50,22 +50,6 @@
Damien Miller <djm@ibs.com.au>
Internet Business Solutions
-Credits -
-
-Aaron Campbell, Bob Beck, Markus Friedl, Niels Provos,
-Theo de Raadt, and Dug Song - Creators of OpenSSH
-'jonchen' - the original author of PAM support of SSH
-Ben Taylor <bent@clark.net> - Solaris debugging and fixes
-Chip Salzenberg <chip@valinux.com> - Assorted patches
-Chris Saia <csaia@wtower.com> - SuSE packaging
-Dan Brosemer <odin@linuxfreak.com> - Autoconf and build fixes & Debian scripts
-Jim Knoble <jmknoble@pobox.com> - RPM spec file fixes
-Marc G. Fournier <marc.fournier@acadiau.ca> - Solaris patches
-Nalin Dahyabhai <nalin.dahyabhai@pobox.com> - PAM environment patch
-Niels Kristian Bech Jensen <nkbj@image.dk> - Assorted patches
-Phil Hands <phil@hands.com> - Debian scripts, assorted patches
-Thomas Neumann <tom@smart.ruhr.de> - Shadow passwords
-Tudor Bosman <tudorb@jm.nu> - MD5 password support
Miscellania -
diff --git a/fixpaths b/fixpaths
new file mode 100755
index 0000000..6a2a3a0
--- /dev/null
+++ b/fixpaths
@@ -0,0 +1,47 @@
+#!/usr/bin/perl -w
+#
+# fixpaths - substitute makefile variables into text files
+
+
+$usage = "Usage: $0 [-D<variable>=<value>] [[infile] ...]\n";
+
+if (!defined(@ARGV)) { die ("$usage"); }
+
+# read in the command line and get some definitions
+while ($_=$ARGV[0], /^-/) {
+ if (/^-D/) {
+ # definition
+ shift(@ARGV);
+ if ( /-D(.*)=(.*)/ ) {
+ $def{"$1"}=$2;
+ } else {
+ die ("$usage$0: error in command line arguments.\n");
+ }
+ } else {
+ &usage; die ("$usage$0: unknown option '-".$ARGV[0][1]."'\n");
+ }
+} # while parsing arguments
+
+if (!defined(%def)) {
+ die ("$0: nothing to do - no substitutions listed!\n");
+}
+
+for $f (@ARGV) {
+
+ $f =~ /(.*\/)*(.*)$/;
+ $of = $2; $of =~ s/.in$//;
+
+ print("Making substitutions for $of\n");
+
+ open(IN, "<$f") || die ("$0: input file $f missing!\n");
+ if (open(OUT, ">$of")) {
+ while (<IN>) {
+ for $s (keys(%def)) {
+ s#\@$s\@#$def{$s}#;
+ } # for $s
+ print OUT;
+ } # while <IN>
+ } # if (outfile open)
+} # for $f
+
+exit 0;
diff --git a/packages/redhat/openssh.spec b/packages/redhat/openssh.spec
index 85e2b90..1b567c5 100644
--- a/packages/redhat/openssh.spec
+++ b/packages/redhat/openssh.spec
@@ -1,5 +1,5 @@
# Version of OpenSSH
-%define oversion 1.2.1pre21
+%define oversion 1.2.1pre22
# Version of ssh-askpass
%define aversion 0.99
@@ -16,6 +16,7 @@
BuildRoot: /tmp/openssh-%{version}-buildroot
Obsoletes: ssh
Requires: openssl
+BuildPreReq: perl
BuildPreReq: openssl-devel
BuildPreReq: tcp_wrappers
BuildPreReq: gnome-libs-devel
@@ -192,7 +193,8 @@
%files
%defattr(-,root,root)
-%doc ChangeLog OVERVIEW COPYING.Ylonen README README.Ylonen INSTALL UPGRADING
+%doc ChangeLog OVERVIEW COPYING.Ylonen README README.Ylonen INSTALL
+%doc CREDITS UPGRADING
%attr(0755,root,root) /usr/bin/ssh-keygen
%attr(0755,root,root) /usr/bin/scp
%attr(0644,root,root) /usr/man/man1/ssh-keygen.1
diff --git a/packages/suse/openssh.spec b/packages/suse/openssh.spec
index 23926e0..1d0168b 100644
--- a/packages/suse/openssh.spec
+++ b/packages/suse/openssh.spec
@@ -1,6 +1,6 @@
Summary: OpenSSH, a free Secure Shell (SSH) implementation
Name: openssh
-Version: 1.2.1pre21
+Version: 1.2.1pre22
Release: 1
Source0: openssh-%{version}.tar.gz
Copyright: BSD
@@ -203,7 +203,7 @@
%files
%defattr(-,root,root)
%doc COPYING.Ylonen ChangeLog OVERVIEW README README.Ylonen
-%doc RFC.nroff TODO UPGRADING
+%doc RFC.nroff TODO UPGRADING CREDITS
%attr(0755,root,root) /usr/bin/ssh-keygen
%attr(0755,root,root) /usr/bin/scp
%attr(0644,root,root) %doc /usr/man/man1/ssh-keygen.1
diff --git a/scp.1 b/scp.1.in
similarity index 97%
rename from scp.1
rename to scp.1.in
index 5eedfdb..641c8f4 100644
--- a/scp.1
+++ b/scp.1.in
@@ -9,7 +9,7 @@
.\"
.\" Created: Sun May 7 00:14:37 1995 ylo
.\"
-.\" $Id: scp.1,v 1.3 1999/10/28 23:15:49 damien Exp $
+.\" $Id: scp.1.in,v 1.1 1999/12/26 22:23:58 damien Exp $
.\"
.Dd September 25, 1999
.Dt SCP 1
diff --git a/ssh-add.1 b/ssh-add.1.in
similarity index 97%
rename from ssh-add.1
rename to ssh-add.1.in
index 444af94..80ba288 100644
--- a/ssh-add.1
+++ b/ssh-add.1.in
@@ -9,7 +9,7 @@
.\"
.\" Created: Sat Apr 22 23:55:14 1995 ylo
.\"
-.\" $Id: ssh-add.1,v 1.6 1999/12/06 00:47:29 damien Exp $
+.\" $Id: ssh-add.1.in,v 1.1 1999/12/26 22:23:58 damien Exp $
.\"
.Dd September 25, 1999
.Dt SSH-ADD 1
diff --git a/ssh-agent.1 b/ssh-agent.1.in
similarity index 100%
rename from ssh-agent.1
rename to ssh-agent.1.in
diff --git a/ssh-keygen.1 b/ssh-keygen.1.in
similarity index 98%
rename from ssh-keygen.1
rename to ssh-keygen.1.in
index dc244cd..4934847 100644
--- a/ssh-keygen.1
+++ b/ssh-keygen.1.in
@@ -9,7 +9,7 @@
.\"
.\" Created: Sat Apr 22 23:55:14 1995 ylo
.\"
-.\" $Id: ssh-keygen.1,v 1.6 1999/12/26 03:24:41 damien Exp $
+.\" $Id: ssh-keygen.1.in,v 1.1 1999/12/26 22:23:58 damien Exp $
.\"
.Dd September 25, 1999
.Dt SSH-KEYGEN 1
diff --git a/ssh.1 b/ssh.1.in
similarity index 98%
rename from ssh.1
rename to ssh.1.in
index 4ddba4a..e19f87e 100644
--- a/ssh.1
+++ b/ssh.1.in
@@ -9,7 +9,7 @@
.\"
.\" Created: Sat Apr 22 21:55:14 1995 ylo
.\"
-.\" $Id: ssh.1,v 1.13 1999/12/26 03:24:41 damien Exp $
+.\" $Id: ssh.1.in,v 1.1 1999/12/26 22:23:58 damien Exp $
.\"
.Dd September 25, 1999
.Dt SSH 1
@@ -66,7 +66,7 @@
First, if the machine the user logs in from is listed in
.Pa /etc/hosts.equiv
or
-.Pa /etc/ssh/shosts.equiv
+.Pa @sysconfdir@/shosts.equiv
on the remote machine, and the user names are
the same on both sides, the user is immediately permitted to log in.
Second, if
@@ -89,10 +89,10 @@
.Pa \&.shosts ,
.Pa /etc/hosts.equiv ,
or
-.Pa /etc/ssh/shosts.equiv ,
+.Pa @sysconfdir@/shosts.equiv ,
and if additionally the server can verify the client's
host key (see
-.Pa /etc/ssh/ssh_known_hosts
+.Pa @sysconfdir@/ssh_known_hosts
and
.Pa $HOME/.ssh/known_hosts
in the
@@ -250,7 +250,7 @@
database is stored in
.Pa \&.ssh/known_hosts
in the user's home directory. Additionally, the file
-.Pa /etc/ssh/ssh_known_hosts
+.Pa @sysconfdir@/ssh_known_hosts
is automatically checked for known hosts. Any new hosts are
automatically added to the user's file. If a host's identification
ever changes,
@@ -418,7 +418,7 @@
command line options, user's configuration file
.Pq Pa $HOME/.ssh/config ,
and system-wide configuration file
-.Pq Pa /etc/ssh/ssh_config .
+.Pq Pa @sysconfdir@/ssh_config .
For each parameter, the first obtained value
will be used. The configuration files contain sections bracketed by
"Host" specifications, and that section is only applied for hosts that
@@ -542,7 +542,7 @@
.Dq no .
.It Cm GlobalKnownHostsFile
Specifies a file to use instead of
-.Pa /etc/ssh/ssh_known_hosts .
+.Pa @sysconfdir@/ssh_known_hosts .
.It Cm HostName
Specifies the real host name to log into. This can be used to specify
nicnames or abbreviations for hosts. Default is the name given on the
@@ -693,7 +693,7 @@
file, and refuses to connect hosts whose host key has changed. This
provides maximum protection against trojan horse attacks. However, it
can be somewhat annoying if you don't have good
-.Pa /etc/ssh/ssh_known_hosts
+.Pa @sysconfdir@/ssh_known_hosts
files installed and frequently
connect new hosts. Basically this option forces the user to manually
add any new hosts. Normally this option is disabled, and new hosts
@@ -800,7 +800,7 @@
.It Pa $HOME/.ssh/known_hosts
Records host keys for all hosts the user has logged into (that are not
in
-.Pa /etc/ssh/ssh_known_hosts ) .
+.Pa @sysconfdir@/ssh_known_hosts ) .
See
.Xr sshd 8 .
.It Pa $HOME/.ssh/identity
@@ -839,7 +839,7 @@
modulus, public exponent, modulus, and comment fields, separated by
spaces). This file is not highly sensitive, but the recommended
permissions are read/write for the user, and not accessible by others.
-.It Pa /etc/ssh/ssh_known_hosts
+.It Pa @sysconfdir@/ssh_known_hosts
Systemwide list of known host keys. This file should be prepared by the
system administrator to contain the public host keys of all machines in the
organization. This file should be world-readable. This file contains
@@ -858,7 +858,7 @@
does not convert the user-supplied name to a canonical name before
checking the key, because someone with access to the name servers
would then be able to fool host authentication.
-.It Pa /etc/ssh/ssh_config
+.It Pa @sysconfdir@/ssh_config
Systemwide configuration file. This file provides defaults for those
values that are not specified in the user's configuration file, and
for those users who do not have a configuration file. This file must
@@ -885,7 +885,7 @@
will be installed so that it requires successful RSA host
authentication before permitting \s+2.\s0rhosts authentication. If your
server machine does not have the client's host key in
-.Pa /etc/ssh/ssh_known_hosts ,
+.Pa @sysconfdir@/ssh_known_hosts ,
you can store it in
.Pa $HOME/.ssh/known_hosts .
The easiest way to do this is to
@@ -912,13 +912,13 @@
automatically permitted provided client and server user names are the
same. Additionally, successful RSA host authentication is normally
required. This file should only be writable by root.
-.It Pa /etc/ssh/shosts.equiv
+.It Pa @sysconfdir@/shosts.equiv
This file is processed exactly as
.Pa /etc/hosts.equiv .
This file may be useful to permit logins using
.Nm
but not using rsh/rlogin.
-.It Pa /etc/ssh/sshrc
+.It Pa @sysconfdir@/sshrc
Commands in this file are executed by
.Nm
when the user logs in just before the user's shell (or command) is started.
diff --git a/ssh_config b/ssh_config.in
similarity index 100%
rename from ssh_config
rename to ssh_config.in
diff --git a/sshd.8 b/sshd.8.in
similarity index 97%
rename from sshd.8
rename to sshd.8.in
index b02057b..871e79e 100644
--- a/sshd.8
+++ b/sshd.8.in
@@ -9,7 +9,7 @@
.\"
.\" Created: Sat Apr 22 21:55:14 1995 ylo
.\"
-.\" $Id: sshd.8,v 1.9 1999/11/24 13:26:23 damien Exp $
+.\" $Id: sshd.8.in,v 1.1 1999/12/26 22:23:59 damien Exp $
.\"
.Dd September 25, 1999
.Dt SSHD 8
@@ -123,7 +123,7 @@
intended for debugging for the server.
.It Fl f Ar configuration_file
Specifies the name of the configuration file. The default is
-.Pa /etc/ssh/sshd_config .
+.Pa @sysconfdir@/sshd_config .
.Nm
refuses to start if there is no configuration file.
.It Fl g Ar login_grace_time
@@ -133,7 +133,7 @@
indicates no limit.
.It Fl h Ar host_key_file
Specifies the file from which the host key is read (default
-.Pa /etc/ssh/ssh_host_key ) .
+.Pa @sysconfdir@/ssh_host_key ) .
This option must be given if
.Nm
is not run as root (as the normal
@@ -177,7 +177,7 @@
.Sh CONFIGURATION FILE
.Nm
reads configuration data from
-.Pa /etc/ssh/sshd_config
+.Pa @sysconfdir@/sshd_config
(or the file specified with
.Fl f
on the command line). The file
@@ -245,7 +245,7 @@
the user name.
.It Cm HostKey
Specifies the file containing the private host key (default
-.Pa /etc/ssh/ssh_host_key ) .
+.Pa @sysconfdir@/ssh_host_key ) .
Note that
.Nm
does not start if this file is group/world-accessible.
@@ -254,7 +254,7 @@
authentication.
.Pa /etc/hosts.equiv
and
-.Pa /etc/ssh/shosts.equiv
+.Pa @sysconfdir@/shosts.equiv
are still used. The default is
.Dq no .
.It Cm IgnoreUserKnownHosts
@@ -470,7 +470,7 @@
If
.Pa $HOME/.ssh/rc
exists, runs it; else if
-.Pa /etc/ssh/sshrc
+.Pa @sysconfdir@/sshrc
exists, runs
it; otherwise runs xauth. The
.Dq rc
@@ -556,7 +556,7 @@
command="dump /home",no-pty,no-port-forwarding 1024 33 23.\|.\|.\|2323 backup.hut.fi
.Sh SSH_KNOWN_HOSTS FILE FORMAT
The
-.Pa /etc/ssh/ssh_known_hosts
+.Pa @sysconfdir@/ssh_known_hosts
and
.Pa $HOME/.ssh/known_hosts
files contain host public keys for all known hosts. The global file should
@@ -579,7 +579,7 @@
.Pp
Bits, exponent, and modulus are taken directly from the host key; they
can be obtained, e.g., from
-.Pa /etc/ssh/ssh_host_key.pub .
+.Pa @sysconfdir@/ssh_host_key.pub .
The optional comment field continues to the end of the line, and is not used.
.Pp
Lines starting with
@@ -598,25 +598,25 @@
long, and you definitely don't want to type in the host keys by hand.
Rather, generate them by a script
or by taking
-.Pa /etc/ssh/ssh_host_key.pub
+.Pa @sysconfdir@/ssh_host_key.pub
and adding the host names at the front.
.Ss Examples
closenet,closenet.hut.fi,.\|.\|.\|,130.233.208.41 1024 37 159.\|.\|.93 closenet.hut.fi
.Sh FILES
.Bl -tag -width Ds
-.It Pa /etc/ssh/sshd_config
+.It Pa @sysconfdir@/sshd_config
Contains configuration data for
.Nm sshd .
This file should be writable by root only, but it is recommended
(though not necessary) that it be world-readable.
-.It Pa /etc/ssh/ssh_host_key
+.It Pa @sysconfdir@/ssh_host_key
Contains the private part of the host key.
This file should only be owned by root, readable only by root, and not
accessible to others.
Note that
.Nm
does not start if this file is group/world-accessible.
-.It Pa /etc/ssh/ssh_host_key.pub
+.It Pa @sysconfdir@/ssh_host_key.pub
Contains the public part of the host key.
This file should be world-readable but writable only by
root. Its contents should match the private part. This file is not
@@ -637,14 +637,14 @@
it being world-readable if the user's home directory resides on an NFS
volume). It is recommended that it not be accessible by others. The
format of this file is described above.
-.It Pa "/etc/ssh_known_hosts" and "$HOME/.ssh/known_hosts"
+.It Pa "@sysconfdir@_known_hosts" and "$HOME/.ssh/known_hosts"
These files are consulted when using rhosts with RSA host
authentication to check the public key of the host. The key must be
listed in one of these files to be accepted.
The client uses the same files
to verify that the remote host is the one we intended to
connect. These files should be writable only by root/the owner.
-.Pa /etc/ssh/ssh_known_hosts
+.Pa @sysconfdir@/ssh_known_hosts
should be world-readable, and
.Pa $HOME/.ssh/known_hosts
can but need not be world-readable.
@@ -706,7 +706,7 @@
of is in negative entries.
.Pp
Note that this warning also applies to rsh/rlogin.
-.It Pa /etc/ssh/shosts.equiv
+.It Pa @sysconfdir@/shosts.equiv
This is processed exactly as
.Pa /etc/hosts.equiv .
However, this file may be useful in environments that want to run both
@@ -736,13 +736,13 @@
$proto $cookie | xauth -q -; fi".
.Pp
If this file does not exist,
-.Pa /etc/ssh/sshrc
+.Pa @sysconfdir@/sshrc
is run, and if that
does not exist either, xauth is used to store the cookie.
.Pp
This file should be writable only by the user, and need not be
readable by anyone else.
-.It Pa /etc/ssh/sshrc
+.It Pa @sysconfdir@/sshrc
Like
.Pa $HOME/.ssh/rc .
This can be used to specify
diff --git a/sshd_config b/sshd_config.in
similarity index 96%
rename from sshd_config
rename to sshd_config.in
index ee6af5f..63e3d98 100644
--- a/sshd_config
+++ b/sshd_config.in
@@ -2,7 +2,7 @@
Port 22
ListenAddress 0.0.0.0
-HostKey /etc/ssh/ssh_host_key
+HostKey @sysconfdir@/ssh_host_key
ServerKeyBits 768
LoginGraceTime 600
KeyRegenerationInterval 3600