From 1995f94c08f9436612f532e32f48ff8134234730 Mon Sep 17 00:00:00 2001 From: Nikos Mavrogiannopoulos Date: Thu, 27 Aug 2015 16:37:34 +0200 Subject: [PATCH] Added radcli package --- .gitignore | 2 + radcli.spec | 117 ++++++++++++++++++++++++++++++++++++++++++++++ radiusclient.conf | 81 ++++++++++++++++++++++++++++++++ sources | 2 + 4 files changed, 202 insertions(+) create mode 100644 radcli.spec create mode 100644 radiusclient.conf diff --git a/.gitignore b/.gitignore index e69de29..4b8d179 100644 --- a/.gitignore +++ b/.gitignore @@ -0,0 +1,2 @@ +/radcli-1.2.2.tar.gz +/radcli-1.2.2.tar.gz.sig diff --git a/radcli.spec b/radcli.spec new file mode 100644 index 0000000..6165f43 --- /dev/null +++ b/radcli.spec @@ -0,0 +1,117 @@ +Summary: RADIUS protocol client library +Name: radcli +Version: 1.2.2 +Release: 1%{?dist} + +#Breakdown of licenses. Under MIT license: +# lib/avpair.c, lib/buildreq.c, lib/clientid.c, lib/config.c, lib/dict.c, +# lib/env.c, lib/ip_util.c, lib/log.c, lib/sendserver.c, lib/util.c, +# src/local.c, src/radacct.c, src/radexample.c, src/radius.c, src/radlogin.c, +# src/radstatus.c, include/messages.h, include/pathnames.h, lib/options.h +# Under BSD license: lib/util.c, src/radiusclient.c, lib/rc-md5.c, lib/tls.c, +# lib/tls.h + +License: BSD and MIT +Group: System Environment/Libraries +URL: http://radcli.github.io/radcli/ + +%{expand:%(echo "%%global myversion %{version}" | \ + sed 's/\./_/g')} + +Source0: https://github.com/radcli/radcli/releases/download/%{name}_%{myversion}/%{name}-%{version}.tar.gz + +#BuildRequires: libtool, automake, autoconf, gettext-devel +BuildRequires: nettle-devel >= 2.7.1 +BuildRequires: gnutls-devel + +%description +The radcli library is a library for writing RADIUS Clients. The library's +approach is to allow writing RADIUS-aware application in less than 50 lines +of C code. It was based originally on freeradius-client and is source compatible +with it. + +%package devel +Summary: Development files for radcli +Group: Development/Libraries +Requires: %{name}%{?_isa} = %{version}-%{release} + +%description devel +This package contains libraries and header files for developing applications +that use %{name}. + +%package compat-devel +Summary: Development files for compatibility with radiusclient-ng and freeradius-client +Group: Development/Libraries +Requires: %{name}%{?_isa} = %{version}-%{release} +# We provide compatible headers with it +Conflicts: freeradius-client-devel, radiusclient-ng-devel + +%description compat-devel +This package contains the compatibility headers and libraries for freeradius-client +and radiusclient-ng. + +%prep +%setup -q +rm -f lib/md5.c +sed -i -e 's|sys_lib_dlsearch_path_spec="[^"]\+|& %{_libdir}|g' configure + +%build +#autoreconf -fvi +%configure --disable-static --disable-rpath --with-nettle --with-tls --enable-legacy-compat +make %{?_smp_mflags} + +%check +make %{?_smp_mflags} check + +%install +make DESTDIR=%{buildroot} install +rm -f %{buildroot}%{_libdir}/*.la + +# these should be removed once the utils subpackage is on + +mkdir -p %{buildroot}%{_datadir}/%{name} +cp -p %{buildroot}%{_sysconfdir}/%{name}/dictionary %{buildroot}%{_datadir}/%{name}/dictionary + +%post -p /sbin/ldconfig + +%postun -p /sbin/ldconfig + +%files +%doc README.rst NEWS +%license COPYRIGHT + +%dir %{_sysconfdir}/%{name} +%config(noreplace) %{_sysconfdir}/%{name}/radiusclient.conf +%config(noreplace) %{_sysconfdir}/%{name}/radiusclient-tls.conf +%config(noreplace) %{_sysconfdir}/%{name}/servers +%config(noreplace) %{_sysconfdir}/%{name}/servers-tls +%config(noreplace) %{_sysconfdir}/%{name}/dictionary + +%{_libdir}/libradcli.so.* + +%dir %{_datadir}/%{name} +%{_datadir}/%{name}/dictionary + +%files devel + +%dir %{_includedir}/%{name} +%{_includedir}/%{name} +%{_includedir}/%{name}/radcli.h +%{_includedir}/%{name}/version.h +%{_libdir}/libradcli.so +%{_mandir}/man3/* +%{_libdir}/pkgconfig/*.pc + +%files compat-devel + +%{_includedir}/freeradius-client.h +%{_includedir}/radiusclient-ng.h +%{_libdir}/libfreeradius-client.so +%{_libdir}/libradiusclient-ng.so + +%changelog +* Fri Aug 21 2015 Nikos Mavrogiannopoulos - 1.2.2-1 +- Updated to 1.2.2 + +* Mon Jun 15 2015 Nikos Mavrogiannopoulos - 1.2.1-1 +- Initial package diff --git a/radiusclient.conf b/radiusclient.conf new file mode 100644 index 0000000..a28aa37 --- /dev/null +++ b/radiusclient.conf @@ -0,0 +1,81 @@ +# RADIUS settings + +# The name to be used to identify this NAS (server). If set it will +# be used in NAS-Identifier. +#nas-identifier my-server-name + +# RADIUS server to use for authentication requests. this config +# item can appear more then one time. if multiple servers are +# defined they are tried in a round robin fashion if one +# server is not answering. +# optionally you can specify a the port number on which is remote +# RADIUS listens separated by a colon from the hostname. if +# no port is specified /etc/services is consulted of the radius +# service. if this fails also a compiled in default is used. +# For IPv6 addresses use the '[IPv6]:port' format, or +# simply '[IPv6]'. +authserver localhost:2083 + +# For DTLS with PSK authentication, the following format is valid: +#authserver localhost:2083:psk@username@hexkey + +# In TLS/DTLS the acct server directive is ignored. +# +acctserver localhost:2083 + +# file holding PSKs used for the communication +# between the RADIUS client and server. They should +# be stored in "psk:username:hexkey" format. +#servers /etc/radcli/servers-tls + +# dictionary of allowed attributes and values +# just like in the normal RADIUS distributions +#dictionary /etc/radcli/dictionary + +# default authentication realm to append to all usernames if no +# realm was explicitly specified by the user +# the radiusd directly form Livingston doesnt use any realms, so leave +# it blank then +default_realm + +# time to wait for a reply from the RADIUS server +radius_timeout 10 + +# resend request this many times before trying the next server +radius_retries 3 + +# The length of time in seconds that we skip a nonresponsive RADIUS +# server for transaction requests. Server(s) being in the "dead" state +# are tried only after all other non-dead servers have been tried and +# failed or timeouted. The deadtime interval starts when the server +# does not respond to an authentication/accounting request transmissions. +# When the interval expires, the "dead" server would be re-tried again, +# and if it's still down then it will be considered "dead" for another +# such interval and so on. This option is no-op if there is only one +# server in the list. Set to 0 in order to disable the feature. +radius_deadtime 0 + +# local address from which radius packets have to be sent +bindaddr * + +# TLS/DTLS settings + +# The type of authentication to use for the radius server. +# The available options are 'tls' and 'dtls', or should be commented +# out to use plain UDP. TLS and DTLS authentication can be used +# with PSK keys or X.509 certificate authentication (see below). +#serv-auth-type tls + +# The CA certificate to be used to verify the server's certificate. +# Does not need to be set if we are using PSK (pre-shared keys). +#tls-ca-file /etc/radcli/ca.pem + +# Our certificate and key files. These identify this NAS to the +# radius servers. They don't need to be set if using PSK. +#tls-cert-file /etc/radcli/cert.pem +#tls-key-file /etc/radcli/key.pem + +# Used for debugging purposed. It will disable hostname verification +# on the connected host. Not recommended to be enabled. +#tls-verify-hostname false + diff --git a/sources b/sources index e69de29..c4c5bff 100644 --- a/sources +++ b/sources @@ -0,0 +1,2 @@ +dcc9b8db2957f8c139a75ce5b72b5d23 radcli-1.2.2.tar.gz +a73ea558f2e81a480052be231eee7710 radcli-1.2.2.tar.gz.sig