mirror of
https://github.com/PowerShell/openssh-portable.git
synced 2025-07-28 08:14:24 +02:00
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@
|
CPPFLAGS=-I. -I$(srcdir) @CPPFLAGS@ $(PATHS) @DEFS@
|
||||||
PICFLAG=@PICFLAG@
|
PICFLAG=@PICFLAG@
|
||||||
LIBS=@LIBS@
|
LIBS=@LIBS@
|
||||||
|
CHANNELLIBS=@CHANNELLIBS@
|
||||||
K5LIBS=@K5LIBS@
|
K5LIBS=@K5LIBS@
|
||||||
GSSLIBS=@GSSLIBS@
|
GSSLIBS=@GSSLIBS@
|
||||||
SSHDLIBS=@SSHDLIBS@
|
SSHDLIBS=@SSHDLIBS@
|
||||||
@ -208,10 +209,10 @@ libssh.a: $(LIBSSH_OBJS)
|
|||||||
$(RANLIB) $@
|
$(RANLIB) $@
|
||||||
|
|
||||||
ssh$(EXEEXT): $(LIBCOMPAT) libssh.a $(SSHOBJS)
|
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)
|
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)
|
scp$(EXEEXT): $(LIBCOMPAT) libssh.a $(SCP_OBJS)
|
||||||
$(LD) -o $@ $(SCP_OBJS) $(LDFLAGS) -lssh -lopenbsd-compat $(LIBS)
|
$(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)
|
$(LD) -o $@ $(SSHKEYGEN_OBJS) $(LDFLAGS) -lssh -lopenbsd-compat $(LIBS)
|
||||||
|
|
||||||
ssh-keysign$(EXEEXT): $(LIBCOMPAT) libssh.a $(SSHKEYSIGN_OBJS)
|
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)
|
ssh-pkcs11-helper$(EXEEXT): $(LIBCOMPAT) libssh.a $(P11HELPER_OBJS)
|
||||||
$(LD) -o $@ $(P11HELPER_OBJS) $(LDFLAGS) -lssh -lopenbsd-compat -lssh -lopenbsd-compat $(LIBS)
|
$(LD) -o $@ $(P11HELPER_OBJS) $(LDFLAGS) -lssh -lopenbsd-compat -lssh -lopenbsd-compat $(LIBS)
|
||||||
|
|
||||||
ssh-sk-helper$(EXEEXT): $(LIBCOMPAT) libssh.a $(SKHELPER_OBJS)
|
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)
|
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)
|
sftp-server$(EXEEXT): $(LIBCOMPAT) libssh.a $(SFTPSERVER_OBJS)
|
||||||
$(LD) -o $@ $(SFTPSERVER_OBJS) $(LDFLAGS) -lssh -lopenbsd-compat -lssh $(LIBS)
|
$(LD) -o $@ $(SFTPSERVER_OBJS) $(LDFLAGS) -lssh -lopenbsd-compat -lssh $(LIBS)
|
||||||
|
10
configure.ac
10
configure.ac
@ -1388,18 +1388,21 @@ AC_ARG_WITH([zlib],
|
|||||||
fi ]
|
fi ]
|
||||||
)
|
)
|
||||||
|
|
||||||
|
# These libraries are needed for anything that links in the channel code.
|
||||||
|
CHANNELLIBS=""
|
||||||
AC_MSG_CHECKING([for zlib])
|
AC_MSG_CHECKING([for zlib])
|
||||||
if test "x${zlib}" = "xno"; then
|
if test "x${zlib}" = "xno"; then
|
||||||
AC_MSG_RESULT([no])
|
AC_MSG_RESULT([no])
|
||||||
else
|
else
|
||||||
|
saved_LIBS="$LIBS"
|
||||||
|
CHANNELLIBS="$CHANNELLIBS -lz"
|
||||||
AC_MSG_RESULT([yes])
|
AC_MSG_RESULT([yes])
|
||||||
AC_DEFINE([WITH_ZLIB], [1], [Enable zlib])
|
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_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_CPPFLAGS="$CPPFLAGS"
|
||||||
saved_LDFLAGS="$LDFLAGS"
|
saved_LDFLAGS="$LDFLAGS"
|
||||||
save_LIBS="$LIBS"
|
|
||||||
dnl Check default zlib install dir
|
dnl Check default zlib install dir
|
||||||
if test -n "${rpath_opt}"; then
|
if test -n "${rpath_opt}"; then
|
||||||
LDFLAGS="-L/usr/local/lib ${rpath_opt}/usr/local/lib ${saved_LDFLAGS}"
|
LDFLAGS="-L/usr/local/lib ${rpath_opt}/usr/local/lib ${saved_LDFLAGS}"
|
||||||
@ -1407,7 +1410,6 @@ else
|
|||||||
LDFLAGS="-L/usr/local/lib ${saved_LDFLAGS}"
|
LDFLAGS="-L/usr/local/lib ${saved_LDFLAGS}"
|
||||||
fi
|
fi
|
||||||
CPPFLAGS="-I/usr/local/include ${saved_CPPFLAGS}"
|
CPPFLAGS="-I/usr/local/include ${saved_CPPFLAGS}"
|
||||||
LIBS="$LIBS -lz"
|
|
||||||
AC_TRY_LINK_FUNC([deflate], [AC_DEFINE([HAVE_LIBZ])],
|
AC_TRY_LINK_FUNC([deflate], [AC_DEFINE([HAVE_LIBZ])],
|
||||||
[
|
[
|
||||||
AC_MSG_ERROR([*** zlib missing - please install first or check config.log ***])
|
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]) ]
|
[ AC_MSG_WARN([cross compiling: not checking zlib version]) ]
|
||||||
)
|
)
|
||||||
|
LIBS="$saved_LIBS"
|
||||||
fi
|
fi
|
||||||
|
|
||||||
dnl UnixWare 2.x
|
dnl UnixWare 2.x
|
||||||
@ -4778,6 +4781,7 @@ AC_ARG_WITH([kerberos5],
|
|||||||
)
|
)
|
||||||
AC_SUBST([GSSLIBS])
|
AC_SUBST([GSSLIBS])
|
||||||
AC_SUBST([K5LIBS])
|
AC_SUBST([K5LIBS])
|
||||||
|
AC_SUBST([CHANNELLIBS])
|
||||||
|
|
||||||
# Looking for programs, paths and files
|
# Looking for programs, paths and files
|
||||||
|
|
||||||
|
Loading…
x
Reference in New Issue
Block a user