From: baalberith Date: Tue, 2 Dec 2008 14:49:13 +0000 (+0000) Subject: moved sed command to its own script(for BSD with non-GNU make users) + improved confi... X-Git-Tag: v5.4~5 X-Git-Url: http://www.project-moonshot.org/gitweb/?p=mod_auth_kerb.cvs%2F.git;a=commitdiff_plain;h=2aeb449fb46064638d040c8054c6c649971c391a moved sed command to its own script(for BSD with non-GNU make users) + improved configure script to correctly handle with --with-krb5=yes --- diff --git a/Makefile.in b/Makefile.in index 9c40491..36f6046 100644 --- a/Makefile.in +++ b/Makefile.in @@ -10,20 +10,13 @@ CPPFLAGS = -I. -Ispnegokrb5 $(KRB5_CPPFLAGS) $(KRB4_CPPFLAGS) $(DEFS) LDFLAGS = $(KRB5_LDFLAGS) $(KRB4_LDFLAGS) $(LIB_resolv) CFLAGS = -# Use these assignements instead of the default ones if your're building on BSD -# systems. A 'if' statemet would be better, of course. -#APXS_CPPFLAGS != [ -n "${CPPFLAGS}" ] && echo ${CPPFLAGS} | sed -e 's/\([^ ]*\)/-Wc,\1/g' -#APXS_LDFLAGS != [ -n "${LDFLAGS}" ] && echo ${LDFLAGS} | sed -e 's/\([^ ]*\)/-Wl,\1/g' -APXS_CPPFLAGS = ${shell [ -n "${CPPFLAGS}" ] && echo ${CPPFLAGS} | sed -e 's/\([^ ]*\)/-Wc,\1/g'} -APXS_LDFLAGS = ${shell [ -n "${LDFLAGS}" ] && echo ${LDFLAGS} | sed -e 's/\([^ ]*\)/-Wl,\1/g'} - all: src/mod_auth_kerb.so src/mod_auth_kerb.so: src/mod_auth_kerb.c $(SPNEGO_SRCS) - $(APXS) -c $(APXS_CPPFLAGS) $(APXS_CFLAGS) $(APXS_LDFLAGS) src/mod_auth_kerb.c $(SPNEGO_SRCS) + ./apxs.sh "${CPPFLAGS}" "${LDFLAGS}" "${SPNEGO_SRCS}" "${APXS}" "-c" "src/mod_auth_kerb.c" install: - $(APXS) -c -i $(APXS_CPPFLAGS) $(APXS_CFLAGS) $(APXS_LDFLAGS) src/mod_auth_kerb.c $(SPNEGO_SRCS) + ./apxs.sh "${CPPFLAGS}" "${LDFLAGS}" "${SPNEGO_SRCS}" "${APXS}" "-c -i" "src/mod_auth_kerb.c" clean: for i in . src spnegokrb5; do \ diff --git a/apxs.sh b/apxs.sh new file mode 100755 index 0000000..cdb3e65 --- /dev/null +++ b/apxs.sh @@ -0,0 +1,5 @@ +#!/bin/sh +cppflags=`[ -n "$1" ] && echo $1 | sed -e 's/\([^ ]*\)/-Wc,\1/g'` +ldflags=`[ -n "$2" ] && echo $2 | sed -e 's/\([^ ]*\)/-Wl,\1/g'` +ret=eval "$4" $5 $cppflags $ldflags src/mod_auth_kerb.c $3 +exit $ret diff --git a/configure.in b/configure.in index 341dcb4..2029216 100644 --- a/configure.in +++ b/configure.in @@ -43,10 +43,6 @@ if test "x$with_krb5" = "xyes" ; then with_krb5="" fi -if test "x$with_krb4" = "xyes" ; then - with_krb4="" -fi - if test "x$with_krb5" != "xno" ; then ac_save_CPPFLAGS="$CPPFLAGS" ac_save_LDFLAGS="$LDFLAGS" @@ -69,7 +65,7 @@ if test "x$with_krb5" != "xno" ; then if test -n "$krb5_config_command"; then TMP_KRB5_CPPFLAGS=`$krb5_config_command --cflags gssapi 2>/dev/null` fi - if test -z "$TMP_KRB5_CPPFLAGS"; then + if test -z "$TMP_KRB5_CPPFLAGS" -a -n "with_krb5"; then TMP_KRB5_CPPFLAGS="-I$with_krb5/include" fi CPPFLAGS="$CPPFLAGS $TMP_KRB5_CPPFLAGS" @@ -95,10 +91,14 @@ if test "x$with_krb5" != "xno" ; then LIBS="$ac_save_LIBS" fi fi - + if test "x$with_krb5"="x"; then + tmp_lf_inc="" + else + tmp_lf_inc="-L" + fi if test -z "$KRB5_LDFLAGS"; then #try MIT - TMP_KRB5_LDFLAGS="-L$with_krb5/lib -lgssapi_krb5 -lkrb5 -lk5crypto -lcom_err" + TMP_KRB5_LDFLAGS="$tmp_lf_inc$with_krb5/lib -lgssapi_krb5 -lkrb5 -lk5crypto -lcom_err" LIBS="$LIBS $TMP_KRB5_LDFLAGS $LIB_resolv" AC_CHECK_LIB(krb5, krb5_init_context, [ KRB5_LDFLAGS="$TMP_KRB5_LDFLAGS" ]) LIBS="$ac_save_LIBS" @@ -106,7 +106,7 @@ if test "x$with_krb5" != "xno" ; then if test -z "$KRB5_LDFLAGS"; then #Try Heimdal - TMP_KRB5_LDFLAGS="-L$with_krb5/lib -lgssapi -lkrb5 -lasn1 -lcrypto -lroken -lcrypt" + TMP_KRB5_LDFLAGS="$tmp_lf_inc$with_krb5/lib -lgssapi -lkrb5 -lasn1 -lcrypto -lroken -lcrypt" LIBS="$LIBS $TMP_KRB5_LDFLAGS $LIB_resolv" AC_CHECK_LIB(krb5, krb5_init_context, [ KRB5_LDFLAGS="$TMP_KRB5_LDFLAGS" ]) LIBS="$ac_save_LIBS" @@ -114,7 +114,7 @@ if test "x$with_krb5" != "xno" ; then if test -z "$KRB5_LDFLAGS"; then #Try Heimdal on OpenBSD - TMP_KRB5_LDFLAGS="-L$with_krb5/lib -lgssapi -lkrb5 -lasn1 -ldes -lcrypto" + TMP_KRB5_LDFLAGS="$tmp_lf_inc$with_krb5/lib -lgssapi -lkrb5 -lasn1 -ldes -lcrypto" LIBS="$LIBS $TMP_KRB5_LDFLAGS $LIB_resolv" AC_CHECK_LIB(krb5, krb5_init_context, [ KRB5_LDFLAGS="$TMP_KRB5_LDFLAGS" ]) LIBS="$ac_save_LIBS" @@ -123,7 +123,6 @@ if test "x$with_krb5" != "xno" ; then if test -z "$KRB5_LDFLAGS"; then with_krb5=no else - with_krb5=yes AC_DEFINE(KRB5) AC_CHECK_LIB(krb5, krb5_cc_new_unique, @@ -150,8 +149,11 @@ if test "x$with_krb5" != "xno" ; then ac_save_CFLAGS="$CFLAGS" CFLAGS="$KRB5_CPPFLAGS" ac_save_LDFLAGS="$LDFLAGS" - LDFLAGS=$KRB5_LDFLAGS - + if test -n "$with_krb5"; then + LDFLAGS="$KRB5_LDFLAGS -Wl,-rpath -Wl,$with_krb5/lib" + else + LDFLAGS="$KRB5_LDFLAGS" + fi AC_TRY_RUN([ #include #include @@ -242,6 +244,10 @@ AC_ARG_WITH(krb4, AC_HELP_STRING([--with-krb4=dir], [use krb4 in dir]), [ with_krb4="$withval" ]) +if test "x$with_krb4" = "xyes" ; then + with_krb4="" +fi + if test "x$with_krb4" != "xno"; then AC_MSG_CHECKING([for Kerberos4 installation]) if test "x$with_krb4" != "x"; then diff --git a/src/mod_auth_kerb.c b/src/mod_auth_kerb.c index 0574c5d..70bd9f1 100644 --- a/src/mod_auth_kerb.c +++ b/src/mod_auth_kerb.c @@ -154,7 +154,7 @@ typedef struct { char *krb_auth_realms; int krb_save_credentials; int krb_verify_kdc; - const char *krb_service_name; + char *krb_service_name; int krb_authoritative; int krb_delegate_basic; #if 0 @@ -933,7 +933,7 @@ authenticate_user_krb5pwd(request_rec *r, const char *auth_line) { const char *sent_pw = NULL; - const char *sent_name = NULL; + char *sent_name = NULL; const char *realms = NULL; const char *realm = NULL; krb5_context kcontext = NULL;