- Autodetection of SSL/Crypto library location via autoconf

- Fixed location of ssh-askpass to follow autoconf
 - Integrated Makefile patch from Niels Kristian Bech Jensen <nkbj@image.dk>
 - Autodetection of RSAref library for US users
 - Minor doc updates
This commit is contained in:
Damien Miller 1999-11-09 10:28:04 +11:00
parent e8d9068a36
commit c7b38ceed6
9 changed files with 73 additions and 31 deletions

View File

@ -1,3 +1,10 @@
19991109
- Autodetection of SSL/Crypto library location via autoconf
- Fixed location of ssh-askpass to follow autoconf
- Integrated Makefile patch from Niels Kristian Bech Jensen <nkbj@image.dk>
- Autodetection of RSAref library for US users
- Minor doc updates
19991108 19991108
- Removed debian/ directory. This is now being maintained separately. - Removed debian/ directory. This is now being maintained separately.
- Added symlinks for slogin in RPM spec file - Added symlinks for slogin in RPM spec file

View File

@ -5,9 +5,12 @@ sbindir=@sbindir@
libdir=@libdir@ libdir=@libdir@
mandir=@mandir@ mandir=@mandir@
SSH_PROGRAM=@bindir@/ssh
ASKPASS_PROGRAM=@libdir@/ssh/ssh-askpass
CC=@CC@ CC=@CC@
OPT_FLAGS=-g PATHS=-DETCDIR=\"@sysconfdir@\" -DSSH_PROGRAM=\"$(SSH_PROGRAM)\" -DASKPASS_PROGRAM=\"$(ASKPASS_PROGRAM)\"
CFLAGS=$(OPT_FLAGS) -Wall -DETCDIR=\"@sysconfdir@\" -DSSH_PROGRAM=\"@bindir@/ssh\" @DEFS@ CFLAGS=@CFLAGS@ $(PATHS) @DEFS@
TARGETS=libssh.a ssh sshd ssh-add ssh-keygen ssh-agent scp TARGETS=libssh.a ssh sshd ssh-add ssh-keygen ssh-agent scp
LFLAGS=-L. LFLAGS=-L.
LIBS=-lssh @LIBS@ LIBS=-lssh @LIBS@
@ -55,8 +58,9 @@ install:
install -d $(mandir) install -d $(mandir)
install -d $(mandir)/man1 install -d $(mandir)/man1
install -d $(mandir)/man8 install -d $(mandir)/man8
install -d $(libdir)/ssh
install -s -c ssh $(bindir)/ssh install -s -c ssh $(bindir)/ssh
ln -s ssh $(bindir)/slogin ln -sf ssh $(bindir)/slogin
install -s -c scp $(bindir)/scp install -s -c scp $(bindir)/scp
install -s -c ssh-add $(bindir)/ssh-add install -s -c ssh-add $(bindir)/ssh-add
install -m755 -c ssh-askpass $(libdir)/ssh/ssh-askpass install -m755 -c ssh-askpass $(libdir)/ssh/ssh-askpass
@ -64,7 +68,7 @@ install:
install -s -c ssh-keygen $(bindir)/ssh-keygen install -s -c ssh-keygen $(bindir)/ssh-keygen
install -s -c sshd $(sbindir)/sshd install -s -c sshd $(sbindir)/sshd
install -m644 -c ssh.1 $(mandir)/man1/ssh.1 install -m644 -c ssh.1 $(mandir)/man1/ssh.1
ln -s ssh.1 $(mandir)/man1/slogin.1 ln -sf ssh.1 $(mandir)/man1/slogin.1
install -m644 -c scp.1 $(mandir)/man1/scp.1 install -m644 -c scp.1 $(mandir)/man1/scp.1
install -m644 -c ssh-add.1 $(mandir)/man1/ssh-add.1 install -m644 -c ssh-add.1 $(mandir)/man1/ssh-add.1
install -m644 -c ssh-agent.1 $(mandir)/man1/ssh-agent.1 install -m644 -c ssh-agent.1 $(mandir)/man1/ssh-agent.1
@ -77,4 +81,5 @@ distclean: clean
mrproper: distclean mrproper: distclean
veryclean: distclean veryclean: distclean
rm -f configure rm -f configure config.h.in

2
README
View File

