From f15a508f9f82b56ab294deb04fcc6888f83182cc Mon Sep 17 00:00:00 2001 From: Kurt Zeilenga Date: Wed, 5 Apr 2006 23:35:55 +0000 Subject: [PATCH] Add auditlog build support (ITS#4372) --- CHANGES | 4 +- configure | 71 ++++++++++++++++++++++++------ configure.in | 17 +++++++ include/portable.hin | 3 ++ servers/slapd/overlays/Makefile.in | 6 ++- 5 files changed, 86 insertions(+), 15 deletions(-) diff --git a/CHANGES b/CHANGES index 8385caa082..eebb343ae7 100644 --- a/CHANGES +++ b/CHANGES @@ -8,8 +8,9 @@ OpenLDAP 2.3.21 Engineering Fixed libldap_r thr_yield(2) return handling (ITS#4469) Fixed slapd syncprov/glue interaction issue (ITS#4323, ITS#4417) Fixed slapd operational attrs in presence of global overlays (ITS#4431) - Fixed slapd connection cleanup (ITS#4465) Fixed slapd "threads" config value checking (ITS#4433) + Fixed slapd connection cleanup (ITS#4465) + Fixed slapd-ldbm crash on modify bug (ITS#4464) Fixed slapd-ldap potential bind deadlock (ITS#4409) Fixed slapd-ldap/meta conn expiration concurrency (ITS#4429) Fixed slapd-ldap failed bind connection trashing (ITS#4428) @@ -19,6 +20,7 @@ OpenLDAP 2.3.21 Engineering Fixed slapd-ldbm crash on modify bug (ITS#4464) Fixed slapd-meta write error mapping (ITS#4419) Build Environment + Added slapo-auditlog build support (ITS#4372) Fixed multi-precision sizeof detection (ITS#4416) Updated libtool to version 1.5.22 (ITS#4471) Updated shtool to version 2.0.5 diff --git a/configure b/configure index 872c1e557f..0afa764ad3 100755 --- a/configure +++ b/configure @@ -1,5 +1,5 @@ #! /bin/sh -# From configure.in OpenLDAP: pkg/ldap/configure.in,v 1.560.2.26 2006/02/13 17:35:52 kurt Exp . +# From configure.in OpenLDAP: pkg/ldap/configure.in,v 1.631 2006/02/27 10:20:08 hyc Exp . # Guess values for system-dependent variables and create Makefiles. # Generated by GNU Autoconf 2.59. # @@ -465,7 +465,7 @@ ac_includes_default="\ # include #endif" -ac_subst_vars='SHELL PATH_SEPARATOR PACKAGE_NAME PACKAGE_TARNAME PACKAGE_VERSION PACKAGE_STRING PACKAGE_BUGREPORT exec_prefix prefix program_transform_name bindir sbindir libexecdir datadir sysconfdir sharedstatedir localstatedir libdir includedir oldincludedir infodir mandir build_alias host_alias target_alias DEFS ECHO_C ECHO_N ECHO_T LIBS build build_cpu build_vendor build_os host host_cpu host_vendor host_os target target_cpu target_vendor target_os INSTALL_PROGRAM INSTALL_SCRIPT INSTALL_DATA CYGPATH_W PACKAGE VERSION ACLOCAL AUTOCONF AUTOMAKE AUTOHEADER MAKEINFO install_sh STRIP ac_ct_STRIP INSTALL_STRIP_PROGRAM mkdir_p AWK SET_MAKE am__leading_dot AMTAR am__tar am__untar OPENLDAP_LIBRELEASE OPENLDAP_LIBVERSION OPENLDAP_RELEASE_DATE top_builddir ldap_subdir CC AR CFLAGS LDFLAGS CPPFLAGS ac_ct_CC EXEEXT OBJEXT DEPDIR am__include am__quote AMDEP_TRUE AMDEP_FALSE AMDEPBACKSLASH CCDEPMODE am__fastdepCC_TRUE am__fastdepCC_FALSE EGREP LN_S ECHO ac_ct_AR RANLIB ac_ct_RANLIB DLLTOOL ac_ct_DLLTOOL AS ac_ct_AS OBJDUMP ac_ct_OBJDUMP CPP LIBTOOL PERLBIN OL_MKDEP OL_MKDEP_FLAGS LTSTATIC LIBOBJS LIBSRCS PLAT WITH_SASL WITH_TLS WITH_MODULES_ENABLED WITH_ACI_ENABLED BUILD_THREAD BUILD_LIBS_DYNAMIC BUILD_SLAPD BUILD_SLAPI SLAPD_SLAPI_DEPEND BUILD_BDB BUILD_DNSSRV BUILD_HDB BUILD_LDAP BUILD_LDBM BUILD_META BUILD_MONITOR BUILD_NULL BUILD_PASSWD BUILD_RELAY BUILD_PERL BUILD_SHELL BUILD_SQL BUILD_ACCESSLOG BUILD_DENYOP BUILD_DYNGROUP BUILD_DYNLIST BUILD_LASTMOD BUILD_PPOLICY BUILD_PROXYCACHE BUILD_REFINT BUILD_RETCODE BUILD_RWM BUILD_SYNCPROV BUILD_TRANSLUCENT BUILD_UNIQUE BUILD_VALSORT BUILD_SLURPD LDAP_LIBS SLAPD_LIBS SLURPD_LIBS LDBM_LIBS LTHREAD_LIBS LUTIL_LIBS WRAP_LIBS SLAPD_MODULES_CPPFLAGS SLAPD_MODULES_LDFLAGS SLAPD_NO_STATIC SLAPD_STATIC_BACKENDS SLAPD_DYNAMIC_BACKENDS SLAPD_STATIC_OVERLAYS SLAPD_DYNAMIC_OVERLAYS PERL_CPPFLAGS SLAPD_PERL_LDFLAGS MOD_PERL_LDFLAGS KRB4_LIBS KRB5_LIBS SASL_LIBS TLS_LIBS MODULES_LIBS SLAPI_LIBS LIBSLAPI LIBSLAPITOOLS AUTH_LIBS SLAPD_SLP_LIBS SLAPD_GMP_LIBS SLAPD_SQL_LDFLAGS SLAPD_SQL_LIBS SLAPD_SQL_INCLUDES LTLIBOBJS' +ac_subst_vars='SHELL PATH_SEPARATOR PACKAGE_NAME PACKAGE_TARNAME PACKAGE_VERSION PACKAGE_STRING PACKAGE_BUGREPORT exec_prefix prefix program_transform_name bindir sbindir libexecdir datadir sysconfdir sharedstatedir localstatedir libdir includedir oldincludedir infodir mandir build_alias host_alias target_alias DEFS ECHO_C ECHO_N ECHO_T LIBS build build_cpu build_vendor build_os host host_cpu host_vendor host_os target target_cpu target_vendor target_os INSTALL_PROGRAM INSTALL_SCRIPT INSTALL_DATA CYGPATH_W PACKAGE VERSION ACLOCAL AUTOCONF AUTOMAKE AUTOHEADER MAKEINFO install_sh STRIP ac_ct_STRIP INSTALL_STRIP_PROGRAM mkdir_p AWK SET_MAKE am__leading_dot AMTAR am__tar am__untar OPENLDAP_LIBRELEASE OPENLDAP_LIBVERSION OPENLDAP_RELEASE_DATE top_builddir ldap_subdir CC AR CFLAGS LDFLAGS CPPFLAGS ac_ct_CC EXEEXT OBJEXT DEPDIR am__include am__quote AMDEP_TRUE AMDEP_FALSE AMDEPBACKSLASH CCDEPMODE am__fastdepCC_TRUE am__fastdepCC_FALSE EGREP LN_S ECHO ac_ct_AR RANLIB ac_ct_RANLIB DLLTOOL ac_ct_DLLTOOL AS ac_ct_AS OBJDUMP ac_ct_OBJDUMP CPP LIBTOOL PERLBIN OL_MKDEP OL_MKDEP_FLAGS LTSTATIC LIBOBJS LIBSRCS PLAT WITH_SASL WITH_TLS WITH_MODULES_ENABLED WITH_ACI_ENABLED BUILD_THREAD BUILD_LIBS_DYNAMIC BUILD_SLAPD BUILD_SLAPI SLAPD_SLAPI_DEPEND BUILD_BDB BUILD_DNSSRV BUILD_HDB BUILD_LDAP BUILD_LDBM BUILD_META BUILD_MONITOR BUILD_NULL BUILD_PASSWD BUILD_RELAY BUILD_PERL BUILD_SHELL BUILD_SQL BUILD_ACCESSLOG BUILD_AUDITLOG BUILD_DENYOP BUILD_DYNGROUP BUILD_DYNLIST BUILD_LASTMOD BUILD_PPOLICY BUILD_PROXYCACHE BUILD_REFINT BUILD_RETCODE BUILD_RWM BUILD_SYNCPROV BUILD_TRANSLUCENT BUILD_UNIQUE BUILD_VALSORT BUILD_SLURPD LDAP_LIBS SLAPD_LIBS SLURPD_LIBS LDBM_LIBS LTHREAD_LIBS LUTIL_LIBS WRAP_LIBS SLAPD_MODULES_CPPFLAGS SLAPD_MODULES_LDFLAGS SLAPD_NO_STATIC SLAPD_STATIC_BACKENDS SLAPD_DYNAMIC_BACKENDS SLAPD_STATIC_OVERLAYS SLAPD_DYNAMIC_OVERLAYS PERL_CPPFLAGS SLAPD_PERL_LDFLAGS MOD_PERL_LDFLAGS KRB4_LIBS KRB5_LIBS SASL_LIBS TLS_LIBS MODULES_LIBS SLAPI_LIBS LIBSLAPI LIBSLAPITOOLS AUTH_LIBS SLAPD_SLP_LIBS SLAPD_GMP_LIBS SLAPD_SQL_LDFLAGS SLAPD_SQL_LIBS SLAPD_SQL_INCLUDES LTLIBOBJS' ac_subst_files='' # Initialize some variables set by options. @@ -1048,6 +1048,7 @@ SLAPD Backend Options: SLAPD Overlay Options: --enable-overlays enable all available overlays no|yes|mod --enable-accesslog In-Directory Access Logging overlay no|yes|mod [no] + --enable-auditlog Audit Logging overlay no|yes|mod [no] --enable-denyop Deny Operation overlay no|yes|mod [no] --enable-dyngroup Dynamic Group overlay no|yes|mod [no] --enable-dynlist Dynamic List overlay no|yes|mod [no] @@ -3141,6 +3142,7 @@ fi; # end --enable-sql Overlays="accesslog \ + auditlog \ denyop \ dyngroup \ dynlist \ @@ -3206,6 +3208,30 @@ else fi; # end --enable-accesslog +# OpenLDAP --enable-auditlog + + # Check whether --enable-auditlog or --disable-auditlog was given. +if test "${enable_auditlog+set}" = set; then + enableval="$enable_auditlog" + + ol_arg=invalid + for ol_val in no yes mod ; do + if test "$enableval" = "$ol_val" ; then + ol_arg="$ol_val" + fi + done + if test "$ol_arg" = "invalid" ; then + { { echo "$as_me:$LINENO: error: bad value $enableval for --enable-auditlog" >&5 +echo "$as_me: error: bad value $enableval for --enable-auditlog" >&2;} + { (exit 1); exit 1; }; } + fi + ol_enable_auditlog="$ol_arg" + +else + ol_enable_auditlog=${ol_enable_overlays:-no} +fi; +# end --enable-auditlog + # OpenLDAP --enable-denyop # Check whether --enable-denyop or --disable-denyop was given. @@ -3848,6 +3874,7 @@ BUILD_SHELL=no BUILD_SQL=no BUILD_ACCESSLOG=no +BUILD_AUDITLOG=no BUILD_DENYOP=no BUILD_DYNGROUP=no BUILD_DYNLIST=no @@ -5686,7 +5713,7 @@ ia64-*-hpux*) ;; *-*-irix6*) # Find out which ABI we are using. - echo '#line 5689 "configure"' > conftest.$ac_ext + echo '#line 5716 "configure"' > conftest.$ac_ext if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5 (eval $ac_compile) 2>&5 ac_status=$? @@ -7666,11 +7693,11 @@ else -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ -e 's:$: $lt_compiler_flag:'` - (eval echo "\"\$as_me:7669: $lt_compile\"" >&5) + (eval echo "\"\$as_me:7696: $lt_compile\"" >&5) (eval "$lt_compile" 2>conftest.err) ac_status=$? cat conftest.err >&5 - echo "$as_me:7673: \$? = $ac_status" >&5 + echo "$as_me:7700: \$? = $ac_status" >&5 if (exit $ac_status) && test -s "$ac_outfile"; then # The compiler can only warn and ignore the option if not recognized # So say no if there are warnings other than the usual output. @@ -7928,11 +7955,11 @@ else -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ -e 's:$: $lt_compiler_flag:'` - (eval echo "\"\$as_me:7931: $lt_compile\"" >&5) + (eval echo "\"\$as_me:7958: $lt_compile\"" >&5) (eval "$lt_compile" 2>conftest.err) ac_status=$? cat conftest.err >&5 - echo "$as_me:7935: \$? = $ac_status" >&5 + echo "$as_me:7962: \$? = $ac_status" >&5 if (exit $ac_status) && test -s "$ac_outfile"; then # The compiler can only warn and ignore the option if not recognized # So say no if there are warnings other than the usual output. @@ -7990,11 +8017,11 @@ else -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \ -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \ -e 's:$: $lt_compiler_flag:'` - (eval echo "\"\$as_me:7993: $lt_compile\"" >&5) + (eval echo "\"\$as_me:8020: $lt_compile\"" >&5) (eval "$lt_compile" 2>out/conftest.err) ac_status=$? cat out/conftest.err >&5 - echo "$as_me:7997: \$? = $ac_status" >&5 + echo "$as_me:8024: \$? = $ac_status" >&5 if (exit $ac_status) && test -s out/conftest2.$ac_objext then # The compiler can only warn and ignore the option if not recognized @@ -10238,7 +10265,7 @@ else lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2 lt_status=$lt_dlunknown cat > conftest.$ac_ext < conftest.$ac_ext < 4 ; then + if test $ac_cv_sizeof_long_long -gt 4 ; then ol_with_mp=longlong cat >>confdefs.h <<\_ACEOF @@ -41772,7 +41799,7 @@ echo "$as_me: error: long long unusable for multiple precision" >&2;} fi fi if test $ol_with_mp = long || test $ol_with_mp = auto ; then - if test $ac_cv_sizeof_long > 4 ; then + if test $ac_cv_sizeof_long -gt 4 ; then ol_with_mp=long cat >>confdefs.h <<\_ACEOF @@ -44489,6 +44516,22 @@ _ACEOF fi +if test "$ol_enable_auditlog" != no ; then + BUILD_AUDITLOG=$ol_enable_auditlog + if test "$ol_enable_auditlog" = mod ; then + MFLAG=SLAPD_MOD_DYNAMIC + SLAPD_DYNAMIC_OVERLAYS="$SLAPD_DYNAMIC_OVERLAYS auditlog.la" + else + MFLAG=SLAPD_MOD_STATIC + SLAPD_STATIC_OVERLAYS="$SLAPD_STATIC_OVERLAYS auditlog.o" + fi + +cat >>confdefs.h <<_ACEOF +#define SLAPD_OVER_AUDITLOG $MFLAG +_ACEOF + +fi + if test "$ol_enable_denyop" != no ; then BUILD_DENYOP=$ol_enable_denyop if test "$ol_enable_denyop" = mod ; then @@ -44810,6 +44853,7 @@ fi + # Check whether --with-xxinstall or --without-xxinstall was given. @@ -45561,6 +45605,7 @@ s,@BUILD_PERL@,$BUILD_PERL,;t t s,@BUILD_SHELL@,$BUILD_SHELL,;t t s,@BUILD_SQL@,$BUILD_SQL,;t t s,@BUILD_ACCESSLOG@,$BUILD_ACCESSLOG,;t t +s,@BUILD_AUDITLOG@,$BUILD_AUDITLOG,;t t s,@BUILD_DENYOP@,$BUILD_DENYOP,;t t s,@BUILD_DYNGROUP@,$BUILD_DYNGROUP,;t t s,@BUILD_DYNLIST@,$BUILD_DYNLIST,;t t diff --git a/configure.in b/configure.in index d815caa724..737e80e212 100644 --- a/configure.in +++ b/configure.in @@ -338,6 +338,7 @@ OL_ARG_ENABLE(sql,[ --enable-sql enable sql backend], dnl ---------------------------------------------------------------- dnl SLAPD Overlay Options Overlays="accesslog \ + auditlog \ denyop \ dyngroup \ dynlist \ @@ -359,6 +360,8 @@ OL_ARG_ENABLE(overlays,[ --enable-overlays enable all available overlays], --, [no yes mod])dnl OL_ARG_ENABLE(accesslog,[ --enable-accesslog In-Directory Access Logging overlay], no, [no yes mod], ol_enable_overlays) +OL_ARG_ENABLE(auditlog,[ --enable-auditlog Audit Logging overlay], + no, [no yes mod], ol_enable_overlays) OL_ARG_ENABLE(denyop,[ --enable-denyop Deny Operation overlay], no, [no yes mod], ol_enable_overlays) OL_ARG_ENABLE(dyngroup,[ --enable-dyngroup Dynamic Group overlay], @@ -612,6 +615,7 @@ BUILD_SHELL=no BUILD_SQL=no BUILD_ACCESSLOG=no +BUILD_AUDITLOG=no BUILD_DENYOP=no BUILD_DYNGROUP=no BUILD_DYNLIST=no @@ -2835,6 +2839,18 @@ if test "$ol_enable_accesslog" != no ; then AC_DEFINE_UNQUOTED(SLAPD_OVER_ACCESSLOG,$MFLAG,[define for In-Directory Access Logging overlay]) fi +if test "$ol_enable_auditlog" != no ; then + BUILD_AUDITLOG=$ol_enable_auditlog + if test "$ol_enable_auditlog" = mod ; then + MFLAG=SLAPD_MOD_DYNAMIC + SLAPD_DYNAMIC_OVERLAYS="$SLAPD_DYNAMIC_OVERLAYS auditlog.la" + else + MFLAG=SLAPD_MOD_STATIC + SLAPD_STATIC_OVERLAYS="$SLAPD_STATIC_OVERLAYS auditlog.o" + fi + AC_DEFINE_UNQUOTED(SLAPD_OVER_AUDITLOG,$MFLAG,[define for Audit Logging overlay]) +fi + if test "$ol_enable_denyop" != no ; then BUILD_DENYOP=$ol_enable_denyop if test "$ol_enable_denyop" = mod ; then @@ -3052,6 +3068,7 @@ dnl backends AC_SUBST(BUILD_SQL) dnl overlays AC_SUBST(BUILD_ACCESSLOG) + AC_SUBST(BUILD_AUDITLOG) AC_SUBST(BUILD_DENYOP) AC_SUBST(BUILD_DYNGROUP) AC_SUBST(BUILD_DYNLIST) diff --git a/include/portable.hin b/include/portable.hin index b154a67a7f..0489f31faf 100644 --- a/include/portable.hin +++ b/include/portable.hin @@ -972,6 +972,9 @@ /* define for In-Directory Access Logging overlay */ #undef SLAPD_OVER_ACCESSLOG +/* define for Audit Logging overlay */ +#undef SLAPD_OVER_AUDITLOG + /* define for Deny Operation overlay */ #undef SLAPD_OVER_DENYOP diff --git a/servers/slapd/overlays/Makefile.in b/servers/slapd/overlays/Makefile.in index f30e4c25af..5c1576a1e2 100644 --- a/servers/slapd/overlays/Makefile.in +++ b/servers/slapd/overlays/Makefile.in @@ -15,6 +15,7 @@ SRCS = overlays.c \ accesslog.c \ + auditlog.c \ denyop.c \ dyngroup.c \ dynlist.c \ @@ -59,6 +60,9 @@ dynamic: $(PROGRAMS) accesslog.la : accesslog.lo $(LTLINK_MOD) -module -o $@ accesslog.lo version.lo $(LINK_LIBS) +auditlog.la : auditlog.lo + $(LTLINK_MOD) -module -o $@ auditlog.lo version.lo $(LINK_LIBS) + denyop.la : denyop.lo $(LTLINK_MOD) -module -o $@ denyop.lo version.lo $(LINK_LIBS) @@ -85,7 +89,7 @@ retcode.la : retcode.lo rwm_x.o: rwm.o rwmconf.o rwmdn.o rwmmap.o $(LD) -r -o $@ rwm.o rwmconf.o rwmdn.o rwmmap.o - + rwm.la : rwm.lo rwmconf.lo rwmdn.lo rwmmap.lo $(LTLINK_MOD) -module -o $@ rwm.lo rwmconf.lo rwmdn.lo rwmmap.lo version.lo $(LINK_LIBS) -- 2.39.2