- 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