mirror of git://anongit.mindrot.org/openssh.git
Do not link scp, sftp and sftp-server w/ zlib.
Some of our binaries (eg sftp, sftp-server, scp) do not interact with the channels code and thus do use libraries such as zlib and libcrypto although they are linked with them. This adds a CHANNELLIBS and starts by moving zlib into it, which means the aformentioned binaries are no longer linked against zlib. ok djm@
This commit is contained in:
parent
800c2483e6
commit
f117e372b3
11
Makefile.in
11
Makefile.in
|
@ -49,6 +49,7 @@ CFLAGS_NOPIE=@CFLAGS_NOPIE@
|
|||
CPPFLAGS=-I. -I$(srcdir) @CPPFLAGS@ $(PATHS) @DEFS@
|
||||
PICFLAG=@PICFLAG@
|
||||
LIBS=@LIBS@
|
||||
CHANNELLIBS=@CHANNELLIBS@
|
||||
K5LIBS=@K5LIBS@
|
||||
GSSLIBS=@GSSLIBS@
|
||||
SSHDLIBS=@SSHDLIBS@
|
||||
|
@ -208,10 +209,10 @@ libssh.a: $(LIBSSH_OBJS)
|
|||
$(RANLIB) $@
|
||||
|
||||
ssh$(EXEEXT): $(LIBCOMPAT) libssh.a $(SSHOBJS)
|
||||
$(LD) -o $@ $(SSHOBJS) $(LDFLAGS) -lssh -lopenbsd-compat $(LIBS) $(GSSLIBS)
|
||||
$(LD) -o $@ $(SSHOBJS) $(LDFLAGS) -lssh -lopenbsd-compat $(LIBS) $(GSSLIBS) $(CHANNELLIBS)
|
||||
|
||||
sshd$(EXEEXT): libssh.a $(LIBCOMPAT) $(SSHDOBJS)
|
||||
$(LD) -o $@ $(SSHDOBJS) $(LDFLAGS) -lssh -lopenbsd-compat $(SSHDLIBS) $(LIBS) $(GSSLIBS) $(K5LIBS)
|
||||
$(LD) -o $@ $(SSHDOBJS) $(LDFLAGS) -lssh -lopenbsd-compat $(SSHDLIBS) $(LIBS) $(GSSLIBS) $(K5LIBS) $(CHANNELLIBS)
|
||||
|
||||
scp$(EXEEXT): $(LIBCOMPAT) libssh.a $(SCP_OBJS)
|
||||
$(LD) -o $@ $(SCP_OBJS) $(LDFLAGS) -lssh -lopenbsd-compat $(LIBS)
|
||||
|
@ -226,16 +227,16 @@ ssh-keygen$(EXEEXT): $(LIBCOMPAT) libssh.a $(SSHKEYGEN_OBJS)
|
|||
$(LD) -o $@ $(SSHKEYGEN_OBJS) $(LDFLAGS) -lssh -lopenbsd-compat $(LIBS)
|
||||
|
||||
ssh-keysign$(EXEEXT): $(LIBCOMPAT) libssh.a $(SSHKEYSIGN_OBJS)
|
||||
$(LD) -o $@ $(SSHKEYSIGN_OBJS) $(LDFLAGS) -lssh -lopenbsd-compat $(LIBS)
|
||||
$(LD) -o $@ $(SSHKEYSIGN_OBJS) $(LDFLAGS) -lssh -lopenbsd-compat $(LIBS) $(CHANNELLIBS)
|
||||
|
||||
ssh-pkcs11-helper$(EXEEXT): $(LIBCOMPAT) libssh.a $(P11HELPER_OBJS)
|
||||
$(LD) -o $@ $(P11HELPER_OBJS) $(LDFLAGS) -lssh -lopenbsd-compat -lssh -lopenbsd-compat $(LIBS)
|
||||
|
||||
ssh-sk-helper$(EXEEXT): $(LIBCOMPAT) libssh.a $(SKHELPER_OBJS)
|
||||
$(LD) -o $@ $(SKHELPER_OBJS) $(LDFLAGS) -lssh -lopenbsd-compat -lssh -lopenbsd-compat $(LIBS) $(LIBFIDO2)
|
||||
$(LD) -o $@ $(SKHELPER_OBJS) $(LDFLAGS) -lssh -lopenbsd-compat -lssh -lopenbsd-compat $(LIBS) $(LIBFIDO2) $(CHANNELLIBS)
|
||||
|
||||
ssh-keyscan$(EXEEXT): $(LIBCOMPAT) libssh.a $(SSHKEYSCAN_OBJS)
|
||||
$(LD) -o $@ $(SSHKEYSCAN_OBJS) $(LDFLAGS) -lssh -lopenbsd-compat -lssh $(LIBS)
|
||||
$(LD) -o $@ $(SSHKEYSCAN_OBJS) $(LDFLAGS) -lssh -lopenbsd-compat -lssh $(LIBS) $(CHANNELLIBS)
|
||||
|
||||
sftp-server$(EXEEXT): $(LIBCOMPAT) libssh.a $(SFTPSERVER_OBJS)
|
||||
$(LD) -o $@ $(SFTPSERVER_OBJS) $(LDFLAGS) -lssh -lopenbsd-compat -lssh $(LIBS)
|
||||
|
|
14
configure.ac
14
configure.ac
|
@ -1388,18 +1388,21 @@ AC_ARG_WITH([zlib],
|
|||
fi ]
|
||||
)
|
||||
|
||||
# These libraries are needed for anything that links in the channel code.
|
||||
CHANNELLIBS=""
|
||||
AC_MSG_CHECKING([for zlib])
|
||||
if test "x${zlib}" = "xno"; then
|
||||
AC_MSG_RESULT([no])
|
||||
else
|
||||
AC_MSG_RESULT([yes])
|
||||
AC_DEFINE([WITH_ZLIB], [1], [Enable zlib])
|
||||
saved_LIBS="$LIBS"
|
||||
CHANNELLIBS="$CHANNELLIBS -lz"
|
||||
AC_MSG_RESULT([yes])
|
||||
AC_DEFINE([WITH_ZLIB], [1], [Enable zlib])
|
||||
AC_CHECK_HEADER([zlib.h], ,[AC_MSG_ERROR([*** zlib.h missing - please install first or check config.log ***])])
|
||||
AC_CHECK_LIB([z], [deflate], ,
|
||||
AC_CHECK_LIB([z], [deflate], [],
|
||||
[
|
||||
saved_CPPFLAGS="$CPPFLAGS"
|
||||
saved_LDFLAGS="$LDFLAGS"
|
||||
save_LIBS="$LIBS"
|
||||
dnl Check default zlib install dir
|
||||
if test -n "${rpath_opt}"; then
|
||||
LDFLAGS="-L/usr/local/lib ${rpath_opt}/usr/local/lib ${saved_LDFLAGS}"
|
||||
|
@ -1407,7 +1410,6 @@ else
|
|||
LDFLAGS="-L/usr/local/lib ${saved_LDFLAGS}"
|
||||
fi
|
||||
CPPFLAGS="-I/usr/local/include ${saved_CPPFLAGS}"
|
||||
LIBS="$LIBS -lz"
|
||||
AC_TRY_LINK_FUNC([deflate], [AC_DEFINE([HAVE_LIBZ])],
|
||||
[
|
||||
AC_MSG_ERROR([*** zlib missing - please install first or check config.log ***])
|
||||
|
@ -1464,6 +1466,7 @@ See http://www.gzip.org/zlib/ for details.])
|
|||
],
|
||||
[ AC_MSG_WARN([cross compiling: not checking zlib version]) ]
|
||||
)
|
||||
LIBS="$saved_LIBS"
|
||||
fi
|
||||
|
||||
dnl UnixWare 2.x
|
||||
|
@ -4778,6 +4781,7 @@ AC_ARG_WITH([kerberos5],
|
|||
)
|
||||
AC_SUBST([GSSLIBS])
|
||||
AC_SUBST([K5LIBS])
|
||||
AC_SUBST([CHANNELLIBS])
|
||||
|
||||
# Looking for programs, paths and files
|
||||
|
||||
|
|
Loading…
Reference in New Issue