Skip to content

Commit ca78e77

Browse files
authored
Merge branch 'FreeRADIUS:master' into master
2 parents 97e7ccc + 70f5de7 commit ca78e77

788 files changed

Lines changed: 21648 additions & 12400 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

.github/actions/build-freeradius/action.yml

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -2,13 +2,13 @@ name: build-freeradius
22

33
inputs:
44
use_sanitizers:
5-
desription: Enable sanitizers if true
5+
description: Enable sanitizers if true
66
default: false
77
cc:
8-
desription: Which CC to use
8+
description: Which CC to use
99
default: gcc
1010
test_type:
11-
desription: What test is being run
11+
description: What test is being run
1212
default: gcc
1313
platform:
1414
description: Platform the build is on
@@ -76,7 +76,7 @@ runs:
7676
json-c \
7777
libidn \
7878
libmemcached \
79-
llvm@14 \
79+
llvm@18 \
8080
luajit \
8181
mariadb \
8282
make \

.github/actions/ci-tests/action.yml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -62,7 +62,7 @@ inputs:
6262
default: 127.0.0.1
6363

6464
use_docker:
65-
desription: True if running in a Docker container
65+
description: True if running in a Docker container
6666
default: false
6767

6868

.github/actions/freeradius-deps/action.yml

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -2,19 +2,19 @@ name: freeradius-deps
22

33
inputs:
44
use_docker:
5-
desription: True if running in a Docker container
5+
description: True if running in a Docker container
66
default: false
77
llvm_ver:
8-
desription: Version of LLVM to use
8+
description: Version of LLVM to use
99
default: 18
1010
gcc_ver:
11-
desription: Version of GCC to use
11+
description: Version of GCC to use
1212
default: 14
1313
fuzzing:
14-
desription: True if fuzzing is enabled
14+
description: True if fuzzing is enabled
1515
default: false
1616
cc:
17-
desription: Which CC to use
17+
description: Which CC to use
1818
default: gcc
1919

2020

@@ -135,4 +135,4 @@ runs:
135135
if: ${{ runner.os == 'macOS' }}
136136
shell: bash
137137
run: |
138-
echo "PATH=`brew --prefix`/opt/llvm@14/bin/:$PATH" >> $GITHUB_ENV
138+
echo "PATH=`brew --prefix`/opt/llvm@18/bin/:$PATH" >> $GITHUB_ENV

.github/workflows/ci-macos.yml

Lines changed: 10 additions & 35 deletions
Original file line numberDiff line numberDiff line change
@@ -46,7 +46,7 @@ jobs:
4646
fail-fast: false
4747
matrix:
4848
env:
49-
- { CC: clang, BUILD_CFLAGS: "-DWITH_EVAL_DEBUG", LIBS_OPTIONAL: yes, LIBS_ALT: no, TEST_TYPE: macos, OS: macos-14, NAME: macos-clang }
49+
- { CC: clang, BUILD_CFLAGS: "-DWITH_EVAL_DEBUG", LIBS_OPTIONAL: yes, LIBS_ALT: no, TEST_TYPE: macos, OS: macos-15, NAME: macos-clang }
5050

5151
env: ${{ matrix.env }}
5252

