From 48f9ce6e3a7406eec1a9a6dc481743ad41284103 Mon Sep 17 00:00:00 2001 From: Andrew Deason Date: Tue, 26 Apr 2011 14:44:46 -0500 Subject: [PATCH] Build libafscp when we lack kerberos Currently, venus fails to build without kerberos, since the dependencies for afsio always include afscp.h, which does not exist when we do not build libafscp. To fix this the easy way, and since libafscp is still very useful without kerberos, allow libafscp to build without kerberos support (which limits it to anonymous connections only). Reviewed-on: http://gerrit.openafs.org/4577 Reviewed-by: Derrick Brashear Tested-by: BuildBot (cherry picked from commit 64c92b24447aa1a86a4557d6bab3a72b38640fce) Change-Id: I32ad1e26ab4f45647a69c0641e3027006e28bc2e Reviewed-on: http://gerrit.openafs.org/5385 Reviewed-by: Derrick Brashear Tested-by: Derrick Brashear --- Makefile.in | 6 +----- src/libafscp/afscp_server.c | 10 ++++++++-- src/libafscp/afscp_util.c | 8 ++++++-- src/venus/Makefile.in | 16 ++++------------ 4 files changed, 19 insertions(+), 21 deletions(-) diff --git a/Makefile.in b/Makefile.in index e9f9a828c8..8ceb29ae2a 100644 --- a/Makefile.in +++ b/Makefile.in @@ -153,11 +153,7 @@ util: procmgmt des lwp_depinstall rx_depinstall +${COMPILE_PART1} util ${COMPILE_PART2} libafscp: util afs volser vlserver rx auth fsint - +if test "@BUILD_KRB5@" = "yes"; then \ - ${COMPILE_PART1} libafscp ${COMPILE_PART2} ; \ - else \ - echo Skipping libafscp for ${SYS_NAME} ; \ - fi + +${COMPILE_PART1} libafscp ${COMPILE_PART2} audit: util rx rxkad fsint +${COMPILE_PART1} audit ${COMPILE_PART2} #TODO diff --git a/src/libafscp/afscp_server.c b/src/libafscp/afscp_server.c index bb56f8d6d4..0dc52503c9 100644 --- a/src/libafscp/afscp_server.c +++ b/src/libafscp/afscp_server.c @@ -36,7 +36,9 @@ OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. #define AFSCONF_CLIENTNAME AFSDIR_CLIENT_ETC_DIRPATH #endif #include -#include +#ifdef HAVE_KERBEROS +# include +#endif #include "afscp.h" #include "afscp_internal.h" @@ -163,9 +165,11 @@ afscp_DefaultCell(void) int afscp_SetDefaultRealm(const char *realmname) { + char *newdefrealm; + +#ifdef HAVE_KERBEROS /* krb5_error_code k5ec; */ krb5_context k5con; - char *newdefrealm; int code; if (realmname == NULL) { @@ -186,6 +190,8 @@ afscp_SetDefaultRealm(const char *realmname) * return -1; * } */ /* krb5_set_default_realm() is returning 0 on success, not KRB5KDC_ERR_NONE */ +#endif /* HAVE_KERBEROS */ + newdefrealm = strdup(realmname); if (newdefrealm == NULL) { return -1; diff --git a/src/libafscp/afscp_util.c b/src/libafscp/afscp_util.c index d5ca2cb4e1..480d80dd77 100644 --- a/src/libafscp/afscp_util.c +++ b/src/libafscp/afscp_util.c @@ -36,7 +36,9 @@ OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. #include #include #include -#include +#ifdef HAVE_KERBEROS +# include +#endif #include "afscp.h" #include "afscp_internal.h" @@ -95,7 +97,8 @@ _GetNullSecurityObject(struct afscp_cell *cell) int _GetSecurityObject(struct afscp_cell *cell) { - int code; + int code = ENOENT; +#ifdef HAVE_KERBEROS krb5_context context; krb5_creds match; krb5_creds *cred; @@ -198,6 +201,7 @@ _GetSecurityObject(struct afscp_cell *cell) return 0; try_anon: +#endif /* HAVE_KERBEROS */ if (try_anonymous) return _GetNullSecurityObject(cell); else diff --git a/src/venus/Makefile.in b/src/venus/Makefile.in index 1c69672d7f..76748b8fab 100644 --- a/src/venus/Makefile.in +++ b/src/venus/Makefile.in @@ -96,12 +96,8 @@ afscbint.ss.o: ${srcdir}/../fsint/afscbint.ss.c ${PTH_CCRULE} ${srcdir}/../fsint/afscbint.ss.c afsio: afsio.o vldbint.cs.o afscbint.ss.o vldbint.xdr.o ${AFSIO_LIBS} - +if test "@BUILD_KRB5@" = "yes"; then \ - $(MT_CC) @KRB5_CPPFLAGS@ $(PTH_LDFLAGS) $(PTH_CFLAGS) -o afsio afsio.o vldbint.cs.o afscbint.ss.o vldbint.xdr.o ${AFSIO_LIBS} \ - ${MT_LIBS} ${XLIBS} ${KRB5LIBS} ; \ - else \ - echo "Skipping afsio (KRB5 build disabled)" ; \ - fi + $(MT_CC) @KRB5_CPPFLAGS@ $(PTH_LDFLAGS) $(PTH_CFLAGS) -o afsio afsio.o vldbint.cs.o afscbint.ss.o vldbint.xdr.o ${AFSIO_LIBS} \ + ${MT_LIBS} ${XLIBS} ${KRB5LIBS} livesys.o: livesys.c ${INCLS} AFS_component_version_number.c @@ -309,9 +305,7 @@ install: kdump-build fs livesys up fstrace cmdebug afsio ${INSTALL_PROGRAM} up ${DESTDIR}${bindir}/up ${INSTALL_PROGRAM} fstrace ${DESTDIR}${sbindir}/fstrace ${INSTALL_PROGRAM} cmdebug ${DESTDIR}${bindir}/cmdebug - if test "@BUILD_KRB5@" = "yes"; then \ - ${INSTALL_PROGRAM} afsio ${DESTDIR}${bindir}/afsio ; \ - fi + ${INSTALL_PROGRAM} afsio ${DESTDIR}${bindir}/afsio ; -set -x; \ case ${SYS_NAME} in \ sgi_6? ) \ @@ -352,9 +346,7 @@ dest: kdump-build fs livesys up fstrace cmdebug afsio ${INSTALL_PROGRAM} up ${DEST}/bin/up ${INSTALL_PROGRAM} fstrace ${DEST}/etc/fstrace ${INSTALL_PROGRAM} cmdebug ${DEST}/bin/cmdebug - if test "@BUILD_KRB5@" = "yes"; then \ - ${INSTALL_PROGRAM} afsio ${DEST}/bin/afsio ; \ - fi + ${INSTALL_PROGRAM} afsio ${DEST}/bin/afsio -set -x; \ case ${SYS_NAME} in \ sgi_6? ) \