summaryrefslogtreecommitdiff
path: root/net/freeDiameter
diff options
context:
space:
mode:
authorwiz <wiz@pkgsrc.org>2012-08-20 12:17:20 +0000
committerwiz <wiz@pkgsrc.org>2012-08-20 12:17:20 +0000
commit47ca03efd63dce98c33e9dd71aeca923cdb7b248 (patch)
treec875e008da651709f5831f9e5d5a8082f2a18933 /net/freeDiameter
parent18743c0a40975aeedb1051f8c9924a6ce0283e7b (diff)
downloadpkgsrc-47ca03efd63dce98c33e9dd71aeca923cdb7b248.tar.gz
Import freeDiameter-1.1.2 as net/freeDiameter.
freeDiameter is a implementation of the Diameter protocol specified in RFC3588. Diameter is a protocol for carrying Authentication, Authorization and Accounting information. It is an evolution of the widely-deployed RADIUS protocol. freeDiameter also implements the changes to the Diameter protocol introduced by the rfc3588bis Internet Draft (work in progress). freeDiameter is open-source and released under a BSD compatible license. It is mainly written in the C language, which provides excellent performance and small memory footprint.
Diffstat (limited to 'net/freeDiameter')
-rw-r--r--net/freeDiameter/DESCR10
-rw-r--r--net/freeDiameter/Makefile38
-rw-r--r--net/freeDiameter/PLIST61
-rw-r--r--net/freeDiameter/distinfo6
-rw-r--r--net/freeDiameter/options.mk30
-rw-r--r--net/freeDiameter/patches/patch-libfdcore_config.c23
6 files changed, 168 insertions, 0 deletions
diff --git a/net/freeDiameter/DESCR b/net/freeDiameter/DESCR
new file mode 100644
index 00000000000..5bc8228bc96
--- /dev/null
+++ b/net/freeDiameter/DESCR
@@ -0,0 +1,10 @@
+freeDiameter is a implementation of the Diameter protocol specified
+in RFC3588. Diameter is a protocol for carrying Authentication,
+Authorization and Accounting information. It is an evolution of
+the widely-deployed RADIUS protocol. freeDiameter also implements
+the changes to the Diameter protocol introduced by the rfc3588bis
+Internet Draft (work in progress).
+
+freeDiameter is open-source and released under a BSD compatible
+license. It is mainly written in the C language, which provides
+excellent performance and small memory footprint.
diff --git a/net/freeDiameter/Makefile b/net/freeDiameter/Makefile
new file mode 100644
index 00000000000..1dfaf866ba9
--- /dev/null
+++ b/net/freeDiameter/Makefile
@@ -0,0 +1,38 @@
+# $NetBSD: Makefile,v 1.1 2012/08/20 12:17:20 wiz Exp $
+#
+
+DISTNAME= 1.1.2
+PKGNAME= freeDiameter-${DISTNAME}
+CATEGORIES= net
+MASTER_SITES= http://www.freediameter.net/hg/freeDiameter/archive/
+
+MAINTAINER= pkgsrc-users@NetBSD.org
+HOMEPAGE= http://www.freediameter.net/trac/
+COMMENT= Open source Diameter protocol implementation
+LICENSE= modified-bsd
+
+PKG_DESTDIR_SUPPORT= user-destdir
+
+DIST_SUBDIR= freeDiameter
+
+WRKSRC= ${WRKDIR}/${PKGNAME_NOREV}
+USE_CMAKE= yes
+CMAKE_ARGS+= -DDISABLE_SCTP:BOOL=ON
+USE_LANGUAGES= c c++
+USE_TOOLS+= bison pkg-config
+
+.include "options.mk"
+
+INSTALLATION_DIRS= share/examples/freeDiameter/single_host
+
+post-install:
+ cd ${WRKSRC}/doc && ${INSTALL_DATA} *.* \
+ ${DESTDIR}${PREFIX}/share/examples/freeDiameter
+ cd ${WRKSRC}/doc/single_host && ${INSTALL_DATA} *.* \
+ ${DESTDIR}${PREFIX}/share/examples/freeDiameter/single_host
+
+.include "../../devel/libidn/buildlink3.mk"
+.include "../../security/gnutls/buildlink3.mk"
+.include "../../security/libgcrypt/buildlink3.mk"
+
+.include "../../mk/bsd.pkg.mk"
diff --git a/net/freeDiameter/PLIST b/net/freeDiameter/PLIST
new file mode 100644
index 00000000000..c4ce16cab78
--- /dev/null
+++ b/net/freeDiameter/PLIST
@@ -0,0 +1,61 @@
+@comment $NetBSD: PLIST,v 1.1 2012/08/20 12:17:20 wiz Exp $
+bin/freeDiameterd
+bin/freeDiameterd-${PKGVERSION}
+${PLIST.ext}bin/freediameter-sip-ppr
+${PLIST.ext}bin/freediameter-sip-rtr
+include/freeDiameter/extension.h
+include/freeDiameter/freeDiameter-host.h
+include/freeDiameter/libfdcore.h
+include/freeDiameter/libfdproto.h
+${PLIST.ext}lib/freeDiameter/acct.rgwx
+lib/freeDiameter/acl_wl.fdx
+${PLIST.ext}lib/freeDiameter/app_acct.fdx
+${PLIST.ext}lib/freeDiameter/app_diameap.fdx
+${PLIST.ext}lib/freeDiameter/app_radgw.fdx
+${PLIST.ext}lib/freeDiameter/app_redirect.fdx
+${PLIST.ext}lib/freeDiameter/app_sip.fdx
+${PLIST.ext}lib/freeDiameter/auth.rgwx
+${PLIST.ext}lib/freeDiameter/debug.rgwx
+lib/freeDiameter/dict_dcca.fdx
+lib/freeDiameter/dict_eap.fdx
+${PLIST.ext}lib/freeDiameter/dict_legacy_xml.fdx
+lib/freeDiameter/dict_mip6a.fdx
+lib/freeDiameter/dict_mip6i.fdx
+lib/freeDiameter/dict_nas_mipv6.fdx
+lib/freeDiameter/dict_nasreq.fdx
+lib/freeDiameter/dict_rfc5777.fdx
+lib/freeDiameter/dict_sip.fdx
+${PLIST.ext}lib/freeDiameter/eap_identity.emp
+${PLIST.ext}lib/freeDiameter/echodrop.rgwx
+lib/freeDiameter/rt_default.fdx
+${PLIST.ext}lib/freeDiameter/rt_ereg.fdx
+lib/freeDiameter/rt_redirect.fdx
+lib/libfdcore.so
+lib/libfdcore.so.${PKGVERSION}
+lib/libfdcore.so.4
+lib/libfdproto.so
+lib/libfdproto.so.${PKGVERSION}
+lib/libfdproto.so.4
+share/examples/freeDiameter/acl_wl.conf.sample
+share/examples/freeDiameter/app_acct.conf.sample
+share/examples/freeDiameter/app_diameap.conf.sample
+share/examples/freeDiameter/app_radgw.conf.sample
+share/examples/freeDiameter/app_redirect.conf.sample
+share/examples/freeDiameter/app_sip.conf.sample
+share/examples/freeDiameter/app_sip.sql
+share/examples/freeDiameter/app_sip_SL.sql
+share/examples/freeDiameter/dbg_interactive.py.sample
+share/examples/freeDiameter/dict_legacy_xml.conf.sample
+share/examples/freeDiameter/eap_tls_plugin.diameap.conf.sample
+share/examples/freeDiameter/echodrop.rgwx.conf.sample
+share/examples/freeDiameter/freediameter.conf.sample
+share/examples/freeDiameter/rt_default.conf.sample
+share/examples/freeDiameter/rt_ereg.conf.sample
+share/examples/freeDiameter/single_host/freeDiameter-1.conf
+share/examples/freeDiameter/single_host/freeDiameter-2.conf
+share/examples/freeDiameter/single_host/make_certs.sh
+share/examples/freeDiameter/single_host/test_app1.conf
+share/examples/freeDiameter/single_host/test_app2.conf
+share/examples/freeDiameter/test_app.conf.sample
+share/examples/freeDiameter/test_netemul.conf.sample
+share/examples/freeDiameter/test_sip.conf.sample
diff --git a/net/freeDiameter/distinfo b/net/freeDiameter/distinfo
new file mode 100644
index 00000000000..77f72589f33
--- /dev/null
+++ b/net/freeDiameter/distinfo
@@ -0,0 +1,6 @@
+$NetBSD: distinfo,v 1.1 2012/08/20 12:17:20 wiz Exp $
+
+SHA1 (freeDiameter/1.1.2.tar.gz) = 2cef81658e3700302a608d92dc1b78a328a0dcec
+RMD160 (freeDiameter/1.1.2.tar.gz) = 1b84b19a08d03f1374f3564496a794458ff3bcfb
+Size (freeDiameter/1.1.2.tar.gz) = 744424 bytes
+SHA1 (patch-libfdcore_config.c) = 75d3e75f00bf93b1ad21821c7c2e7525c9068e31
diff --git a/net/freeDiameter/options.mk b/net/freeDiameter/options.mk
new file mode 100644
index 00000000000..aaea244430f
--- /dev/null
+++ b/net/freeDiameter/options.mk
@@ -0,0 +1,30 @@
+# $NetBSD: options.mk,v 1.1 2012/08/20 12:17:20 wiz Exp $
+
+PKG_OPTIONS_VAR= PKG_OPTIONS.freeDiameter
+PKG_SUPPORTED_OPTIONS= freediameter-all-extensions
+PKG_SUGGESTED_OPTIONS= freediameter-all-extensions
+
+.include "../../mk/bsd.options.mk"
+
+PLIST_VARS+= ext
+
+.if !empty(PKG_OPTIONS:Mall-extensions)
+# enable all except debugging and test
+#CMAKE_ARGS+= -DALL_EXTENSIONS:BOOL=ON
+CMAKE_ARGS+= -DBUILD_APP_ACCT:BOOL=ON
+CMAKE_ARGS+= -DBUILD_APP_DIAMEAP:BOOL=ON
+CMAKE_ARGS+= -DBUILD_APP_RADGW:BOOL=ON
+CMAKE_ARGS+= -DBUILD_APP_REDIRECT:BOOL=ON
+CMAKE_ARGS+= -DBUILD_APP_SIP:BOOL=ON
+CMAKE_ARGS+= -DBUILD_DICT_LEGACY_XML:BOOL=ON
+CMAKE_ARGS+= -DBUILD_RT_EREG:BOOL=ON
+# for debug-interactive-extension only
+#.include "../../devel/swig/buildlink3.mk"
+#.include "../../lang/python/extension.mk"
+.include "../../mk/mysql.buildlink3.mk"
+.include "../../mk/pgsql.buildlink3.mk"
+.include "../../textproc/libxml2/buildlink3.mk"
+PLIST.ext= yes
+.else
+CMAKE_ARGS+= -DALL_EXTENSIONS:BOOL=OFF
+.endif
diff --git a/net/freeDiameter/patches/patch-libfdcore_config.c b/net/freeDiameter/patches/patch-libfdcore_config.c
new file mode 100644
index 00000000000..1a0fc2e83ba
--- /dev/null
+++ b/net/freeDiameter/patches/patch-libfdcore_config.c
@@ -0,0 +1,23 @@
+$NetBSD: patch-libfdcore_config.c,v 1.1 2012/08/20 12:17:20 wiz Exp $
+
+Fix build against gnutls-3.x, based on feedback by Nikos Mavrogiannopou
+on help-gnutls@gnu.org.
+
+--- libfdcore/config.c.orig 2012-02-21 17:46:14.000000000 +0000
++++ libfdcore/config.c
+@@ -358,9 +358,12 @@ int fd_conf_parse()
+ ASSERT(cert_max >= 1);
+
+ /* Now, verify the list against the local CA and CRL */
+- GNUTLS_TRACE( gnutls_certificate_get_x509_cas (fd_g_config->cnf_sec_data.credentials, &CA_list, (unsigned int *) &CA_list_length) );
+- GNUTLS_TRACE( gnutls_certificate_get_x509_crls (fd_g_config->cnf_sec_data.credentials, &CRL_list, (unsigned int *) &CRL_list_length) );
+- CHECK_GNUTLS_DO( gnutls_x509_crt_list_verify(certs, cert_max, CA_list, CA_list_length, CRL_list, CRL_list_length, 0, &verify),
++ CHECK_GNUTLS_DO( gnutls_certificate_get_issuer(fd_g_config->cnf_sec_data.credentials, certs[cert_max-1], &CA_list, 0),
++ {
++ TRACE_DEBUG(INFO, "Cannot find issuer for local certificate '%s'. Please check your certificate is valid.", fd_g_config->cnf_sec_data.cert_file);
++ return EINVAL;
++ } );
++ CHECK_GNUTLS_DO( gnutls_x509_crt_list_verify(certs, cert_max, CA_list, 1, NULL, 0, 0, &verify),
+ {
+ TRACE_DEBUG(INFO, "Failed to verify the local certificate '%s' against local credentials. Please check your certificate is valid.", fd_g_config->cnf_sec_data.cert_file);
+ return EINVAL;