@@ -93,7 +93,7 @@ jobs:
9393
libidn \
9494
libmemcached \
9595
libyubikey \
96-
llvm@14 \
96+
llvm@18 \
9797
luajit \
9898
mariadb \
9999
make \
@@ -119,7 +119,7 @@ jobs:
119119
#
120120
- name: Set path for clang
121121
run: |
122-
echo "PATH=`brew --prefix`/opt/llvm@14/bin/:$PATH" >> $GITHUB_ENV
122+
echo "PATH=`brew --prefix`/opt/llvm@18/bin/:$PATH" >> $GITHUB_ENV
123123
124124
#
125125
# Ensure Python 3.10 is used
@@ -128,42 +128,22 @@ jobs:
128128
run: |
129129
echo "PATH=`brew --prefix python@3.10`/bin/:$PATH" >> $GITHUB_ENV
130130
131+
#
132+
# Ensure Homebrew installed OpenSSL is used
133+
#
134+
- name: Set path for OpenSSL
135+
run: |
136+
echo "PATH=`brew --prefix openssl`/bin/:$PATH" >> $GITHUB_ENV
137+
131138
#
132139
# Build using some alternative libraries
133140
#
134141
# PCRE 2 -> PCRE 1
135142
# MIT Kerberos -> HEIMDAL Kerberos
136-
# OpenSSL 1.0 -> OpenSSL 3.0
137143
#
138-
- name: 'Fetch OpenSSL 3.0 SHA'
139-
id: opensslshasum
140-
if: ${{ matrix.env.LIBS_ALT == 'yes' }}
141-
run: |
142-
wget -qO- http://www.openssl.org/source/openssl-$ALT_OPENSSL.tar.gz.sha256 | sed -ne 's/^\s\+/shasum=/p' >> $GITHUB_OUTPUT
143-
144-
- name: 'Restore OpenSSL 3.0 from the cache'
145-
if: ${{ matrix.env.LIBS_ALT == 'yes' }}
146-
uses: actions/cache@v4
147-
id: openssl-cache
148-
with:
149-
path: /opt/openssl/
150-
key: openssl3-${{ steps.opensslshasum.outputs.shasum }}
151-
152-
- name: 'Build OpenSSL 3.0 (if cache stale)'
153-
if: ${{ matrix.env.LIBS_ALT == 'yes' && steps.openssl-cache.outputs.cache-hit != 'true' }}
154-
run: |
155-
cd ~
156-
wget https://www.openssl.org/source/openssl-$ALT_OPENSSL.tar.gz
157-
tar xzf openssl-$ALT_OPENSSL.tar.gz
158-
cd openssl-$ALT_OPENSSL
159-
./Configure --prefix=/opt/openssl --openssldir=. --debug
160-
make -j `nproc`
161-
make install_sw
162-
163144
- name: Use alternative libraries
164145
if: ${{ matrix.env.LIBS_ALT == 'yes' }}
165146
run: |
166-
echo /opt/openssl/lib64 | sudo tee /etc/ld.so.conf.d/openssl3.conf >/dev/null
167147
sudo ldconfig
168148
sudo apt-get install -y --no-install-recommends libpcre3-dev # "PCRE 1"
169149
sudo apt-get purge -y libpcre2-dev # Remove default PCRE 2, leaving only PCRE 1
@@ -177,7 +157,6 @@ jobs:
177157
krb5-config --all || :
178158
pcre-config --libs-posix --version 2>/dev/null || :
179159
pcre2-config --libs-posix --version 2>/dev/null || :
180-
[ -d /opt/openssl ] && export PATH=/opt/openssl/bin:$PATH
181160
openssl version
182161
183162
- name: Configure
@@ -194,9 +173,6 @@ jobs:
194173
build_paths=""
195174
if [ "`uname`" = "Darwin" ]; then
196175
build_paths="--with-libfreeradius-ldap-lib-dir=`brew --prefix`/opt/openldap/lib --with-libfreeradius-ldap-include-dir=`brew --prefix`/opt/openldap/include --with-openssl-lib-dir=`brew --prefix`/opt/openssl/lib --with-openssl-include-dir=`brew --prefix`/opt/openssl/include --with-unixodbc-lib-dir=`brew --prefix`/opt/unixodbc/lib --with-unixodbc-include-dir=`brew --prefix`/opt/unixodbc/include --with-rlm-python-config-bin=`brew --prefix python@3.10`/bin/python3.10-config"
197-
elif [ -d /opt/openssl ]; then
198-
export PATH=/opt/openssl/bin:$PATH
199-
build_paths="--with-openssl-lib-dir=/opt/openssl/lib64 --with-openssl-include-dir=/opt/openssl/include"
200176
fi
201177
CFLAGS="${BUILD_CFLAGS}" ./configure -C \
202178
--enable-developer \
@@ -215,7 +191,6 @@ jobs:
215191
216192
- name: Make
217193
run: |
218-
[ -d /opt/openssl ] && export PATH=/opt/openssl/bin:$PATH
219194
make -j `nproc`
220195
221196
- name: "Clang Static Analyzer: Store assets on failure"