@ -36,6 +36,8 @@ The OpenBSD team
Dan Brosemer <odin@linuxfreak.com> - Autoconf and build fixes & Debian scripts Dan Brosemer <odin@linuxfreak.com> - Autoconf and build fixes & Debian scripts
Niels Kristian Bech Jensen <nkbj@image.dk> - Makefile patch Niels Kristian Bech Jensen <nkbj@image.dk> - Makefile patch
Nalin Dahyabhai <nalin.dahyabhai@pobox.com> - PAM environment patch Nalin Dahyabhai <nalin.dahyabhai@pobox.com> - PAM environment patch
Phil Hands <phil@hands.com> - Debian scripts, assorted patches
Niels Kristian Bech Jensen <nkbj@image.dk> - Makefile patches
Miscellania - Miscellania -

12
TODO
View File

@ -1,7 +1,11 @@
-- Replacement for setproctitle() - Replacement for setproctitle()
-- Improve PAM support (a pam_lastlog module will cause sshd to exit) - Improve PAM support (a pam_lastlog module will cause sshd to exit)
-- Better documentation - Better documentation
-- Port to other platforms - Port to other platforms
- Fix paths in manpages using autoconf
- Enable libwrap support using autoconf switch

View File

@ -1,5 +1,8 @@
/* config.h.in. Generated by hand, don't use autoheader. */ /* config.h.in. Generated by hand, don't use autoheader. */
/* SSL directory. */
#undef ssldir
/* Define if your ssl headers are included with #include <ssl/header.h> */ /* Define if your ssl headers are included with #include <ssl/header.h> */
#undef HAVE_SSL #undef HAVE_SSL

View File

@ -6,6 +6,8 @@ AC_CONFIG_HEADER(config.h)
dnl Checks for programs. dnl Checks for programs.
AC_PROG_CC AC_PROG_CC
AC_PROG_RANLIB AC_PROG_RANLIB
AC_CHECK_PROG(AR, ar, ar)
if test "$GCC" = "yes"; then CFLAGS="$CFLAGS -Wall"; fi
dnl Checks for libraries. dnl Checks for libraries.
dnl Replace `main' with a function in -lcrypto: dnl Replace `main' with a function in -lcrypto:
@ -21,26 +23,42 @@ AC_CHECK_LIB(dl, dlopen, , )
dnl check for pam dnl check for pam
AC_CHECK_LIB(pam, pam_authenticate, , ) AC_CHECK_LIB(pam, pam_authenticate, , )
dnl Check for stuff in path. dnl Check for OpenSSL/SSLeay directories.
AC_CHECK_PROG(AR, ar, ar) AC_MSG_CHECKING([for OpenSSL/SSLeay directory])
AC_CHECK_PROG(RANLIB, ranlib, ranlib) for dir in /usr /usr/local/openssl /usr/lib/openssl /usr/local/ssl /usr/lib/ssl /usr/local /usr/pkg ; do
ssldir="$dir"
if test -f "$dir/include/openssl/crypto.h"; then
AC_DEFINE(HAVE_OPENSSL)
break
fi
if test -f "$dir/include/ssl/crypto.h"; then
AC_DEFINE(HAVE_SSL)
break
fi
if test -f "$dir/include/crypto.h"; then
break
fi
done
AC_MSG_RESULT($ssldir)
AC_SUBST(ssldir)
AC_DEFINE_UNQUOTED(ssldir, "$ssldir")
if test "$ssldir" != "/usr"; then
CFLAGS="$CFLAGS -I$ssldir/include"
LIBS="$LIBS -L$ssldir/lib"
fi
LIBS="$LIBS -lssl -lcrypto"
dnl Check for ssl headers dnl Check for RSAref library.
AC_CHECK_HEADER(openssl/bn.h, [AC_DEFINE(HAVE_OPENSSL)], [AC_CHECK_HEADER(ssl/bn.h, [AC_DEFINE(HAVE_SSL)], [AC_MSG_ERROR([*** ssl library missing - please install first ***])])]) AC_MSG_CHECKING([for RSAref library])
saved_LIBS="$LIBS"
LIBS="$saved_LIBS -lRSAglue -lrsaref"
AC_TRY_LINK([], [],
[AC_MSG_RESULT(yes); ],
[AC_MSG_RESULT(no)]; LIBS="$saved_LIBS")
dnl Checks for header files. dnl Checks for header files.
AC_CHECK_HEADERS(pty.h) AC_CHECK_HEADERS(pty.h)
dnl Checks for typedefs, structures, and compiler characteristics.
AC_C_CONST
AC_TYPE_UID_T
AC_C_INLINE
AC_TYPE_MODE_T
AC_TYPE_OFF_T
AC_TYPE_SIZE_T
AC_STRUCT_ST_BLKSIZE
AC_HEADER_TIME
dnl Checks for library functions. dnl Checks for library functions.
AC_PROG_GCC_TRADITIONAL AC_PROG_GCC_TRADITIONAL
AC_CHECK_FUNCS(openpty strlcpy mkdtemp arc4random setproctitle) AC_CHECK_FUNCS(openpty strlcpy mkdtemp arc4random setproctitle)

