84f939323f
obsolte patches: * krb5-1.7-nodeplibs.patch * krb5-1.9.1-ai_addrconfig.patch * krb5-1.9.1-ai_addrconfig2.patch * krb5-1.9.1-sendto_poll.patch * krb5-1.9-canonicalize-fallback.patch * krb5-1.9-paren.patch * krb5-klist_s.patch * krb5-pkinit-cms2.patch * krb5-trunk-chpw-err.patch * krb5-trunk-gss_delete_sec.patch * krb5-trunk-kadmin-oldproto.patch * krb5-1.9-MITKRB5-SA-2011-006.dif * krb5-1.9-gss_display_status-iakerb.patch * krb5-1.9.1-sendto_poll2.patch * krb5-1.9.1-sendto_poll3.patch * krb5-1.9-MITKRB5-SA-2011-007.dif - Fix an interop issue with Windows Server 2008 R2 Read-Only Domain Controllers. - Update a workaround for a glibc bug that would cause DNS PTR queries to occur even when rdns = false. - Fix a kadmind denial of service issue (null pointer dereference), which could only be triggered by an administrator with the "create" privilege. [CVE-2012-1013] - Fix access controls for KDB string attributes [CVE-2012-1012] - Make the ASN.1 encoding of key version numbers interoperate with Windows Read-Only Domain Controllers - Avoid generating spurious password expiry warnings in cases where the KDC sends an account expiry time without a password expiry time OBS-URL: https://build.opensuse.org/package/show/network/krb5?expand=0&rev=65
61 lines
2.9 KiB
Diff
61 lines
2.9 KiB
Diff
Build binaries in this package as RELRO PIEs, libraries as partial RELRO,
|
|
and install shared libraries with the execute bit set on them. Prune out
|
|
the -L/usr/lib* and PIE flags where they might leak out and affect
|
|
apps which just want to link with the libraries. FIXME: needs to check and
|
|
not just assume that the compiler supports using these flags.
|
|
|
|
Index: krb5-1.10.2/src/config/shlib.conf
|
|
===================================================================
|
|
--- krb5-1.10.2.orig/src/config/shlib.conf
|
|
+++ krb5-1.10.2/src/config/shlib.conf
|
|
@@ -419,7 +419,7 @@ mips-*-netbsd*)
|
|
SHLIBEXT=.so
|
|
# Linux ld doesn't default to stuffing the SONAME field...
|
|
# Use objdump -x to examine the fields of the library
|
|
- LDCOMBINE='$(CC) -shared -fPIC -Wl,-h,$(LIBPREFIX)$(LIBBASE)$(SHLIBSEXT),--no-undefined'
|
|
+ LDCOMBINE='$(CC) -shared -fPIC -Wl,-h,$(LIBPREFIX)$(LIBBASE)$(SHLIBSEXT),--no-undefined -Wl,-z,relro'
|
|
#
|
|
LDCOMBINE_TAIL='-Wl,--version-script binutils.versions && $(PERL) -w $(top_srcdir)/util/export-check.pl $(SHLIB_EXPORT_FILE) $@'
|
|
SHLIB_EXPORT_FILE_DEP=binutils.versions
|
|
@@ -430,7 +430,8 @@ mips-*-netbsd*)
|
|
SHLIB_EXPFLAGS='$(SHLIB_RPATH_FLAGS) $(SHLIB_DIRS) $(SHLIB_EXPLIBS)'
|
|
PROFFLAGS=-pg
|
|
PROG_RPATH_FLAGS='$(RPATH_FLAG)$(PROG_RPATH)'
|
|
- CC_LINK_SHARED='$(CC) $(PROG_LIBPATH) $(PROG_RPATH_FLAGS) $(CFLAGS) $(LDFLAGS)'
|
|
+ CC_LINK_SHARED='$(CC) $(PROG_LIBPATH) $(PROG_RPATH_FLAGS) $(CFLAGS) -pie -Wl,-z,relro -Wl,-z,now $(LDFLAGS)'
|
|
+ INSTALL_SHLIB='${INSTALL} -m755'
|
|
CC_LINK_STATIC='$(CC) $(PROG_LIBPATH) $(CFLAGS) $(LDFLAGS)'
|
|
CXX_LINK_SHARED='$(CXX) $(PROG_LIBPATH) $(PROG_RPATH_FLAGS) $(CXXFLAGS) $(LDFLAGS)'
|
|
CXX_LINK_STATIC='$(CXX) $(PROG_LIBPATH) $(CXXFLAGS) $(LDFLAGS)'
|
|
Index: krb5-1.10.2/src/krb5-config.in
|
|
===================================================================
|
|
--- krb5-1.10.2.orig/src/krb5-config.in
|
|
+++ krb5-1.10.2/src/krb5-config.in
|
|
@@ -189,6 +189,13 @@ if test -n "$do_libs"; then
|
|
-e 's#\$(PTHREAD_CFLAGS)#'"$PTHREAD_CFLAGS"'#' \
|
|
-e 's#\$(CFLAGS)##'`
|
|
|
|
+ if test `dirname $libdir` = /usr ; then
|
|
+ lib_flags=`echo $lib_flags | sed -e "s#-L$libdir##" -e "s#$RPATH_FLAG$libdir##"`
|
|
+ fi
|
|
+ lib_flags=`echo $lib_flags | sed -e "s#-fPIE##g" -e "s#-pie##g"`
|
|
+ lib_flags=`echo $lib_flags | sed -e "s#-Wl,-z,relro##g"`
|
|
+ lib_flags=`echo $lib_flags | sed -e "s#-Wl,-z,now##g"`
|
|
+
|
|
if test $library = 'kdb'; then
|
|
lib_flags="$lib_flags -lkdb5 $KDB5_DB_LIB"
|
|
library=krb5
|
|
Index: krb5-1.10.2/src/config/pre.in
|
|
===================================================================
|
|
--- krb5-1.10.2.orig/src/config/pre.in
|
|
+++ krb5-1.10.2/src/config/pre.in
|
|
@@ -190,7 +190,7 @@ INSTALL_PROGRAM=@INSTALL_PROGRAM@ $(INST
|
|
INSTALL_SCRIPT=@INSTALL_PROGRAM@
|
|
INSTALL_DATA=@INSTALL_DATA@
|
|
INSTALL_SHLIB=@INSTALL_SHLIB@
|
|
-INSTALL_SETUID=$(INSTALL) $(INSTALL_STRIP) -m 4755 -o root
|
|
+INSTALL_SETUID=$(INSTALL) $(INSTALL_STRIP) -m 4755
|
|
## This is needed because autoconf will sometimes define @exec_prefix@ to be
|
|
## ${prefix}.
|
|
prefix=@prefix@
|