summaryrefslogtreecommitdiff
path: root/package/freeradius-server
diff options
context:
space:
mode:
Diffstat (limited to 'package/freeradius-server')
-rw-r--r--package/freeradius-server/Makefile37
-rw-r--r--package/freeradius-server/files/radiusd.conf8
-rw-r--r--package/freeradius-server/patches/patch-acinclude_m4164
-rw-r--r--package/freeradius-server/patches/patch-scripts_libtool_mk14
-rw-r--r--package/freeradius-server/patches/patch-src_include_threads_h33
-rw-r--r--package/freeradius-server/patches/patch-src_main_tls_c16
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;
- }