.github/workflows/ci.yml

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -62,16 +62,16 @@ jobs:
6262

6363
# runs_on - where GitHub will spin up the runner, either
6464
# "self-hosted", or the name of a GitHub VM image
65-
# e.g. ubuntu-20.04 or ubuntu-latest
65+
# e.g. ubuntu-24.04 or ubuntu-latest
6666
# see: https://github.com/actions/runner-images
6767
# code - the name/version of the OS (for step evaluations below)
6868
# docker - the docker image name, if containers are being used
6969
# name - used in the job name only
7070
os:
71-
- runs_on: "${{ needs.pre-ci.outputs.selfhosted == '1' && 'self-hosted' || 'ubuntu-20.04' }}"
71+
- runs_on: "${{ needs.pre-ci.outputs.selfhosted == '1' && 'self-hosted' || 'ubuntu-24.04' }}"
7272
docker: "${{ needs.pre-ci.outputs.selfhosted == '1' && 'docker.internal.networkradius.com/self-hosted' || 'ubuntu:24.04' }}"
7373
name: "${{ needs.pre-ci.outputs.selfhosted == '1' && 'self' || 'gh' }}-ubuntu24"
74-
code: "ubuntu2004"
74+
code: "ubuntu2404"
7575
imageos: "ubuntu24"
7676

7777
env:

Make.inc.in

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -155,6 +155,7 @@ RADIUSD_VERSION_MAJOR = @RADIUSD_VERSION_MAJOR@
155155
RADIUSD_VERSION_MINOR = @RADIUSD_VERSION_MINOR@
156156
RADIUSD_VERSION_INCRM = @RADIUSD_VERSION_INCRM@
157157
RADIUSD_VERSION_COMMIT = @RADIUSD_VERSION_COMMIT@
158+
RADIUSD_DOC_VERSION = @RADIUSD_DOC_VERSION@
158159

159160
#
160161
# This allows dlopen to do runtime checks for version mismatches

configure

Lines changed: 9 additions & 110 deletions
Original file line numberDiff line numberDiff line change
@@ -727,6 +727,7 @@ PANDOC_ENGINE
727727
PANDOC
728728
ASCIIDOCTOR
729729
GIT
730+
RADIUSD_DOC_VERSION
730731
RADIUSD_VERSION_INCRM
731732
RADIUSD_VERSION_MINOR
732733
RADIUSD_VERSION_MAJOR
@@ -2849,6 +2850,7 @@ ac_config_headers="$ac_config_headers src/include/autoconf.h"
28492850
RADIUSD_VERSION_MAJOR=`./version.sh major`
28502851
RADIUSD_VERSION_MINOR=`./version.sh minor`
28512852
RADIUSD_VERSION_INCRM=`./version.sh commit_depth`
2853+
RADIUSD_DOC_VERSION=`grep version doc/antora/antora.yml | sed "s/version: '//;s/'//"`
28522854

28532855
if test "x$RADIUSD_VERSION_INCRM" = "x"; then
28542856
RADIUSD_VERSION_INCRM=`./version.sh incrm`
@@ -2876,6 +2878,11 @@ printf "%s\n" "#define RADIUSD_VERSION_MINOR ${RADIUSD_VERSION_MINOR}" >>confdef
28762878
printf "%s\n" "#define RADIUSD_VERSION_INCRM ${RADIUSD_VERSION_INCRM}" >>confdefs.h
28772879

28782880

2881+
printf "%s\n" "#define RADIUSD_DOC_VERSION ${RADIUSD_DOC_VERSION}" >>confdefs.h
2882+
2883+
2884+
2885+
28792886

28802887

28812888

@@ -5884,6 +5891,7 @@ then :
58845891
;;
58855892
*)
58865893
fuzzer=yes
5894+
CFLAGS="$CFLAGS -g3"
58875895
esac
58885896

58895897
fi
@@ -7117,115 +7125,6 @@ fi
71177125

71187126
done
71197127

