Re: [PATCH 06/25] autofs-5.0.7 - fix compile error with heimdal support enabled

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Tue, 2013-08-20 at 11:36 +0800, Dennis Lan (dlan) wrote:
> On Mon, Aug 19, 2013 at 9:12 AM, Ian Kent <raven@xxxxxxxxxx> wrote:
> > From: Lan Yixun (dlan) <dennis.yxun@xxxxxxxxx>
> >
> > this patch instroduce a compatible layer between Heimdal and MTT Krb5.
> > And I slightly rework the original patch to make it more readable.
> >
> > Upstream Discussion:
> >   http://thread.gmane.org/gmane.linux.kernel.autofs/4203
> >
> > Gentoo Bugs:
> >   https://bugs.gentoo.org/show_bug.cgi?id=210762
> >
> > Edited by: Ian Kent <raven@xxxxxxxxxx>
> > - fix code indentation.
> > - update configure to include change.
> >
> > Signed-off-by: Lan Yixun (dlan) <dennis.yxun@xxxxxxxxx>
> > ---
> >  CHANGELOG            |    1 +
> >  aclocal.m4           |    7 ++++
> >  configure            |   84 ++++++++++++++++++++++++++++++++++++++++++++++++++
> >  include/config.h.in  |    3 ++
> >  modules/cyrus-sasl.c |   39 ++++++++++++++++++++---
> >  5 files changed, 129 insertions(+), 5 deletions(-)
> >
> > diff --git a/CHANGELOG b/CHANGELOG
> > index fe232f4..c77be18 100644
> > --- a/CHANGELOG
> > +++ b/CHANGELOG
> > @@ -58,6 +58,7 @@
> >  - add after sssd dependency to unit file.
> >  - dont start readmap unless ready.
> >  - fix crash due to thread unsafe use of libldap.
> > +- fix compile error with heimdal support enabled.
> >
> >  25/07/2012 autofs-5.0.7
> >  =======================
> > diff --git a/aclocal.m4 b/aclocal.m4
> > index c5de159..7a8b03c 100644
> > --- a/aclocal.m4
> > +++ b/aclocal.m4
> > @@ -299,6 +299,13 @@ else
> >    HAVE_KRB5=1
> >    KRB5_LIBS=`$KRB5_CONFIG --libs`
> >    KRB5_FLAGS=`$KRB5_CONFIG --cflags`
> > +
> > +  SAVE_CFLAGS=$CFLAGS
> > +  SAVE_LIBS=$LIBS
> > +  CFLAGS="$CFLAGS $KRB5_FLAGS"
> > +  LIBS="$LIBS $KRB5_LIBS"
> > +
> > +  AC_CHECK_FUNCS([krb5_principal_get_realm])
> >  fi])
> >
> >  dnl --------------------------------------------------------------------------
> > diff --git a/configure b/configure
> > index 08b7ccc..1086eba 100755
> > --- a/configure
> > +++ b/configure
> > @@ -1559,6 +1559,73 @@ fi
> >
> >  } # ac_fn_c_try_link
> >
> > +# ac_fn_c_check_func LINENO FUNC VAR
> > +# ----------------------------------
> > +# Tests whether FUNC exists, setting the cache variable VAR accordingly
> > +ac_fn_c_check_func ()
> > +{
> > +  as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
> > +  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5
> > +$as_echo_n "checking for $2... " >&6; }
> > +if eval \${$3+:} false; then :
> > +  $as_echo_n "(cached) " >&6
> > +else
> > +  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
> > +/* end confdefs.h.  */
> > +/* Define $2 to an innocuous variant, in case <limits.h> declares $2.
> > +   For example, HP-UX 11i <limits.h> declares gettimeofday.  */
> > +#define $2 innocuous_$2
> > +
> > +/* System header to define __stub macros and hopefully few prototypes,
> > +    which can conflict with char $2 (); below.
> > +    Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
> > +    <limits.h> exists even on freestanding compilers.  */
> > +
> > +#ifdef __STDC__
> > +# include <limits.h>
> > +#else
> > +# include <assert.h>
> > +#endif
> > +
> > +#undef $2
> > +
> > +/* Override any GCC internal prototype to avoid an error.
> > +   Use char because int might match the return type of a GCC
> > +   builtin and then its argument prototype would still apply.  */
> > +#ifdef __cplusplus
> > +extern "C"
> > +#endif
> > +char $2 ();
> > +/* The GNU C library defines this for functions which it implements
> > +    to always fail with ENOSYS.  Some functions are actually named
> > +    something starting with __ and the normal name is an alias.  */
> > +#if defined __stub_$2 || defined __stub___$2
> > +choke me
> > +#endif
> > +
> > +int
> > +main ()
> > +{
> > +return $2 ();
> > +  ;
> > +  return 0;
> > +}
> > +_ACEOF
> > +if ac_fn_c_try_link "$LINENO"; then :
> > +  eval "$3=yes"
> > +else
> > +  eval "$3=no"
> > +fi
> > +rm -f core conftest.err conftest.$ac_objext \
> > +    conftest$ac_exeext conftest.$ac_ext
> > +fi
> > +eval ac_res=\$$3
> > +              { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
> > +$as_echo "$ac_res" >&6; }
> > +  eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
> > +
> > +} # ac_fn_c_check_func
> > +
> >  # ac_fn_c_try_cpp LINENO
> >  # ----------------------
> >  # Try to preprocess conftest.$ac_ext, and return whether this succeeded.
> > @@ -4039,6 +4106,23 @@ $as_echo "yes" >&6; }
> >    HAVE_KRB5=1
> >    KRB5_LIBS=`$KRB5_CONFIG --libs`
> >    KRB5_FLAGS=`$KRB5_CONFIG --cflags`
> > +
> > +  SAVE_CFLAGS=$CFLAGS
> > +  SAVE_LIBS=$LIBS
> > +  CFLAGS="$CFLAGS $KRB5_FLAGS"
> > +  LIBS="$LIBS $KRB5_LIBS"
> > +
> > +  for ac_func in krb5_principal_get_realm
> > +do :
> > +  ac_fn_c_check_func "$LINENO" "krb5_principal_get_realm" "ac_cv_func_krb5_principal_get_realm"
> > +if test "x$ac_cv_func_krb5_principal_get_realm" = xyes; then :
> > +  cat >>confdefs.h <<_ACEOF
> > +#define HAVE_KRB5_PRINCIPAL_GET_REALM 1
> > +_ACEOF
> > +
> > +fi
> > +done
> > +
> >  fi
> >
> >  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for library containing versionsort" >&5
> > diff --git a/include/config.h.in b/include/config.h.in
> > index a2a05a8..8a52080 100644
> > --- a/include/config.h.in
> > +++ b/include/config.h.in
> > @@ -24,6 +24,9 @@
> >  /* Define to 1 if you have the <inttypes.h> header file. */
> >  #undef HAVE_INTTYPES_H
> >
> > +/* Define to 1 if you have the `krb5_principal_get_realm' function. */
> > +#undef HAVE_KRB5_PRINCIPAL_GET_REALM
> > +
> >  /* Define to 1 if you have the `ldap_create_page_control' function. */
> >  #undef HAVE_LDAP_CREATE_PAGE_CONTROL
> >
> > diff --git a/modules/cyrus-sasl.c b/modules/cyrus-sasl.c
> > index 68f9242..b9c16f3 100644
> > --- a/modules/cyrus-sasl.c
> > +++ b/modules/cyrus-sasl.c
> > @@ -64,6 +64,35 @@
> >  #endif
> >  #endif
> >
> > +#ifdef HAVE_KRB5_PRINCIPAL_GET_REALM
> > +void _krb5_princ_realm(krb5_context context, krb5_const_principal princ,
> > +                          const char **realm, int *len)
> > +{
> > +       *realm = krb5_principal_get_realm(context, princ);
> > +       if (*realm)
> > +               *len = strlen(*realm);
> > +       else
> > +               *len = 0;
> > +       return;
> 
> missed  '}' here

Fixed and pushed to temporary pending branch, patch also updated in
master branch.

Ian


--
To unsubscribe from this list: send the line "unsubscribe autofs" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html




[Index of Archives]     [Linux Filesystem Development]     [Linux Ext4]     [Linux ARM Kernel]     [Linux ARM]     [Linux Omap]     [Fedora ARM]     [IETF Annouce]     [Security]     [Bugtraq]     [Linux]     [Linux OMAP]     [Linux MIPS]     [ECOS]     [Asterisk Internet PBX]     [Linux API]

  Powered by Linux