summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJacek Konieczny2018-10-10 13:21:22 (GMT)
committerJacek Konieczny2018-10-10 13:23:30 (GMT)
commit2b35d952f1ed8d38610f4c1924f612f9c391a359 (patch)
tree37fb0c3307e929390a5662fbb76bffb76ff108b7
parent693f93094a6ec3e061252f7e08b32f8faa61b399 (diff)
downloadfreeradius-server-2b35d952f1ed8d38610f4c1924f612f9c391a359.zip
freeradius-server-2b35d952f1ed8d38610f4c1924f612f9c391a359.tar.gz
continuing 3.0 update
It builds and starts for me (on an OpenSSL 1.0 system)
-rw-r--r--am.patch47
-rw-r--r--cui-fr-2.2.0.patch399
-rw-r--r--failed_calls_accounting.patch240
-rw-r--r--format-security.patch31
-rw-r--r--freeradius-server-heimdal.patch11
-rw-r--r--freeradius-server-libdir.patch26
-rw-r--r--freeradius-server-makefile.patch12
-rw-r--r--freeradius-server-oracle.patch11
-rw-r--r--freeradius-server-rubyhdrs.patch44
-rw-r--r--freeradius-server.spec424
10 files changed, 272 insertions, 973 deletions
diff --git a/am.patch b/am.patch
deleted file mode 100644
index 1870b65..0000000
--- a/am.patch
+++ /dev/null
@@ -1,47 +0,0 @@
---- freeradius-server-2.2.0/libltdl/configure.ac~ 2012-09-10 13:51:34.000000000 +0200
-+++ freeradius-server-2.2.0/libltdl/configure.ac 2013-06-09 20:39:52.891748305 +0200
-@@ -51,7 +51,7 @@
- ## Automake Initialisation. ##
- ## ------------------------ ##
- AM_INIT_AUTOMAKE(AC_PACKAGE_TARNAME, AC_PACKAGE_VERSION, -)
--AM_CONFIG_HEADER([config.h:config-h.in])
-+AC_CONFIG_HEADERS([config.h:config-h.in])
-
-
- ## ------------------ ##
---- freeradius-server-2.2.6/src/modules/rlm_ldap/configure.in.orig 2014-11-18 20:56:52.000000000 +0100
-+++ freeradius-server-2.2.6/src/modules/rlm_ldap/configure.in 2015-03-22 09:55:46.702919736 +0100
-@@ -49,9 +49,6 @@
- esac ]
- )
-
-- dnl extra argument: --enable-shared --disable-shared
-- AC_ENABLE_SHARED
--
- dnl OpenLDAP doesn't provide an autoconf test for their libldap,
- dnl and we can't reasonably check for all the dependancies for
- dnl every version and every set of options.
---- freeradius-server-2.2.6/configure.in.orig 2014-11-18 20:56:52.000000000 +0100
-+++ freeradius-server-2.2.6/configure.in 2015-03-22 10:07:01.436224750 +0100
-@@ -121,17 +121,10 @@
- dnl use system-wide libtool, if it exists
- AC_ARG_WITH(system-libtool,
- [ --with-system-libtool Use the libtool installed in your system (default=use our own)],
--[ AC_PATH_PROG(LIBTOOL, libtool,,$PATH:/usr/local/bin) AC_LIBTOOL_DLOPEN
-- AC_PROG_LIBTOOL],
--[
-- LIBTOOL="`pwd`/libtool"
-- AC_SUBST(LIBTOOL)
-- dnl ensure that we're looking for dlopen
-- AC_LIBTOOL_DLOPEN
--
-- dnl Figure out how to build shared libraries
-- AC_PROG_LIBTOOL
--])
-+[ AC_PATH_PROG(LIBTOOL, libtool,,$PATH:/usr/local/bin)
-+ ])
-+AC_PROG_LIBTOOL
-+AC_LIBTOOL_DLOPEN
-
-
- dnl Put this in later, when all distributed modules use autoconf.
diff --git a/cui-fr-2.2.0.patch b/cui-fr-2.2.0.patch
deleted file mode 100644
index 723c3dc..0000000
--- a/cui-fr-2.2.0.patch
+++ /dev/null
@@ -1,399 +0,0 @@
-diff -Naur freeradius-server-2.2.0-orig/doc/cui_howto.txt freeradius-server-2.2.0/doc/cui_howto.txt
---- freeradius-server-2.2.0-orig/doc/cui_howto.txt 1970-01-01 01:00:00.000000000 +0100
-+++ freeradius-server-2.2.0/doc/cui_howto.txt 2012-09-13 10:57:56.645722777 +0200
-@@ -0,0 +1,78 @@
-+Chargeable-User-Identity (CUI) support.
-+
-+1. OVERVIEW
-+
-+This extension introduces support for Chargeable-User-Identity (CUI) attribute
-+as defined in RFC 4372.
-+
-+The CUI attribute is meant to support roaming scenarios where
-+the user is accessing the network at one location (Service Provider - SP)
-+while authenticated by a RADIUS server at another institution (Identity
-+Provider - IdP). CUI provides means for the SP to request the IdP
-+to return a unique, persistent, opaque user identifier.
-+
-+As defined in RFC 4372, CUI request is sent as a NULL value (single
-+zero byte) of CUI attribute inside the Access-Request packet.
-+CUI response should be sent as the CUI value inside the Access-Accept.
-+
-+This extension has the following functionality:
-+
-+The SP side (*requesting* CUI):
-+ - add the CUI NULL attribute to Access-Request proxied from
-+ the local NAS to the IdP
-+ - receive the CUI value from the IdP and store it in the local
-+ database
-+ - update Accounting-Request packets sent by NAS by adding
-+ the appropriate CUI attribute (unless the attibute is
-+ already present).
-+
-+The IdP side (*returning* CUI):
-+ - respond to the CUI request by generating the CUI value.
-+ The value is created as the md5 hash if a configurable local
-+ salt and the User-Name attribute value.
-+
-+While CUI support has been added for roaming it is also useful for local
-+accounting.
-+
-+2. INSTALLATION
-+
-+The CUI *requesting* and CUI *returning* sides are implemented and
-+described separately. Most likely you want to run both, so just follow
-+the instructions of both sections.
-+
-+2.1 *requesting* CUI
-+
-+ - Setup a MySQL database by creating (or using) a database of your
-+ choice and create an additional table cui. The schema is located
-+ in ${raddbdir}/sql/mysql/cui.sql.
-+
-+ - Enter the necessary details into ${raddbdir}/modules/cui.
-+ Things you need to modify are:
-+ server - typically this will be localhost;
-+ login - mysql user allowed to modify the tables
-+ password - password for this user
-+ radius_db - database name you wish to use
-+
-+ - Modify the the main configuration file
-+ "${raddbdir}/sites-availabe/default".
-+ Search for CUI. There are four sections where CUI is mentioned.
-+ Follow the instructions for *requesting* the CUI.
-+
-+2.2 *returning* CUI
-+
-+ - Modify the the main configuration file
-+ "${raddbdir}/sites-available/default".
-+ Search for CUI. There are four sections where CUI is mentioned.
-+ Follow the instructions for *returning* the CUI.
-+ The cui_hash_key is used to safeguard the CUI from dictionary
-+ attacks and should be set to some "random" string.
-+
-+ - Modify "${raddbdir}/sites-availabe/inner-tunnel"
-+ Search for CUI. There is one section where CUI is mentioned.
-+ Follow the instructions for *returning* the CUI.
-+
-+3. ACKNOWLEDGEMENTS
-+
-+Authors: Maja Gorecka-Wolniewicz <mgw@umk.pl>, Alan DeKok
-+
-+Contributors: Stefan Winter, Tomasz Wolniewicz
-diff -Naur freeradius-server-2.2.0-orig/raddb/modules/cui freeradius-server-2.2.0/raddb/modules/cui
---- freeradius-server-2.2.0-orig/raddb/modules/cui 2012-09-10 13:51:34.000000000 +0200
-+++ freeradius-server-2.2.0/raddb/modules/cui 2012-09-13 10:58:19.975050772 +0200
-@@ -21,5 +21,5 @@
- connect_failure_retry_delay = 60
- cui_table = "cui"
- sql_user_name = "%{User-Name}"
--#$INCLUDE sql/${database}/cui.conf
-+ $INCLUDE sql/${database}/cui.conf
- }
-diff -Naur freeradius-server-2.2.0-orig/raddb/policy.conf freeradius-server-2.2.0/raddb/policy.conf
---- freeradius-server-2.2.0-orig/raddb/policy.conf 2012-09-10 13:51:34.000000000 +0200
-+++ freeradius-server-2.2.0/raddb/policy.conf 2012-09-13 11:00:40.929563217 +0200
-@@ -145,53 +145,80 @@
- }
- }
-
-- #
-- # The following policies are for the Chargeable-User-Identity
-- # (CUI) configuration.
-+ #
-+ # The following policies are for the Operator-Name handling
-+ # (RFC5580)
-+ #
-+ operator_name {
-+ if (Packet-Type == Access-Request) {
-+ update request {
-+ Operator-Name := "%{config:sp_operator_name}"
-+ Chargeable-User-Identity = '\\000'
-+ }
-+ }
-+ }
-+
-+ #
-+ # The following policies are for the Chargeable-User-Identity
-+ # (CUI) configuration. See doc/cui_howto.txt for more information.
- #
-
- #
-- # The client indicates it can do CUI by sending a CUI attribute
-- # containing one zero byte
-+ # The client requests the CUI by sending a CUI attribute
-+ # containing one zero byte.
- #
-- cui_authorize {
-- update request {
-- Chargeable-User-Identity:='\\000'
-+ cui_pre-proxy {
-+ if (Packet-Type == Access-Request) {
-+ update proxy-request {
-+ Chargeable-User-Identity = '\\000'
-+ }
- }
- }
-
- #
-- # Add a CUI attribute based on the User-Name, and a secret key
-- # known only to this server.
-+ # Add a CUI attribute based on the User-Name, and a secret key
-+ # known only to this server.
- #
- cui_postauth {
-- if (FreeRadius-Proxied-To == 127.0.0.1) {
-- if (outer.request:Chargeable-User-Identity) {
-- update outer.reply {
-- Chargeable-User-Identity:="%{md5:%{config:cui_hash_key}%{User-Name}}"
-+ if (FreeRadius-Proxied-To == "127.0.0.1") {
-+ #
-+ # Add the CUI to Access-Accept, but only if the CUI
-+ # was set in the request.
-+ #
-+ if (outer.request:Chargeable-User-Identity && (outer.request:Operator-Name) || !("%{config:cui_require_operator_name}") ) {
-+ update reply {
-+ Chargeable-User-Identity := "%{md5:%{config:cui_hash_key}%{request:User-Name}%{%{outer.request:Operator-Name}:-}}"
- }
- }
- }
- else {
-- if (Chargeable-User-Identity) {
-+ #
-+ # If the CUI was set in the request and the CUI reply
-+ # is not already set by inner auth, add it to
-+ # Access-Accept
-+ #
-+ if (!("%{control:Proxy-To-Realm}") && \
-+ (Chargeable-User-Identity) && \
-+ !(reply:Chargeable-User-Identity) && \
-+ ( (Operator-Name) || ! ("%{config:cui_require_operator_name}") ) ) {
- update reply {
-- Chargeable-User-Identity="%{md5:%{config:cui_hash_key}%{User-Name}}"
-+ Chargeable-User-Identity = "%{md5:%{config:cui_hash_key}%{request:User-Name}%{%{Operator-Name}:-}}"
- }
- }
- }
- }
-
- #
-- # If there is a CUI attribute in the reply, add it to the DB.
-+ # If there is a CUI attribute in the reply, add it to the DB.
- #
- cui_updatedb {
-- if (reply:Chargeable-User-Identity) {
-+ if ("%{reply:Chargeable-User-Identity}") {
- cui
- }
- }
-
- #
-- # If we had stored a CUI for the User, add it to the request.
-+ # If we had stored a CUI for the User, add it to the request.
- #
- cui_accounting {
- #
-@@ -199,20 +226,22 @@
- # in the DB.
- #
- if (!Chargeable-User-Identity) {
-- update request {
-- Chargeable-User-Identity := "%{cui: SELECT cui FROM cui WHERE clientipaddress = '%{Client-IP-Address}' AND callingstationid = '%{Calling-Station-Id}' AND username = '%{User-Name}'}"
-+ update control {
-+ Chargeable-User-Identity = "%{cui: SELECT cui FROM cui WHERE clientipaddress = '%{Client-IP-Address}' AND callingstationid = '%{Calling-Station-Id}' AND username = '%{User-Name}'}"
- }
- }
--
- #
-- # If it exists now, then write out when we last saw
-- # this CUI.
-+ # If it exists now, then update request and write out
-+ # when we last saw this CUI.
- #
-- if (Chargeable-User-Identity && (Chargeable-User-Identity != "")) {
-+ if (control:Chargeable-User-Identity && \
-+ (control:Chargeable-User-Identity != "")) {
-+ update request {
-+ Chargeable-User-Identity := "%{control:Chargeable-User-Identity}"
-+ }
- cui
- }
- }
--
- #
- # Normalize the MAC Addresses in the Calling/Called-Station-Id
- #
-diff -Naur freeradius-server-2.2.0-orig/raddb/sites-available/default freeradius-server-2.2.0/raddb/sites-available/default
---- freeradius-server-2.2.0-orig/raddb/sites-available/default 2012-09-10 13:51:34.000000000 +0200
-+++ freeradius-server-2.2.0/raddb/sites-available/default 2012-09-13 11:04:54.939298452 +0200
-@@ -1,3 +1,13 @@
-+# If *returning* the CUI, set cui_hash_key to some random string
-+# and uncomment the line below
-+# cui_hash_key = "some secret value"
-+# If *returning* the CUI and the Operator-Name attribute in request is
-+# required, uncomment the line below
-+# cui_require_operator_name = yes
-+# If Operator-Name attribute is used, uncomment the line below and
-+# fill out with one of your registered DNS domain names, which
-+# will be used as the Operator-Name attribute value
-+# sp_operator_name = "1your.registered.domain.name"
- ######################################################################
- #
- # As of 2.0.0, FreeRADIUS supports virtual hosts using the
-@@ -376,6 +386,11 @@
- # Accounting. Log the accounting data.
- #
- accounting {
-+ # cui_accounting reads the record form the temporary database,
-+ # selects the corresponding CUI value, as set cui_updatedb
-+ # and adds the CUI attribute to the accounting request
-+ # uncomment the line below if *requesting* the CUI
-+# cui_accounting
- #
- # Create a 'detail'ed log of the packets.
- # Note that accounting requests which are proxied
-@@ -459,6 +474,17 @@
- # Once we KNOW that the user has been authenticated, there are
- # additional steps we can take.
- post-auth {
-+ # cui_postauth reacts to the Chargeable-User-Identity request
-+ # by adding the md5 hash created from a configurable local
-+ # salt (cui_hash_key) and the (inner) User-Name value
-+ # uncomment the line below if *returning* the CUI
-+# cui_postauth
-+ #
-+ # cui_updatedb updates the temporary database adding
-+ # the record containing the received CUI value to be later
-+ # used in accounting
-+ # uncomment the line below if *requesting* the CUI
-+# cui_updatedb
- # Get an address from the IP Pool.
- # main_pool
-
-@@ -581,6 +607,14 @@
- # Uncomment the following line if you want to change attributes
- # as defined in the preproxy_users file.
- # files
-+
-+ # operator_name adds Operator-Name value to Access-Request
-+# operator_name
-+
-+ # cui_pre-proxy adds the NULL CUI value to Access-Request
-+ # thus making it a Chargeable-User-Identity request
-+ # uncomment the line below if *requesting* the CUI
-+# cui_pre-proxy
-
- # Uncomment the following line if you want to filter requests
- # sent to remote servers based on the rules defined in the
-diff -Naur freeradius-server-2.2.0-orig/raddb/sites-available/inner-tunnel freeradius-server-2.2.0/raddb/sites-available/inner-tunnel
---- freeradius-server-2.2.0-orig/raddb/sites-available/inner-tunnel 2012-09-10 13:51:34.000000000 +0200
-+++ freeradius-server-2.2.0/raddb/sites-available/inner-tunnel 2012-09-13 11:05:56.237168046 +0200
-@@ -261,6 +261,12 @@
- # Once we KNOW that the user has been authenticated, there are
- # additional steps we can take.
- post-auth {
-+ # cui_postauth reacts to the Chargeable-User-Identity request
-+ # by adding the md5 hash created from a configurable local
-+ # salt (cui_hash_key) and the (inner) User-Name value
-+ # uncomment the line below if *returning* the CUI
-+# cui_postauth
-+
- # Note that we do NOT assign IP addresses here.
- # If you try to assign IP addresses for EAP authentication types,
- # it WILL NOT WORK. You MUST use DHCP.
-diff -Naur freeradius-server-2.2.0-orig/raddb/sql/mysql/cui.conf freeradius-server-2.2.0/raddb/sql/mysql/cui.conf
---- freeradius-server-2.2.0-orig/raddb/sql/mysql/cui.conf 2012-09-10 13:51:34.000000000 +0200
-+++ freeradius-server-2.2.0/raddb/sql/mysql/cui.conf 2012-09-13 10:59:05.245170029 +0200
-@@ -1,31 +1,55 @@
- # -*- text -*-
--
- ##
--## Queries to update the CUI table.
-+## cui.conf -- SQL - CUI queries
- ##
--postauth_query = "INSERT IGNORE INTO ${cui_table} \
-- (clientipaddress, callingstationid, username, cui, lastaccounting) \
-- VALUES \
-- ('%{Client-IP-Address}', '%{Calling-Station-Id}', '%{User-Name}', '%{reply:Chargeable-User-Identity}', NULL) ON DUPLICATE KEY UPDATE lastaccounting='0000-00-00 00:00:00', cui='%{reply:Chargeable-User-Identity}'";
-+## $Id$
-+#
-+# This is a part of the Chargeable-User-Identity module
-+# See doc/cui_howto.txt for more information
-+
-+
-+# postauth_query creates a temporary record remembering
-+# Client-IP-Address, Calling-Station-Id, User-Name,
-+# Chargeable-User-Identity.
-+# This information is used later to correlate accounting requests
-+# with the information received in Access-Accept
-+#
-+ postauth_query = "INSERT IGNORE INTO ${cui_table} \
-+ (clientipaddress, callingstationid, username, \
-+ cui, lastaccounting) \
-+ VALUES \
-+ ('%{Client-IP-Address}', '%{Calling-Station-Id}', \
-+ '%{User-Name}', '%{reply:Chargeable-User-Identity}', NULL) \
-+ ON DUPLICATE KEY UPDATE \
-+ lastaccounting='0000-00-00 00:00:00', \
-+ cui='%{reply:Chargeable-User-Identity}'";
-+
-+# accounting_start_query and accounting_update_query are called
-+# by Accounting-Request Start or Interim Update.
-+# The appropriate temporary record is updates by entering
-+# the current time as the lastaccounting field.
-+# The value of lastaccounting can be used to clean up the database
-+# from stale temporary records.
-+#
-+ accounting_start_query = "UPDATE ${cui_table} \
-+ SET lastaccounting = CURRENT_TIMESTAMP \
-+ WHERE clientipaddress = '%{Client-IP-Address}' \
-+ AND callingstationid = '%{Calling-Station-Id}' \
-+ AND username = '%{User-Name}' \
-+ AND cui = '%{Chargeable-User-Identity}'";
-
--accounting_start_query = "UPDATE ${cui_table} \
-- SET \
-- lastaccounting = CURRENT_TIMESTAMP \
-- WHERE clientipaddress = '%{Client-IP-Address}' \
-- AND callingstationid = '%{Calling-Station-Id}' \
-- AND username = '%{User-Name}' \
-- AND cui = '%{Chargeable-User-Identity}'";
--
--accounting_update_query = "UPDATE ${cui_table} \
-- SET \
-- lastaccounting = CURRENT_TIMESTAMP \
-- WHERE clientipaddress = '%{Client-IP-Address}' \
-- AND callingstationid = '%{Calling-Station-Id}' \
-- AND username = '%{User-Name}' \
-- AND cui = '%{Chargeable-User-Identity}'";
-+ accounting_update_query = "UPDATE ${cui_table} \
-+ SET lastaccounting = CURRENT_TIMESTAMP \
-+ WHERE clientipaddress = '%{Client-IP-Address}' \
-+ AND callingstationid = '%{Calling-Station-Id}' \
-+ AND username = '%{User-Name}' \
-+ AND cui = '%{Chargeable-User-Identity}'";
-
--accounting_stop_query = "DELETE FROM ${cui_table} WHERE \
-- clientipaddress = '%{Client-IP-Address}' \
-- AND callingstationid = '%{Calling-Station-Id}' \
-- AND username = '%{User-Name}' \
-- AND cui = '%{Chargeable-User-Identity}'";
-+# accounting_stop_query is called by Accounting-Request Stop.
-+# It deletes the temporary record form the database.
-+#
-+ accounting_stop_query = "DELETE FROM ${cui_table} WHERE \
-+ clientipaddress = '%{Client-IP-Address}' \
-+ AND callingstationid = '%{Calling-Station-Id}' \
-+ AND username = '%{User-Name}' \
-+ AND cui = '%{Chargeable-User-Identity}'";
-diff -Naur freeradius-server-2.2.0-orig/raddb/sql/mysql/cui.sql freeradius-server-2.2.0/raddb/sql/mysql/cui.sql
---- freeradius-server-2.2.0-orig/raddb/sql/mysql/cui.sql 2012-09-10 13:51:34.000000000 +0200
-+++ freeradius-server-2.2.0/raddb/sql/mysql/cui.sql 2012-09-13 10:59:05.245170029 +0200
-@@ -1,3 +1,7 @@
-+#
-+# Table structure for table 'cui'
-+#
-+#
- CREATE TABLE `cui` (
- `clientipaddress` varchar(15) NOT NULL default '',
- `callingstationid` varchar(50) NOT NULL default '',
diff --git a/failed_calls_accounting.patch b/failed_calls_accounting.patch
deleted file mode 100644
index 4cda17d..0000000
--- a/failed_calls_accounting.patch
+++ /dev/null
@@ -1,240 +0,0 @@
-Index: man/man5/rlm_sql.5
-===================================================================
-RCS file: /source/radiusd/man/man5/rlm_sql.5,v
-retrieving revision 1.4
-diff -u -r1.4 rlm_sql.5
---- man/man5/rlm_sql.5 16 Mar 2008 15:39:10 -0000 1.4
-+++ man/man5/rlm_sql.5 22 Jul 2009 13:09:15 -0000
-@@ -118,6 +118,8 @@
- .IP accounting_stop_query_alt
- The query to be run when receiving an Accounting Stop packet. If the
- primary query fails, the alt query is run.
-+.IP accounting_failed_query
-+The query to be run when receiving a Failed Packet.
- .IP simul_count_query
- The query to be run to return the number simultaneous sessions for the
- purposes of limiting Simultaneous Use.
-Index: raddb/sql/mssql/dialup.conf
-===================================================================
-RCS file: /source/radiusd/raddb/sql/mssql/dialup.conf,v
-retrieving revision 1.4
-diff -u -r1.4 dialup.conf
---- raddb/sql/mssql/dialup.conf 30 Apr 2008 08:33:39 -0000 1.4
-+++ raddb/sql/mssql/dialup.conf 22 Jul 2009 13:09:15 -0000
-@@ -66,6 +66,7 @@
- # accounting_stop_query_alt - query for Accounting start packets
- # (alternate in case first query doesn't
- # affect any existing rows in the table)
-+ # accounting_failed_query - query for Accounting failed packets
- #######################################################################
- accounting_onoff_query = "UPDATE ${acct_table1} SET AcctStopTime='%S', AcctSessionTime=unix_timestamp('%S') - unix_timestamp(AcctStartTime), AcctTerminateCause='%{Acct-Terminate-Cause}', AcctStopDelay = %{Acct-Delay-Time:-0} WHERE AcctStopTime=0 AND NASIPAddress= '%{NAS-IP-Address}' AND AcctStartTime <= '%S'"
-
-@@ -88,3 +89,7 @@
- # removed. These fields are processing by a database
- accounting_stop_query_alt = "INSERT into ${acct_table2} (AcctSessionId, AcctUniqueId, UserName, Realm, NASIPAddress, NASPort, NASPortType, AcctStopTime, AcctSessionTime, AcctAuthentic, ConnectInfo_start, ConnectInfo_stop, AcctInputOctets, AcctOutputOctets, CalledStationId, CallingStationId, AcctTerminateCause, ServiceType, FramedProtocol, FramedIPAddress, AcctStartDelay, AcctStopDelay) values('%{Acct-Session-Id}', '%{Acct-Unique-Session-Id}', '%{SQL-User-Name}', '%{Realm}', '%{NAS-IP-Address}', '%{NAS-Port-Id}', '%{NAS-Port-Type}', '%S', '%{Acct-Session-Time}', '%{Acct-Authentic}', '', '%{Connect-Info}', '%{Acct-Input-Octets}', '%{Acct-Output-Octets}', '%{Called-Station-Id}', '%{Calling-Station-Id}', '%{Acct-Terminate-Cause}', '%{Service-Type}', '%{Framed-Protocol}', '%{Framed-IP-Address}', '0', '%{Acct-Delay-Time:-0}')"
-
-+ # accounting_failed_query: Inserting of RadAcctId and AcctStopTime was
-+ # removed. These fields are processing by a database
-+ accounting_start_query = "INSERT into ${acct_table1} (AcctSessionId, AcctUniqueId, UserName, Realm, NASIPAddress, NASPort, NASPortType, AcctStartTime, AcctSessionTime, AcctAuthentic, ConnectInfo_start, ConnectInfo_stop, AcctInputOctets, AcctOutputOctets, CalledStationId, CallingStationId, AcctTerminateCause, ServiceType, FramedProtocol, FramedIPAddress, AcctStartDelay, AcctStopDelay, XAscendSessionSvrKey) \
-+ VALUES('%{Acct-Session-Id}', '%{Acct-Unique-Session-Id}', '%{SQL-User-Name}', '%{Realm}', '%{NAS-IP-Address}', '%{NAS-Port-Id}', '%{NAS-Port-Type}', '%S', '0', '%{Acct-Authentic}', '%{Connect-Info}', '', '0', '0', '%{Called-Station-Id}', '%{Calling-Station-Id}', '', '%{Service-Type}', '%{Framed-Protocol}', '%{Framed-IP-Address}', '%{Acct-Delay-Time}', '0', '%{X-Ascend-Session-Svr-Key}')"
-Index: raddb/sql/mysql/dialup.conf
-===================================================================
-RCS file: /source/radiusd/raddb/sql/mysql/dialup.conf,v
-retrieving revision 1.8
-diff -u -r1.8 dialup.conf
---- raddb/sql/mysql/dialup.conf 3 May 2008 17:16:07 -0000 1.8
-+++ raddb/sql/mysql/dialup.conf 22 Jul 2009 13:09:15 -0000
-@@ -135,6 +135,7 @@
- # accounting_stop_query_alt - query for Accounting start packets
- # (alternate in case first query doesn't
- # affect any existing rows in the table)
-+ # accounting_failed_query - query for Accounting failed packets
- #######################################################################
- accounting_onoff_query = "\
- UPDATE ${acct_table1} \
-@@ -263,6 +264,27 @@
- '%{Service-Type}', '%{Framed-Protocol}', '%{Framed-IP-Address}', \
- '0', '%{%{Acct-Delay-Time}:-0}')"
-
-+ accounting_failed_query = " \
-+ INSERT INTO ${acct_table1} \
-+ (acctsessionid, acctuniqueid, username, \
-+ realm, nasipaddress, nasportid, \
-+ nasporttype, acctstarttime, acctstoptime, \
-+ acctsessiontime, acctauthentic, connectinfo_start, \
-+ connectinfo_stop, acctinputoctets, acctoutputoctets, \
-+ calledstationid, callingstationid, acctterminatecause, \
-+ servicetype, framedprotocol, framedipaddress, \
-+ acctstartdelay, acctstopdelay, xascendsessionsvrkey) \
-+ VALUES \
-+ ('%{Acct-Session-Id}', '%{Acct-Unique-Session-Id}', \
-+ '%{SQL-User-Name}', \
-+ '%{Realm}', '%{NAS-IP-Address}', '%{NAS-Port}', \
-+ '%{NAS-Port-Type}', '%S', NULL, \
-+ '0', '%{Acct-Authentic}', '%{Connect-Info}', \
-+ '', '0', '0', \
-+ '%{Called-Station-Id}', '%{Calling-Station-Id}', '', \
-+ '%{Service-Type}', '%{Framed-Protocol}', '%{Framed-IP-Address}', \
-+ '%{%{Acct-Delay-Time}:-0}', '0', '%{X-Ascend-Session-Svr-Key}')"
-+
- #######################################################################
- # Simultaneous Use Checking Queries
- #######################################################################
-Index: raddb/sql/oracle/dialup.conf
-===================================================================
-RCS file: /source/radiusd/raddb/sql/oracle/dialup.conf,v
-retrieving revision 1.4
-diff -u -r1.4 dialup.conf
---- raddb/sql/oracle/dialup.conf 30 Apr 2008 08:33:39 -0000 1.4
-+++ raddb/sql/oracle/dialup.conf 22 Jul 2009 13:09:15 -0000
-@@ -95,6 +95,7 @@
- # accounting_stop_query_alt - query for Accounting start packets
- # (alternate in case first query doesn't
- # affect any existing rows in the table)
-+ # accounting_failed_query - query for Accounting failed packets
- #######################################################################
- accounting_onoff_query = "UPDATE ${acct_table1} SET AcctStopTime=TO_DATE('%S','yyyy-mm-dd hh24:mi:ss'), AcctSessionTime=((TO_DATE('%S','yyyy-mm-dd hh24:mi:ss') - AcctStartTime)*86400), AcctTerminateCause='%{Acct-Terminate-Cause}', AcctStopDelay = %{Acct-Delay-Time:-0} WHERE AcctStopTime IS NULL AND NASIPAddress = '%{NAS-IP-Address}' AND AcctStartTime <= TO_DATE('%S','yyyy-mm-dd hh24:mi:ss')"
-
-@@ -142,6 +143,9 @@
- '%{Called-Station-Id}', '%{Calling-Station-Id}', '%{Acct-Terminate-Cause}', '%{Service-Type}', \
- '%{Framed-Protocol}', '%{Framed-IP-Address}', '0', '%{Acct-Delay-Time:-0}')"
-
-+accounting_failed_query = "INSERT into ${acct_table1} (RadAcctId, AcctSessionId, AcctUniqueId, UserName, Realm, NASIPAddress, NASPortId, NASPortType, AcctStartTime, AcctStopTime, AcctSessionTime, AcctAuthentic, ConnectInfo_start, ConnectInfo_stop, AcctInputOctets, AcctOutputOctets, CalledStationId, CallingStationId, AcctTerminateCause, ServiceType, FramedProtocol, FramedIPAddress, AcctStartDelay, AcctStopDelay, XAscendSessionSvrKey) \
-+ VALUES('', '%{Acct-Session-Id}', '%{Acct-Unique-Session-Id}', '%{SQL-User-Name}', '%{Realm}', '%{NAS-IP-Address}', '%{NAS-Port-Id}', '%{NAS-Port-Type}', TO_DATE('%S','yyyy-mm-dd hh24:mi:ss'), NULL, '0', '%{Acct-Authentic}', '%{Connect-Info}', '', '0', '0', '%{Called-Station-Id}', '%{Calling-Station-Id}', '', '%{Service-Type}', '%{Framed-Protocol}', '%{Framed-IP-Address}', '%{Acct-Delay-Time}', '0', '%{X-Ascend-Session-Svr-Key}')"
-+
- #######################################################################
- # Simultaneous Use Checking Queries
- #######################################################################
-Index: raddb/sql/postgresql/dialup.conf
-===================================================================
-RCS file: /source/radiusd/raddb/sql/postgresql/dialup.conf,v
-retrieving revision 1.9
-diff -u -r1.9 dialup.conf
---- raddb/sql/postgresql/dialup.conf 30 Apr 2008 08:33:40 -0000 1.9
-+++ raddb/sql/postgresql/dialup.conf 22 Jul 2009 13:09:15 -0000
-@@ -153,6 +153,7 @@
- # accounting_stop_query_alt - query for Accounting start packets
- # (alternate in case first query doesn't
- # affect any existing rows in the table)
-+# accounting_failed_query - query for Accounting failed packets
- #######################################################################
-
- accounting_onoff_query = "UPDATE ${acct_table1} \
-@@ -262,6 +263,29 @@
- '%{Framed-Protocol}', \
- NULLIF('%{Framed-IP-Address}', '')::inet, 0)"
-
-+accounting_failed_query = "INSERT INTO ${acct_table1} \
-+ (AcctSessionId, AcctUniqueId, UserName, Realm, NASIPAddress, \
-+ NASPortId, NASPortType, AcctStartTime, AcctAuthentic, \
-+ ConnectInfo_start, CalledStationId, CallingStationId, ServiceType, \
-+ FramedProtocol, FramedIPAddress, AcctStartDelay, XAscendSessionSvrKey) \
-+ VALUES('%{Acct-Session-Id}', \
-+ '%{Acct-Unique-Session-Id}', \
-+ '%{SQL-User-Name}', \
-+ NULLIF('%{Realm}', ''), \
-+ '%{NAS-IP-Address}', \
-+ %{%{NAS-Port}:-NULL}::integer, \
-+ '%{NAS-Port-Type}', \
-+ ('%S'::timestamp - '%{%{Acct-Delay-Time}:-0}'::interval), \
-+ '%{Acct-Authentic}', \
-+ '%{Connect-Info}', \
-+ '%{Called-Station-Id}', \
-+ '%{Calling-Station-Id}', \
-+ '%{Service-Type}', \
-+ '%{Framed-Protocol}', \
-+ NULLIF('%{Framed-IP-Address}', '')::inet, \
-+ 0, \
-+ '%{X-Ascend-Session-Svr-Key}')"
-+
- #######################################################################
- # Group Membership Queries
- #######################################################################
-Index: src/include/radius.h
-===================================================================
-RCS file: /source/radiusd/src/include/radius.h,v
-retrieving revision 1.93
-diff -u -r1.93 radius.h
---- src/include/radius.h 25 Apr 2008 06:20:55 -0000 1.93
-+++ src/include/radius.h 22 Jul 2009 13:09:15 -0000
-@@ -286,6 +286,7 @@
- #define PW_STATUS_ALIVE 3
- #define PW_STATUS_ACCOUNTING_ON 7
- #define PW_STATUS_ACCOUNTING_OFF 8
-+#define PW_STATUS_FAILED 15
-
- /*
- * Vendor Private Enterprise Codes
-Index: src/modules/rlm_sql/conf.h
-===================================================================
-RCS file: /source/radiusd/src/modules/rlm_sql/conf.h,v
-retrieving revision 1.25
-diff -u -r1.25 conf.h
---- src/modules/rlm_sql/conf.h 14 Nov 2006 21:22:29 -0000 1.25
-+++ src/modules/rlm_sql/conf.h 22 Jul 2009 13:09:16 -0000
-@@ -32,6 +32,7 @@
- char *accounting_start_query_alt;
- char *accounting_stop_query;
- char *accounting_stop_query_alt;
-+ char *accounting_failed_query;
- char *simul_count_query;
- char *simul_verify_query;
- char *groupmemb_query;
-@@ -74,7 +75,7 @@
-
- #define ASCEND_PORT_HACK
- #define ASCEND_CHANNELS_PER_LINE 23
--#define CISCO_ACCOUNTING_HACK
-+/* #define CISCO_ACCOUNTING_HACK */
-
- /* SQL defines */
- #define MAX_QUERY_LEN 4096
-Index: src/modules/rlm_sql/rlm_sql.c
-===================================================================
-RCS file: /source/radiusd/src/modules/rlm_sql/rlm_sql.c,v
-retrieving revision 1.182
-diff -u -r1.182 rlm_sql.c
---- src/modules/rlm_sql/rlm_sql.c 13 Jun 2008 12:30:07 -0000 1.182
-+++ src/modules/rlm_sql/rlm_sql.c 22 Jul 2009 13:09:16 -0000
-@@ -89,6 +89,8 @@
- offsetof(SQL_CONFIG,accounting_stop_query), NULL, ""},
- {"accounting_stop_query_alt", PW_TYPE_STRING_PTR,
- offsetof(SQL_CONFIG,accounting_stop_query_alt), NULL, ""},
-+ {"accounting_failed_query", PW_TYPE_STRING_PTR,
-+ offsetof(SQL_CONFIG,accounting_failed_query), NULL, ""},
- {"group_membership_query", PW_TYPE_STRING_PTR,
- offsetof(SQL_CONFIG,groupmemb_query), NULL, NULL},
- {"connect_failure_retry_delay", PW_TYPE_INTEGER,
-@@ -1287,6 +1289,32 @@
- }
- break;
-
-+ /*
-+ * Got accounting failed packet
-+ */
-+ case PW_STATUS_FAILED:
-+ /*
-+ * Set, escape, and check the user attr here
-+ */
-+ sql_set_user(inst, request, sqlusername, NULL);
-+
-+ radius_xlat(querystr, sizeof(querystr), inst->config->accounting_failed_query, request, sql_escape_func);
-+ query_log(request, inst, querystr);
-+
-+ sqlsocket = sql_get_socket(inst);
-+ if (sqlsocket == NULL)
-+ return(RLM_MODULE_FAIL);
-+ if (*querystr) { /* non-empty query */
-+ if (rlm_sql_query(sqlsocket, inst, querystr)) {
-+ radlog(L_ERR, "rlm_sql (%s): Couldn't insert SQL accounting FAILED record - %s",
-+ inst->config->xlat_name,
-+ (char *)(inst->module->sql_error)(sqlsocket, inst->config));
-+ ret = RLM_MODULE_FAIL;
-+ }
-+ (inst->module->sql_finish_query)(sqlsocket, inst->config);
-+ }
-+ break;
-+
- /*
- * Anything else is ignored.
- */
diff --git a/format-security.patch b/format-security.patch
deleted file mode 100644
index 4d00928..0000000
--- a/format-security.patch
+++ /dev/null
@@ -1,31 +0,0 @@
---- freeradius-server-2.2.0/src/modules/rlm_ruby/rlm_ruby.c~ 2012-12-07 08:22:05.957883039 +0100
-+++ freeradius-server-2.2.0/src/modules/rlm_ruby/rlm_ruby.c 2012-12-07 08:27:18.491205348 +0100
-@@ -91,7 +91,7 @@
- char *msg;
- status = FIX2INT(msg_type);
- msg = STR2CSTR(rb_msg);
-- radlog(status, msg);
-+ radlog(status, "%s", msg);
- return Qnil;
- }
-
---- freeradius-server-2.2.6/src/modules/rlm_sql/drivers/rlm_sql_oracle/sql_oracle.c.orig 2014-11-18 20:56:52.000000000 +0100
-+++ freeradius-server-2.2.6/src/modules/rlm_sql/drivers/rlm_sql_oracle/sql_oracle.c 2015-03-22 07:30:08.669953101 +0100
-@@ -242,7 +242,7 @@
- rlm_sql_oracle_sock *oracle_sock = sqlsocket->conn;
-
- if (config->sqltrace)
-- DEBUG(querystr);
-+ DEBUG("%s", querystr);
- if (oracle_sock->conn == NULL) {
- radlog(L_ERR, "rlm_sql_oracle: Socket not connected");
- return SQL_DOWN;
-@@ -300,7 +300,7 @@
- rlm_sql_oracle_sock *oracle_sock = sqlsocket->conn;
-
- if (config->sqltrace)
-- DEBUG(querystr);
-+ DEBUG("%s", querystr);
- if (oracle_sock->conn == NULL) {
- radlog(L_ERR, "rlm_sql_oracle: Socket not connected");
- return SQL_DOWN;
diff --git a/freeradius-server-heimdal.patch b/freeradius-server-heimdal.patch
deleted file mode 100644
index f31950b..0000000
--- a/freeradius-server-heimdal.patch
+++ /dev/null
@@ -1,11 +0,0 @@
---- freeradius-server-2.1.7/src/modules/rlm_krb5/Makefile.in~ 2009-09-14 16:43:29.000000000 +0200
-+++ freeradius-server-2.1.7/src/modules/rlm_krb5/Makefile.in 2009-12-09 15:08:03.257911929 +0100
-@@ -6,7 +6,7 @@
- SRCS = rlm_krb5.c
- HEADERS =
- RLM_LIBS = @krb5_ldflags@
--RLM_CFLAGS = @krb5_cflags@ -I/usr/include/et -DKRB5_DEPRECATED
-+RLM_CFLAGS = @krb5_cflags@ -I/usr/include/et
-
- include ../rules.mak
-
diff --git a/freeradius-server-libdir.patch b/freeradius-server-libdir.patch
index 23b7eb6..3f9b885 100644
--- a/freeradius-server-libdir.patch
+++ b/freeradius-server-libdir.patch
@@ -1,6 +1,6 @@
-diff -dur -x '*~' -x '*.orig' -x '*.rej' freeradius-server-3.0.17.orig/raddb/radiusd.conf.in freeradius-server-3.0.17/raddb/radiusd.conf.in
---- freeradius-server-3.0.17.orig/raddb/radiusd.conf.in 2018-10-09 14:36:25.000000000 +0200
-+++ freeradius-server-3.0.17/raddb/radiusd.conf.in 2018-10-09 14:37:15.000000000 +0200
+diff -dur -x '*~' freeradius-server-3.0.17.orig/raddb/radiusd.conf.in freeradius-server-3.0.17/raddb/radiusd.conf.in
+--- freeradius-server-3.0.17.orig/raddb/radiusd.conf.in 2018-10-10 10:12:41.000000000 +0200
++++ freeradius-server-3.0.17/raddb/radiusd.conf.in 2018-10-10 10:13:24.000000000 +0200
@@ -105,7 +105,7 @@
# make
# make install
@@ -10,9 +10,25 @@ diff -dur -x '*~' -x '*.orig' -x '*.rej' freeradius-server-3.0.17.orig/raddb/rad
# pidfile: Where to place the PID of the RADIUS server.
#
-diff -dur -x '*~' -x '*.orig' -x '*.rej' freeradius-server-3.0.17.orig/src/main/mainconfig.c freeradius-server-3.0.17/src/main/mainconfig.c
+diff -dur -x '*~' freeradius-server-3.0.17.orig/scripts/install.mk freeradius-server-3.0.17/scripts/install.mk
+--- freeradius-server-3.0.17.orig/scripts/install.mk 2018-04-17 19:12:27.000000000 +0200
++++ freeradius-server-3.0.17/scripts/install.mk 2018-10-10 10:19:46.000000000 +0200
+@@ -141,7 +141,11 @@
+ endif
+ else
+ ifeq "$${TGT_INSTALLDIR}" ".."
+- TGT_INSTALLDIR := $${libdir}
++ ifneq (,$(filter lib%,${1}))
++ TGT_INSTALLDIR := $${libdir}
++ else
++ TGT_INSTALLDIR := $${libdir}/freeradius
++ endif
+ endif
+ endif
+
+diff -dur -x '*~' freeradius-server-3.0.17.orig/src/main/mainconfig.c freeradius-server-3.0.17/src/main/mainconfig.c
--- freeradius-server-3.0.17.orig/src/main/mainconfig.c 2018-04-17 19:12:27.000000000 +0200
-+++ freeradius-server-3.0.17/src/main/mainconfig.c 2018-10-09 14:39:21.000000000 +0200
++++ freeradius-server-3.0.17/src/main/mainconfig.c 2018-10-10 10:13:24.000000000 +0200
@@ -183,7 +183,7 @@
{ "sbindir", FR_CONF_POINTER(PW_TYPE_STRING, &sbindir), "${prefix}/sbin"},
{ "logdir", FR_CONF_POINTER(PW_TYPE_STRING, &radlog_dir), "${localstatedir}/log"},
diff --git a/freeradius-server-makefile.patch b/freeradius-server-makefile.patch
deleted file mode 100644
index 8ed9d86..0000000
--- a/freeradius-server-makefile.patch
+++ /dev/null
@@ -1,12 +0,0 @@
-diff -dur freeradius-1.0.1.orig/Makefile freeradius-1.0.1/Makefile
---- freeradius-1.0.1.orig/Makefile 2004-06-09 19:31:11.000000000 +0200
-+++ freeradius-1.0.1/Makefile 2004-09-30 14:57:42.084560009 +0200
-@@ -11,7 +11,7 @@
-
- .PHONY: all clean install
-
--SUBDIRS = $(LTDL_SUBDIRS) $(wildcard src raddb scripts doc)
-+SUBDIRS = src raddb scripts doc
- WHAT_TO_MAKE = all
-
- all:
diff --git a/freeradius-server-oracle.patch b/freeradius-server-oracle.patch
deleted file mode 100644
index b952180..0000000
--- a/freeradius-server-oracle.patch
+++ /dev/null
@@ -1,11 +0,0 @@
---- freeradius-server-2.2.6/src/modules/rlm_sql/drivers/rlm_sql_oracle/configure.in.orig 2014-11-18 20:56:52.000000000 +0100
-+++ freeradius-server-2.2.6/src/modules/rlm_sql/drivers/rlm_sql_oracle/configure.in 2015-03-21 21:42:12.521433499 +0100
-@@ -86,7 +86,7 @@
- if test "x$oracle_lib_dir" != "x" ; then
- ORACLE_LIBDIR_SWITCH="-L${oracle_lib_dir} "
- fi
-- for oracle_version in 10 11 9 ""; do
-+ for oracle_version in 12 10 11 9 ""; do
- LIBS="$old_LIBS $ORACLE_LIBDIR_SWITCH -lclntsh -lnnz${oracle_version}"
- AC_TRY_LINK([#include <oci.h>
-
diff --git a/freeradius-server-rubyhdrs.patch b/freeradius-server-rubyhdrs.patch
deleted file mode 100644
index de3341f..0000000
--- a/freeradius-server-rubyhdrs.patch
+++ /dev/null
@@ -1,44 +0,0 @@
---- freeradius-server-2.1.7/src/modules/rlm_ruby/configure.in~ 2009-09-14 16:43:29.000000000 +0200
-+++ freeradius-server-2.1.7/src/modules/rlm_ruby/configure.in 2010-03-01 13:53:59.571124248 +0100
-@@ -48,7 +48,7 @@
- RB_LIBS=`${RUBYBIN} -e "require 'rbconfig'; puts RbConfig::CONFIG.fetch('LIBRUBYARG_SHARED')"`
- AC_MSG_NOTICE([libs: $RB_LIBS])
-
-- RB_INC_DIR=`${RUBYBIN} -e "require 'rbconfig'; puts RbConfig::CONFIG.fetch('includedir')"`
-+ RB_INC_DIR=`${RUBYBIN} -e "require 'rbconfig'; puts RbConfig::CONFIG.fetch('rubyhdrdir')"`
- AC_MSG_NOTICE([include: $RB_INC_DIR])
-
- RB_CFLAGS=`${RUBYBIN} -e "require 'rbconfig'; puts RbConfig::CONFIG.fetch('CFLAGS')"`
-@@ -57,8 +57,11 @@
- RB_ARCH_DIR=`${RUBYBIN} -e "require 'rbconfig'; puts RbConfig::CONFIG.fetch('archdir')"`
- AC_MSG_NOTICE([arch: $RB_ARCH_DIR])
-
-+ RB_ARCH_INC_DIR=`${RUBYBIN} -r rbconfig -e 'puts RbConfig.expand("$(rubyhdrdir)/$(arch)")'`
-+ AC_MSG_NOTICE([arch: $RB_ARCH_DIR])
-+
- old_CFLAGS=$CFLAGS
-- CFLAGS="$CFLAGS $RB_CFLAGS -I${RB_ARCH_DIR} -I${RB_INC_DIR} -I${RB_INC_DIR}/ruby-${RB_VERSION}"
-+ CFLAGS="$CFLAGS $RB_CFLAGS -I${RB_ARCH_INC_DIR} -I${RB_INC_DIR} -I${RB_INC_DIR}/ruby-${RB_VERSION}"
- AC_MSG_NOTICE("$CFLAGS");
- FR_SMART_CHECK_INCLUDE(ruby.h)
- if test "x$ac_cv_header_ruby_h" != "xyes"; then
---- freeradius-server-2.1.7/src/modules/rlm_ruby/rlm_ruby.c~ 2009-09-14 16:43:29.000000000 +0200
-+++ freeradius-server-2.1.7/src/modules/rlm_ruby/rlm_ruby.c 2010-03-01 15:21:45.111123747 +0100
-@@ -113,7 +113,7 @@
- }
-
- /* Get the array size. */
-- outertuplesize = RARRAY(rb_value)->len;
-+ outertuplesize = RARRAY_LEN(rb_value);
-
- for (i = 0; i < outertuplesize; i++) {
- VALUE pTupleElement = rb_ary_entry(rb_value, i);
-@@ -124,7 +124,7 @@
- /* Check if it's a pair */
- int tuplesize;
-
-- if ((tuplesize = RARRAY(pTupleElement)->len) != 2) {
-+ if ((tuplesize = RARRAY_LEN(pTupleElement)) != 2) {
- radlog(L_ERR, "%s: tuple element %d is a tuple "
- " of size %d. must be 2\n", function_name,
- i, tuplesize);
diff --git a/freeradius-server.spec b/freeradius-server.spec
index 3ed54b2..d57890c 100644
--- a/freeradius-server.spec
+++ b/freeradius-server.spec
@@ -9,7 +9,6 @@
%bcond_without instantclient # build Oracle SQL extension module against oracle-instantclient package
%bcond_without redis # rlm_redis and rlm_rediswho extension modules
%bcond_without ruby # rlm_ruby extension module
-%bcond_with failed_calls_acc # with failed calls accounting support
#
%include /usr/lib/rpm/macros.perl
#
@@ -28,17 +27,8 @@ Source3: %{name}.pam
Source4: %{name}.tmpfiles
Patch0: %{name}-config.patch
Patch1: %{name}-libdir.patch
-Patch2: %{name}-makefile.patch
-Patch3: %{name}-rundir.patch
-Patch4: %{name}-heimdal.patch
-Patch5: %{name}-rubyhdrs.patch
-# Patch taken from http://download.ag-projects.com/CDRTool/contrib/freeradius-brandinger/
-Patch6: failed_calls_accounting.patch
-#Patch7: http://eduroam.pl/Dokumentacja/cui-fr-2.2.0.patch
-Patch8: format-security.patch
-Patch9: am.patch
-Patch10: %{name}-oracle.patch
-Patch11: aclocal.patch
+Patch2: %{name}-rundir.patch
+Patch3: aclocal.patch
URL: http://www.freeradius.org/
%{?with_firebird:BuildRequires: Firebird-devel}
BuildRequires: autoconf >= 2.59
@@ -87,6 +77,7 @@ Provides: group(radius)
Provides: user(radius)
Obsoletes: cistron-radius
Obsoletes: freeradius < 2.0
+Obsoletes: freeradius-server-module-unix < 3.0
Conflicts: logrotate < 3.8.0
BuildRoot: %{tmpdir}/%{name}-%{version}-root-%(id -u -n)
@@ -278,18 +269,6 @@ UnixODBC driver for FreeRADIUS server SQL module.
%description module-sql-unixodbc -l pl.UTF-8
Sterownik UnixODBC dla modułu SQL serwera FreeRADIUS.
-%package module-unix
-Summary: Unix module for FreeRADIUS server
-Summary(pl.UTF-8): Moduł Unix do serwera FreeRADIUS
-Group: Networking/Daemons/Radius
-Requires: %{name} = %{version}-%{release}
-
-%description module-unix
-Unix module for FreeRADIUS server.
-
-%description module-unix -l pl.UTF-8
-Moduł Unix do serwera FreeRADIUS.
-
%package libs
Summary: FreeRADIUS server libraries
Summary(pl.UTF-8): Biblioteki serwera FreeRADIUS
@@ -334,16 +313,8 @@ Baza danych MIB dla serwera FreeRADIUS.
%patch0 -p1
%patch1 -p1
-#%patch2 -p1
+%patch2 -p1
%patch3 -p1
-#%patch4 -p1
-#%patch5 -p1
-%{?with_failed_calls_acc:%patch6 -p0}
-#%patch7 -p1
-#%patch8 -p1
-#%patch9 -p1
-#%patch10 -p1
-%patch11 -p1
%build
# Keep it for future when ac/am regeneration will be ok
@@ -396,6 +367,7 @@ done
rm -rf $RPM_BUILD_ROOT
install -d $RPM_BUILD_ROOT/etc/{logrotate.d,rc.d/init.d,pam.d} \
$RPM_BUILD_ROOT%{_var}/log/{,archive}/freeradius/radacct \
+ $RPM_BUILD_ROOT/var/run/freeradius \
$RPM_BUILD_ROOT%{mibdir} \
$RPM_BUILD_ROOT/usr/lib/tmpfiles.d
@@ -415,6 +387,13 @@ install mibs/FREERADIUS-*.mib $RPM_BUILD_ROOT%{mibdir}
$RPM_BUILD_ROOT%{_sbindir}/rc.*
%{__rm} -r $RPM_BUILD_ROOT%{_docdir}/freeradius
+%if %{without oci}
+%{__rm} -r $RPM_BUILD_ROOT%{_sysconfdir}/raddb/mods-config/sql/*/oracle
+%endif
+%{__rm} -r $RPM_BUILD_ROOT%{_sysconfdir}/raddb/mods-config/sql/*/mssql
+
+%{__rm} -r $RPM_BUILD_ROOT%{_libdir}{,/freeradius}/*.a
+
# prepare cleaned up docs for rpm
install -d docs-rpm
cp -a doc scripts docs-rpm
@@ -438,6 +417,14 @@ if [ "`id -g radius`" = "99" ]; then
fi
%post
+if [ ! -e /etc/raddb/certs/server.pem ] ; then
+ cd /etc/raddb/certs
+ make client.key || : # otherwise it doesn't work
+ ./bootstrap || :
+ chown root:radius * || :
+ chmod 640 * || :
+fi
+
/sbin/chkconfig --add %{name}
%service %{name} restart "%{name} daemon"
@@ -477,16 +464,17 @@ fi
%module_scripts module-sql-postgresql
%module_scripts module-sql-sqlite
%module_scripts module-sql-unixodbc
-%module_scripts module-unix
%files
%defattr(644,root,root,755)
%doc COPYRIGHT CREDITS README.rst docs-rpm/*
%attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) /etc/logrotate.d/freeradius-server
%attr(754,root,root) /etc/rc.d/init.d/freeradius-server
+%attr(755,root,root) %{_bindir}/dhcpclient
+%attr(755,root,root) %{_bindir}/map_unit
%attr(755,root,root) %{_bindir}/rad_counter
+%attr(755,root,root) %{_bindir}/radattr
%attr(755,root,root) %{_bindir}/radclient
-%attr(755,root,root) %{_bindir}/radconf2xml
%attr(755,root,root) %{_bindir}/radcrypt
%attr(755,root,root) %{_bindir}/radeapclient
%attr(755,root,root) %{_bindir}/radlast
@@ -495,44 +483,35 @@ fi
%attr(755,root,root) %{_bindir}/radtest
%attr(755,root,root) %{_bindir}/radwho
%attr(755,root,root) %{_bindir}/radzap
-%attr(755,root,root) %{_bindir}/rlm_dbm_cat
-%attr(755,root,root) %{_bindir}/rlm_dbm_parser
%attr(755,root,root) %{_bindir}/rlm_ippool_tool
%attr(755,root,root) %{_bindir}/smbencrypt
%attr(755,root,root) %{_sbindir}/checkrad
%attr(755,root,root) %{_sbindir}/raddebug
%attr(755,root,root) %{_sbindir}/radiusd
%attr(755,root,root) %{_sbindir}/radmin
-%attr(755,root,root) %{_sbindir}/radwatch
%dir %{_libdir}/freeradius
-%attr(755,root,root) %{_libdir}/freeradius/rlm_acctlog*.so
-%{_libdir}/freeradius/rlm_acctlog*.la
-%attr(755,root,root) %{_libdir}/freeradius/rlm_acct_unique*.so
-%{_libdir}/freeradius/rlm_acct_unique*.la
+%attr(755,root,root) %{_libdir}/freeradius/proto_dhcp*.so
+%{_libdir}/freeradius/proto_dhcp*.la
+%attr(755,root,root) %{_libdir}/freeradius/proto_vmps*.so
+%{_libdir}/freeradius/proto_vmps*.la
%attr(755,root,root) %{_libdir}/freeradius/rlm_always*.so
%{_libdir}/freeradius/rlm_always*.la
%attr(755,root,root) %{_libdir}/freeradius/rlm_attr_filter*.so
%{_libdir}/freeradius/rlm_attr_filter*.la
-%attr(755,root,root) %{_libdir}/freeradius/rlm_attr_rewrite*.so
-%{_libdir}/freeradius/rlm_attr_rewrite*.la
%attr(755,root,root) %{_libdir}/freeradius/rlm_cache*.so
%{_libdir}/freeradius/rlm_cache*.la
-%attr(755,root,root) %{_libdir}/freeradius/rlm_caching*.so
-%{_libdir}/freeradius/rlm_caching*.la
%attr(755,root,root) %{_libdir}/freeradius/rlm_chap*.so
%{_libdir}/freeradius/rlm_chap*.la
-%attr(755,root,root) %{_libdir}/freeradius/rlm_checkval*.so
-%{_libdir}/freeradius/rlm_checkval*.la
-%attr(755,root,root) %{_libdir}/freeradius/rlm_copy_packet*.so
-%{_libdir}/freeradius/rlm_copy_packet*.la
%attr(755,root,root) %{_libdir}/freeradius/rlm_counter*.so
%{_libdir}/freeradius/rlm_counter*.la
%attr(755,root,root) %{_libdir}/freeradius/rlm_cram*.so
%{_libdir}/freeradius/rlm_cram*.la
-%attr(755,root,root) %{_libdir}/freeradius/rlm_dbm*.so
-%{_libdir}/freeradius/rlm_dbm*.la
+%attr(755,root,root) %{_libdir}/freeradius/rlm_date*.so
+%{_libdir}/freeradius/rlm_date*.la
%attr(755,root,root) %{_libdir}/freeradius/rlm_detail*.so
%{_libdir}/freeradius/rlm_detail*.la
+%attr(755,root,root) %{_libdir}/freeradius/rlm_dhcp*.so
+%{_libdir}/freeradius/rlm_dhcp*.la
%attr(755,root,root) %{_libdir}/freeradius/rlm_digest*.so
%{_libdir}/freeradius/rlm_digest*.la
%attr(755,root,root) %{_libdir}/freeradius/rlm_dynamic_clients*.so
@@ -547,14 +526,12 @@ fi
%{_libdir}/freeradius/rlm_expiration*.la
%attr(755,root,root) %{_libdir}/freeradius/rlm_expr*.so
%{_libdir}/freeradius/rlm_expr*.la
-%attr(755,root,root) %{_libdir}/freeradius/rlm_fastusers*.so
-%{_libdir}/freeradius/rlm_fastusers*.la
%attr(755,root,root) %{_libdir}/freeradius/rlm_files*.so
%{_libdir}/freeradius/rlm_files*.la
+%attr(755,root,root) %{_libdir}/freeradius/rlm_idn*.so
+%{_libdir}/freeradius/rlm_idn*.la
%attr(755,root,root) %{_libdir}/freeradius/rlm_ippool*.so
%{_libdir}/freeradius/rlm_ippool*.la
-%attr(755,root,root) %{_libdir}/freeradius/rlm_jradius*.so
-%{_libdir}/freeradius/rlm_jradius*.la
%attr(755,root,root) %{_libdir}/freeradius/rlm_linelog*.so
%{_libdir}/freeradius/rlm_linelog*.la
%attr(755,root,root) %{_libdir}/freeradius/rlm_logintime*.so
@@ -565,39 +542,51 @@ fi
%{_libdir}/freeradius/rlm_pap*.la
%attr(755,root,root) %{_libdir}/freeradius/rlm_passwd*.so
%{_libdir}/freeradius/rlm_passwd*.la
-%attr(755,root,root) %{_libdir}/freeradius/rlm_policy*.so
-%{_libdir}/freeradius/rlm_policy*.la
%attr(755,root,root) %{_libdir}/freeradius/rlm_preprocess*.so
%{_libdir}/freeradius/rlm_preprocess*.la
-%attr(755,root,root) %{_libdir}/freeradius/rlm_protocol_filter*.so
-%{_libdir}/freeradius/rlm_protocol_filter*.la
%attr(755,root,root) %{_libdir}/freeradius/rlm_radutmp*.so
%{_libdir}/freeradius/rlm_radutmp*.la
%attr(755,root,root) %{_libdir}/freeradius/rlm_realm*.so
%{_libdir}/freeradius/rlm_realm*.la
%attr(755,root,root) %{_libdir}/freeradius/rlm_replicate*.so
%{_libdir}/freeradius/rlm_replicate*.la
-%attr(755,root,root) %{_libdir}/freeradius/rlm_sim_files*.so
-%{_libdir}/freeradius/rlm_sim_files*.la
+%attr(755,root,root) %{_libdir}/freeradius/rlm_rest*.so
+%{_libdir}/freeradius/rlm_rest*.la
%attr(755,root,root) %{_libdir}/freeradius/rlm_smsotp*.so
%{_libdir}/freeradius/rlm_smsotp*.la
%attr(755,root,root) %{_libdir}/freeradius/rlm_soh*.so
%{_libdir}/freeradius/rlm_soh*.la
-%attr(755,root,root) %{_libdir}/freeradius/rlm_sql-%{version}.so
+%attr(755,root,root) %{_libdir}/freeradius/rlm_sometimes*.so
+%{_libdir}/freeradius/rlm_sometimes*.la
%attr(755,root,root) %{_libdir}/freeradius/rlm_sql.so
-%{_libdir}/freeradius/rlm_sql-%{version}.la
%{_libdir}/freeradius/rlm_sql.la
+%attr(755,root,root) %{_libdir}/freeradius/rlm_sql_freetds*.so
+%{_libdir}/freeradius/rlm_sql_freetds*.la
+%attr(755,root,root) %{_libdir}/freeradius/rlm_sql_null*.so
+%{_libdir}/freeradius/rlm_sql_null*.la
%attr(755,root,root) %{_libdir}/freeradius/rlm_sqlcounter*.so
%{_libdir}/freeradius/rlm_sqlcounter*.la
%attr(755,root,root) %{_libdir}/freeradius/rlm_sqlhpwippool*.so
%{_libdir}/freeradius/rlm_sqlhpwippool*.la
%attr(755,root,root) %{_libdir}/freeradius/rlm_sqlippool*.so
%{_libdir}/freeradius/rlm_sqlippool*.la
-%attr(755,root,root) %{_libdir}/freeradius/rlm_sql_log*.so
-%{_libdir}/freeradius/rlm_sql_log*.la
+%attr(755,root,root) %{_libdir}/freeradius/rlm_test*.so
+%{_libdir}/freeradius/rlm_test*.la
+%attr(755,root,root) %{_libdir}/freeradius/rlm_unbound*.so
+%{_libdir}/freeradius/rlm_unbound*.la
+%attr(755,root,root) %{_libdir}/freeradius/rlm_unix*.so
+%{_libdir}/freeradius/rlm_unix*.la
+%attr(755,root,root) %{_libdir}/freeradius/rlm_unpack*.so
+%{_libdir}/freeradius/rlm_unpack*.la
+%attr(755,root,root) %{_libdir}/freeradius/rlm_utf8*.so
+%{_libdir}/freeradius/rlm_utf8*.la
%attr(755,root,root) %{_libdir}/freeradius/rlm_wimax*.so
%{_libdir}/freeradius/rlm_wimax*.la
+%attr(755,root,root) %{_libdir}/freeradius/rlm_yubikey*.so
+%{_libdir}/freeradius/rlm_yubikey*.la
%{_datadir}/freeradius
+%{_mandir}/man1/dhcpclient.1*
+%{_mandir}/man1/rad_counter.1*
%{_mandir}/man1/radclient.1*
%{_mandir}/man1/radeapclient.1*
%{_mandir}/man1/radlast.1*
@@ -605,32 +594,29 @@ fi
%{_mandir}/man1/radwho.1*
%{_mandir}/man1/radzap.1*
%{_mandir}/man1/smbencrypt.1*
-%{_mandir}/man5/acct_users.5*
%{_mandir}/man5/checkrad.5*
%{_mandir}/man5/clients.conf.5*
%{_mandir}/man5/dictionary.5*
%{_mandir}/man5/radiusd.conf.5*
%{_mandir}/man5/radrelay.conf.5*
-%{_mandir}/man5/rlm_acct_unique.5*
%{_mandir}/man5/rlm_always.5*
%{_mandir}/man5/rlm_attr_filter.5*
-%{_mandir}/man5/rlm_attr_rewrite.5*
%{_mandir}/man5/rlm_chap.5*
%{_mandir}/man5/rlm_counter.5*
%{_mandir}/man5/rlm_detail.5*
%{_mandir}/man5/rlm_digest.5*
%{_mandir}/man5/rlm_expr.5*
%{_mandir}/man5/rlm_files.5*
+%{_mandir}/man5/rlm_idn.5*
%{_mandir}/man5/rlm_mschap.5*
%{_mandir}/man5/rlm_pap.5*
%{_mandir}/man5/rlm_passwd.5*
-%{_mandir}/man5/rlm_policy.5*
%{_mandir}/man5/rlm_realm.5*
%{_mandir}/man5/rlm_sql.5*
-%{_mandir}/man5/rlm_sql_log.5*
+%{_mandir}/man5/rlm_unbound.5*
+%{_mandir}/man5/rlm_unix.5*
%{_mandir}/man5/unlang.5*
%{_mandir}/man5/users.5*
-%{_mandir}/man8/radconf2xml.8*
%{_mandir}/man8/radcrypt.8*
%{_mandir}/man8/raddebug.8*
%{_mandir}/man8/radiusd.8*
@@ -638,9 +624,6 @@ fi
%{_mandir}/man8/radrelay.8*
%{_mandir}/man8/radsniff.8*
%{_mandir}/man8/radsqlrelay.8*
-%{_mandir}/man8/radwatch.8*
-%{_mandir}/man8/rlm_dbm_cat.8*
-%{_mandir}/man8/rlm_dbm_parser.8*
%{_mandir}/man8/rlm_ippool_tool.8*
%attr(771,root,radius) %dir %{_var}/log/freeradius
%attr(771,root,radius) %dir %{_var}/log/freeradius/radacct
@@ -650,90 +633,185 @@ fi
/usr/lib/tmpfiles.d/%{name}.conf
%defattr(640,root,radius,750)
%dir %{_sysconfdir}/raddb
-%config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/raddb/acct_users
-%config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/raddb/attrs*
+%doc %{_sysconfdir}/raddb/README.rst
+%dir %{_sysconfdir}/raddb/certs
+%{_sysconfdir}/raddb/certs/Makefile
+%doc %{_sysconfdir}/raddb/certs/README
+%ghost %{_sysconfdir}/raddb/certs/01.pem
+%ghost %{_sysconfdir}/raddb/certs/02.pem
+%attr(755,root,root) %{_sysconfdir}/raddb/certs/bootstrap
+%config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/raddb/certs/ca.cnf
+%ghost %{_sysconfdir}/raddb/certs/ca.der
+%ghost %{_sysconfdir}/raddb/certs/ca.key
+%ghost %{_sysconfdir}/raddb/certs/ca.pem
+%config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/raddb/certs/client.cnf
+%ghost %{_sysconfdir}/raddb/certs/client.crt
+%{_sysconfdir}/raddb/certs/client.csr
+%ghost %{_sysconfdir}/raddb/certs/client.key
+%ghost %{_sysconfdir}/raddb/certs/client.p12
+%ghost %{_sysconfdir}/raddb/certs/client.pem
+%ghost %{_sysconfdir}/raddb/certs/dh
+%ghost %{_sysconfdir}/raddb/certs/index.txt
+%ghost %{_sysconfdir}/raddb/certs/index.txt.attr
+%ghost %{_sysconfdir}/raddb/certs/index.txt.attr.old
+%ghost %{_sysconfdir}/raddb/certs/index.txt.old
+%config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/raddb/certs/inner-server.cnf
+%{_sysconfdir}/raddb/certs/passwords.mk
+%ghost %{_sysconfdir}/raddb/certs/serial
+%ghost %{_sysconfdir}/raddb/certs/serial.old
+%config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/raddb/certs/server.cnf
+%ghost %{_sysconfdir}/raddb/certs/server.crt
+%ghost %{_sysconfdir}/raddb/certs/server.csr
+%ghost %{_sysconfdir}/raddb/certs/server.key
+%ghost %{_sysconfdir}/raddb/certs/server.p12
+%ghost %{_sysconfdir}/raddb/certs/server.pem
+%ghost %{_sysconfdir}/raddb/certs/user@example.org.pem
+%config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/raddb/certs/xpextensions
%config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/raddb/clients.conf
%config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/raddb/dictionary
-%config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/raddb/eap.conf
%config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/raddb/experimental.conf
%config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/raddb/hints
%config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/raddb/huntgroups
-%config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/raddb/policy.conf
-%config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/raddb/policy.txt
%config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/raddb/panic.gdb
-%config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/raddb/preproxy_users
%config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/raddb/proxy.conf
%config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/raddb/radiusd.conf
-%config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/raddb/sql.conf
-%config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/raddb/sqlippool.conf
%config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/raddb/templates.conf
%config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/raddb/users
-%dir %{_sysconfdir}/raddb/certs
-%config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/raddb/certs/*.cnf
-%config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/raddb/certs/xpextensions
-%config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/raddb/certs/Makefile
-%doc %{_sysconfdir}/raddb/certs/README
-%attr(755,root,root) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/raddb/certs/bootstrap
-%dir %{_sysconfdir}/raddb/modules
-%config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/raddb/modules/acct_unique
-%config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/raddb/modules/always
-%config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/raddb/modules/attr_filter
-%config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/raddb/modules/attr_rewrite
-%config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/raddb/modules/cache
-%config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/raddb/modules/chap
-%config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/raddb/modules/checkval
-%config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/raddb/modules/counter
-%config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/raddb/modules/cui
-%config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/raddb/modules/detail
-%config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/raddb/modules/detail.example.com
-%config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/raddb/modules/detail.log
-%config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/raddb/modules/dhcp_sqlippool
-%config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/raddb/modules/digest
-%config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/raddb/modules/dynamic_clients
-%config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/raddb/modules/echo
-%config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/raddb/modules/etc_group
-%config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/raddb/modules/exec
-%config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/raddb/modules/expiration
-%config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/raddb/modules/expr
-%config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/raddb/modules/files
-%config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/raddb/modules/inner-eap
-%config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/raddb/modules/ippool
-%config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/raddb/modules/linelog
-%config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/raddb/modules/logintime
-%config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/raddb/modules/mac2ip
-%config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/raddb/modules/mac2vlan
-%config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/raddb/modules/mschap
-%config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/raddb/modules/ntlm_auth
-%config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/raddb/modules/opendirectory
-%config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/raddb/modules/pap
-%config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/raddb/modules/passwd
-%config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/raddb/modules/policy
-%config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/raddb/modules/preprocess
-%config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/raddb/modules/radutmp
-%config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/raddb/modules/radrelay
-%config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/raddb/modules/realm
-%config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/raddb/modules/replicate
-%config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/raddb/modules/smbpasswd
-%config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/raddb/modules/smsotp
-%config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/raddb/modules/soh
-%config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/raddb/modules/sql_log
-%config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/raddb/modules/sqlcounter_expire_on_login
-%config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/raddb/modules/sradutmp
-%config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/raddb/modules/wimax
+%dir %{_sysconfdir}/raddb/mods-available
+%doc %{_sysconfdir}/raddb/mods-available/README.rst
+%config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/raddb/mods-available/abfab_psk_sql
+%config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/raddb/mods-available/always
+%config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/raddb/mods-available/attr_filter
+%config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/raddb/mods-available/cache
+%config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/raddb/mods-available/cache_eap
+%config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/raddb/mods-available/chap
+%config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/raddb/mods-available/couchbase
+%config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/raddb/mods-available/counter
+%config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/raddb/mods-available/cui
+%config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/raddb/mods-available/date
+%config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/raddb/mods-available/detail
+%config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/raddb/mods-available/detail.example.com
+%config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/raddb/mods-available/detail.log
+%config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/raddb/mods-available/dhcp
+%config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/raddb/mods-available/dhcp_sqlippool
+%config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/raddb/mods-available/digest
+%config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/raddb/mods-available/dynamic_clients
+%config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/raddb/mods-available/eap
+%config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/raddb/mods-available/echo
+%config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/raddb/mods-available/etc_group
+%config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/raddb/mods-available/exec
+%config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/raddb/mods-available/expiration
+%config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/raddb/mods-available/expr
+%config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/raddb/mods-available/files
+%config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/raddb/mods-available/idn
+%config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/raddb/mods-available/inner-eap
+%config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/raddb/mods-available/ippool
+%config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/raddb/mods-available/linelog
+%config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/raddb/mods-available/logintime
+%config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/raddb/mods-available/mac2ip
+%config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/raddb/mods-available/mac2vlan
+%config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/raddb/mods-available/moonshot-targeted-ids
+%config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/raddb/mods-available/mschap
+%config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/raddb/mods-available/ntlm_auth
+%config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/raddb/mods-available/opendirectory
+%config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/raddb/mods-available/pap
+%config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/raddb/mods-available/passwd
+%config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/raddb/mods-available/preprocess
+%config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/raddb/mods-available/radutmp
+%config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/raddb/mods-available/realm
+%config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/raddb/mods-available/replicate
+%config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/raddb/mods-available/rest
+%config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/raddb/mods-available/smbpasswd
+%config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/raddb/mods-available/smsotp
+%config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/raddb/mods-available/soh
+%config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/raddb/mods-available/sometimes
+%config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/raddb/mods-available/sql
+%config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/raddb/mods-available/sqlcounter
+%config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/raddb/mods-available/sqlippool
+%config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/raddb/mods-available/sradutmp
+%config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/raddb/mods-available/unbound
+%config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/raddb/mods-available/unix
+%config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/raddb/mods-available/unpack
+%config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/raddb/mods-available/utf8
+%config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/raddb/mods-available/wimax
+%config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/raddb/mods-available/yubikey
+%dir %{_sysconfdir}/raddb/mods-config
+%doc %{_sysconfdir}/raddb/mods-config/README.rst
+%dir %{_sysconfdir}/raddb/mods-config/attr_filter
+%config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/raddb/mods-config/attr_filter/access_challenge
+%config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/raddb/mods-config/attr_filter/access_reject
+%config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/raddb/mods-config/attr_filter/accounting_response
+%config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/raddb/mods-config/attr_filter/post-proxy
+%config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/raddb/mods-config/attr_filter/pre-proxy
+%dir %{_sysconfdir}/raddb/mods-config/files
+%config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/raddb/mods-config/files/accounting
+%config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/raddb/mods-config/files/authorize
+%config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/raddb/mods-config/files/pre-proxy
+%dir %{_sysconfdir}/raddb/mods-config/preprocess
+%config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/raddb/mods-config/preprocess/hints
+%config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/raddb/mods-config/preprocess/huntgroups
+%dir %{_sysconfdir}/raddb/mods-config/sql
+%dir %{_sysconfdir}/raddb/mods-config/sql/counter
+%dir %{_sysconfdir}/raddb/mods-config/sql/cui
+%dir %{_sysconfdir}/raddb/mods-config/sql/ippool
+%dir %{_sysconfdir}/raddb/mods-config/sql/ippool-dhcp
+%dir %{_sysconfdir}/raddb/mods-config/sql/main
+%dir %{_sysconfdir}/raddb/mods-config/sql/moonshot-targeted-ids
+%dir %{_sysconfdir}/raddb/mods-config/unbound
+%config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/raddb/mods-config/unbound/default.conf
+%dir %{_sysconfdir}/raddb/mods-enabled
+%config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/raddb/mods-enabled/always
+%config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/raddb/mods-enabled/attr_filter
+%config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/raddb/mods-enabled/cache_eap
+%config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/raddb/mods-enabled/chap
+%config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/raddb/mods-enabled/date
+%config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/raddb/mods-enabled/detail
+%config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/raddb/mods-enabled/detail.log
+%config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/raddb/mods-enabled/digest
+%config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/raddb/mods-enabled/dynamic_clients
+%config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/raddb/mods-enabled/eap
+%config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/raddb/mods-enabled/echo
+%config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/raddb/mods-enabled/exec
+%config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/raddb/mods-enabled/expiration
+%config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/raddb/mods-enabled/expr
+%config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/raddb/mods-enabled/files
+%config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/raddb/mods-enabled/linelog
+%config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/raddb/mods-enabled/logintime
+%config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/raddb/mods-enabled/mschap
+%config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/raddb/mods-enabled/ntlm_auth
+%config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/raddb/mods-enabled/pap
+%config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/raddb/mods-enabled/passwd
+%config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/raddb/mods-enabled/preprocess
+%config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/raddb/mods-enabled/radutmp
+%config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/raddb/mods-enabled/realm
+%config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/raddb/mods-enabled/replicate
+%config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/raddb/mods-enabled/soh
+%config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/raddb/mods-enabled/sradutmp
+%config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/raddb/mods-enabled/unix
+%config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/raddb/mods-enabled/unpack
+%config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/raddb/mods-enabled/utf8
+%dir %{_sysconfdir}/raddb/policy.d
+%config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/raddb/policy.d/abfab-tr
+%config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/raddb/policy.d/accounting
+%config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/raddb/policy.d/canonicalization
+%config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/raddb/policy.d/control
+%config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/raddb/policy.d/cui
+%config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/raddb/policy.d/debug
+%config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/raddb/policy.d/dhcp
+%config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/raddb/policy.d/eap
+%config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/raddb/policy.d/filter
+%config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/raddb/policy.d/moonshot-targeted-ids
+%config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/raddb/policy.d/operator-name
%dir %{_sysconfdir}/raddb/sites-available
%config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/raddb/sites-available/*
%dir %{_sysconfdir}/raddb/sites-enabled
%config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/raddb/sites-enabled/*
-%dir %{_sysconfdir}/raddb/sql
-%dir %{_sysconfdir}/raddb/sql/mssql
-%config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/raddb/sql/mssql/*
-%dir %{_sysconfdir}/raddb/sql/ndb
-%config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/raddb/sql/ndb/*
+%config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/raddb/trigger.conf
%if %{with kerberos5}
%files module-krb5
%defattr(644,root,root,755)
-%config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/raddb/modules/krb5
+%config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/raddb/mods-available/krb5
%attr(755,root,root) %{_libdir}/freeradius/rlm_krb5*.so
%{_libdir}/freeradius/rlm_krb5*.la
%endif
@@ -741,55 +819,57 @@ fi
%if %{with ldap}
%files module-ldap
%defattr(644,root,root,755)
-%config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/raddb/ldap.attrmap
-%attr(640,root,radius) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/raddb/modules/ldap
+%attr(640,root,radius) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/raddb/mods-available/ldap
%attr(755,root,root) %{_libdir}/freeradius/rlm_ldap*.so
%{_libdir}/freeradius/rlm_ldap*.la
%endif
%files module-otp
%defattr(644,root,root,755)
-%config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/raddb/modules/otp
+%config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/raddb/mods-available/otp
%attr(755,root,root) %{_libdir}/freeradius/rlm_otp*.so
%{_libdir}/freeradius/rlm_otp*.la
%files module-pam
%defattr(644,root,root,755)
-%config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/raddb/modules/pam
+%config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/raddb/mods-available/pam
%attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) /etc/pam.d/radius
%attr(755,root,root) %{_libdir}/freeradius/rlm_pam*.so
%{_libdir}/freeradius/rlm_pam*.la
%files module-perl
%defattr(644,root,root,755)
-%attr(755,root,root) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/raddb/example.pl
-%config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/raddb/modules/perl
+%dir %{_sysconfdir}/raddb/mods-config/perl
+%attr(755,root,root) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/raddb/mods-config/perl/example.pl
+%config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/raddb/mods-available/perl
%attr(755,root,root) %{_libdir}/freeradius/rlm_perl*.so
%{_libdir}/freeradius/rlm_perl*.la
%files module-python
%defattr(644,root,root,755)
+%dir %{_sysconfdir}/raddb/mods-config/python
+%config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/raddb/mods-available/python
+%config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/raddb/mods-config/python/example.py
+%config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/raddb/mods-config/python/radiusd.py
%attr(755,root,root) %{_libdir}/freeradius/rlm_python*.so
%{_libdir}/freeradius/rlm_python*.la
%if %{with redis}
%files module-redis
%defattr(644,root,root,755)
-%attr(640,root,radius) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/raddb/modules/redis
-%config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/raddb/modules/rediswho
-%attr(755,root,root) %{_libdir}/freeradius/rlm_redis-%{version}.so
+%attr(640,root,radius) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/raddb/mods-available/redis
+%config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/raddb/mods-available/rediswho
%attr(755,root,root) %{_libdir}/freeradius/rlm_redis.so
-%{_libdir}/freeradius/rlm_redis-%{version}.la
%{_libdir}/freeradius/rlm_redis.la
-%attr(755,root,root) %{_libdir}/freeradius/rlm_rediswho-%{version}.so
%attr(755,root,root) %{_libdir}/freeradius/rlm_rediswho.so
-%{_libdir}/freeradius/rlm_rediswho-%{version}.la
%{_libdir}/freeradius/rlm_rediswho.la
%endif
%if %{with ruby}
%files module-ruby
%defattr(644,root,root,755)
+%dir %{_sysconfdir}/raddb/mods-config/ruby
+%config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/raddb/mods-config/ruby/example.rb
%attr(755,root,root) %{_libdir}/freeradius/rlm_ruby*.so
%{_libdir}/freeradius/rlm_ruby*.la
%endif
@@ -803,29 +883,33 @@ fi
%files module-sql-mysql
%defattr(644,root,root,755)
-%dir %{_sysconfdir}/raddb/sql/mysql
-%attr(640,root,radius) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/raddb/sql/mysql/*
+%dir %{_sysconfdir}/raddb/mods-config/sql/*/mysql
+%dir %{_sysconfdir}/raddb/mods-config/sql/*/ndb
+%attr(640,root,radius) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/raddb/mods-config/sql/*/mysql/*
+%attr(640,root,radius) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/raddb/mods-config/sql/*/ndb/*
%attr(755,root,root) %{_libdir}/freeradius/rlm_sql_mysql*.so
%{_libdir}/freeradius/rlm_sql_mysql*.la
%if %{with oci}
%files module-sql-oracle
%defattr(644,root,root,755)
-%dir %{_sysconfdir}/raddb/sql/oracle
-%attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/raddb/sql/oracle/*
+%dir %{_sysconfdir}/raddb/mods-config/sql/*/oracle
+%attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/raddb/mods-config/sql/*/oracle/*
%attr(755,root,root) %{_libdir}/freeradius/rlm_sql_oracle*.so
%{_libdir}/freeradius/rlm_sql_oracle*.la
%endif
%files module-sql-postgresql
%defattr(644,root,root,755)
-%dir %{_sysconfdir}/raddb/sql/postgresql
-%attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/raddb/sql/postgresql/*
+%dir %{_sysconfdir}/raddb/mods-config/sql/*/postgresql
+%attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/raddb/mods-config/sql/*/postgresql/*
%attr(755,root,root) %{_libdir}/freeradius/rlm_sql_postgresql*.so
%{_libdir}/freeradius/rlm_sql_postgresql*.la
%files module-sql-sqlite
%defattr(644,root,root,755)
+%dir %{_sysconfdir}/raddb/mods-config/sql/*/sqlite
+%attr(640,root,root) %config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/raddb/mods-config/sql/*/sqlite/*
%attr(755,root,root) %{_libdir}/freeradius/rlm_sql_sqlite*.so
%{_libdir}/freeradius/rlm_sql_sqlite*.la
@@ -834,27 +918,21 @@ fi
%attr(755,root,root) %{_libdir}/freeradius/rlm_sql_unixodbc*.so
%{_libdir}/freeradius/rlm_sql_unixodbc*.la
-%files module-unix
-%defattr(644,root,root,755)
-%config(noreplace) %verify(not md5 mtime size) %{_sysconfdir}/raddb/modules/unix
-%attr(755,root,root) %{_libdir}/freeradius/rlm_unix*.so
-%{_libdir}/freeradius/rlm_unix*.la
-%{_mandir}/man5/rlm_unix.5*
-
%files libs
%defattr(644,root,root,755)
-%attr(755,root,root) %{_libdir}/libfreeradius-eap-%{version}.so
-%attr(755,root,root) %{_libdir}/libfreeradius-radius-??????.so
+%attr(755,root,root) %{_libdir}/libfreeradius-dhcp.so
+%attr(755,root,root) %{_libdir}/libfreeradius-eap.so
+%attr(755,root,root) %{_libdir}/libfreeradius-radius.so
+%attr(755,root,root) %{_libdir}/libfreeradius-server.so
%dir %{_libdir}/freeradius
%files devel
%defattr(644,root,root,755)
-%attr(755,root,root) %{_libdir}/libfreeradius-eap.so
-%attr(755,root,root) %{_libdir}/libfreeradius-radius.so
%{_includedir}/freeradius
%files -n mibs-%{name}
%defattr(644,root,root,755)
-%doc mibs/RADIUS-*.chart
-%{mibdir}/FREERADIUS-PRODUCT-RADIUSD-MIB.txt
-%{mibdir}/FREERADIUS-SMI.txt
+%{mibdir}/FREERADIUS-MGMT-MIB.mib
+%{mibdir}/FREERADIUS-NOTIFICATION-MIB.mib
+%{mibdir}/FREERADIUS-PRODUCT-RADIUSD-MIB.mib
+%{mibdir}/FREERADIUS-SMI.mib