From 64c92b24447aa1a86a4557d6bab3a72b38640fce 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). Change-Id: Ief620ca99223f195795dcbe746b47fcbfa2e7450 Reviewed-on: http://gerrit.openafs.org/4577 Reviewed-by: Derrick Brashear Tested-by: BuildBot --- 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 48fa738a65..02f4f9a3b4 100644 --- a/Makefile.in +++ b/Makefile.in @@ -153,11 +153,7 @@ util: $(DIR_roken) procmgmt hcrypto 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 84be5e864b..92d29b0c71 100644 --- a/src/libafscp/afscp_server.c +++ b/src/libafscp/afscp_server.c @@ -38,7 +38,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" @@ -165,9 +167,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) { @@ -188,6 +192,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 defd690d37..f0478119f2 100644 --- a/src/libafscp/afscp_util.c +++ b/src/libafscp/afscp_util.c @@ -38,7 +38,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" @@ -97,7 +99,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; @@ -200,6 +203,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 124ea482c9..fd58d7d9c6 100644 --- a/src/venus/Makefile.in +++ b/src/venus/Makefile.in @@ -96,12 +96,8 @@ afscbint.ss.o: ../fsint/afscbint.ss.c ${PTH_CCRULE} ../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) $(AFS_CFLAGS) -o afsio afsio.o vldbint.cs.o afscbint.ss.o vldbint.xdr.o ${AFSIO_LIBS} \ - $(LIB_hcrypto) $(LIB_roken) ${MT_LIBS} ${XLIBS} ${KRB5LIBS} ; \ - else \ - echo "Skipping afsio (KRB5 build disabled)" ; \ - fi + $(MT_CC) $(PTH_LDFLAGS) $(AFS_CFLAGS) -o afsio afsio.o vldbint.cs.o afscbint.ss.o vldbint.xdr.o ${AFSIO_LIBS} \ + $(LIB_hcrypto) $(LIB_roken) ${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? ) \ @@ -350,9 +344,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? ) \