diff options
Diffstat (limited to 'recipes-security/freediameter/freediameter_1.2.1.bb')
-rw-r--r-- | recipes-security/freediameter/freediameter_1.2.1.bb | 71 |
1 files changed, 71 insertions, 0 deletions
diff --git a/recipes-security/freediameter/freediameter_1.2.1.bb b/recipes-security/freediameter/freediameter_1.2.1.bb new file mode 100644 index 0000000..a6083a8 --- /dev/null +++ b/recipes-security/freediameter/freediameter_1.2.1.bb | |||
@@ -0,0 +1,71 @@ | |||
1 | # copyright 2017 Armin Kuster <akuster808@gmail.com> | ||
2 | # | ||
3 | |||
4 | SUMARRY = "freeDiameter is a implementation of the Diameter protocol specified in RFC3588. Diameter is a protocol for carrying Authentication, Authorization and Accounting information." | ||
5 | |||
6 | HOMEPAGE = "http://www.freediameter.net/trac/" | ||
7 | LIC_FILES_CHKSUM = "file://LICENSE;md5=892b2ed6ae815488a08416ff7ee74a35" | ||
8 | LICENSE = "BSD" | ||
9 | |||
10 | DEPENDS = "lksctp-tools libidn gnutls libgcrypt bison flex" | ||
11 | |||
12 | HG_SRCREV = "8662db9f6105" | ||
13 | SRC_URI = " \ | ||
14 | http://www.freediameter.net/hg/freeDiameter/archive/${HG_SRCREV}.tar.bz2 \ | ||
15 | file://init \ | ||
16 | file://freeDiameter.conf \ | ||
17 | file://no_test_run.patch" | ||
18 | |||
19 | SRC_URI[md5sum] = "2fbf09aa1e0eba9ae0b5f1ab05a6d462" | ||
20 | SRC_URI[sha256sum] = "061d9b0d860605f0838c0ab312c3719f45b215bf5e212ad2b45a59d036b670b7" | ||
21 | |||
22 | S = "${WORKDIR}/freeDiameter-${HG_SRCREV}" | ||
23 | |||
24 | inherit cmake pkgconfig update-rc.d | ||
25 | |||
26 | CONFFILES_${PN} = "${sysconfdir}/freediameter.conf" | ||
27 | |||
28 | EXTRA_OECMAKE += "-DDEFAULT_CONF_PATH:PATH=${sysconfdir}/freeDiameter" | ||
29 | |||
30 | FD_KEY ?="${PN}.key" | ||
31 | FD_PEM ?= "${PN}.pem" | ||
32 | FD_CA ?= "${PN}.pem" | ||
33 | FD_DH_PEM ?= "${PN}-dh.pem" | ||
34 | FD_HOSTNAME ?= "${MACHINE}" | ||
35 | FD_REALM ?= "openembedded.org" | ||
36 | |||
37 | do_install_append () { | ||
38 | install -d ${D}${sysconfdir}/freeDiameter | ||
39 | install ${WORKDIR}/freeDiameter.conf ${D}${sysconfdir}/freeDiameter/freeDiameter.conf | ||
40 | |||
41 | cat >> ${D}${sysconfdir}/freeDiameter/freeDiameter.conf <<EOF | ||
42 | ## OE specific ## | ||
43 | #Identity="${FD_HOSTNAME}"; | ||
44 | Identity = "${FD_HOSTNAME}.${FD_REALM}"; | ||
45 | Realm = "${FD_REALM}"; | ||
46 | Port = 30868; | ||
47 | SecPort = 30869; | ||
48 | TLS_Cred = "/etc/freeDiameter/${FD_PEM}" , "/etc/freeDiameter/${FD_KEY}"; | ||
49 | TLS_CA = "/etc/freeDiameter/${FD_CA}"; | ||
50 | TLS_DH_File = "/etc/freeDiameter/${FD_DH_PEM}"; | ||
51 | EOF | ||
52 | install -d ${D}${sysconfdir}/init.d/ | ||
53 | install ${WORKDIR}/init ${D}${sysconfdir}/init.d/freediameter | ||
54 | } | ||
55 | |||
56 | do_install_append () { | ||
57 | # create self cert | ||
58 | openssl req -x509 -config ${STAGING_DIR_NATIVE}/etc/ssl/openssl.cnf -newkey rsa:4096 -sha256 -nodes -out ${D}${sysconfdir}/freeDiameter/${FD_PEM} -keyout ${D}${sysconfdir}/freeDiameter/${FD_KEY} -days 3650 -subj '/CN=${FD_HOSTNAME}.${FD_REALM}' | ||
59 | openssl dhparam -out ${D}${sysconfdir}/freeDiameter/${FD_DH_PEM} 1024 | ||
60 | } | ||
61 | |||
62 | PACKAGES += "${PN}-extensions" | ||
63 | FILES_${PN}-extensions = "${nonarch_libdir}/freeDiameter/*.fdx" | ||
64 | |||
65 | INITSCRIPT_PACKAGES = "${PN}" | ||
66 | INITSCRIPT_NAME_${PN} = "freediameter" | ||
67 | INITSCRIPT_PARAMS_${PN} = "defaults 80" | ||
68 | |||
69 | RDEPENDS_${PN} = "openssl openssl-conf openssl-engines" | ||
70 | RDEPENDS_${PN} += "kernel-module-tipc kernel-module-sctp" | ||
71 | RDEPENDS_${PN} += "kernel-module-udp-tunnel kernel-module-ipip" | ||