View File

@ -1,6 +1,6 @@
Summary: OpenSSH free Secure Shell (SSH) implementation Summary: OpenSSH free Secure Shell (SSH) implementation
Name: openssh Name: openssh
Version: 1.2pre8 Version: 1.2pre9
Release: 1 Release: 1
Packager: Damien Miller <djm@ibs.com.au> Packager: Damien Miller <djm@ibs.com.au>
Source0: openssh-%{version}-linux.tar.gz Source0: openssh-%{version}-linux.tar.gz
@ -39,8 +39,7 @@ patented algorithms to seperate libraries (OpenSSL).
%build %build
./configure --prefix=/usr --sysconfdir=/etc/ssh CFLAGS="$RPM_OPT_FLAGS" ./configure --prefix=/usr --sysconfdir=/etc/ssh
make OPT_FLAGS="$RPM_OPT_FLAGS"
%install %install
rm -rf $RPM_BUILD_ROOT rm -rf $RPM_BUILD_ROOT

View File

@ -14,7 +14,7 @@ Adds an identity to the authentication server, or removes an identity.
*/ */
#include "includes.h" #include "includes.h"
RCSID("$Id: ssh-add.c,v 1.4 1999/11/08 05:15:55 damien Exp $"); RCSID("$Id: ssh-add.c,v 1.5 1999/11/08 23:28:04 damien Exp $");
#include "rsa.h" #include "rsa.h"
#include "ssh.h" #include "ssh.h"
@ -112,9 +112,9 @@ add_file(AuthenticationConnection *ac, const char *filename)
filename, saved_comment); filename, saved_comment);
/* skip the prompt if it won't fit */ /* skip the prompt if it won't fit */
if (tmp < 0 || tmp >= BUFSIZE) if (tmp < 0 || tmp >= BUFSIZE)
tmp=execlp("/usr/lib/ssh/ssh-askpass", "ssh-askpass", 0); tmp=execlp(ASKPASS_PROGRAM, "ssh-askpass", 0);
else else
tmp=execlp("/usr/lib/ssh/ssh-askpass", "ssh-askpass", buf, 0); tmp=execlp(ASKPASS_PROGRAM, "ssh-askpass", buf, 0);
if (tmp==-1) if (tmp==-1)
{ {
fprintf(stderr, "Executing ssh-askpass failed: %s\n", fprintf(stderr, "Executing ssh-askpass failed: %s\n",

6
ssh.h
View File

@ -13,7 +13,7 @@ Generic header file for ssh.
*/ */
/* RCSID("$Id: ssh.h,v 1.7 1999/11/08 05:15:55 damien Exp $"); */ /* RCSID("$Id: ssh.h,v 1.8 1999/11/08 23:28:04 damien Exp $"); */
#ifndef SSH_H #ifndef SSH_H
#define SSH_H #define SSH_H
@ -93,6 +93,10 @@ only by root, whereas ssh_config should be world-readable. */
#define LOGIN_PROGRAM "/usr/bin/login" #define LOGIN_PROGRAM "/usr/bin/login"
#endif /* LOGIN_PROGRAM */ #endif /* LOGIN_PROGRAM */
#ifndef ASKPASS_PROGRAM
#define ASKPASS_PROGRAM "/usr/lib/ssh/ssh-askpass"
#endif /* ASKPASS_PROGRAM */
/* The process id of the daemon listening for connections is saved /* The process id of the daemon listening for connections is saved
here to make it easier to kill the correct daemon when necessary. */ here to make it easier to kill the correct daemon when necessary. */
#define SSH_DAEMON_PID_FILE PIDDIR "/sshd.pid" #define SSH_DAEMON_PID_FILE PIDDIR "/sshd.pid"