diff options
Diffstat (limited to 'package/freeradius-server')
| -rw-r--r-- | package/freeradius-server/Makefile | 40 | ||||
| -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-raddb_all_mk | 23 | ||||
| -rw-r--r-- | package/freeradius-server/patches/patch-scripts_libtool_mk | 18 | ||||
| -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 | 
7 files changed, 91 insertions, 211 deletions
| diff --git a/package/freeradius-server/Makefile b/package/freeradius-server/Makefile index 60647d336..20b144231 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.7  PKG_RELEASE:=		1 -PKG_HASH:=		34da25c1a0e39dc57821ed6d1af1c1cc8bb7e280169cc8b4003acbfc4184328e +PKG_HASH:=		3fd3b7725faa8b5e6c5a331a395e392ea9f7eceb3c0d42e82e82c32f2ff5b098  PKG_DESCR:=		flexible radius server  PKG_SECTION:=		net/radius -PKG_DEPENDS:=		libltdl libpcre libtalloc libressl -PKG_BUILDDEP:=		libtool pcre talloc libressl +PKG_DEPENDS:=		libltdl libpcre2 libtalloc libopenssl libatomic libreadline +PKG_BUILDDEP:=		libtool pcre2 talloc openssl readline  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_7/  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 \ @@ -149,6 +149,7 @@ CONFIGURE_ARGS+=	${PKG_CONFIGURE_OPTS} \  			--without-snmp \  			--without-experimental-modules \  			--without-rlm_attr-rewrite \ +			--without-rlm_mschap \  			--without-rlm_checkval \  			--without-rlm_counter \  			--without-rlm_dbm \ @@ -157,15 +158,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 +179,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 +192,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 +209,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-raddb_all_mk b/package/freeradius-server/patches/patch-raddb_all_mk new file mode 100644 index 000000000..6fa765ca2 --- /dev/null +++ b/package/freeradius-server/patches/patch-raddb_all_mk @@ -0,0 +1,23 @@ +--- freeradius-server-3.2.6.orig/raddb/all.mk	2024-08-24 15:06:25.000000000 +0200 ++++ freeradius-server-3.2.6/raddb/all.mk	2024-08-26 16:30:35.470666078 +0200 +@@ -125,20 +125,6 @@ $(R)$(raddbdir)/users: $(R)$(modconfdir) + 	@[ -e $@ ] || echo LN-S $(patsubst $(R)$(raddbdir)/%,raddb/%,$@) + 	@[ -e $@ ] || ln -s $(patsubst $(R)$(raddbdir)/%,./%,$<) $@ +  +-ifneq "$(LOCAL_CERT_PRODUCTS)" "" +-$(LOCAL_CERT_PRODUCTS): +-	@echo BOOTSTRAP raddb/certs/ +-	@$(MAKE) -C $(R)$(raddbdir)/certs/ +- +-# Bootstrap is special +-$(R)$(raddbdir)/certs/bootstrap: | raddb/certs/bootstrap $(LOCAL_CERT_PRODUCTS) +-	@echo INSTALL $(patsubst $(R)$(raddbdir)/%,raddb/%,$@) +-	@$(INSTALL) -m 750 $(patsubst $(R)$(raddbdir)/%,raddb/%,$@) $@ +-else +-$(R)$(raddbdir)/certs/bootstrap: +-	@echo INSTALL $(patsubst $(R)$(raddbdir)/%,raddb/%,$@) +-	@$(INSTALL) -m 750 $(patsubst $(R)$(raddbdir)/%,raddb/%,$@) $@ +-endif +  + #  List directories before the file targets. + #  It's not clear why GNU Make doesn't deal well with this. diff --git a/package/freeradius-server/patches/patch-scripts_libtool_mk b/package/freeradius-server/patches/patch-scripts_libtool_mk index c9f83db69..9dcbbe114 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" -     ${JLIBTOOL}: ${top_makedir}/jlibtool.c +--- freeradius-server-3.2.6.orig/scripts/libtool.mk	2024-08-24 15:06:25.000000000 +0200 ++++ freeradius-server-3.2.6/scripts/libtool.mk	2024-08-26 15:15:40.489814433 +0200 +@@ -40,8 +40,8 @@ all install: ${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 + 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; - 	} | 
