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 e9f9a828c..8ceb29ae2 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 bb56f8d6d..0dc52503c 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 d5ca2cb4e..480d80dd7 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 1c69672d7..76748b8fa 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? ) \ -- 2.39.5