7120-
if test "x$HAVE_THREADS" != "xno"; then
7121-
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for pthread_create in -lc" >&5
7122-
printf %s "checking for pthread_create in -lc... " >&6; }
7123-
if test ${ac_cv_lib_c_pthread_create+y}
7124-
then :
7125-
printf %s "(cached) " >&6
7126-
else case e in #(
7127-
e) ac_check_lib_save_LIBS=$LIBS
7128-
LIBS="-lc $LIBS"
7129-
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
7130-
/* end confdefs.h. */
7131-
7132-
/* Override any GCC internal prototype to avoid an error.
7133-
Use char because int might match the return type of a GCC
7134-
builtin and then its argument prototype would still apply.
7135-
The 'extern "C"' is for builds by C++ compilers;
7136-
although this is not generally supported in C code supporting it here
7137-
has little cost and some practical benefit (sr 110532). */
7138-
#ifdef __cplusplus
7139-
extern "C"
7140-
#endif
7141-
char pthread_create (void);
7142-
int
7143-
main (void)
7144-
{
7145-
return pthread_create ();
7146-
;
7147-
return 0;
7148-
}
7149-
_ACEOF
7150-
if ac_fn_c_try_link "$LINENO"
7151-
then :
7152-
ac_cv_lib_c_pthread_create=yes
7153-
else case e in #(
7154-
e) ac_cv_lib_c_pthread_create=no ;;
7155-
esac
7156-
fi
7157-
rm -f core conftest.err conftest.$ac_objext conftest.beam \
7158-
conftest$ac_exeext conftest.$ac_ext
7159-
LIBS=$ac_check_lib_save_LIBS ;;
7160-
esac
7161-
fi
7162-
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_c_pthread_create" >&5
7163-
printf "%s\n" "$ac_cv_lib_c_pthread_create" >&6; }
7164-
if test "x$ac_cv_lib_c_pthread_create" = xyes
7165-
then :
7166-
7167-
HAVE_THREADS="yes"
7168-
CFLAGS="$CFLAGS -D_REENTRANT -D_POSIX_PTHREAD_SEMANTICS"
7169-
7170-
7171-
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for the compiler flag \"-pthread\"" >&5
7172-
printf %s "checking for the compiler flag \"-pthread\"... " >&6; }
7173-
if test ${ax_cv_cc_pthread_flag+y}
7174-
then :
7175-
printf %s "(cached) " >&6
7176-
else case e in #(
7177-
e)
7178-
7179-
CFLAGS_SAVED=$CFLAGS
7180-
CFLAGS="$CFLAGS -Werror -pthread"
7181-
7182-
ac_ext=c
7183-
ac_cpp='$CPP $CPPFLAGS'
7184-
ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
7185-
ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
7186-
ac_compiler_gnu=$ac_cv_c_compiler_gnu
7187-
7188-
cat confdefs.h - <<_ACEOF >conftest.$ac_ext
7189-
/* end confdefs.h. */
7190-
7191-
int
7192-
main (void)
7193-
{
7194-
return 0;
7195-
;
7196-
return 0;
7197-
}
7198-
_ACEOF
7199-
if ac_fn_c_try_compile "$LINENO"
7200-
then :
7201-
ax_cv_cc_pthread_flag="yes"
7202-
else case e in #(
7203-
e) ax_cv_cc_pthread_flag="no" ;;
7204-
esac
7205-
fi
7206-
rm -f core conftest.err conftest.$ac_objext conftest.beam conftest.$ac_ext
7207-
ac_ext=c
7208-
ac_cpp='$CPP $CPPFLAGS'
7209-
ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
7210-
ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
7211-
ac_compiler_gnu=$ac_cv_c_compiler_gnu
7212-
7213-
7214-
CFLAGS="$CFLAGS_SAVED"
7215-
;;
7216-
esac
7217-
fi
7218-
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: result: $ax_cv_cc_pthread_flag" >&5
7219-
printf "%s\n" "$ax_cv_cc_pthread_flag" >&6; }
7220-
7221-
if test "x$ax_cv_cc_pthread_flag" = 'xyes'; then
7222-
CFLAGS="$CFLAGS -pthread"
7223-
fi
7224-
7225-
7226-
fi
7227-
7228-
fi
72297128
if test "x$HAVE_THREADS" != "xno"; then
72307129
{ printf "%s\n" "$as_me:${as_lineno-$LINENO}: checking for pthread_create in -lpthread" >&5
72317130
printf %s "checking for pthread_create in -lpthread... " >&6; }
@@ -7522,7 +7421,7 @@ then :
75227421
test "$ac_res" = "none required" || LIBS="$ac_res $LIBS"
75237422

