summaryrefslogtreecommitdiff
path: root/package/freeradius-server
diff options
context:
space:
mode:
authorWaldemar Brodkorb <wbx@openadk.org>2009-06-01 19:32:18 +0200
committerWaldemar Brodkorb <wbx@openadk.org>2009-06-01 19:32:18 +0200
commitd1a85ceca38c54caff040cd6e5a4b329a47893d7 (patch)
tree746df118b620ecf8edd018874307c5b183ae4ad6 /package/freeradius-server
parentec275cae0293507fd03a7eeb972780fdbd5d40aa (diff)
cleanup radius packages
- radiusclient-ng is now integrated to freeradius.org as freeradius-client - update freeradius-server, disable eap for now
Diffstat (limited to 'package/freeradius-server')
-rw-r--r--package/freeradius-server/Config.in98
-rw-r--r--package/freeradius-server/Makefile177
-rw-r--r--package/freeradius-server/files/clients.conf7
-rw-r--r--package/freeradius-server/files/freeradius-mod-eap.conffiles1
-rw-r--r--package/freeradius-server/files/freeradius-mod-files.conffiles3
-rw-r--r--package/freeradius-server/files/freeradius-mod-realm.conffiles1
-rw-r--r--package/freeradius-server/files/freeradius-mod-sql.conffiles1
-rw-r--r--package/freeradius-server/files/freeradius.conffiles2
-rw-r--r--package/freeradius-server/files/freeradius.postinst6
-rw-r--r--package/freeradius-server/files/radiusd.conf73
-rw-r--r--package/freeradius-server/files/radiusd.init28
-rw-r--r--package/freeradius-server/files/users1
-rw-r--r--package/freeradius-server/patches/patch-share_dictionary123
-rw-r--r--package/freeradius-server/patches/patch-src_main_event_c14
-rw-r--r--package/freeradius-server/patches/patch-src_modules_rlm_eap_Makefile_in12
15 files changed, 547 insertions, 0 deletions
diff --git a/package/freeradius-server/Config.in b/package/freeradius-server/Config.in
new file mode 100644
index 000000000..56fcf16ea
--- /dev/null
+++ b/package/freeradius-server/Config.in
@@ -0,0 +1,98 @@
+config ADK_PACKAGE_FREERADIUS_SERVER
+ prompt "freeradius-server................. Flexible RADIUS server"
+ tristate
+ default n
+ select ADK_PACKAGE_LIBLTDL
+ select ADK_PACKAGE_LIBOPENSSL
+ select ADK_PACKAGE_LIBPTHREAD
+ help
+ A flexible RADIUS server
+ http://www.freeradius.org/
+
+config ADK_PACKAGE_FREERADIUS_DEMOCERTS
+ prompt " freeradius-democerts.......... Demo certificates to test the server"
+ tristate
+ default n
+ depends ADK_PACKAGE_FREERADIUS_SERVER
+
+config ADK_PACKAGE_FREERADIUS_MOD_CHAP
+ prompt " freeradius-mod-chap........... CHAP module"
+ tristate
+ default n
+ depends ADK_PACKAGE_FREERADIUS_SERVER
+
+config ADK_PACKAGE_FREERADIUS_MOD_DETAIL
+ prompt " freeradius-mod-detail......... Detailed accounting module"
+ tristate
+ default n
+ depends ADK_PACKAGE_FREERADIUS_SERVER
+
+config ADK_PACKAGE_FREERADIUS_MOD_DIGEST
+ prompt " freeradius-mod-digest......... Digest authentication"
+ tristate
+ default n
+ depends ADK_PACKAGE_FREERADIUS_SERVER
+
+config ADK_PACKAGE_FREERADIUS_MOD_FILES
+ prompt " freeradius-mod-files.......... Module using local files for authorization"
+ tristate
+ default y
+ depends ADK_PACKAGE_FREERADIUS_SERVER
+
+config ADK_PACKAGE_FREERADIUS_MOD_LDAP
+ prompt " freeradius-mod-ldap........... LDAP module"
+ tristate
+ default n
+ select ADK_PACKAGE_LIBOPENLDAP
+ depends ADK_PACKAGE_FREERADIUS_SERVER
+
+config ADK_PACKAGE_FREERADIUS_MOD_MSCHAP
+ prompt " freeradius-mod-mschap......... MS-CHAP and MS-CHAPv2 module"
+ tristate
+ default n
+ depends ADK_PACKAGE_FREERADIUS_SERVER
+
+config ADK_PACKAGE_FREERADIUS_MOD_PAP
+ prompt " freeradius-mod-pap............ PAP module"
+ tristate
+ default n
+ depends ADK_PACKAGE_FREERADIUS_SERVER
+
+config ADK_PACKAGE_FREERADIUS_MOD_PREPROCESS
+ prompt " freeradius-mod-preprocess..... Request pre-processing module"
+ tristate
+ default n
+ depends ADK_PACKAGE_FREERADIUS_SERVER
+
+config ADK_PACKAGE_FREERADIUS_MOD_REALM
+ prompt " freeradius-mod-realm.......... Realms handling module"
+ tristate
+ default n
+ depends ADK_PACKAGE_FREERADIUS_SERVER
+
+config ADK_PACKAGE_FREERADIUS_MOD_SQL
+ prompt " freeradius-mod-sql............ Base SQL module"
+ tristate
+ default n
+ depends ADK_PACKAGE_FREERADIUS_SERVER
+
+config ADK_PACKAGE_FREERADIUS_MOD_SQL_MYSQL
+ prompt " freeradius-mod-sql-mysql.... MySQL module"
+ tristate
+ default n
+ depends on ADK_CXX
+ depends ADK_PACKAGE_FREERADIUS_MOD_SQL
+ select ADK_PACKAGE_LIBMYSQLCLIENT
+
+config ADK_PACKAGE_FREERADIUS_MOD_SQL_PGSQL
+ prompt " freeradius-mod-sql-pgsql.... PostgreSQL module"
+ tristate
+ default n
+ depends ADK_PACKAGE_FREERADIUS_MOD_SQL
+ select ADK_PACKAGE_LIBPQ
+
+config ADK_PACKAGE_FREERADIUS_UTILS
+ prompt " freeradius-utils.............. Misc. client utilities"
+ tristate
+ default n
+ depends ADK_PACKAGE_FREERADIUS_SERVER
diff --git a/package/freeradius-server/Makefile b/package/freeradius-server/Makefile
new file mode 100644
index 000000000..d0e69d6c7
--- /dev/null
+++ b/package/freeradius-server/Makefile
@@ -0,0 +1,177 @@
+# $Id$
+#-
+# This file is part of the OpenADK project. OpenADK is copyrighted
+# material, please see the LICENCE file in the top-level directory.
+
+include ${TOPDIR}/rules.mk
+
+PKG_NAME:= freeradius-server
+PKG_VERSION:= 2.1.6
+PKG_RELEASE:= 1
+PKG_MD5SUM:= 078f7d29b4d2d34f7c992abf772c28a0
+PKG_DESCR:= a flexible RADIUS server
+PKG_SECTION:= net
+PKG_DEPENDS:= libltdl libopenssl libpthread
+PKG_URL:= http://www.freeradius.org
+PKG_SITES:= ftp://ftp.freeradius.org/pub/radius/ \
+ http://freeradius.portal-to-web.de/ \
+ ftp://ftp.uk.freeradius.org/pub/radius/
+
+PKG_CONFIGURE_OPTIONS:=
+
+ifneq (${ADK_PACKAGE_FREERADIUS_MOD_LDAP},)
+PKG_CONFIGURE_LIBS+= -lcrypto -lssl
+PKG_CONFIGURE_OPTIONS+= \
+ --with-rlm_ldap-include-dir="${STAGING_DIR}/usr/include" \
+ --with-rlm_ldap-lib-dir="${STAGING_DIR}/usr/lib"
+else
+PKG_CONFIGURE_OPTIONS+= --without-rlm_ldap
+endif
+
+ifneq (${ADK_PACKAGE_FREERADIUS_MOD_SQL_MYSQL},)
+PKG_CONFIGURE_LIBS+= -lz
+PKG_CONFIGURE_OPTIONS+= \
+ --with-mysql-include-dir="${STAGING_DIR}/usr/include" \
+ --with-mysql-lib-dir="${STAGING_DIR}/usr/lib/mysql" \
+ --without-threads \
+ --with-rlm_sql
+else
+PKG_CONFIGURE_OPTIONS+= --without-rlm_sql_mysql
+endif
+ifneq (${ADK_PACKAGE_FREERADIUS_MOD_SQL_PGSQL},)
+PKG_CONFIGURE_OPTIONS+= \
+ --with-rlm_sql_postgresql-include-dir="${STAGING_DIR}/usr/include" \
+ --with-rlm_sql_postgresql-lib-dir="${STAGING_DIR}/usr/lib" \
+ --with-rlm_sql
+else
+PKG_CONFIGURE_OPTIONS+= --without-rlm_sql_postgresql
+endif
+
+include ${TOPDIR}/mk/package.mk
+
+define PKG_mod_template
+
+INSTALL_MODS_$${ADK_PACKAGE_${1}}+= ${2}-install
+
+${2}-install:
+ ${INSTALL_DIR} $${IDIR_${1}}/usr/lib/freeradius
+ for m in ${2}; do \
+ ${CP} ${WRKINST}/usr/lib/freeradius/$$$${m}{,-*}.so \
+ $${IDIR_${1}}/usr/lib/freeradius/ ; \
+ done
+ ${INSTALL_DIR} $${IDIR_${1}}/etc/freeradius
+ for f in ${3}; do \
+ ${CP} ${WRKINST}/etc/freeradius/$$$${f} \
+ $${IDIR_${1}}/etc/freeradius/ ; \
+ done
+endef
+
+$(eval $(call PKG_template,FREERADIUS_SERVER,${PKG_NAME},${PKG_VERSION}-${PKG_RELEASE},${PKG_DEPENDS},${PKG_DESCR},${PKG_SECTION}))
+$(eval $(call PKG_template,FREERADIUS_DEMOCERTS,freeradius-democerts,${PKG_VERSION}-${PKG_RELEASE},${PKG_DEPENDS},${PKG_DESCR},${PKG_SECTION}))
+$(eval $(call PKG_template,FREERADIUS_MOD_CHAP,freeradius-mod-chap,${PKG_VERSION}-${PKG_RELEASE},${PKG_DEPENDS},${PKG_DESCR},${PKG_SECTION}))
+$(eval $(call PKG_template,FREERADIUS_MOD_DETAIL,freeradius-mod-detail,${PKG_VERSION}-${PKG_RELEASE},${PKG_DEPENDS},${PKG_DESCR},${PKG_SECTION}))
+$(eval $(call PKG_template,FREERADIUS_MOD_DIGEST,freeradius-mod-digest,${PKG_VERSION}-${PKG_RELEASE},${PKG_DEPENDS},${PKG_DESCR},${PKG_SECTION}))
+$(eval $(call PKG_template,FREERADIUS_MOD_FILES,freeradius-mod-files,${PKG_VERSION}-${PKG_RELEASE},${PKG_DEPENDS},${PKG_DESCR},${PKG_SECTION}))
+$(eval $(call PKG_template,FREERADIUS_MOD_LDAP,freeradius-mod-ldap,${PKG_VERSION}-${PKG_RELEASE},${PKG_DEPENDS},${PKG_DESCR},${PKG_SECTION}))
+$(eval $(call PKG_template,FREERADIUS_MOD_MSCHAP,freeradius-mod-mschap,${PKG_VERSION}-${PKG_RELEASE},${PKG_DEPENDS},${PKG_DESCR},${PKG_SECTION}))
+$(eval $(call PKG_template,FREERADIUS_MOD_PAP,freeradius-mod-pap,${PKG_VERSION}-${PKG_RELEASE},${PKG_DEPENDS},${PKG_DESCR},${PKG_SECTION}))
+$(eval $(call PKG_template,FREERADIUS_MOD_PREPROCESS,freeradius-mod-preprocess,${PKG_VERSION}-${PKG_RELEASE},${PKG_DEPENDS},${PKG_DESCR},${PKG_SECTION}))
+$(eval $(call PKG_template,FREERADIUS_MOD_REALM,freeradius-mod-realm,${PKG_VERSION}-${PKG_RELEASE},${PKG_DEPENDS},${PKG_DESCR},${PKG_SECTION}))
+$(eval $(call PKG_template,FREERADIUS_MOD_SQL,freeradius-mod-sql,${PKG_VERSION}-${PKG_RELEASE},${PKG_DEPENDS},${PKG_DESCR},${PKG_SECTION}))
+$(eval $(call PKG_template,FREERADIUS_MOD_SQL_MYSQL,freeradius-mod-sql-mysql,${PKG_VERSION}-${PKG_RELEASE},${PKG_DEPENDS},${PKG_DESCR},${PKG_SECTION}))
+$(eval $(call PKG_template,FREERADIUS_MOD_SQL_PGSQL,freeradius-mod-sql-pgsql,${PKG_VERSION}-${PKG_RELEASE},${PKG_DEPENDS},${PKG_DESCR},${PKG_SECTION}))
+$(eval $(call PKG_template,FREERADIUS_UTILS,freeradius-utils,${PKG_VERSION}-${PKG_RELEASE},${PKG_DEPENDS},${PKG_DESCR},${PKG_SECTION}))
+
+$(eval $(call PKG_mod_template,FREERADIUS_MOD_CHAP,rlm_chap,))
+$(eval $(call PKG_mod_template,FREERADIUS_MOD_DETAIL,rlm_detail,))
+$(eval $(call PKG_mod_template,FREERADIUS_MOD_DIGEST,rlm_digest,))
+$(eval $(call PKG_mod_template,FREERADIUS_MOD_FILES,rlm_files,acct_users preproxy_users users))
+$(eval $(call PKG_mod_template,FREERADIUS_MOD_MSCHAP,rlm_mschap,))
+$(eval $(call PKG_mod_template,FREERADIUS_MOD_LDAP,rlm_ldap,ldap.attrmap))
+$(eval $(call PKG_mod_template,FREERADIUS_MOD_PAP,rlm_pap,))
+$(eval $(call PKG_mod_template,FREERADIUS_MOD_PREPROCESS,rlm_preprocess,hints huntgroups))
+$(eval $(call PKG_mod_template,FREERADIUS_MOD_REALM,rlm_realm,proxy.conf))
+$(eval $(call PKG_mod_template,FREERADIUS_MOD_SQL,rlm_sql,sql.conf))
+$(eval $(call PKG_mod_template,FREERADIUS_MOD_SQL_MYSQL,rlm_sql_mysql,))
+$(eval $(call PKG_mod_template,FREERADIUS_MOD_SQL_PGSQL,rlm_sql_postgresql,))
+
+CONFIGURE_STYLE= gnu
+CONFIGURE_ARGS+= ${PKG_CONFIGURE_OPTIONS} \
+ --with-openssl-includes=${STAGING_DIR}/usr/include \
+ --with-openssl-libraries=${STAGING_DIR}/usr/lib \
+ --enable-strict-dependencies \
+ --with-raddbdir=/etc/freeradius \
+ --without-edir \
+ --without-snmp \
+ --with-experimental-modules \
+ --without-rlm_attr-rewrite \
+ --without-rlm_checkval \
+ --without-rlm_counter \
+ --without-rlm_dbm \
+ --without-rlm_eap \
+ --without-rlm_eap2 \
+ --without-rlm_eap_sim \
+ --without-rlm_example \
+ --without-rlm_ippool \
+ --without-rlm_krb5 \
+ --without-rlm_otp \
+ --without-rlm_smsotp \
+ --without-rlm_pam \
+ --without-rlm_perl \
+ --without-rlm_python \
+ --without-rlm_radutmp \
+ --without-rlm_smb \
+ --without-rlm_sqlcounter \
+ --without-rlm_sql_db2 \
+ --without-rlm_sql_freetds \
+ --without-rlm_sql_iodbc \
+ --without-rlm_sql_oracle \
+ --without-rlm_sql_sybase \
+ --without-rlm_sql_unixodbc \
+ --without-rlm_sql_log \
+ --without-rlm_unix \
+ --without-rlm_eap_ikev2 \
+ --without-rlm_eap_tnc \
+ --without-rlm_opendirectory \
+ --without-rlm_sql_firebird \
+ --without-rlm_sql_sqlite \
+ --libdir=/usr/lib/freeradius \
+ --libexecdir=/usr/lib/freeradius
+BUILD_STYLE= auto
+INSTALL_STYLE= auto
+FAKE_FLAGS+= R="${WRKINST}" \
+ INSTALLSTRIP=""
+
+post-install: ${INSTALL_MODS_y} ${INSTALL_MODS_m}
+ ${INSTALL_DIR} ${IDIR_FREERADIUS_SERVER}/etc/freeradius
+ ${CP} ./files/users ${IDIR_FREERADIUS_SERVER}/etc/freeradius/
+ ${INSTALL_DATA} ./files/radiusd.conf ${IDIR_FREERADIUS_SERVER}/etc/freeradius
+ ${INSTALL_DATA} ./files/clients.conf ${IDIR_FREERADIUS_SERVER}/etc/freeradius
+ for f in dictionary; do \
+ ${CP} ${WRKINST}/etc/freeradius/$${f} \
+ ${IDIR_FREERADIUS_SERVER}/etc/freeradius/ ; \
+ done
+ ${INSTALL_DIR} ${IDIR_FREERADIUS_SERVER}/usr/share/freeradius
+ ${CP} ${WRKINST}/usr/share/freeradius/dictionary \
+ ${IDIR_FREERADIUS_SERVER}/usr/share/freeradius/
+ for f in freeradius freeradius.internal rfc2865 rfc2866 rfc2867 rfc2868 rfc2869 rfc3162 rfc3576 rfc3580 rfc4072 rfc4372 rfc4675 rfc4679 rfc5176; do \
+ cp ${WRKINST}/usr/share/freeradius/dictionary.$${f} \
+ ${IDIR_FREERADIUS_SERVER}/usr/share/freeradius/ ; \
+ done
+ ${INSTALL_DIR} ${IDIR_FREERADIUS_SERVER}/usr/lib/freeradius
+ ${CP} ${WRKINST}/usr/lib/freeradius/libfreeradius-radius{,-*}.so \
+ ${IDIR_FREERADIUS_SERVER}/usr/lib
+ ${INSTALL_DIR} ${IDIR_FREERADIUS_SERVER}/usr/sbin
+ ${CP} ${WRKINST}/usr/sbin/radiusd \
+ ${IDIR_FREERADIUS_SERVER}/usr/sbin/
+ ${INSTALL_DIR} ${IDIR_FREERADIUS_DEMOCERTS}/etc/freeradius
+ ${CP} ${WRKINST}/etc/freeradius/certs \
+ ${IDIR_FREERADIUS_DEMOCERTS}/etc/freeradius/
+ rm -rf ${IDIR_FREERADIUS_DEMOCERTS}/etc/freeradius/certs/README
+ rm -rf ${IDIR_FREERADIUS_DEMOCERTS}/etc/freeradius/certs/new*
+ rm -rf ${IDIR_FREERADIUS_DEMOCERTS}/etc/freeradius/certs/demoCA/index*
+ rm -rf ${IDIR_FREERADIUS_DEMOCERTS}/etc/freeradius/certs/demoCA/serial*
+ ${INSTALL_DIR} ${IDIR_FREERADIUS_UTILS}/usr/bin
+ ${INSTALL_BIN} ${WRKINST}/usr/bin/radclient ${IDIR_FREERADIUS_UTILS}/usr/bin
+
+include ${TOPDIR}/mk/pkg-bottom.mk
diff --git a/package/freeradius-server/files/clients.conf b/package/freeradius-server/files/clients.conf
new file mode 100644
index 000000000..6c136a197
--- /dev/null
+++ b/package/freeradius-server/files/clients.conf
@@ -0,0 +1,7 @@
+## clients.conf -- client configuration directives
+client localhost {
+ ipaddr = 127.0.0.1
+ secret = testing123
+ require_message_authenticator = no
+ nastype = other # localhost isn't usually a NAS...
+}
diff --git a/package/freeradius-server/files/freeradius-mod-eap.conffiles b/package/freeradius-server/files/freeradius-mod-eap.conffiles
new file mode 100644
index 000000000..7e0e30e73
--- /dev/null
+++ b/package/freeradius-server/files/freeradius-mod-eap.conffiles
@@ -0,0 +1 @@
+/etc/freeradius/eap.conf
diff --git a/package/freeradius-server/files/freeradius-mod-files.conffiles b/package/freeradius-server/files/freeradius-mod-files.conffiles
new file mode 100644
index 000000000..4fcd92bff
--- /dev/null
+++ b/package/freeradius-server/files/freeradius-mod-files.conffiles
@@ -0,0 +1,3 @@
+/etc/freeradius/acct_users
+/etc/freeradius/preproxy_users
+/etc/freeradius/users
diff --git a/package/freeradius-server/files/freeradius-mod-realm.conffiles b/package/freeradius-server/files/freeradius-mod-realm.conffiles
new file mode 100644
index 000000000..a4d412612
--- /dev/null
+++ b/package/freeradius-server/files/freeradius-mod-realm.conffiles
@@ -0,0 +1 @@
+/etc/freeradius/proxy.conf
diff --git a/package/freeradius-server/files/freeradius-mod-sql.conffiles b/package/freeradius-server/files/freeradius-mod-sql.conffiles
new file mode 100644
index 000000000..8ab119d07
--- /dev/null
+++ b/package/freeradius-server/files/freeradius-mod-sql.conffiles
@@ -0,0 +1 @@
+/etc/freeradius/sql.conf
diff --git a/package/freeradius-server/files/freeradius.conffiles b/package/freeradius-server/files/freeradius.conffiles
new file mode 100644
index 000000000..56552e6c1
--- /dev/null
+++ b/package/freeradius-server/files/freeradius.conffiles
@@ -0,0 +1,2 @@
+/etc/freeradius/clients.conf
+/etc/freeradius/radiusd.conf
diff --git a/package/freeradius-server/files/freeradius.postinst b/package/freeradius-server/files/freeradius.postinst
new file mode 100644
index 000000000..c65fa195f
--- /dev/null
+++ b/package/freeradius-server/files/freeradius.postinst
@@ -0,0 +1,6 @@
+#!/bin/sh
+. $IPKG_INSTROOT/etc/functions.sh
+add_rcconf radiusd radiusd NO
+gid=$(get_next_gid)
+add_group radius $gid
+add_user radius $(get_next_uid) $gid /usr/lib/radius
diff --git a/package/freeradius-server/files/radiusd.conf b/package/freeradius-server/files/radiusd.conf
new file mode 100644
index 000000000..b9a573f69
--- /dev/null
+++ b/package/freeradius-server/files/radiusd.conf
@@ -0,0 +1,73 @@
+## radiusd.conf -- FreeRADIUS server configuration file.
+name = radiusd
+
+prefix = /usr
+exec_prefix = ${prefix}
+sysconfdir = /etc
+localstatedir = /var
+sbindir = ${exec_prefix}/sbin
+logdir = ${localstatedir}/log/radius
+raddbdir = /etc/freeradius
+radacctdir = ${logdir}/radacct
+# Location of config and logfiles.
+confdir = ${raddbdir}
+run_dir = ${localstatedir}/run
+db_dir = ${raddbdir}
+libdir = /usr/lib/freeradius
+pidfile = ${run_dir}/${name}.pid
+user = radius
+group = radius
+#chroot = /path/to/chroot/directory
+
+max_request_time = 30
+cleanup_delay = 5
+max_requests = 1024
+
+listen {
+ type = auth
+ ipaddr = *
+ port = 1812
+}
+
+listen {
+ type = acct
+ ipaddr = *
+ port = 1813
+}
+
+hostname_lookups = no
+allow_core_dumps = no
+regular_expressions = yes
+extended_expressions = yes
+
+log {
+ destination = syslog
+ syslog_facility = daemon
+ stripped_names = no
+ auth = no
+ auth_badpass = no
+ auth_goodpass = no
+}
+
+checkrad = ${sbindir}/checkrad
+
+security {
+ max_attributes = 200
+ reject_delay = 1
+ status_server = yes
+}
+
+$INCLUDE clients.conf
+
+thread pool {
+ start_servers = 4
+ max_servers = 8
+ min_spare_servers = 3
+ max_spare_servers = 10
+ max_requests_per_server = 0
+}
+modules {
+}
+
+instantiate {
+}
diff --git a/package/freeradius-server/files/radiusd.init b/package/freeradius-server/files/radiusd.init
new file mode 100644
index 000000000..818f803ff
--- /dev/null
+++ b/package/freeradius-server/files/radiusd.init
@@ -0,0 +1,28 @@
+#!/bin/sh
+#PKG freeradius
+#INIT 75
+. /etc/rc.conf
+
+case $1 in
+autostop) ;;
+autostart)
+ test x"${radiusd:-NO}" = x"NO" && exit 0
+ exec sh $0 start
+ ;;
+start)
+ [ -d /var/log/radius ] || mkdir -p /var/log/radius
+ radiusd
+ ;;
+stop)
+ killall radiusd
+ ;;
+restart)
+ sh $0 stop
+ sh $0 start
+ ;;
+*)
+ echo "Usage: $0 {start | stop | restart}"
+ exit 1
+ ;;
+esac
+exit $?
diff --git a/package/freeradius-server/files/users b/package/freeradius-server/files/users
new file mode 100644
index 000000000..df78de04c
--- /dev/null
+++ b/package/freeradius-server/files/users
@@ -0,0 +1 @@
+steve Auth-Type := Local, User-Password == "testing123"
diff --git a/package/freeradius-server/patches/patch-share_dictionary b/package/freeradius-server/patches/patch-share_dictionary
new file mode 100644
index 000000000..6027a7810
--- /dev/null
+++ b/package/freeradius-server/patches/patch-share_dictionary
@@ -0,0 +1,123 @@
+$Id: update-patches 24 2008-08-31 14:56:13Z wbx $
+--- freeradius-server-2.1.6.orig/share/dictionary 2009-05-18 13:13:55.000000000 +0200
++++ freeradius-server-2.1.6/share/dictionary 2009-06-01 16:15:56.702126337 +0200
+@@ -54,7 +54,7 @@
+ # this directive to the end of this file if you want to see the
+ # old names in the logfiles, INSTEAD OF the new names.
+ #
+-$INCLUDE dictionary.compat
++#$INCLUDE dictionary.compat
+
+ #
+ # Include the RFC dictionaries next.
+@@ -82,110 +82,12 @@ $INCLUDE dictionary.rfc5176
+ #
+ # Include vendor dictionaries after the standard ones.
+ #
+-$INCLUDE dictionary.3com
+-$INCLUDE dictionary.3gpp
+-$INCLUDE dictionary.3gpp2
+-$INCLUDE dictionary.acc
+-$INCLUDE dictionary.airespace
+-$INCLUDE dictionary.alcatel
+-$INCLUDE dictionary.alteon
+-$INCLUDE dictionary.alvarion
+-$INCLUDE dictionary.apc
+-$INCLUDE dictionary.aruba
+-$INCLUDE dictionary.azaire
+-$INCLUDE dictionary.ascend
+-$INCLUDE dictionary.bay
+-$INCLUDE dictionary.bintec
+-$INCLUDE dictionary.cablelabs
+-$INCLUDE dictionary.cabletron
+-$INCLUDE dictionary.cisco
+ #
+ # The Cisco VPN300 dictionary is the same as the altiga one.
+ # You shouldn't use both at the same time.
+ #
+-#$INCLUDE dictionary.cisco.vpn3000
+-$INCLUDE dictionary.cisco.vpn5000
+-$INCLUDE dictionary.cisco.bbsm
+-$INCLUDE dictionary.clavister
+-$INCLUDE dictionary.colubris
+-$INCLUDE dictionary.cosine
+-#$INCLUDE dictionary.dhcp
+-$INCLUDE dictionary.digium
+-$INCLUDE dictionary.epygi
+-$INCLUDE dictionary.erx
+-$INCLUDE dictionary.ericsson
+-$INCLUDE dictionary.extreme
+ $INCLUDE dictionary.freeradius
+-$INCLUDE dictionary.freeswitch
+-$INCLUDE dictionary.fortinet
+-$INCLUDE dictionary.foundry
+-$INCLUDE dictionary.gandalf
+-$INCLUDE dictionary.gemtek
+-$INCLUDE dictionary.h3c
+-$INCLUDE dictionary.hp
+-$INCLUDE dictionary.huawei
+-$INCLUDE dictionary.infonet
+-$INCLUDE dictionary.issanni
+-$INCLUDE dictionary.itk
+-$INCLUDE dictionary.ipunplugged
+-$INCLUDE dictionary.juniper
+-$INCLUDE dictionary.jradius
+-$INCLUDE dictionary.karlnet
+-$INCLUDE dictionary.lancom
+-$INCLUDE dictionary.livingston
+-$INCLUDE dictionary.localweb
+-$INCLUDE dictionary.lucent
+-$INCLUDE dictionary.manzara
+-$INCLUDE dictionary.merit
+-$INCLUDE dictionary.microsoft
+-$INCLUDE dictionary.mikrotik
+-$INCLUDE dictionary.navini
+-$INCLUDE dictionary.netscreen
+-$INCLUDE dictionary.networkphysics
+-$INCLUDE dictionary.nexans
+-$INCLUDE dictionary.ntua
+-$INCLUDE dictionary.nokia
+ #
+-# Commented out because of attribute conflicts.
+-#
+-#$INCLUDE dictionary.nokia.conflict
+-$INCLUDE dictionary.nomadix
+-$INCLUDE dictionary.nortel
+-#
+-# Commented out because of attribute conflicts.
+-#
+-#$INCLUDE dictionary.openser
+-$INCLUDE dictionary.packeteer
+-$INCLUDE dictionary.patton
+-$INCLUDE dictionary.propel
+-$INCLUDE dictionary.prosoft
+-$INCLUDE dictionary.quiconnect
+-$INCLUDE dictionary.quintum
+-$INCLUDE dictionary.redback
+-$INCLUDE dictionary.redcreek
+-$INCLUDE dictionary.riverstone
+-$INCLUDE dictionary.roaringpenguin
+-$INCLUDE dictionary.shasta
+-$INCLUDE dictionary.shiva
+-$INCLUDE dictionary.slipstream
+-$INCLUDE dictionary.sonicwall
+-$INCLUDE dictionary.springtide
+-$INCLUDE dictionary.starent
+-$INCLUDE dictionary.telebit
+-$INCLUDE dictionary.trapeze
+-$INCLUDE dictionary.tropos
+-$INCLUDE dictionary.t_systems_nova
+-$INCLUDE dictionary.usr
+-$INCLUDE dictionary.utstarcom
+-$INCLUDE dictionary.valemount
+-$INCLUDE dictionary.versanet
+-$INCLUDE dictionary.vqp
+-$INCLUDE dictionary.waverider
+-$INCLUDE dictionary.walabi
+-$INCLUDE dictionary.wimax
+-$INCLUDE dictionary.wispr
+-$INCLUDE dictionary.xedia
+-$INCLUDE dictionary.xylan
+
+ #
+ # And finally the server internal attributes.
diff --git a/package/freeradius-server/patches/patch-src_main_event_c b/package/freeradius-server/patches/patch-src_main_event_c
new file mode 100644
index 000000000..99184d09a
--- /dev/null
+++ b/package/freeradius-server/patches/patch-src_main_event_c
@@ -0,0 +1,14 @@
+$Id: update-patches 24 2008-08-31 14:56:13Z wbx $
+--- freeradius-server-2.1.6.orig/src/main/event.c 2009-05-18 13:13:55.000000000 +0200
++++ freeradius-server-2.1.6/src/main/event.c 2009-06-01 17:06:44.356592479 +0200
+@@ -1667,8 +1667,9 @@ static int originated_coa_request(REQUES
+ */
+ request->num_proxied_requests = 1;
+ request->num_proxied_responses = 0;
++#if defined(HAVE_PTHREAD_H)
+ request->child_pid = NO_SUCH_CHILD_PID;
+-
++#endif
+ update_event_timestamp(request->proxy, request->proxy_when.tv_sec);
+
+ request->child_state = REQUEST_PROXIED;
diff --git a/package/freeradius-server/patches/patch-src_modules_rlm_eap_Makefile_in b/package/freeradius-server/patches/patch-src_modules_rlm_eap_Makefile_in
new file mode 100644
index 000000000..13cbb8215
--- /dev/null
+++ b/package/freeradius-server/patches/patch-src_modules_rlm_eap_Makefile_in
@@ -0,0 +1,12 @@
+$Id: update-patches 24 2008-08-31 14:56:13Z wbx $
+--- freeradius-server-2.1.6.orig/src/modules/rlm_eap/Makefile.in 2009-05-18 13:13:55.000000000 +0200
++++ freeradius-server-2.1.6/src/modules/rlm_eap/Makefile.in 2009-06-01 17:23:33.047631797 +0200
+@@ -37,7 +37,7 @@ radeapclient.lo: radeapclient.c $(HEADER
+
+ install-subdirs:
+ @$(MAKE) $(MFLAGS) WHAT_TO_MAKE=install common
+- $(LIBTOOL) --mode=install $(INSTALL) -m 755 $(INSTALLSTRIP) radeapclient$(EXEEXT) $(R)$(bindir)
++ #$(LIBTOOL) --mode=install $(INSTALL) -m 755 $(INSTALLSTRIP) radeapclient$(EXEEXT) $(R)$(bindir)
+
+ common:
+ @for dir in $(RLM_SUBDIRS); do \