diff options
Diffstat (limited to 'package/freeradius-server')
-rw-r--r-- | package/freeradius-server/Makefile | 37 | ||||
-rw-r--r-- | package/freeradius-server/files/radiusd.conf | 8 | ||||
-rw-r--r-- | package/freeradius-server/patches/patch-acinclude_m4 | 164 | ||||
-rw-r--r-- | package/freeradius-server/patches/patch-scripts_libtool_mk | 14 | ||||
-rw-r--r-- | package/freeradius-server/patches/patch-src_include_threads_h | 33 | ||||
-rw-r--r-- | package/freeradius-server/patches/patch-src_main_tls_c | 16 |
6 files changed, 64 insertions, 208 deletions
diff --git a/package/freeradius-server/Makefile b/package/freeradius-server/Makefile index 60647d336..b9c1f12f2 100644 --- a/package/freeradius-server/Makefile +++ b/package/freeradius-server/Makefile @@ -4,16 +4,16 @@ include ${ADK_TOPDIR}/rules.mk PKG_NAME:= freeradius-server -PKG_VERSION:= 3.0.13 +PKG_VERSION:= 3.2.3 PKG_RELEASE:= 1 -PKG_HASH:= 34da25c1a0e39dc57821ed6d1af1c1cc8bb7e280169cc8b4003acbfc4184328e +PKG_HASH:= 4bde047122e588c63fe2d599a73f7ab9a863806f9e716e88a3d77080b482c577 PKG_DESCR:= flexible radius server PKG_SECTION:= net/radius -PKG_DEPENDS:= libltdl libpcre libtalloc libressl +PKG_DEPENDS:= libltdl libpcre libtalloc libressl libatomic PKG_BUILDDEP:= libtool pcre talloc libressl PKG_NEEDS:= threads PKG_URL:= http://www.freeradius.org/ -PKG_SITES:= ftp://ftp.freeradius.org/pub/radius/ +PKG_SITES:= https://github.com/FreeRADIUS/freeradius-server/releases/download/release_3_2_3/ DISTFILES:= ${PKG_NAME}-${PKG_VERSION}.tar.gz @@ -71,7 +71,7 @@ endif ifneq (${ADK_PACKAGE_FREERADIUS_MOD_SQL_MYSQL},) PKG_CONFIGURE_LIBS+= -lz -PKG_CONFIGURE_OPTS+= --with-mysql-include-dir="${STAGING_TARGET_DIR}/usr/include" \ +PKG_CONFIGURE_OPTS+= --with-mysql-include-dir="${STAGING_TARGET_DIR}/usr/include/mysql" \ --with-mysql-lib-dir="${STAGING_TARGET_DIR}/usr/lib/mysql" \ --without-threads \ --with-rlm_sql @@ -134,14 +134,14 @@ $(eval $(call PKG_mod_template,FREERADIUS_MOD_SQL,rlm_sql,)) $(eval $(call PKG_mod_template,FREERADIUS_MOD_SQL_MYSQL,rlm_sql_mysql,)) $(eval $(call PKG_mod_template,FREERADIUS_MOD_SQL_PGSQL,rlm_sql_postgresql,)) -AUTOTOOL_STYLE:= autoreconf CONFIGURE_ARGS+= ${PKG_CONFIGURE_OPTS} \ --libdir=/usr/lib/freeradius \ --libexecdir=/usr/lib/freeradius \ --disable-openssl-version-check \ --with-execinfo-include-dir=/dev/null \ - --with-openssl-includes=${STAGING_TARGET_DIR}/usr/include \ - --with-openssl-libraries=${STAGING_TARGET_DIR}/usr/lib \ + --with-threads=yes \ + --with-openssl-include-dir=${STAGING_TARGET_DIR}/usr/include \ + --with-openssl-lib-dir=${STAGING_TARGET_DIR}/usr/lib \ --with-system-libltld \ --enable-strict-dependencies \ --with-raddbdir=/etc/freeradius \ @@ -157,15 +157,17 @@ CONFIGURE_ARGS+= ${PKG_CONFIGURE_OPTS} \ --without-rlm_eap_sim \ --without-rlm_example \ --without-rlm_ippool \ + --without-rlm_json \ --without-rlm_krb5 \ --without-rlm_otp \ --without-rlm_smsotp \ --without-rlm_pam \ --without-rlm_perl \ - --without-rlm_python \ + --without-rlm_python3 \ --without-rlm_radutmp \ --without-rlm_rest \ --without-rlm_ruby \ + --without-rlm_python \ --without-rlm_smb \ --without-rlm_sqlcounter \ --without-rlm_sql_db2 \ @@ -176,7 +178,9 @@ CONFIGURE_ARGS+= ${PKG_CONFIGURE_OPTS} \ --without-rlm_sql_unixodbc \ --without-rlm_sql_log \ --without-rlm_redis \ + --without-rlm_cache_redis \ --without-rlm_rediswho \ + --without-rlm_unbound \ --without-rlm_unix \ --without-rlm_eap_ikev2 \ --without-rlm_eap_tnc \ @@ -187,9 +191,10 @@ CONFIGURE_ARGS+= ${PKG_CONFIGURE_OPTS} \ CONFIGURE_ENV+= ax_cv_cc_builtin_choose_expr=yes \ ax_cv_cc_builtin_types_compatible_p=yes \ ax_cv_cc_builtin_bswap64=yes \ - ax_cv_cc_bounded_attribute=yes -FAKE_FLAGS+= R="${WRKINST}" \ - INSTALLSTRIP="" + ax_cv_cc_bounded_attribute=yes \ +FAKE_FLAGS+= INSTALLSTRIP="" +MAKE_ENV+= VERBOSE=1 \ + R="$(WRKINST)" freeradius-server-install: ${INSTALL_MODS_y} ${INSTALL_MODS_m} -${INSTALL_DIR} ${IDIR_FREERADIUS_SERVER}/etc/freeradius @@ -203,14 +208,10 @@ freeradius-server-install: ${INSTALL_MODS_y} ${INSTALL_MODS_m} ${IDIR_FREERADIUS_SERVER}/etc/freeradius/ ; \ done ${INSTALL_DIR} ${IDIR_FREERADIUS_SERVER}/usr/share/freeradius - ${CP} ${WRKINST}/usr/share/freeradius/dictionary \ + ${CP} ${WRKINST}/usr/share/freeradius/dictionary* \ ${IDIR_FREERADIUS_SERVER}/usr/share/freeradius/ - for f in freeradius freeradius.internal rfc2865 rfc2866 rfc2867 rfc2868 rfc2869 rfc3162 rfc3576 rfc3580 rfc4072 rfc4372 rfc4675 rfc4679 rfc5176; do \ - cp ${WRKINST}/usr/share/freeradius/dictionary.$${f} \ - ${IDIR_FREERADIUS_SERVER}/usr/share/freeradius/ ; \ - done ${INSTALL_DIR} ${IDIR_FREERADIUS_SERVER}/usr/lib/freeradius - ${CP} ${WRKINST}/usr/lib/freeradius/libfreeradius-radius.so \ + ${CP} ${WRKINST}/usr/lib/freeradius/libfreeradius-{dhcp,eap,server,radius}.so \ ${IDIR_FREERADIUS_SERVER}/usr/lib ${INSTALL_DIR} ${IDIR_FREERADIUS_SERVER}/usr/sbin ${CP} ${WRKINST}/usr/sbin/radiusd \ diff --git a/package/freeradius-server/files/radiusd.conf b/package/freeradius-server/files/radiusd.conf index b9a573f69..c07f65680 100644 --- a/package/freeradius-server/files/radiusd.conf +++ b/package/freeradius-server/files/radiusd.conf @@ -15,9 +15,6 @@ run_dir = ${localstatedir}/run db_dir = ${raddbdir} libdir = /usr/lib/freeradius pidfile = ${run_dir}/${name}.pid -user = radius -group = radius -#chroot = /path/to/chroot/directory max_request_time = 30 cleanup_delay = 5 @@ -36,7 +33,6 @@ listen { } hostname_lookups = no -allow_core_dumps = no regular_expressions = yes extended_expressions = yes @@ -55,6 +51,10 @@ security { max_attributes = 200 reject_delay = 1 status_server = yes + user = radius + group = radius + allow_core_dumps = no +# chroot = /path/to/chroot/directory } $INCLUDE clients.conf diff --git a/package/freeradius-server/patches/patch-acinclude_m4 b/package/freeradius-server/patches/patch-acinclude_m4 deleted file mode 100644 index f1cefae77..000000000 --- a/package/freeradius-server/patches/patch-acinclude_m4 +++ /dev/null @@ -1,164 +0,0 @@ ---- freeradius-server-3.0.8.orig/acinclude.m4 2015-04-22 19:21:34.000000000 +0200 -+++ freeradius-server-3.0.8/acinclude.m4 2015-05-13 22:13:54.000000000 +0200 -@@ -218,22 +218,22 @@ ac_safe=`echo "$1" | sed 'y%./+-%__pm%'` - old_CPPFLAGS="$CPPFLAGS" - smart_include= - dnl # The default directories we search in (in addition to the compilers search path) --smart_include_dir="/usr/local/include /opt/include" -+dnl smart_include_dir="/usr/local/include /opt/include" - - dnl # Our local versions - _smart_try_dir= - _smart_include_dir= - - dnl # Add variants with the different prefixes and one with no prefix --for _prefix in $smart_prefix ""; do -- for _dir in $smart_try_dir; do -- _smart_try_dir="${_smart_try_dir} ${_dir}/${_prefix}" -- done -- -- for _dir in $smart_include_dir; do -- _smart_include_dir="${_smart_include_dir} ${_dir}/${_prefix}" -- done --done -+dnl for _prefix in $smart_prefix ""; do -+dnl for _dir in $smart_try_dir; do -+dnl _smart_try_dir="${_smart_try_dir} ${_dir}/${_prefix}" -+dnl done -+dnl -+dnl for _dir in $smart_include_dir; do -+dnl _smart_include_dir="${_smart_include_dir} ${_dir}/${_prefix}" -+dnl done -+dnl done - - dnl # - dnl # Try any user-specified directory first otherwise we may pick up -@@ -262,73 +262,73 @@ fi - dnl # - dnl # Try using the default includes (with prefixes). - dnl # --if test "x$smart_include" = "x"; then -- for _prefix in $smart_prefix; do -- AC_MSG_CHECKING([for ${_prefix}/$1]) -- -- AC_TRY_COMPILE([$2 -- #include <$1>], -- [int a = 1;], -- [ -- smart_include="-isystem ${_prefix}/" -- AC_MSG_RESULT(yes) -- break -- ], -- [ -- smart_include= -- AC_MSG_RESULT(no) -- ]) -- done --fi -+dnl if test "x$smart_include" = "x"; then -+dnl for _prefix in $smart_prefix; do -+dnl AC_MSG_CHECKING([for ${_prefix}/$1]) -+dnl -+dnl AC_TRY_COMPILE([$2 -+dnl #include <$1>], -+dnl [int a = 1;], -+dnl [ -+dnl smart_include="-isystem ${_prefix}/" -+dnl AC_MSG_RESULT(yes) -+dnl break -+dnl ], -+dnl [ -+dnl smart_include= -+dnl AC_MSG_RESULT(no) -+dnl ]) -+dnl done -+dnl fi - - dnl # - dnl # Try using the default includes (without prefixes). - dnl # - if test "x$smart_include" = "x"; then -- AC_MSG_CHECKING([for $1]) -- -- AC_TRY_COMPILE([$2 -+ AC_MSG_CHECKING([for $1]) -+ -+ AC_TRY_COMPILE([$2 - #include <$1>], -- [int a = 1;], -- [ -- smart_include=" " -- AC_MSG_RESULT(yes) -- break -- ], -- [ -- smart_include= -+ [int a = 1;], -+ [ -+ smart_include=" " -+ AC_MSG_RESULT(yes) -+ break -+ ], -+ [ -+ smart_include= - AC_MSG_RESULT(no) -- ]) -+ ]) - fi - - dnl # - dnl # Try to guess possible locations. - dnl # --if test "x$smart_include" = "x"; then -- -- for prefix in $smart_prefix; do -- FR_LOCATE_DIR(_smart_include_dir,"${_prefix}/${1}") -- done -- FR_LOCATE_DIR(_smart_include_dir, $1) -- -- for try in $_smart_include_dir; do -- AC_MSG_CHECKING([for $1 in $try]) -- CPPFLAGS="-isystem $try $old_CPPFLAGS" -- AC_TRY_COMPILE([$2 -- #include <$1>], -- [int a = 1;], -- [ -- smart_include="-isystem $try" -- AC_MSG_RESULT(yes) -- break -- ], -- [ -- smart_include= -- AC_MSG_RESULT(no) -- ]) -- done -- CPPFLAGS="$old_CPPFLAGS" --fi -+dnl if test "x$smart_include" = "x"; then -+dnl -+dnl for prefix in $smart_prefix; do -+dnl FR_LOCATE_DIR(_smart_include_dir,"${_prefix}/${1}") -+dnl done -+dnl FR_LOCATE_DIR(_smart_include_dir, $1) -+dnl -+dnl for try in $_smart_include_dir; do -+dnl AC_MSG_CHECKING([for $1 in $try]) -+dnl CPPFLAGS="-isystem $try $old_CPPFLAGS" -+dnl AC_TRY_COMPILE([$2 -+dnl #include <$1>], -+dnl [int a = 1;], -+dnl [ -+dnl smart_include="-isystem $try" -+dnl AC_MSG_RESULT(yes) -+dnl break -+dnl ], -+dnl [ -+dnl smart_include= -+dnl AC_MSG_RESULT(no) -+dnl ]) -+dnl done -+dnl CPPFLAGS="$old_CPPFLAGS" -+dnl fi - - dnl # - dnl # Found it, set the appropriate variable. diff --git a/package/freeradius-server/patches/patch-scripts_libtool_mk b/package/freeradius-server/patches/patch-scripts_libtool_mk index c9f83db69..bcfdeff89 100644 --- a/package/freeradius-server/patches/patch-scripts_libtool_mk +++ b/package/freeradius-server/patches/patch-scripts_libtool_mk @@ -1,11 +1,13 @@ ---- freeradius-server-3.0.13.orig/scripts/libtool.mk 2017-03-06 14:58:04.000000000 +0100 -+++ freeradius-server-3.0.13/scripts/libtool.mk 2017-03-30 05:46:58.583531343 +0200 -@@ -44,7 +44,7 @@ ifeq "${LIBTOOL}" "JLIBTOOL" +--- freeradius-server-3.2.3.orig/scripts/libtool.mk 2023-05-26 15:56:52.000000000 +0200 ++++ freeradius-server-3.2.3/scripts/libtool.mk 2024-02-27 03:44:17.243010645 +0100 +@@ -48,8 +48,8 @@ ifeq "${LIBTOOL}" "JLIBTOOL" + # binary! ${JLIBTOOL}: ${top_makedir}/jlibtool.c $(Q)mkdir -p $(dir $@) - $(Q)echo CC jlibtool.c -- $(Q)${CC} $< -o $@ -+ $(Q)${CC_FOR_BUILD} $< -o $@ +- $(Q)echo CC jlibtool.c +- $(Q)${CC} $< -o $@ ${JLIBTOOL_DEFS} ++ $(Q)echo CC_FOR_BUILD jlibtool.c ++ ${CC_FOR_BUILD} $< -o $@ ${JLIBTOOL_DEFS} clean: jlibtool_clean diff --git a/package/freeradius-server/patches/patch-src_include_threads_h b/package/freeradius-server/patches/patch-src_include_threads_h new file mode 100644 index 000000000..3011af0a9 --- /dev/null +++ b/package/freeradius-server/patches/patch-src_include_threads_h @@ -0,0 +1,33 @@ +--- freeradius-server-3.2.3.orig/src/include/threads.h 2023-05-26 15:56:52.000000000 +0200 ++++ freeradius-server-3.2.3/src/include/threads.h 2024-02-27 04:03:53.806994686 +0100 +@@ -92,7 +92,7 @@ static _t __fr_thread_local_init_##_n(pt + # define fr_thread_local_get(_n) _n + #elif defined(HAVE_PTHREAD_H) + # include <pthread.h> +-# define fr_thread_local_setup(_t, _n) \ ++# define fr_thread_local_setup(_t, _n) static __thread _t _n;\ + static pthread_key_t __fr_thread_local_key_##_n;\ + static pthread_once_t __fr_thread_local_once_##_n = PTHREAD_ONCE_INIT;\ + static pthread_destructor_t __fr_thread_local_destructor_##_n = NULL;\ +@@ -103,17 +103,17 @@ static void __fr_thread_local_destroy_## + static void __fr_thread_local_key_init_##_n(void)\ + {\ + (void) pthread_key_create(&__fr_thread_local_key_##_n, __fr_thread_local_destroy_##_n);\ +- (void) pthread_setspecific(__fr_thread_local_key_##_n, &(_n));\ + }\ + static _t __fr_thread_local_init_##_n(pthread_destructor_t func)\ + {\ + __fr_thread_local_destructor_##_n = func;\ + if (_n) return _n; \ + (void) pthread_once(&__fr_thread_local_once_##_n, __fr_thread_local_key_init_##_n);\ ++ (void) pthread_setspecific(__fr_thread_local_key_##_n, &(_n));\ + return _n;\ + } +-# define fr_thread_local_init(_n, _f) __fr_thread_local_init_##_n(_f) +-# define fr_thread_local_set(_n, _v) __fr_thread_local_set_##_n(_v) +-# define fr_thread_local_get(_n) __fr_thread_local_get_##_n() ++# define fr_thread_local_init(_n, _f) __fr_thread_local_init_##_n(_f) ++# define fr_thread_local_set(_n, _v) ((int)!((_n = _v) || 1)) ++# define fr_thread_local_get(_n) _n + #endif + #endif diff --git a/package/freeradius-server/patches/patch-src_main_tls_c b/package/freeradius-server/patches/patch-src_main_tls_c deleted file mode 100644 index 3eb635e97..000000000 --- a/package/freeradius-server/patches/patch-src_main_tls_c +++ /dev/null @@ -1,16 +0,0 @@ ---- freeradius-server-3.0.13.orig/src/main/tls.c 2017-03-06 14:58:04.000000000 +0100 -+++ freeradius-server-3.0.13/src/main/tls.c 2017-03-30 05:52:35.584542618 +0200 -@@ -2131,13 +2131,9 @@ int cbtls_verify(int ok, X509_STORE_CTX - } - - if (lookup == 0) { --#if OPENSSL_VERSION_NUMBER >= 0x10100000L -- ext_list = X509_get0_extensions(client_cert); --#else - X509_CINF *client_inf; - client_inf = client_cert->cert_info; - ext_list = client_inf->extensions; --#endif - } else { - ext_list = NULL; - } |