75247423
else case e in #(
7525-
e) as_fn_error $? "-lsem not found. You may want to download it from ftp://ftp.to.gd-es.com/pub/BSDI/libsem.tar.bz2 or ftp://ftp.freeradius.org/pub/radius/contrib/libsem.tar.gz" "$LINENO" 5
7424+
e) as_fn_error $? "-lsem not found. You may want to download it from ftp://ftp.to.gd-es.com/pub/BSDI/libsem.tar.bz2 or https://www.freeradius.org/ftp/pub/radius/contrib/libsem.tar.gz" "$LINENO" 5
75267425
;;
75277426
esac
75287427
fi

configure.ac

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -39,6 +39,7 @@ dnl #############################################################
3939
RADIUSD_VERSION_MAJOR=`./version.sh major`
4040
RADIUSD_VERSION_MINOR=`./version.sh minor`
4141
RADIUSD_VERSION_INCRM=`./version.sh commit_depth`
42+
RADIUSD_DOC_VERSION=`grep version doc/antora/antora.yml | sed "s/version: '//;s/'//"`
4243

4344
dnl # To handle tarballs and GitHub downloads, we can also put the incremental
4445
dnl # patch number in VERSION, or it gets set to FFFF.
@@ -61,11 +62,14 @@ AC_DEFINE_UNQUOTED([RADIUSD_VERSION], [${RADIUSD_VERSION}], [Version integer in
6162
AC_DEFINE_UNQUOTED([RADIUSD_VERSION_MAJOR], [${RADIUSD_VERSION_MAJOR}], [Version integer in format <ma>])
6263
AC_DEFINE_UNQUOTED([RADIUSD_VERSION_MINOR], [${RADIUSD_VERSION_MINOR}], [Version integer in format <mi>])
6364
AC_DEFINE_UNQUOTED([RADIUSD_VERSION_INCRM], [${RADIUSD_VERSION_INCRM}], [Version integer in format <in>])
65+
AC_DEFINE_UNQUOTED([RADIUSD_DOC_VERSION], [${RADIUSD_DOC_VERSION}], [Version string used in the online documentation])
6466

6567
AC_SUBST(RADIUSD_VERSION)
6668
AC_SUBST(RADIUSD_VERSION_MAJOR)
6769
AC_SUBST(RADIUSD_VERSION_MINOR)
6870
AC_SUBST(RADIUSD_VERSION_INCRM)
71+
AC_SUBST(RADIUSD_DOC_VERSION)
72+
6973

7074
dnl #############################################################
7175
dnl #
@@ -457,6 +461,8 @@ AC_ARG_ENABLE(fuzzer,
457461
;;
458462
*)
459463
fuzzer=yes
464+
CFLAGS="$CFLAGS -g3"
465+
;;
460466
esac ]
461467
)
462468

@@ -957,7 +963,7 @@ dnl # NetBSD has them in -lsemaphore
957963
dnl #
958964
AC_SEARCH_LIBS(sem_init, pthread sem posix4 rt semaphore,
959965
[],
960-
[AC_MSG_ERROR([[-lsem not found. You may want to download it from ftp://ftp.to.gd-es.com/pub/BSDI/libsem.tar.bz2 or ftp://ftp.freeradius.org/pub/radius/contrib/libsem.tar.gz]])]
966+
[AC_MSG_ERROR([[-lsem not found. You may want to download it from ftp://ftp.to.gd-es.com/pub/BSDI/libsem.tar.bz2 or https://www.freeradius.org/ftp/pub/radius/contrib/libsem.tar.gz]])]
961967
)
962968

963969
dnl #

0 commit comments

Comments
 (0)