mirror of
https://gitlab.alpinelinux.org/alpine/aports.git
synced 2026-05-04 12:01:41 +02:00
main/freeradius: improve setup-freeradius enable-mod
This commit is contained in:
parent
802673c5f1
commit
1512fdcfee
@ -394,7 +394,7 @@ sha512sums="513ed0a5d9e6b9a8d89a9b02c86ff528a9ff14d928f4c1040ca44702465abd711588
|
||||
c3ae1ee6bd7743f883310612ba2c20c6ff7f288fedc308735df05b097ecb2f7fa4d1679b844e262757808978c7bb2d7630b99e4b87ce6d6ba7f84013f9c49f1d freeradius.logrotated
|
||||
bb3df1fa2c9ed95514ae090e0f6619c4e3280f424c4351bc79f5254bf1a327fa7d27e5fe3add5ab8d9e5ba3792c9553bd9a0481fe9c5bc34945ce46627ef2638 radiusd.confd
|
||||
a66ab5d3f1c86450e9c50aa8be10a40fb4118467670048773ad8c80b5f3fb958dd3addc6ef245289d93ce2b184ce2c9882a8a2585d4a134d55c2326c9559f558 radiusd.initd
|
||||
0a3d7c5a3d33186903fdf0fd9d0d817bdc3e81567dbd72646492652cddbad458936d7cd662f41b747a023f59ddbab1456b9cdd6c6997d9bc5d039bd4be92fb4f setup-freeradius.in
|
||||
9f6a4f76fd06e81cfcfe4536f1f8be494634b07e548a6f7e651e5501aded24b030ed7d57dbdc867ae0eb39ee4a090234c4122a89bed84c13733c77de36b9c2cf setup-freeradius.in
|
||||
5f940e200aa39b2fbbfaf5b24f2ad99869fa75bb7e2008876940ea96cb9dbc7f2b27dd1672aa56cdb5243faabdcbc38875594dd8792af965987183c0aa2aefd1 print-var.mk
|
||||
c49e5eec7497fccde5fd09dba1ea9b846e57bc88015bd81640aa531fb5c9b449f37136f42c85fe1d7940c5963aed664b85da28442b388c9fb8cc27873df03b2d musl-fix-headers.patch
|
||||
41d478c0e40ff82fc36232964037c1ab8ffca9fdbb7dca02ed49319906e751c133b5d7bc7773c645cec6d9d39d1de69cba25e8d59afa8d6662563dd17f35f234 fix-scopeid.patch
|
||||
|
||||
@ -3,6 +3,19 @@ set -eu
|
||||
|
||||
PROGNAME='setup-freeradius'
|
||||
DEFAULT_MODULES='@@DEFAULT_MODULES@@'
|
||||
# <subpkgname|module-name> <module-name>...
|
||||
EXTRA_MODULES='
|
||||
dhcp
|
||||
eap inner-eap
|
||||
krb5
|
||||
ldap
|
||||
pam
|
||||
perl
|
||||
python3
|
||||
redis rediswho
|
||||
rest
|
||||
sql abfab_psk_sql dhcp_sqlippool sqlcounter sqlippool
|
||||
'
|
||||
MODS_AVAILABLE_DIR='/etc/raddb/mods-available'
|
||||
MODS_ENABLED_DIR='/etc/raddb/mods-enabled'
|
||||
SITES_AVAILABLE_DIR='/etc/raddb/sites-available'
|
||||
@ -14,6 +27,13 @@ die() {
|
||||
exit $1
|
||||
}
|
||||
|
||||
find_mod_pkg() {
|
||||
echo "$EXTRA_MODULES" \
|
||||
| grep -m 1 -w "$1" \
|
||||
| sed -En 's/^\s*(\S+).*/freeradius-\1/p' \
|
||||
| grep .
|
||||
}
|
||||
|
||||
case "${1:-}" in
|
||||
'' | -h | --help)
|
||||
cat >&2 <<-EOF
|
||||
@ -33,21 +53,23 @@ case "${1:-}" in
|
||||
EOF
|
||||
exit 2
|
||||
;;
|
||||
enable-mod)
|
||||
enable-mod | enable-module)
|
||||
name=$2
|
||||
modlink="$MODS_ENABLED_DIR/$name"
|
||||
|
||||
if [ -L "$modlink" ]; then
|
||||
exit 0
|
||||
elif [ -f "$MODS_AVAILABLE_DIR/$name" ]; then
|
||||
fi
|
||||
if pkgname=$(find_mod_pkg "$name"); then
|
||||
apk add "$pkgname"
|
||||
fi
|
||||
if [ ! -L "$modlink" ] && [ -f "$MODS_AVAILABLE_DIR/$name" ]; then
|
||||
ln -sv ../mods-available/$name "$MODS_ENABLED_DIR/$name"
|
||||
elif apk info -q "freeradius-$name" >/dev/null; then
|
||||
apk add "freeradius-$name"
|
||||
else
|
||||
die 3 "module '$name' is not available!"
|
||||
fi
|
||||
;;
|
||||
disable-mod)
|
||||
disable-mod | disable-modules)
|
||||
name=$2
|
||||
modlink="$MODS_ENABLED_DIR/$name"
|
||||
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user