summaryrefslogtreecommitdiff
path: root/community/freeradius
diff options
context:
space:
mode:
Diffstat (limited to 'community/freeradius')
-rw-r--r--community/freeradius/PKGBUILD51
-rw-r--r--community/freeradius/freeradius.install17
-rw-r--r--community/freeradius/freeradius.service15
-rw-r--r--community/freeradius/freeradius.tmpfiles1
-rw-r--r--community/freeradius/krb5-build-fix.patch21
5 files changed, 105 insertions, 0 deletions
diff --git a/community/freeradius/PKGBUILD b/community/freeradius/PKGBUILD
new file mode 100644
index 000000000..6ecba36c1
--- /dev/null
+++ b/community/freeradius/PKGBUILD
@@ -0,0 +1,51 @@
+# $Id: PKGBUILD 91902 2013-05-29 10:03:34Z spupykin $
+# Maintainer: Sergej Pupykin <pupykin.s+arch@gmail.com>
+# Contributor: Jason R Begley (jayray@digitalgoat.com>
+
+pkgname=freeradius
+pkgver=2.2.0
+pkgrel=8
+pkgdesc="The premier open source RADIUS server"
+arch=('i686' 'x86_64')
+url="http://www.freeradius.org/"
+license=('GPL')
+depends=('krb5' 'pth' 'net-snmp' 'postgresql-libs' 'libmariadbclient')
+makedepends=('libpcap' 'unixodbc' 'python2')
+optdepends=('libpcap' 'unixodbc' 'python2')
+options=('!libtool' '!makeflags')
+install=$pkgname.install
+source=("ftp://ftp.freeradius.org/pub/radius/freeradius-server-$pkgver.tar.bz2"{,.sig}
+ freeradius.tmpfiles
+ freeradius.service
+ krb5-build-fix.patch)
+md5sums=('0fb333fe6a64eb2b1dd6ef67f7bca119'
+ 'SKIP'
+ 'f959e89812bedfc9f8308076f78cd74e'
+ 'e3f18e3a25df3b692e59f60605354708'
+ 'c6a61de7576933f59154a53bfc12a2d2')
+
+build() {
+ cd $srcdir/freeradius-server-$pkgver
+ export CFLAGS="$CFLAGS -fno-strict-aliasing"
+ sed -i 's/ -DKRB5_DEPRECATED//' src/modules/rlm_krb5/Makefile.in
+ patch -p1 <$srcdir/krb5-build-fix.patch
+ ./configure --with-system-libtool --with-system-libltdl \
+ --prefix=/usr --enable-heimdal-krb5 \
+ --localstatedir=/var \
+ --sysconfdir=/etc \
+ --sbindir=/usr/bin \
+ --libdir=/usr/lib/freeradius \
+ --with-udpfromto
+ make
+}
+
+package() {
+ cd $srcdir/freeradius-server-$pkgver
+ make install R=$pkgdir
+ chmod o+r $pkgdir/etc/raddb/*
+ mv $pkgdir/etc/raddb $pkgdir/etc/raddb.default
+ rm -rf $pkgdir/var/run
+
+ install -Dm0644 $srcdir/$pkgname.service $pkgdir/usr/lib/systemd/system/$pkgname.service
+ install -Dm0644 $srcdir/$pkgname.tmpfiles $pkgdir/usr/lib/tmpfiles.d/$pkgname.conf
+}
diff --git a/community/freeradius/freeradius.install b/community/freeradius/freeradius.install
new file mode 100644
index 000000000..cb7590e77
--- /dev/null
+++ b/community/freeradius/freeradius.install
@@ -0,0 +1,17 @@
+post_install() {
+ groupadd -r radiusd
+ useradd -r -m -d /var/lib/radiusd -g radiusd -s /bin/false radiusd
+
+ touch var/log/radius/radius.log
+ chown -R radiusd:radiusd var/log/radius/radius.log
+
+ [ -d etc/raddb ] || cp -a etc/raddb.default etc/raddb
+
+ true
+}
+
+post_remove() {
+ userdel radiusd
+ groupdel radiusd
+ true
+}
diff --git a/community/freeradius/freeradius.service b/community/freeradius/freeradius.service
new file mode 100644
index 000000000..220d352af
--- /dev/null
+++ b/community/freeradius/freeradius.service
@@ -0,0 +1,15 @@
+[Unit]
+Description=FreeRADIUS high performance RADIUS server.
+After=syslog.target network.target
+
+[Service]
+Type=forking
+PIDFile=/run/radiusd/radiusd.pid
+ExecStartPre=-/bin/chown -R radiusd.radiusd /run/radiusd
+ExecStartPre=/usr/bin/radiusd -C
+ExecStart=/usr/bin/radiusd -d /etc/raddb
+ExecReload=/usr/bin/radiusd -C
+ExecReload=/bin/kill -HUP $MAINPID
+
+[Install]
+WantedBy=multi-user.target
diff --git a/community/freeradius/freeradius.tmpfiles b/community/freeradius/freeradius.tmpfiles
new file mode 100644
index 000000000..e4e056a36
--- /dev/null
+++ b/community/freeradius/freeradius.tmpfiles
@@ -0,0 +1 @@
+d /run/radiusd 0755 radiusd radiusd -
diff --git a/community/freeradius/krb5-build-fix.patch b/community/freeradius/krb5-build-fix.patch
new file mode 100644
index 000000000..11dae7090
--- /dev/null
+++ b/community/freeradius/krb5-build-fix.patch
@@ -0,0 +1,21 @@
+diff -wbBur freeradius-server-2.1.10/src/modules/rlm_krb5/rlm_krb5.c freeradius-server-2.1.10.my/src/modules/rlm_krb5/rlm_krb5.c
+--- freeradius-server-2.1.10/src/modules/rlm_krb5/rlm_krb5.c 2010-09-28 11:03:56.000000000 +0000
++++ freeradius-server-2.1.10.my/src/modules/rlm_krb5/rlm_krb5.c 2011-04-29 09:26:10.000000000 +0000
+@@ -375,7 +375,7 @@
+ * Heimdal krb5 verification
+ */
+ radlog(L_AUTH, "rlm_krb5: Parsed name is: %s@%s\n",
+- *userP->name.name_string.val,
++ "-" /* *userP->name.name_string.val*/,
+ userP->realm);
+
+ krb5_cc_default(context, &id);
+@@ -390,7 +390,7 @@
+
+ radlog(L_AUTH, "rlm_krb5: failed verify_user: %s (%s@%s )",
+ error_message(ret),
+- *userP->name.name_string.val,
++ "-" /* *userP->name.name_string.val */,
+ userP->realm);
+
+ return RLM_MODULE_REJECT;