From 4e0fee8ecdb23c08c5a50529ac339d2135cab8dd Mon Sep 17 00:00:00 2001 From: kosmo Date: Sat, 12 Apr 2008 07:40:48 +0000 Subject: [PATCH] - for freeradius-server 2.0.3 Changed files: freeradius-server-config.patch -> 1.1 freeradius-server-libdir.patch -> 1.1 freeradius-server-makefile.patch -> 1.1 freeradius-server-rundir.patch -> 1.1 freeradius-server.init -> 1.1 freeradius-server.logrotate -> 1.1 freeradius-server.pam -> 1.1 --- freeradius-server-config.patch | 14 +++++ freeradius-server-libdir.patch | 83 +++++++++++++++++++++++++++++ freeradius-server-makefile.patch | 12 +++++ freeradius-server-rundir.patch | 24 +++++++++ freeradius-server.init | 91 ++++++++++++++++++++++++++++++++ freeradius-server.logrotate | 64 ++++++++++++++++++++++ freeradius-server.pam | 4 ++ 7 files changed, 292 insertions(+) create mode 100644 freeradius-server-config.patch create mode 100644 freeradius-server-libdir.patch create mode 100644 freeradius-server-makefile.patch create mode 100644 freeradius-server-rundir.patch create mode 100644 freeradius-server.init create mode 100644 freeradius-server.logrotate create mode 100644 freeradius-server.pam diff --git a/freeradius-server-config.patch b/freeradius-server-config.patch new file mode 100644 index 0000000..32dfffe --- /dev/null +++ b/freeradius-server-config.patch @@ -0,0 +1,14 @@ +diff -dur freeradius-1.0.1.orig/raddb/radiusd.conf.in freeradius-1.0.1/raddb/radiusd.conf.in +--- freeradius-1.0.1.orig/raddb/radiusd.conf.in 2004-10-13 11:29:16.000000000 +0200 ++++ freeradius-1.0.1/raddb/radiusd.conf.in 2004-10-13 11:49:08.318567276 +0200 +@@ -106,8 +106,8 @@ + # that the debugging mode server is running as a user that can read the + # shadow info, and the user listed below can not. + # +-#user = nobody +-#group = nobody ++user = radius ++group = radius + + # max_request_time: The maximum time (in seconds) to handle a request. + # diff --git a/freeradius-server-libdir.patch b/freeradius-server-libdir.patch new file mode 100644 index 0000000..588ab75 --- /dev/null +++ b/freeradius-server-libdir.patch @@ -0,0 +1,83 @@ +diff -urN freeradius-server-2.0.3.orig/raddb/radiusd.conf.in freeradius-server-2.0.3/raddb/radiusd.conf.in +--- freeradius-server-2.0.3.orig/raddb/radiusd.conf.in 2008-03-04 17:53:02.000000000 +0100 ++++ freeradius-server-2.0.3/raddb/radiusd.conf.in 2008-04-09 17:00:51.000000000 +0200 +@@ -99,7 +99,7 @@ + # make + # make install + # +-libdir = @libdir@ ++libdir = @libdir@/freeradius + + # pidfile: Where to place the PID of the RADIUS server. + # +diff -urN freeradius-server-2.0.3.orig/src/main/mainconfig.c freeradius-server-2.0.3/src/main/mainconfig.c +--- freeradius-server-2.0.3.orig/src/main/mainconfig.c 2008-03-06 11:28:36.000000000 +0100 ++++ freeradius-server-2.0.3/src/main/mainconfig.c 2008-04-09 17:00:51.000000000 +0200 +@@ -171,7 +171,7 @@ + { "prefix", PW_TYPE_STRING_PTR, 0, &prefix, "/usr/local"}, + { "localstatedir", PW_TYPE_STRING_PTR, 0, &localstatedir, "${prefix}/var"}, + { "logdir", PW_TYPE_STRING_PTR, 0, &radlog_dir, "${localstatedir}/log"}, +- { "libdir", PW_TYPE_STRING_PTR, 0, &radlib_dir, "${prefix}/lib"}, ++ { "libdir", PW_TYPE_STRING_PTR, 0, &radlib_dir, "${prefix}/lib/freeradius"}, + { "radacctdir", PW_TYPE_STRING_PTR, 0, &radacct_dir, "${logdir}/radacct" }, + { "hostname_lookups", PW_TYPE_BOOLEAN, 0, &librad_dodns, "no" }, + { "max_request_time", PW_TYPE_INTEGER, 0, &mainconfig.max_request_time, Stringify(MAX_REQUEST_TIME) }, +diff -urN freeradius-server-2.0.3.orig/src/modules/rlm_sql/drivers/rules.mak freeradius-server-2.0.3/src/modules/rlm_sql/drivers/rules.mak +--- freeradius-server-2.0.3.orig/src/modules/rlm_sql/drivers/rules.mak 2007-06-28 07:11:36.000000000 +0200 ++++ freeradius-server-2.0.3/src/modules/rlm_sql/drivers/rules.mak 2008-04-09 17:02:24.000000000 +0200 +@@ -101,7 +101,7 @@ + $(TARGET).la: $(LT_OBJS) + $(LIBTOOL) --mode=link $(CC) -release $(RADIUSD_VERSION) \ + -module $(LINK_MODE) $(LDFLAGS) $(RLM_SQL_LDFLAGS) -o $@ \ +- -rpath $(libdir) $^ $(RLM_SQL_LIBS) ++ -rpath $(libdir)/freeradius $^ $(RLM_SQL_LIBS) + + ####################################################################### + # +@@ -139,12 +139,12 @@ + # Do any module-specific installation. + # + # If there isn't a TARGET defined, then don't do anything. +-# Otherwise, install the libraries into $(libdir) ++# Otherwise, install the libraries into $(libdir)/freeradius + # + install: + if [ "x$(TARGET)" != "x" ]; then \ + $(LIBTOOL) --mode=install $(INSTALL) -c \ +- $(TARGET).la $(R)$(libdir)/$(TARGET).la || exit $$?; \ +- rm -f $(R)$(libdir)/$(TARGET)-$(RADIUSD_VERSION).la; \ +- ln -s $(TARGET).la $(R)$(libdir)/$(TARGET)-$(RADIUSD_VERSION).la || exit $$?; \ ++ $(TARGET).la $(R)$(libdir)/freeradius/$(TARGET).la || exit $$?; \ ++ rm -f $(R)$(libdir)/freeradius/$(TARGET)-$(RADIUSD_VERSION).la; \ ++ ln -s $(TARGET).la $(R)$(libdir)/freeradius/$(TARGET)-$(RADIUSD_VERSION).la || exit $$?; \ + fi +diff -urN freeradius-server-2.0.3.orig/src/modules/rules.mak freeradius-server-2.0.3/src/modules/rules.mak +--- freeradius-server-2.0.3.orig/src/modules/rules.mak 2008-01-10 11:12:01.000000000 +0100 ++++ freeradius-server-2.0.3/src/modules/rules.mak 2008-04-09 17:01:23.000000000 +0200 +@@ -115,7 +115,7 @@ + $(TARGET).la: $(LT_OBJS) + $(LIBTOOL) --mode=link $(CC) -release $(RADIUSD_VERSION) \ + -module $(LINK_MODE) $(LDFLAGS) $(RLM_LDFLAGS) -o $@ \ +- -rpath $(libdir) $^ $(LIBRADIUS) $(RLM_LIBS) $(LIBS) ++ -rpath $(libdir)/freeradius $^ $(LIBRADIUS) $(RLM_LIBS) $(LIBS) + + ####################################################################### + # +@@ -156,13 +156,13 @@ + # Do any module-specific installation. + # + # If there isn't a TARGET defined, then don't do anything. +-# Otherwise, install the libraries into $(libdir) ++# Otherwise, install the libraries into $(libdir)/freeradius + # + install: + @[ "x$(RLM_INSTALL)" = "x" ] || $(MAKE) $(MFLAGS) $(RLM_INSTALL) + if [ "x$(TARGET)" != "x" ]; then \ + $(LIBTOOL) --mode=install $(INSTALL) -c \ +- $(TARGET).la $(R)$(libdir)/$(TARGET).la || exit $$?; \ +- rm -f $(R)$(libdir)/$(TARGET)-$(RADIUSD_VERSION).la; \ +- ln -s $(TARGET).la $(R)$(libdir)/$(TARGET)-$(RADIUSD_VERSION).la || exit $$?; \ ++ $(TARGET).la $(R)$(libdir)/freeradius/$(TARGET).la || exit $$?; \ ++ rm -f $(R)$(libdir)/freeradius/$(TARGET)-$(RADIUSD_VERSION).la; \ ++ ln -s $(TARGET).la $(R)$(libdir)/freeradius/$(TARGET)-$(RADIUSD_VERSION).la || exit $$?; \ + fi diff --git a/freeradius-server-makefile.patch b/freeradius-server-makefile.patch new file mode 100644 index 0000000..b8ead53 --- /dev/null +++ b/freeradius-server-makefile.patch @@ -0,0 +1,12 @@ +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) src raddb scripts doc ++SUBDIRS = src raddb scripts doc + WHAT_TO_MAKE = all + + all: diff --git a/freeradius-server-rundir.patch b/freeradius-server-rundir.patch new file mode 100644 index 0000000..5606d45 --- /dev/null +++ b/freeradius-server-rundir.patch @@ -0,0 +1,24 @@ +diff -dur freeradius-1.0.1.orig/Make.inc.in freeradius-1.0.1/Make.inc.in +--- freeradius-1.0.1.orig/Make.inc.in 2004-01-23 18:08:43.000000000 +0100 ++++ freeradius-1.0.1/Make.inc.in 2004-10-13 11:08:27.041360959 +0200 +@@ -45,7 +45,7 @@ + + LOGDIR = ${logdir} + RADDBDIR = ${raddbdir} +-RUNDIR = ${localstatedir}/run/radiusd ++RUNDIR = ${localstatedir}/run/freeradius + SBINDIR = ${sbindir} + RADIR = ${radacctdir} + +diff -dur freeradius-1.0.1.orig/raddb/radiusd.conf.in freeradius-1.0.1/raddb/radiusd.conf.in +--- freeradius-1.0.1.orig/raddb/radiusd.conf.in 2004-10-13 11:03:48.000000000 +0200 ++++ freeradius-1.0.1/raddb/radiusd.conf.in 2004-10-13 11:09:32.696958268 +0200 +@@ -31,7 +31,7 @@ + + # Location of config and logfiles. + confdir = ${raddbdir} +-run_dir = ${localstatedir}/run/radiusd ++run_dir = ${localstatedir}/run/freeradius + + # + # The logging messages for the server are appended to the diff --git a/freeradius-server.init b/freeradius-server.init new file mode 100644 index 0000000..67507d8 --- /dev/null +++ b/freeradius-server.init @@ -0,0 +1,91 @@ +#!/bin/sh +# +# chkconfig: 345 88 10 +# description: Start/Stop the RADIUS server daemon +# +# This program is free software; you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation; either version 2 of the License, or +# (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program; if not, write to the Free Software +# Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA +# +# Copyright (C) 2001 The FreeRADIUS Project http://www.freeradius.org +# + +# Source function library. +. /etc/rc.d/init.d/functions + +[ -f /etc/raddb/radiusd.conf ] || exit 0 + +start() { + # Check if the service is already running? + if [ ! -f /var/lock/subsys/freeradius ]; then + msg_starting RADIUS + daemon /usr/sbin/radiusd + RETVAL=$? + [ $RETVAL -eq 0 ] && touch /var/lock/subsys/freeradius + else + msg_already_running RADIUS + fi +} + +stop() { + # Stop daemons. + if [ -f /var/lock/subsys/freeradius ]; then + msg_stopping RADIUS + killproc /usr/sbin/radiusd + rm -f /var/lock/subsys/freeradius > /dev/null 2>&1 + else + msg_not_running RADIUS + fi +} + +RETVAL=0 +case "$1" in + start) + start + ;; + stop) + stop + ;; + status) + status radiusd + exit $? + ;; + reload) + if [ -f /var/lock/subsys/freeradius ]; then + msg_reloading RADIUS + killproc /usr/sbin/radiusd -HUP + RETVAL=$? + else + msg_not_running RADIUS + exit 7 + fi + ;; + restart|force-reload) + stop + sleep 3 + start + ;; + condrestart) + if [ -f /var/lock/subsys/freeradius ]; then + $0 stop + sleep 3 + $0 start + RETVAL=$? + fi + ;; + *) + msg_usage "$0 {start|stop|restart|condrestart|reload|force-reload|status}" + exit 3 +esac + +exit $RETVAL diff --git a/freeradius-server.logrotate b/freeradius-server.logrotate new file mode 100644 index 0000000..0e90f5e --- /dev/null +++ b/freeradius-server.logrotate @@ -0,0 +1,64 @@ +# You can use this to rotate the /var/log/freeradius/* files, simply copy +# it to /etc/logrotate.d/radiusd + +# Last part should reload the server + +/var/log/freeradius/radacct/*/detail { + olddir /var/log/archive/freeradius/radacct + monthly + rotate 4 + create 660 root radius + missingok + compress +} + +/var/log/freeradius/checkrad.log { + olddir /var/log/archive/freeradius + monthly + rotate 4 + create 660 root radius + missingok + compress +} + +/var/log/freeradius/radius.log { + olddir /var/log/archive/freeradius + monthly + rotate 4 + create 660 root radius + missingok + compress +} + +/var/log/freeradius/radwatch.log { + olddir /var/log/archive/freeradius + monthly + rotate 4 + create 660 root radius + missingok + compress +} + + + +# Should this really be rotated +/var/log/freeradius/radutmp { + olddir /var/log/archive/freeradius + monthly + rotate 4 + create 660 root radius + compress + missingok +} + +/var/log/freeradius/radwtmp { + olddir /var/log/archive/freeradius + monthly + rotate 4 + create 660 root radius + compress + missingok + postrotate + /sbin/service radiusd condrestart + endscript +} diff --git a/freeradius-server.pam b/freeradius-server.pam new file mode 100644 index 0000000..46a2d1b --- /dev/null +++ b/freeradius-server.pam @@ -0,0 +1,4 @@ +#%PAM-1.0 +auth include system-auth +account required pam_nologin.so +account include system-auth -- 2.44.0