From 8fbc0076a4827ddc6af92e0b9daa4c4c31450808 Mon Sep 17 00:00:00 2001 From: root Date: Fri, 19 Jul 2013 01:10:32 -0700 Subject: Fri Jul 19 01:09:18 PDT 2013 --- community/freeradius/PKGBUILD | 51 +++++++++++++++++++++++++++++++ community/freeradius/freeradius.install | 17 +++++++++++ community/freeradius/freeradius.service | 15 +++++++++ community/freeradius/freeradius.tmpfiles | 1 + community/freeradius/krb5-build-fix.patch | 21 +++++++++++++ 5 files changed, 105 insertions(+) create mode 100644 community/freeradius/PKGBUILD create mode 100644 community/freeradius/freeradius.install create mode 100644 community/freeradius/freeradius.service create mode 100644 community/freeradius/freeradius.tmpfiles create mode 100644 community/freeradius/krb5-build-fix.patch (limited to 'community/freeradius') 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 +# 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; -- cgit v1.2.3-54-g00ecf