summaryrefslogtreecommitdiffstats
path: root/meta/recipes-connectivity
diff options
context:
space:
mode:
Diffstat (limited to 'meta/recipes-connectivity')
-rw-r--r--meta/recipes-connectivity/avahi/avahi-ui_0.6.31.bb69
-rw-r--r--meta/recipes-connectivity/avahi/avahi.inc152
-rw-r--r--meta/recipes-connectivity/avahi/avahi_0.6.31.bb22
-rw-r--r--meta/recipes-connectivity/avahi/files/0001-avahi-fix-avahi-status-command-error-prompt.patch52
-rw-r--r--meta/recipes-connectivity/avahi/files/00avahi-autoipd10
-rw-r--r--meta/recipes-connectivity/avahi/files/99avahi-autoipd10
-rw-r--r--meta/recipes-connectivity/avahi/files/avahi_fix_install_issue.patch32
-rw-r--r--meta/recipes-connectivity/avahi/files/fix_for_automake_1.12.x.patch34
-rw-r--r--meta/recipes-connectivity/avahi/files/initscript.patch41
-rw-r--r--meta/recipes-connectivity/avahi/files/out-of-tree.patch32
-rw-r--r--meta/recipes-connectivity/avahi/files/reuseport-check.patch30
-rw-r--r--meta/recipes-connectivity/bind/bind/bind-9.8.1-CVE-2012-5166.patch119
-rw-r--r--meta/recipes-connectivity/bind/bind/bind-CVE-2011-4313.patch89
-rw-r--r--meta/recipes-connectivity/bind/bind/bind-CVE-2012-1667.patch92
-rw-r--r--meta/recipes-connectivity/bind/bind/bind-CVE-2012-3817.patch40
-rw-r--r--meta/recipes-connectivity/bind/bind/bind-CVE-2013-2266.patch41
-rw-r--r--meta/recipes-connectivity/bind/bind/bind-Fix-CVE-2012-4244.patch141
-rw-r--r--meta/recipes-connectivity/bind/bind/conf.patch314
-rw-r--r--meta/recipes-connectivity/bind/bind/cross-build-fix.patch21
-rw-r--r--meta/recipes-connectivity/bind/bind/dont-test-on-host.patch13
-rw-r--r--meta/recipes-connectivity/bind/bind/make-etc-initd-bind-stop-work.patch42
-rw-r--r--meta/recipes-connectivity/bind/bind/mips1-not-support-opcode.diff104
-rw-r--r--meta/recipes-connectivity/bind/bind_9.9.5.bb65
-rw-r--r--meta/recipes-connectivity/bluez/bluez-hcidump-2.5/obsolete_automake_macros.patch14
-rw-r--r--meta/recipes-connectivity/bluez/bluez-hcidump_2.5.bb20
-rw-r--r--meta/recipes-connectivity/bluez/bluez4-4.101/bluetooth.conf16
-rw-r--r--meta/recipes-connectivity/bluez/bluez4-4.101/fix-udev-paths.patch37
-rw-r--r--meta/recipes-connectivity/bluez/bluez4-4.101/install-test-script.patch26
-rw-r--r--meta/recipes-connectivity/bluez/bluez4-4.101/network-fix-network-Connect-method-parameters.patch30
-rw-r--r--meta/recipes-connectivity/bluez/bluez4-4.101/obsolete_automake_macros.patch14
-rw-r--r--meta/recipes-connectivity/bluez/bluez4-4.101/sbc_mmx.patch24
-rw-r--r--meta/recipes-connectivity/bluez/bluez4-4.101/use-legacy-pygobject-instead-ofgobject-introspection.patch27
-rw-r--r--meta/recipes-connectivity/bluez/bluez4.inc46
-rw-r--r--meta/recipes-connectivity/bluez/bluez4_4.101.bb46
-rw-r--r--meta/recipes-connectivity/bluez/gst-plugin-bluetooth_4.101.bb38
-rw-r--r--meta/recipes-connectivity/bluez5/bluez5.inc77
-rw-r--r--meta/recipes-connectivity/bluez5/bluez5/bluetooth.conf16
-rw-r--r--meta/recipes-connectivity/bluez5/bluez5_5.15.bb4
-rw-r--r--meta/recipes-connectivity/connman/connman-conf.bb24
-rw-r--r--meta/recipes-connectivity/connman/connman-conf/qemuall/wired-setup16
-rw-r--r--meta/recipes-connectivity/connman/connman-conf/qemuall/wired.config9
-rw-r--r--meta/recipes-connectivity/connman/connman-gnome/0001-Removed-icon-from-connman-gnome-about-applet.patch35
-rw-r--r--meta/recipes-connectivity/connman/connman-gnome/images/connman-signal-01.pngbin0 -> 490 bytes
-rw-r--r--meta/recipes-connectivity/connman/connman-gnome/images/connman-signal-02.pngbin0 -> 496 bytes
-rw-r--r--meta/recipes-connectivity/connman/connman-gnome/images/connman-signal-03.pngbin0 -> 492 bytes
-rw-r--r--meta/recipes-connectivity/connman/connman-gnome/images/connman-signal-04.pngbin0 -> 470 bytes
-rw-r--r--meta/recipes-connectivity/connman/connman-gnome/images/connman-signal-05.pngbin0 -> 419 bytes
-rw-r--r--meta/recipes-connectivity/connman/connman-gnome/null_check_for_ipv4_config.patch36
-rw-r--r--meta/recipes-connectivity/connman/connman-gnome_0.7.bb27
-rw-r--r--meta/recipes-connectivity/connman/connman.inc215
-rw-r--r--meta/recipes-connectivity/connman/connman/0001-plugin.h-Change-visibility-to-default-for-debug-symb.patch35
-rw-r--r--meta/recipes-connectivity/connman/connman/add_xuser_dbus_permission.patch21
-rw-r--r--meta/recipes-connectivity/connman/connman/connman83
-rw-r--r--meta/recipes-connectivity/connman/connman_1.22.bb11
-rw-r--r--meta/recipes-connectivity/dhcp/dhcp.inc100
-rw-r--r--meta/recipes-connectivity/dhcp/dhcp/dhclient-script-drop-resolv.conf.dhclient.patch70
-rw-r--r--meta/recipes-connectivity/dhcp/dhcp/dhcp-3.0.3-dhclient-dbus.patch86
-rw-r--r--meta/recipes-connectivity/dhcp/dhcp/fix-external-bind.patch112
-rw-r--r--meta/recipes-connectivity/dhcp/dhcp/fixsepbuild.patch90
-rw-r--r--meta/recipes-connectivity/dhcp/dhcp/link-with-lcrypto.patch25
-rw-r--r--meta/recipes-connectivity/dhcp/dhcp/site.h21
-rw-r--r--meta/recipes-connectivity/dhcp/dhcp_4.3.0.bb11
-rw-r--r--meta/recipes-connectivity/dhcp/files/default-relay12
-rw-r--r--meta/recipes-connectivity/dhcp/files/default-server7
-rw-r--r--meta/recipes-connectivity/dhcp/files/dhclient.conf50
-rw-r--r--meta/recipes-connectivity/dhcp/files/dhcpd.conf108
-rw-r--r--meta/recipes-connectivity/dhcp/files/init-relay44
-rw-r--r--meta/recipes-connectivity/dhcp/files/init-server44
-rw-r--r--meta/recipes-connectivity/iproute2/iproute2.inc40
-rw-r--r--meta/recipes-connectivity/iproute2/iproute2/0001-iproute2-de-bash-scripts.patch64
-rw-r--r--meta/recipes-connectivity/iproute2/iproute2/configure-cross.patch32
-rw-r--r--meta/recipes-connectivity/iproute2/iproute2_3.12.0.bb13
-rwxr-xr-xmeta/recipes-connectivity/irda-utils/irda-utils-0.9.18/init78
-rw-r--r--meta/recipes-connectivity/irda-utils/irda-utils_0.9.18.bb39
-rw-r--r--meta/recipes-connectivity/libnss-mdns/libnss-mdns_0.10.bb38
-rw-r--r--meta/recipes-connectivity/libpcap/libpcap.inc35
-rw-r--r--meta/recipes-connectivity/libpcap/libpcap/aclocal.patch167
-rw-r--r--meta/recipes-connectivity/libpcap/libpcap/ieee80215-arphrd.patch24
-rw-r--r--meta/recipes-connectivity/libpcap/libpcap_1.5.3.bb24
-rw-r--r--meta/recipes-connectivity/mobile-broadband-provider-info/mobile-broadband-provider-info_git.bb12
-rw-r--r--meta/recipes-connectivity/neard/neard.inc59
-rw-r--r--meta/recipes-connectivity/neard/neard/neard.in54
-rw-r--r--meta/recipes-connectivity/neard/neard/neard.service.in13
-rw-r--r--meta/recipes-connectivity/neard/neard_0.14.bb9
-rw-r--r--meta/recipes-connectivity/nfs-utils/files/Set_nobody_user_group.patch18
-rw-r--r--meta/recipes-connectivity/nfs-utils/files/fix-ac-prereq.patch13
-rw-r--r--meta/recipes-connectivity/nfs-utils/libnfsidmap_0.25.bb24
-rw-r--r--meta/recipes-connectivity/nfs-utils/nfs-utils/0001-configure-Allow-to-explicitly-disable-nfsidmap.patch43
-rw-r--r--meta/recipes-connectivity/nfs-utils/nfs-utils/nfs-mountd.service11
-rw-r--r--meta/recipes-connectivity/nfs-utils/nfs-utils/nfs-server.service18
-rw-r--r--meta/recipes-connectivity/nfs-utils/nfs-utils/nfs-statd.service12
-rw-r--r--meta/recipes-connectivity/nfs-utils/nfs-utils/nfs-utils-1.0.6-uclibc.patch27
-rw-r--r--meta/recipes-connectivity/nfs-utils/nfs-utils/nfs-utils-1.2.3-sm-notify-res_init.patch36
-rw-r--r--meta/recipes-connectivity/nfs-utils/nfs-utils/nfs-utils.conf35
-rw-r--r--meta/recipes-connectivity/nfs-utils/nfs-utils/nfscommon90
-rw-r--r--meta/recipes-connectivity/nfs-utils/nfs-utils/nfsserver129
-rw-r--r--meta/recipes-connectivity/nfs-utils/nfs-utils_1.2.9.bb110
-rw-r--r--meta/recipes-connectivity/ofono/ofono.inc33
-rw-r--r--meta/recipes-connectivity/ofono/ofono/ofono42
-rw-r--r--meta/recipes-connectivity/ofono/ofono_1.14.bb11
-rw-r--r--meta/recipes-connectivity/ofono/ofono_git.bb14
-rw-r--r--meta/recipes-connectivity/openssh/files/add-test-support-for-busybox.patch61
-rwxr-xr-xmeta/recipes-connectivity/openssh/files/run-ptest7
-rw-r--r--meta/recipes-connectivity/openssh/openssh/init113
-rw-r--r--meta/recipes-connectivity/openssh/openssh/nostrip.patch20
-rw-r--r--meta/recipes-connectivity/openssh/openssh/openssh-CVE-2011-4327.patch29
-rw-r--r--meta/recipes-connectivity/openssh/openssh/ssh_config46
-rw-r--r--meta/recipes-connectivity/openssh/openssh/sshd10
-rw-r--r--meta/recipes-connectivity/openssh/openssh/sshd.socket10
-rw-r--r--meta/recipes-connectivity/openssh/openssh/sshd@.service10
-rw-r--r--meta/recipes-connectivity/openssh/openssh/sshd_config119
-rw-r--r--meta/recipes-connectivity/openssh/openssh/sshdgenkeys.service10
-rw-r--r--meta/recipes-connectivity/openssh/openssh/volatiles.99_sshd1
-rw-r--r--meta/recipes-connectivity/openssh/openssh_6.5p1.bb147
-rw-r--r--meta/recipes-connectivity/openssl/cryptodev-linux_1.6.bb22
-rw-r--r--meta/recipes-connectivity/openssl/openssl.inc191
-rw-r--r--meta/recipes-connectivity/openssl/openssl/Makefiles-ptest.patch74
-rw-r--r--meta/recipes-connectivity/openssl/openssl/configure-targets.patch34
-rw-r--r--meta/recipes-connectivity/openssl/openssl/debian/c_rehash-compat.patch45
-rw-r--r--meta/recipes-connectivity/openssl/openssl/debian/ca.patch22
-rw-r--r--meta/recipes-connectivity/openssl/openssl/debian/debian-targets.patch66
-rw-r--r--meta/recipes-connectivity/openssl/openssl/debian/make-targets.patch15
-rw-r--r--meta/recipes-connectivity/openssl/openssl/debian/man-dir.patch15
-rw-r--r--meta/recipes-connectivity/openssl/openssl/debian/man-section.patch34
-rw-r--r--meta/recipes-connectivity/openssl/openssl/debian/no-rpath.patch15
-rw-r--r--meta/recipes-connectivity/openssl/openssl/debian/no-symbolic.patch15
-rw-r--r--meta/recipes-connectivity/openssl/openssl/debian/pic.patch177
-rw-r--r--meta/recipes-connectivity/openssl/openssl/debian/version-script.patch4670
-rw-r--r--meta/recipes-connectivity/openssl/openssl/engines-install-in-libdir-ssl.patch56
-rw-r--r--meta/recipes-connectivity/openssl/openssl/find.pl54
-rw-r--r--meta/recipes-connectivity/openssl/openssl/fix-cipher-des-ede3-cfb1.patch22
-rw-r--r--meta/recipes-connectivity/openssl/openssl/initial-aarch64-bits.patch119
-rw-r--r--meta/recipes-connectivity/openssl/openssl/oe-ldflags.patch24
-rw-r--r--meta/recipes-connectivity/openssl/openssl/openssl-CVE-2014-0198-fix.patch23
-rw-r--r--meta/recipes-connectivity/openssl/openssl/openssl-avoid-NULL-pointer-dereference-in-EVP_DigestInit_ex.patch21
-rw-r--r--meta/recipes-connectivity/openssl/openssl/openssl-avoid-NULL-pointer-dereference-in-dh_pub_encode.patch39
-rw-r--r--meta/recipes-connectivity/openssl/openssl/openssl-fix-des.pod-error.patch19
-rw-r--r--meta/recipes-connectivity/openssl/openssl/openssl-fix-doc.patch401
-rw-r--r--meta/recipes-connectivity/openssl/openssl/openssl-fix-link.patch35
-rw-r--r--meta/recipes-connectivity/openssl/openssl/openssl_fix_for_x32.patch90
-rw-r--r--meta/recipes-connectivity/openssl/openssl/run-ptest2
-rw-r--r--meta/recipes-connectivity/openssl/openssl/shared-libs.patch41
-rw-r--r--meta/recipes-connectivity/openssl/openssl_1.0.1g.bb58
-rw-r--r--meta/recipes-connectivity/portmap/portmap-6.0/destdir-no-strip.patch46
-rw-r--r--meta/recipes-connectivity/portmap/portmap-6.0/tcpd-config.patch30
-rw-r--r--meta/recipes-connectivity/portmap/portmap.inc31
-rwxr-xr-xmeta/recipes-connectivity/portmap/portmap/portmap.init67
-rw-r--r--meta/recipes-connectivity/portmap/portmap_6.0.bb26
-rw-r--r--meta/recipes-connectivity/ppp-dialin/files/host-peer11
-rw-r--r--meta/recipes-connectivity/ppp-dialin/files/ppp-dialin3
-rw-r--r--meta/recipes-connectivity/ppp-dialin/ppp-dialin_0.1.bb26
-rw-r--r--meta/recipes-connectivity/ppp/ppp/0001-ppp-Fix-compilation-errors-in-Makefile.patch75
-rw-r--r--meta/recipes-connectivity/ppp/ppp/08setupdns12
-rw-r--r--meta/recipes-connectivity/ppp/ppp/92removedns5
-rw-r--r--meta/recipes-connectivity/ppp/ppp/cifdefroute.patch292
-rw-r--r--meta/recipes-connectivity/ppp/ppp/copts.patch21
-rwxr-xr-xmeta/recipes-connectivity/ppp/ppp/init57
-rwxr-xr-xmeta/recipes-connectivity/ppp/ppp/ip-down43
-rwxr-xr-xmeta/recipes-connectivity/ppp/ppp/ip-up44
-rw-r--r--meta/recipes-connectivity/ppp/ppp/makefile-remove-hard-usr-reference.patch37
-rw-r--r--meta/recipes-connectivity/ppp/ppp/makefile.patch95
-rw-r--r--meta/recipes-connectivity/ppp/ppp/pap22
-rw-r--r--meta/recipes-connectivity/ppp/ppp/poff26
-rw-r--r--meta/recipes-connectivity/ppp/ppp/pon9
-rw-r--r--meta/recipes-connectivity/ppp/ppp/ppp_on_boot21
-rw-r--r--meta/recipes-connectivity/ppp/ppp/pppd-resolv-varrun.patch45
-rw-r--r--meta/recipes-connectivity/ppp/ppp/provider35
-rw-r--r--meta/recipes-connectivity/ppp/ppp_2.4.6.bb87
-rw-r--r--meta/recipes-connectivity/resolvconf/resolvconf_1.74.bb53
-rw-r--r--meta/recipes-connectivity/socat/socat/compile.patch946
-rw-r--r--meta/recipes-connectivity/socat/socat/fix-xxx_SHIFT-autoheader.patch40
-rw-r--r--meta/recipes-connectivity/socat/socat_1.7.2.3.bb40
-rw-r--r--meta/recipes-connectivity/telepathy/libtelepathy/doublefix.patch18
-rw-r--r--meta/recipes-connectivity/telepathy/libtelepathy/prefer_python_2.5.patch15
-rw-r--r--meta/recipes-connectivity/telepathy/libtelepathy_0.3.3.bb23
-rw-r--r--meta/recipes-connectivity/telepathy/telepathy-glib_0.23.2.bb16
-rw-r--r--meta/recipes-connectivity/telepathy/telepathy-idle/fix-svc-gtk-doc.h-target.patch15
-rw-r--r--meta/recipes-connectivity/telepathy/telepathy-idle_0.2.0.bb17
-rw-r--r--meta/recipes-connectivity/telepathy/telepathy-mission-control/tmc-Makefile-fix-race.patch76
-rw-r--r--meta/recipes-connectivity/telepathy/telepathy-mission-control_5.16.1.bb51
-rw-r--r--meta/recipes-connectivity/telepathy/telepathy-python-0.15.19/parallel_make.patch43
-rw-r--r--meta/recipes-connectivity/telepathy/telepathy-python-0.15.19/remove_duplicate_install.patch26
-rw-r--r--meta/recipes-connectivity/telepathy/telepathy-python-0.15.19/telepathy-python_fix_for_automake_1.12.patch26
-rw-r--r--meta/recipes-connectivity/telepathy/telepathy-python_0.15.19.bb32
-rw-r--r--meta/recipes-connectivity/wireless-tools/wireless-tools/avoid_strip.patch21
-rw-r--r--meta/recipes-connectivity/wireless-tools/wireless-tools/ldflags.patch22
-rw-r--r--meta/recipes-connectivity/wireless-tools/wireless-tools/man.patch15
-rw-r--r--meta/recipes-connectivity/wireless-tools/wireless-tools/remove.ldconfig.call.patch19
-rwxr-xr-xmeta/recipes-connectivity/wireless-tools/wireless-tools/wireless-tools.if-pre-up122
-rw-r--r--meta/recipes-connectivity/wireless-tools/wireless-tools/zzz-wireless.if-pre-up34
-rw-r--r--meta/recipes-connectivity/wireless-tools/wireless-tools_30.pre9.bb56
-rw-r--r--meta/recipes-connectivity/wpa-supplicant/wpa-supplicant.inc91
-rw-r--r--meta/recipes-connectivity/wpa-supplicant/wpa-supplicant/99_wpa_supplicant1
-rw-r--r--meta/recipes-connectivity/wpa-supplicant/wpa-supplicant/defconfig-gnutls552
-rw-r--r--meta/recipes-connectivity/wpa-supplicant/wpa-supplicant/fix-libnl3-host-contamination.patch42
-rw-r--r--meta/recipes-connectivity/wpa-supplicant/wpa-supplicant/wpa-supplicant.sh85
-rw-r--r--meta/recipes-connectivity/wpa-supplicant/wpa-supplicant/wpa_supplicant.conf690
-rw-r--r--meta/recipes-connectivity/wpa-supplicant/wpa-supplicant/wpa_supplicant.conf-sane7
-rw-r--r--meta/recipes-connectivity/wpa-supplicant/wpa-supplicant_2.1.bb2
199 files changed, 16003 insertions, 0 deletions
diff --git a/meta/recipes-connectivity/avahi/avahi-ui_0.6.31.bb b/meta/recipes-connectivity/avahi/avahi-ui_0.6.31.bb
new file mode 100644
index 0000000..557c1c1
--- /dev/null
+++ b/meta/recipes-connectivity/avahi/avahi-ui_0.6.31.bb
@@ -0,0 +1,69 @@
1LIC_FILES_CHKSUM = "file://LICENSE;md5=2d5025d4aa3495befef8f17206a5b0a1 \
2 file://avahi-common/address.h;endline=25;md5=b1d1d2cda1c07eb848ea7d6215712d9d \
3 file://avahi-core/dns.h;endline=23;md5=6fe82590b81aa0ddea5095b548e2fdcb \
4 file://avahi-daemon/main.c;endline=21;md5=9ee77368c5407af77caaef1b07285969 \
5 file://avahi-client/client.h;endline=23;md5=f4ac741a25c4f434039ba3e18c8674cf"
6
7require avahi.inc
8
9inherit python-dir pythonnative
10
11PACKAGECONFIG ??= "python"
12PACKAGECONFIG[python] = "--enable-python,--disable-python,python-native python"
13
14PR = "${INC_PR}.0"
15
16SRC_URI[md5sum] = "2f22745b8f7368ad5a0a3fddac343f2d"
17SRC_URI[sha256sum] = "8372719b24e2dd75de6f59bb1315e600db4fd092805bd1201ed0cb651a2dab48"
18
19DEPENDS += "avahi gtk+ libglade"
20
21AVAHI_GTK = "--enable-gtk --disable-gtk3"
22
23S = "${WORKDIR}/avahi-${PV}"
24
25PACKAGES = "${PN} ${PN}-utils ${PN}-dbg ${PN}-dev ${PN}-staticdev ${PN}-doc python-avahi avahi-discover avahi-discover-standalone"
26
27FILES_${PN} = "${libdir}/libavahi-ui*.so.*"
28FILES_${PN}-dbg += "${libdir}/.debug/libavah-ui*"
29FILES_${PN}-dev += "${libdir}/libavahi-ui${SOLIBSDEV}"
30FILES_${PN}-staticdev += "${libdir}/libavahi-ui.a"
31
32FILES_${PN}-utils = "${bindir}/b* ${datadir}/applications/b*"
33
34FILES_python-avahi = "${PYTHON_SITEPACKAGES_DIR}/avahi ${PYTHON_SITEPACKAGES_DIR}/avahi_discover"
35FILES_avahi-discover = "${bindir}/avahi-discover \
36 ${datadir}/applications/avahi-discover.desktop \
37 ${datadir}/avahi/interfaces/avahi-discover*"
38FILES_avahi-discover-standalone = "${bindir}/avahi-discover-standalone \
39 ${datadir}/avahi/interfaces/avahi-discover.glade"
40
41RDEPENDS_avahi-discover = "python-avahi python-pygtk"
42RDEPENDS_python-avahi = "python-core python-dbus"
43
44
45do_install_append () {
46 rm ${D}${sysconfdir} -rf
47 rm ${D}${base_libdir} -rf
48 rm ${D}${base_libdir} -rf
49 rm ${D}${bindir}/avahi-b*
50 rm ${D}${bindir}/avahi-p*
51 rm ${D}${bindir}/avahi-r*
52 rm ${D}${bindir}/avahi-s*
53 rm ${D}${includedir}/avahi-c* -rf
54 rm ${D}${includedir}/avahi-g* -rf
55 rm ${D}${libdir}/libavahi-c*
56 rm ${D}${libdir}/libavahi-g*
57 rm ${D}${libdir}/pkgconfig/avahi-c*
58 rm ${D}${libdir}/pkgconfig/avahi-g*
59 rm ${D}${sbindir} -rf
60 rm ${D}${datadir}/avahi/a*
61 rm ${D}${datadir}/avahi/s*
62 rm ${D}${datadir}/locale/ -rf
63 rm ${D}${datadir}/dbus* -rf
64 rm ${D}${mandir}/man1/a*
65 rm ${D}${mandir}/man5 -rf
66 rm ${D}${mandir}/man8 -rf
67 rmdir ${D}${localstatedir}
68}
69
diff --git a/meta/recipes-connectivity/avahi/avahi.inc b/meta/recipes-connectivity/avahi/avahi.inc
new file mode 100644
index 0000000..6f89441
--- /dev/null
+++ b/meta/recipes-connectivity/avahi/avahi.inc
@@ -0,0 +1,152 @@
1SUMMARY = "Avahi IPv4LL network address configuration daemon"
2DESCRIPTION = 'Avahi is a fully LGPL framework for Multicast DNS Service Discovery. It \
3allows programs to publish and discover services and hosts running on a local network \
4with no specific configuration. This tool implements IPv4LL, "Dynamic Configuration of \
5IPv4 Link-Local Addresses" (IETF RFC3927), a protocol for automatic IP address \
6configuration from the link-local 169.254.0.0/16 range without the need for a central \
7server.'
8AUTHOR = "Lennart Poettering <lennart@poettering.net>"
9HOMEPAGE = "http://avahi.org"
10BUGTRACKER = "http://avahi.org/report"
11SECTION = "network"
12
13# major part is under LGPLv2.1+, but several .dtd, .xsl, initscripts and
14# python scripts are under GPLv2+
15LICENSE = "GPLv2+ & LGPLv2.1+"
16
17INC_PR = "r11"
18
19DEPENDS = "expat libcap libdaemon dbus glib-2.0"
20
21SRC_URI = "http://avahi.org/download/avahi-${PV}.tar.gz \
22 file://00avahi-autoipd \
23 file://99avahi-autoipd \
24 file://initscript.patch \
25 file://avahi_fix_install_issue.patch \
26 file://fix_for_automake_1.12.x.patch \
27 file://out-of-tree.patch \
28 file://0001-avahi-fix-avahi-status-command-error-prompt.patch \
29 file://reuseport-check.patch \
30 "
31
32USERADD_PACKAGES = "avahi-daemon avahi-autoipd"
33USERADD_PARAM_avahi-daemon = "--system --home /var/run/avahi-daemon \
34 --no-create-home --shell /bin/false \
35 --user-group avahi"
36
37USERADD_PARAM_avahi-autoipd = "--system --home /var/run/avahi-autoipd \
38 --no-create-home --shell /bin/false \
39 --user-group \
40 -c \"Avahi autoip daemon\" \
41 avahi-autoipd"
42
43inherit autotools pkgconfig update-rc.d gettext useradd
44
45EXTRA_OECONF = "--disable-introspection \
46 --with-avahi-priv-access-group=adm \
47 --disable-stack-protector \
48 --disable-gdbm \
49 --disable-mono \
50 --disable-monodoc \
51 --disable-qt3 \
52 --disable-qt4 \
53 --disable-python \
54 --disable-doxygen-doc \
55 ${EXTRA_OECONF_SYSVINIT} \
56 ${EXTRA_OECONF_SYSTEMD} \
57 ${AVAHI_GTK} \
58 "
59
60# The distro choice determines what init scripts are installed
61EXTRA_OECONF_SYSVINIT = "${@base_contains('DISTRO_FEATURES','sysvinit','--with-distro=debian','--with-distro=none',d)}"
62EXTRA_OECONF_SYSTEMD = "${@base_contains('DISTRO_FEATURES','systemd','--with-systemdsystemunitdir=${systemd_unitdir}/system/','--without-systemdsystemunitdir',d)}"
63
64AVAHI_GTK ?= "--disable-gtk --disable-gtk3"
65
66LDFLAGS_append_libc-uclibc = " -lintl"
67LDFLAGS_append_uclinux-uclibc = " -lintl"
68
69do_configure_prepend() {
70 sed 's:AM_CHECK_PYMOD:echo "no pymod" #AM_CHECK_PYMOD:g' -i ${S}/configure.ac
71}
72
73
74PACKAGES =+ "avahi-daemon libavahi-common libavahi-core libavahi-client avahi-dnsconfd libavahi-glib libavahi-ui avahi-autoipd avahi-utils"
75
76FILES_avahi-autoipd = "${sbindir}/avahi-autoipd \
77 ${sysconfdir}/avahi/avahi-autoipd.action \
78 ${sysconfdir}/dhcp/*/avahi-autoipd \
79 ${sysconfdir}/udhcpc.d/00avahi-autoipd \
80 ${sysconfdir}/udhcpc.d/99avahi-autoipd"
81FILES_libavahi-common = "${libdir}/libavahi-common.so.*"
82FILES_libavahi-core = "${libdir}/libavahi-core.so.*"
83FILES_avahi-daemon = "${sbindir}/avahi-daemon \
84 ${sysconfdir}/avahi/avahi-daemon.conf \
85 ${sysconfdir}/avahi/hosts \
86 ${sysconfdir}/avahi/services \
87 ${sysconfdir}/dbus-1 \
88 ${sysconfdir}/init.d/avahi-daemon \
89 ${datadir}/avahi/introspection/*.introspect \
90 ${datadir}/avahi/avahi-service.dtd \
91 ${datadir}/avahi/service-types \
92 ${datadir}/dbus-1/system-services"
93FILES_libavahi-client = "${libdir}/libavahi-client.so.*"
94FILES_libavahi-ui = "${libdir}/libavahi-ui.so.*"
95FILES_avahi-dnsconfd = "${sbindir}/avahi-dnsconfd \
96 ${sysconfdir}/avahi/avahi-dnsconfd.action \
97 ${sysconfdir}/init.d/avahi-dnsconfd"
98FILES_libavahi-glib = "${libdir}/libavahi-glib.so.*"
99FILES_libavahi-gobject = "${libdir}/libavahi-gobject.so.*"
100FILES_avahi-utils = "${bindir}/avahi-*"
101
102# uclibc has no nss
103RRECOMMENDS_avahi-daemon_append_libc-glibc = " libnss-mdns"
104RRECOMMENDS_${PN}_append_libc-glibc = " libnss-mdns"
105
106RRECOMMENDS_avahi-dev = "expat-dev libcap-dev libdaemon-dev dbus-dev glib-2.0-dev update-rc.d-dev"
107RRECOMMENDS_avahi-dev_append_libc-glibc = " gettext-dev"
108
109RRECOMMENDS_avahi-dev[nodeprrecs] = "1"
110
111CONFFILES_avahi-daemon = "${sysconfdir}/avahi/avahi-daemon.conf"
112
113INITSCRIPT_PACKAGES = "avahi-daemon avahi-dnsconfd"
114INITSCRIPT_NAME_avahi-daemon = "avahi-daemon"
115INITSCRIPT_PARAMS_avahi-daemon = "defaults 21 19"
116INITSCRIPT_NAME_avahi-dnsconfd = "avahi-dnsconfd"
117INITSCRIPT_PARAMS_avahi-dnsconfd = "defaults 22 19"
118
119do_install() {
120 autotools_do_install
121
122 # don't install /var/run when populating rootfs. Do it through volatile
123 # /var/run of current version is empty, so just remove it.
124 # if /var/run become non-empty in the future, need to install it via volatile
125 rm -rf ${D}/var/run
126 rm -rf ${D}${datadir}/dbus-1/interfaces
127 rmdir --ignore-fail-on-non-empty ${D}${datadir}/dbus-1
128 rm -rf ${D}${libdir}/avahi
129
130 install -d ${D}${sysconfdir}/udhcpc.d
131 install ${WORKDIR}/00avahi-autoipd ${D}${sysconfdir}/udhcpc.d
132 install ${WORKDIR}/99avahi-autoipd ${D}${sysconfdir}/udhcpc.d
133}
134
135# At the time the postinst runs, dbus might not be setup so only restart if running
136# Don't exit early, because update-rc.d needs to run subsequently.
137
138pkg_postinst_avahi-daemon () {
139if [ -z "$D" ]; then
140 killall -q -HUP dbus-daemon || true
141fi
142}
143
144pkg_postrm_avahi-daemon () {
145 deluser avahi || true
146 delgroup avahi || true
147}
148
149pkg_postrm_avahi-autoipd () {
150 deluser avahi-autoipd || true
151 delgroup avahi-autoipd || true
152}
diff --git a/meta/recipes-connectivity/avahi/avahi_0.6.31.bb b/meta/recipes-connectivity/avahi/avahi_0.6.31.bb
new file mode 100644
index 0000000..5d796a2
--- /dev/null
+++ b/meta/recipes-connectivity/avahi/avahi_0.6.31.bb
@@ -0,0 +1,22 @@
1require avahi.inc
2
3inherit systemd
4
5SYSTEMD_PACKAGES = "${PN}-daemon ${PN}-dnsconfd"
6SYSTEMD_SERVICE_${PN}-daemon = "avahi-daemon.service"
7SYSTEMD_SERVICE_${PN}-dnsconfd = "avahi-dnsconfd.service"
8
9LIC_FILES_CHKSUM = "file://LICENSE;md5=2d5025d4aa3495befef8f17206a5b0a1 \
10 file://avahi-common/address.h;endline=25;md5=b1d1d2cda1c07eb848ea7d6215712d9d \
11 file://avahi-core/dns.h;endline=23;md5=6fe82590b81aa0ddea5095b548e2fdcb \
12 file://avahi-daemon/main.c;endline=21;md5=9ee77368c5407af77caaef1b07285969 \
13 file://avahi-client/client.h;endline=23;md5=f4ac741a25c4f434039ba3e18c8674cf"
14
15PR = "${INC_PR}.1"
16
17SRC_URI[md5sum] = "2f22745b8f7368ad5a0a3fddac343f2d"
18SRC_URI[sha256sum] = "8372719b24e2dd75de6f59bb1315e600db4fd092805bd1201ed0cb651a2dab48"
19
20DEPENDS += "intltool-native"
21
22PACKAGES =+ "libavahi-gobject"
diff --git a/meta/recipes-connectivity/avahi/files/0001-avahi-fix-avahi-status-command-error-prompt.patch b/meta/recipes-connectivity/avahi/files/0001-avahi-fix-avahi-status-command-error-prompt.patch
new file mode 100644
index 0000000..7590df7
--- /dev/null
+++ b/meta/recipes-connectivity/avahi/files/0001-avahi-fix-avahi-status-command-error-prompt.patch
@@ -0,0 +1,52 @@
1From f774ac25f436a782ccccc4dbe68378a684596799 Mon Sep 17 00:00:00 2001
2From: Lu Chong <Chong.Lu@windriver.com>
3Date: Thu, 7 Nov 2013 14:36:28 +0800
4Subject: [PATCH] avahi: fix avahi status command error prompt
5
6service --status-all command will display wrong status for avahi-daemon.
7This commit fix this error prompt and make service display right status
8for avahi-daemon.
9
10Upstream-Status: Pending
11
12Signed-off-by: Lu Chong <Chong.Lu@windriver.com>
13---
14 initscript/debian/avahi-daemon.in | 14 +++++++++++---
15 1 file changed, 11 insertions(+), 3 deletions(-)
16
17diff --git a/initscript/debian/avahi-daemon.in b/initscript/debian/avahi-daemon.in
18index 4793b46..49ec358 100755
19--- a/initscript/debian/avahi-daemon.in
20+++ b/initscript/debian/avahi-daemon.in
21@@ -153,7 +153,15 @@ d_reload() {
22 # Function that check the status of the daemon/service.
23 #
24 d_status() {
25- $DAEMON -c && echo "$DESC is running" || echo "$DESC is not running"
26+ $DAEMON -c
27+ status=$?
28+ if [ $status = 0 ]; then
29+ echo "$DESC is running"
30+ return 0
31+ else
32+ echo "$DESC is not running"
33+ return 3
34+ fi
35 }
36
37 case "$1" in
38@@ -182,9 +190,9 @@ case "$1" in
39 d_status
40 ;;
41 *)
42- echo "Usage: $SCRIPTNAME {start|stop|restart|force-reload|reload}" >&2
43+ echo "Usage: $SCRIPTNAME {start|stop|restart|force-reload|reload|status}" >&2
44 exit 1
45 ;;
46 esac
47
48-exit 0
49+exit $?
50--
511.7.9.5
52
diff --git a/meta/recipes-connectivity/avahi/files/00avahi-autoipd b/meta/recipes-connectivity/avahi/files/00avahi-autoipd
new file mode 100644
index 0000000..a0ab814
--- /dev/null
+++ b/meta/recipes-connectivity/avahi/files/00avahi-autoipd
@@ -0,0 +1,10 @@
1#!/bin/sh
2
3[ -z "$1" ] && echo "Error: should be called from udhcpc" && exit 1
4
5case "$1" in
6
7 deconfig|renew|bound)
8 /usr/sbin/avahi-autoipd -k $interface 2> /dev/null
9 ;;
10esac
diff --git a/meta/recipes-connectivity/avahi/files/99avahi-autoipd b/meta/recipes-connectivity/avahi/files/99avahi-autoipd
new file mode 100644
index 0000000..234cdaa
--- /dev/null
+++ b/meta/recipes-connectivity/avahi/files/99avahi-autoipd
@@ -0,0 +1,10 @@
1#!/bin/sh
2
3[ -z "$1" ] && echo "Error: should be called from udhcpc" && exit 1
4
5case "$1" in
6
7 leasefail)
8 /usr/sbin/avahi-autoipd -wD $interface 2> /dev/null
9 ;;
10esac
diff --git a/meta/recipes-connectivity/avahi/files/avahi_fix_install_issue.patch b/meta/recipes-connectivity/avahi/files/avahi_fix_install_issue.patch
new file mode 100644
index 0000000..32f20ec
--- /dev/null
+++ b/meta/recipes-connectivity/avahi/files/avahi_fix_install_issue.patch
@@ -0,0 +1,32 @@
1Upstream-Status: Pending
2
3Fixes this install issue
4#| /bin/sh: line 0: cd: /srv/home/nitin/builds/build-gcc47/tmp/work/i586-poky-linux/avahi-0.6.31-r3.0/image//usr/bin: No such file or directory
5
6Signed-Off-By: Nitin A Kamble <nitin.a.kamble@intel.com>
72012/05/03
8
9Index: avahi-0.6.31/avahi-utils/Makefile.am
10===================================================================
11--- avahi-0.6.31.orig/avahi-utils/Makefile.am
12+++ avahi-0.6.31/avahi-utils/Makefile.am
13@@ -54,6 +54,7 @@ avahi_set_host_name_CFLAGS = $(AM_CFLAGS
14 avahi_set_host_name_LDADD = $(AM_LDADD) ../avahi-client/libavahi-client.la ../avahi-common/libavahi-common.la
15
16 install-exec-local:
17+ $(MKDIR_P) $(DESTDIR)/$(bindir) && \
18 cd $(DESTDIR)/$(bindir) && \
19 rm -f avahi-resolve-host-name avahi-resolve-address avahi-browse-domains avahi-publish-address avahi-publish-service && \
20 $(LN_S) avahi-resolve avahi-resolve-host-name && \
21Index: avahi-0.6.31/avahi-utils/Makefile.in
22===================================================================
23--- avahi-0.6.31.orig/avahi-utils/Makefile.in
24+++ avahi-0.6.31/avahi-utils/Makefile.in
25@@ -906,6 +906,7 @@ uninstall-am: uninstall-binPROGRAMS
26
27
28 @HAVE_DBUS_TRUE@install-exec-local:
29+@HAVE_DBUS_TRUE@ $(MKDIR_P) $(DESTDIR)/$(bindir) && \
30 @HAVE_DBUS_TRUE@ cd $(DESTDIR)/$(bindir) && \
31 @HAVE_DBUS_TRUE@ rm -f avahi-resolve-host-name avahi-resolve-address avahi-browse-domains avahi-publish-address avahi-publish-service && \
32 @HAVE_DBUS_TRUE@ $(LN_S) avahi-resolve avahi-resolve-host-name && \
diff --git a/meta/recipes-connectivity/avahi/files/fix_for_automake_1.12.x.patch b/meta/recipes-connectivity/avahi/files/fix_for_automake_1.12.x.patch
new file mode 100644
index 0000000..0fc4c29
--- /dev/null
+++ b/meta/recipes-connectivity/avahi/files/fix_for_automake_1.12.x.patch
@@ -0,0 +1,34 @@
1Upstream-Status: Pending
2
3autoamke 1.12.x has depricated use of mkdir_p , and recommends use of MKDIR_P
4instead. Fixed the automake files accordingly to avoid warning-errors.
5Signed-Off-By: Nitin A Kamble <nitin.a.kamble@intel.com>
62012/07/09
7
8
9Index: avahi-0.6.31/avahi-daemon/Makefile.am
10===================================================================
11--- avahi-0.6.31.orig/avahi-daemon/Makefile.am
12+++ avahi-0.6.31/avahi-daemon/Makefile.am
13@@ -169,7 +169,7 @@ xmllint:
14 done
15
16 install-data-local:
17- test -z "$(localstatedir)/run" || $(mkdir_p) "$(DESTDIR)$(localstatedir)/run"
18+ test -z "$(localstatedir)/run" || $(MKDIR_P) "$(DESTDIR)$(localstatedir)/run"
19
20 update-systemd:
21 curl http://cgit.freedesktop.org/systemd/plain/src/sd-daemon.c > sd-daemon.c
22Index: avahi-0.6.31/avahi-autoipd/Makefile.am
23===================================================================
24--- avahi-0.6.31.orig/avahi-autoipd/Makefile.am
25+++ avahi-0.6.31/avahi-autoipd/Makefile.am
26@@ -76,7 +76,7 @@ dhcliententerdir = $(sysconfdir)/dhcp/dh
27 dhclientexitdir = $(sysconfdir)/dhcp/dhclient-exit-hooks.d
28
29 install-exec-hook: dhclient-exit-hook dhclient-enter-hook
30- $(mkdir_p) $(DESTDIR)$(dhcliententerdir) $(DESTDIR)$(dhclientexitdir)
31+ $(MKDIR_P) $(DESTDIR)$(dhcliententerdir) $(DESTDIR)$(dhclientexitdir)
32 $(INSTALL) dhclient-enter-hook $(DESTDIR)$(dhcliententerdir)/avahi-autoipd
33 $(INSTALL) dhclient-exit-hook $(DESTDIR)$(dhclientexitdir)/avahi-autoipd
34
diff --git a/meta/recipes-connectivity/avahi/files/initscript.patch b/meta/recipes-connectivity/avahi/files/initscript.patch
new file mode 100644
index 0000000..193889e
--- /dev/null
+++ b/meta/recipes-connectivity/avahi/files/initscript.patch
@@ -0,0 +1,41 @@
1Upstream-Status: Pending
2
3diff --git a/initscript/debian/avahi-daemon.in b/initscript/debian/avahi-daemon.in
4index 30a2c2f..b5848a8 100755
5--- a/initscript/debian/avahi-daemon.in
6+++ b/initscript/debian/avahi-daemon.in
7@@ -1,2 +1,14 @@
8 #!/bin/sh
9-
10+### BEGIN INIT INFO
11+# Provides: avahi
12+# Required-Start: $remote_fs dbus
13+# Required-Stop: $remote_fs dbus
14+# Should-Start: $syslog
15+# Should-Stop: $syslog
16+# Default-Start: 2 3 4 5
17+# Default-Stop: 0 1 6
18+# Short-Description: Avahi mDNS/DNS-SD Daemon
19+# Description: Zeroconf daemon for configuring your network
20+# automatically
21+### END INIT INFO
22+#
23diff --git a/initscript/debian/avahi-dnsconfd.in b/initscript/debian/avahi-dnsconfd.in
24index ac34804..f95c340 100755
25--- a/initscript/debian/avahi-dnsconfd.in
26+++ b/initscript/debian/avahi-dnsconfd.in
27@@ -1,1 +1,14 @@
28 #!/bin/sh
29+### BEGIN INIT INFO
30+# Provides: avahi-dnsconfd
31+# Required-Start: $remote_fs avahi
32+# Required-Stop: $remote_fs avahi
33+# Should-Start: $syslog
34+# Should-Stop: $syslog
35+# Default-Start: 2 3 4 5
36+# Default-Stop: 0 1 6
37+# Short-Description: Avahi mDNS/DNS-SD DNS configuration
38+# Description: Zeroconf daemon for configuring your network
39+# automatically
40+### END INIT INFO
41+#
diff --git a/meta/recipes-connectivity/avahi/files/out-of-tree.patch b/meta/recipes-connectivity/avahi/files/out-of-tree.patch
new file mode 100644
index 0000000..43476cd
--- /dev/null
+++ b/meta/recipes-connectivity/avahi/files/out-of-tree.patch
@@ -0,0 +1,32 @@
1Upstream-Status: Pending
2Signed-off-by: Ross Burton <ross.burton@intel.com>
3
4From a62dc95d75691ea4aefa86d8bbe54c62afd78ff6 Mon Sep 17 00:00:00 2001
5From: Ross Burton <ross.burton@intel.com>
6Date: Tue, 17 Sep 2013 12:27:36 +0100
7Subject: [PATCH] build-sys: fix out-of-tree builds without xmltoman
8
9If manpages are enabled but xmltoman isn't present, out-of-tree builds fail
10because it checks inside the build directory for the pre-generated manpages.
11
12Fix this by using $srcdir when looking for files inside the source directory.
13---
14 configure.ac | 2 +-
15 1 file changed, 1 insertion(+), 1 deletion(-)
16
17diff --git a/configure.ac b/configure.ac
18index 9debce2..047c7ae 100644
19--- a/configure.ac
20+++ b/configure.ac
21@@ -1021,7 +1021,7 @@ if test x$manpages = xyes ; then
22 fi
23
24 if test x$have_xmltoman = xno -o x$xmltoman = xno; then
25- if ! test -e man/avahi-daemon.8 ; then
26+ if ! test -e $srcdir/man/avahi-daemon.8 ; then
27 AC_MSG_ERROR([*** xmltoman was not found or was disabled, it is required to build the manpages as they have not been pre-built, install xmltoman, pass --disable-manpages or dont pass --disable-xmltoman])
28 exit 1
29 fi
30--
311.7.10.4
32
diff --git a/meta/recipes-connectivity/avahi/files/reuseport-check.patch b/meta/recipes-connectivity/avahi/files/reuseport-check.patch
new file mode 100644
index 0000000..bb81c2c
--- /dev/null
+++ b/meta/recipes-connectivity/avahi/files/reuseport-check.patch
@@ -0,0 +1,30 @@
1Fix avahi-daemon when running on kernel < 3.9 (patch taken from Ubuntu).
2
3Upstream-Status: Pending (unmaintained upstream)
4Signed-off-by: Ross Burton <ross.burton@intel.com>
5
6Description: SO_REUSEPORT may not exist in running kernel
7 When userspace defines SO_REUSEPORT we will attempt to enable socket
8 port number reuse. However if the running kernel does not support
9 this call it will fail preventing daemon startup. If this call is
10 present but fails ENOPROTOOPT then we know that actually the kernel
11 does not support it and we should continue as if we did not have the
12 call at all. (LP: #1228204)
13 .
14 This patch could be removed from the debian package after jessie release.
15Author: Andy Whitcroft <apw@canonical.com>
16
17Index: avahi-0.6.31/avahi-core/socket.c
18===================================================================
19--- avahi-0.6.31.orig/avahi-core/socket.c 2013-09-20 16:36:50.000000000 +0100
20+++ avahi-0.6.31/avahi-core/socket.c 2013-09-20 16:38:23.781863644 +0100
21@@ -177,7 +177,8 @@
22 yes = 1;
23 if (setsockopt(fd, SOL_SOCKET, SO_REUSEPORT, &yes, sizeof(yes)) < 0) {
24 avahi_log_warn("SO_REUSEPORT failed: %s", strerror(errno));
25- return -1;
26+ if (errno != ENOPROTOOPT)
27+ return -1;
28 }
29 #endif
30
diff --git a/meta/recipes-connectivity/bind/bind/bind-9.8.1-CVE-2012-5166.patch b/meta/recipes-connectivity/bind/bind/bind-9.8.1-CVE-2012-5166.patch
new file mode 100644
index 0000000..0abb475
--- /dev/null
+++ b/meta/recipes-connectivity/bind/bind/bind-9.8.1-CVE-2012-5166.patch
@@ -0,0 +1,119 @@
1bind_Fix_for_CVE-2012-5166
2
3Upstream-Status: Backport
4
5Reference:http://launchpadlibrarian.net/119212498/bind9_1%3A9.7.3.dfsOBg
6-1ubuntu2.6_1%3A9.7.3.dfsg-1ubuntu2.7.diff.gz
7
8ISC BIND 9.x before 9.7.6-P4, 9.8.x before 9.8.3-P4, 9.9.x before
99.9.1-P4, and 9.4-ESV and 9.6-ESV before 9.6-ESV-R7-P4 allows
10remote attackers to cause a denial of service (named daemon hang)
11via unspecified combinations of resource records.
12
13http://web.nvd.nist.gov/view/vuln/detail?vulnId=CVE-2012-5166
14
15Signed-off-by: yanjun.zhu <yanjun.zhu@windriver.com>
16diff -urpN a/bin/named/query.c b/bin/named/query.c
17--- a/bin/named/query.c 2012-10-22 13:24:27.000000000 +0800
18+++ b/bin/named/query.c 2012-10-22 13:17:04.000000000 +0800
19@@ -1137,13 +1137,6 @@ query_isduplicate(ns_client_t *client, d
20 mname = NULL;
21 }
22
23- /*
24- * If the dns_name_t we're looking up is already in the message,
25- * we don't want to trigger the caller's name replacement logic.
26- */
27- if (name == mname)
28- mname = NULL;
29-
30 *mnamep = mname;
31
32 CTRACE("query_isduplicate: false: done");
33@@ -1341,6 +1334,7 @@ query_addadditional(void *arg, dns_name_
34 if (dns_rdataset_isassociated(rdataset) &&
35 !query_isduplicate(client, fname, type, &mname)) {
36 if (mname != NULL) {
37+ INSIST(mname != fname);
38 query_releasename(client, &fname);
39 fname = mname;
40 } else
41@@ -1401,11 +1395,13 @@ query_addadditional(void *arg, dns_name_
42 mname = NULL;
43 if (!query_isduplicate(client, fname,
44 dns_rdatatype_a, &mname)) {
45- if (mname != NULL) {
46- query_releasename(client, &fname);
47- fname = mname;
48- } else
49- need_addname = ISC_TRUE;
50+ if (mname != fname) {
51+ if (mname != NULL) {
52+ query_releasename(client, &fname);
53+ fname = mname;
54+ } else
55+ need_addname = ISC_TRUE;
56+ }
57 ISC_LIST_APPEND(fname->list, rdataset, link);
58 added_something = ISC_TRUE;
59 if (sigrdataset != NULL &&
60@@ -1444,11 +1440,13 @@ query_addadditional(void *arg, dns_name_
61 mname = NULL;
62 if (!query_isduplicate(client, fname,
63 dns_rdatatype_aaaa, &mname)) {
64- if (mname != NULL) {
65- query_releasename(client, &fname);
66- fname = mname;
67- } else
68- need_addname = ISC_TRUE;
69+ if (mname != fname) {
70+ if (mname != NULL) {
71+ query_releasename(client, &fname);
72+ fname = mname;
73+ } else
74+ need_addname = ISC_TRUE;
75+ }
76 ISC_LIST_APPEND(fname->list, rdataset, link);
77 added_something = ISC_TRUE;
78 if (sigrdataset != NULL &&
79@@ -1960,22 +1958,24 @@ query_addadditional2(void *arg, dns_name
80 crdataset->type == dns_rdatatype_aaaa) {
81 if (!query_isduplicate(client, fname, crdataset->type,
82 &mname)) {
83- if (mname != NULL) {
84- /*
85- * A different type of this name is
86- * already stored in the additional
87- * section. We'll reuse the name.
88- * Note that this should happen at most
89- * once. Otherwise, fname->link could
90- * leak below.
91- */
92- INSIST(mname0 == NULL);
93-
94- query_releasename(client, &fname);
95- fname = mname;
96- mname0 = mname;
97- } else
98- need_addname = ISC_TRUE;
99+ if (mname != fname) {
100+ if (mname != NULL) {
101+ /*
102+ * A different type of this name is
103+ * already stored in the additional
104+ * section. We'll reuse the name.
105+ * Note that this should happen at most
106+ * once. Otherwise, fname->link could
107+ * leak below.
108+ */
109+ INSIST(mname0 == NULL);
110+
111+ query_releasename(client, &fname);
112+ fname = mname;
113+ mname0 = mname;
114+ } else
115+ need_addname = ISC_TRUE;
116+ }
117 ISC_LIST_UNLINK(cfname.list, crdataset, link);
118 ISC_LIST_APPEND(fname->list, crdataset, link);
119 added_something = ISC_TRUE;
diff --git a/meta/recipes-connectivity/bind/bind/bind-CVE-2011-4313.patch b/meta/recipes-connectivity/bind/bind/bind-CVE-2011-4313.patch
new file mode 100644
index 0000000..19d8df1
--- /dev/null
+++ b/meta/recipes-connectivity/bind/bind/bind-CVE-2011-4313.patch
@@ -0,0 +1,89 @@
1The patch to fix CVE-2011-4313
2
3Upstream-Status: Backport
4
5Reference: https://www.redhat.com/security/data/cve/CVE-2011-4313.html
6
7query.c in ISC BIND 9.0.x through 9.6.x, 9.4-ESV through 9.4-ESV-R5, 9.6-ESV
8through 9.6-ESV-R5, 9.7.0 through 9.7.4, 9.8.0 through 9.8.1, and 9.9.0a1
9through 9.9.0b1 allows remote attackers to cause a denial of service
10(assertion failure and named exit) via unknown vectors related to recursive DNS
11queries, error logging, and the caching of an invalid record by the resolver.
12
13Signed-off-by Ming Liu <ming.liu@windriver.com>
14---
15 bin/named/query.c | 19 ++++++++-----------
16 lib/dns/rbtdb.c | 4 ++--
17 2 files changed, 10 insertions(+), 13 deletions(-)
18
19--- a/bin/named/query.c
20+++ b/bin/named/query.c
21@@ -1393,11 +1393,9 @@ query_addadditional(void *arg, dns_name_
22 goto addname;
23 if (result == DNS_R_NCACHENXRRSET) {
24 dns_rdataset_disassociate(rdataset);
25- /*
26- * Negative cache entries don't have sigrdatasets.
27- */
28- INSIST(sigrdataset == NULL ||
29- ! dns_rdataset_isassociated(sigrdataset));
30+ if (sigrdataset != NULL &&
31+ dns_rdataset_isassociated(sigrdataset))
32+ dns_rdataset_disassociate(sigrdataset);
33 }
34 if (result == ISC_R_SUCCESS) {
35 mname = NULL;
36@@ -1438,8 +1436,9 @@ query_addadditional(void *arg, dns_name_
37 goto addname;
38 if (result == DNS_R_NCACHENXRRSET) {
39 dns_rdataset_disassociate(rdataset);
40- INSIST(sigrdataset == NULL ||
41- ! dns_rdataset_isassociated(sigrdataset));
42+ if (sigrdataset != NULL &&
43+ dns_rdataset_isassociated(sigrdataset))
44+ dns_rdataset_disassociate(sigrdataset);
45 }
46 if (result == ISC_R_SUCCESS) {
47 mname = NULL;
48@@ -1889,10 +1888,8 @@ query_addadditional2(void *arg, dns_name
49 goto setcache;
50 if (result == DNS_R_NCACHENXRRSET) {
51 dns_rdataset_disassociate(rdataset);
52- /*
53- * Negative cache entries don't have sigrdatasets.
54- */
55- INSIST(! dns_rdataset_isassociated(sigrdataset));
56+ if (dns_rdataset_isassociated(sigrdataset))
57+ dns_rdataset_disassociate(sigrdataset);
58 }
59 if (result == ISC_R_SUCCESS) {
60 /* Remember the result as a cache */
61--- a/lib/dns/rbtdb.c
62+++ b/lib/dns/rbtdb.c
63@@ -5053,7 +5053,7 @@ cache_find(dns_db_t *db, dns_name_t *nam
64 rdataset);
65 if (need_headerupdate(found, search.now))
66 update = found;
67- if (foundsig != NULL) {
68+ if (!NEGATIVE(found) && foundsig != NULL) {
69 bind_rdataset(search.rbtdb, node, foundsig, search.now,
70 sigrdataset);
71 if (need_headerupdate(foundsig, search.now))
72@@ -5596,7 +5596,7 @@ zone_findrdataset(dns_db_t *db, dns_dbno
73 }
74 if (found != NULL) {
75 bind_rdataset(rbtdb, rbtnode, found, now, rdataset);
76- if (foundsig != NULL)
77+ if (!NEGATIVE(found) && foundsig != NULL)
78 bind_rdataset(rbtdb, rbtnode, foundsig, now,
79 sigrdataset);
80 }
81@@ -5685,7 +5685,7 @@ cache_findrdataset(dns_db_t *db, dns_dbn
82 }
83 if (found != NULL) {
84 bind_rdataset(rbtdb, rbtnode, found, now, rdataset);
85- if (foundsig != NULL)
86+ if (!NEGATIVE(found) && foundsig != NULL)
87 bind_rdataset(rbtdb, rbtnode, foundsig, now,
88 sigrdataset);
89 }
diff --git a/meta/recipes-connectivity/bind/bind/bind-CVE-2012-1667.patch b/meta/recipes-connectivity/bind/bind/bind-CVE-2012-1667.patch
new file mode 100644
index 0000000..c441eab
--- /dev/null
+++ b/meta/recipes-connectivity/bind/bind/bind-CVE-2012-1667.patch
@@ -0,0 +1,92 @@
1bind CVE-2012-1667
2
3Upstream-Status: Backport
4
5ISC BIND 9.x before 9.7.6-P1, 9.8.x before 9.8.3-P1, 9.9.x before 9.9.1-P1,
6and 9.4-ESV and 9.6-ESV before 9.6-ESV-R7-P1 does not properly handle resource
7records with a zero-length RDATA section, which allows remote DNS servers to
8cause a denial of service (daemon crash or data corruption) or obtain
9sensitive information from process memory via a crafted record.
10
11http://web.nvd.nist.gov/view/vuln/detail?vulnId=CVE-2012-1667
12
13The cve patch comes from bind97-9.7.0-10.P2.el5_8.1.src.rpm package.
14
15Signed-off-by: Li Wang <li.wang@windriver.com>
16---
17 lib/dns/rdata.c | 8 ++++----
18 lib/dns/rdataslab.c | 11 ++++++++---
19 2 files changed, 12 insertions(+), 7 deletions(-)
20
21diff --git a/lib/dns/rdata.c b/lib/dns/rdata.c
22index 063b1f6..9337a80 100644
23--- a/lib/dns/rdata.c
24+++ b/lib/dns/rdata.c
25@@ -325,8 +325,8 @@ dns_rdata_compare(const dns_rdata_t *rdata1, const dns_rdata_t *rdata2) {
26
27 REQUIRE(rdata1 != NULL);
28 REQUIRE(rdata2 != NULL);
29- REQUIRE(rdata1->data != NULL);
30- REQUIRE(rdata2->data != NULL);
31+ REQUIRE(rdata1->length == 0 || rdata1->data != NULL);
32+ REQUIRE(rdata2->length == 0 || rdata2->data != NULL);
33 REQUIRE(DNS_RDATA_VALIDFLAGS(rdata1));
34 REQUIRE(DNS_RDATA_VALIDFLAGS(rdata2));
35
36@@ -356,8 +356,8 @@ dns_rdata_casecompare(const dns_rdata_t *rdata1, const dns_rdata_t *rdata2) {
37
38 REQUIRE(rdata1 != NULL);
39 REQUIRE(rdata2 != NULL);
40- REQUIRE(rdata1->data != NULL);
41- REQUIRE(rdata2->data != NULL);
42+ REQUIRE(rdata1->length == 0 || rdata1->data != NULL);
43+ REQUIRE(rdata2->length == 0 || rdata2->data != NULL);
44 REQUIRE(DNS_RDATA_VALIDFLAGS(rdata1));
45 REQUIRE(DNS_RDATA_VALIDFLAGS(rdata2));
46
47diff --git a/lib/dns/rdataslab.c b/lib/dns/rdataslab.c
48index a41f16f..ed13b30 100644
49--- a/lib/dns/rdataslab.c
50+++ b/lib/dns/rdataslab.c
51@@ -125,6 +125,11 @@ isc_result_t
52 dns_rdataslab_fromrdataset(dns_rdataset_t *rdataset, isc_mem_t *mctx,
53 isc_region_t *region, unsigned int reservelen)
54 {
55+ /*
56+ * Use &removed as a sentinal pointer for duplicate
57+ * rdata as rdata.data == NULL is valid.
58+ */
59+ static unsigned char removed;
60 struct xrdata *x;
61 unsigned char *rawbuf;
62 #if DNS_RDATASET_FIXED
63@@ -168,6 +173,7 @@ dns_rdataslab_fromrdataset(dns_rdataset_t *rdataset, isc_mem_t *mctx,
64 INSIST(result == ISC_R_SUCCESS);
65 dns_rdata_init(&x[i].rdata);
66 dns_rdataset_current(rdataset, &x[i].rdata);
67+ INSIST(x[i].rdata.data != &removed);
68 #if DNS_RDATASET_FIXED
69 x[i].order = i;
70 #endif
71@@ -200,8 +206,7 @@ dns_rdataslab_fromrdataset(dns_rdataset_t *rdataset, isc_mem_t *mctx,
72 */
73 for (i = 1; i < nalloc; i++) {
74 if (compare_rdata(&x[i-1].rdata, &x[i].rdata) == 0) {
75- x[i-1].rdata.data = NULL;
76- x[i-1].rdata.length = 0;
77+ x[i-1].rdata.data = &removed;
78 #if DNS_RDATASET_FIXED
79 /*
80 * Preserve the least order so A, B, A -> A, B
81@@ -291,7 +296,7 @@ dns_rdataslab_fromrdataset(dns_rdataset_t *rdataset, isc_mem_t *mctx,
82 #endif
83
84 for (i = 0; i < nalloc; i++) {
85- if (x[i].rdata.data == NULL)
86+ if (x[i].rdata.data == &removed)
87 continue;
88 #if DNS_RDATASET_FIXED
89 offsettable[x[i].order] = rawbuf - offsetbase;
90--
911.7.0.5
92
diff --git a/meta/recipes-connectivity/bind/bind/bind-CVE-2012-3817.patch b/meta/recipes-connectivity/bind/bind/bind-CVE-2012-3817.patch
new file mode 100644
index 0000000..1e159bd
--- /dev/null
+++ b/meta/recipes-connectivity/bind/bind/bind-CVE-2012-3817.patch
@@ -0,0 +1,40 @@
1bind: fix for CVE-2012-3817
2
3Upstream-Status: Backport
4
5ISC BIND 9.4.x, 9.5.x, 9.6.x, and 9.7.x before 9.7.6-P2; 9.8.x before 9.8.3-P2;
69.9.x before 9.9.1-P2; and 9.6-ESV before 9.6-ESV-R7-P2, when DNSSEC validation
7is enabled, does not properly initialize the failing-query cache, which allows
8remote attackers to cause a denial of service (assertion failure and daemon exit)
9by sending many queries.
10
11http://web.nvd.nist.gov/view/vuln/detail?vulnId=CVE-2012-3817
12
13This patch is back-ported from bind-9.3.6-20.P1.el5_8.2.src.rpm package.
14
15Signed-off-by: Ming Liu <ming.liu@windriver.com>
16---
17 resolver.c | 5 +++--
18 1 file changed, 3 insertions(+), 2 deletions(-)
19
20--- a/lib/dns/resolver.c
21+++ b/lib/dns/resolver.c
22@@ -8318,6 +8318,7 @@ dns_resolver_addbadcache(dns_resolver_t
23 goto cleanup;
24 bad->type = type;
25 bad->hashval = hashval;
26+ bad->expire = *expire;
27 isc_buffer_init(&buffer, bad + 1, name->length);
28 dns_name_init(&bad->name, NULL);
29 dns_name_copy(name, &bad->name, &buffer);
30@@ -8329,8 +8330,8 @@ dns_resolver_addbadcache(dns_resolver_t
31 if (resolver->badcount < resolver->badhash * 2 &&
32 resolver->badhash > DNS_BADCACHE_SIZE)
33 resizehash(resolver, &now, ISC_FALSE);
34- }
35- bad->expire = *expire;
36+ } else
37+ bad->expire = *expire;
38 cleanup:
39 UNLOCK(&resolver->lock);
40 }
diff --git a/meta/recipes-connectivity/bind/bind/bind-CVE-2013-2266.patch b/meta/recipes-connectivity/bind/bind/bind-CVE-2013-2266.patch
new file mode 100644
index 0000000..7ec6deb
--- /dev/null
+++ b/meta/recipes-connectivity/bind/bind/bind-CVE-2013-2266.patch
@@ -0,0 +1,41 @@
1bind: fix for CVE-2013-2266
2
3Upstream-Status: Backport
4
5libdns in ISC BIND 9.7.x and 9.8.x before 9.8.4-P2, 9.8.5 before 9.8.5b2,
69.9.x before 9.9.2-P2, and 9.9.3 before 9.9.3b2 on UNIX platforms allows
7remote attackers to cause a denial of service (memory consumption) via a
8crafted regular expression, as demonstrated by a memory-exhaustion attack
9against a machine running a named process.
10
11http://web.nvd.nist.gov/view/vuln/detail?vulnId=CVE-2013-2266
12
13Signed-off-by Ming Liu <ming.liu@windriver.com>
14---
15 config.h.in | 3 ---
16 configure.in | 2 +-
17 2 files changed, 1 insertion(+), 4 deletions(-)
18
19--- a/config.h.in
20+++ b/config.h.in
21@@ -277,9 +277,6 @@ int sigwait(const unsigned int *set, int
22 /* Define if your OpenSSL version supports GOST. */
23 #undef HAVE_OPENSSL_GOST
24
25-/* Define to 1 if you have the <regex.h> header file. */
26-#undef HAVE_REGEX_H
27-
28 /* Define to 1 if you have the `setegid' function. */
29 #undef HAVE_SETEGID
30
31--- a/configure.in
32+++ b/configure.in
33@@ -279,7 +279,7 @@ esac
34
35 AC_HEADER_STDC
36
37-AC_CHECK_HEADERS(fcntl.h regex.h sys/time.h unistd.h sys/sockio.h sys/select.h sys/param.h sys/sysctl.h net/if6.h,,,
38+AC_CHECK_HEADERS(fcntl.h sys/time.h unistd.h sys/sockio.h sys/select.h sys/param.h sys/sysctl.h net/if6.h,,,
39 [$ac_includes_default
40 #ifdef HAVE_SYS_PARAM_H
41 # include <sys/param.h>
diff --git a/meta/recipes-connectivity/bind/bind/bind-Fix-CVE-2012-4244.patch b/meta/recipes-connectivity/bind/bind/bind-Fix-CVE-2012-4244.patch
new file mode 100644
index 0000000..5dd6f69
--- /dev/null
+++ b/meta/recipes-connectivity/bind/bind/bind-Fix-CVE-2012-4244.patch
@@ -0,0 +1,141 @@
1bind_Fix_for_CVE-2012-4244
2
3Upstream-Status: Backport
4
5Reference:https://bugzilla.novell.com/attachment.cgi?id=505661&action=edit
6
7ISC BIND 9.x before 9.7.6-P3, 9.8.x before 9.8.3-P3, 9.9.x before 9.9.1-P3,
8 and 9.4-ESV and 9.6-ESV before 9.6-ESV-R7-P3 allows remote attackers to
9cause a denial of service (assertion failure and named daemon exit) via
10a query for a long resource record.
11
12Signed-off-by: yanjun.zhu <yanjun.zhu@windriver.com>
13
14diff -urpN a/lib/dns/include/dns/rdata.h b/lib/dns/include/dns/rdata.h
15--- a/lib/dns/include/dns/rdata.h 2012-10-08 12:19:42.000000000 +0800
16+++ b/lib/dns/include/dns/rdata.h 2012-10-08 11:26:43.000000000 +0800
17@@ -147,6 +147,17 @@ struct dns_rdata {
18 (((rdata)->flags & ~(DNS_RDATA_UPDATE|DNS_RDATA_OFFLINE)) == 0)
19
20 /*
21+ * The maximum length of a RDATA that can be sent on the wire.
22+ * Max packet size (65535) less header (12), less name (1), type (2),
23+ * class (2), ttl(4), length (2).
24+ *
25+ * None of the defined types that support name compression can exceed
26+ * this and all new types are to be sent uncompressed.
27+ */
28+
29+#define DNS_RDATA_MAXLENGTH 65512U
30+
31+/*
32 * Flags affecting rdata formatting style. Flags 0xFFFF0000
33 * are used by masterfile-level formatting and defined elsewhere.
34 * See additional comments at dns_rdata_tofmttext().
35diff -urpN a/lib/dns/master.c b/lib/dns/master.c
36--- a/lib/dns/master.c 2012-10-08 12:19:42.000000000 +0800
37+++ b/lib/dns/master.c 2012-10-08 11:27:06.000000000 +0800
38@@ -75,7 +75,7 @@
39 /*%
40 * max message size - header - root - type - class - ttl - rdlen
41 */
42-#define MINTSIZ (65535 - 12 - 1 - 2 - 2 - 4 - 2)
43+#define MINTSIZ DNS_RDATA_MAXLENGTH
44 /*%
45 * Size for tokens in the presentation format,
46 * The largest tokens are the base64 blocks in KEY and CERT records,
47diff -urpN a/lib/dns/rdata.c b/lib/dns/rdata.c
48--- a/lib/dns/rdata.c 2012-10-08 12:19:42.000000000 +0800
49+++ b/lib/dns/rdata.c 2012-10-08 11:27:27.000000000 +0800
50@@ -425,6 +425,7 @@ dns_rdata_fromwire(dns_rdata_t *rdata, d
51 isc_buffer_t st;
52 isc_boolean_t use_default = ISC_FALSE;
53 isc_uint32_t activelength;
54+ size_t length;
55
56 REQUIRE(dctx != NULL);
57 if (rdata != NULL) {
58@@ -455,6 +456,14 @@ dns_rdata_fromwire(dns_rdata_t *rdata, d
59 }
60
61 /*
62+ * Reject any rdata that expands out to more than DNS_RDATA_MAXLENGTH
63+ * as we cannot transmit it.
64+ */
65+ length = isc_buffer_usedlength(target) - isc_buffer_usedlength(&st);
66+ if (result == ISC_R_SUCCESS && length > DNS_RDATA_MAXLENGTH)
67+ result = DNS_R_FORMERR;
68+
69+ /*
70 * We should have consumed all of our buffer.
71 */
72 if (result == ISC_R_SUCCESS && !buffer_empty(source))
73@@ -462,8 +471,7 @@ dns_rdata_fromwire(dns_rdata_t *rdata, d
74
75 if (rdata != NULL && result == ISC_R_SUCCESS) {
76 region.base = isc_buffer_used(&st);
77- region.length = isc_buffer_usedlength(target) -
78- isc_buffer_usedlength(&st);
79+ region.length = length;
80 dns_rdata_fromregion(rdata, rdclass, type, &region);
81 }
82
83@@ -598,6 +606,7 @@ dns_rdata_fromtext(dns_rdata_t *rdata, d
84 unsigned long line;
85 void (*callback)(dns_rdatacallbacks_t *, const char *, ...);
86 isc_result_t tresult;
87+ size_t length;
88
89 REQUIRE(origin == NULL || dns_name_isabsolute(origin) == ISC_TRUE);
90 if (rdata != NULL) {
91@@ -670,10 +679,13 @@ dns_rdata_fromtext(dns_rdata_t *rdata, d
92 }
93 } while (1);
94
95+ length = isc_buffer_usedlength(target) - isc_buffer_usedlength(&st);
96+ if (result == ISC_R_SUCCESS && length > DNS_RDATA_MAXLENGTH)
97+ result = ISC_R_NOSPACE;
98+
99 if (rdata != NULL && result == ISC_R_SUCCESS) {
100 region.base = isc_buffer_used(&st);
101- region.length = isc_buffer_usedlength(target) -
102- isc_buffer_usedlength(&st);
103+ region.length = length;
104 dns_rdata_fromregion(rdata, rdclass, type, &region);
105 }
106 if (result != ISC_R_SUCCESS) {
107@@ -781,6 +793,7 @@ dns_rdata_fromstruct(dns_rdata_t *rdata,
108 isc_buffer_t st;
109 isc_region_t region;
110 isc_boolean_t use_default = ISC_FALSE;
111+ size_t length;
112
113 REQUIRE(source != NULL);
114 if (rdata != NULL) {
115@@ -795,10 +808,13 @@ dns_rdata_fromstruct(dns_rdata_t *rdata,
116 if (use_default)
117 (void)NULL;
118
119+ length = isc_buffer_usedlength(target) - isc_buffer_usedlength(&st);
120+ if (result == ISC_R_SUCCESS && length > DNS_RDATA_MAXLENGTH)
121+ result = ISC_R_NOSPACE;
122+
123 if (rdata != NULL && result == ISC_R_SUCCESS) {
124 region.base = isc_buffer_used(&st);
125- region.length = isc_buffer_usedlength(target) -
126- isc_buffer_usedlength(&st);
127+ region.length = length;
128 dns_rdata_fromregion(rdata, rdclass, type, &region);
129 }
130 if (result != ISC_R_SUCCESS)
131diff -urpN a/lib/dns/rdataslab.c b/lib/dns/rdataslab.c
132--- a/lib/dns/rdataslab.c 2012-10-08 12:19:42.000000000 +0800
133+++ b/lib/dns/rdataslab.c 2012-10-08 11:27:54.000000000 +0800
134@@ -304,6 +304,7 @@ dns_rdataslab_fromrdataset(dns_rdataset_
135 length = x[i].rdata.length;
136 if (rdataset->type == dns_rdatatype_rrsig)
137 length++;
138+ INSIST(length <= 0xffff);
139 *rawbuf++ = (length & 0xff00) >> 8;
140 *rawbuf++ = (length & 0x00ff);
141 #if DNS_RDATASET_FIXED
diff --git a/meta/recipes-connectivity/bind/bind/conf.patch b/meta/recipes-connectivity/bind/bind/conf.patch
new file mode 100644
index 0000000..2785c6a
--- /dev/null
+++ b/meta/recipes-connectivity/bind/bind/conf.patch
@@ -0,0 +1,314 @@
1Upstream-Status: Inappropriate [configuration]
2
3the patch is imported from openembedded project
4
511/30/2010 - Qing He <qing.he@intel.com>
6
7diff -urN bind-9.3.1.orig/conf/db.0 bind-9.3.1/conf/db.0
8--- bind-9.3.1.orig/conf/db.0 1970-01-01 01:00:00.000000000 +0100
9+++ bind-9.3.1/conf/db.0 2005-07-10 22:14:00.000000000 +0200
10@@ -0,0 +1,12 @@
11+;
12+; BIND reverse data file for broadcast zone
13+;
14+$TTL 604800
15+@ IN SOA localhost. root.localhost. (
16+ 1 ; Serial
17+ 604800 ; Refresh
18+ 86400 ; Retry
19+ 2419200 ; Expire
20+ 604800 ) ; Negative Cache TTL
21+;
22+@ IN NS localhost.
23diff -urN bind-9.3.1.orig/conf/db.127 bind-9.3.1/conf/db.127
24--- bind-9.3.1.orig/conf/db.127 1970-01-01 01:00:00.000000000 +0100
25+++ bind-9.3.1/conf/db.127 2005-07-10 22:14:00.000000000 +0200
26@@ -0,0 +1,13 @@
27+;
28+; BIND reverse data file for local loopback interface
29+;
30+$TTL 604800
31+@ IN SOA localhost. root.localhost. (
32+ 1 ; Serial
33+ 604800 ; Refresh
34+ 86400 ; Retry
35+ 2419200 ; Expire
36+ 604800 ) ; Negative Cache TTL
37+;
38+@ IN NS localhost.
39+1.0.0 IN PTR localhost.
40diff -urN bind-9.3.1.orig/conf/db.empty bind-9.3.1/conf/db.empty
41--- bind-9.3.1.orig/conf/db.empty 1970-01-01 01:00:00.000000000 +0100
42+++ bind-9.3.1/conf/db.empty 2005-07-10 22:14:00.000000000 +0200
43@@ -0,0 +1,14 @@
44+; BIND reverse data file for empty rfc1918 zone
45+;
46+; DO NOT EDIT THIS FILE - it is used for multiple zones.
47+; Instead, copy it, edit named.conf, and use that copy.
48+;
49+$TTL 86400
50+@ IN SOA localhost. root.localhost. (
51+ 1 ; Serial
52+ 604800 ; Refresh
53+ 86400 ; Retry
54+ 2419200 ; Expire
55+ 86400 ) ; Negative Cache TTL
56+;
57+@ IN NS localhost.
58diff -urN bind-9.3.1.orig/conf/db.local bind-9.3.1/conf/db.local
59--- bind-9.3.1.orig/conf/db.local 1970-01-01 01:00:00.000000000 +0100
60+++ bind-9.3.1/conf/db.local 2005-07-10 22:14:00.000000000 +0200
61@@ -0,0 +1,13 @@
62+;
63+; BIND data file for local loopback interface
64+;
65+$TTL 604800
66+@ IN SOA localhost. root.localhost. (
67+ 1 ; Serial
68+ 604800 ; Refresh
69+ 86400 ; Retry
70+ 2419200 ; Expire
71+ 604800 ) ; Negative Cache TTL
72+;
73+@ IN NS localhost.
74+@ IN A 127.0.0.1
75diff -urN bind-9.3.1.orig/conf/db.root bind-9.3.1/conf/db.root
76--- bind-9.3.1.orig/conf/db.root 1970-01-01 01:00:00.000000000 +0100
77+++ bind-9.3.1/conf/db.root 2005-07-10 22:14:00.000000000 +0200
78@@ -0,0 +1,45 @@
79+
80+; <<>> DiG 9.2.3 <<>> ns . @a.root-servers.net.
81+;; global options: printcmd
82+;; Got answer:
83+;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 18944
84+;; flags: qr aa rd; QUERY: 1, ANSWER: 13, AUTHORITY: 0, ADDITIONAL: 13
85+
86+;; QUESTION SECTION:
87+;. IN NS
88+
89+;; ANSWER SECTION:
90+. 518400 IN NS A.ROOT-SERVERS.NET.
91+. 518400 IN NS B.ROOT-SERVERS.NET.
92+. 518400 IN NS C.ROOT-SERVERS.NET.
93+. 518400 IN NS D.ROOT-SERVERS.NET.
94+. 518400 IN NS E.ROOT-SERVERS.NET.
95+. 518400 IN NS F.ROOT-SERVERS.NET.
96+. 518400 IN NS G.ROOT-SERVERS.NET.
97+. 518400 IN NS H.ROOT-SERVERS.NET.
98+. 518400 IN NS I.ROOT-SERVERS.NET.
99+. 518400 IN NS J.ROOT-SERVERS.NET.
100+. 518400 IN NS K.ROOT-SERVERS.NET.
101+. 518400 IN NS L.ROOT-SERVERS.NET.
102+. 518400 IN NS M.ROOT-SERVERS.NET.
103+
104+;; ADDITIONAL SECTION:
105+A.ROOT-SERVERS.NET. 3600000 IN A 198.41.0.4
106+B.ROOT-SERVERS.NET. 3600000 IN A 192.228.79.201
107+C.ROOT-SERVERS.NET. 3600000 IN A 192.33.4.12
108+D.ROOT-SERVERS.NET. 3600000 IN A 128.8.10.90
109+E.ROOT-SERVERS.NET. 3600000 IN A 192.203.230.10
110+F.ROOT-SERVERS.NET. 3600000 IN A 192.5.5.241
111+G.ROOT-SERVERS.NET. 3600000 IN A 192.112.36.4
112+H.ROOT-SERVERS.NET. 3600000 IN A 128.63.2.53
113+I.ROOT-SERVERS.NET. 3600000 IN A 192.36.148.17
114+J.ROOT-SERVERS.NET. 3600000 IN A 192.58.128.30
115+K.ROOT-SERVERS.NET. 3600000 IN A 193.0.14.129
116+L.ROOT-SERVERS.NET. 3600000 IN A 198.32.64.12
117+M.ROOT-SERVERS.NET. 3600000 IN A 202.12.27.33
118+
119+;; Query time: 81 msec
120+;; SERVER: 198.41.0.4#53(a.root-servers.net.)
121+;; WHEN: Sun Feb 1 11:27:14 2004
122+;; MSG SIZE rcvd: 436
123+
124diff -urN bind-9.3.1.orig/conf/named.conf bind-9.3.1/conf/named.conf
125--- bind-9.3.1.orig/conf/named.conf 1970-01-01 01:00:00.000000000 +0100
126+++ bind-9.3.1/conf/named.conf 2005-07-10 22:33:46.000000000 +0200
127@@ -0,0 +1,49 @@
128+// This is the primary configuration file for the BIND DNS server named.
129+//
130+// If you are just adding zones, please do that in /etc/bind/named.conf.local
131+
132+include "/etc/bind/named.conf.options";
133+
134+// prime the server with knowledge of the root servers
135+zone "." {
136+ type hint;
137+ file "/etc/bind/db.root";
138+};
139+
140+// be authoritative for the localhost forward and reverse zones, and for
141+// broadcast zones as per RFC 1912
142+
143+zone "localhost" {
144+ type master;
145+ file "/etc/bind/db.local";
146+};
147+
148+zone "127.in-addr.arpa" {
149+ type master;
150+ file "/etc/bind/db.127";
151+};
152+
153+zone "0.in-addr.arpa" {
154+ type master;
155+ file "/etc/bind/db.0";
156+};
157+
158+zone "255.in-addr.arpa" {
159+ type master;
160+ file "/etc/bind/db.255";
161+};
162+
163+// zone "com" { type delegation-only; };
164+// zone "net" { type delegation-only; };
165+
166+// From the release notes:
167+// Because many of our users are uncomfortable receiving undelegated answers
168+// from root or top level domains, other than a few for whom that behaviour
169+// has been trusted and expected for quite some length of time, we have now
170+// introduced the "root-delegations-only" feature which applies delegation-only
171+// logic to all top level domains, and to the root domain. An exception list
172+// should be specified, including "MUSEUM" and "DE", and any other top level
173+// domains from whom undelegated responses are expected and trusted.
174+// root-delegation-only exclude { "DE"; "MUSEUM"; };
175+
176+include "/etc/bind/named.conf.local";
177diff -urN bind-9.3.1.orig/conf/named.conf.local bind-9.3.1/conf/named.conf.local
178--- bind-9.3.1.orig/conf/named.conf.local 1970-01-01 01:00:00.000000000 +0100
179+++ bind-9.3.1/conf/named.conf.local 2005-07-10 22:14:06.000000000 +0200
180@@ -0,0 +1,8 @@
181+//
182+// Do any local configuration here
183+//
184+
185+// Consider adding the 1918 zones here, if they are not used in your
186+// organization
187+//include "/etc/bind/zones.rfc1918";
188+
189diff -urN bind-9.3.1.orig/conf/named.conf.options bind-9.3.1/conf/named.conf.options
190--- bind-9.3.1.orig/conf/named.conf.options 1970-01-01 01:00:00.000000000 +0100
191+++ bind-9.3.1/conf/named.conf.options 2005-07-10 22:14:06.000000000 +0200
192@@ -0,0 +1,24 @@
193+options {
194+ directory "/var/cache/bind";
195+
196+ // If there is a firewall between you and nameservers you want
197+ // to talk to, you might need to uncomment the query-source
198+ // directive below. Previous versions of BIND always asked
199+ // questions using port 53, but BIND 8.1 and later use an unprivileged
200+ // port by default.
201+
202+ // query-source address * port 53;
203+
204+ // If your ISP provided one or more IP addresses for stable
205+ // nameservers, you probably want to use them as forwarders.
206+ // Uncomment the following block, and insert the addresses replacing
207+ // the all-0's placeholder.
208+
209+ // forwarders {
210+ // 0.0.0.0;
211+ // };
212+
213+ auth-nxdomain no; # conform to RFC1035
214+
215+};
216+
217diff -urN bind-9.3.1.orig/conf/zones.rfc1918 bind-9.3.1/conf/zones.rfc1918
218--- bind-9.3.1.orig/conf/zones.rfc1918 1970-01-01 01:00:00.000000000 +0100
219+++ bind-9.3.1/conf/zones.rfc1918 2005-07-10 22:14:10.000000000 +0200
220@@ -0,0 +1,20 @@
221+zone "10.in-addr.arpa" { type master; file "/etc/bind/db.empty"; };
222+
223+zone "16.172.in-addr.arpa" { type master; file "/etc/bind/db.empty"; };
224+zone "17.172.in-addr.arpa" { type master; file "/etc/bind/db.empty"; };
225+zone "18.172.in-addr.arpa" { type master; file "/etc/bind/db.empty"; };
226+zone "19.172.in-addr.arpa" { type master; file "/etc/bind/db.empty"; };
227+zone "20.172.in-addr.arpa" { type master; file "/etc/bind/db.empty"; };
228+zone "21.172.in-addr.arpa" { type master; file "/etc/bind/db.empty"; };
229+zone "22.172.in-addr.arpa" { type master; file "/etc/bind/db.empty"; };
230+zone "23.172.in-addr.arpa" { type master; file "/etc/bind/db.empty"; };
231+zone "24.172.in-addr.arpa" { type master; file "/etc/bind/db.empty"; };
232+zone "25.172.in-addr.arpa" { type master; file "/etc/bind/db.empty"; };
233+zone "26.172.in-addr.arpa" { type master; file "/etc/bind/db.empty"; };
234+zone "27.172.in-addr.arpa" { type master; file "/etc/bind/db.empty"; };
235+zone "28.172.in-addr.arpa" { type master; file "/etc/bind/db.empty"; };
236+zone "29.172.in-addr.arpa" { type master; file "/etc/bind/db.empty"; };
237+zone "30.172.in-addr.arpa" { type master; file "/etc/bind/db.empty"; };
238+zone "31.172.in-addr.arpa" { type master; file "/etc/bind/db.empty"; };
239+
240+zone "168.192.in-addr.arpa" { type master; file "/etc/bind/db.empty"; };
241diff -urN bind-9.3.1.orig/init.d bind-9.3.1/init.d
242--- bind-9.3.1.orig/init.d 1970-01-01 01:00:00.000000000 +0100
243+++ bind-9.3.1/init.d 2005-07-10 23:09:58.000000000 +0200
244@@ -0,0 +1,70 @@
245+#!/bin/sh
246+
247+PATH=/sbin:/bin:/usr/sbin:/usr/bin
248+
249+# for a chrooted server: "-u bind -t /var/lib/named"
250+# Don't modify this line, change or create /etc/default/bind9.
251+OPTIONS=""
252+
253+test -f /etc/default/bind9 && . /etc/default/bind9
254+
255+test -x /usr/sbin/rndc || exit 0
256+
257+case "$1" in
258+ start)
259+ echo -n "Starting domain name service: named"
260+
261+ modprobe capability >/dev/null 2>&1 || true
262+ if [ ! -f /etc/bind/rndc.key ]; then
263+ /usr/sbin/rndc-confgen -a -b 512 -r /dev/urandom
264+ chown 0640 /etc/bind/rndc.key
265+ fi
266+ if [ -f /var/run/named/named.pid ]; then
267+ ps `cat /var/run/named/named.pid` > /dev/null && exit 1
268+ fi
269+
270+ # dirs under /var/run can go away on reboots.
271+ mkdir -p /var/run/named
272+ mkdir -p /var/cache/bind
273+ chmod 775 /var/run/named
274+ chown root:bind /var/run/named >/dev/null 2>&1 || true
275+
276+ if [ ! -x /usr/sbin/named ]; then
277+ echo "named binary missing - not starting"
278+ exit 1
279+ fi
280+ if start-stop-daemon --start --quiet --exec /usr/sbin/named \
281+ --pidfile /var/run/named/named.pid -- $OPTIONS; then
282+ if [ -x /sbin/resolvconf ] ; then
283+ echo "nameserver 127.0.0.1" | /sbin/resolvconf -a lo
284+ fi
285+ fi
286+ echo "."
287+ ;;
288+
289+ stop)
290+ echo -n "Stopping domain name service: named"
291+ if [ -x /sbin/resolvconf ]; then
292+ /sbin/resolvconf -d lo
293+ fi
294+ /usr/sbin/rndc stop >/dev/null 2>&1
295+ echo "."
296+ ;;
297+
298+ reload)
299+ /usr/sbin/rndc reload
300+ ;;
301+
302+ restart|force-reload)
303+ $0 stop
304+ sleep 2
305+ $0 start
306+ ;;
307+
308+ *)
309+ echo "Usage: /etc/init.d/bind {start|stop|reload|restart|force-reload}" >&2
310+ exit 1
311+ ;;
312+esac
313+
314+exit 0
diff --git a/meta/recipes-connectivity/bind/bind/cross-build-fix.patch b/meta/recipes-connectivity/bind/bind/cross-build-fix.patch
new file mode 100644
index 0000000..4c37b6b
--- /dev/null
+++ b/meta/recipes-connectivity/bind/bind/cross-build-fix.patch
@@ -0,0 +1,21 @@
1Upstream-Status: Inappropriate [configuration]
2
311/30/2010
4gen.c should be build by ${BUILD_CC}
5
6Signed-off-by: Qing He <qing.he@intel.com>
7
8diff --git a/lib/export/dns/Makefile.in b/lib/export/dns/Makefile.in
9index aeadf57..d3fae74 100644
10--- a/lib/export/dns/Makefile.in
11+++ b/lib/export/dns/Makefile.in
12@@ -166,7 +166,8 @@ code.h: gen
13 ./gen -s ${srcdir} > code.h
14
15 gen: ${srcdir}/gen.c
16- ${CC} ${ALL_CFLAGS} ${LDFLAGS} -o $@ ${srcdir}/gen.c ${LIBS}
17+ ${BUILD_CC} ${BUILD_CFLAGS} -I${top_srcdir}/lib/isc/include \
18+ ${BUILD_CPPFLAGS} ${BUILD_LDFLAGS} -o $@ ${srcdir}/gen.c ${BUILD_LIBS}
19
20 #We don't need rbtdb64 for this library
21 #rbtdb64.@O@: rbtdb.c
diff --git a/meta/recipes-connectivity/bind/bind/dont-test-on-host.patch b/meta/recipes-connectivity/bind/bind/dont-test-on-host.patch
new file mode 100644
index 0000000..8920740
--- /dev/null
+++ b/meta/recipes-connectivity/bind/bind/dont-test-on-host.patch
@@ -0,0 +1,13 @@
1Index: bind-9.9.5/bin/Makefile.in
2===================================================================
3--- bind-9.9.5.orig/bin/Makefile.in
4+++ bind-9.9.5/bin/Makefile.in
5@@ -19,7 +19,7 @@ srcdir = @srcdir@
6 VPATH = @srcdir@
7 top_srcdir = @top_srcdir@
8
9-SUBDIRS = named rndc dig dnssec tools tests nsupdate \
10+SUBDIRS = named rndc dig dnssec tools nsupdate \
11 check confgen @PYTHON_TOOLS@ @PKCS11_TOOLS@
12 TARGETS =
13
diff --git a/meta/recipes-connectivity/bind/bind/make-etc-initd-bind-stop-work.patch b/meta/recipes-connectivity/bind/bind/make-etc-initd-bind-stop-work.patch
new file mode 100644
index 0000000..146f3e3
--- /dev/null
+++ b/meta/recipes-connectivity/bind/bind/make-etc-initd-bind-stop-work.patch
@@ -0,0 +1,42 @@
1bind: make "/etc/init.d/bind stop" work
2
3Upstream-Status: Inappropriate [configuration]
4
5Add some configurations, make rndc command be able to controls
6the named daemon.
7
8Signed-off-by: Roy Li <rongqing.li@windriver.com>
9---
10 conf/named.conf | 5 +++++
11 conf/rndc.conf | 5 +++++
12 2 files changed, 10 insertions(+), 0 deletions(-)
13 create mode 100644 conf/rndc.conf
14
15diff --git a/conf/named.conf b/conf/named.conf
16index 95829cf..c8899e7 100644
17--- a/conf/named.conf
18+++ b/conf/named.conf
19@@ -47,3 +47,8 @@ zone "255.in-addr.arpa" {
20 // root-delegation-only exclude { "DE"; "MUSEUM"; };
21
22 include "/etc/bind/named.conf.local";
23+include "/etc/bind/rndc.key" ;
24+controls {
25+ inet 127.0.0.1 allow { localhost; }
26+ keys { rndc-key; };
27+};
28diff --git a/conf/rndc.conf b/conf/rndc.conf
29new file mode 100644
30index 0000000..a0b481d
31--- /dev/null
32+++ b/conf/rndc.conf
33@@ -0,0 +1,5 @@
34+include "/etc/bind/rndc.key";
35+options {
36+ default-server localhost;
37+ default-key rndc-key;
38+};
39
40--
411.7.5.4
42
diff --git a/meta/recipes-connectivity/bind/bind/mips1-not-support-opcode.diff b/meta/recipes-connectivity/bind/bind/mips1-not-support-opcode.diff
new file mode 100644
index 0000000..2930796
--- /dev/null
+++ b/meta/recipes-connectivity/bind/bind/mips1-not-support-opcode.diff
@@ -0,0 +1,104 @@
1bind: port a patch to fix a build failure
2
3mips1 does not support ll and sc instructions, and lead to below error, now
4we port a patch from debian to fix it
5[http://security.debian.org/debian-security/pool/updates/main/b/bind9/bind9_9.8.4.dfsg.P1-6+nmu2+deb7u1.diff.gz]
6
7| {standard input}: Assembler messages:
8| {standard input}:47: Error: Opcode not supported on this processor: mips1 (mips1) `ll $3,0($6)'
9| {standard input}:50: Error: Opcode not supported on this processor: mips1 (mips1) `sc $3,0($6)'
10
11Upstream-Status: Pending
12
13Signed-off-by: Roy Li <rongqing.li@windriver.com>
14
15--- bind9-9.8.4.dfsg.P1.orig/lib/isc/mips/include/isc/atomic.h
16+++ bind9-9.8.4.dfsg.P1/lib/isc/mips/include/isc/atomic.h
17@@ -31,18 +31,20 @@
18 isc_atomic_xadd(isc_int32_t *p, int val) {
19 isc_int32_t orig;
20
21- /* add is a cheat, since MIPS has no mov instruction */
22- __asm__ volatile (
23- "1:"
24- "ll $3, %1\n"
25- "add %0, $0, $3\n"
26- "add $3, $3, %2\n"
27- "sc $3, %1\n"
28- "beq $3, 0, 1b"
29- : "=&r"(orig)
30- : "m"(*p), "r"(val)
31- : "memory", "$3"
32- );
33+ __asm__ __volatile__ (
34+ " .set push \n"
35+ " .set mips2 \n"
36+ " .set noreorder \n"
37+ " .set noat \n"
38+ "1: ll $1, %1 \n"
39+ " addu %0, $1, %2 \n"
40+ " sc %0, %1 \n"
41+ " beqz %0, 1b \n"
42+ " move %0, $1 \n"
43+ " .set pop \n"
44+ : "=&r" (orig), "+R" (*p)
45+ : "r" (val)
46+ : "memory");
47
48 return (orig);
49 }
50@@ -52,16 +54,7 @@
51 */
52 static inline void
53 isc_atomic_store(isc_int32_t *p, isc_int32_t val) {
54- __asm__ volatile (
55- "1:"
56- "ll $3, %0\n"
57- "add $3, $0, %1\n"
58- "sc $3, %0\n"
59- "beq $3, 0, 1b"
60- :
61- : "m"(*p), "r"(val)
62- : "memory", "$3"
63- );
64+ *p = val;
65 }
66
67 /*
68@@ -72,20 +65,23 @@
69 static inline isc_int32_t
70 isc_atomic_cmpxchg(isc_int32_t *p, int cmpval, int val) {
71 isc_int32_t orig;
72+ isc_int32_t tmp;
73
74- __asm__ volatile(
75- "1:"
76- "ll $3, %1\n"
77- "add %0, $0, $3\n"
78- "bne $3, %2, 2f\n"
79- "add $3, $0, %3\n"
80- "sc $3, %1\n"
81- "beq $3, 0, 1b\n"
82- "2:"
83- : "=&r"(orig)
84- : "m"(*p), "r"(cmpval), "r"(val)
85- : "memory", "$3"
86- );
87+ __asm__ __volatile__ (
88+ " .set push \n"
89+ " .set mips2 \n"
90+ " .set noreorder \n"
91+ " .set noat \n"
92+ "1: ll $1, %1 \n"
93+ " bne $1, %3, 2f \n"
94+ " move %2, %4 \n"
95+ " sc %2, %1 \n"
96+ " beqz %2, 1b \n"
97+ "2: move %0, $1 \n"
98+ " .set pop \n"
99+ : "=&r"(orig), "+R" (*p), "=r" (tmp)
100+ : "r"(cmpval), "r"(val)
101+ : "memory");
102
103 return (orig);
104 }
diff --git a/meta/recipes-connectivity/bind/bind_9.9.5.bb b/meta/recipes-connectivity/bind/bind_9.9.5.bb
new file mode 100644
index 0000000..604deb6
--- /dev/null
+++ b/meta/recipes-connectivity/bind/bind_9.9.5.bb
@@ -0,0 +1,65 @@
1SUMMARY = "ISC Internet Domain Name Server"
2HOMEPAGE = "http://www.isc.org/sw/bind/"
3SECTION = "console/network"
4
5LICENSE = "ISC & BSD"
6LIC_FILES_CHKSUM = "file://COPYRIGHT;md5=a3df5f651469919a0e6cb42f84fb6ff1"
7
8DEPENDS = "openssl libcap"
9
10SRC_URI = "ftp://ftp.isc.org/isc/bind9/${PV}/${BPN}-${PV}.tar.gz \
11 file://conf.patch \
12 file://cross-build-fix.patch \
13 file://make-etc-initd-bind-stop-work.patch \
14 file://mips1-not-support-opcode.diff \
15 file://dont-test-on-host.patch \
16 "
17
18SRC_URI[md5sum] = "e676c65cad5234617ee22f48e328c24e"
19SRC_URI[sha256sum] = "d4b64c1dde442145a316679acff2df4008aa117ae52dfa3a6bc69efecc7840d1"
20
21# --enable-exportlib is necessary for building dhcp
22ENABLE_IPV6 = "--enable-ipv6=${@base_contains('DISTRO_FEATURES', 'ipv6', 'yes', 'no', d)}"
23EXTRA_OECONF = " ${ENABLE_IPV6} --with-randomdev=/dev/random --disable-threads \
24 --disable-devpoll --disable-epoll --with-gost=no \
25 --with-gssapi=no --with-ecdsa=yes \
26 --sysconfdir=${sysconfdir}/bind \
27 --with-openssl=${STAGING_LIBDIR}/.. --with-libxml2=${STAGING_LIBDIR}/.. \
28 --enable-exportlib --with-export-includedir=${includedir} --with-export-libdir=${libdir} \
29 "
30inherit autotools-brokensep update-rc.d
31
32INITSCRIPT_NAME = "bind"
33INITSCRIPT_PARAMS = "defaults"
34
35PARALLEL_MAKE = ""
36
37RDEPENDS_${PN} = "python-core"
38
39PACKAGES_prepend = " ${PN}-utils "
40FILES_${PN}-utils = "${bindir}/host ${bindir}/dig"
41FILES_${PN}-dev += "${bindir}/isc-config.h"
42
43do_install_append() {
44 rm "${D}${bindir}/nslookup"
45 rm "${D}${mandir}/man1/nslookup.1"
46 rmdir "${D}${localstatedir}/run"
47 rmdir --ignore-fail-on-non-empty "${D}${localstatedir}"
48 install -d "${D}${sysconfdir}/bind"
49 install -d "${D}${sysconfdir}/init.d"
50 install -m 644 ${S}/conf/* "${D}${sysconfdir}/bind/"
51 install -m 755 "${S}/init.d" "${D}${sysconfdir}/init.d/bind"
52 sed -i -e '1s,#!.*python,#! /usr/bin/env python,' ${D}${sbindir}/dnssec-coverage ${D}${sbindir}/dnssec-checkds
53}
54
55CONFFILES_${PN} = " \
56 ${sysconfdir}/bind/named.conf \
57 ${sysconfdir}/bind/named.conf.local \
58 ${sysconfdir}/bind/named.conf.options \
59 ${sysconfdir}/bind/db.0 \
60 ${sysconfdir}/bind/db.127 \
61 ${sysconfdir}/bind/db.empty \
62 ${sysconfdir}/bind/db.local \
63 ${sysconfdir}/bind/db.root \
64 "
65
diff --git a/meta/recipes-connectivity/bluez/bluez-hcidump-2.5/obsolete_automake_macros.patch b/meta/recipes-connectivity/bluez/bluez-hcidump-2.5/obsolete_automake_macros.patch
new file mode 100644
index 0000000..0c77f1a
--- /dev/null
+++ b/meta/recipes-connectivity/bluez/bluez-hcidump-2.5/obsolete_automake_macros.patch
@@ -0,0 +1,14 @@
1Upstream-Status: Pending [package obsolete/not maintained by upstream]
2
3Signed-off-by: Marko Lindqvist <cazfi74@gmail.com>
4diff -Nurd bluez-hcidump-2.5/configure.ac bluez-hcidump-2.5/configure.ac
5--- bluez-hcidump-2.5/configure.ac 2012-11-30 10:29:41.000000000 +0200
6+++ bluez-hcidump-2.5/configure.ac 2013-01-12 10:02:10.609511463 +0200
7@@ -2,7 +2,7 @@
8 AC_INIT(bluez-hcidump, 2.5)
9
10 AM_INIT_AUTOMAKE([foreign subdir-objects])
11-AM_CONFIG_HEADER(config.h)
12+AC_CONFIG_HEADERS(config.h)
13
14 m4_ifdef([AM_SILENT_RULES], [AM_SILENT_RULES([yes])])
diff --git a/meta/recipes-connectivity/bluez/bluez-hcidump_2.5.bb b/meta/recipes-connectivity/bluez/bluez-hcidump_2.5.bb
new file mode 100644
index 0000000..5c1f476
--- /dev/null
+++ b/meta/recipes-connectivity/bluez/bluez-hcidump_2.5.bb
@@ -0,0 +1,20 @@
1SUMMARY = "Linux Bluetooth Stack HCI Debugger Tool"
2DESCRIPTION = "The hcidump tool reads raw HCI data coming from and going to a Bluetooth device \
3and displays the commands, events and data in a human-readable form."
4
5SECTION = "console"
6DEPENDS = "bluez4"
7LICENSE = "GPLv2+"
8LIC_FILES_CHKSUM = "file://COPYING;md5=eb723b61539feef013de476e68b5c50a \
9 file://src/hcidump.c;beginline=1;endline=23;md5=3bee3a162dff43a5be7470710b99fbcf"
10PR = "r1"
11
12SRC_URI = "http://www.kernel.org/pub/linux/bluetooth/bluez-hcidump-${PV}.tar.gz \
13 file://obsolete_automake_macros.patch \
14"
15
16SRC_URI[md5sum] = "2eab54bbd2b59a2ed4274ebb9390cf18"
17SRC_URI[sha256sum] = "9b7c52b375081883738cf049ecabc103b97d094b19c6544fb241267905d88881"
18S = "${WORKDIR}/bluez-hcidump-${PV}"
19
20inherit autotools
diff --git a/meta/recipes-connectivity/bluez/bluez4-4.101/bluetooth.conf b/meta/recipes-connectivity/bluez/bluez4-4.101/bluetooth.conf
new file mode 100644
index 0000000..ca5e9e4
--- /dev/null
+++ b/meta/recipes-connectivity/bluez/bluez4-4.101/bluetooth.conf
@@ -0,0 +1,16 @@
1<!-- This configuration file specifies the required security policies
2 for Bluetooth core daemon to work. -->
3
4<!DOCTYPE busconfig PUBLIC "-//freedesktop//DTD D-BUS Bus Configuration 1.0//EN"
5 "http://www.freedesktop.org/standards/dbus/1.0/busconfig.dtd">
6<busconfig>
7
8 <!-- ../system.conf have denied everything, so we just punch some holes -->
9
10 <policy context="default">
11 <allow own="org.bluez"/>
12 <allow send_destination="org.bluez"/>
13 <allow send_interface="org.bluez.Agent"/>
14 </policy>
15
16</busconfig>
diff --git a/meta/recipes-connectivity/bluez/bluez4-4.101/fix-udev-paths.patch b/meta/recipes-connectivity/bluez/bluez4-4.101/fix-udev-paths.patch
new file mode 100644
index 0000000..8089914
--- /dev/null
+++ b/meta/recipes-connectivity/bluez/bluez4-4.101/fix-udev-paths.patch
@@ -0,0 +1,37 @@
1Add udevdir/udevrulesdir options
2
3Upstream-Status: Inappropriate [configuration]
4Signed-off-by: Constantin Musca <constantinx.musca@intel.com>
5
6Index: bluez-4.101/Makefile.am
7===================================================================
8--- bluez-4.101.orig/Makefile.am
9+++ bluez-4.101/Makefile.am
10@@ -395,7 +395,7 @@ EXTRA_DIST += audio/bluetooth.conf
11 include Makefile.tools
12
13 if DATAFILES
14-rulesdir = @UDEV_DIR@/rules.d
15+rulesdir = @UDEV_RULES_DIR@
16
17 udev_files =
18
19Index: bluez-4.101/configure.ac
20===================================================================
21--- bluez-4.101.orig/configure.ac
22+++ bluez-4.101/configure.ac
23@@ -61,4 +61,14 @@ if (test -n "${path_systemdunit}"); then
24 fi
25 AM_CONDITIONAL(SYSTEMD, test -n "${path_systemdunit}")
26
27+AC_ARG_WITH([udevdir],
28+ AS_HELP_STRING([--with-udevdir=DIR], [udev directory]),
29+ [], [with_udevdir=/lib/udev/])
30+AC_SUBST([UDEV_DIR], [$with_udevdir])
31+
32+AC_ARG_WITH([udevrulesdir],
33+ AS_HELP_STRING([--with-udevrulesdir=DIR], [udev rules directory]),
34+ [], [with_udevrulesdir=/lib/udev/rules.d])
35+AC_SUBST([UDEV_RULES_DIR], [$with_udevrulesdir])
36+
37 AC_OUTPUT(Makefile doc/version.xml src/bluetoothd.8 src/bluetooth.service bluez.pc)
diff --git a/meta/recipes-connectivity/bluez/bluez4-4.101/install-test-script.patch b/meta/recipes-connectivity/bluez/bluez4-4.101/install-test-script.patch
new file mode 100644
index 0000000..23f7d99
--- /dev/null
+++ b/meta/recipes-connectivity/bluez/bluez4-4.101/install-test-script.patch
@@ -0,0 +1,26 @@
1Upstream-Status: Inappropriate
2
3Install the bluez's test scripts
4
5Signed-off-by: Zhong Hongbo <hongbo.zhong@windriver.com>
6diff -Nurd bluez-4.101.orig/Makefile.tools bluez-4.101/Makefile.tools
7--- bluez-4.101.orig/Makefile.tools 2013-11-19 15:49:07.688838000 +0800
8+++ bluez-4.101/Makefile.tools 2013-11-19 15:50:09.256837848 +0800
9@@ -227,6 +227,17 @@
10 test/service-spp.xml test/service-opp.xml test/service-ftp.xml \
11 test/simple-player test/test-nap
12
13+bluez4_testdir = $(libdir)/bluez4/test/
14+dist_bluez4_test_SCRIPTS = test/sap-client test/hsplay test/hsmicro \
15+ test/monitor-bluetooth test/list-devices \
16+ test/test-discovery test/test-manager test/test-adapter \
17+ test/test-device test/test-service test/test-serial \
18+ test/test-telephony test/test-network test/simple-agent \
19+ test/simple-service test/simple-endpoint test/test-audio \
20+ test/test-input test/test-sap-server test/test-oob \
21+ test/test-attrib test/test-proximity test/test-thermometer \
22+ test/test-serial-proxy test/test-health test/test-health-sink \
23+ test/simple-player test/test-nap
24 if HIDD
25 bin_PROGRAMS += compat/hidd
26
diff --git a/meta/recipes-connectivity/bluez/bluez4-4.101/network-fix-network-Connect-method-parameters.patch b/meta/recipes-connectivity/bluez/bluez4-4.101/network-fix-network-Connect-method-parameters.patch
new file mode 100644
index 0000000..37f9199
--- /dev/null
+++ b/meta/recipes-connectivity/bluez/bluez4-4.101/network-fix-network-Connect-method-parameters.patch
@@ -0,0 +1,30 @@
1Upstream-Status: Backport
2Signed-off-by: Peter A. Bigot <pab@pabigot.com>
3
4From 57170b311f1468330f4a9961dc0b3ac45f97bc13 Mon Sep 17 00:00:00 2001
5From: Gustavo Padovan <gustavo.padovan@collabora.co.uk>
6Date: Sat, 30 Jun 2012 00:39:05 -0300
7Subject: [PATCH] network: fix network Connect() method parameters
8
9---
10 network/connection.c | 4 +++-
11 1 file changed, 3 insertions(+), 1 deletion(-)
12
13diff --git a/network/connection.c b/network/connection.c
14index 544ec3a..59423a9 100644
15--- a/network/connection.c
16+++ b/network/connection.c
17@@ -554,7 +554,9 @@ static void path_unregister(void *data)
18
19 static const GDBusMethodTable connection_methods[] = {
20 { GDBUS_ASYNC_METHOD("Connect",
21- NULL, NULL, connection_connect) },
22+ GDBUS_ARGS({"uuid", "s"}),
23+ GDBUS_ARGS({"interface", "s"}),
24+ connection_connect) },
25 { GDBUS_METHOD("Disconnect",
26 NULL, NULL, connection_disconnect) },
27 { GDBUS_METHOD("GetProperties",
28--
291.7.9.5
30
diff --git a/meta/recipes-connectivity/bluez/bluez4-4.101/obsolete_automake_macros.patch b/meta/recipes-connectivity/bluez/bluez4-4.101/obsolete_automake_macros.patch
new file mode 100644
index 0000000..1068f24
--- /dev/null
+++ b/meta/recipes-connectivity/bluez/bluez4-4.101/obsolete_automake_macros.patch
@@ -0,0 +1,14 @@
1Upstream-Status: Backport
2
3Signed-off-by: Marko Lindqvist <cazfi74@gmail.com>
4diff -Nurd bluez-4.101/configure.ac bluez-4.101/configure.ac
5--- bluez-4.101/configure.ac 2012-06-22 19:36:49.000000000 +0300
6+++ bluez-4.101/configure.ac 2013-01-07 06:13:18.385888966 +0200
7@@ -2,7 +2,7 @@
8 AC_INIT(bluez, 4.101)
9
10 AM_INIT_AUTOMAKE([foreign subdir-objects color-tests])
11-AM_CONFIG_HEADER(config.h)
12+AC_CONFIG_HEADERS(config.h)
13
14 m4_ifdef([AM_SILENT_RULES], [AM_SILENT_RULES([yes])])
diff --git a/meta/recipes-connectivity/bluez/bluez4-4.101/sbc_mmx.patch b/meta/recipes-connectivity/bluez/bluez4-4.101/sbc_mmx.patch
new file mode 100644
index 0000000..98fab45
--- /dev/null
+++ b/meta/recipes-connectivity/bluez/bluez4-4.101/sbc_mmx.patch
@@ -0,0 +1,24 @@
1on x86 and x86_64 gcc 4.7 complains
2
3sbc/sbc_primitives_mmx.c: In function 'sbc_calc_scalefactors_mmx':
4sbc/sbc_primitives_mmx.c:294:4: warning: asm operand 2 probably doesn't match constraints [enabled by default]
5sbc/sbc_primitives_mmx.c:294:4: error: impossible constraint in 'asm'
6
7This patch is taken from https://bugs.launchpad.net/ubuntu/+source/bluez/+bug/911871
8
9Signed-off-by: Khem Raj <raj.khem@gmail.com>
10
11Upstream-Status: Pending
12Index: bluez-4.98/sbc/sbc_primitives_mmx.c
13===================================================================
14--- bluez-4.98.orig/sbc/sbc_primitives_mmx.c 2011-12-21 14:53:54.000000000 -0800
15+++ bluez-4.98/sbc/sbc_primitives_mmx.c 2012-02-24 10:07:03.422073800 -0800
16@@ -318,7 +318,7 @@
17 "movl %k0, 4(%3)\n"
18 : "+r" (blk)
19 : "r" (&sb_sample_f[0][ch][sb]),
20- "i" ((char *) &sb_sample_f[1][0][0] -
21+ "r" ((char *) &sb_sample_f[1][0][0] -
22 (char *) &sb_sample_f[0][0][0]),
23 "r" (&scale_factor[ch][sb]),
24 "r" (&consts),
diff --git a/meta/recipes-connectivity/bluez/bluez4-4.101/use-legacy-pygobject-instead-ofgobject-introspection.patch b/meta/recipes-connectivity/bluez/bluez4-4.101/use-legacy-pygobject-instead-ofgobject-introspection.patch
new file mode 100644
index 0000000..37037f5
--- /dev/null
+++ b/meta/recipes-connectivity/bluez/bluez4-4.101/use-legacy-pygobject-instead-ofgobject-introspection.patch
@@ -0,0 +1,27 @@
1Upstream-Status: Inappropriate
2
3use legacy pygobject instead of gobject-introspection
4
5Signed-off-by: Zhong Hongbo <hongbo.zhong@windriver.com>
6---
7diff -Nurd bluez-4.101.orig/test/simple-agent bluez-4.101/test/simple-agent
8--- bluez-4.101.orig/test/simple-agent 2013-11-13 17:14:08.138118159 +0800
9+++ bluez-4.101/test/simple-agent 2013-11-13 17:14:29.034118107 +0800
10@@ -2,7 +2,7 @@
11
12 from __future__ import absolute_import, print_function, unicode_literals
13
14-from gi.repository import GObject
15+import gobject
16
17 import sys
18 import dbus
19@@ -122,7 +122,7 @@
20 path = "/test/agent"
21 agent = Agent(bus, path)
22
23- mainloop = GObject.MainLoop()
24+ mainloop = gobject.MainLoop()
25
26 if len(args) > 1:
27 if len(args) > 2:
diff --git a/meta/recipes-connectivity/bluez/bluez4.inc b/meta/recipes-connectivity/bluez/bluez4.inc
new file mode 100644
index 0000000..0827005
--- /dev/null
+++ b/meta/recipes-connectivity/bluez/bluez4.inc
@@ -0,0 +1,46 @@
1SUMMARY = "Linux Bluetooth Stack Userland V4"
2DESCRIPTION = "Linux Bluetooth stack V4 userland components. These include a system configurations, daemons, tools and system libraries."
3HOMEPAGE = "http://www.bluez.org"
4SECTION = "libs"
5LICENSE = "GPLv2+ & LGPLv2.1+"
6LIC_FILES_CHKSUM = "file://COPYING;md5=12f884d2ae1ff87c09e5b7ccc2c4ca7e \
7 file://COPYING.LIB;md5=fb504b67c50331fc78734fed90fb0e09 \
8 file://src/main.c;beginline=1;endline=24;md5=9bc54b93cd7e17bf03f52513f39f926e \
9 file://sbc/sbc.c;beginline=1;endline=25;md5=1a40781ed30d50d8639323a184aeb191"
10DEPENDS = "udev libusb dbus-glib glib-2.0 libcheck readline libsndfile1"
11RDEPENDS_${PN}-dev = "bluez-hcidump"
12
13PACKAGECONFIG ??= "\
14 ${@base_contains('DISTRO_FEATURES', 'alsa', 'alsa', '', d)}\
15 ${@base_contains('DISTRO_FEATURES', 'pie', 'pie', '', d)}\
16"
17PACKAGECONFIG[alsa] = "--enable-alsa,--disable-alsa,alsa-lib"
18PACKAGECONFIG[pie] = "--enable-pie,--disable-pie,"
19
20ASNEEDED = ""
21
22SRC_URI = "\
23 ${KERNELORG_MIRROR}/linux/bluetooth/bluez-${PV}.tar.gz \
24"
25S = "${WORKDIR}/bluez-${PV}"
26
27inherit autotools-brokensep
28
29EXTRA_OECONF = "\
30 --disable-gstreamer \
31 --enable-usb \
32 --enable-tools \
33 --enable-bccmd \
34 --enable-hid2hci \
35 --enable-dfutool \
36 --disable-hidd \
37 --disable-pand \
38 --disable-dund \
39 --disable-cups \
40 --enable-test \
41 --enable-datafiles \
42 --with-udevdir=`pkg-config --variable=udevdir udev` \
43 --with-udevrulesdir=`pkg-config --variable=udevdir udev`/rules.d \
44"
45
46EXCLUDE_FROM_WORLD = "1"
diff --git a/meta/recipes-connectivity/bluez/bluez4_4.101.bb b/meta/recipes-connectivity/bluez/bluez4_4.101.bb
new file mode 100644
index 0000000..ccd230d
--- /dev/null
+++ b/meta/recipes-connectivity/bluez/bluez4_4.101.bb
@@ -0,0 +1,46 @@
1require bluez4.inc
2
3PR = "r10"
4
5SRC_URI += "file://bluetooth.conf \
6 file://sbc_mmx.patch \
7 file://fix-udev-paths.patch \
8 file://obsolete_automake_macros.patch \
9 file://network-fix-network-Connect-method-parameters.patch \
10 file://install-test-script.patch \
11 file://use-legacy-pygobject-instead-ofgobject-introspection.patch \
12"
13
14SRC_URI[md5sum] = "fb42cb7038c380eb0e2fa208987c96ad"
15SRC_URI[sha256sum] = "59738410ade9f0e61a13c0f77d9aaffaafe49ba9418107e4ad75fe52846f7487"
16
17RCONFLICTS_${PN} = "bluez5"
18
19do_install_append() {
20 install -m 0644 ${S}/audio/audio.conf ${D}/${sysconfdir}/bluetooth/
21 install -m 0644 ${S}/network/network.conf ${D}/${sysconfdir}/bluetooth/
22 install -m 0644 ${S}/input/input.conf ${D}/${sysconfdir}/bluetooth/
23 # at_console doesn't really work with the current state of OE, so punch some more holes so people can actually use BT
24 install -m 0644 ${WORKDIR}/bluetooth.conf ${D}/${sysconfdir}/dbus-1/system.d/
25}
26
27RDEPENDS_${PN}-dev = "bluez-hcidump"
28RDEPENDS_${PN}-testtools += "python python-dbus python-pygobject"
29
30ALLOW_EMPTY_libasound-module-bluez = "1"
31PACKAGES =+ "libasound-module-bluez ${PN}-testtools"
32
33FILES_libasound-module-bluez = "${libdir}/alsa-lib/lib*.so ${datadir}/alsa"
34FILES_${PN} += "${libdir}/bluetooth/plugins ${libdir}/bluetooth/plugins/*.so ${base_libdir}/udev/ ${nonarch_base_libdir}/udev/ ${systemd_unitdir}/ ${datadir}/dbus-1"
35FILES_${PN}-dev += "\
36 ${libdir}/bluetooth/plugins/*.la \
37 ${libdir}/alsa-lib/*.la \
38"
39
40FILES_${PN}-testtools = "${libdir}/bluez4/test/*"
41
42FILES_${PN}-dbg += "\
43 ${libdir}/bluetooth/plugins/.debug \
44 ${libdir}/*/.debug \
45 */udev/.debug \
46 "
diff --git a/meta/recipes-connectivity/bluez/gst-plugin-bluetooth_4.101.bb b/meta/recipes-connectivity/bluez/gst-plugin-bluetooth_4.101.bb
new file mode 100644
index 0000000..f2dc0da
--- /dev/null
+++ b/meta/recipes-connectivity/bluez/gst-plugin-bluetooth_4.101.bb
@@ -0,0 +1,38 @@
1require bluez4.inc
2require recipes-multimedia/gstreamer/gst-plugins-package.inc
3
4PR = "r1"
5
6SRC_URI[md5sum] = "fb42cb7038c380eb0e2fa208987c96ad"
7SRC_URI[sha256sum] = "59738410ade9f0e61a13c0f77d9aaffaafe49ba9418107e4ad75fe52846f7487"
8
9DEPENDS = "bluez4 gst-plugins-base"
10
11EXTRA_OECONF = "\
12 --enable-gstreamer \
13"
14
15# clean unwanted files
16do_install_append() {
17 rm -rf ${D}${bindir}
18 rm -rf ${D}${sbindir}
19 rm -f ${D}${libdir}/lib*
20 rm -rf ${D}${libdir}/pkgconfig
21 rm -rf ${D}${sysconfdir}
22 rm -rf ${D}${base_libdir}
23 rm -rf ${D}${libdir}/bluetooth
24 rm -rf ${D}${localstatedir}
25 rm -rf ${D}${libdir}/alsa-lib
26 rm -rf ${D}${datadir}
27 rm -rf ${D}${includedir}
28}
29
30FILES_${PN} = "${libdir}/gstreamer-0.10/lib*.so"
31FILES_${PN}-dev += "\
32 ${libdir}/gstreamer-0.10/*.la \
33"
34
35FILES_${PN}-dbg += "\
36 ${libdir}/*/.debug \
37"
38
diff --git a/meta/recipes-connectivity/bluez5/bluez5.inc b/meta/recipes-connectivity/bluez5/bluez5.inc
new file mode 100644
index 0000000..2b832ef
--- /dev/null
+++ b/meta/recipes-connectivity/bluez5/bluez5.inc
@@ -0,0 +1,77 @@
1SUMMARY = "Linux Bluetooth Stack Userland V5"
2DESCRIPTION = "Linux Bluetooth stack V5 userland components. These include a system configurations, daemons, tools and system libraries."
3HOMEPAGE = "http://www.bluez.org"
4SECTION = "libs"
5LICENSE = "GPLv2+ & LGPLv2.1+"
6LIC_FILES_CHKSUM = "file://COPYING;md5=12f884d2ae1ff87c09e5b7ccc2c4ca7e \
7 file://COPYING.LIB;md5=fb504b67c50331fc78734fed90fb0e09 \
8 file://src/main.c;beginline=1;endline=24;md5=9bc54b93cd7e17bf03f52513f39f926e"
9DEPENDS = "udev libusb dbus-glib glib-2.0 libcheck readline"
10
11RCONFLICTS_${PN} = "bluez4"
12
13PACKAGECONFIG ??= "${@base_contains('DISTRO_FEATURES', 'alsa', 'alsa', '', d)} obex-profiles"
14PACKAGECONFIG[obex-profiles] = "--enable-obex,--disable-obex,libical"
15
16SRC_URI = "\
17 ${KERNELORG_MIRROR}/linux/bluetooth/bluez-${PV}.tar.xz \
18 file://bluetooth.conf \
19"
20S = "${WORKDIR}/bluez-${PV}"
21
22inherit autotools-brokensep pkgconfig systemd
23
24EXTRA_OECONF = "\
25 --enable-tools \
26 --disable-cups \
27 --enable-test \
28 --enable-datafiles \
29 ${@base_contains('DISTRO_FEATURES', 'systemd', '--with-systemdunitdir=${systemd_unitdir}/system/', '--disable-systemd', d)} \
30 --enable-library \
31"
32
33do_install_append() {
34 install -d ${D}${sysconfdir}/bluetooth/
35 if [ -f ${S}/profiles/audio/audio.conf ]; then
36 install -m 0644 ${S}/profiles/audio/audio.conf ${D}/${sysconfdir}/bluetooth/
37 fi
38 if [ -f ${S}/profiles/network/network.conf ]; then
39 install -m 0644 ${S}/profiles/network/network.conf ${D}/${sysconfdir}/bluetooth/
40 fi
41 if [ -f ${S}/profiles/input/input.conf ]; then
42 install -m 0644 ${S}/profiles/input/input.conf ${D}/${sysconfdir}/bluetooth/
43 fi
44 # at_console doesn't really work with the current state of OE, so punch some more holes so people can actually use BT
45 install -m 0644 ${WORKDIR}/bluetooth.conf ${D}/${sysconfdir}/dbus-1/system.d/
46}
47
48ALLOW_EMPTY_libasound-module-bluez = "1"
49PACKAGES =+ "libasound-module-bluez ${PN}-testtools ${PN}-obex"
50
51FILES_libasound-module-bluez = "${libdir}/alsa-lib/lib*.so ${datadir}/alsa"
52FILES_${PN} += "${libdir}/bluetooth/plugins ${libdir}/bluetooth/plugins/*.so ${base_libdir}/udev/ ${nonarch_base_libdir}/udev/ ${systemd_unitdir}/ ${datadir}/dbus-1"
53FILES_${PN}-dev += "\
54 ${libdir}/bluetooth/plugins/*.la \
55 ${libdir}/alsa-lib/*.la \
56"
57
58FILES_${PN}-obex = "${libdir}/bluez5/bluetooth/obexd \
59 ${libdir}/systemd/user/obex.service \
60 ${datadir}/dbus-1/services/org.bluez.obex.service \
61 "
62SYSTEMD_SERVICE_${PN}-obex = "obex.service"
63
64FILES_${PN}-testtools = "${libdir}/bluez/test/*"
65
66FILES_${PN}-dbg += "\
67 ${libdir}/${BPN}/bluetooth/.debug \
68 ${libdir}/bluetooth/plugins/.debug \
69 ${libdir}/*/.debug \
70 */udev/.debug \
71 "
72
73RDEPENDS_${PN}-testtools += "python python-dbus python-pygobject"
74
75SYSTEMD_SERVICE_${PN} = "bluetooth.service"
76
77EXCLUDE_FROM_WORLD = "1"
diff --git a/meta/recipes-connectivity/bluez5/bluez5/bluetooth.conf b/meta/recipes-connectivity/bluez5/bluez5/bluetooth.conf
new file mode 100644
index 0000000..ca5e9e4
--- /dev/null
+++ b/meta/recipes-connectivity/bluez5/bluez5/bluetooth.conf
@@ -0,0 +1,16 @@
1<!-- This configuration file specifies the required security policies
2 for Bluetooth core daemon to work. -->
3
4<!DOCTYPE busconfig PUBLIC "-//freedesktop//DTD D-BUS Bus Configuration 1.0//EN"
5 "http://www.freedesktop.org/standards/dbus/1.0/busconfig.dtd">
6<busconfig>
7
8 <!-- ../system.conf have denied everything, so we just punch some holes -->
9
10 <policy context="default">
11 <allow own="org.bluez"/>
12 <allow send_destination="org.bluez"/>
13 <allow send_interface="org.bluez.Agent"/>
14 </policy>
15
16</busconfig>
diff --git a/meta/recipes-connectivity/bluez5/bluez5_5.15.bb b/meta/recipes-connectivity/bluez5/bluez5_5.15.bb
new file mode 100644
index 0000000..85735f0
--- /dev/null
+++ b/meta/recipes-connectivity/bluez5/bluez5_5.15.bb
@@ -0,0 +1,4 @@
1require bluez5.inc
2SRC_URI[md5sum] = "92e29e51b361aab78cca30ef0cf8812e"
3SRC_URI[sha256sum] = "487bd75697e565793bf5bc4fbd5fa6a602788313b0c694f7542b81689fc0aa87"
4
diff --git a/meta/recipes-connectivity/connman/connman-conf.bb b/meta/recipes-connectivity/connman/connman-conf.bb
new file mode 100644
index 0000000..af72640
--- /dev/null
+++ b/meta/recipes-connectivity/connman/connman-conf.bb
@@ -0,0 +1,24 @@
1SUMMARY = "Connman config to setup wired interface on qemu machines"
2DESCRIPTION = "This is the ConnMan configuration to set up a Wired \
3network interface for a qemu machine."
4LICENSE = "GPLv2"
5LIC_FILES_CHKSUM = "file://${COREBASE}/meta/files/common-licenses/GPL-2.0;md5=801f80980d171dd6425610833a22dbe6"
6
7SRC_URI_append_qemuall = "file://wired.config \
8 file://wired-setup \
9 "
10PR = "r2"
11
12PACKAGE_ARCH = "${MACHINE_ARCH}"
13
14FILES_${PN} = "${localstatedir}/* ${libdir}/*"
15
16do_install() {
17 #Configure Wired network interface in case of qemu* machines
18 if test -e ${WORKDIR}/wired.config && test -e ${WORKDIR}/wired-setup; then
19 install -d ${D}${localstatedir}/lib/connman
20 install -m 0644 ${WORKDIR}/wired.config ${D}${localstatedir}/lib/connman
21 install -d ${D}${libdir}/connman
22 install -m 0755 ${WORKDIR}/wired-setup ${D}${libdir}/connman
23 fi
24}
diff --git a/meta/recipes-connectivity/connman/connman-conf/qemuall/wired-setup b/meta/recipes-connectivity/connman/connman-conf/qemuall/wired-setup
new file mode 100644
index 0000000..c46899e
--- /dev/null
+++ b/meta/recipes-connectivity/connman/connman-conf/qemuall/wired-setup
@@ -0,0 +1,16 @@
1#!/bin/sh
2
3CONFIGF=/var/lib/connman/wired.config
4
5# Extract wired network config from /proc/cmdline
6NET_CONF=`cat /proc/cmdline |sed -ne 's/^.*ip=\([^ ]*\):\([^ ]*\):\([^ ]*\):\([^ ]*\).*$/\1\/\4\/\3/p'`
7
8# Check if eth0 is already set via kernel cmdline
9if [ "x$NET_CONF" = "x" ]; then
10 # Wired interface is not configured via kernel cmdline
11 # Remove connman config file template
12 rm -f ${CONFIGF}
13else
14 # Setup a connman config accordingly
15 sed -i -e "s|^IPv4 =.*|IPv4 = ${NET_CONF}|" ${CONFIGF}
16fi
diff --git a/meta/recipes-connectivity/connman/connman-conf/qemuall/wired.config b/meta/recipes-connectivity/connman/connman-conf/qemuall/wired.config
new file mode 100644
index 0000000..42998ce
--- /dev/null
+++ b/meta/recipes-connectivity/connman/connman-conf/qemuall/wired.config
@@ -0,0 +1,9 @@
1[global]
2Name = Wired
3Description = Wired network configuration
4
5[service_ethernet]
6Type = ethernet
7IPv4 =
8MAC = 52:54:00:12:34:56
9Nameservers = 8.8.8.8
diff --git a/meta/recipes-connectivity/connman/connman-gnome/0001-Removed-icon-from-connman-gnome-about-applet.patch b/meta/recipes-connectivity/connman/connman-gnome/0001-Removed-icon-from-connman-gnome-about-applet.patch
new file mode 100644
index 0000000..4f36b95
--- /dev/null
+++ b/meta/recipes-connectivity/connman/connman-gnome/0001-Removed-icon-from-connman-gnome-about-applet.patch
@@ -0,0 +1,35 @@
1From 5907a23ad2f49702960a33f9e2039552673eabc7 Mon Sep 17 00:00:00 2001
2From: Andrei Dinu <andrei.adrianx.dinu@intel.com>
3Date: Mon, 17 Dec 2012 14:01:18 +0200
4Subject: [PATCH] Removed icon from connman-gnome "about" applet
5
6The connman-gnome "about" applet showed a picture that
7can not be displayed. There is no designated picture
8in connman-gnome to be used in the about section, so
9it was removed.
10
11[OE-Core #2509]
12
13Upstream-Status : Pending
14
15Signed-off-by: Andrei Dinu <andrei.adrianx.dinu@intel.com>
16---
17 applet/main.c | 2 +-
18 1 file changed, 1 insertion(+), 1 deletion(-)
19
20diff --git a/applet/main.c b/applet/main.c
21index f12d371..c7b3c7f 100644
22--- a/applet/main.c
23+++ b/applet/main.c
24@@ -212,7 +212,7 @@ static void about_callback(GtkWidget *item, gpointer user_data)
25 "comments", _("A connection manager for the GNOME desktop"),
26 "authors", authors,
27 "translator-credits", _("translator-credits"),
28- "logo-icon-name", "network-wireless", NULL);
29+ NULL);
30 }
31
32 static void settings_callback(GtkWidget *item, gpointer user_data)
33--
341.7.9.5
35
diff --git a/meta/recipes-connectivity/connman/connman-gnome/images/connman-signal-01.png b/meta/recipes-connectivity/connman/connman-gnome/images/connman-signal-01.png
new file mode 100644
index 0000000..33247c1
--- /dev/null
+++ b/meta/recipes-connectivity/connman/connman-gnome/images/connman-signal-01.png
Binary files differ
diff --git a/meta/recipes-connectivity/connman/connman-gnome/images/connman-signal-02.png b/meta/recipes-connectivity/connman/connman-gnome/images/connman-signal-02.png
new file mode 100644
index 0000000..a94fb95
--- /dev/null
+++ b/meta/recipes-connectivity/connman/connman-gnome/images/connman-signal-02.png
Binary files differ
diff --git a/meta/recipes-connectivity/connman/connman-gnome/images/connman-signal-03.png b/meta/recipes-connectivity/connman/connman-gnome/images/connman-signal-03.png
new file mode 100644
index 0000000..b5eb405
--- /dev/null
+++ b/meta/recipes-connectivity/connman/connman-gnome/images/connman-signal-03.png
Binary files differ
diff --git a/meta/recipes-connectivity/connman/connman-gnome/images/connman-signal-04.png b/meta/recipes-connectivity/connman/connman-gnome/images/connman-signal-04.png
new file mode 100644
index 0000000..be54419
--- /dev/null
+++ b/meta/recipes-connectivity/connman/connman-gnome/images/connman-signal-04.png
Binary files differ
diff --git a/meta/recipes-connectivity/connman/connman-gnome/images/connman-signal-05.png b/meta/recipes-connectivity/connman/connman-gnome/images/connman-signal-05.png
new file mode 100644
index 0000000..1c40ac9
--- /dev/null
+++ b/meta/recipes-connectivity/connman/connman-gnome/images/connman-signal-05.png
Binary files differ
diff --git a/meta/recipes-connectivity/connman/connman-gnome/null_check_for_ipv4_config.patch b/meta/recipes-connectivity/connman/connman-gnome/null_check_for_ipv4_config.patch
new file mode 100644
index 0000000..0421cda
--- /dev/null
+++ b/meta/recipes-connectivity/connman/connman-gnome/null_check_for_ipv4_config.patch
@@ -0,0 +1,36 @@
1In networks that don't have a DHCP server configured, ipv4 address
2allocation fails and the ipv4 structure doesn't get populated. When
3the GUI is trying to read the ipv4_config.method field to see whether
4it contains "dhcp" string, a segmentation fault is generated.
5
6Ethernet manual configuration behavior remains unchanged after this fix.
7
8Upstream-Status: Pending
9
10Signed-off-by: Emilia Ciobanu <emilia.maria.silvia.ciobanu@intel.com>
11Index: git/properties/ethernet.c
12===================================================================
13--- git.orig/properties/ethernet.c
14+++ git/properties/ethernet.c
15@@ -194,7 +194,7 @@ void add_ethernet_service(GtkWidget *mai
16
17 data->button = button;
18
19- if (g_str_equal(ipv4_config.method, "dhcp") == TRUE)
20+ if (!ipv4_config.method || g_str_equal(ipv4_config.method, "dhcp") == TRUE)
21 update_ethernet_ipv4(data, CONNMAN_POLICY_DHCP);
22 else
23 update_ethernet_ipv4(data, CONNMAN_POLICY_MANUAL);
24Index: git/properties/wifi.c
25===================================================================
26--- git.orig/properties/wifi.c
27+++ git/properties/wifi.c
28@@ -230,7 +230,7 @@ static void wifi_ipconfig(GtkWidget *tab
29
30 data->ipv4_config = ipv4_config;
31
32- if (g_str_equal(ipv4_config.method, "dhcp") == TRUE)
33+ if (!ipv4_config.method || g_str_equal(ipv4_config.method, "dhcp") == TRUE)
34 update_wifi_ipv4(data, CONNMAN_POLICY_DHCP);
35 else
36 update_wifi_ipv4(data, CONNMAN_POLICY_MANUAL);
diff --git a/meta/recipes-connectivity/connman/connman-gnome_0.7.bb b/meta/recipes-connectivity/connman/connman-gnome_0.7.bb
new file mode 100644
index 0000000..f121ea3
--- /dev/null
+++ b/meta/recipes-connectivity/connman/connman-gnome_0.7.bb
@@ -0,0 +1,27 @@
1SUMMARY = "GTK+ frontend for the ConnMan network connection manager"
2HOMEPAGE = "http://connman.net/"
3SECTION = "libs/network"
4LICENSE = "GPLv2 & LGPLv2.1"
5LIC_FILES_CHKSUM = "file://COPYING;md5=eb723b61539feef013de476e68b5c50a \
6 file://properties/main.c;beginline=1;endline=20;md5=50c77c81871308b033ab7a1504626afb \
7 file://common/connman-dbus.c;beginline=1;endline=20;md5=de6b485c0e717a0236402d220187717a"
8
9DEPENDS = "gtk+ dbus-glib intltool-native"
10
11# 0.7 tag
12SRCREV = "cf3c325b23dae843c5499a113591cfbc98acb143"
13SRC_URI = "git://github.com/connectivity/connman-gnome.git \
14 file://0001-Removed-icon-from-connman-gnome-about-applet.patch \
15 file://null_check_for_ipv4_config.patch \
16 file://images/* \
17 "
18
19S = "${WORKDIR}/git"
20
21inherit autotools-brokensep gtk-icon-cache
22
23RDEPENDS_${PN} = "connman"
24
25do_install_append() {
26 install -m 0644 ${WORKDIR}/images/* ${D}/usr/share/icons/hicolor/22x22/apps/
27}
diff --git a/meta/recipes-connectivity/connman/connman.inc b/meta/recipes-connectivity/connman/connman.inc
new file mode 100644
index 0000000..b3147c9
--- /dev/null
+++ b/meta/recipes-connectivity/connman/connman.inc
@@ -0,0 +1,215 @@
1SUMMARY = "A daemon for managing internet connections within embedded devices"
2DESCRIPTION = "The ConnMan project provides a daemon for managing \
3internet connections within embedded devices running the Linux \
4operating system. The Connection Manager is designed to be slim and \
5to use as few resources as possible, so it can be easily integrated. \
6It is a fully modular system that can be extended, through plug-ins, \
7to support all kinds of wired or wireless technologies. Also, \
8configuration methods, like DHCP and domain name resolving, are \
9implemented using plug-ins."
10HOMEPAGE = "http://connman.net/"
11BUGTRACKER = "https://01.org/jira/browse/CM"
12LICENSE = "GPLv2"
13LIC_FILES_CHKSUM = "file://COPYING;md5=12f884d2ae1ff87c09e5b7ccc2c4ca7e \
14 file://src/main.c;beginline=1;endline=20;md5=d6a1ac98a6791c5294e8a7f176ecd66d"
15
16DEPENDS = "dbus glib-2.0 ppp iptables"
17
18INC_PR = "r20"
19
20EXTRA_OECONF += "\
21 ac_cv_path_WPASUPPLICANT=${sbindir}/wpa_supplicant \
22 ac_cv_path_PPPD=${sbindir}/pppd \
23 --enable-debug \
24 --enable-loopback \
25 --enable-ethernet \
26 --enable-tools \
27 --enable-test \
28 --disable-polkit \
29 --enable-client \
30 ${@base_contains('DISTRO_FEATURES', 'systemd', '--with-systemdunitdir=${systemd_unitdir}/system/', '--with-systemdunitdir=', d)} \
31"
32
33PACKAGECONFIG ??= "wispr \
34 ${@base_contains('DISTRO_FEATURES', 'wifi','wifi', '', d)} \
35 ${@base_contains('DISTRO_FEATURES', 'bluetooth','bluetooth', '', d)} \
36 ${@base_contains('DISTRO_FEATURES', '3g','3g', '', d)} \
37"
38
39# If you want ConnMan to support VPN, add following statement into
40# local.conf or distro config
41# PACKAGECONFIG_append_pn-connman = " openvpn vpnc l2tp pptp"
42
43PACKAGECONFIG[wifi] = "--enable-wifi, --disable-wifi, wpa-supplicant"
44PACKAGECONFIG[bluetooth] = "--enable-bluetooth, --disable-bluetooth, bluez4"
45PACKAGECONFIG[3g] = "--enable-ofono, --disable-ofono, ofono"
46PACKAGECONFIG[tist] = "--enable-tist,--disable-tist,"
47PACKAGECONFIG[openvpn] = "--enable-openvpn --with-openvpn=${sbindir}/openvpn,--disable-openvpn,,openvpn"
48PACKAGECONFIG[vpnc] = "--enable-vpnc --with-vpnc=${sbindir}/vpnc,--disable-vpnc,,vpnc"
49PACKAGECONFIG[l2tp] = "--enable-l2tp --with-l2tp=${sbindir}/xl2tpd,--disable-l2tp,,xl2tpd"
50PACKAGECONFIG[pptp] = "--enable-pptp --with-pptp=${sbindir}/pptp,--disable-pptp,,pptp-linux"
51# WISPr support for logging into hotspots, requires TLS
52PACKAGECONFIG[wispr] = "--enable-wispr,--disable-wispr,gnutls,"
53
54INITSCRIPT_NAME = "connman"
55INITSCRIPT_PARAMS = "start 05 5 2 3 . stop 22 0 1 6 ."
56
57python __anonymous () {
58 systemd_packages = "${PN}"
59 pkgconfig = d.getVar('PACKAGECONFIG', True)
60 if ('openvpn' or 'vpnc' or 'l2tp' or 'pptp') in pkgconfig.split():
61 systemd_packages += " ${PN}-vpn"
62 d.setVar('SYSTEMD_PACKAGES', systemd_packages)
63}
64
65SYSTEMD_SERVICE_${PN} = "connman.service"
66SYSTEMD_SERVICE_${PN}-vpn = "connman-vpn.service"
67SYSTEMD_WIRED_SETUP = "ExecStartPre=-${libdir}/connman/wired-setup"
68
69inherit autotools-brokensep pkgconfig systemd update-rc.d
70
71do_configure_append () {
72 sed -i "s#ExecStart=#${SYSTEMD_WIRED_SETUP}\nExecStart=#" ${S}/src/connman.service
73}
74
75# This allows *everyone* to access ConnMan over DBus, without any access
76# control. Really the at_console flag should work, which would mean that
77# both this and the xuser patch can be dropped.
78do_compile_append() {
79 sed -i -e s:deny:allow:g src/connman-dbus.conf
80 sed -i -e s:deny:allow:g vpn/vpn-dbus.conf
81}
82
83do_install_append() {
84 if ${@base_contains('DISTRO_FEATURES','sysvinit','true','false',d)}; then
85 install -d ${D}${sysconfdir}/init.d
86 install -m 0755 ${WORKDIR}/connman ${D}${sysconfdir}/init.d/connman
87 sed -i s%@LIBDIR@%${libdir}% ${D}${sysconfdir}/init.d/connman
88 fi
89
90 install -d ${D}${bindir}
91 install -m 0755 ${S}/tools/*-test ${D}${bindir}
92 if [ -e ${S}/tools/wispr ]; then
93 install -m 0755 ${S}/tools/wispr ${D}${bindir}
94 fi
95 install -m 0755 ${B}/client/connmanctl ${D}${bindir}
96
97 # We don't need to package an empty directory
98 rmdir --ignore-fail-on-non-empty ${D}${libdir}/connman/scripts
99
100 # Automake 1.12 won't install empty directories, but we need the
101 # plugins directory to be present for ownership
102 mkdir -p ${D}${libdir}/connman/plugins
103}
104
105# These used to be plugins, but now they are core
106RPROVIDES_${PN} = "\
107 connman-plugin-loopback \
108 connman-plugin-ethernet \
109 ${@base_contains('PACKAGECONFIG', 'bluetooth','connman-plugin-bluetooth', '', d)} \
110 ${@base_contains('PACKAGECONFIG', 'wifi','connman-plugin-wifi', '', d)} \
111 ${@base_contains('PACKAGECONFIG', '3g','connman-plugin-ofono', '', d)} \
112 "
113
114RDEPENDS_${PN} = "\
115 dbus \
116 ${@base_contains('PACKAGECONFIG', 'bluetooth', 'bluez4', '', d)} \
117 ${@base_contains('PACKAGECONFIG', 'wifi','wpa-supplicant', '', d)} \
118 ${@base_contains('PACKAGECONFIG', '3g','ofono', '', d)} \
119 xuser-account \
120 "
121
122PACKAGES_DYNAMIC += "^${PN}-plugin-.*"
123
124def add_rdepends(bb, d, file, pkg, depmap, multilib_prefix, add_insane_skip):
125 plugintype = pkg.split( '-' )[-1]
126 if plugintype in depmap:
127 rdepends = map(lambda x: multilib_prefix + x, \
128 depmap[plugintype].split())
129 d.setVar("RDEPENDS_%s" % pkg, " ".join(rdepends))
130 if add_insane_skip:
131 d.appendVar("INSANE_SKIP_%s" % pkg, "dev-so")
132
133python populate_packages_prepend() {
134 depmap = dict(pppd="ppp")
135 multilib_prefix = (d.getVar("MLPREFIX", True) or "")
136
137 hook = lambda file,pkg,x,y,z: \
138 add_rdepends(bb, d, file, pkg, depmap, multilib_prefix, False)
139 plugin_dir = d.expand('${libdir}/connman/plugins/')
140 plugin_name = d.expand('${PN}-plugin-%s')
141 do_split_packages(d, plugin_dir, '^(.*).so$', plugin_name, \
142 '${PN} plugin for %s', extra_depends='', hook=hook, prepend=True )
143
144 hook = lambda file,pkg,x,y,z: \
145 add_rdepends(bb, d, file, pkg, depmap, multilib_prefix, True)
146 plugin_dir = d.expand('${libdir}/connman/plugins-vpn/')
147 plugin_name = d.expand('${PN}-plugin-vpn-%s')
148 do_split_packages(d, plugin_dir, '^(.*).so$', plugin_name, \
149 '${PN} VPN plugin for %s', extra_depends='', hook=hook, prepend=True )
150}
151
152PACKAGES =+ "${PN}-tools ${PN}-tests ${PN}-client"
153
154FILES_${PN}-tools = "${bindir}/wispr"
155
156FILES_${PN}-tests = "${bindir}/*-test ${libdir}/${BPN}/test/*"
157RDEPENDS_${PN}-tests = "python-dbus python-pygobject python-textutils python-subprocess python-fcntl python-netclient"
158
159FILES_${PN}-client = "${bindir}/connmanctl"
160
161FILES_${PN} = "${bindir}/* ${sbindir}/* ${libexecdir}/* ${libdir}/lib*.so.* \
162 ${libdir}/connman/plugins \
163 ${sysconfdir} ${sharedstatedir} ${localstatedir} \
164 ${base_bindir}/* ${base_sbindir}/* ${base_libdir}/*.so* ${datadir}/${PN} \
165 ${datadir}/dbus-1/system-services/*"
166
167FILES_${PN}-dbg += "${libdir}/connman/*/.debug"
168
169FILES_${PN}-dev += "${libdir}/connman/*/*.la"
170
171PACKAGES =+ "${PN}-vpn"
172
173SUMMARY_${PN}-vpn = "A daemon for managing VPN connections within embedded devices"
174DESCRIPTION_${PN}-vpn = "The ConnMan VPN provides a daemon for \
175managing VPN connections within embedded devices running the Linux \
176operating system. The connman-vpnd handles all the VPN connections \
177and starts/stops VPN client processes when necessary. The connman-vpnd \
178provides a DBus API for managing VPN connections. All the different \
179VPN technogies are implemented using plug-ins."
180FILES_${PN}-vpn += "${sbindir}/connman-vpnd \
181 ${sysconfdir}/dbus-1/system.d/connman-vpn-dbus.conf \
182 ${datadir}/dbus-1/system-services/net.connman.vpn.service \
183 ${systemd_unitdir}/system/connman-vpn.service"
184
185SUMMARY_${PN}-plugin-vpn-openvpn = "An OpenVPN plugin for ConnMan VPN"
186DESCRIPTION_${PN}-plugin-vpn-openvpn = "The ConnMan OpenVPN plugin uses openvpn client \
187to create a VPN connection to OpenVPN server."
188FILES_${PN}-plugin-vpn-openvpn += "${libdir}/connman/scripts/openvpn-script \
189 ${libdir}/connman/plugins-vpn/openvpn.so"
190RDEPENDS_${PN}-plugin-vpn-openvpn += "${PN}-vpn"
191RRECOMMENDS_${PN} += "${@base_contains('PACKAGECONFIG','openvpn','${PN}-plugin-vpn-openvpn', '', d)}"
192
193SUMMARY_${PN}-plugin-vpn-vpnc = "A vpnc plugin for ConnMan VPN"
194DESCRIPTION_${PN}-plugin-vpn-vpnc = "The ConnMan vpnc plugin uses vpnc client \
195to create a VPN connection to Cisco3000 VPN Concentrator."
196FILES_${PN}-plugin-vpn-vpnc += "${libdir}/connman/scripts/openconnect-script \
197 ${libdir}/connman/plugins-vpn/vpnc.so"
198RDEPENDS_${PN}-plugin-vpn-vpnc += "${PN}-vpn"
199RRECOMMENDS_${PN} += "${@base_contains('PACKAGECONFIG','vpnc','${PN}-plugin-vpn-vpnc', '', d)}"
200
201SUMMARY_${PN}-plugin-vpn-l2tp = "A L2TP plugin for ConnMan VPN"
202DESCRIPTION_${PN}-plugin-vpn-l2tp = "The ConnMan L2TP plugin uses xl2tpd daemon \
203to create a VPN connection to L2TP server."
204FILES_${PN}-plugin-vpn-l2tp += "${libdir}/connman/scripts/libppp-plugin.so* \
205 ${libdir}/connman/plugins-vpn/l2tp.so"
206RDEPENDS_${PN}-plugin-vpn-l2tp += "${PN}-vpn"
207RRECOMMENDS_${PN} += "${@base_contains('PACKAGECONFIG','l2tp','${PN}-plugin-vpn-l2tp', '', d)}"
208
209SUMMARY_${PN}-plugin-vpn-pptp = "A PPTP plugin for ConnMan VPN"
210DESCRIPTION_${PN}-plugin-vpn-pptp = "The ConnMan PPTP plugin uses pptp-linux client \
211to create a VPN connection to PPTP server."
212FILES_${PN}-plugin-vpn-pptp += "${libdir}/connman/scripts/libppp-plugin.so* \
213 ${libdir}/connman/plugins-vpn/pptp.so"
214RDEPENDS_${PN}-plugin-vpn-pptp += "${PN}-vpn"
215RRECOMMENDS_${PN} += "${@base_contains('PACKAGECONFIG','pptp','${PN}-plugin-vpn-pptp', '', d)}"
diff --git a/meta/recipes-connectivity/connman/connman/0001-plugin.h-Change-visibility-to-default-for-debug-symb.patch b/meta/recipes-connectivity/connman/connman/0001-plugin.h-Change-visibility-to-default-for-debug-symb.patch
new file mode 100644
index 0000000..e6f03e6
--- /dev/null
+++ b/meta/recipes-connectivity/connman/connman/0001-plugin.h-Change-visibility-to-default-for-debug-symb.patch
@@ -0,0 +1,35 @@
1From 4ddaf78dad5a9ee4a0658235f71b75132192123e Mon Sep 17 00:00:00 2001
2From: Khem Raj <raj.khem@gmail.com>
3Date: Sat, 7 Apr 2012 18:52:12 -0700
4Subject: [PATCH] plugin.h: Change visibility to default for debug symbols
5
6gold refuses to link in undefined weak symbols which
7have hidden visibility
8
9Signed-off-by: Khem Raj <raj.khem@gmail.com>
10
11
12Upstream-Status: Pending
13---
14 include/plugin.h | 4 ++--
15 1 files changed, 2 insertions(+), 2 deletions(-)
16
17diff --git a/include/plugin.h b/include/plugin.h
18index 692a4e5..a9361c3 100644
19--- a/include/plugin.h
20+++ b/include/plugin.h
21@@ -89,9 +89,9 @@ struct connman_plugin_desc {
22 #else
23 #define CONNMAN_PLUGIN_DEFINE(name, description, version, priority, init, exit) \
24 extern struct connman_debug_desc __start___debug[] \
25- __attribute__ ((weak, visibility("hidden"))); \
26+ __attribute__ ((weak, visibility("default"))); \
27 extern struct connman_debug_desc __stop___debug[] \
28- __attribute__ ((weak, visibility("hidden"))); \
29+ __attribute__ ((weak, visibility("default"))); \
30 extern struct connman_plugin_desc connman_plugin_desc \
31 __attribute__ ((visibility("default"))); \
32 struct connman_plugin_desc connman_plugin_desc = { \
33--
341.7.5.4
35
diff --git a/meta/recipes-connectivity/connman/connman/add_xuser_dbus_permission.patch b/meta/recipes-connectivity/connman/connman/add_xuser_dbus_permission.patch
new file mode 100644
index 0000000..707b3ca
--- /dev/null
+++ b/meta/recipes-connectivity/connman/connman/add_xuser_dbus_permission.patch
@@ -0,0 +1,21 @@
1Because Poky doesn't support at_console we need to special-case the session
2user.
3
4Upstream-Status: Inappropriate [configuration]
5
6Signed-off-by: Ross Burton <ross.burton@intel.com>
7
8diff --git a/src/connman-dbus.conf b/src/connman-dbus.conf
9index 98a773e..466809c 100644
10--- a/src/connman-dbus.conf
11+++ b/src/connman-dbus.conf
12@@ -8,6 +8,9 @@
13 <allow send_interface="net.connman.Counter"/>
14 <allow send_interface="net.connman.Notification"/>
15 </policy>
16+ <policy user="xuser">
17+ <allow send_destination="net.connman"/>
18+ </policy>
19 <policy at_console="true">
20 <allow send_destination="net.connman"/>
21 </policy>
diff --git a/meta/recipes-connectivity/connman/connman/connman b/meta/recipes-connectivity/connman/connman/connman
new file mode 100644
index 0000000..bf7a94a
--- /dev/null
+++ b/meta/recipes-connectivity/connman/connman/connman
@@ -0,0 +1,83 @@
1#!/bin/sh
2
3DAEMON=/usr/sbin/connmand
4PIDFILE=/var/run/connmand.pid
5DESC="Connection Manager"
6
7if [ -f /etc/default/connman ] ; then
8 . /etc/default/connman
9fi
10
11set -e
12
13nfsroot=0
14
15exec 9<&0 < /proc/mounts
16while read dev mtpt fstype rest; do
17 if test $mtpt = "/" ; then
18 case $fstype in
19 nfs | nfs4)
20 nfsroot=1
21 break
22 ;;
23 *)
24 ;;
25 esac
26 fi
27done
28
29do_start() {
30 EXTRA_PARAM=""
31 if test $nfsroot -eq 1 ; then
32 NET_DEVS=`cat /proc/net/dev | sed -ne 's/^\([a-zA-Z0-9 ]*\):.*$/\1/p'`
33 NET_ADDR=`cat /proc/cmdline | sed -ne 's/^.*ip=\([^ :]*\).*$/\1/p'`
34
35 if [ ! -z "$NET_ADDR" ]; then
36 if [ "$NET_ADDR" = dhcp ]; then
37 ethn=`ifconfig | grep "^eth" | sed -e "s/\(eth[0-9]\)\(.*\)/\1/"`
38 if [ ! -z "$ethn" ]; then
39 EXTRA_PARAM="-I $ethn"
40 fi
41 else
42 for i in $NET_DEVS; do
43 ADDR=`ifconfig $i | sed 's/addr://g' | sed -ne 's/^.*inet \([0-9.]*\) .*$/\1/p'`
44 if [ "$NET_ADDR" = "$ADDR" ]; then
45 EXTRA_PARAM="-I $i"
46 break
47 fi
48 done
49 fi
50 fi
51 fi
52 if [ -f @LIBDIR@/connman/wired-setup ] ; then
53 . @LIBDIR@/connman/wired-setup
54 fi
55 $DAEMON $EXTRA_PARAM
56}
57
58do_stop() {
59 start-stop-daemon --stop --name connmand --quiet
60}
61
62case "$1" in
63 start)
64 echo "Starting $DESC"
65 do_start
66 ;;
67 stop)
68 echo "Stopping $DESC"
69 do_stop
70 ;;
71 restart|force-reload)
72 echo "Restarting $DESC"
73 do_stop
74 sleep 1
75 do_start
76 ;;
77 *)
78 echo "Usage: $0 {start|stop|restart|force-reload}" >&2
79 exit 1
80 ;;
81esac
82
83exit 0
diff --git a/meta/recipes-connectivity/connman/connman_1.22.bb b/meta/recipes-connectivity/connman/connman_1.22.bb
new file mode 100644
index 0000000..4bd986f
--- /dev/null
+++ b/meta/recipes-connectivity/connman/connman_1.22.bb
@@ -0,0 +1,11 @@
1require connman.inc
2
3SRC_URI = "${KERNELORG_MIRROR}/linux/network/${BPN}/${BP}.tar.xz \
4 file://0001-plugin.h-Change-visibility-to-default-for-debug-symb.patch \
5 file://add_xuser_dbus_permission.patch \
6 file://connman \
7 "
8SRC_URI[md5sum] = "4f45ab2035d1028a287d14427ce61774"
9SRC_URI[sha256sum] = "64d9a8ab83c99943514bb64984142fef409177a93c64e1aace84eaf13c7bddde"
10
11RRECOMMENDS_${PN} = "connman-conf"
diff --git a/meta/recipes-connectivity/dhcp/dhcp.inc b/meta/recipes-connectivity/dhcp/dhcp.inc
new file mode 100644
index 0000000..512127c
--- /dev/null
+++ b/meta/recipes-connectivity/dhcp/dhcp.inc
@@ -0,0 +1,100 @@
1SECTION = "console/network"
2SUMMARY = "Internet Software Consortium DHCP package"
3DESCRIPTION = "DHCP (Dynamic Host Configuration Protocol) is a protocol \
4which allows individual devices on an IP network to get their own \
5network configuration information from a server. DHCP helps make it \
6easier to administer devices."
7
8HOMEPAGE = "http://www.isc.org/"
9
10LICENSE = "ISC"
11LIC_FILES_CHKSUM = "file://LICENSE;beginline=4;md5=c5c64d696107f84b56fe337d14da1753"
12
13DEPENDS = "openssl bind"
14
15SRC_URI = "ftp://ftp.isc.org/isc/dhcp/${PV}/dhcp-${PV}.tar.gz \
16 file://site.h \
17 file://init-relay file://default-relay \
18 file://init-server file://default-server \
19 file://dhclient.conf file://dhcpd.conf"
20
21inherit autotools
22
23TARGET_CFLAGS += "-D_GNU_SOURCE"
24EXTRA_OECONF = "--with-srv-lease-file=${localstatedir}/lib/dhcp/dhcpd.leases \
25 --with-srv6-lease-file=${localstatedir}/lib/dhcp/dhcpd6.leases \
26 --with-cli-lease-file=${localstatedir}/lib/dhcp/dhclient.leases \
27 --with-cli6-lease-file=${localstatedir}/lib/dhcp/dhclient6.leases \
28 --with-libbind=${STAGING_LIBDIR}/ \
29 "
30
31do_compile_prepend () {
32 cp -f ${WORKDIR}/site.h ${S}/includes
33}
34
35do_install_append () {
36 install -d ${D}${sysconfdir}/init.d
37 install -d ${D}${sysconfdir}/default
38 install -d ${D}${sysconfdir}/dhcp
39 install -m 0755 ${WORKDIR}/init-relay ${D}${sysconfdir}/init.d/dhcp-relay
40 install -m 0644 ${WORKDIR}/default-relay ${D}${sysconfdir}/default/dhcp-relay
41 install -m 0755 ${WORKDIR}/init-server ${D}${sysconfdir}/init.d/dhcp-server
42 install -m 0644 ${WORKDIR}/default-server ${D}${sysconfdir}/default/dhcp-server
43
44 rm -f ${D}${sysconfdir}/dhclient.conf*
45 rm -f ${D}${sysconfdir}/dhcpd.conf*
46 install -m 0644 ${WORKDIR}/dhclient.conf ${D}${sysconfdir}/dhcp/dhclient.conf
47 install -m 0644 ${WORKDIR}/dhcpd.conf ${D}${sysconfdir}/dhcp/dhcpd.conf
48
49 install -d ${D}${base_sbindir}/
50 if [ "${sbindir}" != "${base_sbindir}" ]; then
51 mv ${D}${sbindir}/dhclient ${D}${base_sbindir}/
52 fi
53 install -m 0755 ${S}/client/scripts/linux ${D}${base_sbindir}/dhclient-script
54}
55
56PACKAGES += "dhcp-server dhcp-server-config dhcp-client dhcp-relay dhcp-omshell"
57
58FILES_${PN} = ""
59RDEPENDS_${PN}-dev = ""
60RDEPENDS_${PN}-staticdev = ""
61
62FILES_dhcp-server = "${sbindir}/dhcpd ${sysconfdir}/init.d/dhcp-server"
63RRECOMMENDS_dhcp-server = "dhcp-server-config"
64
65FILES_dhcp-server-config = "${sysconfdir}/default/dhcp-server ${sysconfdir}/dhcp/dhcpd.conf"
66
67FILES_dhcp-relay = "${sbindir}/dhcrelay ${sysconfdir}/init.d/dhcp-relay ${sysconfdir}/default/dhcp-relay"
68
69FILES_dhcp-client = "${base_sbindir}/dhclient ${base_sbindir}/dhclient-script ${sysconfdir}/dhcp/dhclient.conf"
70RDEPENDS_dhcp-client = "bash"
71
72FILES_dhcp-omshell = "${bindir}/omshell"
73
74pkg_postinst_dhcp-server() {
75 mkdir -p $D/${localstatedir}/lib/dhcp
76 touch $D/${localstatedir}/lib/dhcp/dhcpd.leases
77 touch $D/${localstatedir}/lib/dhcp/dhcpd6.leases
78}
79
80pkg_postinst_dhcp-client() {
81 mkdir -p $D/${localstatedir}/lib/dhcp
82}
83
84pkg_postrm_dhcp-server() {
85 rm -f $D/${localstatedir}/lib/dhcp/dhcpd.leases
86 rm -f $D/${localstatedir}/lib/dhcp/dhcpd6.leases
87
88 if ! rmdir $D/${localstatedir}/lib/dhcp 2>/dev/null; then
89 echo "Not removing ${localstatedir}/lib/dhcp as it is non-empty."
90 fi
91}
92
93pkg_postrm_dhcp-client() {
94 rm -f $D/${localstatedir}/lib/dhcp/dhclient.leases
95 rm -f $D/${localstatedir}/lib/dhcp/dhclient6.leases
96
97 if ! rmdir $D/${localstatedir}/lib/dhcp 2>/dev/null; then
98 echo "Not removing ${localstatedir}/lib/dhcp as it is non-empty."
99 fi
100}
diff --git a/meta/recipes-connectivity/dhcp/dhcp/dhclient-script-drop-resolv.conf.dhclient.patch b/meta/recipes-connectivity/dhcp/dhcp/dhclient-script-drop-resolv.conf.dhclient.patch
new file mode 100644
index 0000000..47ea555
--- /dev/null
+++ b/meta/recipes-connectivity/dhcp/dhcp/dhclient-script-drop-resolv.conf.dhclient.patch
@@ -0,0 +1,70 @@
1dhcp-client: fix invoke dhclient-script failed on Read-only file system
2
3In read-only file system, '/etc' is on the readonly partition,
4and '/etc/resolv.conf' is symlinked to a separate writable
5partition.
6
7In this situation, we should use shell variable to instead of
8temp files '/etc/resolv.conf.dhclient' and '/etc/resolv.conf.dhclient6'.
9
10Upstream-Status: Pending
11Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com>
12---
13 client/scripts/linux | 20 +++++++++-----------
14 1 file changed, 9 insertions(+), 11 deletions(-)
15
16diff --git a/client/scripts/linux b/client/scripts/linux
17--- a/client/scripts/linux
18+++ b/client/scripts/linux
19@@ -27,27 +27,25 @@ ip=/sbin/ip
20
21 make_resolv_conf() {
22 if [ x"$new_domain_name_servers" != x ]; then
23- cat /dev/null > /etc/resolv.conf.dhclient
24- chmod 644 /etc/resolv.conf.dhclient
25+ resolv_conf=""
26 if [ x"$new_domain_search" != x ]; then
27- echo search $new_domain_search >> /etc/resolv.conf.dhclient
28+ resolv_conf="search ${new_domain_search}\n"
29 elif [ x"$new_domain_name" != x ]; then
30 # Note that the DHCP 'Domain Name Option' is really just a domain
31 # name, and that this practice of using the domain name option as
32 # a search path is both nonstandard and deprecated.
33- echo search $new_domain_name >> /etc/resolv.conf.dhclient
34+ resolv_conf="search ${new_domain_name}\n"
35 fi
36 for nameserver in $new_domain_name_servers; do
37- echo nameserver $nameserver >>/etc/resolv.conf.dhclient
38+ resolv_conf="${resolv_conf}nameserver ${nameserver}\n"
39 done
40
41- mv /etc/resolv.conf.dhclient /etc/resolv.conf
42+ echo -e "${resolv_conf}" > /etc/resolv.conf
43 elif [ "x${new_dhcp6_name_servers}" != x ] ; then
44- cat /dev/null > /etc/resolv.conf.dhclient6
45- chmod 644 /etc/resolv.conf.dhclient6
46+ resolv_conf=""
47
48 if [ "x${new_dhcp6_domain_search}" != x ] ; then
49- echo search ${new_dhcp6_domain_search} >> /etc/resolv.conf.dhclient6
50+ resolv_conf="search ${new_dhcp6_domain_search}\n"
51 fi
52 shopt -s nocasematch
53 for nameserver in ${new_dhcp6_name_servers} ; do
54@@ -59,11 +57,11 @@ make_resolv_conf() {
55 else
56 zone_id=
57 fi
58- echo nameserver ${nameserver}$zone_id >> /etc/resolv.conf.dhclient6
59+ resolv_conf="${resolv_conf}nameserver ${nameserver}$zone_id\n"
60 done
61 shopt -u nocasematch
62
63- mv /etc/resolv.conf.dhclient6 /etc/resolv.conf
64+ echo -e "${resolv_conf}" > /etc/resolv.conf
65 fi
66 }
67
68--
691.8.1.2
70
diff --git a/meta/recipes-connectivity/dhcp/dhcp/dhcp-3.0.3-dhclient-dbus.patch b/meta/recipes-connectivity/dhcp/dhcp/dhcp-3.0.3-dhclient-dbus.patch
new file mode 100644
index 0000000..b4a666d
--- /dev/null
+++ b/meta/recipes-connectivity/dhcp/dhcp/dhcp-3.0.3-dhclient-dbus.patch
@@ -0,0 +1,86 @@
1Upstream-Status: Inappropriate [distribution]
2
3--- client/scripts/bsdos
4+++ client/scripts/bsdos
5@@ -47,6 +47,11 @@
6 . /etc/dhcp/dhclient-exit-hooks
7 fi
8 # probably should do something with exit status of the local script
9+ if [ x$dhc_dbus != x -a $exit_status -eq 0 ]; then
10+ dbus-send --system --dest=com.redhat.dhcp \
11+ --type=method_call /com/redhat/dhcp/$interface com.redhat.dhcp.set \
12+ 'string:'"`env | grep -Ev '^(PATH|SHLVL|_|PWD|dhc_dbus)\='`"
13+ fi
14 exit $exit_status
15 }
16
17--- client/scripts/freebsd
18+++ client/scripts/freebsd
19@@ -57,6 +57,11 @@
20 . /etc/dhcp/dhclient-exit-hooks
21 fi
22 # probably should do something with exit status of the local script
23+ if [ x$dhc_dbus != x -a $exit_status -eq 0 ]; then
24+ dbus-send --system --dest=com.redhat.dhcp \
25+ --type=method_call /com/redhat/dhcp/$interface com.redhat.dhcp.set \
26+ 'string:'"`env | grep -Ev '^(PATH|SHLVL|_|PWD|dhc_dbus)\='`"
27+ fi
28 exit $exit_status
29 }
30
31--- client/scripts/linux
32+++ client/scripts/linux
33@@ -69,6 +69,11 @@
34 . /etc/dhcp/dhclient-exit-hooks
35 fi
36 # probably should do something with exit status of the local script
37+ if [ x$dhc_dbus != x -a $exit_status -eq 0 ]; then
38+ dbus-send --system --dest=com.redhat.dhcp \
39+ --type=method_call /com/redhat/dhcp/$interface com.redhat.dhcp.set \
40+ 'string:'"`env | grep -Ev '^(PATH|SHLVL|_|PWD|dhc_dbus)\='`"
41+ fi
42 exit $exit_status
43 }
44
45--- client/scripts/netbsd
46+++ client/scripts/netbsd
47@@ -47,6 +47,11 @@
48 . /etc/dhcp/dhclient-exit-hooks
49 fi
50 # probably should do something with exit status of the local script
51+ if [ x$dhc_dbus != x -a $exit_status -eq 0 ]; then
52+ dbus-send --system --dest=com.redhat.dhcp \
53+ --type=method_call /com/redhat/dhcp/$interface com.redhat.dhcp.set \
54+ 'string:'"`env | grep -Ev '^(PATH|SHLVL|_|PWD|dhc_dbus)\='`"
55+ fi
56 exit $exit_status
57 }
58
59--- client/scripts/openbsd
60+++ client/scripts/openbsd
61@@ -47,6 +47,11 @@
62 . /etc/dhcp/dhclient-exit-hooks
63 fi
64 # probably should do something with exit status of the local script
65+ if [ x$dhc_dbus != x -a $exit_status -eq 0 ]; then
66+ dbus-send --system --dest=com.redhat.dhcp \
67+ --type=method_call /com/redhat/dhcp/$interface com.redhat.dhcp.set \
68+ 'string:'"`env | grep -Ev '^(PATH|SHLVL|_|PWD|dhc_dbus)\='`"
69+ fi
70 exit $exit_status
71 }
72
73--- client/scripts/solaris
74+++ client/scripts/solaris
75@@ -47,6 +47,11 @@
76 . /etc/dhcp/dhclient-exit-hooks
77 fi
78 # probably should do something with exit status of the local script
79+ if [ x$dhc_dbus != x -a $exit_status -eq 0 ]; then
80+ dbus-send --system --dest=com.redhat.dhcp \
81+ --type=method_call /com/redhat/dhcp/$interface com.redhat.dhcp.set \
82+ 'string:'"`env | grep -Ev '^(PATH|SHLVL|_|PWD|dhc_dbus)\='`"
83+ fi
84 exit $exit_status
85 }
86
diff --git a/meta/recipes-connectivity/dhcp/dhcp/fix-external-bind.patch b/meta/recipes-connectivity/dhcp/dhcp/fix-external-bind.patch
new file mode 100644
index 0000000..a291fda
--- /dev/null
+++ b/meta/recipes-connectivity/dhcp/dhcp/fix-external-bind.patch
@@ -0,0 +1,112 @@
1Upstream-Status: Pending
2
311/30/2010
4--with-libbind=PATH is available but not used by Makefile,
5this patch is to allow building with external bind
6
7Signed-off-by: Qing He <qing.he@intel.com>
8
9Index: dhcp-4.3.0/Makefile.am
10===================================================================
11--- dhcp-4.3.0.orig/Makefile.am
12+++ dhcp-4.3.0/Makefile.am
13@@ -25,7 +25,7 @@ EXTRA_DIST = RELNOTES LICENSE \
14 bind/Makefile bind/bind.tar.gz bind/version.tmp \
15 common/tests/Atffile server/tests/Atffile
16
17-SUBDIRS = bind includes tests common dst omapip client dhcpctl relay server
18+SUBDIRS = includes tests common dst omapip client dhcpctl relay server
19
20 nobase_include_HEADERS = dhcpctl/dhcpctl.h
21
22Index: dhcp-4.3.0/client/Makefile.am
23===================================================================
24--- dhcp-4.3.0.orig/client/Makefile.am
25+++ dhcp-4.3.0/client/Makefile.am
26@@ -4,8 +4,8 @@ dhclient_SOURCES = clparse.c dhclient.c
27 scripts/bsdos scripts/freebsd scripts/linux scripts/macos \
28 scripts/netbsd scripts/nextstep scripts/openbsd \
29 scripts/solaris scripts/openwrt
30-dhclient_LDADD = ../common/libdhcp.a ../omapip/libomapi.a ../bind/lib/libirs.a \
31- ../bind/lib/libdns.a ../bind/lib/libisccfg.a ../bind/lib/libisc.a
32+dhclient_LDADD = ../common/libdhcp.a ../omapip/libomapi.a $(libbind)/libirs.a \
33+ $(libbind)/libdns.a $(libbind)/libisccfg.a $(libbind)/libisc.a
34 man_MANS = dhclient.8 dhclient-script.8 dhclient.conf.5 dhclient.leases.5
35 EXTRA_DIST = $(man_MANS)
36
37Index: dhcp-4.3.0/configure.ac
38===================================================================
39--- dhcp-4.3.0.orig/configure.ac
40+++ dhcp-4.3.0/configure.ac
41@@ -566,6 +566,7 @@ no)
42 libbind="$use_libbind"
43 ;;
44 esac
45+AC_SUBST([libbind])
46
47 # OpenLDAP support.
48 AC_ARG_WITH(ldap,
49Index: dhcp-4.3.0/dhcpctl/Makefile.am
50===================================================================
51--- dhcp-4.3.0.orig/dhcpctl/Makefile.am
52+++ dhcp-4.3.0/dhcpctl/Makefile.am
53@@ -6,12 +6,12 @@ EXTRA_DIST = $(man_MANS)
54
55 omshell_SOURCES = omshell.c
56 omshell_LDADD = libdhcpctl.a ../common/libdhcp.a ../omapip/libomapi.a \
57- ../bind/lib/libirs.a ../bind/lib/libdns.a \
58- ../bind/lib/libisccfg.a ../bind/lib/libisc.a
59+ $(libbind)/libirs.a $(libbind)/libdns.a \
60+ $(libbind)/libisccfg.a $(libbind)/libisc.a
61
62 libdhcpctl_a_SOURCES = dhcpctl.c callback.c remote.c
63
64 cltest_SOURCES = cltest.c
65 cltest_LDADD = libdhcpctl.a ../common/libdhcp.a ../omapip/libomapi.a \
66- ../bind/lib/libirs.a ../bind/lib/libdns.a \
67- ../bind/lib/libisccfg.a ../bind/lib/libisc.a
68+ $(libbind)/libirs.a $(libbind)/libdns.a \
69+ $(libbind)/libisccfg.a $(libbind)/libisc.a
70Index: dhcp-4.3.0/omapip/Makefile.am
71===================================================================
72--- dhcp-4.3.0.orig/omapip/Makefile.am
73+++ dhcp-4.3.0/omapip/Makefile.am
74@@ -10,6 +10,6 @@ man_MANS = omapi.3
75 EXTRA_DIST = $(man_MANS)
76
77 svtest_SOURCES = test.c
78-svtest_LDADD = libomapi.a ../bind/lib/libirs.a ../bind/lib/libdns.a \
79- ../bind/lib/libisccfg.a ../bind/lib/libisc.a
80+svtest_LDADD = libomapi.a $(libbind)/libirs.a $(libbind)/libdns.a \
81+ $(libbind)/libisccfg.a $(libbind)/libisc.a
82
83Index: dhcp-4.3.0/relay/Makefile.am
84===================================================================
85--- dhcp-4.3.0.orig/relay/Makefile.am
86+++ dhcp-4.3.0/relay/Makefile.am
87@@ -3,8 +3,8 @@ AM_CPPFLAGS = -DLOCALSTATEDIR='"@localst
88 sbin_PROGRAMS = dhcrelay
89 dhcrelay_SOURCES = dhcrelay.c
90 dhcrelay_LDADD = ../common/libdhcp.a ../omapip/libomapi.a \
91- ../bind/lib/libirs.a ../bind/lib/libdns.a \
92- ../bind/lib/libisccfg.a ../bind/lib/libisc.a
93+ $(libbind)/libirs.a $(libbind)/libdns.a \
94+ $(libbind)/libisccfg.a $(libbind)/libisc.a
95 man_MANS = dhcrelay.8
96 EXTRA_DIST = $(man_MANS)
97
98Index: dhcp-4.3.0/server/Makefile.am
99===================================================================
100--- dhcp-4.3.0.orig/server/Makefile.am
101+++ dhcp-4.3.0/server/Makefile.am
102@@ -14,8 +14,8 @@ dhcpd_SOURCES = dhcpd.c dhcp.c bootp.c c
103
104 dhcpd_CFLAGS = $(LDAP_CFLAGS)
105 dhcpd_LDADD = ../common/libdhcp.a ../omapip/libomapi.a \
106- ../dhcpctl/libdhcpctl.a ../bind/lib/libirs.a \
107- ../bind/lib/libdns.a ../bind/lib/libisccfg.a ../bind/lib/libisc.a
108+ ../dhcpctl/libdhcpctl.a $(libbind)/libirs.a \
109+ $(libbind)/libdns.a $(libbind)/libisccfg.a $(libbind)/libisc.a
110
111 man_MANS = dhcpd.8 dhcpd.conf.5 dhcpd.leases.5
112 EXTRA_DIST = $(man_MANS)
diff --git a/meta/recipes-connectivity/dhcp/dhcp/fixsepbuild.patch b/meta/recipes-connectivity/dhcp/dhcp/fixsepbuild.patch
new file mode 100644
index 0000000..e686afd
--- /dev/null
+++ b/meta/recipes-connectivity/dhcp/dhcp/fixsepbuild.patch
@@ -0,0 +1,90 @@
1Fix out of tree builds
2
3Upstream-Status: Pending
4
5RP 2013/03/21
6
7Index: dhcp-4.2.5/common/Makefile.am
8===================================================================
9--- dhcp-4.2.5.orig/common/Makefile.am 2013-03-21 12:54:11.345063519 +0000
10+++ dhcp-4.2.5/common/Makefile.am 2013-03-21 12:54:11.805063510 +0000
11@@ -1,4 +1,4 @@
12-AM_CPPFLAGS = -I.. -DLOCALSTATEDIR='"@localstatedir@"'
13+AM_CPPFLAGS = -I$(top_srcdir)/includes -I$(top_srcdir) -DLOCALSTATEDIR='"@localstatedir@"'
14 AM_CFLAGS = $(LDAP_CFLAGS)
15
16 noinst_LIBRARIES = libdhcp.a
17Index: dhcp-4.2.5/dst/Makefile.am
18===================================================================
19--- dhcp-4.2.5.orig/dst/Makefile.am 2013-03-21 12:54:11.345063519 +0000
20+++ dhcp-4.2.5/dst/Makefile.am 2013-03-21 12:54:11.805063510 +0000
21@@ -1,4 +1,4 @@
22-AM_CPPFLAGS = -DMINIRES_LIB -DHMAC_MD5
23+AM_CPPFLAGS = -DMINIRES_LIB -DHMAC_MD5 -I$(top_srcdir)/includes
24
25 lib_LIBRARIES = libdst.a
26
27Index: dhcp-4.2.5/omapip/Makefile.am
28===================================================================
29--- dhcp-4.2.5.orig/omapip/Makefile.am 2013-03-21 12:54:11.677063511 +0000
30+++ dhcp-4.2.5/omapip/Makefile.am 2013-03-21 12:54:11.809063510 +0000
31@@ -1,3 +1,5 @@
32+AM_CPPFLAGS = -I$(top_srcdir)/includes
33+
34 lib_LIBRARIES = libomapi.a
35 noinst_PROGRAMS = svtest
36
37Index: dhcp-4.2.5/client/Makefile.am
38===================================================================
39--- dhcp-4.2.5.orig/client/Makefile.am 2013-03-21 12:54:11.677063511 +0000
40+++ dhcp-4.2.5/client/Makefile.am 2013-03-21 12:54:11.809063510 +0000
41@@ -1,3 +1,5 @@
42+AM_CPPFLAGS = -I$(top_srcdir)/includes
43+
44 dist_sysconf_DATA = dhclient.conf.example
45 sbin_PROGRAMS = dhclient
46 dhclient_SOURCES = clparse.c dhclient.c dhc6.c \
47@@ -11,8 +13,8 @@
48
49 dhclient.o: dhclient.c
50 $(COMPILE) -DCLIENT_PATH='"PATH=$(sbindir):/sbin:/bin:/usr/sbin:/usr/bin"' \
51- -DLOCALSTATEDIR='"$(localstatedir)"' -c dhclient.c
52+ -DLOCALSTATEDIR='"$(localstatedir)"' -c $(srcdir)/dhclient.c
53
54 dhc6.o: dhc6.c
55 $(COMPILE) -DCLIENT_PATH='"PATH=$(sbindir):/sbin:/bin:/usr/sbin:/usr/bin"' \
56- -DLOCALSTATEDIR='"$(localstatedir)"' -c dhc6.c
57+ -DLOCALSTATEDIR='"$(localstatedir)"' -c $(srcdir)/dhc6.c
58Index: dhcp-4.2.5/dhcpctl/Makefile.am
59===================================================================
60--- dhcp-4.2.5.orig/dhcpctl/Makefile.am 2013-03-21 12:54:11.677063511 +0000
61+++ dhcp-4.2.5/dhcpctl/Makefile.am 2013-03-21 12:54:11.809063510 +0000
62@@ -1,3 +1,5 @@
63+AM_CPPFLAGS = -I$(top_srcdir)/includes -I$(top_srcdir)
64+
65 bin_PROGRAMS = omshell
66 lib_LIBRARIES = libdhcpctl.a
67 noinst_PROGRAMS = cltest
68Index: dhcp-4.2.5/relay/Makefile.am
69===================================================================
70--- dhcp-4.2.5.orig/relay/Makefile.am 2013-03-21 12:54:11.677063511 +0000
71+++ dhcp-4.2.5/relay/Makefile.am 2013-03-21 12:54:11.809063510 +0000
72@@ -1,4 +1,4 @@
73-AM_CPPFLAGS = -DLOCALSTATEDIR='"@localstatedir@"'
74+AM_CPPFLAGS = -DLOCALSTATEDIR='"@localstatedir@"' -I$(top_srcdir)/includes
75
76 sbin_PROGRAMS = dhcrelay
77 dhcrelay_SOURCES = dhcrelay.c
78Index: dhcp-4.2.5/server/Makefile.am
79===================================================================
80--- dhcp-4.2.5.orig/server/Makefile.am 2013-03-21 12:54:11.677063511 +0000
81+++ dhcp-4.2.5/server/Makefile.am 2013-03-21 12:55:01.509062081 +0000
82@@ -4,7 +4,7 @@
83 # production code. Sadly, we are not there yet.
84 SUBDIRS = . tests
85
86-AM_CPPFLAGS = -I.. -DLOCALSTATEDIR='"@localstatedir@"'
87+AM_CPPFLAGS = -I$(top_srcdir) -DLOCALSTATEDIR='"@localstatedir@"' -I$(top_srcdir)/includes
88
89 dist_sysconf_DATA = dhcpd.conf.example
90 sbin_PROGRAMS = dhcpd
diff --git a/meta/recipes-connectivity/dhcp/dhcp/link-with-lcrypto.patch b/meta/recipes-connectivity/dhcp/dhcp/link-with-lcrypto.patch
new file mode 100644
index 0000000..57e10b0
--- /dev/null
+++ b/meta/recipes-connectivity/dhcp/dhcp/link-with-lcrypto.patch
@@ -0,0 +1,25 @@
1Author: Andrei Gherzan <andrei@gherzan.ro>
2Date: Thu Feb 2 23:59:11 2012 +0200
3
4From 4.2.0 final release, -lcrypto check was removed and we compile static libraries
5from bind that are linked to libcrypto. This is why i added a patch in order to add
6-lcrypto to LIBS.
7
8Signed-off-by: Andrei Gherzan <andrei@gherzan.ro>
9Upstream-Status: Pending
10
11Index: dhcp-4.2.3-P2-r0/dhcp-4.2.3-P2/configure.ac
12===================================================================
13--- dhcp-4.2.3-P2.orig/configure.ac 2012-02-02 18:04:20.843023196 +0200
14+++ dhcp-4.2.3-P2/configure.ac 2012-02-02 17:58:16.000000000 +0200
15@@ -456,6 +456,10 @@
16 # Look for optional headers.
17 AC_CHECK_HEADERS(sys/socket.h net/if_dl.h net/if6.h regex.h)
18
19+# find an MD5 library
20+AC_SEARCH_LIBS(MD5_Init, [crypto])
21+AC_SEARCH_LIBS(MD5Init, [crypto])
22+
23 # Solaris needs some libraries for functions
24 AC_SEARCH_LIBS(socket, [socket])
25 AC_SEARCH_LIBS(inet_ntoa, [nsl])
diff --git a/meta/recipes-connectivity/dhcp/dhcp/site.h b/meta/recipes-connectivity/dhcp/dhcp/site.h
new file mode 100644
index 0000000..2289554
--- /dev/null
+++ b/meta/recipes-connectivity/dhcp/dhcp/site.h
@@ -0,0 +1,21 @@
1/*
2 * define config file location in ${S}/includes/site.h
3 * still need to take care of installation path (${sysconfdir}/dhcpd.conf)
4 *
5 * 7/22/2010 - qhe
6 */
7
8/* Define this if you want DNS update functionality to be available. */
9
10#define NSUPDATE
11
12/* Define this if you aren't debugging and you want to save memory
13 (potentially a _lot_ of memory) by allocating leases in chunks rather
14 than one at a time. */
15
16#define COMPACT_LEASES
17
18
19/* local */