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 <shadow@dementia.org>
Tested-by: BuildBot <buildbot@rampaginggeek.com>
This commit is contained in:
Andrew Deason 2011-04-26 14:44:46 -05:00 committed by Derrick Brashear
parent f314dae7fd
commit 64c92b2444
4 changed files with 19 additions and 21 deletions

View File

@ -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

View File

@ -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 <rx/rx.h>
#include <krb5.h>
#ifdef HAVE_KERBEROS
# include <krb5.h>
#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;

View File

@ -38,7 +38,9 @@ OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
#include <ubik.h>
#include <rx/rx_null.h>
#include <rx/rxkad.h>
#include <krb5.h>
#ifdef HAVE_KERBEROS
# include <krb5.h>
#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

View File

@ -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? ) \