Build libafscp when we lack kerberos
authorAndrew Deason <adeason@sinenomine.net>
Tue, 26 Apr 2011 19:44:46 +0000 (14:44 -0500)
committerDerrick Brashear <shadow@dementia.org>
Wed, 27 Apr 2011 17:38:18 +0000 (10:38 -0700)
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>

Makefile.in
src/libafscp/afscp_server.c
src/libafscp/afscp_util.c
src/venus/Makefile.in

index 48fa738..02f4f9a 100644 (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
index 84be5e8..92d29b0 100644 (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;
index defd690..f047811 100644 (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
index 124ea48..fd58d7d 100644 (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? ) \