Hi Nathaniel, Le Tuesday 1 June 2010 16:12:18, Nathaniel McCallum a écrit : > Freeradius 2.x includes an experimental module which allows one to cache > results for a certain time period. This is extremely useful for: > 1. Reducing the load on your authentication store (LDAP, Database, etc) > 2. Reducing the load on your (limited resource) router > 3. Enabling successful wireless logins even if the router cannot contact > the authentication store (ie. a WAN outage) > > This patch enables experimental modules and then disables them all again > (individually, rather than by group). You can then individually choose > to build the caching module. This patch also adds a patch to create the > config.h.in and configure.in for the rlm_caching module and has been > submitted upstream > (https://lists.freeradius.org/pipermail/freeradius-devel/2010-June/013871.h > tml).
Your patch does not apply cleanly, your mailer corrupted the patch by mangling the line returns. Please respin and we will merge it. > > Signed-off-by: Nathaniel McCallum <nathan...@haikulogic.com> > > Index: net/freeradius2/patches/001-rlm_caching.patch > =================================================================== > --- net/freeradius2/patches/001-rlm_caching.patch (revision 0) > +++ net/freeradius2/patches/001-rlm_caching.patch (revision 0) > @@ -0,0 +1,99 @@ > +diff --git a/src/modules/rlm_caching/config.h.in > b/src/modules/rlm_caching/config.h.in > +new file mode 100644 > +index 0000000..32fad9e > +--- /dev/null > ++++ b/src/modules/rlm_caching/config.h.in > +@@ -0,0 +1,22 @@ > ++/* config.h.in. Generated from configure.in by autoheader. */ > ++ > ++/* do we have gdbm_fdesc */ > ++#undef HAVE_GDBM_FDESC > ++ > ++/* do we need GDBM_SYNC */ > ++#undef NEED_GDBM_SYNC > ++ > ++/* Define to the address where bug reports for this package should be > sent. */ > ++#undef PACKAGE_BUGREPORT > ++ > ++/* Define to the full name of this package. */ > ++#undef PACKAGE_NAME > ++ > ++/* Define to the full name and version of this package. */ > ++#undef PACKAGE_STRING > ++ > ++/* Define to the one symbol short name of this package. */ > ++#undef PACKAGE_TARNAME > ++ > ++/* Define to the version of this package. */ > ++#undef PACKAGE_VERSION > +diff --git a/src/modules/rlm_caching/configure.in > b/src/modules/rlm_caching/configure.in > +new file mode 100644 > +index 0000000..6e9f6ec > +--- /dev/null > ++++ b/src/modules/rlm_caching/configure.in > +@@ -0,0 +1,65 @@ > ++AC_PREREQ([2.53]) > ++AC_INIT(rlm_caching.c) > ++AC_REVISION($Revision$) > ++AC_DEFUN(modname,[rlm_caching]) > ++ > ++if test x$with_[]modname != xno; then > ++ AC_PROG_CC > ++ AC_PROG_CPP > ++ > ++ FR_SMART_CHECK_INCLUDE(gdbm.h) > ++ FR_SMART_CHECK_LIB(gdbm, gdbm_open) > ++ if test "x$ac_cv_lib_gdbm_gdbm_open" != "xyes"; then > ++ fail="$fail libgdbm" > ++ fi > ++ > ++ if test "x$fail" = "x"; then > ++ AC_MSG_CHECKING(to see GDBM_SYNC status) > ++ AC_EGREP_CPP(found-gdbm-sync, [ > ++#include <gdbm.h> > ++#ifdef GDBM_SYNC > ++ found-gdbm-sync! > ++#else > ++ not found. this version must use sync by default. > ++#endif > ++ ], [ > ++ AC_DEFINE(NEED_GDBM_SYNC, yes, [do we need GDBM_SYNC]) > ++ AC_MSG_RESULT(needs it.) > ++ ], [ > ++ AC_MSG_RESULT(SYNCs by default.) > ++ ] > ++ ) > ++ fi > ++ > ++ old_LIBS=$LIBS > ++ LIBS="$LIBS $SMART_LIBS" > ++ AC_CHECK_FUNC(gdbm_fdesc) > ++ if test "x$ac_cv_func_gdbm_fdesc" = "xyes"; > ++ then > ++ AC_DEFINE(HAVE_GDBM_FDESC, [], [do we have gdbm_fdesc]) > ++ fi > ++ LIBS=$old_LIBS > ++ > ++ targetname=modname > ++else > ++ targetname= > ++ echo \*\*\* module modname is disabled. > ++fi > ++ > ++if test x"$fail" != x""; then > ++ if test x"${enable_strict_dependencies}" = x"yes"; then > ++ AC_MSG_ERROR([set --without-]modname[ to disable it.]) > ++ else > ++ AC_MSG_WARN([silently not building ]modname[.]) > ++ AC_MSG_WARN([FAILURE: ]modname[ requires: $fail.]); > ++ targetname="" > ++ fi > ++fi > ++ > ++caching_ldflags=$SMART_LIBS > ++caching_cflags=$SMART_CFLAGS > ++AC_SUBST(caching_ldflags) > ++AC_SUBST(caching_cflags) > ++AC_SUBST(targetname) > ++AC_CONFIG_HEADER(config.h) > ++AC_OUTPUT(Makefile) > Index: net/freeradius2/Makefile > =================================================================== > --- net/freeradius2/Makefile (revision 21623) > +++ net/freeradius2/Makefile (working copy) > @@ -9,7 +9,7 @@ > > PKG_NAME:=freeradius2 > PKG_VERSION:=2.1.8 > -PKG_RELEASE:=3 > +PKG_RELEASE:=4 > > PKG_SOURCE:=freeradius-server-$(PKG_VERSION).tar.bz2 > PKG_SOURCE_URL:=ftp://ftp.freeradius.org/pub/freeradius/ > @@ -45,6 +45,12 @@ > TITLE:=Demo certificates to test the server > endef > > +define Package/freeradius2-mod-caching > + $(call Package/freeradius2/Default) > + DEPENDS:=freeradius2 +gdbm > + TITLE:=Caching module (experimental!) > +endef > + > define Package/freeradius2-mod-chap > $(call Package/freeradius2/Default) > DEPENDS:=freeradius2 > @@ -302,6 +308,7 @@ > --with-raddbdir=/etc/freeradius2 \ > --with-radacctdir=/var/db/radacct \ > --with-logdir=/var/log \ > + --with-experimental-modules \ > --without-edir \ > --without-snmp \ > --without-rlm_checkval \ > @@ -338,6 +345,19 @@ > --without-rlm_eap_ikev2 \ > --without-rlm_opendirectory \ > --without-rlm_wimax \ > + --without-rlm_cram \ > + --without-rlm_eap2 \ > + --without-rlm_example \ > + --without-rlm_jradius \ > + --without-rlm_ns_mta_md5 \ > + --without-rlm_opendirectory \ > + --without-rlm_protocol_filter \ > + --without-rlm_ruby \ > + --without-rlm_sim_files \ > + --without-rlm_smb \ > + --without-rlm_smsotp \ > + --without-rlm_sqlhpwippool \ > + --without-rlm_wimax > > PKG_DICTIONARIES:= \ > freeradius freeradius.internal \ > @@ -346,6 +366,12 @@ > microsoft \ > wispr \ > > +ifneq ($(SDK)$(CONFIG_PACKAGE_freeradius2-mod-caching),) > + CONFIGURE_ARGS+= --with-rlm_caching > +else > + CONFIGURE_ARGS+= --without-rlm_caching > +endif > + > ifneq ($(SDK)$(CONFIG_PACKAGE_freeradius2-mod-ldap),) > CONFIGURE_ARGS+= \ > --with-rlm_ldap-include-dir="$(STAGING_DIR)/usr/include" \ > @@ -433,6 +459,11 @@ > MYSQL_CONFIG="no" \ > ac_cv_lib_readline=no \ > > +define Build/Configure > + (cd $(PKG_BUILD_DIR)/src/modules/rlm_caching ; autoconf > -I$(PKG_BUILD_DIR)) > + $(call Build/Configure/Default) > +endef > + > define Build/Compile > $(MAKE) -C $(PKG_BUILD_DIR) \ > R="$(PKG_INSTALL_DIR)" \ > @@ -501,6 +532,7 @@ > > $(eval $(call BuildPackage,freeradius2)) > $(eval $(call BuildPackage,freeradius2-democerts)) > +$(eval $(call BuildPlugin,freeradius2-mod-caching,rlm_caching,)) > $(eval $(call > BuildPlugin,freeradius2-mod-chap,rlm_chap,modules/chap,modules,)) > $(eval $(call > BuildPlugin,freeradius2-mod-detail,rlm_detail,modules/detail,modules,)) > $(eval $(call BuildPlugin,freeradius2-mod-eap,libfreeradius-eap > rlm_eap,eap.conf)) > > _______________________________________________ > openwrt-devel mailing list > openwrt-devel@lists.openwrt.org > https://lists.openwrt.org/mailman/listinfo/openwrt-devel _______________________________________________ openwrt-devel mailing list openwrt-devel@lists.openwrt.org https://lists.openwrt.org/mailman/listinfo/openwrt-devel