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.bb72
-rw-r--r--meta/recipes-connectivity/avahi/avahi.inc158
-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/bind92
-rw-r--r--meta/recipes-connectivity/bind/bind/bind9_9_5-CVE-2014-8500.patch990
-rw-r--r--meta/recipes-connectivity/bind/bind/bind9_9_5-CVE-2015-5477.patch45
-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.patch17
-rw-r--r--meta/recipes-connectivity/bind/bind/generate-rndc-key.sh7
-rw-r--r--meta/recipes-connectivity/bind/bind/init.d-add-support-for-read-only-rootfs.patch65
-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/named.service22
-rw-r--r--meta/recipes-connectivity/bind/bind_9.9.5.bb99
-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.bb22
-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.inc79
-rw-r--r--meta/recipes-connectivity/bluez5/bluez5/bluetooth.conf17
-rw-r--r--meta/recipes-connectivity/bluez5/bluez5_5.22.bb3
-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/connman-gnome-fix-dbus-interface-name.patch186
-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.bb28
-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.25.bb11
-rw-r--r--meta/recipes-connectivity/dhcp/dhcp.inc115
-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/replace-ifconfig-route.patch176
-rw-r--r--meta/recipes-connectivity/dhcp/dhcp/site.h21
-rw-r--r--meta/recipes-connectivity/dhcp/dhcp_4.3.0.bb12
-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/dhcpd.service11
-rw-r--r--meta/recipes-connectivity/dhcp/files/dhcrelay.service9
-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.inc38
-rw-r--r--meta/recipes-connectivity/iproute2/iproute2/0001-ip-link-Remove-unnecessary-device-checking.patch34
-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.16.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/ldflags.patch75
-rw-r--r--meta/recipes-connectivity/irda-utils/irda-utils_0.9.18.bb47
-rw-r--r--meta/recipes-connectivity/libnss-mdns/libnss-mdns_0.10.bb38
-rw-r--r--meta/recipes-connectivity/libpcap/libpcap.inc41
-rw-r--r--meta/recipes-connectivity/libpcap/libpcap/aclocal.patch167
-rw-r--r--meta/recipes-connectivity/libpcap/libpcap_1.6.1.bb22
-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/Makefile.am-fix-parallel-issue.patch33
-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/parallel-build.patch40
-rw-r--r--meta/recipes-connectivity/neard/neard_0.14.bb11
-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/0001-statd-fixed-the-with-statdpath-flag.patch41
-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-Do-not-pass-CFLAGS-to-gcc-while-building.patch42
-rw-r--r--meta/recipes-connectivity/nfs-utils/nfs-utils/nfs-utils.conf35
-rw-r--r--meta/recipes-connectivity/nfs-utils/nfs-utils/nfscommon63
-rw-r--r--meta/recipes-connectivity/nfs-utils/nfs-utils/nfsserver129
-rw-r--r--meta/recipes-connectivity/nfs-utils/nfs-utils_1.3.0.bb116
-rw-r--r--meta/recipes-connectivity/ofono/ofono.inc33
-rw-r--r--meta/recipes-connectivity/ofono/ofono/Revert-test-Convert-to-Python-3.patch1270
-rw-r--r--meta/recipes-connectivity/ofono/ofono/ofono42
-rw-r--r--meta/recipes-connectivity/ofono/ofono_1.15.bb12
-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/add-test-support-for-busybox.patch61
-rw-r--r--meta/recipes-connectivity/openssh/openssh/auth2-none.c-avoid-authenticate-empty-passwords-to-m.patch30
-rw-r--r--meta/recipes-connectivity/openssh/openssh/init115
-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/openssh-CVE-2014-2532.patch22
-rw-r--r--meta/recipes-connectivity/openssh/openssh/openssh-CVE-2014-2653.patch114
-rw-r--r--meta/recipes-connectivity/openssh/openssh/openssh-ptest-fix-sshconnect.patch57
-rwxr-xr-xmeta/recipes-connectivity/openssh/openssh/run-ptest7
-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@.service11
-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_sshd2
-rw-r--r--meta/recipes-connectivity/openssh/openssh_6.6p1.bb151
-rw-r--r--meta/recipes-connectivity/openssl/openssl.inc204
-rw-r--r--meta/recipes-connectivity/openssl/openssl/Makefiles-ptest.patch75
-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.patch25
-rw-r--r--meta/recipes-connectivity/openssl/openssl/initial-aarch64-bits.patch141
-rw-r--r--meta/recipes-connectivity/openssl/openssl/oe-ldflags.patch24
-rw-r--r--meta/recipes-connectivity/openssl/openssl/openssl-avoid-NULL-pointer-dereference-in-EVP_DigestInit_ex.patch24
-rw-r--r--meta/recipes-connectivity/openssl/openssl/openssl-fix-des.pod-error.patch19
-rw-r--r--meta/recipes-connectivity/openssl/openssl/openssl_fix_for_x32.patch97
-rw-r--r--meta/recipes-connectivity/openssl/openssl/ptest-deps.patch30
-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.1p.bb55
-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.inc34
-rwxr-xr-xmeta/recipes-connectivity/portmap/portmap/portmap.init67
-rw-r--r--meta/recipes-connectivity/portmap/portmap/portmap.service10
-rw-r--r--meta/recipes-connectivity/portmap/portmap_6.0.bb31
-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
-rw-r--r--meta/recipes-connectivity/ppp/ppp/fix-CVE-2015-3310.patch29
-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@.service9
-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.bb93
-rw-r--r--meta/recipes-connectivity/resolvconf/resolvconf/99_resolvconf4
-rw-r--r--meta/recipes-connectivity/resolvconf/resolvconf/fix-path-for-busybox.patch19
-rw-r--r--meta/recipes-connectivity/resolvconf/resolvconf_1.75.bb64
-rw-r--r--meta/recipes-connectivity/socat/socat/fix-cross-compiling-failed.patch36
-rw-r--r--meta/recipes-connectivity/socat/socat_1.7.2.4.bb38
-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.24.0.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.inc107
-rw-r--r--meta/recipes-connectivity/wpa-supplicant/wpa-supplicant/99_wpa_supplicant1
-rw-r--r--meta/recipes-connectivity/wpa-supplicant/wpa-supplicant/defconfig552
-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.2.bb2
221 files changed, 18102 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 0000000000..eea4d70fab
--- /dev/null
+++ b/meta/recipes-connectivity/avahi/avahi-ui_0.6.31.bb
@@ -0,0 +1,72 @@
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}${systemd_unitdir} -rf
49 # The ${systemd_unitdir} is /lib/systemd, so we need rmdir /lib,
50 # but not ${base_libdir} here. And the /lib may not exist
51 # whithout systemd.
52 [ ! -d ${D}/lib ] || rmdir ${D}/lib --ignore-fail-on-non-empty
53 rm ${D}${bindir}/avahi-b*
54 rm ${D}${bindir}/avahi-p*
55 rm ${D}${bindir}/avahi-r*
56 rm ${D}${bindir}/avahi-s*
57 rm ${D}${includedir}/avahi-c* -rf
58 rm ${D}${includedir}/avahi-g* -rf
59 rm ${D}${libdir}/libavahi-c*
60 rm ${D}${libdir}/libavahi-g*
61 rm ${D}${libdir}/pkgconfig/avahi-c*
62 rm ${D}${libdir}/pkgconfig/avahi-g*
63 rm ${D}${sbindir} -rf
64 rm ${D}${datadir}/avahi/a*
65 rm ${D}${datadir}/avahi/s*
66 rm ${D}${datadir}/locale/ -rf
67 rm ${D}${datadir}/dbus* -rf
68 rm ${D}${mandir}/man1/a*
69 rm ${D}${mandir}/man5 -rf
70 rm ${D}${mandir}/man8 -rf
71}
72
diff --git a/meta/recipes-connectivity/avahi/avahi.inc b/meta/recipes-connectivity/avahi/avahi.inc
new file mode 100644
index 0000000000..b060437c12
--- /dev/null
+++ b/meta/recipes-connectivity/avahi/avahi.inc
@@ -0,0 +1,158 @@
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 = "${@bb.utils.contains('DISTRO_FEATURES','sysvinit','--with-distro=debian','--with-distro=none',d)}"
62EXTRA_OECONF_SYSTEMD = "${@bb.utils.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
76# As avahi doesn't put any files into PN, clear the files list to avoid problems
77# if extra libraries appear.
78FILES_avahi = ""
79FILES_avahi-autoipd = "${sbindir}/avahi-autoipd \
80 ${sysconfdir}/avahi/avahi-autoipd.action \
81 ${sysconfdir}/dhcp/*/avahi-autoipd \
82 ${sysconfdir}/udhcpc.d/00avahi-autoipd \
83 ${sysconfdir}/udhcpc.d/99avahi-autoipd"
84FILES_libavahi-common = "${libdir}/libavahi-common.so.*"
85FILES_libavahi-core = "${libdir}/libavahi-core.so.*"
86FILES_avahi-daemon = "${sbindir}/avahi-daemon \
87 ${sysconfdir}/avahi/avahi-daemon.conf \
88 ${sysconfdir}/avahi/hosts \
89 ${sysconfdir}/avahi/services \
90 ${sysconfdir}/dbus-1 \
91 ${sysconfdir}/init.d/avahi-daemon \
92 ${datadir}/avahi/introspection/*.introspect \
93 ${datadir}/avahi/avahi-service.dtd \
94 ${datadir}/avahi/service-types \
95 ${datadir}/dbus-1/system-services"
96FILES_libavahi-client = "${libdir}/libavahi-client.so.*"
97FILES_libavahi-ui = "${libdir}/libavahi-ui.so.*"
98FILES_avahi-dnsconfd = "${sbindir}/avahi-dnsconfd \
99 ${sysconfdir}/avahi/avahi-dnsconfd.action \
100 ${sysconfdir}/init.d/avahi-dnsconfd"
101FILES_libavahi-glib = "${libdir}/libavahi-glib.so.*"
102FILES_libavahi-gobject = "${libdir}/libavahi-gobject.so.*"
103FILES_avahi-utils = "${bindir}/avahi-*"
104
105RDEPENDS_${PN}-dev = "avahi-daemon (= ${EXTENDPKGV}) libavahi-core (= ${EXTENDPKGV}) libavahi-client (= ${EXTENDPKGV})"
106
107# uclibc has no nss
108RRECOMMENDS_avahi-daemon_append_libc-glibc = " libnss-mdns"
109RRECOMMENDS_${PN}_append_libc-glibc = " libnss-mdns"
110
111RRECOMMENDS_avahi-dev = "expat-dev libcap-dev libdaemon-dev dbus-dev glib-2.0-dev update-rc.d-dev"
112RRECOMMENDS_avahi-dev_append_libc-glibc = " gettext-dev"
113
114RRECOMMENDS_avahi-dev[nodeprrecs] = "1"
115
116CONFFILES_avahi-daemon = "${sysconfdir}/avahi/avahi-daemon.conf"
117
118INITSCRIPT_PACKAGES = "avahi-daemon avahi-dnsconfd"
119INITSCRIPT_NAME_avahi-daemon = "avahi-daemon"
120INITSCRIPT_PARAMS_avahi-daemon = "defaults 21 19"
121INITSCRIPT_NAME_avahi-dnsconfd = "avahi-dnsconfd"
122INITSCRIPT_PARAMS_avahi-dnsconfd = "defaults 22 19"
123
124do_install() {
125 autotools_do_install
126
127 # don't install /var/run when populating rootfs. Do it through volatile
128 # /var/run of current version is empty, so just remove it.
129 # if /var/run become non-empty in the future, need to install it via volatile
130 rm -rf ${D}${localstatedir}/run
131 rmdir --ignore-fail-on-non-empty ${D}${localstatedir}
132 rm -rf ${D}${datadir}/dbus-1/interfaces
133 rmdir --ignore-fail-on-non-empty ${D}${datadir}/dbus-1
134 rm -rf ${D}${libdir}/avahi
135
136 install -d ${D}${sysconfdir}/udhcpc.d
137 install ${WORKDIR}/00avahi-autoipd ${D}${sysconfdir}/udhcpc.d
138 install ${WORKDIR}/99avahi-autoipd ${D}${sysconfdir}/udhcpc.d
139}
140
141# At the time the postinst runs, dbus might not be setup so only restart if running
142# Don't exit early, because update-rc.d needs to run subsequently.
143
144pkg_postinst_avahi-daemon () {
145if [ -z "$D" ]; then
146 killall -q -HUP dbus-daemon || true
147fi
148}
149
150pkg_postrm_avahi-daemon () {
151 deluser avahi || true
152 delgroup avahi || true
153}
154
155pkg_postrm_avahi-autoipd () {
156 deluser avahi-autoipd || true
157 delgroup avahi-autoipd || true
158}
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 0000000000..5d796a202b
--- /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 0000000000..7590df79f0
--- /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 0000000000..a0ab814603
--- /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 0000000000..234cdaa3eb
--- /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 0000000000..32f20ece43
--- /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 0000000000..0fc4c290c4
--- /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 0000000000..193889eb5c
--- /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 0000000000..43476cde05
--- /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 0000000000..bb81c2cb4e
--- /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 0000000000..0abb475adc
--- /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 0000000000..19d8df1c2d
--- /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 0000000000..c441eab65d
--- /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 0000000000..1e159bd2f8
--- /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 0000000000..7ec6deb714
--- /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 0000000000..5dd6f69e45
--- /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/bind9 b/meta/recipes-connectivity/bind/bind/bind9
new file mode 100644
index 0000000000..968679ff7f
--- /dev/null
+++ b/meta/recipes-connectivity/bind/bind/bind9
@@ -0,0 +1,2 @@
1# startup options for the server
2OPTIONS="-u bind"
diff --git a/meta/recipes-connectivity/bind/bind/bind9_9_5-CVE-2014-8500.patch b/meta/recipes-connectivity/bind/bind/bind9_9_5-CVE-2014-8500.patch
new file mode 100644
index 0000000000..62142d2313
--- /dev/null
+++ b/meta/recipes-connectivity/bind/bind/bind9_9_5-CVE-2014-8500.patch
@@ -0,0 +1,990 @@
1From 603a0e2637b35a2da820bc807f69bcf09c682dce Mon Sep 17 00:00:00 2001
2From: Evan Hunt <each@isc.org>
3Date: Mon, 17 Nov 2014 23:49:07 -0800
4Subject: [PATCH] [v9_9] limit recursion depth and iterative queries
5
64006. [security] A flaw in delegation handling could be exploited
7 to put named into an infinite loop. This has
8 been addressed by placing limits on the number
9 of levels of recursion named will allow (default 7),
10 and the number of iterative queries that it will
11 send (default 50) before terminating a recursive
12 query (CVE-2014-8500).
13
14 The recursion depth limit is configured via the
15 "max-recursion-depth" option. [RT #35780]
16
17Upstream-Status: Backport
18
19Signed-off-by: Sona Sarmadi <sona.sarmadi@enea.com>
20---
21 bin/named/config.c | 3 +-
22 bin/named/include/named/query.h | 2 -
23 bin/named/query.c | 7 ++-
24 bin/named/server.c | 5 ++
25 bin/tests/system/many/clean.sh | 7 +++
26 bin/tests/system/many/ns1/named.conf | 33 +++++++++++++
27 bin/tests/system/many/ns2/named.conf | 30 ++++++++++++
28 bin/tests/system/many/ns3/named.conf | 32 +++++++++++++
29 bin/tests/system/many/ns4/named.conf | 30 ++++++++++++
30 bin/tests/system/many/ns5/hints.db | 2 +
31 bin/tests/system/many/ns5/named.conf | 29 ++++++++++++
32 bin/tests/system/many/setup.sh | 75 ++++++++++++++++++++++++++++++
33 bin/tests/system/many/tests.sh | 48 +++++++++++++++++++
34 doc/arm/Bv9ARM-book.xml | 12 +++++
35 lib/dns/adb.c | 58 ++++++++++++++++-------
36 lib/dns/include/dns/adb.h | 8 ++++
37 lib/dns/include/dns/resolver.h | 25 ++++++++++
38 lib/dns/resolver.c | 90 ++++++++++++++++++++++++++++++------
39 lib/isccfg/namedconf.c | 1 +
40 20 files changed, 471 insertions(+), 37 deletions(-)
41 create mode 100644 bin/tests/system/many/clean.sh
42 create mode 100644 bin/tests/system/many/ns1/named.conf
43 create mode 100644 bin/tests/system/many/ns2/named.conf
44 create mode 100644 bin/tests/system/many/ns3/named.conf
45 create mode 100644 bin/tests/system/many/ns4/named.conf
46 create mode 100644 bin/tests/system/many/ns5/hints.db
47 create mode 100644 bin/tests/system/many/ns5/named.conf
48 create mode 100644 bin/tests/system/many/setup.sh
49 create mode 100644 bin/tests/system/many/tests.sh
50
51diff --git a/bin/named/config.c b/bin/named/config.c
52index 2782720..5ee8c4e 100644
53--- a/bin/named/config.c
54+++ b/bin/named/config.c
55@@ -15,8 +15,6 @@
56 * PERFORMANCE OF THIS SOFTWARE.
57 */
58
59-/* $Id: config.c,v 1.123 2012/01/06 23:46:41 tbox Exp $ */
60-
61 /*! \file */
62
63 #include <config.h>
64@@ -160,6 +158,7 @@ options {\n\
65 dnssec-accept-expired no;\n\
66 clients-per-query 10;\n\
67 max-clients-per-query 100;\n\
68+ max-recursion-depth 7;\n\
69 zero-no-soa-ttl-cache no;\n\
70 nsec3-test-zone no;\n\
71 allow-new-zones no;\n\
72diff --git a/bin/named/include/named/query.h b/bin/named/include/named/query.h
73index 3beabb8..b5e3900 100644
74--- a/bin/named/include/named/query.h
75+++ b/bin/named/include/named/query.h
76@@ -15,8 +15,6 @@
77 * PERFORMANCE OF THIS SOFTWARE.
78 */
79
80-/* $Id: query.h,v 1.45 2011/01/13 04:59:24 tbox Exp $ */
81-
82 #ifndef NAMED_QUERY_H
83 #define NAMED_QUERY_H 1
84
85diff --git a/bin/named/query.c b/bin/named/query.c
86index 982f76d..47bfc6a 100644
87--- a/bin/named/query.c
88+++ b/bin/named/query.c
89@@ -3877,12 +3877,11 @@ query_recurse(ns_client_t *client, dns_rdatatype_t qtype, dns_name_t *qname,
90 peeraddr = &client->peeraddr;
91 else
92 peeraddr = NULL;
93- result = dns_resolver_createfetch2(client->view->resolver,
94+ result = dns_resolver_createfetch3(client->view->resolver,
95 qname, qtype, qdomain, nameservers,
96 NULL, peeraddr, client->message->id,
97- client->query.fetchoptions,
98- client->task,
99- query_resume, client,
100+ client->query.fetchoptions, 0,
101+ client->task, query_resume, client,
102 rdataset, sigrdataset,
103 &client->query.fetch);
104
105diff --git a/bin/named/server.c b/bin/named/server.c
106index ac015a4..0559977 100644
107--- a/bin/named/server.c
108+++ b/bin/named/server.c
109@@ -3161,6 +3161,11 @@ configure_view(dns_view_t *view, cfg_obj_t *config, cfg_obj_t *vconfig,
110 cfg_obj_asuint32(obj),
111 max_clients_per_query);
112
113+ obj = NULL;
114+ result = ns_config_get(maps, "max-recursion-depth", &obj);
115+ INSIST(result == ISC_R_SUCCESS);
116+ dns_resolver_setmaxdepth(view->resolver, cfg_obj_asuint32(obj));
117+
118 #ifdef ALLOW_FILTER_AAAA_ON_V4
119 obj = NULL;
120 result = ns_config_get(maps, "filter-aaaa-on-v4", &obj);
121diff --git a/bin/tests/system/many/clean.sh b/bin/tests/system/many/clean.sh
122new file mode 100644
123index 0000000..119b1f5
124--- /dev/null
125+++ b/bin/tests/system/many/clean.sh
126@@ -0,0 +1,7 @@
127+rm -f ns1/[1-9]*example.tld?.db
128+rm -f ns2/[1-9]*example.tld?.db
129+rm -f ns1/zones.conf
130+rm -f ns2/zones.conf
131+rm -f */root.db
132+rm -f ns3/tld1.db
133+rm -f ns4/tld2.db
134diff --git a/bin/tests/system/many/ns1/named.conf b/bin/tests/system/many/ns1/named.conf
135new file mode 100644
136index 0000000..abc9dca
137--- /dev/null
138+++ b/bin/tests/system/many/ns1/named.conf
139@@ -0,0 +1,33 @@
140+/*
141+ * Copyright (C) 2014 Internet Systems Consortium, Inc. ("ISC")
142+ *
143+ * Permission to use, copy, modify, and/or distribute this software for any
144+ * purpose with or without fee is hereby granted, provided that the above
145+ * copyright notice and this permission notice appear in all copies.
146+ *
147+ * THE SOFTWARE IS PROVIDED "AS IS" AND ISC DISCLAIMS ALL WARRANTIES WITH
148+ * REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
149+ * AND FITNESS. IN NO EVENT SHALL ISC BE LIABLE FOR ANY SPECIAL, DIRECT,
150+ * INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
151+ * LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE
152+ * OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
153+ * PERFORMANCE OF THIS SOFTWARE.
154+ */
155+
156+controls { /* empty */ };
157+
158+options {
159+ query-source address 10.53.0.1;
160+ notify-source 10.53.0.1;
161+ transfer-source 10.53.0.1;
162+ port 5300;
163+ pid-file "named.pid";
164+ listen-on { 10.53.0.1; };
165+ listen-on-v6 { none; };
166+ recursion no;
167+};
168+
169+include "zones.conf";
170+
171+// zone "tld1" { type master; file "tld1.db"; };
172+// zone "tld2" { type master; file "tld2.db"; };
173diff --git a/bin/tests/system/many/ns2/named.conf b/bin/tests/system/many/ns2/named.conf
174new file mode 100644
175index 0000000..16266e2
176--- /dev/null
177+++ b/bin/tests/system/many/ns2/named.conf
178@@ -0,0 +1,30 @@
179+/*
180+ * Copyright (C) 2014 Internet Systems Consortium, Inc. ("ISC")
181+ *
182+ * Permission to use, copy, modify, and/or distribute this software for any
183+ * purpose with or without fee is hereby granted, provided that the above
184+ * copyright notice and this permission notice appear in all copies.
185+ *
186+ * THE SOFTWARE IS PROVIDED "AS IS" AND ISC DISCLAIMS ALL WARRANTIES WITH
187+ * REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
188+ * AND FITNESS. IN NO EVENT SHALL ISC BE LIABLE FOR ANY SPECIAL, DIRECT,
189+ * INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
190+ * LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE
191+ * OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
192+ * PERFORMANCE OF THIS SOFTWARE.
193+ */
194+
195+controls { /* empty */ };
196+
197+options {
198+ query-source address 10.53.0.2;
199+ notify-source 10.53.0.2;
200+ transfer-source 10.53.0.2;
201+ port 5300;
202+ pid-file "named.pid";
203+ listen-on { 10.53.0.2; };
204+ listen-on-v6 { none; };
205+ recursion no;
206+};
207+
208+include "zones.conf";
209diff --git a/bin/tests/system/many/ns3/named.conf b/bin/tests/system/many/ns3/named.conf
210new file mode 100644
211index 0000000..b950afe
212--- /dev/null
213+++ b/bin/tests/system/many/ns3/named.conf
214@@ -0,0 +1,32 @@
215+/*
216+ * Copyright (C) 2014 Internet Systems Consortium, Inc. ("ISC")
217+ *
218+ * Permission to use, copy, modify, and/or distribute this software for any
219+ * purpose with or without fee is hereby granted, provided that the above
220+ * copyright notice and this permission notice appear in all copies.
221+ *
222+ * THE SOFTWARE IS PROVIDED "AS IS" AND ISC DISCLAIMS ALL WARRANTIES WITH
223+ * REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
224+ * AND FITNESS. IN NO EVENT SHALL ISC BE LIABLE FOR ANY SPECIAL, DIRECT,
225+ * INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
226+ * LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE
227+ * OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
228+ * PERFORMANCE OF THIS SOFTWARE.
229+ */
230+
231+controls { /* empty */ };
232+
233+options {
234+ query-source address 10.53.0.3;
235+ notify-source 10.53.0.3;
236+ transfer-source 10.53.0.3;
237+ port 5300;
238+ pid-file "named.pid";
239+ listen-on { 10.53.0.3; };
240+ listen-on-v6 { none; };
241+ recursion no;
242+};
243+
244+zone "." { type master; file "root.db"; };
245+
246+zone "tld1" { type master; file "tld1.db"; };
247diff --git a/bin/tests/system/many/ns4/named.conf b/bin/tests/system/many/ns4/named.conf
248new file mode 100644
249index 0000000..ca9aa6a
250--- /dev/null
251+++ b/bin/tests/system/many/ns4/named.conf
252@@ -0,0 +1,30 @@
253+/*
254+ * Copyright (C) 2014 Internet Systems Consortium, Inc. ("ISC")
255+ *
256+ * Permission to use, copy, modify, and/or distribute this software for any
257+ * purpose with or without fee is hereby granted, provided that the above
258+ * copyright notice and this permission notice appear in all copies.
259+ *
260+ * THE SOFTWARE IS PROVIDED "AS IS" AND ISC DISCLAIMS ALL WARRANTIES WITH
261+ * REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
262+ * AND FITNESS. IN NO EVENT SHALL ISC BE LIABLE FOR ANY SPECIAL, DIRECT,
263+ * INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
264+ * LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE
265+ * OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
266+ * PERFORMANCE OF THIS SOFTWARE.
267+ */
268+
269+controls { /* empty */ };
270+
271+options {
272+ query-source address 10.53.0.4;
273+ notify-source 10.53.0.4;
274+ transfer-source 10.53.0.4;
275+ port 5300;
276+ pid-file "named.pid";
277+ listen-on { 10.53.0.4; };
278+ listen-on-v6 { none; };
279+ recursion no;
280+};
281+
282+zone "tld2" { type master; file "tld2.db"; };
283diff --git a/bin/tests/system/many/ns5/hints.db b/bin/tests/system/many/ns5/hints.db
284new file mode 100644
285index 0000000..c05809b
286--- /dev/null
287+++ b/bin/tests/system/many/ns5/hints.db
288@@ -0,0 +1,2 @@
289+. 60 in ns ns.nil.
290+ns.nil. 60 in A 10.53.0.3
291diff --git a/bin/tests/system/many/ns5/named.conf b/bin/tests/system/many/ns5/named.conf
292new file mode 100644
293index 0000000..fce7d59
294--- /dev/null
295+++ b/bin/tests/system/many/ns5/named.conf
296@@ -0,0 +1,29 @@
297+/*
298+ * Copyright (C) 2014 Internet Systems Consortium, Inc. ("ISC")
299+ *
300+ * Permission to use, copy, modify, and/or distribute this software for any
301+ * purpose with or without fee is hereby granted, provided that the above
302+ * copyright notice and this permission notice appear in all copies.
303+ *
304+ * THE SOFTWARE IS PROVIDED "AS IS" AND ISC DISCLAIMS ALL WARRANTIES WITH
305+ * REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
306+ * AND FITNESS. IN NO EVENT SHALL ISC BE LIABLE FOR ANY SPECIAL, DIRECT,
307+ * INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
308+ * LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE
309+ * OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
310+ * PERFORMANCE OF THIS SOFTWARE.
311+ */
312+
313+controls { /* empty */ };
314+
315+options {
316+ query-source address 10.53.0.5;
317+ notify-source 10.53.0.5;
318+ transfer-source 10.53.0.5;
319+ port 5300;
320+ pid-file "named.pid";
321+ listen-on { 10.53.0.5; };
322+ listen-on-v6 { none; };
323+};
324+
325+zone "." { type hint; file "hints.db"; };
326diff --git a/bin/tests/system/many/setup.sh b/bin/tests/system/many/setup.sh
327new file mode 100644
328index 0000000..80695b5
329--- /dev/null
330+++ b/bin/tests/system/many/setup.sh
331@@ -0,0 +1,75 @@
332+i=1
333+
334+cat > ns3/root.db << EOF
335+. 60 in soa ns.nil. hostmaster.ns.nil. 1 0 0 0 0
336+. 60 in ns ns.nil.
337+ns.nil. 60 in a 10.53.0.3
338+tld1. 60 in ns ns.tld1.
339+ns.tld1. 60 in a 10.53.0.3
340+tld2. 60 in ns ns.tld2.
341+ns.tld2. 60 in a 10.53.0.4
342+EOF
343+
344+cat > ns3/tld1.db << EOF
345+tld1. 60 in soa ns.tld1. hostmaster.ns.tld1. 1 0 0 0 0
346+tld1. 60 in ns ns.tld1.
347+ns.tld1. 60 in a 10.53.0.1
348+EOF
349+
350+cat > ns4/tld2.db << EOF
351+tld2. 60 in soa ns.tld2. hostmaster.ns.tld4. 1 0 0 0 0
352+tld2. 60 in ns ns.tld2.
353+ns.tld2. 60 in a 10.53.0.1
354+EOF
355+
356+: > ns1/zones.conf
357+: > ns2/zones.conf
358+
359+while [ $i -lt 1000 ]
360+do
361+j=`expr $i + 1`
362+s=`expr $j % 2 + 1`
363+n=`expr $i % 2 + 1`
364+t=`expr $s + 2`
365+
366+# i=1 j=2 s=1 n=2
367+# i=2 j=3 s=1 n=2
368+# i=3 j=4 s=1 n=2
369+
370+cat > ns1/${i}example.tld${s}.db << EOF
371+${i}example.tld${s}. 60 in soa ns.${j}example.tld${n}. hostmaster 1 0 0 0 0
372+${i}example.tld${s}. 60 in ns ns.${j}example.tld${n}.
373+ns.${i}example.tld${s}. 60 in a 10.53.0.1
374+EOF
375+
376+cat >> ns1/zones.conf << EOF
377+zone "${i}example.tld${s}" { type master; file "${i}example.tld${s}.db"; };
378+EOF
379+
380+cat >> ns${t}/tld${s}.db << EOF
381+${i}example.tld${s}. 60 in ns ns.${j}example.tld${n}.
382+EOF
383+
384+i=$j
385+
386+done
387+
388+j=`expr $i + 1`
389+s=`expr $j % 2 + 1`
390+n=`expr $s % 2 + 1`
391+t=`expr $s + 2`
392+
393+cat > ns1/${i}example.tld${s}.db << EOF
394+${i}example.tld${s}. 60 in soa ns.${i}example.tld${s}. hostmaster 1 0 0 0 0
395+${i}example.tld${s}. 60 in ns ns.${i}example.tld${s}.
396+ns.${i}example.tld${s}. 60 in a 10.53.0.1
397+EOF
398+
399+cat >> ns1/zones.conf << EOF
400+zone "${i}example.tld${s}" { type master; file "${i}example.tld${s}.db"; };
401+EOF
402+
403+cat >> ns${t}/tld${s}.db << EOF
404+${i}example.tld${s}. 60 in ns ns.${i}example.tld${s}.
405+ns.${i}example.tld${s}. 60 in a 10.53.0.1
406+EOF
407diff --git a/bin/tests/system/many/tests.sh b/bin/tests/system/many/tests.sh
408new file mode 100644
409index 0000000..37964e2
410--- /dev/null
411+++ b/bin/tests/system/many/tests.sh
412@@ -0,0 +1,48 @@
413+#!/bin/sh
414+#
415+# Copyright (C) 2014 Internet Systems Consortium, Inc. ("ISC")
416+#
417+# Permission to use, copy, modify, and/or distribute this software for any
418+# purpose with or without fee is hereby granted, provided that the above
419+# copyright notice and this permission notice appear in all copies.
420+#
421+# THE SOFTWARE IS PROVIDED "AS IS" AND ISC DISCLAIMS ALL WARRANTIES WITH
422+# REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
423+# AND FITNESS. IN NO EVENT SHALL ISC BE LIABLE FOR ANY SPECIAL, DIRECT,
424+# INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
425+# LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE
426+# OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
427+# PERFORMANCE OF THIS SOFTWARE.
428+
429+SYSTEMTESTTOP=..
430+. $SYSTEMTESTTOP/conf.sh
431+
432+status=0
433+n=0
434+
435+n=`expr $n + 1`
436+echo "I: attempt lookup 1example.tld2 soa ($n)"
437+ret=0
438+$DIG +tcp 1example.tld1 soa @10.53.0.5 -p 5300 > dig.out.test$n
439+grep "status: SERVFAIL" dig.out.test$n > /dev/null || ret=1
440+if [ $ret != 0 ]; then echo "I:failed"; fi
441+status=`expr $status + $ret`
442+
443+n=`expr $n + 1`
444+echo "I: attempt lookup 992example.tld2 soa ($n)"
445+ret=0
446+$DIG +tcp 992example.tld2 soa @10.53.0.5 -p 5300 > dig.out.test$n
447+grep "status: SERVFAIL" dig.out.test$n > /dev/null || ret=1
448+if [ $ret != 0 ]; then echo "I:failed"; fi
449+status=`expr $status + $ret`
450+
451+n=`expr $n + 1`
452+echo "I: attempt lookup 993example.tld1 soa ($n)"
453+ret=0
454+$DIG +tcp 993example.tld1 soa @10.53.0.5 -p 5300 > dig.out.test$n
455+grep "status: NOERROR" dig.out.test$n > /dev/null || ret=1
456+if [ $ret != 0 ]; then echo "I:failed"; fi
457+status=`expr $status + $ret`
458+
459+echo "I:exit status: $status"
460+exit $status
461diff --git a/doc/arm/Bv9ARM-book.xml b/doc/arm/Bv9ARM-book.xml
462index 9f7bd38..fff4249 100644
463--- a/doc/arm/Bv9ARM-book.xml
464+++ b/doc/arm/Bv9ARM-book.xml
465@@ -4861,6 +4861,7 @@ badresp:1,adberr:0,findfail:0,valfail:0]
466 <optional> max-acache-size <replaceable>size_spec</replaceable> ; </optional>
467 <optional> clients-per-query <replaceable>number</replaceable> ; </optional>
468 <optional> max-clients-per-query <replaceable>number</replaceable> ; </optional>
469+ <optional> max-recursion-depth <replaceable>number</replaceable> ; </optional>
470 <optional> masterfile-format (<constant>text</constant>|<constant>raw</constant>) ; </optional>
471 <optional> empty-server <replaceable>name</replaceable> ; </optional>
472 <optional> empty-contact <replaceable>name</replaceable> ; </optional>
473@@ -8680,6 +8681,17 @@ avoid-v6-udp-ports { 40000; range 50000 60000; };
474 </listitem>
475 </varlistentry>
476
477+ <varlistentry id="max-recursion-depth">
478+ <term><command>max-recursion-depth</command></term>
479+ <listitem>
480+ <para>
481+ Sets the maximum number of levels of recursion
482+ permitted at any one time while resolving a name.
483+ The default is 7.
484+ </para>
485+ </listitem>
486+ </varlistentry>
487+
488 <varlistentry>
489 <term><command>notify-delay</command></term>
490 <listitem>
491diff --git a/lib/dns/adb.c b/lib/dns/adb.c
492index 2ccb51e..fe9b3f7 100644
493--- a/lib/dns/adb.c
494+++ b/lib/dns/adb.c
495@@ -199,6 +199,7 @@ struct dns_adbfetch {
496 unsigned int magic;
497 dns_fetch_t *fetch;
498 dns_rdataset_t rdataset;
499+ unsigned int depth;
500 };
501
502 /*%
503@@ -300,7 +301,7 @@ static inline void violate_locking_hierarchy(isc_mutex_t *, isc_mutex_t *);
504 static isc_boolean_t clean_namehooks(dns_adb_t *, dns_adbnamehooklist_t *);
505 static void clean_target(dns_adb_t *, dns_name_t *);
506 static void clean_finds_at_name(dns_adbname_t *, isc_eventtype_t,
507- unsigned int);
508+ isc_uint32_t, unsigned int);
509 static isc_boolean_t check_expire_namehooks(dns_adbname_t *, isc_stdtime_t);
510 static isc_boolean_t check_expire_entry(dns_adb_t *, dns_adbentry_t **,
511 isc_stdtime_t);
512@@ -308,7 +309,7 @@ static void cancel_fetches_at_name(dns_adbname_t *);
513 static isc_result_t dbfind_name(dns_adbname_t *, isc_stdtime_t,
514 dns_rdatatype_t);
515 static isc_result_t fetch_name(dns_adbname_t *, isc_boolean_t,
516- dns_rdatatype_t);
517+ unsigned int, dns_rdatatype_t);
518 static inline void check_exit(dns_adb_t *);
519 static void destroy(dns_adb_t *);
520 static isc_boolean_t shutdown_names(dns_adb_t *);
521@@ -984,7 +985,7 @@ kill_name(dns_adbname_t **n, isc_eventtype_t ev) {
522 * Clean up the name's various lists. These two are destructive
523 * in that they will always empty the list.
524 */
525- clean_finds_at_name(name, ev, DNS_ADBFIND_ADDRESSMASK);
526+ clean_finds_at_name(name, ev, 0, DNS_ADBFIND_ADDRESSMASK);
527 result4 = clean_namehooks(adb, &name->v4);
528 result6 = clean_namehooks(adb, &name->v6);
529 clean_target(adb, &name->target);
530@@ -1409,7 +1410,7 @@ event_free(isc_event_t *event) {
531 */
532 static void
533 clean_finds_at_name(dns_adbname_t *name, isc_eventtype_t evtype,
534- unsigned int addrs)
535+ isc_uint32_t qtotal, unsigned int addrs)
536 {
537 isc_event_t *ev;
538 isc_task_t *task;
539@@ -1469,6 +1470,7 @@ clean_finds_at_name(dns_adbname_t *name, isc_eventtype_t evtype,
540 ev->ev_sender = find;
541 find->result_v4 = find_err_map[name->fetch_err];
542 find->result_v6 = find_err_map[name->fetch6_err];
543+ find->qtotal += qtotal;
544 ev->ev_type = evtype;
545 ev->ev_destroy = event_free;
546 ev->ev_destroy_arg = find;
547@@ -1827,6 +1829,7 @@ new_adbfind(dns_adb_t *adb) {
548 h->flags = 0;
549 h->result_v4 = ISC_R_UNEXPECTED;
550 h->result_v6 = ISC_R_UNEXPECTED;
551+ h->qtotal = 0;
552 ISC_LINK_INIT(h, publink);
553 ISC_LINK_INIT(h, plink);
554 ISC_LIST_INIT(h->list);
555@@ -2799,6 +2802,19 @@ dns_adb_createfind(dns_adb_t *adb, isc_task_t *task, isc_taskaction_t action,
556 isc_stdtime_t now, dns_name_t *target,
557 in_port_t port, dns_adbfind_t **findp)
558 {
559+ return (dns_adb_createfind2(adb, task, action, arg, name,
560+ qname, qtype, options, now,
561+ target, port, 0, findp));
562+}
563+
564+isc_result_t
565+dns_adb_createfind2(dns_adb_t *adb, isc_task_t *task, isc_taskaction_t action,
566+ void *arg, dns_name_t *name, dns_name_t *qname,
567+ dns_rdatatype_t qtype, unsigned int options,
568+ isc_stdtime_t now, dns_name_t *target,
569+ in_port_t port, unsigned int depth,
570+ dns_adbfind_t **findp)
571+{
572 dns_adbfind_t *find;
573 dns_adbname_t *adbname;
574 int bucket;
575@@ -3029,7 +3045,7 @@ dns_adb_createfind(dns_adb_t *adb, isc_task_t *task, isc_taskaction_t action,
576 * Start V4.
577 */
578 if (WANT_INET(wanted_fetches) &&
579- fetch_name(adbname, start_at_zone,
580+ fetch_name(adbname, start_at_zone, depth,
581 dns_rdatatype_a) == ISC_R_SUCCESS) {
582 DP(DEF_LEVEL,
583 "dns_adb_createfind: started A fetch for name %p",
584@@ -3040,7 +3056,7 @@ dns_adb_createfind(dns_adb_t *adb, isc_task_t *task, isc_taskaction_t action,
585 * Start V6.
586 */
587 if (WANT_INET6(wanted_fetches) &&
588- fetch_name(adbname, start_at_zone,
589+ fetch_name(adbname, start_at_zone, depth,
590 dns_rdatatype_aaaa) == ISC_R_SUCCESS) {
591 DP(DEF_LEVEL,
592 "dns_adb_createfind: "
593@@ -3656,6 +3672,7 @@ fetch_callback(isc_task_t *task, isc_event_t *ev) {
594 isc_result_t result;
595 unsigned int address_type;
596 isc_boolean_t want_check_exit = ISC_FALSE;
597+ isc_uint32_t qtotal = 0;
598
599 UNUSED(task);
600
601@@ -3666,6 +3683,8 @@ fetch_callback(isc_task_t *task, isc_event_t *ev) {
602 adb = name->adb;
603 INSIST(DNS_ADB_VALID(adb));
604
605+ qtotal = dev->qtotal;
606+
607 bucket = name->lock_bucket;
608 LOCK(&adb->namelocks[bucket]);
609
610@@ -3783,6 +3802,12 @@ fetch_callback(isc_task_t *task, isc_event_t *ev) {
611 DP(DEF_LEVEL, "adb: fetch of '%s' %s failed: %s",
612 buf, address_type == DNS_ADBFIND_INET ? "A" : "AAAA",
613 dns_result_totext(dev->result));
614+ /*
615+ * Don't record a failure unless this is the initial
616+ * fetch of a chain.
617+ */
618+ if (fetch->depth > 1)
619+ goto out;
620 /* XXXMLG Don't pound on bad servers. */
621 if (address_type == DNS_ADBFIND_INET) {
622 name->expire_v4 = ISC_MIN(name->expire_v4, now + 300);
623@@ -3814,15 +3839,14 @@ fetch_callback(isc_task_t *task, isc_event_t *ev) {
624 free_adbfetch(adb, &fetch);
625 isc_event_free(&ev);
626
627- clean_finds_at_name(name, ev_status, address_type);
628+ clean_finds_at_name(name, ev_status, qtotal, address_type);
629
630 UNLOCK(&adb->namelocks[bucket]);
631 }
632
633 static isc_result_t
634-fetch_name(dns_adbname_t *adbname,
635- isc_boolean_t start_at_zone,
636- dns_rdatatype_t type)
637+fetch_name(dns_adbname_t *adbname, isc_boolean_t start_at_zone,
638+ unsigned int depth, dns_rdatatype_t type)
639 {
640 isc_result_t result;
641 dns_adbfetch_t *fetch = NULL;
642@@ -3867,12 +3891,14 @@ fetch_name(dns_adbname_t *adbname,
643 result = ISC_R_NOMEMORY;
644 goto cleanup;
645 }
646-
647- result = dns_resolver_createfetch(adb->view->resolver, &adbname->name,
648- type, name, nameservers, NULL,
649- options, adb->task, fetch_callback,
650- adbname, &fetch->rdataset, NULL,
651- &fetch->fetch);
652+ fetch->depth = depth;
653+
654+ result = dns_resolver_createfetch3(adb->view->resolver, &adbname->name,
655+ type, name, nameservers, NULL,
656+ NULL, 0, options, depth, adb->task,
657+ fetch_callback, adbname,
658+ &fetch->rdataset, NULL,
659+ &fetch->fetch);
660 if (result != ISC_R_SUCCESS)
661 goto cleanup;
662
663diff --git a/lib/dns/include/dns/adb.h b/lib/dns/include/dns/adb.h
664index 35350ff..7501f01 100644
665--- a/lib/dns/include/dns/adb.h
666+++ b/lib/dns/include/dns/adb.h
667@@ -118,6 +118,8 @@ struct dns_adbfind {
668 isc_result_t result_v6; /*%< RO: v6 result */
669 ISC_LINK(dns_adbfind_t) publink; /*%< RW: client use */
670
671+ isc_uint32_t qtotal;
672+
673 /* Private */
674 isc_mutex_t lock; /* locks all below */
675 in_port_t port;
676@@ -334,6 +336,12 @@ dns_adb_createfind(dns_adb_t *adb, isc_task_t *task, isc_taskaction_t action,
677 dns_rdatatype_t qtype, unsigned int options,
678 isc_stdtime_t now, dns_name_t *target,
679 in_port_t port, dns_adbfind_t **find);
680+isc_result_t
681+dns_adb_createfind2(dns_adb_t *adb, isc_task_t *task, isc_taskaction_t action,
682+ void *arg, dns_name_t *name, dns_name_t *qname,
683+ dns_rdatatype_t qtype, unsigned int options,
684+ isc_stdtime_t now, dns_name_t *target, in_port_t port,
685+ unsigned int depth, dns_adbfind_t **find);
686 /*%<
687 * Main interface for clients. The adb will look up the name given in
688 * "name" and will build up a list of found addresses, and perhaps start
689diff --git a/lib/dns/include/dns/resolver.h b/lib/dns/include/dns/resolver.h
690index 4e20eb6..c256049 100644
691--- a/lib/dns/include/dns/resolver.h
692+++ b/lib/dns/include/dns/resolver.h
693@@ -82,6 +82,7 @@ typedef struct dns_fetchevent {
694 isc_sockaddr_t * client;
695 dns_messageid_t id;
696 isc_result_t vresult;
697+ isc_uint32_t qtotal;
698 } dns_fetchevent_t;
699
700 /*
701@@ -275,6 +276,18 @@ dns_resolver_createfetch2(dns_resolver_t *res, dns_name_t *name,
702 dns_rdataset_t *rdataset,
703 dns_rdataset_t *sigrdataset,
704 dns_fetch_t **fetchp);
705+isc_result_t
706+dns_resolver_createfetch3(dns_resolver_t *res, dns_name_t *name,
707+ dns_rdatatype_t type,
708+ dns_name_t *domain, dns_rdataset_t *nameservers,
709+ dns_forwarders_t *forwarders,
710+ isc_sockaddr_t *client, isc_uint16_t id,
711+ unsigned int options, unsigned int depth,
712+ isc_task_t *task,
713+ isc_taskaction_t action, void *arg,
714+ dns_rdataset_t *rdataset,
715+ dns_rdataset_t *sigrdataset,
716+ dns_fetch_t **fetchp);
717 /*%<
718 * Recurse to answer a question.
719 *
720@@ -576,6 +589,18 @@ dns_resolver_printbadcache(dns_resolver_t *resolver, FILE *fp);
721 * \li resolver to be valid.
722 */
723
724+void
725+dns_resolver_setmaxdepth(dns_resolver_t *resolver, unsigned int maxdepth);
726+unsigned int
727+dns_resolver_getmaxdepth(dns_resolver_t *resolver);
728+/*%
729+ * Get and set how many NS indirections will be followed when looking for
730+ * nameserver addresses.
731+ *
732+ * Requires:
733+ * \li resolver to be valid.
734+ */
735+
736 ISC_LANG_ENDDECLS
737
738 #endif /* DNS_RESOLVER_H */
739diff --git a/lib/dns/resolver.c b/lib/dns/resolver.c
740index e517dad..6a635b2 100644
741--- a/lib/dns/resolver.c
742+++ b/lib/dns/resolver.c
743@@ -131,6 +131,16 @@
744 #define MAXIMUM_QUERY_TIMEOUT 30 /* The maximum time in seconds for the whole query to live. */
745 #endif
746
747+/* The default maximum number of recursions to follow before giving up. */
748+#ifndef DEFAULT_RECURSION_DEPTH
749+#define DEFAULT_RECURSION_DEPTH 7
750+#endif
751+
752+/* The default maximum number of iterative queries to allow before giving up. */
753+#ifndef DEFAULT_MAX_QUERIES
754+#define DEFAULT_MAX_QUERIES 50
755+#endif
756+
757 /*%
758 * Maximum EDNS0 input packet size.
759 */
760@@ -297,6 +307,7 @@ struct fetchctx {
761 isc_uint64_t duration;
762 isc_boolean_t logged;
763 unsigned int querysent;
764+ unsigned int totalqueries;
765 unsigned int referrals;
766 unsigned int lamecount;
767 unsigned int neterr;
768@@ -307,6 +318,7 @@ struct fetchctx {
769 isc_boolean_t timeout;
770 dns_adbaddrinfo_t *addrinfo;
771 isc_sockaddr_t *client;
772+ unsigned int depth;
773 };
774
775 #define FCTX_MAGIC ISC_MAGIC('F', '!', '!', '!')
776@@ -419,6 +431,7 @@ struct dns_resolver {
777 isc_timer_t * spillattimer;
778 isc_boolean_t zero_no_soa_ttl;
779 unsigned int query_timeout;
780+ unsigned int maxdepth;
781
782 /* Locked by lock. */
783 unsigned int references;
784@@ -1097,6 +1110,7 @@ fctx_sendevents(fetchctx_t *fctx, isc_result_t result, int line) {
785 event->result == DNS_R_NCACHENXRRSET);
786 }
787
788+ event->qtotal = fctx->totalqueries;
789 isc_task_sendanddetach(&task, ISC_EVENT_PTR(&event));
790 count++;
791 }
792@@ -1537,7 +1551,9 @@ fctx_query(fetchctx_t *fctx, dns_adbaddrinfo_t *addrinfo,
793 if (result != ISC_R_SUCCESS)
794 goto cleanup_dispatch;
795 }
796+
797 fctx->querysent++;
798+ fctx->totalqueries++;
799
800 ISC_LIST_APPEND(fctx->queries, query, link);
801 query->fctx->nqueries++;
802@@ -2194,9 +2210,10 @@ fctx_finddone(isc_task_t *task, isc_event_t *event) {
803 */
804 INSIST(!SHUTTINGDOWN(fctx));
805 fctx->attributes &= ~FCTX_ATTR_ADDRWAIT;
806- if (event->ev_type == DNS_EVENT_ADBMOREADDRESSES)
807+ if (event->ev_type == DNS_EVENT_ADBMOREADDRESSES) {
808 want_try = ISC_TRUE;
809- else {
810+ fctx->totalqueries += find->qtotal;
811+ } else {
812 fctx->findfail++;
813 if (fctx->pending == 0) {
814 /*
815@@ -2479,12 +2496,13 @@ findname(fetchctx_t *fctx, dns_name_t *name, in_port_t port,
816 * See what we know about this address.
817 */
818 find = NULL;
819- result = dns_adb_createfind(fctx->adb,
820- res->buckets[fctx->bucketnum].task,
821- fctx_finddone, fctx, name,
822- &fctx->name, fctx->type,
823- options, now, NULL,
824- res->view->dstport, &find);
825+ result = dns_adb_createfind2(fctx->adb,
826+ res->buckets[fctx->bucketnum].task,
827+ fctx_finddone, fctx, name,
828+ &fctx->name, fctx->type,
829+ options, now, NULL,
830+ res->view->dstport,
831+ fctx->depth + 1, &find);
832 if (result != ISC_R_SUCCESS) {
833 if (result == DNS_R_ALIAS) {
834 /*
835@@ -2592,6 +2610,11 @@ fctx_getaddresses(fetchctx_t *fctx, isc_boolean_t badcache) {
836
837 res = fctx->res;
838
839+ if (fctx->depth > res->maxdepth) {
840+ FCTXTRACE("too much NS indirection");
841+ return (DNS_R_SERVFAIL);
842+ }
843+
844 /*
845 * Forwarders.
846 */
847@@ -3030,6 +3053,9 @@ fctx_try(fetchctx_t *fctx, isc_boolean_t retrying, isc_boolean_t badcache) {
848
849 REQUIRE(!ADDRWAIT(fctx));
850
851+ if (fctx->totalqueries > DEFAULT_MAX_QUERIES)
852+ fctx_done(fctx, DNS_R_SERVFAIL, __LINE__);
853+
854 addrinfo = fctx_nextaddress(fctx);
855 if (addrinfo == NULL) {
856 /*
857@@ -3388,6 +3414,7 @@ fctx_start(isc_task_t *task, isc_event_t *event) {
858 * Normal fctx startup.
859 */
860 fctx->state = fetchstate_active;
861+ fctx->totalqueries = 0;
862 /*
863 * Reset the control event for later use in shutting down
864 * the fctx.
865@@ -3457,6 +3484,7 @@ fctx_join(fetchctx_t *fctx, isc_task_t *task, isc_sockaddr_t *client,
866 event->fetch = fetch;
867 event->client = client;
868 event->id = id;
869+ event->qtotal = 0;
870 dns_fixedname_init(&event->foundname);
871
872 /*
873@@ -3493,7 +3521,8 @@ log_ns_ttl(fetchctx_t *fctx, const char *where) {
874 static isc_result_t
875 fctx_create(dns_resolver_t *res, dns_name_t *name, dns_rdatatype_t type,
876 dns_name_t *domain, dns_rdataset_t *nameservers,
877- unsigned int options, unsigned int bucketnum, fetchctx_t **fctxp)
878+ unsigned int options, unsigned int bucketnum, unsigned int depth,
879+ fetchctx_t **fctxp)
880 {
881 fetchctx_t *fctx;
882 isc_result_t result;
883@@ -3545,6 +3574,7 @@ fctx_create(dns_resolver_t *res, dns_name_t *name, dns_rdatatype_t type,
884 fctx->state = fetchstate_init;
885 fctx->want_shutdown = ISC_FALSE;
886 fctx->cloned = ISC_FALSE;
887+ fctx->depth = depth;
888 ISC_LIST_INIT(fctx->queries);
889 ISC_LIST_INIT(fctx->finds);
890 ISC_LIST_INIT(fctx->altfinds);
891@@ -3563,6 +3593,7 @@ fctx_create(dns_resolver_t *res, dns_name_t *name, dns_rdatatype_t type,
892 fctx->pending = 0;
893 fctx->restarts = 0;
894 fctx->querysent = 0;
895+ fctx->totalqueries = 0;
896 fctx->referrals = 0;
897 TIME_NOW(&fctx->start);
898 fctx->timeouts = 0;
899@@ -7781,6 +7812,7 @@ dns_resolver_create(dns_view_t *view,
900 res->spillattimer = NULL;
901 res->zero_no_soa_ttl = ISC_FALSE;
902 res->query_timeout = DEFAULT_QUERY_TIMEOUT;
903+ res->maxdepth = DEFAULT_RECURSION_DEPTH;
904 res->nbuckets = ntasks;
905 res->activebuckets = ntasks;
906 res->buckets = isc_mem_get(view->mctx,
907@@ -8219,9 +8251,9 @@ dns_resolver_createfetch(dns_resolver_t *res, dns_name_t *name,
908 dns_rdataset_t *sigrdataset,
909 dns_fetch_t **fetchp)
910 {
911- return (dns_resolver_createfetch2(res, name, type, domain,
912+ return (dns_resolver_createfetch3(res, name, type, domain,
913 nameservers, forwarders, NULL, 0,
914- options, task, action, arg,
915+ options, 0, task, action, arg,
916 rdataset, sigrdataset, fetchp));
917 }
918
919@@ -8237,6 +8269,25 @@ dns_resolver_createfetch2(dns_resolver_t *res, dns_name_t *name,
920 dns_rdataset_t *sigrdataset,
921 dns_fetch_t **fetchp)
922 {
923+ return (dns_resolver_createfetch3(res, name, type, domain,
924+ nameservers, forwarders, client, id,
925+ options, 0, task, action, arg,
926+ rdataset, sigrdataset, fetchp));
927+}
928+
929+isc_result_t
930+dns_resolver_createfetch3(dns_resolver_t *res, dns_name_t *name,
931+ dns_rdatatype_t type,
932+ dns_name_t *domain, dns_rdataset_t *nameservers,
933+ dns_forwarders_t *forwarders,
934+ isc_sockaddr_t *client, dns_messageid_t id,
935+ unsigned int options, unsigned int depth,
936+ isc_task_t *task,
937+ isc_taskaction_t action, void *arg,
938+ dns_rdataset_t *rdataset,
939+ dns_rdataset_t *sigrdataset,
940+ dns_fetch_t **fetchp)
941+{
942 dns_fetch_t *fetch;
943 fetchctx_t *fctx = NULL;
944 isc_result_t result = ISC_R_SUCCESS;
945@@ -8325,11 +8376,12 @@ dns_resolver_createfetch2(dns_resolver_t *res, dns_name_t *name,
946
947 if (fctx == NULL) {
948 result = fctx_create(res, name, type, domain, nameservers,
949- options, bucketnum, &fctx);
950+ options, bucketnum, depth, &fctx);
951 if (result != ISC_R_SUCCESS)
952 goto unlock;
953 new_fctx = ISC_TRUE;
954- }
955+ } else if (fctx->depth > depth)
956+ fctx->depth = depth;
957
958 result = fctx_join(fctx, task, client, id, action, arg,
959 rdataset, sigrdataset, fetch);
960@@ -9101,3 +9153,15 @@ dns_resolver_settimeout(dns_resolver_t *resolver, unsigned int seconds) {
961
962 resolver->query_timeout = seconds;
963 }
964+
965+void
966+dns_resolver_setmaxdepth(dns_resolver_t *resolver, unsigned int maxdepth) {
967+ REQUIRE(VALID_RESOLVER(resolver));
968+ resolver->maxdepth = maxdepth;
969+}
970+
971+unsigned int
972+dns_resolver_getmaxdepth(dns_resolver_t *resolver) {
973+ REQUIRE(VALID_RESOLVER(resolver));
974+ return (resolver->maxdepth);
975+}
976diff --git a/lib/isccfg/namedconf.c b/lib/isccfg/namedconf.c
977index bfd4bab..5f8b037 100644
978--- a/lib/isccfg/namedconf.c
979+++ b/lib/isccfg/namedconf.c
980@@ -1393,6 +1393,7 @@ view_clauses[] = {
981 { "max-cache-ttl", &cfg_type_uint32, 0 },
982 { "max-clients-per-query", &cfg_type_uint32, 0 },
983 { "max-ncache-ttl", &cfg_type_uint32, 0 },
984+ { "max-recursion-depth", &cfg_type_uint32, 0 },
985 { "max-udp-size", &cfg_type_uint32, 0 },
986 { "min-roots", &cfg_type_uint32, CFG_CLAUSEFLAG_NOTIMP },
987 { "minimal-responses", &cfg_type_boolean, 0 },
988--
9891.9.1
990
diff --git a/meta/recipes-connectivity/bind/bind/bind9_9_5-CVE-2015-5477.patch b/meta/recipes-connectivity/bind/bind/bind9_9_5-CVE-2015-5477.patch
new file mode 100644
index 0000000000..896272a471
--- /dev/null
+++ b/meta/recipes-connectivity/bind/bind/bind9_9_5-CVE-2015-5477.patch
@@ -0,0 +1,45 @@
1From dbb064aa7972ef918d9a235b713108a4846cbb62 Mon Sep 17 00:00:00 2001
2From: Mark Andrews <marka@isc.org>
3Date: Tue, 14 Jul 2015 14:48:42 +1000
4Subject: [PATCH] 4165. [bug] An failure to reset a value to NULL
5 in tkey.c could result in an assertion failure.
6 (CVE-2015-5477) [RT #40046]
7
8Upstream-Status: Backport
9[CHANGES file has been edited manually to add CVE-2015-5477 and
10an already applied CVE (CVE-2014-8500)].
11
12Referenc: https://kb.isc.org/article/AA-01272
13
14Signed-off-by: Sona Sarmadi <sona.sarmadi@enea.com>
15
16diff -ruN a/CHANGES b/CHANGES
17--- a/CHANGES 2014-01-27 19:58:24.000000000 +0100
18+++ b/CHANGES 2015-07-30 11:03:18.871670769 +0200
19@@ -1,4 +1,15 @@
20 --- 9.9.5 released ---
21+4165. [security] An failure to reset a value to NULL in tkey.c could
22+ result in an assertion failure. (CVE-2015-5477)
23+ [RT #40046]
24+
25+4006. [security] A flaw in delegation handling could be exploited
26+ to put named into an infinite loop. This has
27+ been addressed by placing limits on the number
28+ of levels of recursion named will allow (default 7),
29+ and the number of iterative queries that it will
30+ send (default 50) before terminating a recursive
31+ query (CVE-2014-8500).
32
33 --- 9.9.5rc2 released ---
34
35diff -ruN a/lib/dns/tkey.c b/lib/dns/tkey.c
36--- a/lib/dns/tkey.c 2014-01-27 19:58:24.000000000 +0100
37+++ b/lib/dns/tkey.c 2015-07-30 10:58:30.647945942 +0200
38@@ -650,6 +650,7 @@
39 * Try the answer section, since that's where Win2000
40 * puts it.
41 */
42+ name = NULL;
43 if (dns_message_findname(msg, DNS_SECTION_ANSWER, qname,
44 dns_rdatatype_tkey, 0, &name,
45 &tkeyset) != ISC_R_SUCCESS) {
diff --git a/meta/recipes-connectivity/bind/bind/conf.patch b/meta/recipes-connectivity/bind/bind/conf.patch
new file mode 100644
index 0000000000..432c8741cf
--- /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+ chmod 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 0000000000..4c37b6b00c
--- /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 0000000000..288e58bb60
--- /dev/null
+++ b/meta/recipes-connectivity/bind/bind/dont-test-on-host.patch
@@ -0,0 +1,17 @@
1Upstream-Status: Pending
2
3Signed-off-by Saul Wold <sgw@linux.intel.com>
4
5Index: bind-9.9.5/bin/Makefile.in
6===================================================================
7--- bind-9.9.5.orig/bin/Makefile.in
8+++ bind-9.9.5/bin/Makefile.in
9@@ -19,7 +19,7 @@ srcdir = @srcdir@
10 VPATH = @srcdir@
11 top_srcdir = @top_srcdir@
12
13-SUBDIRS = named rndc dig dnssec tools tests nsupdate \
14+SUBDIRS = named rndc dig dnssec tools nsupdate \
15 check confgen @PYTHON_TOOLS@ @PKCS11_TOOLS@
16 TARGETS =
17
diff --git a/meta/recipes-connectivity/bind/bind/generate-rndc-key.sh b/meta/recipes-connectivity/bind/bind/generate-rndc-key.sh
new file mode 100644
index 0000000000..db201270fa
--- /dev/null
+++ b/meta/recipes-connectivity/bind/bind/generate-rndc-key.sh
@@ -0,0 +1,7 @@
1#!/bin/sh
2
3if [ ! -s /etc/bind/rndc.key ]; then
4 echo -n "Generating /etc/bind/rndc.key:"
5 /usr/sbin/rndc-confgen -a -b 512 -r /dev/urandom
6 chmod 0640 /etc/bind/rndc.key
7fi
diff --git a/meta/recipes-connectivity/bind/bind/init.d-add-support-for-read-only-rootfs.patch b/meta/recipes-connectivity/bind/bind/init.d-add-support-for-read-only-rootfs.patch
new file mode 100644
index 0000000000..11db95ede1
--- /dev/null
+++ b/meta/recipes-connectivity/bind/bind/init.d-add-support-for-read-only-rootfs.patch
@@ -0,0 +1,65 @@
1Subject: init.d: add support for read-only rootfs
2
3Upstream-Status: Inappropriate [oe specific]
4
5Signed-off-by: Chen Qi <Qi.Chen@windriver.com>
6---
7 init.d | 40 ++++++++++++++++++++++++++++++++++++++++
8 1 file changed, 40 insertions(+)
9
10diff --git a/init.d b/init.d
11index 0111ed4..24677c8 100644
12--- a/init.d
13+++ b/init.d
14@@ -6,8 +6,48 @@ PATH=/sbin:/bin:/usr/sbin:/usr/bin
15 # Don't modify this line, change or create /etc/default/bind9.
16 OPTIONS=""
17
18+test -f /etc/default/rcS && . /etc/default/rcS
19 test -f /etc/default/bind9 && . /etc/default/bind9
20
21+# This function is here because it's possible that /var and / are on different partitions.
22+is_on_read_only_partition () {
23+ DIRECTORY=$1
24+ dir=`readlink -f $DIRECTORY`
25+ while true; do
26+ if [ ! -d "$dir" ]; then
27+ echo "ERROR: $dir is not a directory"
28+ exit 1
29+ else
30+ for flag in `awk -v dir=$dir '{ if ($2 == dir) { print "FOUND"; split($4,FLAGS,",") } }; \
31+ END { for (f in FLAGS) print FLAGS[f] }' < /proc/mounts`; do
32+ [ "$flag" = "FOUND" ] && partition="read-write"
33+ [ "$flag" = "ro" ] && { partition="read-only"; break; }
34+ done
35+ if [ "$dir" = "/" -o -n "$partition" ]; then
36+ break
37+ else
38+ dir=`dirname $dir`
39+ fi
40+ fi
41+ done
42+ [ "$partition" = "read-only" ] && echo "yes" || echo "no"
43+}
44+
45+bind_mount () {
46+ olddir=$1
47+ newdir=$2
48+ mkdir -p $olddir
49+ cp -a $newdir/* $olddir
50+ mount --bind $olddir $newdir
51+}
52+
53+# Deal with read-only rootfs
54+if [ "$ROOTFS_READ_ONLY" = "yes" ]; then
55+ [ "$VERBOSE" != "no" ] && echo "WARN: start bind service in read-only rootfs"
56+ [ `is_on_read_only_partition /etc/bind` = "yes" ] && bind_mount /var/volatile/bind/etc /etc/bind
57+ [ `is_on_read_only_partition /var/named` = "yes" ] && bind_mount /var/volatile/bind/named /var/named
58+fi
59+
60 test -x /usr/sbin/rndc || exit 0
61
62 case "$1" in
63--
641.7.9.5
65
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 0000000000..146f3e35db
--- /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 0000000000..2930796b6a
--- /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/named.service b/meta/recipes-connectivity/bind/bind/named.service
new file mode 100644
index 0000000000..cda56ef015
--- /dev/null
+++ b/meta/recipes-connectivity/bind/bind/named.service
@@ -0,0 +1,22 @@
1[Unit]
2Description=Berkeley Internet Name Domain (DNS)
3Wants=nss-lookup.target
4Before=nss-lookup.target
5After=network.target
6
7[Service]
8Type=forking
9EnvironmentFile=-/etc/default/bind9
10PIDFile=/run/named/named.pid
11
12ExecStartPre=@SBINDIR@/generate-rndc-key.sh
13ExecStart=@SBINDIR@/named $OPTIONS
14
15ExecReload=@BASE_BINDIR@/sh -c '@SBINDIR@/rndc reload > /dev/null 2>&1 || @BASE_BINDIR@/kill -HUP $MAINPID'
16
17ExecStop=@BASE_BINDIR@/sh -c '@SBINDIR@/rndc stop > /dev/null 2>&1 || @BASE_BINDIR@/kill -TERM $MAINPID'
18
19PrivateTmp=true
20
21[Install]
22WantedBy=multi-user.target
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 0000000000..e206cc45d8
--- /dev/null
+++ b/meta/recipes-connectivity/bind/bind_9.9.5.bb
@@ -0,0 +1,99 @@
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 file://generate-rndc-key.sh \
17 file://named.service \
18 file://bind9 \
19 file://init.d-add-support-for-read-only-rootfs.patch \
20 file://bind9_9_5-CVE-2014-8500.patch \
21 file://bind9_9_5-CVE-2015-5477.patch \
22 "
23
24SRC_URI[md5sum] = "e676c65cad5234617ee22f48e328c24e"
25SRC_URI[sha256sum] = "d4b64c1dde442145a316679acff2df4008aa117ae52dfa3a6bc69efecc7840d1"
26
27# --enable-exportlib is necessary for building dhcp
28ENABLE_IPV6 = "--enable-ipv6=${@bb.utils.contains('DISTRO_FEATURES', 'ipv6', 'yes', 'no', d)}"
29EXTRA_OECONF = " ${ENABLE_IPV6} --with-randomdev=/dev/random --disable-threads \
30 --disable-devpoll --disable-epoll --with-gost=no \
31 --with-gssapi=no --with-ecdsa=yes \
32 --sysconfdir=${sysconfdir}/bind \
33 --with-openssl=${STAGING_LIBDIR}/.. --with-libxml2=${STAGING_LIBDIR}/.. \
34 --enable-exportlib --with-export-includedir=${includedir} --with-export-libdir=${libdir} \
35 "
36inherit autotools-brokensep update-rc.d systemd useradd
37
38USERADD_PACKAGES = "${PN}"
39USERADD_PARAM_${PN} = "--system --home /var/cache/bind --no-create-home \
40 --user-group bind"
41
42INITSCRIPT_NAME = "bind"
43INITSCRIPT_PARAMS = "defaults"
44
45SYSTEMD_SERVICE_${PN} = "named.service"
46
47PARALLEL_MAKE = ""
48
49RDEPENDS_${PN} = "python-core"
50
51PACKAGE_BEFORE_PN += "${PN}-utils"
52FILES_${PN}-utils = "${bindir}/host ${bindir}/dig"
53FILES_${PN}-dev += "${bindir}/isc-config.h"
54FILES_${PN} += "${sbindir}/generate-rndc-key.sh"
55
56do_install_prepend() {
57 # clean host path in isc-config.sh before the hardlink created
58 # by "make install":
59 # bind9-config -> isc-config.sh
60 sed -i -e "s,${STAGING_LIBDIR},${libdir}," ${S}/isc-config.sh
61}
62
63do_install_append() {
64 rm "${D}${bindir}/nslookup"
65 rm "${D}${mandir}/man1/nslookup.1"
66 rmdir "${D}${localstatedir}/run"
67 rmdir --ignore-fail-on-non-empty "${D}${localstatedir}"
68 install -d "${D}${localstatedir}/cache/bind"
69 install -d "${D}${sysconfdir}/bind"
70 install -d "${D}${sysconfdir}/init.d"
71 install -m 644 ${S}/conf/* "${D}${sysconfdir}/bind/"
72 install -m 755 "${S}/init.d" "${D}${sysconfdir}/init.d/bind"
73 sed -i -e '1s,#!.*python,#! /usr/bin/env python,' ${D}${sbindir}/dnssec-coverage ${D}${sbindir}/dnssec-checkds
74
75 # Install systemd related files
76 install -d ${D}${localstatedir}/cache/bind
77 install -d ${D}${sbindir}
78 install -m 755 ${WORKDIR}/generate-rndc-key.sh ${D}${sbindir}
79 install -d ${D}${systemd_unitdir}/system
80 install -m 0644 ${WORKDIR}/named.service ${D}${systemd_unitdir}/system
81 sed -i -e 's,@BASE_BINDIR@,${base_bindir},g' \
82 -e 's,@SBINDIR@,${sbindir},g' \
83 ${D}${systemd_unitdir}/system/named.service
84
85 install -d ${D}${sysconfdir}/default
86 install -m 0644 ${WORKDIR}/bind9 ${D}${sysconfdir}/default
87}
88
89CONFFILES_${PN} = " \
90 ${sysconfdir}/bind/named.conf \
91 ${sysconfdir}/bind/named.conf.local \
92 ${sysconfdir}/bind/named.conf.options \
93 ${sysconfdir}/bind/db.0 \
94 ${sysconfdir}/bind/db.127 \
95 ${sysconfdir}/bind/db.empty \
96 ${sysconfdir}/bind/db.local \
97 ${sysconfdir}/bind/db.root \
98 "
99
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 0000000000..0c77f1a20d
--- /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 0000000000..3950630a86
--- /dev/null
+++ b/meta/recipes-connectivity/bluez/bluez-hcidump_2.5.bb
@@ -0,0 +1,22 @@
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"
6# hcidump was integrated into bluez5
7DEPENDS = "bluez4"
8RCONFLICTS_${PN} = "bluez5"
9LICENSE = "GPLv2+"
10LIC_FILES_CHKSUM = "file://COPYING;md5=eb723b61539feef013de476e68b5c50a \
11 file://src/hcidump.c;beginline=1;endline=23;md5=3bee3a162dff43a5be7470710b99fbcf"
12PR = "r1"
13
14SRC_URI = "http://www.kernel.org/pub/linux/bluetooth/bluez-hcidump-${PV}.tar.gz \
15 file://obsolete_automake_macros.patch \
16"
17
18SRC_URI[md5sum] = "2eab54bbd2b59a2ed4274ebb9390cf18"
19SRC_URI[sha256sum] = "9b7c52b375081883738cf049ecabc103b97d094b19c6544fb241267905d88881"
20S = "${WORKDIR}/bluez-hcidump-${PV}"
21
22inherit 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 0000000000..ca5e9e4f2f
--- /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 0000000000..80899148ee
--- /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 0000000000..23f7d999b3
--- /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 0000000000..37f919926e
--- /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 0000000000..1068f2482a
--- /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 0000000000..98fab458b0
--- /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 0000000000..37037f52e3
--- /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 0000000000..11c961617a
--- /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 ${@bb.utils.contains('DISTRO_FEATURES', 'alsa', 'alsa', '', d)}\
15 ${@bb.utils.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 pkgconfig
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 0000000000..28a94ed127
--- /dev/null
+++ b/meta/recipes-connectivity/bluez/bluez4_4.101.bb
@@ -0,0 +1,46 @@
1require bluez4.inc
2
3PR = "r11"
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 0000000000..f2dc0da06c
--- /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 0000000000..b385a916ef
--- /dev/null
+++ b/meta/recipes-connectivity/bluez5/bluez5.inc
@@ -0,0 +1,79 @@
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"
10PROVIDES += "bluez-hcidump"
11RPROVIDES_${PN} += "bluez-hcidump"
12
13RCONFLICTS_${PN} = "bluez4"
14
15PACKAGECONFIG ??= "${@bb.utils.contains('DISTRO_FEATURES', 'alsa', 'alsa', '', d)} obex-profiles"
16PACKAGECONFIG[obex-profiles] = "--enable-obex,--disable-obex,libical"
17
18SRC_URI = "\
19 ${KERNELORG_MIRROR}/linux/bluetooth/bluez-${PV}.tar.xz \
20 file://bluetooth.conf \
21"
22S = "${WORKDIR}/bluez-${PV}"
23
24inherit autotools-brokensep pkgconfig systemd
25
26EXTRA_OECONF = "\
27 --enable-tools \
28 --disable-cups \
29 --enable-test \
30 --enable-datafiles \
31 ${@bb.utils.contains('DISTRO_FEATURES', 'systemd', '--with-systemdunitdir=${systemd_unitdir}/system/', '--disable-systemd', d)} \
32 --enable-library \
33"
34
35do_install_append() {
36 install -d ${D}${sysconfdir}/bluetooth/
37 if [ -f ${S}/profiles/audio/audio.conf ]; then
38 install -m 0644 ${S}/profiles/audio/audio.conf ${D}/${sysconfdir}/bluetooth/
39 fi
40 if [ -f ${S}/profiles/network/network.conf ]; then
41 install -m 0644 ${S}/profiles/network/network.conf ${D}/${sysconfdir}/bluetooth/
42 fi
43 if [ -f ${S}/profiles/input/input.conf ]; then
44 install -m 0644 ${S}/profiles/input/input.conf ${D}/${sysconfdir}/bluetooth/
45 fi
46 # at_console doesn't really work with the current state of OE, so punch some more holes so people can actually use BT
47 install -m 0644 ${WORKDIR}/bluetooth.conf ${D}/${sysconfdir}/dbus-1/system.d/
48}
49
50ALLOW_EMPTY_libasound-module-bluez = "1"
51PACKAGES =+ "libasound-module-bluez ${PN}-testtools ${PN}-obex"
52
53FILES_libasound-module-bluez = "${libdir}/alsa-lib/lib*.so ${datadir}/alsa"
54FILES_${PN} += "${libdir}/bluetooth/plugins ${libdir}/bluetooth/plugins/*.so ${base_libdir}/udev/ ${nonarch_base_libdir}/udev/ ${systemd_unitdir}/ ${datadir}/dbus-1"
55FILES_${PN}-dev += "\
56 ${libdir}/bluetooth/plugins/*.la \
57 ${libdir}/alsa-lib/*.la \
58"
59
60FILES_${PN}-obex = "${libdir}/bluez5/bluetooth/obexd \
61 ${exec_prefix}/lib/systemd/user/obex.service \
62 ${datadir}/dbus-1/services/org.bluez.obex.service \
63 "
64SYSTEMD_SERVICE_${PN}-obex = "obex.service"
65
66FILES_${PN}-testtools = "${libdir}/bluez/test/*"
67
68FILES_${PN}-dbg += "\
69 ${libdir}/${BPN}/bluetooth/.debug \
70 ${libdir}/bluetooth/plugins/.debug \
71 ${libdir}/*/.debug \
72 */udev/.debug \
73 "
74
75RDEPENDS_${PN}-testtools += "python python-dbus python-pygobject"
76
77SYSTEMD_SERVICE_${PN} = "bluetooth.service"
78
79EXCLUDE_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 0000000000..26845bb73c
--- /dev/null
+++ b/meta/recipes-connectivity/bluez5/bluez5/bluetooth.conf
@@ -0,0 +1,17 @@
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.Agent1"/>
14 <allow send_type="method_call"/>
15 </policy>
16
17</busconfig>
diff --git a/meta/recipes-connectivity/bluez5/bluez5_5.22.bb b/meta/recipes-connectivity/bluez5/bluez5_5.22.bb
new file mode 100644
index 0000000000..04116ed9d0
--- /dev/null
+++ b/meta/recipes-connectivity/bluez5/bluez5_5.22.bb
@@ -0,0 +1,3 @@
1require bluez5.inc
2SRC_URI[md5sum] = "fd0783c8bc524bc9b26514aad1f85814"
3SRC_URI[sha256sum] = "e8b866515a18116c7048a55081be9238a51447c9448ed20997b0432b13ba0882"
diff --git a/meta/recipes-connectivity/connman/connman-conf.bb b/meta/recipes-connectivity/connman/connman-conf.bb
new file mode 100644
index 0000000000..af726401e2
--- /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 0000000000..c46899ef32
--- /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 0000000000..42998ce897
--- /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 0000000000..4f36b95601
--- /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/connman-gnome-fix-dbus-interface-name.patch b/meta/recipes-connectivity/connman/connman-gnome/connman-gnome-fix-dbus-interface-name.patch
new file mode 100644
index 0000000000..0be516f054
--- /dev/null
+++ b/meta/recipes-connectivity/connman/connman-gnome/connman-gnome-fix-dbus-interface-name.patch
@@ -0,0 +1,186 @@
1connman-gnome: fix dbus interface name
2
3This patch resolves following error:
4
5"connman-dbus.xml": "connman" is not a valid D-Bus interface name
6
7https://502552.bugs.gentoo.org/attachment.cgi?id=380652
8
9Upstream-Status: Backport
10
11Signed-off-by: Chong Lu <Chong.Lu@windriver.com>
12---
13 common/connman-client.c | 24 ++++++++++++------------
14 common/connman-client.h | 4 ++--
15 common/connman-dbus.c | 6 +++---
16 common/connman-dbus.xml | 2 +-
17 4 files changed, 18 insertions(+), 18 deletions(-)
18
19diff --git a/common/connman-client.c b/common/connman-client.c
20index c55e25c..9d818b2 100644
21--- a/common/connman-client.c
22+++ b/common/connman-client.c
23@@ -289,7 +289,7 @@ gboolean connman_client_set_ipv4(ConnmanClient *client, const gchar *device,
24
25 g_value_init(&value, DBUS_TYPE_G_DICTIONARY);
26 g_value_set_boxed(&value, ipv4);
27- ret = connman_set_property(proxy, "IPv4.Configuration", &value, NULL);
28+ ret = net_connman_set_property(proxy, "IPv4.Configuration", &value, NULL);
29
30 g_object_unref(proxy);
31
32@@ -317,7 +317,7 @@ void connman_client_set_powered(ConnmanClient *client, const gchar *device,
33 g_value_set_boolean(&value, powered);
34
35 error = NULL;
36- connman_set_property(proxy, "Powered", &value, &error);
37+ net_connman_set_property(proxy, "Powered", &value, &error);
38 if( error )
39 fprintf (stderr, "error: %s\n", error->message);
40
41@@ -325,7 +325,7 @@ void connman_client_set_powered(ConnmanClient *client, const gchar *device,
42 }
43
44 void connman_client_scan(ConnmanClient *client, const gchar *device,
45- connman_scan_reply callback, gpointer user_data)
46+ net_connman_scan_reply callback, gpointer user_data)
47 {
48 ConnmanClientPrivate *priv = CONNMAN_CLIENT_GET_PRIVATE(client);
49 DBusGProxy *proxy;
50@@ -339,7 +339,7 @@ void connman_client_scan(ConnmanClient *client, const gchar *device,
51 if (proxy == NULL)
52 return;
53
54- connman_scan_async(proxy, callback, user_data);
55+ net_connman_scan_async(proxy, callback, user_data);
56
57 g_object_unref(proxy);
58 }
59@@ -353,7 +353,7 @@ gboolean connman_client_get_offline_status(ConnmanClient *client)
60
61 DBG("client %p", client);
62
63- ret = connman_get_properties(priv->manager, &hash, NULL);
64+ ret = net_connman_get_properties(priv->manager, &hash, NULL);
65
66 if (ret == FALSE)
67 goto done;
68@@ -375,7 +375,7 @@ void connman_client_set_offlinemode(ConnmanClient *client, gboolean status)
69 g_value_init(&value, G_TYPE_BOOLEAN);
70 g_value_set_boolean(&value, status);
71
72- connman_set_property(priv->manager, "OfflineMode", &value, NULL);
73+ net_connman_set_property(priv->manager, "OfflineMode", &value, NULL);
74 }
75
76 static gboolean network_disconnect(GtkTreeModel *model, GtkTreePath *path,
77@@ -398,7 +398,7 @@ static gboolean network_disconnect(GtkTreeModel *model, GtkTreePath *path,
78 return TRUE;
79
80 if (type == CONNMAN_TYPE_WIFI)
81- connman_disconnect(proxy, NULL);
82+ net_connman_disconnect(proxy, NULL);
83
84 g_object_unref(proxy);
85
86@@ -422,13 +422,13 @@ void connman_client_connect(ConnmanClient *client, const gchar *network)
87 if (proxy == NULL)
88 return;
89
90- connman_connect(proxy, NULL);
91+ net_connman_connect(proxy, NULL);
92
93 g_object_unref(proxy);
94 }
95
96 void connman_client_connect_async(ConnmanClient *client, const gchar *network,
97- connman_connect_reply callback, gpointer userdata)
98+ net_connman_connect_reply callback, gpointer userdata)
99 {
100 ConnmanClientPrivate *priv = CONNMAN_CLIENT_GET_PRIVATE(client);
101 DBusGProxy *proxy;
102@@ -446,7 +446,7 @@ void connman_client_connect_async(ConnmanClient *client, const gchar *network,
103 if (proxy == NULL)
104 goto done;
105
106- connman_connect_async(proxy, callback, userdata);
107+ net_connman_connect_async(proxy, callback, userdata);
108
109 done:
110 return;
111@@ -476,7 +476,7 @@ void connman_client_disconnect(ConnmanClient *client, const gchar *network)
112 if (proxy == NULL)
113 return;
114
115- connman_disconnect(proxy, NULL);
116+ net_connman_disconnect(proxy, NULL);
117
118 g_object_unref(proxy);
119 }
120@@ -532,7 +532,7 @@ void connman_client_remove(ConnmanClient *client, const gchar *network)
121 if (proxy == NULL)
122 return;
123
124- connman_remove(proxy, NULL);
125+ net_connman_remove(proxy, NULL);
126
127 g_object_unref(proxy);
128 }
129diff --git a/common/connman-client.h b/common/connman-client.h
130index 9e2e6d5..98241de 100644
131--- a/common/connman-client.h
132+++ b/common/connman-client.h
133@@ -70,13 +70,13 @@ void connman_client_set_powered(ConnmanClient *client, const gchar *device,
134 gboolean connman_client_set_ipv4(ConnmanClient *client, const gchar *device,
135 struct ipv4_config *ipv4_config);
136 void connman_client_scan(ConnmanClient *client, const gchar *device,
137- connman_scan_reply callback, gpointer user_data);
138+ net_connman_scan_reply callback, gpointer user_data);
139
140 void connman_client_connect(ConnmanClient *client, const gchar *network);
141 void connman_client_disconnect(ConnmanClient *client, const gchar *network);
142 gchar *connman_client_get_security(ConnmanClient *client, const gchar *network);
143 void connman_client_connect_async(ConnmanClient *client, const gchar *network,
144- connman_connect_reply callback, gpointer userdata);
145+ net_connman_connect_reply callback, gpointer userdata);
146 void connman_client_set_remember(ConnmanClient *client, const gchar *network,
147 gboolean remember);
148
149diff --git a/common/connman-dbus.c b/common/connman-dbus.c
150index b82b3e1..543eb43 100644
151--- a/common/connman-dbus.c
152+++ b/common/connman-dbus.c
153@@ -655,15 +655,15 @@ DBusGProxy *connman_dbus_create_manager(DBusGConnection *conn,
154
155 DBG("getting manager properties");
156
157- connman_get_properties_async(proxy, manager_properties, store);
158+ net_connman_get_properties_async(proxy, manager_properties, store);
159
160 DBG("getting technologies");
161
162- connman_get_technologies_async(proxy, manager_technologies, store);
163+ net_connman_get_technologies_async(proxy, manager_technologies, store);
164
165 DBG("getting services");
166
167- connman_get_services_async(proxy, manager_services, store);
168+ net_connman_get_services_async(proxy, manager_services, store);
169
170 return proxy;
171 }
172diff --git a/common/connman-dbus.xml b/common/connman-dbus.xml
173index 56b9582..0199d52 100644
174--- a/common/connman-dbus.xml
175+++ b/common/connman-dbus.xml
176@@ -1,7 +1,7 @@
177 <?xml version="1.0" encoding="UTF-8" ?>
178
179 <node name="/">
180- <interface name="connman">
181+ <interface name="net.connman">
182 <method name="GetProperties">
183 <arg type="a{sv}" direction="out"/>
184 </method>
185--
1861.9.1
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 0000000000..33247c1e2d
--- /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 0000000000..a94fb952ff
--- /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 0000000000..b5eb405a90
--- /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 0000000000..be54419fa7
--- /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 0000000000..1c40ac9a10
--- /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 0000000000..0421cda0b2
--- /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 0000000000..f5575d2938
--- /dev/null
+++ b/meta/recipes-connectivity/connman/connman-gnome_0.7.bb
@@ -0,0 +1,28 @@
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 file://connman-gnome-fix-dbus-interface-name.patch \
18 "
19
20S = "${WORKDIR}/git"
21
22inherit autotools-brokensep gtk-icon-cache pkgconfig
23
24RDEPENDS_${PN} = "connman"
25
26do_install_append() {
27 install -m 0644 ${WORKDIR}/images/* ${D}/usr/share/icons/hicolor/22x22/apps/
28}
diff --git a/meta/recipes-connectivity/connman/connman.inc b/meta/recipes-connectivity/connman/connman.inc
new file mode 100644
index 0000000000..f121a81f1e
--- /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=486a279a6ab0c8d152bcda3a5b5edc36"
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 ${@bb.utils.contains('DISTRO_FEATURES', 'systemd', '--with-systemdunitdir=${systemd_unitdir}/system/', '--with-systemdunitdir=', d)} \
31"
32
33PACKAGECONFIG ??= "wispr \
34 ${@bb.utils.contains('DISTRO_FEATURES', 'wifi','wifi', '', d)} \
35 ${@bb.utils.contains('DISTRO_FEATURES', 'bluetooth','bluetooth', '', d)} \
36 ${@bb.utils.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 ${@bb.utils.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 ${@bb.utils.contains('PACKAGECONFIG', 'bluetooth','connman-plugin-bluetooth', '', d)} \
110 ${@bb.utils.contains('PACKAGECONFIG', 'wifi','connman-plugin-wifi', '', d)} \
111 ${@bb.utils.contains('PACKAGECONFIG', '3g','connman-plugin-ofono', '', d)} \
112 "
113
114RDEPENDS_${PN} = "\
115 dbus \
116 ${@bb.utils.contains('PACKAGECONFIG', 'bluetooth', 'bluez4', '', d)} \
117 ${@bb.utils.contains('PACKAGECONFIG', 'wifi','wpa-supplicant', '', d)} \
118 ${@bb.utils.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} += "${@bb.utils.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} += "${@bb.utils.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} += "${@bb.utils.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} += "${@bb.utils.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 0000000000..e6f03e632e
--- /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 0000000000..707b3cafba
--- /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 0000000000..bf7a94a06d
--- /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.25.bb b/meta/recipes-connectivity/connman/connman_1.25.bb
new file mode 100644
index 0000000000..1758c95ee1
--- /dev/null
+++ b/meta/recipes-connectivity/connman/connman_1.25.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] = "a449d2e49871494506e48765747e6624"
9SRC_URI[sha256sum] = "c1d266d6be18d2f66231f3537a7ed17b57637ca43c27328bc13c508cbeacce6e"
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 0000000000..4949e0201e
--- /dev/null
+++ b/meta/recipes-connectivity/dhcp/dhcp.inc
@@ -0,0 +1,115 @@
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 file://dhcpd.service file://dhcrelay.service"
21
22inherit autotools systemd
23
24SYSTEMD_PACKAGES = "${PN}-server ${PN}-relay"
25SYSTEMD_SERVICE_${PN}-server = "dhcpd.service"
26SYSTEMD_AUTO_ENABLE_${PN}-server = "disable"
27
28SYSTEMD_SERVICE_${PN}-relay = "dhcrelay.service"
29SYSTEMD_AUTO_ENABLE_${PN}-relay = "disable"
30
31TARGET_CFLAGS += "-D_GNU_SOURCE"
32EXTRA_OECONF = "--with-srv-lease-file=${localstatedir}/lib/dhcp/dhcpd.leases \
33 --with-srv6-lease-file=${localstatedir}/lib/dhcp/dhcpd6.leases \
34 --with-cli-lease-file=${localstatedir}/lib/dhcp/dhclient.leases \
35 --with-cli6-lease-file=${localstatedir}/lib/dhcp/dhclient6.leases \
36 --with-libbind=${STAGING_LIBDIR}/ \
37 "
38
39do_compile_prepend () {
40 cp -f ${WORKDIR}/site.h ${S}/includes
41}
42
43do_install_append () {
44 install -d ${D}${sysconfdir}/init.d
45 install -d ${D}${sysconfdir}/default
46 install -d ${D}${sysconfdir}/dhcp
47 install -m 0755 ${WORKDIR}/init-relay ${D}${sysconfdir}/init.d/dhcp-relay
48 install -m 0644 ${WORKDIR}/default-relay ${D}${sysconfdir}/default/dhcp-relay
49 install -m 0755 ${WORKDIR}/init-server ${D}${sysconfdir}/init.d/dhcp-server
50 install -m 0644 ${WORKDIR}/default-server ${D}${sysconfdir}/default/dhcp-server
51
52 rm -f ${D}${sysconfdir}/dhclient.conf*
53 rm -f ${D}${sysconfdir}/dhcpd.conf*
54 install -m 0644 ${WORKDIR}/dhclient.conf ${D}${sysconfdir}/dhcp/dhclient.conf
55 install -m 0644 ${WORKDIR}/dhcpd.conf ${D}${sysconfdir}/dhcp/dhcpd.conf
56
57 install -d ${D}${base_sbindir}/
58 if [ "${sbindir}" != "${base_sbindir}" ]; then
59 mv ${D}${sbindir}/dhclient ${D}${base_sbindir}/
60 fi
61 install -m 0755 ${S}/client/scripts/linux ${D}${base_sbindir}/dhclient-script
62
63 # Install systemd unit files
64 install -d ${D}${systemd_unitdir}/system
65 install -m 0644 ${WORKDIR}/dhcpd.service ${D}${systemd_unitdir}/system
66 install -m 0644 ${WORKDIR}/dhcrelay.service ${D}${systemd_unitdir}/system
67 sed -i -e 's,@SBINDIR@,${sbindir},g' ${D}${systemd_unitdir}/system/dhcpd.service ${D}${systemd_unitdir}/system/dhcrelay.service
68 sed -i -e 's,@SYSCONFDIR@,${sysconfdir},g' ${D}${systemd_unitdir}/system/dhcpd.service
69}
70
71PACKAGES += "dhcp-server dhcp-server-config dhcp-client dhcp-relay dhcp-omshell"
72
73FILES_${PN} = ""
74RDEPENDS_${PN}-dev = ""
75RDEPENDS_${PN}-staticdev = ""
76
77FILES_dhcp-server = "${sbindir}/dhcpd ${sysconfdir}/init.d/dhcp-server"
78RRECOMMENDS_dhcp-server = "dhcp-server-config"
79
80FILES_dhcp-server-config = "${sysconfdir}/default/dhcp-server ${sysconfdir}/dhcp/dhcpd.conf"
81
82FILES_dhcp-relay = "${sbindir}/dhcrelay ${sysconfdir}/init.d/dhcp-relay ${sysconfdir}/default/dhcp-relay"
83
84FILES_dhcp-client = "${base_sbindir}/dhclient ${base_sbindir}/dhclient-script ${sysconfdir}/dhcp/dhclient.conf"
85RDEPENDS_dhcp-client = "bash"
86
87FILES_dhcp-omshell = "${bindir}/omshell"
88
89pkg_postinst_dhcp-server() {
90 mkdir -p $D/${localstatedir}/lib/dhcp
91 touch $D/${localstatedir}/lib/dhcp/dhcpd.leases
92 touch $D/${localstatedir}/lib/dhcp/dhcpd6.leases
93}
94
95pkg_postinst_dhcp-client() {
96 mkdir -p $D/${localstatedir}/lib/dhcp
97}
98
99pkg_postrm_dhcp-server() {
100 rm -f $D/${localstatedir}/lib/dhcp/dhcpd.leases
101 rm -f $D/${localstatedir}/lib/dhcp/dhcpd6.leases
102
103 if ! rmdir $D/${localstatedir}/lib/dhcp 2>/dev/null; then
104 echo "Not removing ${localstatedir}/lib/dhcp as it is non-empty."
105 fi
106}
107
108pkg_postrm_dhcp-client() {
109 rm -f $D/${localstatedir}/lib/dhcp/dhclient.leases
110 rm -f $D/${localstatedir}/lib/dhcp/dhclient6.leases
111
112 if ! rmdir $D/${localstatedir}/lib/dhcp 2>/dev/null; then
113 echo "Not removing ${localstatedir}/lib/dhcp as it is non-empty."
114 fi
115}
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 0000000000..47ea5554b8
--- /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 0000000000..b4a666d106
--- /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 0000000000..a291fdaf52
--- /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 0000000000..e686afd2d2
--- /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 0000000000..57e10b0297
--- /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/replace-ifconfig-route.patch b/meta/recipes-connectivity/dhcp/dhcp/replace-ifconfig-route.patch
new file mode 100644
index 0000000000..61dd6a7186
--- /dev/null
+++ b/meta/recipes-connectivity/dhcp/dhcp/replace-ifconfig-route.patch
@@ -0,0 +1,176 @@
1Found this patch here:
2https://lists.isc.org/pipermail/dhcp-users/2011-January/012910.html
3
4and made some adjustments/updates to make it work with this version.
5Wasn't able to find that why this patch was not accepted by ISC DHCP developers.
6
7Upstream-Status: Pending
8
9Signed-off-by: Muhammad Shakeel <muhammad_shakeel@mentor.com>
10
11--- dhcp-4.2.5-P1/client/scripts/linux.orig 2013-09-04 12:22:55.000000000 +0500
12+++ dhcp-4.2.5-P1/client/scripts/linux 2013-09-04 12:52:19.068761518 +0500
13@@ -103,17 +103,11 @@
14 if [ x$old_broadcast_address != x ]; then
15 old_broadcast_arg="broadcast $old_broadcast_address"
16 fi
17-if [ x$new_subnet_mask != x ]; then
18- new_subnet_arg="netmask $new_subnet_mask"
19-fi
20-if [ x$old_subnet_mask != x ]; then
21- old_subnet_arg="netmask $old_subnet_mask"
22-fi
23-if [ x$alias_subnet_mask != x ]; then
24- alias_subnet_arg="netmask $alias_subnet_mask"
25+if [ -n "$new_subnet_mask" ]; then
26+ new_mask="/$new_subnet_mask"
27 fi
28-if [ x$new_interface_mtu != x ]; then
29- mtu_arg="mtu $new_interface_mtu"
30+if [ -n "$alias_subnet_mask" ]; then
31+ alias_mask="/$alias_subnet_mask"
32 fi
33 if [ x$IF_METRIC != x ]; then
34 metric_arg="metric $IF_METRIC"
35@@ -127,9 +121,9 @@
36 if [ x$reason = xPREINIT ]; then
37 if [ x$alias_ip_address != x ]; then
38 # Bring down alias interface. Its routes will disappear too.
39- ifconfig $interface:0- inet 0
40+ ${ip} -4 addr flush dev ${interface} label ${interface}:0
41 fi
42- ifconfig $interface 0 up
43+ ${ip} link set dev ${interface} up
44
45 # We need to give the kernel some time to get the interface up.
46 sleep 1
47@@ -156,25 +150,30 @@
48 if [ x$old_ip_address != x ] && [ x$alias_ip_address != x ] && \
49 [ x$alias_ip_address != x$old_ip_address ]; then
50 # Possible new alias. Remove old alias.
51- ifconfig $interface:0- inet 0
52+ ${ip} -4 addr flush dev ${interface} label ${interface}:0
53 fi
54 if [ x$old_ip_address != x ] && [ x$old_ip_address != x$new_ip_address ]; then
55 # IP address changed. Bringing down the interface will delete all routes,
56 # and clear the ARP cache.
57- ifconfig $interface inet 0 down
58+ ${ip} -4 addr flush dev ${interface} label ${interface}
59
60 fi
61 if [ x$old_ip_address = x ] || [ x$old_ip_address != x$new_ip_address ] || \
62 [ x$reason = xBOUND ] || [ x$reason = xREBOOT ]; then
63
64- ifconfig $interface inet $new_ip_address $new_subnet_arg \
65- $new_broadcast_arg $mtu_arg
66+ ${ip} -4 addr add ${new_ip_address}${new_mask} ${new_broadcast_arg} \
67+ dev ${interface} label ${interface}
68+ if [ -n "$new_interface_mtu" ]; then
69+ # set MTU
70+ ${ip} link set dev ${interface} mtu ${new_interface_mtu}
71+ fi
72 # Add a network route to the computed network address.
73 for router in $new_routers; do
74 if [ "x$new_subnet_mask" = "x255.255.255.255" ] ; then
75- route add -host $router dev $interface
76+ ${ip} -4 route add ${router} dev $interface >/dev/null 2>&1
77 fi
78- route add default gw $router $metric_arg dev $interface
79+ ${ip} -4 route add default via ${router} dev ${interface} \
80+ ${metric_arg} >/dev/null 2>&1
81 done
82 else
83 # we haven't changed the address, have we changed other options
84@@ -182,21 +181,23 @@
85 if [ x$new_routers != x ] && [ x$new_routers != x$old_routers ] ; then
86 # if we've changed routers delete the old and add the new.
87 for router in $old_routers; do
88- route del default gw $router
89+ ${ip} -4 route delete default via ${router}
90 done
91 for router in $new_routers; do
92 if [ "x$new_subnet_mask" = "x255.255.255.255" ] ; then
93- route add -host $router dev $interface
94- fi
95- route add default gw $router $metric_arg dev $interface
96+ ${ip} -4 route add ${router} dev $interface >/dev/null 2>&1
97+ fi
98+ ${ip} -4 route add default via ${router} dev ${interface} \
99+ ${metric_arg} >/dev/null 2>&1
100 done
101 fi
102 fi
103 if [ x$new_ip_address != x$alias_ip_address ] && [ x$alias_ip_address != x ];
104 then
105- ifconfig $interface:0- inet 0
106- ifconfig $interface:0 inet $alias_ip_address $alias_subnet_arg
107- route add -host $alias_ip_address $interface:0
108+ ${ip} -4 addr flush dev ${interface} label ${interface}:0
109+ ${ip} -4 addr add ${alias_ip_address}${alias_mask} \
110+ dev ${interface} label ${interface}:0
111+ ${ip} -4 route add ${alias_ip_address} dev ${interface} >/dev/null 2>&1
112 fi
113 make_resolv_conf
114 exit_with_hooks 0
115@@ -206,42 +207,49 @@
116 || [ x$reason = xSTOP ]; then
117 if [ x$alias_ip_address != x ]; then
118 # Turn off alias interface.
119- ifconfig $interface:0- inet 0
120+ ${ip} -4 addr flush dev ${interface} label ${interface}:0
121 fi
122 if [ x$old_ip_address != x ]; then
123 # Shut down interface, which will delete routes and clear arp cache.
124- ifconfig $interface inet 0 down
125+ ${ip} -4 addr flush dev ${interface} label ${interface}
126 fi
127 if [ x$alias_ip_address != x ]; then
128- ifconfig $interface:0 inet $alias_ip_address $alias_subnet_arg
129- route add -host $alias_ip_address $interface:0
130+ ${ip} -4 addr add ${alias_ip_address}${alias_network_arg} \
131+ dev ${interface} label ${interface}:0
132+ ${ip} -4 route add ${alias_ip_address} dev ${interface} >/dev/null 2>&1
133 fi
134 exit_with_hooks 0
135 fi
136
137 if [ x$reason = xTIMEOUT ]; then
138 if [ x$alias_ip_address != x ]; then
139- ifconfig $interface:0- inet 0
140+ ${ip} -4 addr flush dev ${interface} label ${interface}:0
141+ fi
142+ ${ip} -4 addr add ${new_ip_address}${new_mask} ${new_broadcast_arg} \
143+ dev ${interface} label ${interface}
144+ if [ -n "$new_interface_mtu" ]; then
145+ # set MTU
146+ ip link set dev ${interface} mtu ${new_interface_mtu}
147 fi
148- ifconfig $interface inet $new_ip_address $new_subnet_arg \
149- $new_broadcast_arg $mtu_arg
150 set $new_routers
151 if ping -q -c 1 $1; then
152 if [ x$new_ip_address != x$alias_ip_address ] && \
153 [ x$alias_ip_address != x ]; then
154- ifconfig $interface:0 inet $alias_ip_address $alias_subnet_arg
155- route add -host $alias_ip_address dev $interface:0
156+ ${ip} -4 addr add ${alias_ip_address}${alias_mask} \
157+ dev ${interface} label ${interface}:0
158+ ${ip} -4 route add ${alias_ip_address} dev ${interface} >/dev/null 2>&1
159 fi
160 for router in $new_routers; do
161 if [ "x$new_subnet_mask" = "x255.255.255.255" ] ; then
162- route add -host $router dev $interface
163+ ${ip} -4 route add ${router} dev $interface >/dev/null 2>&1
164 fi
165- route add default gw $router $metric_arg dev $interface
166+ ${ip} -4 route add default via ${router} dev ${interface} \
167+ ${metric_arg} >/dev/null 2>&1
168 done
169 make_resolv_conf
170 exit_with_hooks 0
171 fi
172- ifconfig $interface inet 0 down
173+ ${ip} -4 addr flush dev ${interface}
174 exit_with_hooks 1
175 fi
176
diff --git a/meta/recipes-connectivity/dhcp/dhcp/site.h b/meta/recipes-connectivity/dhcp/dhcp/site.h
new file mode 100644
index 0000000000..2289554ef3
--- /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 */
20#define _PATH_DHCPD_CONF "/etc/dhcp/dhcpd.conf"
21#define _PATH_DHCLIENT_CONF "/etc/dhcp/dhclient.conf"
diff --git a/meta/recipes-connectivity/dhcp/dhcp_4.3.0.bb b/meta/recipes-connectivity/dhcp/dhcp_4.3.0.bb
new file mode 100644
index 0000000000..13bcceb5a8
--- /dev/null
+++ b/meta/recipes-connectivity/dhcp/dhcp_4.3.0.bb
@@ -0,0 +1,12 @@
1require dhcp.inc
2
3SRC_URI += "file://dhcp-3.0.3-dhclient-dbus.patch;striplevel=0 \
4 file://fix-external-bind.patch \
5 file://link-with-lcrypto.patch \
6 file://fixsepbuild.patch \
7 file://dhclient-script-drop-resolv.conf.dhclient.patch \
8 file://replace-ifconfig-route.patch \
9 "
10
11SRC_URI[md5sum] = "1020d77e1a4c1f01b76279caff9beb80"
12SRC_URI[sha256sum] = "a7b6517d5cf32c5e49d2323a63de00efe5391df7cb0045dfa0ec8f6ee46ebe8a"
diff --git a/meta/recipes-connectivity/dhcp/files/default-relay b/meta/recipes-connectivity/dhcp/files/default-relay
new file mode 100644
index 0000000000..7961f014be
--- /dev/null
+++ b/meta/recipes-connectivity/dhcp/files/default-relay
@@ -0,0 +1,12 @@
1# Defaults for dhcp-relay initscript
2# sourced by /etc/init.d/dhcp-relay
3
4# What servers should the DHCP relay forward requests to?
5# e.g: SERVERS="192.168.0.1"
6SERVERS=""
7
8# On what interfaces should the DHCP relay (dhrelay) serve DHCP requests?
9INTERFACES=""
10
11# Additional options that are passed to the DHCP relay daemon?
12OPTIONS=""
diff --git a/meta/recipes-connectivity/dhcp/files/default-server b/meta/recipes-connectivity/dhcp/files/default-server
new file mode 100644
index 0000000000..0385d16992
--- /dev/null
+++ b/meta/recipes-connectivity/dhcp/files/default-server
@@ -0,0 +1,7 @@
1# Defaults for dhcp initscript
2# sourced by /etc/init.d/dhcp-server
3# installed at /etc/default/dhcp-server by the maintainer scripts
4
5# On what interfaces should the DHCP server (dhcpd) serve DHCP requests?
6# Separate multiple interfaces with spaces, e.g. "eth0 eth1".
7INTERFACES=""
diff --git a/meta/recipes-connectivity/dhcp/files/dhclient.conf b/meta/recipes-connectivity/dhcp/files/dhclient.conf
new file mode 100644
index 0000000000..0e6dcf96c2
--- /dev/null
+++ b/meta/recipes-connectivity/dhcp/files/dhclient.conf
@@ -0,0 +1,50 @@
1# Configuration file for /sbin/dhclient, which is included in Debian's
2# dhcp3-client package.
3#
4# This is a sample configuration file for dhclient. See dhclient.conf's
5# man page for more information about the syntax of this file
6# and a more comprehensive list of the parameters understood by
7# dhclient.
8#
9# Normally, if the DHCP server provides reasonable information and does
10# not leave anything out (like the domain name, for example), then
11# few changes must be made to this file, if any.
12#
13
14#send host-name "andare.fugue.com";
15#send dhcp-client-identifier 1:0:a0:24:ab:fb:9c;
16#send dhcp-lease-time 3600;
17#supersede domain-name "fugue.com home.vix.com";
18#prepend domain-name-servers 127.0.0.1;
19request subnet-mask, broadcast-address, time-offset, routers,
20 domain-name, domain-name-servers, host-name,
21 netbios-name-servers, netbios-scope;
22#require subnet-mask, domain-name-servers;
23#timeout 60;
24#retry 60;
25#reboot 10;
26#select-timeout 5;
27#initial-interval 2;
28#script "/etc/dhcp3/dhclient-script";
29#media "-link0 -link1 -link2", "link0 link1";
30#reject 192.33.137.209;
31
32#alias {
33# interface "eth0";
34# fixed-address 192.5.5.213;
35# option subnet-mask 255.255.255.255;
36#}
37
38#lease {
39# interface "eth0";
40# fixed-address 192.33.137.200;
41# medium "link0 link1";
42# option host-name "andare.swiftmedia.com";
43# option subnet-mask 255.255.255.0;
44# option broadcast-address 192.33.137.255;
45# option routers 192.33.137.250;
46# option domain-name-servers 127.0.0.1;
47# renew 2 2000/1/12 00:00:01;
48# rebind 2 2000/1/12 00:00:01;
49# expire 2 2000/1/12 00:00:01;
50#}
diff --git a/meta/recipes-connectivity/dhcp/files/dhcpd.conf b/meta/recipes-connectivity/dhcp/files/dhcpd.conf
new file mode 100644
index 0000000000..0001c0f00e
--- /dev/null
+++ b/meta/recipes-connectivity/dhcp/files/dhcpd.conf
@@ -0,0 +1,108 @@
1#
2# Sample configuration file for ISC dhcpd for Debian
3#
4# $Id: dhcpd.conf,v 1.1.1.1 2002/05/21 00:07:44 peloy Exp $
5#
6
7# The ddns-updates-style parameter controls whether or not the server will
8# attempt to do a DNS update when a lease is confirmed. We default to the
9# behavior of the version 2 packages ('none', since DHCP v2 didn't
10# have support for DDNS.)
11ddns-update-style none;
12
13# option definitions common to all supported networks...
14option domain-name "example.org";
15option domain-name-servers ns1.example.org, ns2.example.org;
16
17default-lease-time 600;
18max-lease-time 7200;
19
20# If this DHCP server is the official DHCP server for the local
21# network, the authoritative directive should be uncommented.
22#authoritative;
23
24# Use this to send dhcp log messages to a different log file (you also
25# have to hack syslog.conf to complete the redirection).
26log-facility local7;
27
28# No service will be given on this subnet, but declaring it helps the
29# DHCP server to understand the network topology.
30
31#subnet 10.152.187.0 netmask 255.255.255.0 {
32#}
33
34# This is a very basic subnet declaration.
35
36#subnet 10.254.239.0 netmask 255.255.255.224 {
37# range 10.254.239.10 10.254.239.20;
38# option routers rtr-239-0-1.example.org, rtr-239-0-2.example.org;
39#}
40
41# This declaration allows BOOTP clients to get dynamic addresses,
42# which we don't really recommend.
43
44#subnet 10.254.239.32 netmask 255.255.255.224 {
45# range dynamic-bootp 10.254.239.40 10.254.239.60;
46# option broadcast-address 10.254.239.31;
47# option routers rtr-239-32-1.example.org;
48#}
49
50# A slightly different configuration for an internal subnet.
51#subnet 10.5.5.0 netmask 255.255.255.224 {
52# range 10.5.5.26 10.5.5.30;
53# option domain-name-servers ns1.internal.example.org;
54# option domain-name "internal.example.org";
55# option routers 10.5.5.1;
56# option broadcast-address 10.5.5.31;
57# default-lease-time 600;
58# max-lease-time 7200;
59#}
60
61# Hosts which require special configuration options can be listed in
62# host statements. If no address is specified, the address will be
63# allocated dynamically (if possible), but the host-specific information
64# will still come from the host declaration.
65
66#host passacaglia {
67# hardware ethernet 0:0:c0:5d:bd:95;
68# filename "vmunix.passacaglia";
69# server-name "toccata.fugue.com";
70#}
71
72# Fixed IP addresses can also be specified for hosts. These addresses
73# should not also be listed as being available for dynamic assignment.
74# Hosts for which fixed IP addresses have been specified can boot using
75# BOOTP or DHCP. Hosts for which no fixed address is specified can only
76# be booted with DHCP, unless there is an address range on the subnet
77# to which a BOOTP client is connected which has the dynamic-bootp flag
78# set.
79#host fantasia {
80# hardware ethernet 08:00:07:26:c0:a5;
81# fixed-address fantasia.fugue.com;
82#}
83
84# You can declare a class of clients and then do address allocation
85# based on that. The example below shows a case where all clients
86# in a certain class get addresses on the 10.17.224/24 subnet, and all
87# other clients get addresses on the 10.0.29/24 subnet.
88
89#class "foo" {
90# match if substring (option vendor-class-identifier, 0, 4) = "SUNW";
91#}
92
93#shared-network 224-29 {
94# subnet 10.17.224.0 netmask 255.255.255.0 {
95# option routers rtr-224.example.org;
96# }
97# subnet 10.0.29.0 netmask 255.255.255.0 {
98# option routers rtr-29.example.org;
99# }
100# pool {
101# allow members of "foo";
102# range 10.17.224.10 10.17.224.250;
103# }
104# pool {
105# deny members of "foo";
106# range 10.0.29.10 10.0.29.230;
107# }
108#}
diff --git a/meta/recipes-connectivity/dhcp/files/dhcpd.service b/meta/recipes-connectivity/dhcp/files/dhcpd.service
new file mode 100644
index 0000000000..8648f1a253
--- /dev/null
+++ b/meta/recipes-connectivity/dhcp/files/dhcpd.service
@@ -0,0 +1,11 @@
1[Unit]
2Description=DHCP Server Daemon
3After=network.target
4After=time-sync.target
5
6[Service]
7EnvironmentFile=@SYSCONFDIR@/default/dhcp-server
8ExecStart=-@SBINDIR@/dhcpd -q $INTERFACES
9
10[Install]
11WantedBy=multi-user.target
diff --git a/meta/recipes-connectivity/dhcp/files/dhcrelay.service b/meta/recipes-connectivity/dhcp/files/dhcrelay.service
new file mode 100644
index 0000000000..a2d818917d
--- /dev/null
+++ b/meta/recipes-connectivity/dhcp/files/dhcrelay.service
@@ -0,0 +1,9 @@
1[Unit]
2Description=DHCP Relay Agent Daemon
3After=network.target
4
5[Service]
6ExecStart=@SBINDIR@/dhcrelay -d --no-pid
7
8[Install]
9WantedBy=multi-user.target
diff --git a/meta/recipes-connectivity/dhcp/files/init-relay b/meta/recipes-connectivity/dhcp/files/init-relay
new file mode 100644
index 0000000000..019a7e84cf
--- /dev/null
+++ b/meta/recipes-connectivity/dhcp/files/init-relay
@@ -0,0 +1,44 @@
1#!/bin/sh
2#
3# $Id: dhcp3-relay,v 1.1 2004/04/16 15:41:08 ml Exp $
4#
5
6# It is not safe to start if we don't have a default configuration...
7if [ ! -f /etc/default/dhcp-relay ]; then
8 echo "/etc/default/dhcp-relay does not exist! - Aborting..."
9 echo "create this file to fix the problem."
10 exit 1
11fi
12
13# Read init script configuration (interfaces the daemon should listen on
14# and the DHCP server we should forward requests to.)
15. /etc/default/dhcp-relay
16
17# Build command line for interfaces (will be passed to dhrelay below.)
18IFCMD=""
19if test "$INTERFACES" != ""; then
20 for I in $INTERFACES; do
21 IFCMD=${IFCMD}"-i "${I}" "
22 done
23fi
24
25DHCRELAYPID=/var/run/dhcrelay.pid
26
27case "$1" in
28 start)
29 start-stop-daemon -S -x /usr/sbin/dhcrelay -- -q $OPTIONS $IFCMD $SERVERS
30 ;;
31 stop)
32 start-stop-daemon -K -x /usr/sbin/dhcrelay
33 ;;
34 restart | force-reload)
35 $0 stop
36 sleep 2
37 $0 start
38 ;;
39 *)
40 echo "Usage: /etc/init.d/dhcp-relay {start|stop|restart|force-reload}"
41 exit 1
42esac
43
44exit 0
diff --git a/meta/recipes-connectivity/dhcp/files/init-server b/meta/recipes-connectivity/dhcp/files/init-server
new file mode 100644
index 0000000000..34c20852b9
--- /dev/null
+++ b/meta/recipes-connectivity/dhcp/files/init-server
@@ -0,0 +1,44 @@
1#!/bin/sh
2#
3# $Id: dhcp3-server.init.d,v 1.4 2003/07/13 19:12:41 mdz Exp $
4#
5
6test -f /usr/sbin/dhcpd || exit 0
7
8# It is not safe to start if we don't have a default configuration...
9if [ ! -f /etc/default/dhcp-server ]; then
10 echo "/etc/default/dhcp-server does not exist! - Aborting..."
11 exit 0
12fi
13
14# Read init script configuration (so far only interfaces the daemon
15# should listen on.)
16. /etc/default/dhcp-server
17
18case "$1" in
19 start)
20 echo -n "Starting DHCP server: "
21 test -d /var/lib/dhcp/ || mkdir -p /var/lib/dhcp/
22 test -f /var/lib/dhcp/dhcpd.leases || touch /var/lib/dhcp/dhcpd.leases
23 start-stop-daemon -S -x /usr/sbin/dhcpd -- -q $INTERFACES
24 echo "."
25 ;;
26 stop)
27 echo -n "Stopping DHCP server: dhcpd3"
28 start-stop-daemon -K -x /usr/sbin/dhcpd
29 echo "."
30 ;;
31 restart | force-reload)
32 $0 stop
33 sleep 2
34 $0 start
35 if [ "$?" != "0" ]; then
36 exit 1
37 fi
38 ;;
39 *)
40 echo "Usage: /etc/init.d/dhcp-server {start|stop|restart|force-reload}"
41 exit 1
42esac
43
44exit 0
diff --git a/meta/recipes-connectivity/iproute2/iproute2.inc b/meta/recipes-connectivity/iproute2/iproute2.inc
new file mode 100644
index 0000000000..09ea3d2602
--- /dev/null
+++ b/meta/recipes-connectivity/iproute2/iproute2.inc
@@ -0,0 +1,38 @@
1SUMMARY = "TCP / IP networking and traffic control utilities"
2DESCRIPTION = "Iproute2 is a collection of utilities for controlling \
3TCP / IP networking and traffic control in Linux. Of the utilities ip \
4and tc are the most important. ip controls IPv4 and IPv6 \
5configuration and tc stands for traffic control."
6HOMEPAGE = "http://www.linuxfoundation.org/collaborate/workgroups/networking/iproute2"
7SECTION = "base"
8LICENSE = "GPLv2+"
9LIC_FILES_CHKSUM = "file://COPYING;md5=eb723b61539feef013de476e68b5c50a \
10 file://ip/ip.c;beginline=3;endline=8;md5=689d691d0410a4b64d3899f8d6e31817"
11
12DEPENDS = "flex-native bison-native iptables"
13
14inherit update-alternatives
15
16EXTRA_OEMAKE = "CC='${CC}' KERNEL_INCLUDE=${STAGING_INCDIR} DOCDIR=${docdir}/iproute2 SUBDIRS='lib tc ip' SBINDIR='${base_sbindir}' LIBDIR='${libdir}'"
17
18do_install () {
19 oe_runmake DESTDIR=${D} install
20 mv ${D}${base_sbindir}/ip ${D}${base_sbindir}/ip.iproute2
21 install -d ${D}${datadir}
22 mv ${D}/share/* ${D}${datadir}/ || true
23 rm ${D}/share -rf || true
24}
25
26# The .so files in iproute2-tc are modules, not traditional libraries
27INSANE_SKIP_${PN}-tc = "dev-so"
28
29PACKAGES =+ "${PN}-tc"
30FILES_${PN}-tc = "${base_sbindir}/tc* \
31 ${libdir}/tc/*.so"
32
33FILES_${PN}-dbg += "${libdir}/tc/.debug"
34
35ALTERNATIVE_${PN} = "ip"
36ALTERNATIVE_TARGET[ip] = "${base_sbindir}/ip.${BPN}"
37ALTERNATIVE_LINK_NAME[ip] = "${base_sbindir}/ip"
38ALTERNATIVE_PRIORITY = "100"
diff --git a/meta/recipes-connectivity/iproute2/iproute2/0001-ip-link-Remove-unnecessary-device-checking.patch b/meta/recipes-connectivity/iproute2/iproute2/0001-ip-link-Remove-unnecessary-device-checking.patch
new file mode 100644
index 0000000000..640accefb0
--- /dev/null
+++ b/meta/recipes-connectivity/iproute2/iproute2/0001-ip-link-Remove-unnecessary-device-checking.patch
@@ -0,0 +1,34 @@
1From 38790ccf7bd0e6eab78024ec381fd98d7c6a2782 Mon Sep 17 00:00:00 2001
2From: vadimk <vadim4j@gmail.com>
3Date: Sat, 30 Aug 2014 15:06:00 +0300
4Subject: [PATCH] ip link: Remove unnecessary device checking
5
6The real checking is performed later in iplink_modify(..) func which
7checks device existence if NLM_F_CREATE flag is set.
8
9Also it fixes the case when impossible to add veth link which was
10caused by 9a02651a87 (ip: check for missing dev arg when doing VF rate)
11because these devices are not exist yet.
12
13Signed-off-by: Vadim Kochan <vadim4j@gmail.com>
14Acked-by: Oliver Hartkopp <socketcan@hartkopp.net>
15Signed-off-by: Stephen Hemminger <stephen@networkplumber.org>
16---
17 ip/iplink.c | 2 --
18 1 file changed, 2 deletions(-)
19
20diff --git a/ip/iplink.c b/ip/iplink.c
21index 1a907d9..ea06871 100644
22--- a/ip/iplink.c
23+++ b/ip/iplink.c
24@@ -593,8 +593,6 @@ int iplink_parse(int argc, char **argv, struct iplink_req *req,
25 duparg2("dev", *argv);
26 *dev = *argv;
27 dev_index = ll_name_to_index(*dev);
28- if (dev_index == 0)
29- invarg("Unknown device", *argv);
30 }
31 argc--; argv++;
32 }
33--
341.7.10.4
diff --git a/meta/recipes-connectivity/iproute2/iproute2/0001-iproute2-de-bash-scripts.patch b/meta/recipes-connectivity/iproute2/iproute2/0001-iproute2-de-bash-scripts.patch
new file mode 100644
index 0000000000..39c7d40319
--- /dev/null
+++ b/meta/recipes-connectivity/iproute2/iproute2/0001-iproute2-de-bash-scripts.patch
@@ -0,0 +1,64 @@
1Subject: [PATCH] iproute2: de-bash scripts
2
3de-bash these two scripts to make iproute2 not depend on bash.
4
5Upstream-Status: Pending
6
7Signed-off-by: Chen Qi <Qi.Chen@windriver.com>
8
9---
10 ip/ifcfg | 15 ++++++++-------
11 ip/rtpr | 2 +-
12 2 files changed, 9 insertions(+), 8 deletions(-)
13
14diff --git a/ip/ifcfg b/ip/ifcfg
15index 083d9df..60bcf1f 100644
16--- a/ip/ifcfg
17+++ b/ip/ifcfg
18@@ -1,12 +1,13 @@
19-#! /bin/bash
20+#! /bin/sh
21
22 CheckForwarding () {
23- local sbase fwd
24+ local sbase fwd forwarding
25 sbase=/proc/sys/net/ipv4/conf
26 fwd=0
27 if [ -d $sbase ]; then
28 for dir in $sbase/*/forwarding; do
29- fwd=$[$fwd + `cat $dir`]
30+ forwarding=`cat $dir`
31+ fwd=$(($fwd+$forwarding))
32 done
33 else
34 fwd=2
35@@ -127,12 +128,12 @@ fi
36 arping -q -A -c 1 -I $dev $ipaddr
37 noarp=$?
38 ( sleep 2 ;
39- arping -q -U -c 1 -I $dev $ipaddr ) >& /dev/null </dev/null &
40+ arping -q -U -c 1 -I $dev $ipaddr ) > /dev/null 2>&1 </dev/null &
41
42-ip route add unreachable 224.0.0.0/24 >& /dev/null
43-ip route add unreachable 255.255.255.255 >& /dev/null
44+ip route add unreachable 224.0.0.0/24 > /dev/null 2>&1
45+ip route add unreachable 255.255.255.255 > /dev/null 2>&1
46 if [ `ip link ls $dev | grep -c MULTICAST` -ge 1 ]; then
47- ip route add 224.0.0.0/4 dev $dev scope global >& /dev/null
48+ ip route add 224.0.0.0/4 dev $dev scope global > /dev/null 2>&1
49 fi
50
51 if [ $fwd -eq 0 ]; then
52diff --git a/ip/rtpr b/ip/rtpr
53index c3629fd..674198d 100644
54--- a/ip/rtpr
55+++ b/ip/rtpr
56@@ -1,4 +1,4 @@
57-#! /bin/bash
58+#! /bin/sh
59
60 exec tr "[\\\\]" "[
61 ]"
62--
631.7.9.5
64
diff --git a/meta/recipes-connectivity/iproute2/iproute2/configure-cross.patch b/meta/recipes-connectivity/iproute2/iproute2/configure-cross.patch
new file mode 100644
index 0000000000..866609ca99
--- /dev/null
+++ b/meta/recipes-connectivity/iproute2/iproute2/configure-cross.patch
@@ -0,0 +1,32 @@
1From 85b0589b4843c03e8e6fd9416d71ea449a73c5c0 Mon Sep 17 00:00:00 2001
2From: Koen Kooi <koen@dominion.thruhere.net>
3Date: Thu, 3 Nov 2011 10:46:16 +0100
4Subject: [PATCH] make configure cross compile safe
5
6According to Kevin Tian:
7Upstream-Status: Pending
8
9Signed-off-by: Koen Kooi <koen@dominion.thruhere.net>
10Signed-off-by: Shane Wang <shane.wang@intel.com>
11
12Index: iproute2-3.7.0/configure
13===================================================================
14--- iproute2-3.7.0.orig/configure
15+++ iproute2-3.7.0/configure
16@@ -2,6 +2,7 @@
17 # This is not an autconf generated configure
18 #
19 INCLUDE=${1:-"$PWD/include"}
20+SYSROOT=$1
21
22 # Make a temp directory in build tree.
23 TMPDIR=$(mktemp -d config.XXXXXX)
24@@ -158,7 +159,7 @@ check_ipt_lib_dir()
25 return
26 fi
27
28- for dir in /lib /usr/lib /usr/local/lib
29+ for dir in $SYSROOT/lib $SYSROOT/usr/lib $SYSROOT/usr/local/lib
30 do
31 for file in $dir/{xtables,iptables}/lib*t_*so ; do
32 if [ -f $file ]; then
diff --git a/meta/recipes-connectivity/iproute2/iproute2_3.16.0.bb b/meta/recipes-connectivity/iproute2/iproute2_3.16.0.bb
new file mode 100644
index 0000000000..39fe9c83b8
--- /dev/null
+++ b/meta/recipes-connectivity/iproute2/iproute2_3.16.0.bb
@@ -0,0 +1,13 @@
1require iproute2.inc
2
3SRC_URI = "${KERNELORG_MIRROR}/linux/utils/net/${BPN}/${BP}.tar.xz \
4 file://configure-cross.patch \
5 file://0001-iproute2-de-bash-scripts.patch \
6 file://0001-ip-link-Remove-unnecessary-device-checking.patch \
7 "
8SRC_URI[md5sum] = "6c823b40fdcfa7b8120743349a52ac18"
9SRC_URI[sha256sum] = "1f0a8a6c0e872166f75433f5cbf9766f3002b5c2f13501b3bb8c51846a127b79"
10
11# CFLAGS are computed in Makefile and reference CCOPTS
12#
13EXTRA_OEMAKE_append = " CCOPTS='${CFLAGS}'"
diff --git a/meta/recipes-connectivity/irda-utils/irda-utils-0.9.18/init b/meta/recipes-connectivity/irda-utils/irda-utils-0.9.18/init
new file mode 100755
index 0000000000..6f29e9c6ed
--- /dev/null
+++ b/meta/recipes-connectivity/irda-utils/irda-utils-0.9.18/init
@@ -0,0 +1,78 @@
1#! /bin/sh
2### BEGIN INIT INFO
3# Provides: irda
4# Required-Start: $network $remote_fs
5# Required-Stop: $network $remote_fs
6# Default-Start: 2 3 4 5
7# Default-Stop: 0 1 6
8# Short-Description: Infrared port support
9### END INIT INFO
10
11NAME="irattach"
12test -x "$IRDA_DAEMON" || IRDA_DAEMON=/usr/sbin/irattach
13test -z "$IRATTACH_PID" && IRATTACH_PID=/var/run/irattach.pid
14
15# Source function library.
16. /etc/init.d/functions
17
18module_id() {
19 awk 'BEGIN { FS=": " } /Hardware/ { print $2 } ' </proc/cpuinfo
20}
21
22if [ ! -f /etc/sysconfig/irda ]; then
23 case `module_id` in
24 "HP iPAQ H2200" | "HP iPAQ HX4700" | "HTC Universal")
25 IRDA=yes
26 DEVICE=/dev/ttyS2
27 DONGLE=
28 DISCOVERY=
29 ;;
30 *)
31 IRDA=yes
32 DEVICE=/dev/ttyS1
33 DONGLE=
34 DISCOVERY=
35 ;;
36 esac
37else
38 . /etc/sysconfig/irda
39fi
40
41# Check that irda is up.
42[ ${IRDA} = "no" ] && exit 0
43
44[ -f /usr/sbin/irattach ] || exit 0
45
46ARGS=
47if [ $DONGLE ]; then
48 ARGS="$ARGS -d $DONGLE"
49fi
50if [ "$DISCOVERY" = "yes" ];then
51 ARGS="$ARGS -s"
52fi
53
54case "$1" in
55 start)
56 echo -n "Starting IrDA: $NAME"
57 start-stop-daemon --start --quiet --exec "$IRDA_DAEMON" ${DEVICE} ${ARGS} --pidfile "$IRATTACH_PID"
58 sleep 1
59 [ -f /var/run/irattach.pid ] && echo " done" || echo " fail"
60 ;;
61 stop)
62 echo "Stopping IrDA: $NAME"
63 start-stop-daemon --stop --quiet --exec "$IRDA_DAEMON" --pidfile "$IRATTACH_PID"
64 ;;
65 restart|force-reload)
66 $0 stop
67 $0 start
68 ;;
69 status)
70 status irattach
71 exit $?
72 ;;
73 *)
74 N=/etc/init.d/$NAME
75 echo "Usage: $N {start|stop|restart|force-reload|status}" >&2
76 exit 1
77 ;;
78esac
diff --git a/meta/recipes-connectivity/irda-utils/irda-utils-0.9.18/ldflags.patch b/meta/recipes-connectivity/irda-utils/irda-utils-0.9.18/ldflags.patch
new file mode 100644
index 0000000000..2cdd1ac08b
--- /dev/null
+++ b/meta/recipes-connectivity/irda-utils/irda-utils-0.9.18/ldflags.patch
@@ -0,0 +1,75 @@
1Obey LDFLAGS
2
3Signed-off-by: Christopher Larson <chris_larson@mentor.com>
4Upstream-status: Pending
5
6--- irda-utils-0.9.18.orig/findchip/Makefile
7+++ irda-utils-0.9.18/findchip/Makefile
8@@ -65,5 +65,5 @@ install: findchip
9
10 gfindchip: gfindchip.c
11 $(prn_cc)
12- $(ECMD))$(CC) $(CFLAGS) `gtk-config --cflags` $< -o $@ `gtk-config --libs`
13+ $(ECMD)$(CC) $(CFLAGS) $(LDFLAGS) `gtk-config --cflags` $< -o $@ `gtk-config --libs`
14
15--- irda-utils-0.9.18.orig/irattach/Makefile
16+++ irda-utils-0.9.18/irattach/Makefile
17@@ -49,13 +49,13 @@ all: $(TARGETS)
18
19 irattach: irattach.o util.o
20 $(prn_cc_o)
21- $(ECMD)$(CC) $(CFLAGS) irattach.o util.o -o $@
22+ $(ECMD)$(CC) $(CFLAGS) $(LDFLAGS) irattach.o util.o -o $@
23
24
25
26 dongle_attach: dongle_attach.o
27 $(prn_cc_o)
28- $(ECMD)$(CC) $(CFLAGS) dongle_attach.o -o $@
29+ $(ECMD)$(CC) $(CFLAGS) $(LDFLAGS) dongle_attach.o -o $@
30
31
32 install: $(TARGETS)
33--- irda-utils-0.9.18.orig/irdadump/Makefile
34+++ irda-utils-0.9.18/irdadump/Makefile
35@@ -40,7 +40,7 @@ lib_irdadump.a: $(LIBIRDADUMP_OBJS)
36
37 irdadump: $(IRDADUMP_OBJS) $(LIBIRDADUMP_TARGET)
38 $(prn_cc_o)
39- $(ECMD)$(CC) $(CFLAGS) `pkg-config --libs glib-2.0` -o $(IRDADUMP_TARGET) $< $(LIBIRDADUMP_TARGET)
40+ $(ECMD)$(CC) $(CFLAGS) $(LDFLAGS) `pkg-config --libs glib-2.0` -o $(IRDADUMP_TARGET) $< $(LIBIRDADUMP_TARGET)
41
42
43 .c.o:
44--- irda-utils-0.9.18.orig/irdaping/Makefile
45+++ irda-utils-0.9.18/irdaping/Makefile
46@@ -56,7 +56,7 @@ all: $(TARGETS)
47
48 irdaping: $(OBJS)
49 $(prn_cc_o)
50- $(ECMD)$(CC) $(CFLAGS) $(OBJS) -o $@
51+ $(ECMD)$(CC) $(CFLAGS) $(LDFLAGS) $(OBJS) -o $@
52
53
54 .c.o:
55--- irda-utils-0.9.18.orig/irnetd/Makefile
56+++ irda-utils-0.9.18/irnetd/Makefile
57@@ -50,7 +50,7 @@ all: $(TARGETS)
58
59 irnetd: $(OBJS)
60 $(prn_cc_o)
61- $(ECMD)$(CC) $(CFLAGS) $(OBJS) -o $@
62+ $(ECMD)$(CC) $(CFLAGS) $(LDFLAGS) $(OBJS) -o $@
63
64
65 install: irnetd
66--- irda-utils-0.9.18.orig/psion/Makefile
67+++ irda-utils-0.9.18/psion/Makefile
68@@ -25,4 +25,4 @@ install: $(PSION_TARGETS)
69 CFLAGS += -g -I../include -Wall -Wstrict-prototypes $(RPM_OPT_FLAGS)
70 irpsion5:
71 $(prn_cc_o)
72- $(ECMD)$(CC) $(CFLAGS) $(PSION_SRC) -o $@
73\ No newline at end of file
74+ $(ECMD)$(CC) $(CFLAGS) $(LDFLAGS) $(PSION_SRC) -o $@
75\ No newline at end of file
diff --git a/meta/recipes-connectivity/irda-utils/irda-utils_0.9.18.bb b/meta/recipes-connectivity/irda-utils/irda-utils_0.9.18.bb
new file mode 100644
index 0000000000..bd60b9f1e6
--- /dev/null
+++ b/meta/recipes-connectivity/irda-utils/irda-utils_0.9.18.bb
@@ -0,0 +1,47 @@
1SUMMARY = "Common files for IrDA"
2DESCRIPTION = "Provides common files needed to use IrDA. \
3IrDA allows communication over Infrared with other devices \
4such as phones and laptops."
5HOMEPAGE = "http://irda.sourceforge.net/"
6BUGTRACKER = "irda-users@lists.sourceforge.net"
7SECTION = "base"
8LICENSE = "GPLv2+"
9LIC_FILES_CHKSUM = "file://irdadump/COPYING;md5=94d55d512a9ba36caa9b7df079bae19f \
10 file://smcinit/COPYING;md5=0636e73ff0215e8d672dc4c32c317bb3 \
11 file://man/COPYING;md5=94d55d512a9ba36caa9b7df079bae19f \
12 file://irdadump/irdadump.c;beginline=1;endline=24;md5=d78b9dce3cd78c2220250c9c7a2be178"
13
14SRC_URI = "${SOURCEFORGE_MIRROR}/irda/irda-utils-${PV}.tar.gz \
15 file://ldflags.patch \
16 file://init"
17
18SRC_URI[md5sum] = "84dc12aa4c3f61fccb8d8919bf4079bb"
19SRC_URI[sha256sum] = "61980551e46b2eaa9e17ad31cbc1a638074611fc33bff34163d10c7a67a9fdc6"
20
21inherit update-rc.d
22
23EXTRA_OEMAKE = "\
24 'CC=${CC}' \
25 'LD=${LD}' \
26 'CFLAGS=${CFLAGS}' \
27 'LDFLAGS=${LDFLAGS}' \
28 'SYS_INCLUDES=' \
29 'V=1' \
30"
31
32INITSCRIPT_NAME = "irattach"
33INITSCRIPT_PARAMS = "defaults 20"
34
35do_compile () {
36 oe_runmake -C irattach
37 oe_runmake -C irdaping
38}
39
40do_install () {
41 install -d ${D}${sbindir}
42 oe_runmake -C irattach ROOT="${D}" install
43 oe_runmake -C irdaping ROOT="${D}" install
44
45 install -d ${D}${sysconfdir}/init.d
46 install -m 0755 ${WORKDIR}/init ${D}${sysconfdir}/init.d/${INITSCRIPT_NAME}
47}
diff --git a/meta/recipes-connectivity/libnss-mdns/libnss-mdns_0.10.bb b/meta/recipes-connectivity/libnss-mdns/libnss-mdns_0.10.bb
new file mode 100644
index 0000000000..0b936ef092
--- /dev/null
+++ b/meta/recipes-connectivity/libnss-mdns/libnss-mdns_0.10.bb
@@ -0,0 +1,38 @@
1SUMMARY = "Name Service Switch module for Multicast DNS (zeroconf) name resolution"
2HOMEPAGE = "http://0pointer.de/lennart/projects/nss-mdns/"
3SECTION = "libs"
4
5LICENSE = "LGPLv2.1+"
6LIC_FILES_CHKSUM = "file://LICENSE;md5=2d5025d4aa3495befef8f17206a5b0a1"
7
8DEPENDS = "avahi"
9PR = "r7"
10
11SRC_URI = "http://0pointer.de/lennart/projects/nss-mdns/nss-mdns-${PV}.tar.gz"
12
13SRC_URI[md5sum] = "03938f17646efbb50aa70ba5f99f51d7"
14SRC_URI[sha256sum] = "1e683c2e7c3921814706d62fbbd3e9cbf493a75fa00255e0e715508d8134fa6d"
15
16S = "${WORKDIR}/nss-mdns-${PV}"
17
18inherit autotools
19
20EXTRA_OECONF = "--libdir=${base_libdir} --disable-lynx --enable-avahi"
21
22# suppress warning, but don't bother with autonamer
23LEAD_SONAME = "libnss_mdns.so"
24DEBIANNAME_${PN} = "libnss-mdns"
25
26RDEPENDS_${PN} = "avahi-daemon"
27
28pkg_postinst_${PN} () {
29 sed -e '/^hosts:/s/\s*\<mdns\>//' \
30 -e 's/\(^hosts:.*\)\(\<files\>\)\(.*\)\(\<dns\>\)\(.*\)/\1\2 mdns4_minimal [NOTFOUND=return]\3\4 mdns\5/' \
31 -i $D${sysconfdir}/nsswitch.conf
32}
33
34pkg_prerm_${PN} () {
35 sed -e '/^hosts:/s/\s*\<mdns\>//' \
36 -e '/^hosts:/s/\s*mdns4_minimal\s\+\[NOTFOUND=return\]//' \
37 -i $D${sysconfdir}/nsswitch.conf
38}
diff --git a/meta/recipes-connectivity/libpcap/libpcap.inc b/meta/recipes-connectivity/libpcap/libpcap.inc
new file mode 100644
index 0000000000..a12eb16615
--- /dev/null
+++ b/meta/recipes-connectivity/libpcap/libpcap.inc
@@ -0,0 +1,41 @@
1SUMMARY = "Interface for user-level network packet capture"
2DESCRIPTION = "Libpcap provides a portable framework for low-level network \
3monitoring. Libpcap can provide network statistics collection, \
4security monitoring and network debugging."
5HOMEPAGE = "http://www.tcpdump.org/"
6BUGTRACKER = "http://sourceforge.net/tracker/?group_id=53067&atid=469577"
7SECTION = "libs/network"
8LICENSE = "BSD"
9LIC_FILES_CHKSUM = "file://LICENSE;md5=1d4b0366557951c84a94fabe3529f867 \
10 file://pcap.h;beginline=1;endline=32;md5=39af3510e011f34b8872f120b1dc31d2"
11DEPENDS = "flex-native bison-native"
12
13PACKAGECONFIG ??= "${@bb.utils.contains('DISTRO_FEATURES', 'bluetooth', 'bluetooth', '', d)}"
14PACKAGECONFIG[bluetooth] = "--enable-bluetooth,--disable-bluetooth,bluez4"
15PACKAGECONFIG[canusb] = "--enable-canusb,--enable-canusb=no,libusb"
16PACKAGECONFIG[libnl] = "--with-libnl,--without-libnl,libnl"
17
18INC_PR = "r5"
19
20SRC_URI = "http://www.tcpdump.org/release/${BP}.tar.gz"
21
22BINCONFIG = "${bindir}/pcap-config"
23
24inherit autotools binconfig-disabled
25
26EXTRA_OECONF = "--with-pcap=linux"
27
28PACKAGECONFIG ??= ""
29PACKAGECONFIG[libnl1] = "--with-libnl,--without-libnl,libnl1,libnl1"
30PACKAGECONFIG[dbus] = "--enable-dbus,--disable-dbus,dbus"
31
32CPPFLAGS_prepend = "-I${S} "
33CFLAGS_prepend = "-I${S} "
34CXXFLAGS_prepend = "-I${S} "
35
36do_configure_prepend () {
37 if [ ! -e ${S}/acinclude.m4 ]; then
38 cat ${S}/aclocal.m4 > ${S}/acinclude.m4
39 fi
40 sed -i -e's,^V_RPATH_OPT=.*$,V_RPATH_OPT=,' ${S}/pcap-config.in
41}
diff --git a/meta/recipes-connectivity/libpcap/libpcap/aclocal.patch b/meta/recipes-connectivity/libpcap/libpcap/aclocal.patch
new file mode 100644
index 0000000000..21519825c3
--- /dev/null
+++ b/meta/recipes-connectivity/libpcap/libpcap/aclocal.patch
@@ -0,0 +1,167 @@
1Upstream-Status: Inappropriate [configuration]
2
3diff -ruN libpcap-1.1.1-orig/aclocal.m4 libpcap-1.1.1/aclocal.m4
4--- libpcap-1.1.1-orig/aclocal.m4 2010-06-29 10:46:32.815117569 +0800
5+++ libpcap-1.1.1/aclocal.m4 2010-06-29 10:49:17.150149949 +0800
6@@ -37,7 +37,7 @@
7 dnl AC_LBL_C_INIT. Now, we run AC_LBL_C_INIT_BEFORE_CC, AC_PROG_CC,
8 dnl and AC_LBL_C_INIT at the top level.
9 dnl
10-AC_DEFUN(AC_LBL_C_INIT_BEFORE_CC,
11+AC_DEFUN([AC_LBL_C_INIT_BEFORE_CC],
12 [
13 AC_BEFORE([$0], [AC_LBL_C_INIT])
14 AC_BEFORE([$0], [AC_PROG_CC])
15@@ -90,7 +90,7 @@
16 dnl LDFLAGS
17 dnl LBL_CFLAGS
18 dnl
19-AC_DEFUN(AC_LBL_C_INIT,
20+AC_DEFUN([AC_LBL_C_INIT],
21 [
22 AC_BEFORE([$0], [AC_LBL_FIXINCLUDES])
23 AC_BEFORE([$0], [AC_LBL_DEVEL])
24@@ -217,7 +217,7 @@
25 dnl V_SONAME_OPT
26 dnl V_RPATH_OPT
27 dnl
28-AC_DEFUN(AC_LBL_SHLIBS_INIT,
29+AC_DEFUN([AC_LBL_SHLIBS_INIT],
30 [AC_PREREQ(2.50)
31 if test "$GCC" = yes ; then
32 #
33@@ -361,7 +361,7 @@
34 # Make sure we use the V_CCOPT flags, because some of those might
35 # disable inlining.
36 #
37-AC_DEFUN(AC_LBL_C_INLINE,
38+AC_DEFUN([AC_LBL_C_INLINE],
39 [AC_MSG_CHECKING(for inline)
40 save_CFLAGS="$CFLAGS"
41 CFLAGS="$V_CCOPT"
42@@ -407,7 +407,7 @@
43 dnl
44 dnl AC_LBL_FIXINCLUDES
45 dnl
46-AC_DEFUN(AC_LBL_FIXINCLUDES,
47+AC_DEFUN([AC_LBL_FIXINCLUDES],
48 [if test "$GCC" = yes ; then
49 AC_MSG_CHECKING(for ANSI ioctl definitions)
50 AC_CACHE_VAL(ac_cv_lbl_gcc_fixincludes,
51@@ -453,7 +453,7 @@
52 dnl $2 (yacc appended)
53 dnl $3 (optional flex and bison -P prefix)
54 dnl
55-AC_DEFUN(AC_LBL_LEX_AND_YACC,
56+AC_DEFUN([AC_LBL_LEX_AND_YACC],
57 [AC_ARG_WITH(flex, [ --without-flex don't use flex])
58 AC_ARG_WITH(bison, [ --without-bison don't use bison])
59 if test "$with_flex" = no ; then
60@@ -506,7 +506,7 @@
61 dnl
62 dnl DECLWAITSTATUS (defined)
63 dnl
64-AC_DEFUN(AC_LBL_UNION_WAIT,
65+AC_DEFUN([AC_LBL_UNION_WAIT],
66 [AC_MSG_CHECKING(if union wait is used)
67 AC_CACHE_VAL(ac_cv_lbl_union_wait,
68 AC_TRY_COMPILE([
69@@ -535,7 +535,7 @@
70 dnl
71 dnl HAVE_SOCKADDR_SA_LEN (defined)
72 dnl
73-AC_DEFUN(AC_LBL_SOCKADDR_SA_LEN,
74+AC_DEFUN([AC_LBL_SOCKADDR_SA_LEN],
75 [AC_MSG_CHECKING(if sockaddr struct has the sa_len member)
76 AC_CACHE_VAL(ac_cv_lbl_sockaddr_has_sa_len,
77 AC_TRY_COMPILE([
78@@ -560,7 +560,7 @@
79 dnl
80 dnl HAVE_SOCKADDR_STORAGE (defined)
81 dnl
82-AC_DEFUN(AC_LBL_SOCKADDR_STORAGE,
83+AC_DEFUN([AC_LBL_SOCKADDR_STORAGE],
84 [AC_MSG_CHECKING(if sockaddr_storage struct exists)
85 AC_CACHE_VAL(ac_cv_lbl_has_sockaddr_storage,
86 AC_TRY_COMPILE([
87@@ -593,7 +593,7 @@
88 dnl won't be using code that would use that member, or we wouldn't
89 dnl compile in any case).
90 dnl
91-AC_DEFUN(AC_LBL_HP_PPA_INFO_T_DL_MODULE_ID_1,
92+AC_DEFUN([AC_LBL_HP_PPA_INFO_T_DL_MODULE_ID_1],
93 [AC_MSG_CHECKING(if dl_hp_ppa_info_t struct has dl_module_id_1 member)
94 AC_CACHE_VAL(ac_cv_lbl_dl_hp_ppa_info_t_has_dl_module_id_1,
95 AC_TRY_COMPILE([
96@@ -619,7 +619,7 @@
97 dnl
98 dnl ac_cv_lbl_have_run_path (yes or no)
99 dnl
100-AC_DEFUN(AC_LBL_HAVE_RUN_PATH,
101+AC_DEFUN([AC_LBL_HAVE_RUN_PATH],
102 [AC_MSG_CHECKING(for ${CC-cc} -R)
103 AC_CACHE_VAL(ac_cv_lbl_have_run_path,
104 [echo 'main(){}' > conftest.c
105@@ -644,7 +644,7 @@
106 dnl
107 dnl LBL_ALIGN (DEFINED)
108 dnl
109-AC_DEFUN(AC_LBL_UNALIGNED_ACCESS,
110+AC_DEFUN([AC_LBL_UNALIGNED_ACCESS],
111 [AC_MSG_CHECKING(if unaligned accesses fail)
112 AC_CACHE_VAL(ac_cv_lbl_unaligned_fail,
113 [case "$host_cpu" in
114@@ -749,7 +749,7 @@
115 dnl HAVE_OS_PROTO_H (defined)
116 dnl os-proto.h (symlinked)
117 dnl
118-AC_DEFUN(AC_LBL_DEVEL,
119+AC_DEFUN([AC_LBL_DEVEL],
120 [rm -f os-proto.h
121 if test "${LBL_CFLAGS+set}" = set; then
122 $1="$$1 ${LBL_CFLAGS}"
123@@ -886,7 +886,7 @@
124 dnl statically and happen to have a libresolv.a lying around (and no
125 dnl libnsl.a).
126 dnl
127-AC_DEFUN(AC_LBL_LIBRARY_NET, [
128+AC_DEFUN([AC_LBL_LIBRARY_NET], [
129 # Most operating systems have gethostbyname() in the default searched
130 # libraries (i.e. libc):
131 # Some OSes (eg. Solaris) place it in libnsl
132@@ -909,7 +909,7 @@
133 dnl Test for __attribute__
134 dnl
135
136-AC_DEFUN(AC_C___ATTRIBUTE__, [
137+AC_DEFUN([AC_C___ATTRIBUTE__], [
138 AC_MSG_CHECKING(for __attribute__)
139 AC_CACHE_VAL(ac_cv___attribute__, [
140 AC_COMPILE_IFELSE(
141@@ -947,7 +947,7 @@
142 dnl
143 dnl -Scott Barron
144 dnl
145-AC_DEFUN(AC_LBL_TPACKET_STATS,
146+AC_DEFUN([AC_LBL_TPACKET_STATS],
147 [AC_MSG_CHECKING(if if_packet.h has tpacket_stats defined)
148 AC_CACHE_VAL(ac_cv_lbl_tpacket_stats,
149 AC_TRY_COMPILE([
150@@ -976,7 +976,7 @@
151 dnl doesn't have that member (which is OK, as either we won't be using
152 dnl code that would use that member, or we wouldn't compile in any case).
153 dnl
154-AC_DEFUN(AC_LBL_LINUX_TPACKET_AUXDATA_TP_VLAN_TCI,
155+AC_DEFUN([AC_LBL_LINUX_TPACKET_AUXDATA_TP_VLAN_TCI],
156 [AC_MSG_CHECKING(if tpacket_auxdata struct has tp_vlan_tci member)
157 AC_CACHE_VAL(ac_cv_lbl_dl_hp_ppa_info_t_has_dl_module_id_1,
158 AC_TRY_COMPILE([
159@@ -1003,7 +1003,7 @@
160 dnl
161 dnl HAVE_DLPI_PASSIVE (defined)
162 dnl
163-AC_DEFUN(AC_LBL_DL_PASSIVE_REQ_T,
164+AC_DEFUN([AC_LBL_DL_PASSIVE_REQ_T],
165 [AC_MSG_CHECKING(if dl_passive_req_t struct exists)
166 AC_CACHE_VAL(ac_cv_lbl_has_dl_passive_req_t,
167 AC_TRY_COMPILE([
diff --git a/meta/recipes-connectivity/libpcap/libpcap_1.6.1.bb b/meta/recipes-connectivity/libpcap/libpcap_1.6.1.bb
new file mode 100644
index 0000000000..f570ebba95
--- /dev/null
+++ b/meta/recipes-connectivity/libpcap/libpcap_1.6.1.bb
@@ -0,0 +1,22 @@
1require libpcap.inc
2
3SRC_URI += "file://aclocal.patch"
4SRC_URI[md5sum] = "5eb05edf6b6c6e63d536d1c9fbfb2f7c"
5SRC_URI[sha256sum] = "116cbb3ac9e96d5dd7b39638a2f894a67fa3dcf06d794e6dae2b9a942ad13476"
6
7#
8# make install doesn't cover the shared lib
9# make install-shared is just broken (no symlinks)
10#
11
12do_configure_prepend () {
13 #remove hardcoded references to /usr/include
14 sed 's|\([ "^'\''I]\+\)/usr/include/|\1${STAGING_INCDIR}/|g' -i ${S}/configure.in
15}
16
17do_install_prepend () {
18 install -d ${D}${libdir}
19 install -d ${D}${bindir}
20 oe_runmake install-shared DESTDIR=${D}
21 oe_libinstall -a -so libpcap ${D}${libdir}
22}
diff --git a/meta/recipes-connectivity/mobile-broadband-provider-info/mobile-broadband-provider-info_git.bb b/meta/recipes-connectivity/mobile-broadband-provider-info/mobile-broadband-provider-info_git.bb
new file mode 100644
index 0000000000..31cf2bb5fc
--- /dev/null
+++ b/meta/recipes-connectivity/mobile-broadband-provider-info/mobile-broadband-provider-info_git.bb
@@ -0,0 +1,12 @@
1SUMMARY = "Mobile Broadband Service Provider Database"
2SECTION = "network"
3LICENSE = "PD"
4LIC_FILES_CHKSUM = "file://COPYING;md5=87964579b2a8ece4bc6744d2dc9a8b04"
5SRCREV = "d06ebd314a7cdd087d38e4966c19de42c8c55246"
6PV = "20140618+gitr${SRCPV}"
7PE = "1"
8
9SRC_URI = "git://git.gnome.org/mobile-broadband-provider-info"
10S = "${WORKDIR}/git"
11
12inherit autotools
diff --git a/meta/recipes-connectivity/neard/neard.inc b/meta/recipes-connectivity/neard/neard.inc
new file mode 100644
index 0000000000..e714cadc2b
--- /dev/null
+++ b/meta/recipes-connectivity/neard/neard.inc
@@ -0,0 +1,59 @@
1SUMMARY = "Linux NFC daemon"
2DESCRIPTION = "A daemon for the Linux Near Field Communication stack"
3HOMEPAGE = "http://01.org/linux-nfc"
4LICENSE = "GPLv2"
5
6DEPENDS = "dbus glib-2.0 libnl"
7
8LIC_FILES_CHKSUM = "file://COPYING;md5=12f884d2ae1ff87c09e5b7ccc2c4ca7e \
9 file://src/near.h;beginline=1;endline=20;md5=358e4deefef251a4761e1ffacc965d13 \
10 "
11
12inherit autotools-brokensep pkgconfig systemd update-rc.d
13
14EXTRA_OECONF += "--enable-tools"
15
16do_install() {
17 oe_runmake DESTDIR=${D} libexecdir=${libexecdir} install
18}
19
20# This would copy neard start-stop shell and test scripts
21do_install_append() {
22 if ${@bb.utils.contains('DISTRO_FEATURES', 'sysvinit', 'true', 'false', d)}; then
23 install -d ${D}${sysconfdir}/init.d/
24 sed "s:@installpath@:${libexecdir}:" ${WORKDIR}/neard.in \
25 > ${D}${sysconfdir}/init.d/neard
26 chmod 0755 ${D}${sysconfdir}/init.d/neard
27 fi
28
29 if ${@bb.utils.contains('DISTRO_FEATURES', 'systemd', 'true', 'false', d)}; then
30 install -d ${D}${systemd_unitdir}/system
31 sed "s:@installpath@:${libexecdir}:" ${WORKDIR}/neard.service.in \
32 > ${D}${systemd_unitdir}/system/neard.service
33 fi
34
35 # Install the tests for neard-tests
36 install -d ${D}${libdir}/neard
37 install -m 0755 ${S}/test/* ${D}${libdir}/${BPN}/
38 install -m 0755 ${S}/tools/nfctool/nfctool ${D}${libdir}/${BPN}/
39}
40
41PACKAGES =+ "${PN}-tests"
42
43FILES_${PN}-tests = "${libdir}/${BPN}/*-test"
44FILES_${PN}-dbg += "${libdir}/${BPN}/*/.debug"
45
46RDEPENDS_${PN} = "dbus python python-dbus python-pygobject"
47
48# Bluez & Wifi are not mandatory except for handover
49RRECOMMENDS_${PN} = "\
50 ${@bb.utils.contains('DISTRO_FEATURES', 'bluetooth', 'bluez4', '', d)} \
51 ${@bb.utils.contains('DISTRO_FEATURES', 'wifi','wpa-supplicant', '', d)} \
52 "
53
54RDEPENDS_${PN}-tests = "python python-dbus python-pygobject"
55
56INITSCRIPT_NAME = "neard"
57INITSCRIPT_PARAMS = "defaults 64"
58
59SYSTEMD_SERVICE_${PN} = "neard.service"
diff --git a/meta/recipes-connectivity/neard/neard/Makefile.am-fix-parallel-issue.patch b/meta/recipes-connectivity/neard/neard/Makefile.am-fix-parallel-issue.patch
new file mode 100644
index 0000000000..466067693d
--- /dev/null
+++ b/meta/recipes-connectivity/neard/neard/Makefile.am-fix-parallel-issue.patch
@@ -0,0 +1,33 @@
1From 43acc56d5506c7e318f717fb3634bc16e3438913 Mon Sep 17 00:00:00 2001
2From: Robert Yang <liezhi.yang@windriver.com>
3Date: Thu, 15 Jan 2015 18:12:07 -0800
4Subject: [PATCH] Makefile.am: fix parallel issue
5
6There might be no src dir if src/builtin.h runs earlier, create it to
7fix the race issue:
8
9src/genbuiltin nfctype1 nfctype2 nfctype3 nfctype4 p2p > src/builtin.h
10/bin/sh: src/builtin.h: No such file or directory
11
12Upstream-Status: Pending
13
14Signed-off-by: Robert Yang <liezhi.yang@windriver.com>
15---
16 Makefile.am | 1 +
17 1 file changed, 1 insertion(+)
18
19diff --git a/Makefile.am b/Makefile.am
20index 3241311..a43eaa2 100644
21--- a/Makefile.am
22+++ b/Makefile.am
23@@ -164,6 +164,7 @@ MAINTAINERCLEANFILES = Makefile.in \
24 src/plugin.$(OBJEXT): src/builtin.h
25
26 src/builtin.h: src/genbuiltin $(builtin_sources)
27+ $(AM_V_at)$(MKDIR_P) src
28 $(AM_V_GEN)$(srcdir)/src/genbuiltin $(builtin_modules) > $@
29
30 $(src_neard_OBJECTS) \
31--
321.7.9.5
33
diff --git a/meta/recipes-connectivity/neard/neard/neard.in b/meta/recipes-connectivity/neard/neard/neard.in
new file mode 100644
index 0000000000..a47d4d96c9
--- /dev/null
+++ b/meta/recipes-connectivity/neard/neard/neard.in
@@ -0,0 +1,54 @@
1#!/bin/sh
2#
3# start/stop neard daemon.
4
5### BEGIN INIT INFO
6# Provides: neard
7# Required-Start: $network
8# Required-Stop: $network
9# Default-Start: S 2 3 4 5
10# Default-Stop: 0 1 6
11# Short-Description: NFC daemon
12# Description: neard is a daemon used to enable NFC features
13### END INIT INFO
14
15DAEMON=@installpath@/neard
16PIDFILE=/var/run/neard.pid
17DESC="Linux NFC daemon"
18
19if [ -f /etc/default/neard ] ; then
20 . /etc/default/neard
21fi
22
23set -e
24
25do_start() {
26 $DAEMON
27}
28
29do_stop() {
30 start-stop-daemon --stop --name neard --quiet
31}
32
33case "$1" in
34 start)
35 echo "Starting $DESC"
36 do_start
37 ;;
38 stop)
39 echo "Stopping $DESC"
40 do_stop
41 ;;
42 restart|force-reload)
43 echo "Restarting $DESC"
44 do_stop
45 sleep 1
46 do_start
47 ;;
48 *)
49 echo "Usage: $0 {start|stop|restart|force-reload}" >&2
50 exit 1
51 ;;
52esac
53
54exit 0
diff --git a/meta/recipes-connectivity/neard/neard/neard.service.in b/meta/recipes-connectivity/neard/neard/neard.service.in
new file mode 100644
index 0000000000..a6f8a84180
--- /dev/null
+++ b/meta/recipes-connectivity/neard/neard/neard.service.in
@@ -0,0 +1,13 @@
1[Unit]
2Description=neard service
3Documentation=man:neard(8)
4After=syslog.target
5
6[Service]
7Type=dbus
8BusName=org.neard
9ExecStart=@installpath@/neard -n
10
11[Install]
12Alias=dbus-org.neard.service
13WantedBy=multi-user.target
diff --git a/meta/recipes-connectivity/neard/neard/parallel-build.patch b/meta/recipes-connectivity/neard/neard/parallel-build.patch
new file mode 100644
index 0000000000..56247495e5
--- /dev/null
+++ b/meta/recipes-connectivity/neard/neard/parallel-build.patch
@@ -0,0 +1,40 @@
1Upstream-Status: Pending
2Signed-off-by: Ross Burton <ross.burton@intel.com>
3
4From 488e898300f7a4ab9ba73307967ae9e02b7a6511 Mon Sep 17 00:00:00 2001
5From: Ross Burton <ross.burton@intel.com>
6Date: Fri, 13 Jun 2014 17:49:45 +0100
7Subject: [PATCH] Makefile: add missing binaries to dependency on
8 local_headers
9
10seeld and snap_send were missing from the rule that generates the header symlink
11farm, resulting in headers not being available in highly parallel builds.
12
13Signed-off-by: Ross Burton <ross.burton@intel.com>
14---
15 Makefile.am | 9 ++++++++-
16 1 file changed, 8 insertions(+), 1 deletion(-)
17
18diff --git a/Makefile.am b/Makefile.am
19index c51351f..8e58ac1 100644
20--- a/Makefile.am
21+++ b/Makefile.am
22@@ -254,7 +254,14 @@ se/plugin.$(OBJEXT): se/builtin.h
23 se/builtin.h: src/genbuiltin $(builtin_se_sources)
24 $(AM_V_GEN)$(srcdir)/src/genbuiltin $(builtin_se_modules) > $@
25
26-$(src_neard_OBJECTS) $(tools_nfctool_nfctool_OBJECTS) $(plugin_objects): $(local_headers)
27+$(src_neard_OBJECTS) \
28+$(tools_nfctool_nfctool_OBJECTS) \
29+$(plugin_objects) \
30+$(se_seeld_OBJECTS) \
31+$(unit_test_ndef_parse_OBJECTS) \
32+$(unit_test_ndef_build_OBJECTS) \
33+$(unit_test_snep_read_OBJECTS) \
34+$(tools_snep_send_OBJECTS): $(local_headers)
35
36 include/near/version.h: include/version.h
37 $(AM_V_at)$(MKDIR_P) include/near
38--
391.7.10.4
40
diff --git a/meta/recipes-connectivity/neard/neard_0.14.bb b/meta/recipes-connectivity/neard/neard_0.14.bb
new file mode 100644
index 0000000000..2fb47cc3d7
--- /dev/null
+++ b/meta/recipes-connectivity/neard/neard_0.14.bb
@@ -0,0 +1,11 @@
1require neard.inc
2
3SRC_URI = "${KERNELORG_MIRROR}/linux/network/nfc/${BPN}-${PV}.tar.xz \
4 file://parallel-build.patch \
5 file://neard.in \
6 file://neard.service.in \
7 file://Makefile.am-fix-parallel-issue.patch \
8 "
9SRC_URI[md5sum] = "692ba2653d60155255244c87396c486b"
10SRC_URI[sha256sum] = "6ea724b443d39d679168fc7776a965d1f64727c3735391df2c01469ee7cd8cca"
11
diff --git a/meta/recipes-connectivity/nfs-utils/files/Set_nobody_user_group.patch b/meta/recipes-connectivity/nfs-utils/files/Set_nobody_user_group.patch
new file mode 100644
index 0000000000..4633da919e
--- /dev/null
+++ b/meta/recipes-connectivity/nfs-utils/files/Set_nobody_user_group.patch
@@ -0,0 +1,18 @@
1Set nobody user and group
2
3Upstream-Status: Inappropriate [configuration]
4
5Signed-off-by: Roy.Li <rongqing.li@windriver.com>
6--- a/idmapd.conf
7+++ b/idmapd.conf
8@@ -17,8 +17,8 @@
9
10 [Mapping]
11
12-#Nobody-User = nobody
13-#Nobody-Group = nobody
14+Nobody-User = nobody
15+Nobody-Group = nogroup
16
17 [Translation]
18
diff --git a/meta/recipes-connectivity/nfs-utils/files/fix-ac-prereq.patch b/meta/recipes-connectivity/nfs-utils/files/fix-ac-prereq.patch
new file mode 100644
index 0000000000..d81c7c5f32
--- /dev/null
+++ b/meta/recipes-connectivity/nfs-utils/files/fix-ac-prereq.patch
@@ -0,0 +1,13 @@
1Upstream-Status: Inappropriate [configuration]
2
3--- a/configure.in
4+++ b/configure.in
5@@ -1,7 +1,7 @@
6 # -*- Autoconf -*-
7 # Process this file with autoconf to produce a configure script.
8
9-AC_PREREQ([2.68])
10+AC_PREREQ([2.65])
11 AC_INIT([libnfsidmap],[0.25],[linux-nfs@vger.kernel.org])
12 AC_CONFIG_SRCDIR([nfsidmap.h])
13 AC_CONFIG_MACRO_DIR([m4])
diff --git a/meta/recipes-connectivity/nfs-utils/libnfsidmap_0.25.bb b/meta/recipes-connectivity/nfs-utils/libnfsidmap_0.25.bb
new file mode 100644
index 0000000000..fcc9e87db5
--- /dev/null
+++ b/meta/recipes-connectivity/nfs-utils/libnfsidmap_0.25.bb
@@ -0,0 +1,24 @@
1SUMMARY = "NFS id mapping library"
2HOMEPAGE = "http://www.citi.umich.edu/projects/nfsv4/linux/"
3SECTION = "libs"
4
5LICENSE = "BSD"
6LIC_FILES_CHKSUM = "file://COPYING;md5=d9c6a2a0ca6017fda7cd905ed2739b37"
7
8SRC_URI = "http://www.citi.umich.edu/projects/nfsv4/linux/libnfsidmap/${BPN}-${PV}.tar.gz \
9 file://fix-ac-prereq.patch \
10 file://Set_nobody_user_group.patch \
11 "
12
13SRC_URI[md5sum] = "2ac4893c92716add1a1447ae01df77ab"
14SRC_URI[sha256sum] = "656d245d84400e1030f8f40a5a27da76370690c4a932baf249110f047fe7efcf"
15
16inherit autotools
17
18EXTRA_OECONF = "--disable-ldap"
19
20do_install_append () {
21 install -d ${D}${sysconfdir}/
22 install -m 0644 ${WORKDIR}/${BPN}-${PV}/idmapd.conf ${D}${sysconfdir}/idmapd.conf
23}
24
diff --git a/meta/recipes-connectivity/nfs-utils/nfs-utils/0001-configure-Allow-to-explicitly-disable-nfsidmap.patch b/meta/recipes-connectivity/nfs-utils/nfs-utils/0001-configure-Allow-to-explicitly-disable-nfsidmap.patch
new file mode 100644
index 0000000000..7025fb555c
--- /dev/null
+++ b/meta/recipes-connectivity/nfs-utils/nfs-utils/0001-configure-Allow-to-explicitly-disable-nfsidmap.patch
@@ -0,0 +1,43 @@
1From 9b84cff305866abd150cf1a4c6e7e5ebf8a7eb3a Mon Sep 17 00:00:00 2001
2From: Martin Jansa <Martin.Jansa@gmail.com>
3Date: Fri, 15 Nov 2013 23:21:35 +0100
4Subject: [PATCH] configure: Allow to explicitly disable nfsidmap
5
6* keyutils availability is autodetected and builds aren't reproducible
7
8Upstream-Status: Pending
9
10Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
11---
12 configure.ac | 10 +++++++++-
13 1 file changed, 9 insertions(+), 1 deletion(-)
14
15diff --git a/configure.ac b/configure.ac
16index bf433d6..28a8f62 100644
17--- a/configure.ac
18+++ b/configure.ac
19@@ -69,6 +69,12 @@ AC_ARG_ENABLE(nfsv4,
20 AC_SUBST(enable_nfsv4)
21 AM_CONDITIONAL(CONFIG_NFSV4, [test "$enable_nfsv4" = "yes"])
22
23+AC_ARG_ENABLE(nfsidmap,
24+ [AC_HELP_STRING([--enable-nfsidmap],
25+ [enable support for NFSv4 idmapper @<:@default=yes@:>@])],
26+ enable_nfsidmap=$enableval,
27+ enable_nfsidmap=yes)
28+
29 AC_ARG_ENABLE(nfsv41,
30 [AC_HELP_STRING([--enable-nfsv41],
31 [enable support for NFSv41 @<:@default=yes@:>@])],
32@@ -296,7 +302,7 @@ fi
33
34 dnl enable nfsidmap when its support by libnfsidmap
35 AM_CONDITIONAL(CONFIG_NFSDCLTRACK, [test "$enable_nfsdcltrack" = "yes" ])
36-AM_CONDITIONAL(CONFIG_NFSIDMAP, [test "$ac_cv_header_keyutils_h$ac_cv_lib_nfsidmap_nfs4_owner_to_uid" = "yesyes"])
37+AM_CONDITIONAL(CONFIG_NFSIDMAP, [test "$enable_nfsidmap$ac_cv_header_keyutils_h$ac_cv_lib_nfsidmap_nfs4_owner_to_uid" = "yesyesyes"])
38
39
40 if test "$knfsd_cv_glibc2" = no; then
41--
421.8.4.3
43
diff --git a/meta/recipes-connectivity/nfs-utils/nfs-utils/0001-statd-fixed-the-with-statdpath-flag.patch b/meta/recipes-connectivity/nfs-utils/nfs-utils/0001-statd-fixed-the-with-statdpath-flag.patch
new file mode 100644
index 0000000000..2ce824cf9e
--- /dev/null
+++ b/meta/recipes-connectivity/nfs-utils/nfs-utils/0001-statd-fixed-the-with-statdpath-flag.patch
@@ -0,0 +1,41 @@
1From 3b1457d219ceb1058d44bacc657581f13437ae40 Mon Sep 17 00:00:00 2001
2From: Steve Dickson <steved@redhat.com>
3Date: Tue, 17 Jun 2014 13:28:53 -0400
4Subject: [PATCH] statd: fixed the --with-statdpath= flag
5
6Create the given path set with --with-statdpath
7
8Signed-off-by: chendt.fnst@cn.fujitsu.com
9Reported-by: yaoxp@cn.fujitsu.com
10Signed-off-by: Steve Dickson <steved@redhat.com>
11Upstream-Status: Backport
12---
13 Makefile.am | 10 +++++-----
14 1 file changed, 5 insertions(+), 5 deletions(-)
15
16diff --git a/Makefile.am b/Makefile.am
17index ae7cd16..5824adc 100644
18--- a/Makefile.am
19+++ b/Makefile.am
20@@ -54,13 +54,13 @@ install-data-hook:
21 touch $(DESTDIR)$(statedir)/xtab; chmod 644 $(DESTDIR)$(statedir)/xtab
22 touch $(DESTDIR)$(statedir)/etab; chmod 644 $(DESTDIR)$(statedir)/etab
23 touch $(DESTDIR)$(statedir)/rmtab; chmod 644 $(DESTDIR)$(statedir)/rmtab
24- mkdir -p $(DESTDIR)$(statedir)/sm $(DESTDIR)$(statedir)/sm.bak
25- touch $(DESTDIR)$(statedir)/state
26- chmod go-rwx $(DESTDIR)$(statedir)/sm $(DESTDIR)$(statedir)/sm.bak $(DESTDIR)$(statedir)/state
27- -chown $(statduser) $(DESTDIR)$(statedir)/sm $(DESTDIR)$(statedir)/sm.bak $(DESTDIR)$(statedir)/state
28+ mkdir -p $(DESTDIR)$(statdpath)/sm $(DESTDIR)$(statdpath)/sm.bak
29+ touch $(DESTDIR)$(statdpath)/state
30+ chmod go-rwx $(DESTDIR)$(statdpath)/sm $(DESTDIR)$(statdpath)/sm.bak $(DESTDIR)$(statdpath)/state
31+ -chown $(statduser) $(DESTDIR)$(statdpath)/sm $(DESTDIR)$(statdpath)/sm.bak $(DESTDIR)$(statdpath)/state
32
33 uninstall-hook:
34 rm $(DESTDIR)$(statedir)/xtab
35 rm $(DESTDIR)$(statedir)/etab
36 rm $(DESTDIR)$(statedir)/rmtab
37- rm $(DESTDIR)$(statedir)/state
38+ rm $(DESTDIR)$(statdpath)/state
39--
401.8.4.2
41
diff --git a/meta/recipes-connectivity/nfs-utils/nfs-utils/nfs-mountd.service b/meta/recipes-connectivity/nfs-utils/nfs-utils/nfs-mountd.service
new file mode 100644
index 0000000000..613ddc003a
--- /dev/null
+++ b/meta/recipes-connectivity/nfs-utils/nfs-utils/nfs-mountd.service
@@ -0,0 +1,11 @@
1[Unit]
2Description=NFS Mount Daemon
3After=rpcbind.service nfs-server.service
4Requires=rpcbind.service nfs-server.service
5
6[Service]
7EnvironmentFile=-@SYSCONFDIR@/nfs-utils.conf
8ExecStart=@SBINDIR@/rpc.mountd -F $MOUNTD_OPTS
9
10[Install]
11WantedBy=multi-user.target
diff --git a/meta/recipes-connectivity/nfs-utils/nfs-utils/nfs-server.service b/meta/recipes-connectivity/nfs-utils/nfs-utils/nfs-server.service
new file mode 100644
index 0000000000..147d7a7b5f
--- /dev/null
+++ b/meta/recipes-connectivity/nfs-utils/nfs-utils/nfs-server.service
@@ -0,0 +1,18 @@
1[Unit]
2Description=NFS Server
3Requires=rpcbind.service nfs-mountd.service
4After=rpcbind.service
5
6[Service]
7Type=oneshot
8EnvironmentFile=-@SYSCONFDIR@/nfs-utils.conf
9ExecStartPre=@SBINDIR@/exportfs -r
10ExecStart=@SBINDIR@/rpc.nfsd $NFSD_OPTS $NFSD_COUNT
11ExecStop=@SBINDIR@/rpc.nfsd 0
12ExecStopPost=@SBINDIR@/exportfs -f
13ExecReload=@SBINDIR@/exportfs -r
14StandardError=syslog
15RemainAfterExit=yes
16
17[Install]
18WantedBy=multi-user.target
diff --git a/meta/recipes-connectivity/nfs-utils/nfs-utils/nfs-statd.service b/meta/recipes-connectivity/nfs-utils/nfs-utils/nfs-statd.service
new file mode 100644
index 0000000000..746dacf056
--- /dev/null
+++ b/meta/recipes-connectivity/nfs-utils/nfs-utils/nfs-statd.service
@@ -0,0 +1,12 @@
1[Unit]
2Description=NFS file locking service
3After=rpcbind.service
4Requires=rpcbind.service
5Before=remote-fs-pre.target
6
7[Service]
8EnvironmentFile=-@SYSCONFDIR@/nfs-utils.conf
9ExecStart=@SBINDIR@/rpc.statd -F $STATD_OPTS
10
11[Install]
12WantedBy=multi-user.target
diff --git a/meta/recipes-connectivity/nfs-utils/nfs-utils/nfs-utils-1.0.6-uclibc.patch b/meta/recipes-connectivity/nfs-utils/nfs-utils/nfs-utils-1.0.6-uclibc.patch
new file mode 100644
index 0000000000..c3442380e1
--- /dev/null
+++ b/meta/recipes-connectivity/nfs-utils/nfs-utils/nfs-utils-1.0.6-uclibc.patch
@@ -0,0 +1,27 @@
1Signed-off-by: Khem Raj <raj.khem@gmail.com>
2
3Upstream-Status: Inappropriate [embedded specific]
4
5Index: nfs-utils-1.2.6/support/nfs/svc_socket.c
6===================================================================
7--- nfs-utils-1.2.6.orig/support/nfs/svc_socket.c 2012-05-14 07:40:52.000000000 -0700
8+++ nfs-utils-1.2.6/support/nfs/svc_socket.c 2012-10-28 02:42:50.179222457 -0700
9@@ -40,8 +40,9 @@
10 char rpcdata[1024], servdata[1024];
11 struct rpcent rpcbuf, *rpcp;
12 struct servent servbuf, *servp = NULL;
13- int ret;
14+ int ret = 0;
15
16+#ifndef __UCLIBC__ /* neither getrpcbynumber() nor getrpcbynumber_r() is SuSv3 */
17 ret = getrpcbynumber_r(number, &rpcbuf, rpcdata, sizeof rpcdata,
18 &rpcp);
19 if (ret == 0 && rpcp != NULL) {
20@@ -60,6 +61,7 @@
21 }
22 }
23 }
24+#endif /* __UCLIBC__ */
25
26 if (ret == 0 && servp != NULL)
27 return ntohs(servp->s_port);
diff --git a/meta/recipes-connectivity/nfs-utils/nfs-utils/nfs-utils-1.2.3-sm-notify-res_init.patch b/meta/recipes-connectivity/nfs-utils/nfs-utils/nfs-utils-1.2.3-sm-notify-res_init.patch
new file mode 100644
index 0000000000..d8f8181670
--- /dev/null
+++ b/meta/recipes-connectivity/nfs-utils/nfs-utils/nfs-utils-1.2.3-sm-notify-res_init.patch
@@ -0,0 +1,36 @@
1Fixes errors like
2sm-notify[1070]: DNS resolution of a.b.c.d..com failed; retrying later
3This error will occur anytime sm-notify is run before the network if fully up,
4which is happening more and more with parallel startup systems.
5The res_init() call is simple, safe, quick, and a patch to use it should be
6able to go upstream. Presumably the whole reason sm-notify tries several
7times is to wait for possible changes to the network configuration, but without
8calling res_init() it will never be aware of those changes
9
10Backported drom Fedora
11
12Upstream-Status: Pending
13Signed-off-by: Khem Raj <raj.khem@gmail.com>
14
15
16diff -up nfs-utils-1.2.3/utils/statd/sm-notify.c.orig nfs-utils-1.2.3/utils/statd/sm-notify.c
17--- nfs-utils-1.2.3/utils/statd/sm-notify.c.orig 2010-09-28 08:24:16.000000000 -0400
18+++ nfs-utils-1.2.3/utils/statd/sm-notify.c 2010-10-15 16:44:43.487119601 -0400
19@@ -28,6 +28,9 @@
20 #include <netdb.h>
21 #include <errno.h>
22 #include <grp.h>
23+#include <netinet/in.h>
24+#include <arpa/nameser.h>
25+#include <resolv.h>
26
27 #include "sockaddr.h"
28 #include "xlog.h"
29@@ -84,6 +87,7 @@ smn_lookup(const char *name)
30 };
31 int error;
32
33+ res_init();
34 error = getaddrinfo(name, NULL, &hint, &ai);
35 if (error != 0) {
36 xlog(D_GENERAL, "getaddrinfo(3): %s", gai_strerror(error));
diff --git a/meta/recipes-connectivity/nfs-utils/nfs-utils/nfs-utils-Do-not-pass-CFLAGS-to-gcc-while-building.patch b/meta/recipes-connectivity/nfs-utils/nfs-utils/nfs-utils-Do-not-pass-CFLAGS-to-gcc-while-building.patch
new file mode 100644
index 0000000000..993f1e5ea5
--- /dev/null
+++ b/meta/recipes-connectivity/nfs-utils/nfs-utils/nfs-utils-Do-not-pass-CFLAGS-to-gcc-while-building.patch
@@ -0,0 +1,42 @@
1nfs-utils: Do not pass CFLAGS to gcc while building
2
3Do not pass CFLAGS/LDFLAGS to gcc while building, The needed flags has
4been passed by xxx_CFLAGS=$(CFLAGS_FOR_BUILD).
5
6Upstream-Status: Pending
7
8Signed-off-by: Chong Lu <Chong.Lu@windriver.com>
9---
10 tools/locktest/Makefile.am | 2 ++
11 tools/rpcgen/Makefile.am | 2 ++
12 2 files changed, 4 insertions(+)
13
14diff --git a/tools/locktest/Makefile.am b/tools/locktest/Makefile.am
15index 3156815..1729fd1 100644
16--- a/tools/locktest/Makefile.am
17+++ b/tools/locktest/Makefile.am
18@@ -1,6 +1,8 @@
19 ## Process this file with automake to produce Makefile.in
20
21 CC=$(CC_FOR_BUILD)
22+CFLAGS=
23+LDFLAGS=
24 LIBTOOL = @LIBTOOL@ --tag=CC
25
26 noinst_PROGRAMS = testlk
27diff --git a/tools/rpcgen/Makefile.am b/tools/rpcgen/Makefile.am
28index 8a9ec89..8bacdaa 100644
29--- a/tools/rpcgen/Makefile.am
30+++ b/tools/rpcgen/Makefile.am
31@@ -1,6 +1,8 @@
32 ## Process this file with automake to produce Makefile.in
33
34 CC=$(CC_FOR_BUILD)
35+CFLAGS=
36+LDFLAGS=
37 LIBTOOL = @LIBTOOL@ --tag=CC
38
39 noinst_PROGRAMS = rpcgen
40--
411.7.9.5
42
diff --git a/meta/recipes-connectivity/nfs-utils/nfs-utils/nfs-utils.conf b/meta/recipes-connectivity/nfs-utils/nfs-utils/nfs-utils.conf
new file mode 100644
index 0000000000..a1007a7fbf
--- /dev/null
+++ b/meta/recipes-connectivity/nfs-utils/nfs-utils/nfs-utils.conf
@@ -0,0 +1,35 @@
1# Parameters to be passed to nfs-utils (clients & server) service files.
2#
3
4# Options to pass to rpc.nfsd.
5NFSD_OPTS=""
6
7# Number of servers to start up; the default is 8 servers.
8NFSD_COUNT=""
9
10# Where to mount nfsd filesystem; the default is "/proc/fs/nfsd".
11PROCNFSD_MOUNTPOINT=""
12
13# Options used to mount nfsd filesystem; the default is "rw,nodev,noexec,nosuid".
14PROCNFSD_MOUNTOPTS=""
15
16# Options for rpc.mountd.
17# If you have a port-based firewall, you might want to set up
18# a fixed port here using the --port option.
19MOUNTD_OPTS=""
20
21# Parameters to be passed to nfs-common (nfs clients & server) init script.
22#
23
24# If you do not set values for the NEED_ options, they will be attempted
25# autodetected; this should be sufficient for most people. Valid alternatives
26# for the NEED_ options are "yes" and "no".
27
28# Do you want to start the statd daemon? It is not needed for NFSv4.
29NEED_STATD=""
30
31# Options to pass to rpc.statd.
32# N.B. statd normally runs on both client and server, and run-time
33# options should be specified accordingly.
34# STATD_OPTS="-p 32765 -o 32766"
35STATD_OPTS=""
diff --git a/meta/recipes-connectivity/nfs-utils/nfs-utils/nfscommon b/meta/recipes-connectivity/nfs-utils/nfs-utils/nfscommon
new file mode 100644
index 0000000000..992267d5a1
--- /dev/null
+++ b/meta/recipes-connectivity/nfs-utils/nfs-utils/nfscommon
@@ -0,0 +1,63 @@
1#!/bin/sh
2### BEGIN INIT INFO
3# Provides: nfs-common
4# Required-Start: $portmap hwclock
5# Required-Stop: $portmap hwclock
6# Default-Start: 2 3 4 5
7# Default-Stop: 0 1 6
8# Short-Description: NFS support for both client and server
9# Description: NFS is a popular protocol for file sharing across
10# TCP/IP networks. This service provides various
11# support functions for NFS mounts.
12### END INIT INFO
13#
14# Startup script for nfs-utils
15#
16#
17# Location of executables:
18
19# Source function library.
20. /etc/init.d/functions
21
22test -x "$NFS_STATD" || NFS_STATD=/usr/sbin/rpc.statd
23test -z "$STATD_PID" && STATD_PID=/var/run/rpc.statd.pid
24#
25# The default state directory is /var/lib/nfs
26test -n "$NFS_STATEDIR" || NFS_STATEDIR=/var/lib/nfs
27#
28#----------------------------------------------------------------------
29# Startup and shutdown functions.
30# Actual startup/shutdown is at the end of this file.
31
32start_statd(){
33 echo -n "starting statd: "
34 start-stop-daemon --start --exec "$NFS_STATD" --pidfile "$STATD_PID"
35 echo done
36}
37stop_statd(){
38 echo -n 'stopping statd: '
39 start-stop-daemon --stop --quiet --signal 1 --pidfile "$STATD_PID"
40 echo done
41}
42#----------------------------------------------------------------------
43#
44# supported options:
45# start
46# stop
47# restart: stops and starts mountd
48#FIXME: need to create the /var/lib/nfs/... directories
49case "$1" in
50 start)
51 start_statd;;
52 stop)
53 stop_statd;;
54 status)
55 status $NFS_STATD
56 exit $?;;
57 restart)
58 $0 stop
59 $0 start;;
60 *)
61 echo "Usage: $0 {start|stop|status|restart}"
62 exit 1;;
63esac
diff --git a/meta/recipes-connectivity/nfs-utils/nfs-utils/nfsserver b/meta/recipes-connectivity/nfs-utils/nfs-utils/nfsserver
new file mode 100644
index 0000000000..6e0df7e2ea
--- /dev/null
+++ b/meta/recipes-connectivity/nfs-utils/nfs-utils/nfsserver
@@ -0,0 +1,129 @@
1#!/bin/sh
2### BEGIN INIT INFO
3# Provides: nfs-kernel-server
4# Required-Start: $remote_fs nfs-common $portmap hwclock
5# Required-Stop: $remote_fs nfs-common $portmap hwclock
6# Default-Start: 2 3 4 5
7# Default-Stop: 0 1 6
8# Short-Description: Kernel NFS server support
9# Description: NFS is a popular protocol for file sharing across
10# TCP/IP networks. This service provides NFS server
11# functionality, which is configured via the
12# /etc/exports file.
13### END INIT INFO
14#
15# Startup script for nfs-utils
16#
17# Source function library.
18. /etc/init.d/functions
19#
20# The environment variable NFS_SERVERS may be set in /etc/default/nfsd
21# Other control variables may be overridden here too
22test -r /etc/default/nfsd && . /etc/default/nfsd
23#
24# Location of executables:
25test -x "$NFS_MOUNTD" || NFS_MOUNTD=/usr/sbin/rpc.mountd
26test -x "$NFS_NFSD" || NFS_NFSD=/usr/sbin/rpc.nfsd
27#
28# The user mode program must also exist (it just starts the kernel
29# threads using the kernel module code).
30test -x "$NFS_MOUNTD" || exit 0
31test -x "$NFS_NFSD" || exit 0
32#
33# Default is 8 threads, value is settable between 1 and the truely
34# ridiculous 99
35test "$NFS_SERVERS" != "" && test "$NFS_SERVERS" -gt 0 && test "$NFS_SERVERS" -lt 100 || NFS_SERVERS=8
36#
37#----------------------------------------------------------------------
38# Startup and shutdown functions.
39# Actual startup/shutdown is at the end of this file.
40#mountd
41start_mountd(){
42 echo -n 'starting mountd: '
43 start-stop-daemon --start --exec "$NFS_MOUNTD" -- "-f /etc/exports $@"
44 echo done
45}
46stop_mountd(){
47 echo -n 'stopping mountd: '
48 start-stop-daemon --stop --quiet --exec "$NFS_MOUNTD"
49 echo done
50}
51#
52#nfsd
53start_nfsd(){
54 modprobe -q nfsd
55 grep -q nfsd /proc/filesystems || {
56 echo NFS daemon support not enabled in kernel
57 exit 1
58 }
59 grep -q nfsd /proc/mounts || mount -t nfsd nfsd /proc/fs/nfsd
60 grep -q nfsd /proc/mounts || {
61 echo nfsd filesystem could not be mounted at /proc/fs/nfsd
62 exit 1
63 }
64
65 echo -n "starting $1 nfsd kernel threads: "
66 start-stop-daemon --start --exec "$NFS_NFSD" -- "$@"
67 echo done
68}
69delay_nfsd(){
70 for delay in 0 1 2 3 4 5 6 7 8 9
71 do
72 if pidof nfsd >/dev/null
73 then
74 echo -n .
75 sleep 1
76 else
77 return 0
78 fi
79 done
80 return 1
81}
82stop_nfsd(){
83 # WARNING: this kills any process with the executable
84 # name 'nfsd'.
85 echo -n 'stopping nfsd: '
86 start-stop-daemon --stop --quiet --signal 1 --name nfsd
87 if delay_nfsd || {
88 echo failed
89 echo ' using signal 9: '
90 start-stop-daemon --stop --quiet --signal 9 --name nfsd
91 delay_nfsd
92 }
93 then
94 echo done
95 else
96 echo failed
97 fi
98}
99
100#----------------------------------------------------------------------
101#
102# supported options:
103# start
104# stop
105# reload: reloads the exports file
106# restart: stops and starts mountd
107#FIXME: need to create the /var/lib/nfs/... directories
108case "$1" in
109 start)
110 start_nfsd "$NFS_SERVERS"
111 start_mountd
112 test -r /etc/exports && exportfs -a;;
113 stop) exportfs -ua
114 stop_mountd
115 stop_nfsd;;
116 status)
117 status /usr/sbin/rpc.mountd
118 RETVAL=$?
119 status nfsd
120 rval=$?
121 [ $RETVAL -eq 0 ] && exit $rval
122 exit $RETVAL;;
123 reload) test -r /etc/exports && exportfs -r;;
124 restart)
125 $0 stop
126 $0 start;;
127 *) echo "Usage: $0 {start|stop|status|reload|restart}"
128 exit 1;;
129esac
diff --git a/meta/recipes-connectivity/nfs-utils/nfs-utils_1.3.0.bb b/meta/recipes-connectivity/nfs-utils/nfs-utils_1.3.0.bb
new file mode 100644
index 0000000000..6e6d09bf42
--- /dev/null
+++ b/meta/recipes-connectivity/nfs-utils/nfs-utils_1.3.0.bb
@@ -0,0 +1,116 @@
1SUMMARY = "userspace utilities for kernel nfs"
2DESCRIPTION = "The nfs-utils package provides a daemon for the kernel \
3NFS server and related tools."
4HOMEPAGE = "http://nfs.sourceforge.net/"
5SECTION = "console/network"
6
7LICENSE = "MIT & GPLv2+ & BSD"
8LIC_FILES_CHKSUM = "file://COPYING;md5=95f3a93a5c3c7888de623b46ea085a84"
9
10# util-linux for libblkid
11DEPENDS = "libcap libnfsidmap libevent util-linux sqlite3"
12RDEPENDS_${PN}-client = "rpcbind bash"
13RDEPENDS_${PN} = "${PN}-client bash"
14RRECOMMENDS_${PN} = "kernel-module-nfsd"
15
16inherit useradd
17
18USERADD_PACKAGES = "${PN}-client"
19USERADD_PARAM_${PN}-client = "--system --home-dir /var/lib/nfs \
20 --shell /bin/false --user-group rpcuser"
21
22SRC_URI = "${KERNELORG_MIRROR}/linux/utils/nfs-utils/${PV}/nfs-utils-${PV}.tar.xz \
23 file://0001-configure-Allow-to-explicitly-disable-nfsidmap.patch \
24 file://nfs-utils-1.0.6-uclibc.patch \
25 file://nfs-utils-1.2.3-sm-notify-res_init.patch \
26 file://nfsserver \
27 file://nfscommon \
28 file://nfs-utils.conf \
29 file://nfs-server.service \
30 file://nfs-mountd.service \
31 file://nfs-statd.service \
32 file://nfs-utils-Do-not-pass-CFLAGS-to-gcc-while-building.patch \
33 file://0001-statd-fixed-the-with-statdpath-flag.patch \
34"
35
36SRC_URI[md5sum] = "6e93a7997ca3a1eac56bf219adab72a8"
37SRC_URI[sha256sum] = "ab8384d0e487ed6a18c5380d5df28015f7dd98680bf08f3247c97d9f7d99e56f"
38
39PARALLEL_MAKE = ""
40
41# Only kernel-module-nfsd is required here (but can be built-in) - the nfsd module will
42# pull in the remainder of the dependencies.
43
44INITSCRIPT_PACKAGES = "${PN} ${PN}-client"
45INITSCRIPT_NAME = "nfsserver"
46INITSCRIPT_PARAMS = "defaults"
47INITSCRIPT_NAME_${PN}-client = "nfscommon"
48INITSCRIPT_PARAMS_${PN}-client = "defaults 19 21"
49
50inherit autotools-brokensep update-rc.d systemd pkgconfig
51
52SYSTEMD_SERVICE_${PN} = "nfs-server.service nfs-mountd.service"
53SYSTEMD_SERVICE_${PN}-client = "nfs-statd.service"
54SYSTEMD_AUTO_ENABLE = "disable"
55
56# --enable-uuid is need for cross-compiling
57EXTRA_OECONF = "--with-statduser=rpcuser \
58 --enable-mountconfig \
59 --enable-libmount-mount \
60 --disable-nfsv41 \
61 --enable-uuid \
62 --disable-gss \
63 --disable-tirpc \
64 --disable-nfsdcltrack \
65 --with-statdpath=/var/lib/nfs/statd \
66 "
67
68PACKAGECONFIG ??= "tcp-wrappers"
69PACKAGECONFIG[tcp-wrappers] = "--with-tcp-wrappers,--without-tcp-wrappers,tcp-wrappers"
70PACKAGECONFIG[nfsidmap] = "--enable-nfsidmap,--disable-nfsidmap,keyutils"
71
72INHIBIT_AUTO_STAGE = "1"
73
74PACKAGES =+ "${PN}-client ${PN}-stats"
75FILES_${PN}-client = "${base_sbindir}/*mount.nfs* ${sbindir}/*statd \
76 ${sbindir}/rpc.idmapd ${sbindir}/sm-notify \
77 ${sbindir}/showmount ${sbindir}/nfsstat \
78 ${localstatedir}/lib/nfs \
79 ${sysconfdir}/nfs-utils.conf \
80 ${sysconfdir}/init.d/nfscommon \
81 ${systemd_unitdir}/system/nfs-statd.service"
82FILES_${PN}-stats = "${sbindir}/mountstats ${sbindir}/nfsiostat"
83RDEPENDS_${PN}-stats = "python"
84
85# Make clean needed because the package comes with
86# precompiled 64-bit objects that break the build
87do_compile_prepend() {
88 make clean
89}
90
91do_install_append () {
92 install -d ${D}${sysconfdir}/init.d
93 install -m 0755 ${WORKDIR}/nfsserver ${D}${sysconfdir}/init.d/nfsserver
94 install -m 0755 ${WORKDIR}/nfscommon ${D}${sysconfdir}/init.d/nfscommon
95
96 install -m 0755 ${WORKDIR}/nfs-utils.conf ${D}${sysconfdir}
97 install -d ${D}${systemd_unitdir}/system
98 install -m 0644 ${WORKDIR}/nfs-server.service ${D}${systemd_unitdir}/system/
99 install -m 0644 ${WORKDIR}/nfs-mountd.service ${D}${systemd_unitdir}/system/
100 install -m 0644 ${WORKDIR}/nfs-statd.service ${D}${systemd_unitdir}/system/
101 sed -i -e 's,@SBINDIR@,${sbindir},g' \
102 -e 's,@SYSCONFDIR@,${sysconfdir},g' \
103 ${D}${systemd_unitdir}/system/*.service
104
105 # kernel code as of 3.8 hard-codes this path as a default
106 install -d ${D}/var/lib/nfs/v4recovery
107
108 # chown the directories and files
109 chown -R rpcuser:rpcuser ${D}${localstatedir}/lib/nfs/statd
110 chmod 0644 ${D}${localstatedir}/lib/nfs/statd/state
111
112 # the following are built by CC_FOR_BUILD
113 rm -f ${D}${sbindir}/rpcdebug
114 rm -f ${D}${sbindir}/rpcgen
115 rm -f ${D}${sbindir}/locktest
116}
diff --git a/meta/recipes-connectivity/ofono/ofono.inc b/meta/recipes-connectivity/ofono/ofono.inc
new file mode 100644
index 0000000000..9f65f4f144
--- /dev/null
+++ b/meta/recipes-connectivity/ofono/ofono.inc
@@ -0,0 +1,33 @@
1HOMEPAGE = "http://www.ofono.org"
2SUMMARY = "open source telephony"
3DESCRIPTION = "oFono is a stack for mobile telephony devices on Linux. oFono supports speaking to telephony devices through specific drivers, or with generic AT commands."
4LICENSE = "GPLv2"
5LIC_FILES_CHKSUM = "file://COPYING;md5=eb723b61539feef013de476e68b5c50a \
6 file://src/ofono.h;beginline=1;endline=20;md5=3ce17d5978ef3445def265b98899c2ee"
7
8inherit autotools pkgconfig update-rc.d systemd
9
10DEPENDS = "dbus glib-2.0 udev mobile-broadband-provider-info ${@bb.utils.contains('DISTRO_FEATURES', 'bluetooth','bluez4', '', d)}"
11
12INITSCRIPT_NAME = "ofono"
13INITSCRIPT_PARAMS = "defaults 22"
14
15EXTRA_OECONF += "\
16 ${@bb.utils.contains('DISTRO_FEATURES', 'systemd', '--with-systemdunitdir=${systemd_unitdir}/system/', '--with-systemdunitdir=', d)} \
17 ${@bb.utils.contains('DISTRO_FEATURES', 'bluetooth','--enable-bluetooth', '--disable-bluetooth', d)} \
18 --enable-test \
19"
20SYSTEMD_SERVICE_${PN} = "ofono.service"
21
22do_install_append() {
23 install -d ${D}${sysconfdir}/init.d/
24 install -m 0755 ${WORKDIR}/ofono ${D}${sysconfdir}/init.d/ofono
25}
26
27PACKAGES =+ "${PN}-tests"
28
29RDEPENDS_${PN} += "dbus"
30
31FILES_${PN} += "${base_libdir}/udev ${systemd_unitdir}"
32FILES_${PN}-tests = "${libdir}/${BPN}/test"
33RDEPENDS_${PN}-tests = "python python-pygobject python-dbus"
diff --git a/meta/recipes-connectivity/ofono/ofono/Revert-test-Convert-to-Python-3.patch b/meta/recipes-connectivity/ofono/ofono/Revert-test-Convert-to-Python-3.patch
new file mode 100644
index 0000000000..5f8ca77101
--- /dev/null
+++ b/meta/recipes-connectivity/ofono/ofono/Revert-test-Convert-to-Python-3.patch
@@ -0,0 +1,1270 @@
1Upstream-Status: Inappropriate [configuration]
2
3From 572fc23f6efd65a2ef9e6c957b2506108738672b Mon Sep 17 00:00:00 2001
4From: Cristian Iorga <cristian.iorga@intel.com>
5Date: Mon, 25 Aug 2014 16:59:39 +0300
6Subject: [PATCH] Revert "test: Convert to Python 3"
7
8This reverts commit c027ab9fbc1a8e8c9e76bcd123df1ad7696307c2.
9---
10 test/activate-context | 2 +-
11 test/answer-calls | 2 +-
12 test/backtrace | 2 +-
13 test/cancel-ussd | 2 +-
14 test/cdma-connman-disable | 2 +-
15 test/cdma-connman-enable | 2 +-
16 test/cdma-dial-number | 2 +-
17 test/cdma-hangup | 2 +-
18 test/cdma-list-call | 2 +-
19 test/cdma-set-credentials | 2 +-
20 test/change-pin | 2 +-
21 test/create-internet-context | 2 +-
22 test/create-mms-context | 2 +-
23 test/create-multiparty | 2 +-
24 test/deactivate-all | 2 +-
25 test/deactivate-context | 2 +-
26 test/dial-number | 2 +-
27 test/disable-call-forwarding | 2 +-
28 test/disable-gprs | 2 +-
29 test/disable-modem | 2 +-
30 test/display-icon | 2 +-
31 test/enable-cbs | 2 +-
32 test/enable-gprs | 2 +-
33 test/enable-modem | 2 +-
34 test/enter-pin | 2 +-
35 test/get-icon | 2 +-
36 test/get-operators | 2 +-
37 test/get-tech-preference | 2 +-
38 test/hangup-active | 2 +-
39 test/hangup-all | 2 +-
40 test/hangup-call | 2 +-
41 test/hangup-multiparty | 2 +-
42 test/hold-and-answer | 2 +-
43 test/initiate-ussd | 4 ++--
44 test/list-calls | 2 +-
45 test/list-contexts | 2 +-
46 test/list-messages | 2 +-
47 test/list-modems | 2 +-
48 test/list-operators | 2 +-
49 test/lock-pin | 2 +-
50 test/lockdown-modem | 2 +-
51 test/monitor-ofono | 4 ++--
52 test/offline-modem | 2 +-
53 test/online-modem | 2 +-
54 test/private-chat | 2 +-
55 test/process-context-settings | 2 +-
56 test/receive-sms | 2 +-
57 test/reject-calls | 2 +-
58 test/release-and-answer | 2 +-
59 test/release-and-swap | 2 +-
60 test/remove-contexts | 2 +-
61 test/reset-pin | 2 +-
62 test/scan-for-operators | 2 +-
63 test/send-sms | 2 +-
64 test/send-ussd | 4 ++--
65 test/send-vcal | 2 +-
66 test/send-vcard | 2 +-
67 test/set-call-forwarding | 2 +-
68 test/set-cbs-topics | 2 +-
69 test/set-context-property | 2 +-
70 test/set-fast-dormancy | 2 +-
71 test/set-gsm-band | 2 +-
72 test/set-mic-volume | 2 +-
73 test/set-mms-details | 2 +-
74 test/set-msisdn | 2 +-
75 test/set-roaming-allowed | 2 +-
76 test/set-speaker-volume | 2 +-
77 test/set-tech-preference | 2 +-
78 test/set-tty | 2 +-
79 test/set-umts-band | 2 +-
80 test/set-use-sms-reports | 2 +-
81 test/swap-calls | 2 +-
82 test/test-advice-of-charge | 2 +-
83 test/test-call-barring | 2 +-
84 test/test-call-forwarding | 2 +-
85 test/test-call-settings | 2 +-
86 test/test-cbs | 4 ++--
87 test/test-gnss | 4 ++--
88 test/test-message-waiting | 2 +-
89 test/test-modem | 2 +-
90 test/test-network-registration | 2 +-
91 test/test-phonebook | 2 +-
92 test/test-push-notification | 2 +-
93 test/test-smart-messaging | 2 +-
94 test/test-sms | 18 +++++++++---------
95 test/test-ss | 2 +-
96 test/test-ss-control-cb | 2 +-
97 test/test-ss-control-cf | 2 +-
98 test/test-ss-control-cs | 2 +-
99 test/test-stk-menu | 34 +++++++++++++++++-----------------
100 test/unlock-pin | 2 +-
101 94 files changed, 124 insertions(+), 124 deletions(-)
102
103diff --git a/test/activate-context b/test/activate-context
104index e4fc702..4241396 100755
105--- a/test/activate-context
106+++ b/test/activate-context
107@@ -1,4 +1,4 @@
108-#!/usr/bin/python3
109+#!/usr/bin/python
110
111 import sys
112 import dbus
113diff --git a/test/answer-calls b/test/answer-calls
114index daa794b..45ff08f 100755
115--- a/test/answer-calls
116+++ b/test/answer-calls
117@@ -1,4 +1,4 @@
118-#!/usr/bin/python3
119+#!/usr/bin/python
120
121 import dbus
122
123diff --git a/test/backtrace b/test/backtrace
124index 03c7632..c624709 100755
125--- a/test/backtrace
126+++ b/test/backtrace
127@@ -1,4 +1,4 @@
128-#!/usr/bin/python3
129+#!/usr/bin/python
130
131 import os
132 import re
133diff --git a/test/cancel-ussd b/test/cancel-ussd
134index e7559ba..1797f26 100755
135--- a/test/cancel-ussd
136+++ b/test/cancel-ussd
137@@ -1,4 +1,4 @@
138-#!/usr/bin/python3
139+#!/usr/bin/python
140
141 import sys
142 import dbus
143diff --git a/test/cdma-connman-disable b/test/cdma-connman-disable
144index 3adc14d..0ddc0cd 100755
145--- a/test/cdma-connman-disable
146+++ b/test/cdma-connman-disable
147@@ -1,4 +1,4 @@
148-#!/usr/bin/python3
149+#!/usr/bin/python
150
151 import dbus
152 import sys
153diff --git a/test/cdma-connman-enable b/test/cdma-connman-enable
154index ac16a2d..a3cca01 100755
155--- a/test/cdma-connman-enable
156+++ b/test/cdma-connman-enable
157@@ -1,4 +1,4 @@
158-#!/usr/bin/python3
159+#!/usr/bin/python
160
161 import dbus
162 import sys
163diff --git a/test/cdma-dial-number b/test/cdma-dial-number
164index 683431e..9cdfb24 100755
165--- a/test/cdma-dial-number
166+++ b/test/cdma-dial-number
167@@ -1,4 +1,4 @@
168-#!/usr/bin/python3
169+#!/usr/bin/python
170
171 import sys
172 import dbus
173diff --git a/test/cdma-hangup b/test/cdma-hangup
174index 41ffa60..493ece4 100755
175--- a/test/cdma-hangup
176+++ b/test/cdma-hangup
177@@ -1,4 +1,4 @@
178-#!/usr/bin/python3
179+#!/usr/bin/python
180
181 import sys
182 import dbus
183diff --git a/test/cdma-list-call b/test/cdma-list-call
184index b132353..5d36a69 100755
185--- a/test/cdma-list-call
186+++ b/test/cdma-list-call
187@@ -1,4 +1,4 @@
188-#!/usr/bin/python3
189+#!/usr/bin/python
190
191 import dbus
192
193diff --git a/test/cdma-set-credentials b/test/cdma-set-credentials
194index a60c86e..a286b0e 100755
195--- a/test/cdma-set-credentials
196+++ b/test/cdma-set-credentials
197@@ -1,4 +1,4 @@
198-#!/usr/bin/python3
199+#!/usr/bin/python
200
201 import dbus
202 import sys
203diff --git a/test/change-pin b/test/change-pin
204index 301c6ce..000ce53 100755
205--- a/test/change-pin
206+++ b/test/change-pin
207@@ -1,4 +1,4 @@
208-#!/usr/bin/python3
209+#!/usr/bin/python
210
211 import dbus
212 import sys
213diff --git a/test/create-internet-context b/test/create-internet-context
214index 1089053..efd0998 100755
215--- a/test/create-internet-context
216+++ b/test/create-internet-context
217@@ -1,4 +1,4 @@
218-#!/usr/bin/python3
219+#!/usr/bin/python
220
221 import sys
222 import dbus
223diff --git a/test/create-mms-context b/test/create-mms-context
224index 598336f..e5be08d 100755
225--- a/test/create-mms-context
226+++ b/test/create-mms-context
227@@ -1,4 +1,4 @@
228-#!/usr/bin/python3
229+#!/usr/bin/python
230
231 import sys
232 import dbus
233diff --git a/test/create-multiparty b/test/create-multiparty
234index 1b76010..97047c3 100755
235--- a/test/create-multiparty
236+++ b/test/create-multiparty
237@@ -1,4 +1,4 @@
238-#!/usr/bin/python3
239+#!/usr/bin/python
240
241 import sys
242 import dbus
243diff --git a/test/deactivate-all b/test/deactivate-all
244index 5aa8587..427009e 100755
245--- a/test/deactivate-all
246+++ b/test/deactivate-all
247@@ -1,4 +1,4 @@
248-#!/usr/bin/python3
249+#!/usr/bin/python
250
251 import sys
252 import dbus
253diff --git a/test/deactivate-context b/test/deactivate-context
254index 5c86a71..df47d2e 100755
255--- a/test/deactivate-context
256+++ b/test/deactivate-context
257@@ -1,4 +1,4 @@
258-#!/usr/bin/python3
259+#!/usr/bin/python
260
261 import sys
262 import dbus
263diff --git a/test/dial-number b/test/dial-number
264index fe5adad..ee674d9 100755
265--- a/test/dial-number
266+++ b/test/dial-number
267@@ -1,4 +1,4 @@
268-#!/usr/bin/python3
269+#!/usr/bin/python
270
271 import sys
272 import dbus
273diff --git a/test/disable-call-forwarding b/test/disable-call-forwarding
274index 811e4fa..3609816 100755
275--- a/test/disable-call-forwarding
276+++ b/test/disable-call-forwarding
277@@ -1,4 +1,4 @@
278-#!/usr/bin/python3
279+#!/usr/bin/python
280
281 import sys
282 from gi.repository import GLib
283diff --git a/test/disable-gprs b/test/disable-gprs
284index 61ce216..c6c40a5 100755
285--- a/test/disable-gprs
286+++ b/test/disable-gprs
287@@ -1,4 +1,4 @@
288-#!/usr/bin/python3
289+#!/usr/bin/python
290
291 import dbus
292 import sys
293diff --git a/test/disable-modem b/test/disable-modem
294index 6fba857..ca8c8d8 100755
295--- a/test/disable-modem
296+++ b/test/disable-modem
297@@ -1,4 +1,4 @@
298-#!/usr/bin/python3
299+#!/usr/bin/python
300
301 import dbus
302 import sys
303diff --git a/test/display-icon b/test/display-icon
304index ac40818..753d14d 100755
305--- a/test/display-icon
306+++ b/test/display-icon
307@@ -1,4 +1,4 @@
308-#!/usr/bin/python3
309+#!/usr/bin/python
310
311 import sys
312 import dbus
313diff --git a/test/enable-cbs b/test/enable-cbs
314index 4a8bf66..c08bf2b 100755
315--- a/test/enable-cbs
316+++ b/test/enable-cbs
317@@ -1,4 +1,4 @@
318-#!/usr/bin/python3
319+#!/usr/bin/python
320
321 import dbus
322 import sys
323diff --git a/test/enable-gprs b/test/enable-gprs
324index 68d5ef0..8664891 100755
325--- a/test/enable-gprs
326+++ b/test/enable-gprs
327@@ -1,4 +1,4 @@
328-#!/usr/bin/python3
329+#!/usr/bin/python
330
331 import dbus
332 import sys
333diff --git a/test/enable-modem b/test/enable-modem
334index fc5958a..dfaaaa8 100755
335--- a/test/enable-modem
336+++ b/test/enable-modem
337@@ -1,4 +1,4 @@
338-#!/usr/bin/python3
339+#!/usr/bin/python
340
341 import dbus
342 import sys
343diff --git a/test/enter-pin b/test/enter-pin
344index 9556363..c6ee669 100755
345--- a/test/enter-pin
346+++ b/test/enter-pin
347@@ -1,4 +1,4 @@
348-#!/usr/bin/python3
349+#!/usr/bin/python
350
351 import dbus
352 import sys
353diff --git a/test/get-icon b/test/get-icon
354index 5569a33..fdaaee7 100755
355--- a/test/get-icon
356+++ b/test/get-icon
357@@ -1,4 +1,4 @@
358-#!/usr/bin/python3
359+#!/usr/bin/python
360
361 import dbus
362 import sys
363diff --git a/test/get-operators b/test/get-operators
364index 0f35c80..62354c5 100755
365--- a/test/get-operators
366+++ b/test/get-operators
367@@ -1,4 +1,4 @@
368-#!/usr/bin/python3
369+#!/usr/bin/python
370
371 import dbus
372 import sys
373diff --git a/test/get-tech-preference b/test/get-tech-preference
374index 7ba6365..77d20d0 100755
375--- a/test/get-tech-preference
376+++ b/test/get-tech-preference
377@@ -1,4 +1,4 @@
378-#!/usr/bin/python3
379+#!/usr/bin/python
380
381 import dbus, sys
382
383diff --git a/test/hangup-active b/test/hangup-active
384index 82e0eb0..5af62ab 100755
385--- a/test/hangup-active
386+++ b/test/hangup-active
387@@ -1,4 +1,4 @@
388-#!/usr/bin/python3
389+#!/usr/bin/python
390
391 import sys
392 import dbus
393diff --git a/test/hangup-all b/test/hangup-all
394index 3a0138d..32933db 100755
395--- a/test/hangup-all
396+++ b/test/hangup-all
397@@ -1,4 +1,4 @@
398-#!/usr/bin/python3
399+#!/usr/bin/python
400
401 import sys
402 import dbus
403diff --git a/test/hangup-call b/test/hangup-call
404index 5a2de20..447020c 100755
405--- a/test/hangup-call
406+++ b/test/hangup-call
407@@ -1,4 +1,4 @@
408-#!/usr/bin/python3
409+#!/usr/bin/python
410
411 import sys
412 import dbus
413diff --git a/test/hangup-multiparty b/test/hangup-multiparty
414index 24751c3..48fe342 100755
415--- a/test/hangup-multiparty
416+++ b/test/hangup-multiparty
417@@ -1,4 +1,4 @@
418-#!/usr/bin/python3
419+#!/usr/bin/python
420
421 import sys
422 import dbus
423diff --git a/test/hold-and-answer b/test/hold-and-answer
424index da3be57..2c47e27 100755
425--- a/test/hold-and-answer
426+++ b/test/hold-and-answer
427@@ -1,4 +1,4 @@
428-#!/usr/bin/python3
429+#!/usr/bin/python
430
431 import sys
432 import dbus
433diff --git a/test/initiate-ussd b/test/initiate-ussd
434index faf50d0..d7022f1 100755
435--- a/test/initiate-ussd
436+++ b/test/initiate-ussd
437@@ -1,4 +1,4 @@
438-#!/usr/bin/python3
439+#!/usr/bin/python
440
441 import sys
442 import dbus
443@@ -45,7 +45,7 @@ if state == "idle":
444 print("State: %s" % (state))
445
446 while state == "user-response":
447- response = input("Enter response: ")
448+ response = raw_input("Enter response: ")
449
450 result = ussd.Respond(response, timeout=100)
451
452diff --git a/test/list-calls b/test/list-calls
453index f3ee991..08668c6 100755
454--- a/test/list-calls
455+++ b/test/list-calls
456@@ -1,4 +1,4 @@
457-#!/usr/bin/python3
458+#!/usr/bin/python
459
460 import dbus
461
462diff --git a/test/list-contexts b/test/list-contexts
463index 78278ca..f0d4094 100755
464--- a/test/list-contexts
465+++ b/test/list-contexts
466@@ -1,4 +1,4 @@
467-#!/usr/bin/python3
468+#!/usr/bin/python
469
470 import dbus
471
472diff --git a/test/list-messages b/test/list-messages
473index 9f5bce3..cfccbea 100755
474--- a/test/list-messages
475+++ b/test/list-messages
476@@ -1,4 +1,4 @@
477-#!/usr/bin/python3
478+#!/usr/bin/python
479
480 import dbus
481
482diff --git a/test/list-modems b/test/list-modems
483index b9f510a..ed66124 100755
484--- a/test/list-modems
485+++ b/test/list-modems
486@@ -1,4 +1,4 @@
487-#!/usr/bin/python3
488+#!/usr/bin/python
489
490 import dbus
491
492diff --git a/test/list-operators b/test/list-operators
493index 064c4e3..349bf41 100755
494--- a/test/list-operators
495+++ b/test/list-operators
496@@ -1,4 +1,4 @@
497-#!/usr/bin/python3
498+#!/usr/bin/python
499
500 import dbus
501 import sys
502diff --git a/test/lock-pin b/test/lock-pin
503index 96ea9c2..5579735 100755
504--- a/test/lock-pin
505+++ b/test/lock-pin
506@@ -1,4 +1,4 @@
507-#!/usr/bin/python3
508+#!/usr/bin/python
509
510 import dbus
511 import sys
512diff --git a/test/lockdown-modem b/test/lockdown-modem
513index 4e04205..781abb6 100755
514--- a/test/lockdown-modem
515+++ b/test/lockdown-modem
516@@ -1,4 +1,4 @@
517-#!/usr/bin/python3
518+#!/usr/bin/python
519
520 import dbus
521 import sys
522diff --git a/test/monitor-ofono b/test/monitor-ofono
523index 8830757..bd31617 100755
524--- a/test/monitor-ofono
525+++ b/test/monitor-ofono
526@@ -1,4 +1,4 @@
527-#!/usr/bin/python3
528+#!/usr/bin/python
529
530 from gi.repository import GLib
531
532@@ -6,7 +6,7 @@ import dbus
533 import dbus.mainloop.glib
534
535 _dbus2py = {
536- dbus.String : str,
537+ dbus.String : unicode,
538 dbus.UInt32 : int,
539 dbus.Int32 : int,
540 dbus.Int16 : int,
541diff --git a/test/offline-modem b/test/offline-modem
542index e8c043a..ea1f522 100755
543--- a/test/offline-modem
544+++ b/test/offline-modem
545@@ -1,4 +1,4 @@
546-#!/usr/bin/python3
547+#!/usr/bin/python
548
549 import dbus, sys
550
551diff --git a/test/online-modem b/test/online-modem
552index 029c4a5..310ed7d 100755
553--- a/test/online-modem
554+++ b/test/online-modem
555@@ -1,4 +1,4 @@
556-#!/usr/bin/python3
557+#!/usr/bin/python
558
559 import dbus, sys
560
561diff --git a/test/private-chat b/test/private-chat
562index e7e5406..ef2ef6c 100755
563--- a/test/private-chat
564+++ b/test/private-chat
565@@ -1,4 +1,4 @@
566-#!/usr/bin/python3
567+#!/usr/bin/python
568
569 import sys
570 import dbus
571diff --git a/test/process-context-settings b/test/process-context-settings
572index 8a3ecfa..0f058b2 100755
573--- a/test/process-context-settings
574+++ b/test/process-context-settings
575@@ -1,4 +1,4 @@
576-#!/usr/bin/python3
577+#!/usr/bin/python
578
579 import os
580 import dbus
581diff --git a/test/receive-sms b/test/receive-sms
582index a0c6915..c23eb14 100755
583--- a/test/receive-sms
584+++ b/test/receive-sms
585@@ -1,4 +1,4 @@
586-#!/usr/bin/python3
587+#!/usr/bin/python
588
589 from gi.repository import GLib
590
591diff --git a/test/reject-calls b/test/reject-calls
592index 71b243e..9edf1ff 100755
593--- a/test/reject-calls
594+++ b/test/reject-calls
595@@ -1,4 +1,4 @@
596-#!/usr/bin/python3
597+#!/usr/bin/python
598
599 import dbus
600
601diff --git a/test/release-and-answer b/test/release-and-answer
602index dec8e17..25fd818 100755
603--- a/test/release-and-answer
604+++ b/test/release-and-answer
605@@ -1,4 +1,4 @@
606-#!/usr/bin/python3
607+#!/usr/bin/python
608
609 import sys
610 import dbus
611diff --git a/test/release-and-swap b/test/release-and-swap
612index cb8c84e..7b3569f 100755
613--- a/test/release-and-swap
614+++ b/test/release-and-swap
615@@ -1,4 +1,4 @@
616-#!/usr/bin/python3
617+#!/usr/bin/python
618
619 import sys
620 import dbus
621diff --git a/test/remove-contexts b/test/remove-contexts
622index b54184e..c5082cb 100755
623--- a/test/remove-contexts
624+++ b/test/remove-contexts
625@@ -1,4 +1,4 @@
626-#!/usr/bin/python3
627+#!/usr/bin/python
628
629 import dbus
630
631diff --git a/test/reset-pin b/test/reset-pin
632index 3fbd126..b429254 100755
633--- a/test/reset-pin
634+++ b/test/reset-pin
635@@ -1,4 +1,4 @@
636-#!/usr/bin/python3
637+#!/usr/bin/python
638
639 import dbus
640 import sys
641diff --git a/test/scan-for-operators b/test/scan-for-operators
642index b4fc05e..749c710 100755
643--- a/test/scan-for-operators
644+++ b/test/scan-for-operators
645@@ -1,4 +1,4 @@
646-#!/usr/bin/python3
647+#!/usr/bin/python
648
649 import dbus
650 import sys
651diff --git a/test/send-sms b/test/send-sms
652index 98808aa..e06444d 100755
653--- a/test/send-sms
654+++ b/test/send-sms
655@@ -1,4 +1,4 @@
656-#!/usr/bin/python3
657+#!/usr/bin/python
658
659 import sys
660 import dbus
661diff --git a/test/send-ussd b/test/send-ussd
662index a20e098..e585883 100755
663--- a/test/send-ussd
664+++ b/test/send-ussd
665@@ -1,4 +1,4 @@
666-#!/usr/bin/python3
667+#!/usr/bin/python
668
669 import sys
670 import dbus
671@@ -46,7 +46,7 @@ if state == "idle":
672 print("State: %s" % (state))
673
674 while state == "user-response":
675- response = input("Enter response: ")
676+ response = raw_input("Enter response: ")
677
678 print(ussd.Respond(response, timeout=100))
679
680diff --git a/test/send-vcal b/test/send-vcal
681index 566daef..7f8272b 100755
682--- a/test/send-vcal
683+++ b/test/send-vcal
684@@ -1,4 +1,4 @@
685-#!/usr/bin/python3
686+#!/usr/bin/python
687
688 import sys
689 import dbus
690diff --git a/test/send-vcard b/test/send-vcard
691index 4dedf51..250b36f 100755
692--- a/test/send-vcard
693+++ b/test/send-vcard
694@@ -1,4 +1,4 @@
695-#!/usr/bin/python3
696+#!/usr/bin/python
697
698 import sys
699 import dbus
700diff --git a/test/set-call-forwarding b/test/set-call-forwarding
701index 49d1ce0..9fd358b 100755
702--- a/test/set-call-forwarding
703+++ b/test/set-call-forwarding
704@@ -1,4 +1,4 @@
705-#!/usr/bin/python3
706+#!/usr/bin/python
707
708 import sys
709 from gi.repository import GLib
710diff --git a/test/set-cbs-topics b/test/set-cbs-topics
711index db95e16..78d6d44 100755
712--- a/test/set-cbs-topics
713+++ b/test/set-cbs-topics
714@@ -1,4 +1,4 @@
715-#!/usr/bin/python3
716+#!/usr/bin/python
717
718 import dbus
719 import sys
720diff --git a/test/set-context-property b/test/set-context-property
721index 5ff7a67..64a6fb8 100755
722--- a/test/set-context-property
723+++ b/test/set-context-property
724@@ -1,4 +1,4 @@
725-#!/usr/bin/python3
726+#!/usr/bin/python
727
728 import sys
729 import dbus
730diff --git a/test/set-fast-dormancy b/test/set-fast-dormancy
731index ef77bcd..7bf7715 100755
732--- a/test/set-fast-dormancy
733+++ b/test/set-fast-dormancy
734@@ -1,4 +1,4 @@
735-#!/usr/bin/python3
736+#!/usr/bin/python
737
738 import dbus
739 import sys
740diff --git a/test/set-gsm-band b/test/set-gsm-band
741index b37bcb5..3c17c10 100755
742--- a/test/set-gsm-band
743+++ b/test/set-gsm-band
744@@ -1,4 +1,4 @@
745-#!/usr/bin/python3
746+#!/usr/bin/python
747
748 import dbus
749 import sys
750diff --git a/test/set-mic-volume b/test/set-mic-volume
751index cd6c73f..e0bff49 100755
752--- a/test/set-mic-volume
753+++ b/test/set-mic-volume
754@@ -1,4 +1,4 @@
755-#!/usr/bin/python3
756+#!/usr/bin/python
757
758 import sys
759 import dbus
760diff --git a/test/set-mms-details b/test/set-mms-details
761index 6ee59fa..d2d0838 100755
762--- a/test/set-mms-details
763+++ b/test/set-mms-details
764@@ -1,4 +1,4 @@
765-#!/usr/bin/python3
766+#!/usr/bin/python
767
768 import sys
769 import dbus
770diff --git a/test/set-msisdn b/test/set-msisdn
771index b5fe819..01f284d 100755
772--- a/test/set-msisdn
773+++ b/test/set-msisdn
774@@ -1,4 +1,4 @@
775-#!/usr/bin/python3
776+#!/usr/bin/python
777
778 import dbus
779 import sys
780diff --git a/test/set-roaming-allowed b/test/set-roaming-allowed
781index 698c8b6..9e3e058 100755
782--- a/test/set-roaming-allowed
783+++ b/test/set-roaming-allowed
784@@ -1,4 +1,4 @@
785-#!/usr/bin/python3
786+#!/usr/bin/python
787
788 import sys
789 import dbus
790diff --git a/test/set-speaker-volume b/test/set-speaker-volume
791index 6d4e301..7962f39 100755
792--- a/test/set-speaker-volume
793+++ b/test/set-speaker-volume
794@@ -1,4 +1,4 @@
795-#!/usr/bin/python3
796+#!/usr/bin/python
797
798 import sys
799 import dbus
800diff --git a/test/set-tech-preference b/test/set-tech-preference
801index b549abc..2666cbd 100755
802--- a/test/set-tech-preference
803+++ b/test/set-tech-preference
804@@ -1,4 +1,4 @@
805-#!/usr/bin/python3
806+#!/usr/bin/python
807
808 import dbus
809 import sys
810diff --git a/test/set-tty b/test/set-tty
811index eed1fba..53d6b99 100755
812--- a/test/set-tty
813+++ b/test/set-tty
814@@ -1,4 +1,4 @@
815-#!/usr/bin/python3
816+#!/usr/bin/python
817
818 import dbus
819 import sys
820diff --git a/test/set-umts-band b/test/set-umts-band
821index 0bae5c4..c1e6448 100755
822--- a/test/set-umts-band
823+++ b/test/set-umts-band
824@@ -1,4 +1,4 @@
825-#!/usr/bin/python3
826+#!/usr/bin/python
827
828 import dbus
829 import sys
830diff --git a/test/set-use-sms-reports b/test/set-use-sms-reports
831index 288d4e1..a4efe4f 100755
832--- a/test/set-use-sms-reports
833+++ b/test/set-use-sms-reports
834@@ -1,4 +1,4 @@
835-#!/usr/bin/python3
836+#!/usr/bin/python
837
838 import dbus
839 import sys
840diff --git a/test/swap-calls b/test/swap-calls
841index 018a8d3..eeb257b 100755
842--- a/test/swap-calls
843+++ b/test/swap-calls
844@@ -1,4 +1,4 @@
845-#!/usr/bin/python3
846+#!/usr/bin/python
847
848 import sys
849 import dbus
850diff --git a/test/test-advice-of-charge b/test/test-advice-of-charge
851index 6e87e61..0f1f57f 100755
852--- a/test/test-advice-of-charge
853+++ b/test/test-advice-of-charge
854@@ -1,4 +1,4 @@
855-#!/usr/bin/python3
856+#!/usr/bin/python
857
858 from gi.repository import GLib
859 import sys
860diff --git a/test/test-call-barring b/test/test-call-barring
861index eedb69f..be4ab57 100755
862--- a/test/test-call-barring
863+++ b/test/test-call-barring
864@@ -1,4 +1,4 @@
865-#!/usr/bin/python3
866+#!/usr/bin/python
867
868 from gi.repository import GLib
869 import sys
870diff --git a/test/test-call-forwarding b/test/test-call-forwarding
871index 5db84d7..01a7294 100755
872--- a/test/test-call-forwarding
873+++ b/test/test-call-forwarding
874@@ -1,4 +1,4 @@
875-#!/usr/bin/python3
876+#!/usr/bin/python
877
878 from gi.repository import GLib
879
880diff --git a/test/test-call-settings b/test/test-call-settings
881index 435594c..5d7ee49 100755
882--- a/test/test-call-settings
883+++ b/test/test-call-settings
884@@ -1,4 +1,4 @@
885-#!/usr/bin/python3
886+#!/usr/bin/python
887
888 from gi.repository import GLib
889
890diff --git a/test/test-cbs b/test/test-cbs
891index a5cec06..13cdd80 100755
892--- a/test/test-cbs
893+++ b/test/test-cbs
894@@ -1,4 +1,4 @@
895-#!/usr/bin/python3
896+#!/usr/bin/python
897
898 import dbus
899 import dbus.mainloop.glib
900@@ -78,7 +78,7 @@ def set_topics(cbs):
901 invalidData = False;
902 index = 0
903
904- topics = input('Enter the topic ID(s) you want to register to: ')
905+ topics = raw_input('Enter the topic ID(s) you want to register to: ')
906
907 while index < len(topics):
908 if topics[index] == ',' or topics[index] == '-':
909diff --git a/test/test-gnss b/test/test-gnss
910index 6ae64db..aa0b160 100755
911--- a/test/test-gnss
912+++ b/test/test-gnss
913@@ -1,4 +1,4 @@
914-#!/usr/bin/python3
915+#!/usr/bin/python
916
917 from gi.repository import GLib
918 import sys
919@@ -40,7 +40,7 @@ def print_menu():
920 def stdin_handler(channel, condition, gnss, path):
921 in_key = os.read(channel.unix_get_fd(), 160).rstrip().decode('UTF-8')
922 if in_key == '0':
923- xml = input('type the element and press enter: ')
924+ xml = raw_input('type the element and press enter: ')
925 try:
926 gnss.SendPositioningElement(dbus.String(xml))
927 print("ok")
928diff --git a/test/test-message-waiting b/test/test-message-waiting
929index 432862e..b93fbf3 100755
930--- a/test/test-message-waiting
931+++ b/test/test-message-waiting
932@@ -1,4 +1,4 @@
933-#!/usr/bin/python3
934+#!/usr/bin/python
935
936 from gi.repository import GLib
937 import sys
938diff --git a/test/test-modem b/test/test-modem
939index aa38b1f..29dbf14 100755
940--- a/test/test-modem
941+++ b/test/test-modem
942@@ -1,4 +1,4 @@
943-#!/usr/bin/python3
944+#!/usr/bin/python
945
946 from gi.repository import GLib
947
948diff --git a/test/test-network-registration b/test/test-network-registration
949index 68b4347..c5ad586 100755
950--- a/test/test-network-registration
951+++ b/test/test-network-registration
952@@ -1,4 +1,4 @@
953-#!/usr/bin/python3
954+#!/usr/bin/python
955
956 from gi.repository import GLib
957 import sys
958diff --git a/test/test-phonebook b/test/test-phonebook
959index 42646d3..116fd4f 100755
960--- a/test/test-phonebook
961+++ b/test/test-phonebook
962@@ -1,4 +1,4 @@
963-#!/usr/bin/python3
964+#!/usr/bin/python
965
966 import dbus, sys
967
968diff --git a/test/test-push-notification b/test/test-push-notification
969index d972ad3..ecc6afb 100755
970--- a/test/test-push-notification
971+++ b/test/test-push-notification
972@@ -1,4 +1,4 @@
973-#!/usr/bin/python3
974+#!/usr/bin/python
975
976 from gi.repository import GLib
977
978diff --git a/test/test-smart-messaging b/test/test-smart-messaging
979index f22efd2..188ac1e 100755
980--- a/test/test-smart-messaging
981+++ b/test/test-smart-messaging
982@@ -1,4 +1,4 @@
983-#!/usr/bin/python3
984+#!/usr/bin/python
985
986 from gi.repository import GLib
987
988diff --git a/test/test-sms b/test/test-sms
989index 30ac651..49935e1 100755
990--- a/test/test-sms
991+++ b/test/test-sms
992@@ -1,4 +1,4 @@
993-#!/usr/bin/python3
994+#!/usr/bin/python
995 # -*- coding: utf-8 -*-
996
997 from gi.repository import GLib
998@@ -132,7 +132,7 @@ def stdin_handler(channel, condition, sms, value, number):
999 lock = "on"
1000 if in_key == '0':
1001 print_send_sms_menu()
1002- sms_type = input('Select SMS type: ')
1003+ sms_type = raw_input('Select SMS type: ')
1004
1005 if sms_type == '1':
1006 message_send(sms, number, value)
1007@@ -150,49 +150,49 @@ def stdin_handler(channel, condition, sms, value, number):
1008
1009 elif in_key == '1':
1010 message_delivery_report(sms, 1)
1011- send_msg = input('Send test message[y/n]?: ')
1012+ send_msg = raw_input('Send test message[y/n]?: ')
1013 if send_msg == 'y':
1014 message_send(sms, number, ("(1)" + value +
1015 ": UseDeliveryReports[TRUE]"))
1016
1017 elif in_key == '2':
1018 message_delivery_report(sms, 0)
1019- send_msg = input('Send test message[y/n]?: ')
1020+ send_msg = raw_input('Send test message[y/n]?: ')
1021 if send_msg == 'y':
1022 message_send(sms, number, ("(2) " + value +
1023 ": UseDeliveryReports[FALSE]"))
1024
1025 elif in_key == '3':
1026 message_service_center_address(sms, SCA)
1027- send_msg = input('Send test message[y/n]?: ')
1028+ send_msg = raw_input('Send test message[y/n]?: ')
1029 if send_msg == 'y':
1030 message_send(sms, number, ("(3) " + value +
1031 ": ServiceCenterAddress"))
1032
1033 elif in_key == '4':
1034 message_bearer(sms, "ps-only")
1035- send_msg = input('Send test message[y/n]?: ')
1036+ send_msg = raw_input('Send test message[y/n]?: ')
1037 if send_msg == 'y':
1038 message_send(sms, number, ("(4) " + value +
1039 ": Bearer[ps-only]"))
1040
1041 elif in_key == '5':
1042 message_bearer(sms, "cs-only")
1043- send_msg = input('Send test message[y/n]?: ')
1044+ send_msg = raw_input('Send test message[y/n]?: ')
1045 if send_msg == 'y':
1046 message_send(sms, number, ("(5) " + value +
1047 ": Bearer[cs-only]"))
1048
1049 elif in_key == '6':
1050 message_bearer(sms, "ps-preferred")
1051- send_msg = input('Send test message[y/n]?: ')
1052+ send_msg = raw_input('Send test message[y/n]?: ')
1053 if send_msg == 'y':
1054 message_send(sms, number, ("(6) " + value +
1055 ": Bearer[ps-preferred]"))
1056
1057 elif in_key == '7':
1058 message_bearer(sms, "cs-preferred")
1059- send_msg = input('Send test message[y/n]?: ')
1060+ send_msg = raw_input('Send test message[y/n]?: ')
1061 if send_msg == 'y':
1062 message_send(sms,number, ("(7) " + value +
1063 ": Bearer[cs-preferred]"))
1064diff --git a/test/test-ss b/test/test-ss
1065index 4cd8732..2c80806 100755
1066--- a/test/test-ss
1067+++ b/test/test-ss
1068@@ -1,4 +1,4 @@
1069-#!/usr/bin/python3
1070+#!/usr/bin/python
1071
1072 import sys
1073 import dbus
1074diff --git a/test/test-ss-control-cb b/test/test-ss-control-cb
1075index ddae6d3..86bac9b 100755
1076--- a/test/test-ss-control-cb
1077+++ b/test/test-ss-control-cb
1078@@ -1,4 +1,4 @@
1079-#!/usr/bin/python3
1080+#!/usr/bin/python
1081
1082 from gi.repository import GLib
1083
1084diff --git a/test/test-ss-control-cf b/test/test-ss-control-cf
1085index 095eb5d..d30bf4f 100755
1086--- a/test/test-ss-control-cf
1087+++ b/test/test-ss-control-cf
1088@@ -1,4 +1,4 @@
1089-#!/usr/bin/python3
1090+#!/usr/bin/python
1091
1092 from gi.repository import GLib
1093
1094diff --git a/test/test-ss-control-cs b/test/test-ss-control-cs
1095index 8180474..e0ed1d1 100755
1096--- a/test/test-ss-control-cs
1097+++ b/test/test-ss-control-cs
1098@@ -1,4 +1,4 @@
1099-#!/usr/bin/python3
1100+#!/usr/bin/python
1101
1102 from gi.repository import GLib
1103
1104diff --git a/test/test-stk-menu b/test/test-stk-menu
1105index 0cf8fa2..ac0a5bd 100755
1106--- a/test/test-stk-menu
1107+++ b/test/test-stk-menu
1108@@ -1,4 +1,4 @@
1109-#!/usr/bin/python3
1110+#!/usr/bin/python
1111
1112 from gi.repository import GLib
1113
1114@@ -58,7 +58,7 @@ class StkAgent(dbus.service.Object):
1115 index += 1
1116
1117 print("\nDefault: %d" % (default))
1118- select = input("Enter Selection (t, b):")
1119+ select = raw_input("Enter Selection (t, b):")
1120
1121 if select == 'b':
1122 raise GoBack("User wishes to go back")
1123@@ -75,7 +75,7 @@ class StkAgent(dbus.service.Object):
1124 print("DisplayText (%s)" % (title))
1125 print("Icon: (%d)" % (int(icon)))
1126 print("Urgent: (%d)" % (urgent))
1127- key = input("Press return to clear ('t' terminates, "
1128+ key = raw_input("Press return to clear ('t' terminates, "
1129 "'b' goes back, 'n' busy, "
1130 "'w' return and wait):")
1131
1132@@ -108,7 +108,7 @@ class StkAgent(dbus.service.Object):
1133 print("Hide typing: (%s)" % (hide_typing))
1134 print("Enter characters, min: %d, max: %d:" % (min_chars,
1135 max_chars))
1136- userin = input("")
1137+ userin = raw_input("")
1138
1139 return userin
1140
1141@@ -122,7 +122,7 @@ class StkAgent(dbus.service.Object):
1142 print("Hide typing: (%s)" % (hide_typing))
1143 print("Enter digits, min: %d, max: %d:" % (min_chars,
1144 max_chars))
1145- userin = input("'t' terminates, 'b' goes back:")
1146+ userin = raw_input("'t' terminates, 'b' goes back:")
1147
1148 if userin == 'b':
1149 raise GoBack("User wishes to go back")
1150@@ -136,7 +136,7 @@ class StkAgent(dbus.service.Object):
1151 def RequestKey(self, title, icon):
1152 print("Title: (%s)" % (title))
1153 print("Icon: (%d)" % (int(icon)))
1154- key = input("Enter Key (t, b):")
1155+ key = raw_input("Enter Key (t, b):")
1156
1157 if key == 'b':
1158 raise GoBack("User wishes to go back")
1159@@ -150,7 +150,7 @@ class StkAgent(dbus.service.Object):
1160 def RequestDigit(self, title, icon):
1161 print("Title: (%s)" % (title))
1162 print("Icon: (%d)" % (int(icon)))
1163- key = input("Enter Digit (t, b):")
1164+ key = raw_input("Enter Digit (t, b):")
1165
1166 if key == 'b':
1167 raise GoBack("User wishes to go back")
1168@@ -164,7 +164,7 @@ class StkAgent(dbus.service.Object):
1169 def RequestQuickDigit(self, title, icon):
1170 print("Title: (%s)" % (title))
1171 print("Icon: (%d)" % (int(icon)))
1172- key = input("Quick digit (0-9, *, #, t, b):")
1173+ key = raw_input("Quick digit (0-9, *, #, t, b):")
1174
1175 if key == 'b':
1176 raise GoBack("User wishes to go back")
1177@@ -178,7 +178,7 @@ class StkAgent(dbus.service.Object):
1178 def RequestConfirmation(self, title, icon):
1179 print("Title: (%s)" % (title))
1180 print("Icon: (%d)" % (int(icon)))
1181- key = input("Enter Confirmation (t, b, y, n):")
1182+ key = raw_input("Enter Confirmation (t, b, y, n):")
1183
1184 if key == 'b':
1185 raise GoBack("User wishes to go back")
1186@@ -194,7 +194,7 @@ class StkAgent(dbus.service.Object):
1187 def ConfirmCallSetup(self, info, icon):
1188 print("Information: (%s)" % (info))
1189 print("Icon: (%d)" % (int(icon)))
1190- key = input("Enter Confirmation (t, y, n):")
1191+ key = raw_input("Enter Confirmation (t, y, n):")
1192
1193 if key == 't':
1194 raise EndSession("User wishes to terminate session")
1195@@ -209,7 +209,7 @@ class StkAgent(dbus.service.Object):
1196 print("Information: (%s)" % (info))
1197 print("Icon: (%d)" % (int(icon)))
1198 print("URL (%s)" % (url))
1199- key = input("Enter Confirmation (y, n):")
1200+ key = raw_input("Enter Confirmation (y, n):")
1201
1202 if key == 'y':
1203 return True
1204@@ -232,7 +232,7 @@ class StkAgent(dbus.service.Object):
1205 signal.alarm(5)
1206
1207 try:
1208- key = input("Press return to end before end of"
1209+ key = raw_input("Press return to end before end of"
1210 " single tone (t):")
1211 signal.alarm(0)
1212
1213@@ -250,7 +250,7 @@ class StkAgent(dbus.service.Object):
1214 print("LoopTone: %s" % (tone))
1215 print("Text: %s" % (text))
1216 print("Icon: %d" % (int(icon)))
1217- key = input("Press return to end before timeout "
1218+ key = raw_input("Press return to end before timeout "
1219 "('t' terminates, 'w' return and wait):")
1220
1221 if key == 'w':
1222@@ -279,7 +279,7 @@ class StkAgent(dbus.service.Object):
1223 def DisplayAction(self, text, icon):
1224 print("Text: (%s)" % (text))
1225 print("Icon: (%d)" % (int(icon)))
1226- key = input("Press 't' to terminate the session ")
1227+ key = raw_input("Press 't' to terminate the session ")
1228
1229 if key == 't':
1230 raise EndSession("User wishes to terminate session")
1231@@ -289,7 +289,7 @@ class StkAgent(dbus.service.Object):
1232 def ConfirmOpenChannel(self, info, icon):
1233 print("Open channel confirmation: (%s)" % (info))
1234 print("Icon: (%d)" % (int(icon)))
1235- key = input("Enter Confirmation (t, y, n):")
1236+ key = raw_input("Enter Confirmation (t, y, n):")
1237
1238 if key == 't':
1239 raise EndSession("User wishes to terminate session")
1240@@ -299,7 +299,7 @@ class StkAgent(dbus.service.Object):
1241 return False
1242
1243 _dbus2py = {
1244- dbus.String : str,
1245+ dbus.String : unicode,
1246 dbus.UInt32 : int,
1247 dbus.Int32 : int,
1248 dbus.Int16 : int,
1249@@ -396,7 +396,7 @@ if __name__ == '__main__':
1250 except:
1251 pass
1252
1253- select = int(input("Enter Selection: "))
1254+ select = int(raw_input("Enter Selection: "))
1255 stk.SelectItem(select, path)
1256 elif mode == 'agent':
1257 path = "/test/agent"
1258diff --git a/test/unlock-pin b/test/unlock-pin
1259index 61f4765..10b6626 100755
1260--- a/test/unlock-pin
1261+++ b/test/unlock-pin
1262@@ -1,4 +1,4 @@
1263-#!/usr/bin/python3
1264+#!/usr/bin/python
1265
1266 import dbus
1267 import sys
1268--
12691.9.1
1270
diff --git a/meta/recipes-connectivity/ofono/ofono/ofono b/meta/recipes-connectivity/ofono/ofono/ofono
new file mode 100644
index 0000000000..cc9970929c
--- /dev/null
+++ b/meta/recipes-connectivity/ofono/ofono/ofono
@@ -0,0 +1,42 @@
1#!/bin/sh
2
3DAEMON=/usr/sbin/ofonod
4PIDFILE=/var/run/ofonod.pid
5DESC="Telephony daemon"
6
7if [ -f /etc/default/ofono ] ; then
8 . /etc/default/ofono
9fi
10
11set -e
12
13do_start() {
14 $DAEMON
15}
16
17do_stop() {
18 start-stop-daemon --stop --name ofonod --quiet
19}
20
21case "$1" in
22 start)
23 echo "Starting $DESC"
24 do_start
25 ;;
26 stop)
27 echo "Stopping $DESC"
28 do_stop
29 ;;
30 restart|force-reload)
31 echo "Restarting $DESC"
32 do_stop
33 sleep 1
34 do_start
35 ;;
36 *)
37 echo "Usage: $0 {start|stop|restart|force-reload}" >&2
38 exit 1
39 ;;
40esac
41
42exit 0
diff --git a/meta/recipes-connectivity/ofono/ofono_1.15.bb b/meta/recipes-connectivity/ofono/ofono_1.15.bb
new file mode 100644
index 0000000000..bee2b4745c
--- /dev/null
+++ b/meta/recipes-connectivity/ofono/ofono_1.15.bb
@@ -0,0 +1,12 @@
1require ofono.inc
2
3SRC_URI = "\
4 ${KERNELORG_MIRROR}/linux/network/${BPN}/${BP}.tar.xz \
5 file://ofono \
6 file://Revert-test-Convert-to-Python-3.patch \
7"
8
9SRC_URI[md5sum] = "4d03de85239d8100dc7721bf0dad2bd2"
10SRC_URI[sha256sum] = "978807a05e8904eb4e57d6533ed71e75676a55fa3819a39fe2c878f45dbf7af6"
11
12CFLAGS_append_libc-uclibc = " -D_GNU_SOURCE"
diff --git a/meta/recipes-connectivity/ofono/ofono_git.bb b/meta/recipes-connectivity/ofono/ofono_git.bb
new file mode 100644
index 0000000000..beafb775c2
--- /dev/null
+++ b/meta/recipes-connectivity/ofono/ofono_git.bb
@@ -0,0 +1,14 @@
1require ofono.inc
2
3S = "${WORKDIR}/git"
4SRCREV = "14544d5996836f628613c2ce544380ee6fc8f514"
5PV = "0.12-git${SRCPV}"
6PR = "r5"
7
8SRC_URI = "git://git.kernel.org/pub/scm/network/ofono/ofono.git \
9 file://ofono"
10
11do_configure_prepend () {
12 ${S}/bootstrap
13}
14
diff --git a/meta/recipes-connectivity/openssh/files/add-test-support-for-busybox.patch b/meta/recipes-connectivity/openssh/files/add-test-support-for-busybox.patch
new file mode 100644
index 0000000000..5913597dfd
--- /dev/null
+++ b/meta/recipes-connectivity/openssh/files/add-test-support-for-busybox.patch
@@ -0,0 +1,61 @@
1Adjust test cases to work with busybox.
2
3- Replace dd parameter "obs" with "bs".
4- Replace "head -<num>" with "head -n <num>".
5
6Signed-off-by: Björn Stenberg <bjst@enea.com>
7Upstream-status: Pending
8
9--- a/regress/cipher-speed.sh 2012-06-30 07:08:53.000000000 +0200
10+++ b/regress/cipher-speed.sh 2013-02-15 11:30:20.670022055 +0100
11@@ -26,7 +26,7 @@
12 echon "$c/$m:\t"
13 ( ${SSH} -o 'compression no' \
14 -F $OBJ/ssh_proxy -2 -m $m -c $c somehost \
15- exec sh -c \'"dd of=/dev/null obs=32k"\' \
16+ exec sh -c \'"dd of=/dev/null bs=32k"\' \
17 < ${DATA} ) 2>&1 | getbytes
18
19 if [ $? -ne 0 ]; then
20@@ -42,7 +42,7 @@
21 echon "$c:\t"
22 ( ${SSH} -o 'compression no' \
23 -F $OBJ/ssh_proxy -1 -c $c somehost \
24- exec sh -c \'"dd of=/dev/null obs=32k"\' \
25+ exec sh -c \'"dd of=/dev/null bs=32k"\' \
26 < ${DATA} ) 2>&1 | getbytes
27 if [ $? -ne 0 ]; then
28 fail "ssh -1 failed with cipher $c"
29--- a/regress/transfer.sh 2003-09-04 06:54:40.000000000 +0200
30+++ b/regress/transfer.sh 2013-02-15 11:25:34.666411185 +0100
31@@ -18,7 +18,7 @@
32 for s in 10 100 1k 32k 64k 128k 256k; do
33 trace "proto $p dd-size ${s}"
34 rm -f ${COPY}
35- dd if=$DATA obs=${s} 2> /dev/null | \
36+ dd if=$DATA bs=${s} 2> /dev/null | \
37 ${SSH} -q -$p -F $OBJ/ssh_proxy somehost "cat > ${COPY}"
38 if [ $? -ne 0 ]; then
39 fail "ssh cat $DATA failed"
40--- a/regress/yes-head.sh 2005-11-28 06:41:03.000000000 +0100
41+++ b/regress/yes-head.sh 2013-02-15 11:55:11.413715068 +0100
42@@ -4,7 +4,7 @@
43 tid="yes pipe head"
44
45 for p in 1 2; do
46- lines=`${SSH} -$p -F $OBJ/ssh_proxy thishost 'sh -c "while true;do echo yes;done | _POSIX2_VERSION=199209 head -2000"' | (sleep 3 ; wc -l)`
47+ lines=`${SSH} -$p -F $OBJ/ssh_proxy thishost 'sh -c "while true;do echo yes;done | _POSIX2_VERSION=199209 head -n 2000"' | (sleep 3 ; wc -l)`
48 if [ $? -ne 0 ]; then
49 fail "yes|head test failed"
50 lines = 0;
51--- a/regress/key-options.sh 2008-07-04 09:08:58.000000000 +0200
52+++ b/regress/key-options.sh 2013-02-15 12:06:05.109486098 +0100
53@@ -54,7 +54,7 @@
54 fi
55
56 sed 's/.*/from="'"$f"'" &/' $origkeys >$authkeys
57- from=`head -1 $authkeys | cut -f1 -d ' '`
58+ from=`head -n 1 $authkeys | cut -f1 -d ' '`
59 verbose "key option proto $p $from"
60 r=`${SSH} -$p -q -F $OBJ/ssh_proxy somehost 'echo true'`
61 if [ "$r" = "true" ]; then
diff --git a/meta/recipes-connectivity/openssh/files/run-ptest b/meta/recipes-connectivity/openssh/files/run-ptest
new file mode 100755
index 0000000000..3e725cf282
--- /dev/null
+++ b/meta/recipes-connectivity/openssh/files/run-ptest
@@ -0,0 +1,7 @@
1#!/bin/sh
2
3export TEST_SHELL=sh
4
5cd regress
6make -k .OBJDIR=`pwd` .CURDIR=`pwd` tests \
7 | sed -e 's/^skipped/SKIP: /g' -e 's/^ok /PASS: /g' -e 's/^failed/FAIL: /g'
diff --git a/meta/recipes-connectivity/openssh/openssh/add-test-support-for-busybox.patch b/meta/recipes-connectivity/openssh/openssh/add-test-support-for-busybox.patch
new file mode 100644
index 0000000000..07af667869
--- /dev/null
+++ b/meta/recipes-connectivity/openssh/openssh/add-test-support-for-busybox.patch
@@ -0,0 +1,61 @@
1Adjust test cases to work with busybox.
2
3- Replace dd parameter "obs" with "bs".
4- Replace "head -<num>" with "head -n <num>".
5
6Signed-off-by: Maxin B. John <maxin.john@enea.com>
7Upstream-Status: Pending
8
9--- a/regress/cipher-speed.sh 2012-06-30 07:08:53.000000000 +0200
10+++ b/regress/cipher-speed.sh 2013-02-15 11:30:20.670022055 +0100
11@@ -26,7 +26,7 @@
12 echon "$c/$m:\t"
13 ( ${SSH} -o 'compression no' \
14 -F $OBJ/ssh_proxy -2 -m $m -c $c somehost \
15- exec sh -c \'"dd of=/dev/null obs=32k"\' \
16+ exec sh -c \'"dd of=/dev/null bs=32k"\' \
17 < ${DATA} ) 2>&1 | getbytes
18
19 if [ $? -ne 0 ]; then
20@@ -42,7 +42,7 @@
21 echon "$c:\t"
22 ( ${SSH} -o 'compression no' \
23 -F $OBJ/ssh_proxy -1 -c $c somehost \
24- exec sh -c \'"dd of=/dev/null obs=32k"\' \
25+ exec sh -c \'"dd of=/dev/null bs=32k"\' \
26 < ${DATA} ) 2>&1 | getbytes
27 if [ $? -ne 0 ]; then
28 fail "ssh -1 failed with cipher $c"
29--- a/regress/transfer.sh 2003-09-04 06:54:40.000000000 +0200
30+++ b/regress/transfer.sh 2013-02-15 11:25:34.666411185 +0100
31@@ -18,7 +18,7 @@
32 for s in 10 100 1k 32k 64k 128k 256k; do
33 trace "proto $p dd-size ${s}"
34 rm -f ${COPY}
35- dd if=$DATA obs=${s} 2> /dev/null | \
36+ dd if=$DATA bs=${s} 2> /dev/null | \
37 ${SSH} -q -$p -F $OBJ/ssh_proxy somehost "cat > ${COPY}"
38 if [ $? -ne 0 ]; then
39 fail "ssh cat $DATA failed"
40--- a/regress/yes-head.sh 2005-11-28 06:41:03.000000000 +0100
41+++ b/regress/yes-head.sh 2013-02-15 11:55:11.413715068 +0100
42@@ -4,7 +4,7 @@
43 tid="yes pipe head"
44
45 for p in 1 2; do
46- lines=`${SSH} -$p -F $OBJ/ssh_proxy thishost 'sh -c "while true;do echo yes;done | _POSIX2_VERSION=199209 head -2000"' | (sleep 3 ; wc -l)`
47+ lines=`${SSH} -$p -F $OBJ/ssh_proxy thishost 'sh -c "while true;do echo yes;done | _POSIX2_VERSION=199209 head -n 2000"' | (sleep 3 ; wc -l)`
48 if [ $? -ne 0 ]; then
49 fail "yes|head test failed"
50 lines = 0;
51--- a/regress/key-options.sh 2008-07-04 09:08:58.000000000 +0200
52+++ b/regress/key-options.sh 2013-02-15 12:06:05.109486098 +0100
53@@ -54,7 +54,7 @@
54 fi
55
56 sed 's/.*/from="'"$f"'" &/' $origkeys >$authkeys
57- from=`head -1 $authkeys | cut -f1 -d ' '`
58+ from=`head -n 1 $authkeys | cut -f1 -d ' '`
59 verbose "key option proto $p $from"
60 r=`${SSH} -$p -q -F $OBJ/ssh_proxy somehost 'echo true'`
61 if [ "$r" = "true" ]; then
diff --git a/meta/recipes-connectivity/openssh/openssh/auth2-none.c-avoid-authenticate-empty-passwords-to-m.patch b/meta/recipes-connectivity/openssh/openssh/auth2-none.c-avoid-authenticate-empty-passwords-to-m.patch
new file mode 100644
index 0000000000..ba13cd1919
--- /dev/null
+++ b/meta/recipes-connectivity/openssh/openssh/auth2-none.c-avoid-authenticate-empty-passwords-to-m.patch
@@ -0,0 +1,30 @@
1Upstream-Status: Pending
2
3Subject: auth2-none.c: avoid authenticate empty passwords to mess up with PAM
4
5If UsePAM, PermitEmptyPasswords, PasswordAuthentication are enabled. The ssh daemon
6will try to authenticate an empty password, resulting in login failures of any user.
7If PAM is enabled, then we should leave the task of password authentication to PAM.
8
9Signed-off-by: Chen Qi <Qi.Chen@windriver.com>
10
11---
12 auth2-none.c | 2 +-
13 1 file changed, 1 insertion(+), 1 deletion(-)
14
15diff --git a/auth2-none.c b/auth2-none.c
16index c8c6c74..b48b2fd 100644
17--- a/auth2-none.c
18+++ b/auth2-none.c
19@@ -61,7 +61,7 @@ userauth_none(Authctxt *authctxt)
20 {
21 none_enabled = 0;
22 packet_check_eom();
23- if (options.permit_empty_passwd && options.password_authentication)
24+ if (options.permit_empty_passwd && options.password_authentication && !options.use_pam)
25 return (PRIVSEP(auth_password(authctxt, "")));
26 return (0);
27 }
28--
291.7.9.5
30
diff --git a/meta/recipes-connectivity/openssh/openssh/init b/meta/recipes-connectivity/openssh/openssh/init
new file mode 100644
index 0000000000..70d4a34659
--- /dev/null
+++ b/meta/recipes-connectivity/openssh/openssh/init
@@ -0,0 +1,115 @@
1#! /bin/sh
2set -e
3
4PIDFILE=/var/run/sshd.pid
5
6# source function library
7. /etc/init.d/functions
8
9# /etc/init.d/ssh: start and stop the OpenBSD "secure shell" daemon
10
11test -x /usr/sbin/sshd || exit 0
12( /usr/sbin/sshd -\? 2>&1 | grep -q OpenSSH ) 2>/dev/null || exit 0
13
14# /etc/default/ssh may set SYSCONFDIR and SSHD_OPTS
15if test -f /etc/default/ssh; then
16 . /etc/default/ssh
17fi
18
19[ -z "$SYSCONFDIR" ] && SYSCONFDIR=/etc/ssh
20mkdir -p $SYSCONFDIR
21
22HOST_KEY_RSA=$SYSCONFDIR/ssh_host_rsa_key
23HOST_KEY_DSA=$SYSCONFDIR/ssh_host_dsa_key
24HOST_KEY_ECDSA=$SYSCONFDIR/ssh_host_ecdsa_key
25HOST_KEY_ED25519=$SYSCONFDIR/ssh_host_ed25519_key
26
27check_for_no_start() {
28 # forget it if we're trying to start, and /etc/ssh/sshd_not_to_be_run exists
29 if [ -e $SYSCONFDIR/sshd_not_to_be_run ]; then
30 echo "OpenBSD Secure Shell server not in use ($SYSCONFDIR/sshd_not_to_be_run)"
31 exit 0
32 fi
33}
34
35check_privsep_dir() {
36 # Create the PrivSep empty dir if necessary
37 if [ ! -d /var/run/sshd ]; then
38 mkdir /var/run/sshd
39 chmod 0755 /var/run/sshd
40 fi
41}
42
43check_config() {
44 /usr/sbin/sshd -t || exit 1
45}
46
47check_keys() {
48 # create keys if necessary
49 if [ ! -f $HOST_KEY_RSA ]; then
50 echo " generating ssh RSA key..."
51 ssh-keygen -q -f $HOST_KEY_RSA -N '' -t rsa
52 fi
53 if [ ! -f $HOST_KEY_ECDSA ]; then
54 echo " generating ssh ECDSA key..."
55 ssh-keygen -q -f $HOST_KEY_ECDSA -N '' -t ecdsa
56 fi
57 if [ ! -f $HOST_KEY_DSA ]; then
58 echo " generating ssh DSA key..."
59 ssh-keygen -q -f $HOST_KEY_DSA -N '' -t dsa
60 fi
61 if [ ! -f $HOST_KEY_ED25519 ]; then
62 echo " generating ssh ED25519 key..."
63 ssh-keygen -q -f $HOST_KEY_ED25519 -N '' -t ed25519
64 fi
65}
66
67export PATH="${PATH:+$PATH:}/usr/sbin:/sbin"
68
69case "$1" in
70 start)
71 check_for_no_start
72 echo "Starting OpenBSD Secure Shell server: sshd"
73 check_keys
74 check_privsep_dir
75 start-stop-daemon -S -p $PIDFILE -x /usr/sbin/sshd -- $SSHD_OPTS
76 echo "done."
77 ;;
78 stop)
79 echo -n "Stopping OpenBSD Secure Shell server: sshd"
80 start-stop-daemon -K -p $PIDFILE -x /usr/sbin/sshd
81 echo "."
82 ;;
83
84 reload|force-reload)
85 check_for_no_start
86 check_keys
87 check_config
88 echo -n "Reloading OpenBSD Secure Shell server's configuration"
89 start-stop-daemon -K -p $PIDFILE -s 1 -x /usr/sbin/sshd
90 echo "."
91 ;;
92
93 restart)
94 check_keys
95 check_config
96 echo -n "Restarting OpenBSD Secure Shell server: sshd"
97 start-stop-daemon -K -p $PIDFILE --oknodo -x /usr/sbin/sshd
98 check_for_no_start
99 check_privsep_dir
100 sleep 2
101 start-stop-daemon -S -p $PIDFILE -x /usr/sbin/sshd -- $SSHD_OPTS
102 echo "."
103 ;;
104
105 status)
106 status /usr/sbin/sshd
107 exit $?
108 ;;
109
110 *)
111 echo "Usage: /etc/init.d/ssh {start|stop|status|reload|force-reload|restart}"
112 exit 1
113esac
114
115exit 0
diff --git a/meta/recipes-connectivity/openssh/openssh/nostrip.patch b/meta/recipes-connectivity/openssh/openssh/nostrip.patch
new file mode 100644
index 0000000000..33111f5494
--- /dev/null
+++ b/meta/recipes-connectivity/openssh/openssh/nostrip.patch
@@ -0,0 +1,20 @@
1Disable stripping binaries during make install.
2
3Upstream-Status: Inappropriate [configuration]
4
5Build system specific.
6
7Signed-off-by: Scott Garman <scott.a.garman@intel.com>
8
9diff -ur openssh-5.6p1.orig/Makefile.in openssh-5.6p1/Makefile.in
10--- openssh-5.6p1.orig/Makefile.in 2010-05-11 23:51:39.000000000 -0700
11+++ openssh-5.6p1/Makefile.in 2010-08-30 16:49:54.000000000 -0700
12@@ -29,7 +29,7 @@
13 RAND_HELPER=$(libexecdir)/ssh-rand-helper
14 PRIVSEP_PATH=@PRIVSEP_PATH@
15 SSH_PRIVSEP_USER=@SSH_PRIVSEP_USER@
16-STRIP_OPT=@STRIP_OPT@
17+STRIP_OPT=
18
19 PATHS= -DSSHDIR=\"$(sysconfdir)\" \
20 -D_PATH_SSH_PROGRAM=\"$(SSH_PROGRAM)\" \
diff --git a/meta/recipes-connectivity/openssh/openssh/openssh-CVE-2011-4327.patch b/meta/recipes-connectivity/openssh/openssh/openssh-CVE-2011-4327.patch
new file mode 100644
index 0000000000..30c11cf432
--- /dev/null
+++ b/meta/recipes-connectivity/openssh/openssh/openssh-CVE-2011-4327.patch
@@ -0,0 +1,29 @@
1openssh-CVE-2011-4327
2
3A security flaw was found in the way ssh-keysign,
4a ssh helper program for host based authentication,
5attempted to retrieve enough entropy information on configurations that
6lacked a built-in entropy pool in OpenSSL (a ssh-rand-helper program would
7be executed to retrieve the entropy from the system environment).
8A local attacker could use this flaw to obtain unauthorized access to host keys
9via ptrace(2) process trace attached to the 'ssh-rand-helper' program.
10
11https://bugzilla.redhat.com/show_bug.cgi?id=CVE-2011-4327
12http://www.openssh.com/txt/portable-keysign-rand-helper.adv
13
14Upstream-Status: Pending
15
16Signed-off-by: Li Wang <li.wang@windriver.com>
17--- a/ssh-keysign.c
18+++ b/ssh-keysign.c
19@@ -170,6 +170,10 @@
20 key_fd[i++] = open(_PATH_HOST_DSA_KEY_FILE, O_RDONLY);
21 key_fd[i++] = open(_PATH_HOST_ECDSA_KEY_FILE, O_RDONLY);
22 key_fd[i++] = open(_PATH_HOST_RSA_KEY_FILE, O_RDONLY);
23+ if (fcntl(key_fd[0], F_SETFD, FD_CLOEXEC) != 0 ||
24+ fcntl(key_fd[1], F_SETFD, FD_CLOEXEC) != 0 ||
25+ fcntl(key_fd[2], F_SETFD, FD_CLOEXEC) != 0)
26+ fatal("fcntl failed");
27
28 original_real_uid = getuid(); /* XXX readconf.c needs this */
29 if ((pw = getpwuid(original_real_uid)) == NULL)
diff --git a/meta/recipes-connectivity/openssh/openssh/openssh-CVE-2014-2532.patch b/meta/recipes-connectivity/openssh/openssh/openssh-CVE-2014-2532.patch
new file mode 100644
index 0000000000..3deaf3f0e9
--- /dev/null
+++ b/meta/recipes-connectivity/openssh/openssh/openssh-CVE-2014-2532.patch
@@ -0,0 +1,22 @@
1Upstream-Status: Backport
2
3Fix for CVE-2014-2532
4
5Backported from openssh-6.6p1.tar.gz
6
7Signed-off-by: Chen Qi <Qi.Chen@windriver.com>
8---
9--- a/session.c
10+++ b/session.c
11@@ -955,6 +955,11 @@
12 u_int envsize;
13 u_int i, namelen;
14
15+ if (strchr(name, '=') != NULL) {
16+ error("Invalid environment variable \"%.100s\"", name);
17+ return;
18+ }
19+
20 /*
21 * If we're passed an uninitialized list, allocate a single null
22 * entry before continuing.
diff --git a/meta/recipes-connectivity/openssh/openssh/openssh-CVE-2014-2653.patch b/meta/recipes-connectivity/openssh/openssh/openssh-CVE-2014-2653.patch
new file mode 100644
index 0000000000..674d186044
--- /dev/null
+++ b/meta/recipes-connectivity/openssh/openssh/openssh-CVE-2014-2653.patch
@@ -0,0 +1,114 @@
1Upstream-Status: Backport
2
3This CVE could be removed if openssh is upgrade to 6.6 or higher.
4Below are some details.
5
6Attempt SSHFP lookup even if server presents a certificate
7
8Reference:
9https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=742513
10
11If an ssh server presents a certificate to the client, then the client
12does not check the DNS for SSHFP records. This means that a malicious
13server can essentially disable DNS-host-key-checking, which means the
14client will fall back to asking the user (who will just say "yes" to
15the fingerprint, sadly).
16
17This patch means that the ssh client will, if necessary, extract the
18server key from the proffered certificate, and attempt to verify it
19against the DNS. The patch was written by Mark Wooding
20<mdw@distorted.org.uk>. I modified it to add one debug2 call, reviewed
21it, and tested it.
22
23Signed-off-by: Matthew Vernon <matthew@debian.org>
24Signed-off-by: Chen Qi <Qi.Chen@windriver.com>
25---
26--- a/sshconnect.c
27+++ b/sshconnect.c
28@@ -1210,36 +1210,63 @@ fail:
29 return -1;
30 }
31
32+static int
33+check_host_key_sshfp(char *host, struct sockaddr *hostaddr, Key *host_key)
34+{
35+ int rc = -1;
36+ int flags = 0;
37+ Key *raw_key = NULL;
38+
39+ if (!options.verify_host_key_dns)
40+ goto done;
41+
42+ /* XXX certs are not yet supported for DNS; try looking the raw key
43+ * up in the DNS anyway.
44+ */
45+ if (key_is_cert(host_key)) {
46+ debug2("Extracting key from cert for SSHFP lookup");
47+ raw_key = key_from_private(host_key);
48+ if (key_drop_cert(raw_key))
49+ fatal("Couldn't drop certificate");
50+ host_key = raw_key;
51+ }
52+
53+ if (verify_host_key_dns(host, hostaddr, host_key, &flags))
54+ goto done;
55+
56+ if (flags & DNS_VERIFY_FOUND) {
57+
58+ if (options.verify_host_key_dns == 1 &&
59+ flags & DNS_VERIFY_MATCH &&
60+ flags & DNS_VERIFY_SECURE) {
61+ rc = 0;
62+ } else if (flags & DNS_VERIFY_MATCH) {
63+ matching_host_key_dns = 1;
64+ } else {
65+ warn_changed_key(host_key);
66+ error("Update the SSHFP RR in DNS with the new "
67+ "host key to get rid of this message.");
68+ }
69+ }
70+
71+done:
72+ if (raw_key)
73+ key_free(raw_key);
74+ return rc;
75+}
76+
77 /* returns 0 if key verifies or -1 if key does NOT verify */
78 int
79 verify_host_key(char *host, struct sockaddr *hostaddr, Key *host_key)
80 {
81- int flags = 0;
82 char *fp;
83
84 fp = key_fingerprint(host_key, SSH_FP_MD5, SSH_FP_HEX);
85 debug("Server host key: %s %s", key_type(host_key), fp);
86 free(fp);
87
88- /* XXX certs are not yet supported for DNS */
89- if (!key_is_cert(host_key) && options.verify_host_key_dns &&
90- verify_host_key_dns(host, hostaddr, host_key, &flags) == 0) {
91- if (flags & DNS_VERIFY_FOUND) {
92-
93- if (options.verify_host_key_dns == 1 &&
94- flags & DNS_VERIFY_MATCH &&
95- flags & DNS_VERIFY_SECURE)
96- return 0;
97-
98- if (flags & DNS_VERIFY_MATCH) {
99- matching_host_key_dns = 1;
100- } else {
101- warn_changed_key(host_key);
102- error("Update the SSHFP RR in DNS with the new "
103- "host key to get rid of this message.");
104- }
105- }
106- }
107+ if (check_host_key_sshfp(host, hostaddr, host_key) == 0)
108+ return 0;
109
110 return check_host_key(host, hostaddr, options.port, host_key, RDRW,
111 options.user_hostfiles, options.num_user_hostfiles,
112--
1131.7.9.5
114
diff --git a/meta/recipes-connectivity/openssh/openssh/openssh-ptest-fix-sshconnect.patch b/meta/recipes-connectivity/openssh/openssh/openssh-ptest-fix-sshconnect.patch
new file mode 100644
index 0000000000..091370129a
--- /dev/null
+++ b/meta/recipes-connectivity/openssh/openssh/openssh-ptest-fix-sshconnect.patch
@@ -0,0 +1,57 @@
1Fixed openssh ptest
2
3ptests for openssh, apart from a lot of .sh scripts, also
4require 2 executables to be cross-compiled for the target
5and deployed there, that will be called from the test
6scripts.
7
8Those 2 files were not built when cross-compiling
9(Makefile target all:), so I added them to the build,
10under the target all_test.
11
12This new make target is intended to be run from
13do_compile_ptest(), that builds everything needed for
14performing the ptests.
15
16Because both these 2 executables required for ptest
17are linked with libssh (LDFLAGS += -lssh), I also
18added it as dependency for each of them.
19
20Upstream-status: Inappropriate
21
22Signed-off-by: Liviu Gheorghisan <liviu.gheorghisan@enea.com>
23---
24--- a/Makefile.in 2014-12-10 16:19:37.513373454 +0100
25+++ b/Makefile.in 2014-12-10 16:25:23.262764227 +0100
26@@ -130,6 +130,8 @@ FIXALGORITHMSCMD= $(SHELL) $(srcdir)/fix
27
28 all: $(CONFIGFILES) $(MANPAGES) $(TARGETS)
29
30+all_test: regress/modpipe$(EXEEXT) regress/setuid-allowed$(EXEEXT)
31+
32 $(LIBSSH_OBJS): Makefile.in config.h
33 $(SSHOBJS): Makefile.in config.h
34 $(SSHDOBJS): Makefile.in config.h
35@@ -394,18 +396,18 @@ uninstall:
36 -rm -f $(DESTDIR)$(mandir)/$(mansubdir)8/ssh-pkcs11-helper.8
37 -rm -f $(DESTDIR)$(mandir)/$(mansubdir)1/slogin.1
38
39-regress/modpipe$(EXEEXT): $(srcdir)/regress/modpipe.c
40+regress/modpipe$(EXEEXT): libssh.a
41 [ -d `pwd`/regress ] || mkdir -p `pwd`/regress
42 [ -f `pwd`/regress/Makefile ] || \
43 ln -s `cd $(srcdir) && pwd`/regress/Makefile `pwd`/regress/Makefile
44- $(CC) $(CFLAGS) $(CPPFLAGS) -o $@ $? \
45+ $(CC) $(CFLAGS) $(CPPFLAGS) -o $@ $(srcdir)/regress/modpipe.c \
46 $(LDFLAGS) -lssh -lopenbsd-compat -lssh -lopenbsd-compat $(LIBS)
47
48-regress/setuid-allowed$(EXEEXT): $(srcdir)/regress/setuid-allowed.c
49+regress/setuid-allowed$(EXEEXT): libssh.a
50 [ -d `pwd`/regress ] || mkdir -p `pwd`/regress
51 [ -f `pwd`/regress/Makefile ] || \
52 ln -s `cd $(srcdir) && pwd`/regress/Makefile `pwd`/regress/Makefile
53- $(CC) $(CFLAGS) $(CPPFLAGS) -o $@ $? \
54+ $(CC) $(CFLAGS) $(CPPFLAGS) -o $@ $(srcdir)/regress/setuid-allowed.c \
55 $(LDFLAGS) -lssh -lopenbsd-compat -lssh -lopenbsd-compat $(LIBS)
56
57 tests interop-tests: $(TARGETS) regress/modpipe$(EXEEXT) regress/setuid-allowed$(EXEEXT)
diff --git a/meta/recipes-connectivity/openssh/openssh/run-ptest b/meta/recipes-connectivity/openssh/openssh/run-ptest
new file mode 100755
index 0000000000..3e725cf282
--- /dev/null
+++ b/meta/recipes-connectivity/openssh/openssh/run-ptest
@@ -0,0 +1,7 @@
1#!/bin/sh
2
3export TEST_SHELL=sh
4
5cd regress
6make -k .OBJDIR=`pwd` .CURDIR=`pwd` tests \
7 | sed -e 's/^skipped/SKIP: /g' -e 's/^ok /PASS: /g' -e 's/^failed/FAIL: /g'
diff --git a/meta/recipes-connectivity/openssh/openssh/ssh_config b/meta/recipes-connectivity/openssh/openssh/ssh_config
new file mode 100644
index 0000000000..4a4a649ba8
--- /dev/null
+++ b/meta/recipes-connectivity/openssh/openssh/ssh_config
@@ -0,0 +1,46 @@
1# $OpenBSD: ssh_config,v 1.25 2009/02/17 01:28:32 djm Exp $
2
3# This is the ssh client system-wide configuration file. See
4# ssh_config(5) for more information. This file provides defaults for
5# users, and the values can be changed in per-user configuration files
6# or on the command line.
7
8# Configuration data is parsed as follows:
9# 1. command line options
10# 2. user-specific file
11# 3. system-wide file
12# Any configuration value is only changed the first time it is set.
13# Thus, host-specific definitions should be at the beginning of the
14# configuration file, and defaults at the end.
15
16# Site-wide defaults for some commonly used options. For a comprehensive
17# list of available options, their meanings and defaults, please see the
18# ssh_config(5) man page.
19
20Host *
21 ForwardAgent yes
22 ForwardX11 yes
23# RhostsRSAAuthentication no
24# RSAAuthentication yes
25# PasswordAuthentication yes
26# HostbasedAuthentication no
27# GSSAPIAuthentication no
28# GSSAPIDelegateCredentials no
29# BatchMode no
30# CheckHostIP yes
31# AddressFamily any
32# ConnectTimeout 0
33# StrictHostKeyChecking ask
34# IdentityFile ~/.ssh/identity
35# IdentityFile ~/.ssh/id_rsa
36# IdentityFile ~/.ssh/id_dsa
37# Port 22
38# Protocol 2,1
39# Cipher 3des
40# Ciphers aes128-ctr,aes192-ctr,aes256-ctr,arcfour256,arcfour128,aes128-cbc,3des-cbc
41# MACs hmac-md5,hmac-sha1,umac-64@openssh.com,hmac-ripemd160
42# EscapeChar ~
43# Tunnel no
44# TunnelDevice any:any
45# PermitLocalCommand no
46# VisualHostKey no
diff --git a/meta/recipes-connectivity/openssh/openssh/sshd b/meta/recipes-connectivity/openssh/openssh/sshd
new file mode 100644
index 0000000000..4882e58b48
--- /dev/null
+++ b/meta/recipes-connectivity/openssh/openssh/sshd
@@ -0,0 +1,10 @@
1#%PAM-1.0
2
3auth include common-auth
4account required pam_nologin.so
5account include common-account
6password include common-password
7session optional pam_keyinit.so force revoke
8session include common-session
9session required pam_loginuid.so
10
diff --git a/meta/recipes-connectivity/openssh/openssh/sshd.socket b/meta/recipes-connectivity/openssh/openssh/sshd.socket
new file mode 100644
index 0000000000..12c39b26b5
--- /dev/null
+++ b/meta/recipes-connectivity/openssh/openssh/sshd.socket
@@ -0,0 +1,10 @@
1[Unit]
2Conflicts=sshd.service
3
4[Socket]
5ExecStartPre=@BASE_BINDIR@/mkdir -p /var/run/sshd
6ListenStream=22
7Accept=yes
8
9[Install]
10WantedBy=sockets.target
diff --git a/meta/recipes-connectivity/openssh/openssh/sshd@.service b/meta/recipes-connectivity/openssh/openssh/sshd@.service
new file mode 100644
index 0000000000..bb2d68e96a
--- /dev/null
+++ b/meta/recipes-connectivity/openssh/openssh/sshd@.service
@@ -0,0 +1,11 @@
1[Unit]
2Description=OpenSSH Per-Connection Daemon
3Wants=sshdgenkeys.service
4After=sshdgenkeys.service
5
6[Service]
7ExecStart=-@SBINDIR@/sshd -i
8ExecReload=@BASE_BINDIR@/kill -HUP $MAINPID
9StandardInput=socket
10StandardError=syslog
11KillMode=process
diff --git a/meta/recipes-connectivity/openssh/openssh/sshd_config b/meta/recipes-connectivity/openssh/openssh/sshd_config
new file mode 100644
index 0000000000..4f9b626fbd
--- /dev/null
+++ b/meta/recipes-connectivity/openssh/openssh/sshd_config
@@ -0,0 +1,119 @@
1# $OpenBSD: sshd_config,v 1.80 2008/07/02 02:24:18 djm Exp $
2
3# This is the sshd server system-wide configuration file. See
4# sshd_config(5) for more information.
5
6# This sshd was compiled with PATH=/usr/bin:/bin:/usr/sbin:/sbin
7
8# The strategy used for options in the default sshd_config shipped with
9# OpenSSH is to specify options with their default value where
10# possible, but leave them commented. Uncommented options change a
11# default value.
12
13#Port 22
14#AddressFamily any
15#ListenAddress 0.0.0.0
16#ListenAddress ::
17
18# Disable legacy (protocol version 1) support in the server for new
19# installations. In future the default will change to require explicit
20# activation of protocol 1
21Protocol 2
22
23# HostKey for protocol version 1
24#HostKey /etc/ssh/ssh_host_key
25# HostKeys for protocol version 2
26#HostKey /etc/ssh/ssh_host_rsa_key
27#HostKey /etc/ssh/ssh_host_dsa_key
28
29# Lifetime and size of ephemeral version 1 server key
30#KeyRegenerationInterval 1h
31#ServerKeyBits 1024
32
33# Logging
34# obsoletes QuietMode and FascistLogging
35#SyslogFacility AUTH
36#LogLevel INFO
37
38# Authentication:
39
40#LoginGraceTime 2m
41#PermitRootLogin yes
42#StrictModes yes
43#MaxAuthTries 6
44#MaxSessions 10
45
46#RSAAuthentication yes
47#PubkeyAuthentication yes
48#AuthorizedKeysFile .ssh/authorized_keys
49
50# For this to work you will also need host keys in /etc/ssh/ssh_known_hosts
51#RhostsRSAAuthentication no
52# similar for protocol version 2
53#HostbasedAuthentication no
54# Change to yes if you don't trust ~/.ssh/known_hosts for
55# RhostsRSAAuthentication and HostbasedAuthentication
56#IgnoreUserKnownHosts no
57# Don't read the user's ~/.rhosts and ~/.shosts files
58#IgnoreRhosts yes
59
60# To disable tunneled clear text passwords, change to no here!
61#PasswordAuthentication yes
62#PermitEmptyPasswords no
63
64# Change to no to disable s/key passwords
65#ChallengeResponseAuthentication yes
66
67# Kerberos options
68#KerberosAuthentication no
69#KerberosOrLocalPasswd yes
70#KerberosTicketCleanup yes
71#KerberosGetAFSToken no
72
73# GSSAPI options
74#GSSAPIAuthentication no
75#GSSAPICleanupCredentials yes
76
77# Set this to 'yes' to enable PAM authentication, account processing,
78# and session processing. If this is enabled, PAM authentication will
79# be allowed through the ChallengeResponseAuthentication and
80# PasswordAuthentication. Depending on your PAM configuration,
81# PAM authentication via ChallengeResponseAuthentication may bypass
82# the setting of "PermitRootLogin without-password".
83# If you just want the PAM account and session checks to run without
84# PAM authentication, then enable this but set PasswordAuthentication
85# and ChallengeResponseAuthentication to 'no'.
86#UsePAM no
87
88#AllowAgentForwarding yes
89#AllowTcpForwarding yes
90#GatewayPorts no
91#X11Forwarding no
92#X11DisplayOffset 10
93#X11UseLocalhost yes
94#PrintMotd yes
95#PrintLastLog yes
96#TCPKeepAlive yes
97#UseLogin no
98UsePrivilegeSeparation yes
99#PermitUserEnvironment no
100Compression no
101ClientAliveInterval 15
102ClientAliveCountMax 4
103#UseDNS yes
104#PidFile /var/run/sshd.pid
105#MaxStartups 10
106#PermitTunnel no
107#ChrootDirectory none
108
109# no default banner path
110#Banner none
111
112# override default of no subsystems
113Subsystem sftp /usr/libexec/sftp-server
114
115# Example of overriding settings on a per-user basis
116#Match User anoncvs
117# X11Forwarding no
118# AllowTcpForwarding no
119# ForceCommand cvs server
diff --git a/meta/recipes-connectivity/openssh/openssh/sshdgenkeys.service b/meta/recipes-connectivity/openssh/openssh/sshdgenkeys.service
new file mode 100644
index 0000000000..c21d70baf0
--- /dev/null
+++ b/meta/recipes-connectivity/openssh/openssh/sshdgenkeys.service
@@ -0,0 +1,10 @@
1[Unit]
2Description=OpenSSH Key Generation
3ConditionPathExists=|!/etc/ssh/ssh_host_rsa_key
4ConditionPathExists=|!/etc/ssh/ssh_host_dsa_key
5ConditionPathExists=|!/etc/ssh/ssh_host_ecdsa_key
6
7[Service]
8ExecStart=@BINDIR@/ssh-keygen -A
9Type=oneshot
10RemainAfterExit=yes
diff --git a/meta/recipes-connectivity/openssh/openssh/volatiles.99_sshd b/meta/recipes-connectivity/openssh/openssh/volatiles.99_sshd
new file mode 100644
index 0000000000..a0d2af3c65
--- /dev/null
+++ b/meta/recipes-connectivity/openssh/openssh/volatiles.99_sshd
@@ -0,0 +1,2 @@
1d root root 0755 /var/run/sshd none
2f root root 0644 /var/log/lastlog none
diff --git a/meta/recipes-connectivity/openssh/openssh_6.6p1.bb b/meta/recipes-connectivity/openssh/openssh_6.6p1.bb
new file mode 100644
index 0000000000..f575665e4c
--- /dev/null
+++ b/meta/recipes-connectivity/openssh/openssh_6.6p1.bb
@@ -0,0 +1,151 @@
1SUMMARY = "Secure rlogin/rsh/rcp/telnet replacement"
2DESCRIPTION = "Secure rlogin/rsh/rcp/telnet replacement (OpenSSH) \
3Ssh (Secure Shell) is a program for logging into a remote machine \
4and for executing commands on a remote machine."
5HOMEPAGE = "http://openssh.org"
6SECTION = "console/network"
7LICENSE = "BSD"
8LIC_FILES_CHKSUM = "file://LICENCE;md5=e326045657e842541d3f35aada442507"
9
10DEPENDS = "zlib openssl"
11DEPENDS += "${@bb.utils.contains('DISTRO_FEATURES', 'pam', 'libpam', '', d)}"
12
13SRC_URI = "ftp://ftp.openbsd.org/pub/OpenBSD/OpenSSH/portable/openssh-${PV}.tar.gz \
14 file://nostrip.patch \
15 file://sshd_config \
16 file://ssh_config \
17 file://init \
18 file://openssh-CVE-2011-4327.patch \
19 ${@bb.utils.contains('DISTRO_FEATURES', 'pam', '${PAM_SRC_URI}', '', d)} \
20 file://sshd.socket \
21 file://sshd@.service \
22 file://sshdgenkeys.service \
23 file://volatiles.99_sshd \
24 file://add-test-support-for-busybox.patch \
25 file://run-ptest \
26 file://openssh-CVE-2014-2532.patch \
27 file://openssh-CVE-2014-2653.patch \
28 file://auth2-none.c-avoid-authenticate-empty-passwords-to-m.patch"
29
30PAM_SRC_URI = "file://sshd"
31
32SRC_URI[md5sum] = "3e9800e6bca1fbac0eea4d41baa7f239"
33SRC_URI[sha256sum] = "48c1f0664b4534875038004cc4f3555b8329c2a81c1df48db5c517800de203bb"
34
35inherit useradd update-rc.d update-alternatives systemd
36
37USERADD_PACKAGES = "${PN}-sshd"
38USERADD_PARAM_${PN}-sshd = "--system --no-create-home --home-dir /var/run/sshd --shell /bin/false --user-group sshd"
39INITSCRIPT_PACKAGES = "${PN}-sshd"
40INITSCRIPT_NAME_${PN}-sshd = "sshd"
41INITSCRIPT_PARAMS_${PN}-sshd = "defaults 9"
42
43SYSTEMD_PACKAGES = "${PN}-sshd"
44SYSTEMD_SERVICE_${PN}-sshd = "sshd.socket"
45
46PACKAGECONFIG ??= "tcp-wrappers"
47PACKAGECONFIG[tcp-wrappers] = "--with-tcp-wrappers,,tcp-wrappers"
48
49inherit autotools-brokensep ptest
50
51# LFS support:
52CFLAGS += "-D__FILE_OFFSET_BITS=64"
53
54# login path is hardcoded in sshd
55EXTRA_OECONF = "'LOGIN_PROGRAM=${base_bindir}/login' \
56 ${@bb.utils.contains('DISTRO_FEATURES', 'pam', '--with-pam', '--without-pam', d)} \
57 --without-zlib-version-check \
58 --with-privsep-path=/var/run/sshd \
59 --sysconfdir=${sysconfdir}/ssh \
60 --with-xauth=/usr/bin/xauth"
61
62# Since we do not depend on libbsd, we do not want configure to use it
63# just because it finds libutil.h. But, specifying --disable-libutil
64# causes compile errors, so...
65CACHED_CONFIGUREVARS += "ac_cv_header_bsd_libutil_h=no ac_cv_header_libutil_h=no"
66
67# passwd path is hardcoded in sshd
68CACHED_CONFIGUREVARS += "ac_cv_path_PATH_PASSWD_PROG=${bindir}/passwd"
69
70# This is a workaround for uclibc because including stdio.h
71# pulls in pthreads.h and causes conflicts in function prototypes.
72# This results in compilation failure, so unless this is fixed,
73# disable pam for uclibc.
74EXTRA_OECONF_append_libc-uclibc=" --without-pam"
75
76do_configure_prepend () {
77 export LD="${CC}"
78 install -m 0644 ${WORKDIR}/sshd_config ${B}/
79 install -m 0644 ${WORKDIR}/ssh_config ${B}/
80 if [ ! -e acinclude.m4 -a -e aclocal.m4 ]; then
81 cp aclocal.m4 acinclude.m4
82 fi
83}
84
85do_install_append () {
86 if [ "${@bb.utils.contains('DISTRO_FEATURES', 'pam', 'pam', '', d)}" = "pam" ]; then
87 install -D -m 0755 ${WORKDIR}/sshd ${D}${sysconfdir}/pam.d/sshd
88 sed -i -e 's:#UsePAM no:UsePAM yes:' ${WORKDIR}/sshd_config ${D}${sysconfdir}/ssh/sshd_config
89 fi
90
91 install -d ${D}${sysconfdir}/init.d
92 install -m 0755 ${WORKDIR}/init ${D}${sysconfdir}/init.d/sshd
93 rm -f ${D}${bindir}/slogin ${D}${datadir}/Ssh.bin
94 rmdir ${D}${localstatedir}/run/sshd ${D}${localstatedir}/run ${D}${localstatedir}
95 install -d ${D}/${sysconfdir}/default/volatiles
96 install -m 644 ${WORKDIR}/volatiles.99_sshd ${D}/${sysconfdir}/default/volatiles/99_sshd
97 install -m 0755 ${S}/contrib/ssh-copy-id ${D}${bindir}
98
99 # Create config files for read-only rootfs
100 install -d ${D}${sysconfdir}/ssh
101 install -m 644 ${D}${sysconfdir}/ssh/sshd_config ${D}${sysconfdir}/ssh/sshd_config_readonly
102 sed -i '/HostKey/d' ${D}${sysconfdir}/ssh/sshd_config_readonly
103 echo "HostKey /var/run/ssh/ssh_host_rsa_key" >> ${D}${sysconfdir}/ssh/sshd_config_readonly
104 echo "HostKey /var/run/ssh/ssh_host_dsa_key" >> ${D}${sysconfdir}/ssh/sshd_config_readonly
105 echo "HostKey /var/run/ssh/ssh_host_ecdsa_key" >> ${D}${sysconfdir}/ssh/sshd_config_readonly
106
107 install -d ${D}${systemd_unitdir}/system
108 install -c -m 0644 ${WORKDIR}/sshd.socket ${D}${systemd_unitdir}/system
109 install -c -m 0644 ${WORKDIR}/sshd@.service ${D}${systemd_unitdir}/system
110 install -c -m 0644 ${WORKDIR}/sshdgenkeys.service ${D}${systemd_unitdir}/system
111 sed -i -e 's,@BASE_BINDIR@,${base_bindir},g' \
112 -e 's,@SBINDIR@,${sbindir},g' \
113 -e 's,@BINDIR@,${bindir},g' \
114 ${D}${systemd_unitdir}/system/sshd.socket ${D}${systemd_unitdir}/system/*.service
115}
116
117do_install_ptest () {
118 sed -i -e "s|^SFTPSERVER=.*|SFTPSERVER=${libdir}/${PN}/sftp-server|" regress/test-exec.sh
119 cp -r regress ${D}${PTEST_PATH}
120}
121
122ALLOW_EMPTY_${PN} = "1"
123
124PACKAGES =+ "${PN}-keygen ${PN}-scp ${PN}-ssh ${PN}-sshd ${PN}-sftp ${PN}-misc ${PN}-sftp-server"
125FILES_${PN}-scp = "${bindir}/scp.${BPN}"
126FILES_${PN}-ssh = "${bindir}/ssh.${BPN} ${sysconfdir}/ssh/ssh_config"
127FILES_${PN}-sshd = "${sbindir}/sshd ${sysconfdir}/init.d/sshd ${systemd_unitdir}/system"
128FILES_${PN}-sshd += "${sysconfdir}/ssh/moduli ${sysconfdir}/ssh/sshd_config ${sysconfdir}/ssh/sshd_config_readonly ${sysconfdir}/default/volatiles/99_sshd ${sysconfdir}/pam.d/sshd"
129FILES_${PN}-sftp = "${bindir}/sftp"
130FILES_${PN}-sftp-server = "${libexecdir}/sftp-server"
131FILES_${PN}-misc = "${bindir}/ssh* ${libexecdir}/ssh*"
132FILES_${PN}-keygen = "${bindir}/ssh-keygen"
133
134RDEPENDS_${PN} += "${PN}-scp ${PN}-ssh ${PN}-sshd ${PN}-keygen"
135RDEPENDS_${PN}-sshd += "${PN}-keygen ${@bb.utils.contains('DISTRO_FEATURES', 'pam', 'pam-plugin-keyinit pam-plugin-loginuid', '', d)}"
136RDEPENDS_${PN}-ptest += "${PN}-sftp ${PN}-misc ${PN}-sftp-server make"
137
138RPROVIDES_${PN}-ssh = "ssh"
139RPROVIDES_${PN}-sshd = "sshd"
140
141RCONFLICTS_${PN} = "dropbear"
142RCONFLICTS_${PN}-sshd = "dropbear"
143RCONFLICTS_${PN}-keygen = "ssh-keygen"
144
145CONFFILES_${PN}-sshd = "${sysconfdir}/ssh/sshd_config"
146CONFFILES_${PN}-ssh = "${sysconfdir}/ssh/ssh_config"
147
148ALTERNATIVE_PRIORITY = "90"
149ALTERNATIVE_${PN}-scp = "scp"
150ALTERNATIVE_${PN}-ssh = "ssh"
151
diff --git a/meta/recipes-connectivity/openssl/openssl.inc b/meta/recipes-connectivity/openssl/openssl.inc
new file mode 100644
index 0000000000..31dfd8fea7
--- /dev/null
+++ b/meta/recipes-connectivity/openssl/openssl.inc
@@ -0,0 +1,204 @@
1SUMMARY = "Secure Socket Layer"
2DESCRIPTION = "Secure Socket Layer (SSL) binary and related cryptographic tools."
3HOMEPAGE = "http://www.openssl.org/"
4BUGTRACKER = "http://www.openssl.org/news/vulnerabilities.html"
5SECTION = "libs/network"
6
7# "openssl | SSLeay" dual license
8LICENSE = "openssl"
9LIC_FILES_CHKSUM = "file://LICENSE;md5=f9a8f968107345e0b75aa8c2ecaa7ec8"
10
11DEPENDS = "perl-native-runtime"
12DEPENDS_append_class-target = " openssl-native"
13
14SRC_URI = "http://www.openssl.org/source/openssl-${PV}.tar.gz \
15 "
16S = "${WORKDIR}/openssl-${PV}"
17
18PACKAGECONFIG[perl] = ",,,"
19
20AR_append = " r"
21# Avoid binaries being marked as requiring an executable stack since it
22# doesn't(which causes and this causes issues with SELinux
23CFLAG = "${@base_conditional('SITEINFO_ENDIANNESS', 'le', '-DL_ENDIAN', '-DB_ENDIAN', d)} \
24 -DTERMIO ${CFLAGS} -Wall -Wa,--noexecstack"
25
26# -02 does not work on mipsel: ssh hangs when it tries to read /dev/urandom
27CFLAG_mtx-1 := "${@'${CFLAG}'.replace('-O2', '')}"
28CFLAG_mtx-2 := "${@'${CFLAG}'.replace('-O2', '')}"
29
30export DIRS = "crypto ssl apps"
31export EX_LIBS = "-lgcc -ldl"
32export AS = "${CC} -c"
33
34inherit pkgconfig siteinfo multilib_header ptest
35
36PACKAGES =+ "libcrypto libssl ${PN}-misc openssl-conf"
37FILES_libcrypto = "${base_libdir}/libcrypto${SOLIBS}"
38FILES_libssl = "${libdir}/libssl.so.*"
39FILES_${PN} =+ " ${libdir}/ssl/*"
40FILES_${PN}-misc = "${libdir}/ssl/misc ${bindir}/c_rehash"
41RDEPENDS_${PN}-misc = "${@bb.utils.contains('PACKAGECONFIG', 'perl', 'perl', '', d)}"
42FILES_${PN}-dev += "${base_libdir}/libcrypto${SOLIBSDEV}"
43
44# Add the openssl.cnf file to the openssl-conf package. Make the libcrypto
45# package RRECOMMENDS on this package. This will enable the configuration
46# file to be installed for both the base openssl package and the libcrypto
47# package since the base openssl package depends on the libcrypto package.
48FILES_openssl-conf = "${libdir}/ssl/openssl.cnf"
49CONFFILES_openssl-conf = "${libdir}/ssl/openssl.cnf"
50RRECOMMENDS_libcrypto += "openssl-conf"
51RDEPENDS_${PN}-ptest += "${PN}-misc make perl perl-module-filehandle bc"
52
53do_configure_prepend_darwin () {
54 sed -i -e '/version-script=openssl\.ld/d' Configure
55}
56
57do_configure () {
58 cd util
59 perl perlpath.pl ${STAGING_BINDIR_NATIVE}
60 cd ..
61 ln -sf apps/openssl.pod crypto/crypto.pod ssl/ssl.pod doc/
62
63 os=${HOST_OS}
64 case $os in
65 linux-uclibc |\
66 linux-uclibceabi |\
67 linux-gnueabi |\
68 linux-uclibcspe |\
69 linux-gnuspe |\
70 linux-musl*)
71 os=linux
72 ;;
73 *)
74 ;;
75 esac
76 target="$os-${HOST_ARCH}"
77 case $target in
78 linux-arm)
79 target=linux-armv4
80 ;;
81 linux-armeb)
82 target=linux-elf-armeb
83 ;;
84 linux-aarch64*)
85 target=linux-generic64
86 ;;
87 linux-sh3)
88 target=debian-sh3
89 ;;
90 linux-sh4)
91 target=debian-sh4
92 ;;
93 linux-i486)
94 target=debian-i386-i486
95 ;;
96 linux-i586 | linux-viac3)
97 target=debian-i386-i586
98 ;;
99 linux-i686)
100 target=debian-i386-i686/cmov
101 ;;
102 linux-gnux32-x86_64)
103 target=linux-x32
104 ;;
105 linux-gnu64-x86_64)
106 target=linux-x86_64
107 ;;
108 linux-mips)
109 target=debian-mips
110 ;;
111 linux-mipsel)
112 target=debian-mipsel
113 ;;
114 linux-*-mips64)
115 target=linux-mips
116 ;;
117 linux-powerpc)
118 target=linux-ppc
119 ;;
120 linux-powerpc64)
121 target=linux-ppc64
122 ;;
123 linux-supersparc)
124 target=linux-sparcv8
125 ;;
126 linux-sparc)
127 target=linux-sparcv8
128 ;;
129 darwin-i386)
130 target=darwin-i386-cc
131 ;;
132 esac
133 # inject machine-specific flags
134 sed -i -e "s|^\(\"$target\",\s*\"[^:]\+\):\([^:]\+\)|\1:${CFLAG}|g" Configure
135 useprefix=${prefix}
136 if [ "x$useprefix" = "x" ]; then
137 useprefix=/
138 fi
139 perl ./Configure ${EXTRA_OECONF} shared --prefix=$useprefix --openssldir=${libdir}/ssl --libdir=`basename ${libdir}` $target
140}
141
142do_compile_prepend_class-target () {
143 sed -i 's/\((OPENSSL=\)".*"/\1"openssl"/' Makefile
144}
145
146do_compile () {
147 oe_runmake
148}
149
150do_compile_ptest () {
151 oe_runmake buildtest
152}
153
154do_install () {
155 oe_runmake INSTALL_PREFIX="${D}" MANDIR="${mandir}" install
156
157 oe_libinstall -so libcrypto ${D}${libdir}
158 oe_libinstall -so libssl ${D}${libdir}
159
160 # Moving libcrypto to /lib
161 if [ ! ${D}${libdir} -ef ${D}${base_libdir} ]; then
162 mkdir -p ${D}/${base_libdir}/
163 mv ${D}${libdir}/libcrypto* ${D}${base_libdir}/
164 sed -i s#libdir=\$\{exec_prefix\}\/lib#libdir=${base_libdir}# ${D}/${libdir}/pkgconfig/libcrypto.pc
165 fi
166
167 install -d ${D}${includedir}
168 cp --dereference -R include/openssl ${D}${includedir}
169
170 oe_multilib_header openssl/opensslconf.h
171 if [ "${@bb.utils.contains('PACKAGECONFIG', 'perl', 'perl', '', d)}" = "perl" ]; then
172 install -m 0755 ${S}/tools/c_rehash ${D}${bindir}
173 sed -i -e '1s,.*,#!${bindir}/env perl,' ${D}${bindir}/c_rehash
174 sed -i -e '1s,.*,#!${bindir}/env perl,' ${D}${libdir}/ssl/misc/CA.pl
175 sed -i -e '1s,.*,#!${bindir}/env perl,' ${D}${libdir}/ssl/misc/tsget
176 # The c_rehash utility isn't installed by the normal installation process.
177 else
178 rm -f ${D}${bindir}/c_rehash
179 rm -f ${D}${libdir}/ssl/misc/CA.pl ${D}${libdir}/ssl/misc/tsget
180 fi
181}
182
183do_install_ptest () {
184 cp -r Makefile test ${D}${PTEST_PATH}
185 cp -r certs ${D}${PTEST_PATH}
186 mkdir -p ${D}${PTEST_PATH}/apps
187 ln -sf /usr/lib/ssl/misc/CA.sh ${D}${PTEST_PATH}/apps
188 ln -sf /usr/lib/ssl/openssl.cnf ${D}${PTEST_PATH}/apps
189 ln -sf /usr/bin/openssl ${D}${PTEST_PATH}/apps
190 cp apps/server2.pem ${D}${PTEST_PATH}/apps
191 mkdir -p ${D}${PTEST_PATH}/util
192 install util/opensslwrap.sh ${D}${PTEST_PATH}/util
193 install util/shlib_wrap.sh ${D}${PTEST_PATH}/util
194}
195
196do_install_append_virtclass-native() {
197 create_wrapper ${D}${bindir}/openssl \
198 OPENSSL_CONF=${libdir}/ssl/openssl.cnf \
199 SSL_CERT_DIR=${libdir}/ssl/certs \
200 SSL_CERT_FILE=${libdir}/ssl/cert.pem \
201 OPENSSL_ENGINES=${libdir}/ssl/engines
202}
203
204BBCLASSEXTEND = "native nativesdk"
diff --git a/meta/recipes-connectivity/openssl/openssl/Makefiles-ptest.patch b/meta/recipes-connectivity/openssl/openssl/Makefiles-ptest.patch
new file mode 100644
index 0000000000..ac53a9142b
--- /dev/null
+++ b/meta/recipes-connectivity/openssl/openssl/Makefiles-ptest.patch
@@ -0,0 +1,75 @@
1Add 'buildtest' and 'runtest' targets to Makefile, to build and run tests
2cross-compiled.
3
4Signed-off-by: Anders Roxell <anders.roxell@enea.com>
5Signed-off-by: Maxin B. John <maxin.john@enea.com>
6Upstream-Status: Pending
7---
8diff -uNr a/Makefile b/Makefile
9--- a/Makefile.org 2012-05-10 17:06:02.000000000 +0200
10+++ b/Makefile.org 2012-10-27 00:05:55.359424024 +0200
11@@ -411,8 +411,16 @@
12 test: tests
13
14 tests: rehash
15+ $(MAKE) buildtest
16+ $(MAKE) runtest
17+
18+buildtest:
19+ @(cd test && \
20+ $(CLEARENV) && $(MAKE) -e $(BUILDENV) TOP=.. TESTS='$(TESTS)' OPENSSL_DEBUG_MEMORY=on OPENSSL_CONF=../apps/openssl.cnf exe apps);
21+
22+runtest:
23 @(cd test && echo "testing..." && \
24- $(CLEARENV) && $(MAKE) -e $(BUILDENV) TOP=.. TESTS='$(TESTS)' OPENSSL_DEBUG_MEMORY=on OPENSSL_CONF=../apps/openssl.cnf tests );
25+ $(CLEARENV) && $(MAKE) -e $(BUILDENV) TOP=.. TESTS='$(TESTS)' OPENSSL_DEBUG_MEMORY=on OPENSSL_CONF=../apps/openssl.cnf alltests );
26 OPENSSL_CONF=apps/openssl.cnf util/opensslwrap.sh version -a
27
28 report:
29diff --git a/test/Makefile b/test/Makefile
30index 3912f82..1696767 100644
31--- a/test/Makefile
32+++ b/test/Makefile
33@@ -128,7 +128,7 @@ tests: exe apps $(TESTS)
34 apps:
35 @(cd ..; $(MAKE) DIRS=apps all)
36
37-alltests: \
38+all-tests= \
39 test_des test_idea test_sha test_md4 test_md5 test_hmac \
40 test_md2 test_mdc2 test_wp \
41 test_rmd test_rc2 test_rc4 test_rc5 test_bf test_cast test_aes \
42@@ -138,6 +138,11 @@ alltests: \
43 test_ss test_ca test_engine test_evp test_ssl test_tsa test_ige \
44 test_jpake test_cms
45
46+alltests:
47+ @(for i in $(all-tests); do \
48+ ( $(MAKE) $$i && echo "PASS: $$i" ) || echo "FAIL: $$i"; \
49+ done)
50+
51 test_evp:
52 ../util/shlib_wrap.sh ./$(EVPTEST) evptests.txt
53
54@@ -203,7 +208,7 @@ test_x509:
55 echo test second x509v3 certificate
56 sh ./tx509 v3-cert2.pem 2>/dev/null
57
58-test_rsa: $(RSATEST)$(EXE_EXT)
59+test_rsa:
60 @sh ./trsa 2>/dev/null
61 ../util/shlib_wrap.sh ./$(RSATEST)
62
63@@ -298,11 +303,11 @@ test_tsa:
64 sh ./testtsa; \
65 fi
66
67-test_ige: $(IGETEST)$(EXE_EXT)
68+test_ige:
69 @echo "Test IGE mode"
70 ../util/shlib_wrap.sh ./$(IGETEST)
71
72-test_jpake: $(JPAKETEST)$(EXE_EXT)
73+test_jpake:
74 @echo "Test JPAKE"
75 ../util/shlib_wrap.sh ./$(JPAKETEST)
diff --git a/meta/recipes-connectivity/openssl/openssl/configure-targets.patch b/meta/recipes-connectivity/openssl/openssl/configure-targets.patch
new file mode 100644
index 0000000000..dbc10f91b1
--- /dev/null
+++ b/meta/recipes-connectivity/openssl/openssl/configure-targets.patch
@@ -0,0 +1,34 @@
1Upstream-Status: Inappropriate [embedded specific]
2
3The number of colons are important :)
4
5
6---
7 Configure | 16 ++++++++++++++++
8 1 file changed, 16 insertions(+)
9
10--- a/Configure
11+++ b/Configure
12@@ -403,6 +403,22 @@ my %table=(
13 "linux-alpha-ccc","ccc:-fast -readonly_strings -DL_ENDIAN::-D_REENTRANT:::SIXTY_FOUR_BIT_LONG RC4_CHUNK DES_INT DES_PTR DES_RISC1 DES_UNROLL:${alpha_asm}",
14 "linux-alpha+bwx-ccc","ccc:-fast -readonly_strings -DL_ENDIAN::-D_REENTRANT:::SIXTY_FOUR_BIT_LONG RC4_CHAR RC4_CHUNK DES_INT DES_PTR DES_RISC1 DES_UNROLL:${alpha_asm}",
15
16+ # Linux on ARM
17+"linux-elf-arm","$ENV{'CC'}:-DL_ENDIAN -O3 -fomit-frame-pointer -Wall::-D_REENTRANT::-ldl:BN_LLONG DES_RISC1:${no_asm}:dlfcn:linux-shared:-fPIC::.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)",
18+"linux-elf-armeb","$ENV{'CC'}:-DB_ENDIAN -O3 -fomit-frame-pointer -Wall::-D_REENTRANT::-ldl:BN_LLONG DES_RISC1:${no_asm}:dlfcn:linux-shared:-fPIC::.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)",
19+"linux-gnueabi-arm","$ENV{'CC'}:-DL_ENDIAN -O3 -fomit-frame-pointer -Wall::-D_REENTRANT::-ldl:BN_LLONG DES_RISC1:${no_asm}:dlfcn:linux-shared:-fPIC::.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)",
20+"linux-gnueabi-armeb","$ENV{'CC'}:-DB_ENDIAN -O3 -fomit-frame-pointer -Wall::-D_REENTRANT::-ldl:BN_LLONG DES_RISC1:${no_asm}:dlfcn:linux-shared:-fPIC::.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)",
21+"linux-uclibceabi-arm","$ENV{'CC'}:-DL_ENDIAN -O3 -fomit-frame-pointer -Wall::-D_REENTRANT::-ldl:BN_LLONG DES_RISC1:${no_asm}:dlfcn:linux-shared:-fPIC::.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)",
22+"linux-uclibceabi-armeb","$ENV{'CC'}:-DB_ENDIAN -O3 -fomit-frame-pointer -Wall::-D_REENTRANT::-ldl:BN_LLONG DES_RISC1:${no_asm}:dlfcn:linux-shared:-fPIC::.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)",
23+
24+"linux-avr32","$ENV{'CC'}: -O3 -fomit-frame-pointer -Wall::-D_REENTRANT::-ldl:BN_LLONG DES_RISC1:${no_asm}:dlfcn:linux-shared:-fPIC::.so.\$(SHLIB_MAJOR).",
25+
26+#### Linux on MIPS/MIPS64
27+"linux-mips","$ENV{'CC'}:-DB_ENDIAN -O3 -fomit-frame-pointer -Wall::-D_REENTRANT::-ldl:BN_LLONG RC2_CHAR RC4_INDEX DES_INT DES_UNROLL DES_RISC2:${no_asm}:dlfcn:linux-shared:-fPIC::.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)",
28+"linux-mips64","$ENV{'CC'}:-DB_ENDIAN -mabi=64 -O3 -fomit-frame-pointer -Wall::-D_REENTRANT::-ldl:SIXTY_FOUR_BIT_LONG RC2_CHAR RC4_INDEX DES_INT DES_UNROLL DES_RISC2:${no_asm}:dlfcn:linux-shared:-fPIC::.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)",
29+"linux-mips64el","$ENV{'CC'}:-DL_ENDIAN -mabi=64 -O3 -fomit-frame-pointer -Wall::-D_REENTRANT::-ldl:SIXTY_FOUR_BIT_LONG RC2_CHAR RC4_INDEX DES_INT DES_UNROLL DES_RISC2:${no_asm}:dlfcn:linux-shared:-fPIC::.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)",
30+"linux-mipsel","$ENV{'CC'}:-DL_ENDIAN -O3 -fomit-frame-pointer -Wall::-D_REENTRANT::-ldl:BN_LLONG RC2_CHAR RC4_INDEX DES_INT DES_UNROLL DES_RISC2:${no_asm}:dlfcn:linux-shared:-fPIC::.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)",
31+
32 # Android: linux-* but without pointers to headers and libs.
33 "android","gcc:-mandroid -I\$(ANDROID_DEV)/include -B\$(ANDROID_DEV)/lib -O3 -fomit-frame-pointer -Wall::-D_REENTRANT::-ldl:BN_LLONG RC4_CHAR RC4_CHUNK DES_INT DES_UNROLL BF_PTR:${no_asm}:dlfcn:linux-shared:-fPIC::.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)",
34 "android-x86","gcc:-mandroid -I\$(ANDROID_DEV)/include -B\$(ANDROID_DEV)/lib -O3 -fomit-frame-pointer -Wall::-D_REENTRANT::-ldl:BN_LLONG ${x86_gcc_des} ${x86_gcc_opts}:".eval{my $asm=${x86_elf_asm};$asm=~s/:elf/:android/;$asm}.":dlfcn:linux-shared:-fPIC::.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)",
diff --git a/meta/recipes-connectivity/openssl/openssl/debian/c_rehash-compat.patch b/meta/recipes-connectivity/openssl/openssl/debian/c_rehash-compat.patch
new file mode 100644
index 0000000000..ac1b19b943
--- /dev/null
+++ b/meta/recipes-connectivity/openssl/openssl/debian/c_rehash-compat.patch
@@ -0,0 +1,45 @@
1Upstream-Status: Backport [debian]
2
3From 83f318d68bbdab1ca898c94576a838cc97df4700 Mon Sep 17 00:00:00 2001
4From: Ludwig Nussel <ludwig.nussel@suse.de>
5Date: Wed, 21 Apr 2010 15:52:10 +0200
6Subject: [PATCH] also create old hash for compatibility
7
8---
9 tools/c_rehash.in | 8 +++++++-
10 1 files changed, 7 insertions(+), 1 deletions(-)
11
12Index: openssl-1.0.0d/tools/c_rehash.in
13===================================================================
14--- openssl-1.0.0d.orig/tools/c_rehash.in 2011-04-13 20:41:28.000000000 +0000
15+++ openssl-1.0.0d/tools/c_rehash.in 2011-04-13 20:41:28.000000000 +0000
16@@ -86,6 +86,7 @@
17 }
18 }
19 link_hash_cert($fname) if($cert);
20+ link_hash_cert_old($fname) if($cert);
21 link_hash_crl($fname) if($crl);
22 }
23 }
24@@ -119,8 +120,9 @@
25
26 sub link_hash_cert {
27 my $fname = $_[0];
28+ my $hashopt = $_[1] || '-subject_hash';
29 $fname =~ s/'/'\\''/g;
30- my ($hash, $fprint) = `"$openssl" x509 -hash -fingerprint -noout -in "$fname"`;
31+ my ($hash, $fprint) = `"$openssl" x509 $hashopt -fingerprint -noout -in "$fname"`;
32 chomp $hash;
33 chomp $fprint;
34 $fprint =~ s/^.*=//;
35@@ -150,6 +152,10 @@
36 $hashlist{$hash} = $fprint;
37 }
38
39+sub link_hash_cert_old {
40+ link_hash_cert($_[0], '-subject_hash_old');
41+}
42+
43 # Same as above except for a CRL. CRL links are of the form <hash>.r<n>
44
45 sub link_hash_crl {
diff --git a/meta/recipes-connectivity/openssl/openssl/debian/ca.patch b/meta/recipes-connectivity/openssl/openssl/debian/ca.patch
new file mode 100644
index 0000000000..aba4d42983
--- /dev/null
+++ b/meta/recipes-connectivity/openssl/openssl/debian/ca.patch
@@ -0,0 +1,22 @@
1Upstream-Status: Backport [debian]
2
3Index: openssl-0.9.8m/apps/CA.pl.in
4===================================================================
5--- openssl-0.9.8m.orig/apps/CA.pl.in 2006-04-28 00:28:51.000000000 +0000
6+++ openssl-0.9.8m/apps/CA.pl.in 2010-02-27 00:36:51.000000000 +0000
7@@ -65,6 +65,7 @@
8 foreach (@ARGV) {
9 if ( /^(-\?|-h|-help)$/ ) {
10 print STDERR "usage: CA -newcert|-newreq|-newreq-nodes|-newca|-sign|-verify\n";
11+ print STDERR "usage: CA -signcert certfile keyfile|-newcert|-newreq|-newca|-sign|-verify\n";
12 exit 0;
13 } elsif (/^-newcert$/) {
14 # create a certificate
15@@ -165,6 +166,7 @@
16 } else {
17 print STDERR "Unknown arg $_\n";
18 print STDERR "usage: CA -newcert|-newreq|-newreq-nodes|-newca|-sign|-verify\n";
19+ print STDERR "usage: CA -signcert certfile keyfile|-newcert|-newreq|-newca|-sign|-verify\n";
20 exit 1;
21 }
22 }
diff --git a/meta/recipes-connectivity/openssl/openssl/debian/debian-targets.patch b/meta/recipes-connectivity/openssl/openssl/debian/debian-targets.patch
new file mode 100644
index 0000000000..8101edf0b0
--- /dev/null
+++ b/meta/recipes-connectivity/openssl/openssl/debian/debian-targets.patch
@@ -0,0 +1,66 @@
1Upstream-Status: Backport [debian]
2
3Index: openssl-1.0.1/Configure
4===================================================================
5--- openssl-1.0.1.orig/Configure 2012-03-17 15:37:54.000000000 +0000
6+++ openssl-1.0.1/Configure 2012-03-17 16:13:49.000000000 +0000
7@@ -105,6 +105,10 @@
8
9 my $gcc_devteam_warn = "-Wall -pedantic -DPEDANTIC -Wno-long-long -Wsign-compare -Wmissing-prototypes -Wshadow -Wformat -Werror -DCRYPTO_MDEBUG_ALL -DCRYPTO_MDEBUG_ABORT -DREF_CHECK -DOPENSSL_NO_DEPRECATED";
10
11+# There are no separate CFLAGS/CPPFLAGS/LDFLAGS, set everything in CFLAGS
12+my $debian_cflags = `dpkg-buildflags --get CFLAGS` . `dpkg-buildflags --get CPPFLAGS` . `dpkg-buildflags --get LDFLAGS` . "-Wa,--noexecstack -Wall";
13+$debian_cflags =~ s/\n/ /g;
14+
15 my $strict_warnings = 0;
16
17 my $x86_gcc_des="DES_PTR DES_RISC1 DES_UNROLL";
18@@ -338,6 +342,48 @@
19 "osf1-alpha-cc", "cc:-std1 -tune host -O4 -readonly_strings::(unknown):::SIXTY_FOUR_BIT_LONG RC4_CHUNK:${alpha_asm}:dlfcn:alpha-osf1-shared:::.so",
20 "tru64-alpha-cc", "cc:-std1 -tune host -fast -readonly_strings::-pthread:::SIXTY_FOUR_BIT_LONG RC4_CHUNK:${alpha_asm}:dlfcn:alpha-osf1-shared::-msym:.so",
21
22+# Debian GNU/* (various architectures)
23+"debian-alpha","gcc:-DTERMIO ${debian_cflags}::-D_REENTRANT::-ldl:SIXTY_FOUR_BIT_LONG RC4_CHUNK DES_RISC1 DES_UNROLL:${alpha_asm}:dlfcn:linux-shared:-fPIC::.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)",
24+"debian-alpha-ev4","gcc:-DTERMIO ${debian_cflags} -mcpu=ev4::-D_REENTRANT::-ldl:SIXTY_FOUR_BIT_LONG RC4_CHUNK DES_RISC1 DES_UNROLL:${alpha_asm}:dlfcn:linux-shared:-fPIC::.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)",
25+"debian-alpha-ev5","gcc:-DTERMIO ${debian_cflags} -mcpu=ev5::-D_REENTRANT::-ldl:SIXTY_FOUR_BIT_LONG RC4_CHUNK DES_RISC1 DES_UNROLL:${alpha_asm}:dlfcn:linux-shared:-fPIC::.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)",
26+"debian-armeb","gcc:-DB_ENDIAN -DTERMIO ${debian_cflags}::-D_REENTRANT::-ldl:BN_LLONG RC4_CHAR RC4_CHUNK DES_INT DES_UNROLL BF_PTR:${no_asm}:dlfcn:linux-shared:-fPIC::.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)",
27+"debian-armel","gcc:-DL_ENDIAN -DTERMIO ${debian_cflags}::-D_REENTRANT::-ldl:BN_LLONG RC4_CHAR RC4_CHUNK DES_INT DES_UNROLL BF_PTR:${no_asm}:dlfcn:linux-shared:-fPIC::.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)",
28+"debian-armhf","gcc:-DL_ENDIAN -DTERMIO ${debian_cflags}::-D_REENTRANT::-ldl:BN_LLONG RC4_CHAR RC4_CHUNK DES_INT DES_UNROLL BF_PTR:${no_asm}:dlfcn:linux-shared:-fPIC::.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)",
29+"debian-amd64", "gcc:-m64 -DL_ENDIAN -DTERMIO ${debian_cflags} -DMD32_REG_T=int::-D_REENTRANT::-ldl:SIXTY_FOUR_BIT_LONG RC4_CHUNK DES_INT DES_UNROLL:${x86_64_asm}:elf:dlfcn:linux-shared:-fPIC:-m64:.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR):::",
30+"debian-avr32", "gcc:-DB_ENDIAN -DTERMIO ${debian_cflags} -fomit-frame-pointer::-D_REENTRANT::-ldl:BN_LLONG_BF_PTR:${no_asm}:dlfcn:linux-shared:-fPIC::.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)",
31+"debian-kfreebsd-amd64","gcc:-m64 -DL_ENDIAN -DTERMIOS ${debian_cflags} -DMD32_REG_T=int::-D_REENTRANT::-ldl:SIXTY_FOUR_BIT_LONG RC4_CHUNK DES_INT DES_UNROLL:${x86_64_asm}:elf:dlfcn:linux-shared:-fPIC:-m64:.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)",
32+"debian-kfreebsd-i386","gcc:-DL_ENDIAN -DTERMIOS ${debian_cflags} -march=i486::-D_REENTRANT::-ldl:BN_LLONG ${x86_gcc_des} ${x86_gcc_opts}:${x86_elf_asm}:dlfcn:linux-shared:-fPIC::.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)",
33+"debian-hppa","gcc:-DB_ENDIAN -DTERMIO ${debian_cflags}::-D_REENTRANT::-ldl:BN_LLONG MD2_CHAR RC4_INDEX:${no_asm}:dlfcn:linux-shared:-fPIC::.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)",
34+"debian-hurd-i386","gcc:-DL_ENDIAN -DTERMIOS -O3 -Wa,--noexecstack -g -mtune=i486 -Wall::-D_REENTRANT::-ldl:BN_LLONG ${x86_gcc_des} ${x86_gcc_opts}:${x86_elf_asm}:dlfcn:linux-shared:-fPIC::.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)",
35+"debian-ia64","gcc:-DTERMIO ${debian_cflags}::-D_REENTRANT::-ldl:SIXTY_FOUR_BIT_LONG RC4_CHUNK DES_UNROLL DES_INT:${ia64_asm}:dlfcn:linux-shared:-fPIC::.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)",
36+"debian-i386","gcc:-DL_ENDIAN -DTERMIO ${debian_cflags}::-D_REENTRANT::-ldl:BN_LLONG ${x86_gcc_des} ${x86_gcc_opts}:${x86_elf_asm}:dlfcn:linux-shared:-fPIC::.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)",
37+"debian-i386-i486","gcc:-DL_ENDIAN -DTERMIO ${debian_cflags} -march=i486::-D_REENTRANT::-ldl:BN_LLONG ${x86_gcc_des} ${x86_gcc_opts}:${x86_elf_asm}:dlfcn:linux-shared:-fPIC::.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)",
38+"debian-i386-i586","gcc:-DL_ENDIAN -DTERMIO ${debian_cflags} -march=i586::-D_REENTRANT::-ldl:BN_LLONG ${x86_gcc_des} ${x86_gcc_opts}:${x86_elf_asm}:dlfcn:linux-shared:-fPIC::.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)",
39+"debian-i386-i686/cmov","gcc:-DL_ENDIAN -DTERMIO ${debian_cflags} -march=i686::-D_REENTRANT::-ldl:BN_LLONG ${x86_gcc_des} ${x86_gcc_opts}:${x86_elf_asm}:dlfcn:linux-shared:-fPIC::.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)",
40+"debian-m68k","gcc:-DB_ENDIAN -DTERMIO ${debian_cflags}::-D_REENTRANT::-ldl:BN_LLONG MD2_CHAR RC4_INDEX:${no_asm}:dlfcn:linux-shared:-fPIC::.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)",
41+"debian-mips", "gcc:-DB_ENDIAN -DTERMIO ${debian_cflags}::-D_REENTRANT::-ldl:BN_LLONG RC2_CHAR RC4_INDEX DES_INT DES_UNROLL DES_RISC2:${no_asm}:dlfcn:linux-shared:-fPIC::.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)",
42+"debian-mipsel", "gcc:-DL_ENDIAN -DTERMIO ${debian_cflags}::-D_REENTRANT::-ldl:BN_LLONG RC2_CHAR RC4_INDEX DES_INT DES_UNROLL DES_RISC2:${no_asm}:dlfcn:linux-shared:-fPIC::.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)",
43+"debian-netbsd-i386", "gcc:-DL_ENDIAN -DTERMIOS ${debian_cflags} -m486::(unknown):::BN_LLONG ${x86_gcc_des} ${x86_gcc_opts}:${no_asm}:dlfcn:bsd-gcc-shared:-fPIC::.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)",
44+"debian-netbsd-m68k", "gcc:-DB_ENDIAN -DTERMIOS ${debian_cflags}::(unknown):::BN_LLONG MD2_CHAR RC4_INDEX DES_UNROLL:${no_asm}:dlfcn:bsd-gcc-shared:-fPIC::.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)",
45+"debian-netbsd-sparc", "gcc:-DB_ENDIAN -DTERMIOS ${debian_cflags} -mv8::(unknown):::BN_LLONG MD2_CHAR RC4_INDEX DES_UNROLL:${no_asm}:dlfcn:bsd-gcc-shared:-fPIC::.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)",
46+"debian-openbsd-alpha","gcc:-DTERMIOS ${debian_cflags}::(unknown):::SIXTY_FOUR_BIT_LONG DES_INT DES_PTR DES_RISC2:${no_asm}:dlfcn:bsd-gcc-shared:-fPIC::.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)",
47+"debian-openbsd-i386", "gcc:-DL_ENDIAN -DTERMIOS ${debian_cflags} -m486::(unknown):::BN_LLONG ${x86_gcc_des} ${x86_gcc_opts}:${x86_asm}:a.out:dlfcn:bsd-gcc-shared:-fPIC::.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)",
48+"debian-openbsd-mips","gcc:-DL_ENDIAN ${debian_cflags}::(unknown)::BN_LLONG MD2_CHAR RC4_INDEX RC4_CHAR DES_UNROLL DES_RISC2 DES_PTR BF_PTR:${no_asm}:dlfcn:bsd-gcc-shared:-fPIC::.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)",
49+"debian-powerpc","gcc:-DB_ENDIAN -DTERMIO ${debian_cflags}::-D_REENTRANT::-ldl:BN_LLONG RC4_CHAR RC4_CHUNK DES_RISC1 DES_UNROLL:${ppc32_asm}:linux32:dlfcn:linux-shared:-fPIC::.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)",
50+"debian-powerpcspe","gcc:-DB_ENDIAN -DTERMIO ${debian_cflags}::-D_REENTRANT::-ldl:BN_LLONG RC4_CHAR RC4_CHUNK DES_RISC1 DES_UNROLL:${ppc32_asm}:linux32:dlfcn:linux-shared:-fPIC::.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)",
51+"debian-ppc64","gcc:-m64 -DB_ENDIAN -DTERMIO ${debian_cflags}::-D_REENTRANT::-ldl:SIXTY_FOUR_BIT_LONG RC4_CHAR RC4_CHUNK DES_RISC1 DES_UNROLL:${ppc64_asm}:linux64:dlfcn:linux-shared:-fPIC:-m64:.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)",
52+"debian-s390","gcc:-DB_ENDIAN -DTERMIO ${debian_cflags}::-D_REENTRANT::-ldl:RC4_CHAR RC4_CHUNK DES_INT DES_UNROLL:${no_asm}:dlfcn:linux-shared:-fPIC::.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)",
53+"debian-s390x","gcc:-DB_ENDIAN -DTERMIO ${debian_cflags}::-D_REENTRANT::-ldl:SIXTY_FOUR_BIT_LONG RC4_CHAR RC4_CHUNK DES_INT DES_UNROLL:${no_asm}:dlfcn:linux-shared:-fPIC::.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)",
54+"debian-sh3", "gcc:-DL_ENDIAN -DTERMIO ${debian_cflags}::-D_REENTRANT::-ldl:BN_LLONG:${no_asm}:dlfcn:linux-shared:-fPIC::.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)",
55+"debian-sh4", "gcc:-DL_ENDIAN -DTERMIO ${debian_cflags}::-D_REENTRANT::-ldl:BN_LLONG:${no_asm}:dlfcn:linux-shared:-fPIC::.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)",
56+"debian-sh3eb", "gcc:-DB_ENDIAN -DTERMIO ${debian_cflags}::-D_REENTRANT::-ldl:BN_LLONG:${no_asm}:dlfcn:linux-shared:-fPIC::.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)",
57+"debian-sh4eb", "gcc:-DB_ENDIAN -DTERMIO ${debian_cflags}::-D_REENTRANT::-ldl:BN_LLONG:${no_asm}:dlfcn:linux-shared:-fPIC::.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)",
58+"debian-m32r","gcc:-DB_ENDIAN -DTERMIO ${debian_cflags}::-D_REENTRANT::-ldl:BN_LLONG:${no_asm}:dlfcn:linux-shared:-fPIC::.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)",
59+"debian-sparc","gcc:-DB_ENDIAN -DTERMIO ${debian_cflags}::-D_REENTRANT::-ldl:BN_LLONG RC4_CHAR RC4_CHUNK DES_UNROLL BF_PTR:${sparcv9_asm}:dlfcn:linux-shared:-fPIC::.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)",
60+"debian-sparc-v8","gcc:-DB_ENDIAN -DTERMIO ${debian_cflags} -mcpu=v8 -DBN_DIV2W::-D_REENTRANT::-ldl:BN_LLONG RC4_CHAR RC4_CHUNK DES_UNROLL BF_PTR:${sparcv8_asm}:dlfcn:linux-shared:-fPIC::.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)",
61+"debian-sparc-v9","gcc:-DB_ENDIAN -DTERMIO ${debian_cflags} -mcpu=v9 -Wa,-Av8plus -DULTRASPARC -DBN_DIV2W::-D_REENTRANT::-ldl:BN_LLONG RC4_CHAR RC4_CHUNK DES_UNROLL BF_PTR:${sparcv9_asm}:dlfcn:linux-shared:-fPIC::.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)",
62+"debian-sparc64","gcc:-m64 -DB_ENDIAN -DTERMIO ${debian_cflags} -DULTRASPARC -DBN_DIV2W::-D_REENTRANT::-ldl:BN_LLONG RC4_CHAR RC4_CHUNK DES_INT DES_PTR DES_RISC1 DES_UNROLL BF_PTR:${sparcv9_asm}:dlfcn:linux-shared:-fPIC:-m64:.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)",
63+
64 ####
65 #### Variety of LINUX:-)
66 ####
diff --git a/meta/recipes-connectivity/openssl/openssl/debian/make-targets.patch b/meta/recipes-connectivity/openssl/openssl/debian/make-targets.patch
new file mode 100644
index 0000000000..ee0a62c3c7
--- /dev/null
+++ b/meta/recipes-connectivity/openssl/openssl/debian/make-targets.patch
@@ -0,0 +1,15 @@
1Upstream-Status: Backport [debian]
2
3Index: openssl-1.0.1/Makefile.org
4===================================================================
5--- openssl-1.0.1.orig/Makefile.org 2012-03-17 09:41:07.000000000 +0000
6+++ openssl-1.0.1/Makefile.org 2012-03-17 09:41:21.000000000 +0000
7@@ -135,7 +135,7 @@
8
9 BASEADDR=
10
11-DIRS= crypto ssl engines apps test tools
12+DIRS= crypto ssl engines apps tools
13 ENGDIRS= ccgost
14 SHLIBDIRS= crypto ssl
15
diff --git a/meta/recipes-connectivity/openssl/openssl/debian/man-dir.patch b/meta/recipes-connectivity/openssl/openssl/debian/man-dir.patch
new file mode 100644
index 0000000000..4085e3b1d7
--- /dev/null
+++ b/meta/recipes-connectivity/openssl/openssl/debian/man-dir.patch
@@ -0,0 +1,15 @@
1Upstream-Status: Backport [debian]
2
3Index: openssl-1.0.0c/Makefile.org
4===================================================================
5--- openssl-1.0.0c.orig/Makefile.org 2010-12-12 16:11:27.000000000 +0100
6+++ openssl-1.0.0c/Makefile.org 2010-12-12 16:11:37.000000000 +0100
7@@ -131,7 +131,7 @@
8
9 MAKEFILE= Makefile
10
11-MANDIR=$(OPENSSLDIR)/man
12+MANDIR=/usr/share/man
13 MAN1=1
14 MAN3=3
15 MANSUFFIX=
diff --git a/meta/recipes-connectivity/openssl/openssl/debian/man-section.patch b/meta/recipes-connectivity/openssl/openssl/debian/man-section.patch
new file mode 100644
index 0000000000..21c1d1a4eb
--- /dev/null
+++ b/meta/recipes-connectivity/openssl/openssl/debian/man-section.patch
@@ -0,0 +1,34 @@
1Upstream-Status: Backport [debian]
2
3Index: openssl-1.0.0c/Makefile.org
4===================================================================
5--- openssl-1.0.0c.orig/Makefile.org 2010-12-12 16:11:37.000000000 +0100
6+++ openssl-1.0.0c/Makefile.org 2010-12-12 16:13:28.000000000 +0100
7@@ -160,7 +160,8 @@
8 MANDIR=/usr/share/man
9 MAN1=1
10 MAN3=3
11-MANSUFFIX=
12+MANSUFFIX=ssl
13+MANSECTION=SSL
14 HTMLSUFFIX=html
15 HTMLDIR=$(OPENSSLDIR)/html
16 SHELL=/bin/sh
17@@ -651,7 +652,7 @@
18 echo "installing man$$sec/$$fn.$${sec}$(MANSUFFIX)"; \
19 (cd `$(PERL) util/dirname.pl $$i`; \
20 sh -c "$$pod2man \
21- --section=$$sec --center=OpenSSL \
22+ --section=$${sec}$(MANSECTION) --center=OpenSSL \
23 --release=$(VERSION) `basename $$i`") \
24 > $(INSTALL_PREFIX)$(MANDIR)/man$$sec/$$fn.$${sec}$(MANSUFFIX); \
25 $(PERL) util/extract-names.pl < $$i | \
26@@ -668,7 +669,7 @@
27 echo "installing man$$sec/$$fn.$${sec}$(MANSUFFIX)"; \
28 (cd `$(PERL) util/dirname.pl $$i`; \
29 sh -c "$$pod2man \
30- --section=$$sec --center=OpenSSL \
31+ --section=$${sec}$(MANSECTION) --center=OpenSSL \
32 --release=$(VERSION) `basename $$i`") \
33 > $(INSTALL_PREFIX)$(MANDIR)/man$$sec/$$fn.$${sec}$(MANSUFFIX); \
34 $(PERL) util/extract-names.pl < $$i | \
diff --git a/meta/recipes-connectivity/openssl/openssl/debian/no-rpath.patch b/meta/recipes-connectivity/openssl/openssl/debian/no-rpath.patch
new file mode 100644
index 0000000000..1ccb3b86ee
--- /dev/null
+++ b/meta/recipes-connectivity/openssl/openssl/debian/no-rpath.patch
@@ -0,0 +1,15 @@
1Upstream-Status: Backport [debian]
2
3Index: openssl-1.0.0c/Makefile.shared
4===================================================================
5--- openssl-1.0.0c.orig/Makefile.shared 2010-08-21 13:36:49.000000000 +0200
6+++ openssl-1.0.0c/Makefile.shared 2010-12-12 16:13:36.000000000 +0100
7@@ -153,7 +153,7 @@
8 NOALLSYMSFLAGS='-Wl,--no-whole-archive'; \
9 SHAREDFLAGS="$(CFLAGS) $(SHARED_LDFLAGS) -shared -Wl,-Bsymbolic -Wl,-soname=$$SHLIB$$SHLIB_SOVER$$SHLIB_SUFFIX"
10
11-DO_GNU_APP=LDFLAGS="$(CFLAGS) -Wl,-rpath,$(LIBRPATH)"
12+DO_GNU_APP=LDFLAGS="$(CFLAGS)"
13
14 #This is rather special. It's a special target with which one can link
15 #applications without bothering with any features that have anything to
diff --git a/meta/recipes-connectivity/openssl/openssl/debian/no-symbolic.patch b/meta/recipes-connectivity/openssl/openssl/debian/no-symbolic.patch
new file mode 100644
index 0000000000..cc4408ab7d
--- /dev/null
+++ b/meta/recipes-connectivity/openssl/openssl/debian/no-symbolic.patch
@@ -0,0 +1,15 @@
1Upstream-Status: Backport [debian]
2
3Index: openssl-1.0.0c/Makefile.shared
4===================================================================
5--- openssl-1.0.0c.orig/Makefile.shared 2010-12-12 16:13:36.000000000 +0100
6+++ openssl-1.0.0c/Makefile.shared 2010-12-12 16:13:44.000000000 +0100
7@@ -151,7 +151,7 @@
8 SHLIB_SUFFIX=; \
9 ALLSYMSFLAGS='-Wl,--whole-archive'; \
10 NOALLSYMSFLAGS='-Wl,--no-whole-archive'; \
11- SHAREDFLAGS="$(CFLAGS) $(SHARED_LDFLAGS) -shared -Wl,-Bsymbolic -Wl,-soname=$$SHLIB$$SHLIB_SOVER$$SHLIB_SUFFIX"
12+ SHAREDFLAGS="$(CFLAGS) $(SHARED_LDFLAGS) -shared -Wl,-soname=$$SHLIB$$SHLIB_SOVER$$SHLIB_SUFFIX"
13
14 DO_GNU_APP=LDFLAGS="$(CFLAGS)"
15
diff --git a/meta/recipes-connectivity/openssl/openssl/debian/pic.patch b/meta/recipes-connectivity/openssl/openssl/debian/pic.patch
new file mode 100644
index 0000000000..bfda3888bf
--- /dev/null
+++ b/meta/recipes-connectivity/openssl/openssl/debian/pic.patch
@@ -0,0 +1,177 @@
1Upstream-Status: Backport [debian]
2
3Index: openssl-1.0.1c/crypto/des/asm/desboth.pl
4===================================================================
5--- openssl-1.0.1c.orig/crypto/des/asm/desboth.pl 2001-10-24 23:20:56.000000000 +0200
6+++ openssl-1.0.1c/crypto/des/asm/desboth.pl 2012-07-29 14:15:26.000000000 +0200
7@@ -16,6 +16,11 @@
8
9 &push("edi");
10
11+ &call (&label("pic_point0"));
12+ &set_label("pic_point0");
13+ &blindpop("ebp");
14+ &add ("ebp", "\$_GLOBAL_OFFSET_TABLE_+[.-" . &label("pic_point0") . "]");
15+
16 &comment("");
17 &comment("Load the data words");
18 &mov($L,&DWP(0,"ebx","",0));
19@@ -47,15 +52,21 @@
20 &mov(&swtmp(2), (DWC(($enc)?"1":"0")));
21 &mov(&swtmp(1), "eax");
22 &mov(&swtmp(0), "ebx");
23- &call("DES_encrypt2");
24+ &exch("ebx", "ebp");
25+ &call("DES_encrypt2\@PLT");
26+ &exch("ebx", "ebp");
27 &mov(&swtmp(2), (DWC(($enc)?"0":"1")));
28 &mov(&swtmp(1), "edi");
29 &mov(&swtmp(0), "ebx");
30- &call("DES_encrypt2");
31+ &exch("ebx", "ebp");
32+ &call("DES_encrypt2\@PLT");
33+ &exch("ebx", "ebp");
34 &mov(&swtmp(2), (DWC(($enc)?"1":"0")));
35 &mov(&swtmp(1), "esi");
36 &mov(&swtmp(0), "ebx");
37- &call("DES_encrypt2");
38+ &exch("ebx", "ebp");
39+ &call("DES_encrypt2\@PLT");
40+ &exch("ebx", "ebp");
41
42 &stack_pop(3);
43 &mov($L,&DWP(0,"ebx","",0));
44Index: openssl-1.0.1c/crypto/perlasm/cbc.pl
45===================================================================
46--- openssl-1.0.1c.orig/crypto/perlasm/cbc.pl 2011-07-13 08:22:46.000000000 +0200
47+++ openssl-1.0.1c/crypto/perlasm/cbc.pl 2012-07-29 14:15:26.000000000 +0200
48@@ -122,7 +122,11 @@
49 &mov(&DWP($data_off,"esp","",0), "eax"); # put in array for call
50 &mov(&DWP($data_off+4,"esp","",0), "ebx"); #
51
52- &call($enc_func);
53+ &call (&label("pic_point0"));
54+ &set_label("pic_point0");
55+ &blindpop("ebx");
56+ &add ("ebx", "\$_GLOBAL_OFFSET_TABLE_+[.-" . &label("pic_point0") . "]");
57+ &call("$enc_func\@PLT");
58
59 &mov("eax", &DWP($data_off,"esp","",0));
60 &mov("ebx", &DWP($data_off+4,"esp","",0));
61@@ -185,7 +189,11 @@
62 &mov(&DWP($data_off,"esp","",0), "eax"); # put in array for call
63 &mov(&DWP($data_off+4,"esp","",0), "ebx"); #
64
65- &call($enc_func);
66+ &call (&label("pic_point1"));
67+ &set_label("pic_point1");
68+ &blindpop("ebx");
69+ &add ("ebx", "\$_GLOBAL_OFFSET_TABLE_+[.-" . &label("pic_point1") . "]");
70+ &call("$enc_func\@PLT");
71
72 &mov("eax", &DWP($data_off,"esp","",0));
73 &mov("ebx", &DWP($data_off+4,"esp","",0));
74@@ -218,7 +226,11 @@
75 &mov(&DWP($data_off,"esp","",0), "eax"); # put back
76 &mov(&DWP($data_off+4,"esp","",0), "ebx"); #
77
78- &call($dec_func);
79+ &call (&label("pic_point2"));
80+ &set_label("pic_point2");
81+ &blindpop("ebx");
82+ &add ("ebx", "\$_GLOBAL_OFFSET_TABLE_+[.-" . &label("pic_point2") . "]");
83+ &call("$dec_func\@PLT");
84
85 &mov("eax", &DWP($data_off,"esp","",0)); # get return
86 &mov("ebx", &DWP($data_off+4,"esp","",0)); #
87@@ -261,7 +273,11 @@
88 &mov(&DWP($data_off,"esp","",0), "eax"); # put back
89 &mov(&DWP($data_off+4,"esp","",0), "ebx"); #
90
91- &call($dec_func);
92+ &call (&label("pic_point3"));
93+ &set_label("pic_point3");
94+ &blindpop("ebx");
95+ &add ("ebx", "\$_GLOBAL_OFFSET_TABLE_+[.-" . &label("pic_point3") . "]");
96+ &call("$dec_func\@PLT");
97
98 &mov("eax", &DWP($data_off,"esp","",0)); # get return
99 &mov("ebx", &DWP($data_off+4,"esp","",0)); #
100Index: openssl-1.0.1c/crypto/perlasm/x86gas.pl
101===================================================================
102--- openssl-1.0.1c.orig/crypto/perlasm/x86gas.pl 2011-12-09 20:16:35.000000000 +0100
103+++ openssl-1.0.1c/crypto/perlasm/x86gas.pl 2012-07-29 14:15:26.000000000 +0200
104@@ -161,6 +161,7 @@
105 if ($::macosx) { push (@out,"$tmp,2\n"); }
106 elsif ($::elf) { push (@out,"$tmp,4\n"); }
107 else { push (@out,"$tmp\n"); }
108+ if ($::elf) { push (@out,".hidden\tOPENSSL_ia32cap_P\n"); }
109 }
110 push(@out,$initseg) if ($initseg);
111 }
112@@ -218,8 +219,23 @@
113 elsif ($::elf)
114 { $initseg.=<<___;
115 .section .init
116+___
117+ if ($::pic)
118+ { $initseg.=<<___;
119+ pushl %ebx
120+ call .pic_point0
121+.pic_point0:
122+ popl %ebx
123+ addl \$_GLOBAL_OFFSET_TABLE_+[.-.pic_point0],%ebx
124+ call $f\@PLT
125+ popl %ebx
126+___
127+ }
128+ else
129+ { $initseg.=<<___;
130 call $f
131 ___
132+ }
133 }
134 elsif ($::coff)
135 { $initseg.=<<___; # applies to both Cygwin and Mingw
136Index: openssl-1.0.1c/crypto/x86cpuid.pl
137===================================================================
138--- openssl-1.0.1c.orig/crypto/x86cpuid.pl 2012-02-28 15:20:34.000000000 +0100
139+++ openssl-1.0.1c/crypto/x86cpuid.pl 2012-07-29 14:15:26.000000000 +0200
140@@ -8,6 +8,8 @@
141
142 for (@ARGV) { $sse2=1 if (/-DOPENSSL_IA32_SSE2/); }
143
144+push(@out, ".hidden OPENSSL_ia32cap_P\n");
145+
146 &function_begin("OPENSSL_ia32_cpuid");
147 &xor ("edx","edx");
148 &pushf ();
149@@ -139,9 +141,7 @@
150 &set_label("nocpuid");
151 &function_end("OPENSSL_ia32_cpuid");
152
153-&external_label("OPENSSL_ia32cap_P");
154-
155-&function_begin_B("OPENSSL_rdtsc","EXTRN\t_OPENSSL_ia32cap_P:DWORD");
156+&function_begin_B("OPENSSL_rdtsc");
157 &xor ("eax","eax");
158 &xor ("edx","edx");
159 &picmeup("ecx","OPENSSL_ia32cap_P");
160@@ -155,7 +155,7 @@
161 # This works in Ring 0 only [read DJGPP+MS-DOS+privileged DPMI host],
162 # but it's safe to call it on any [supported] 32-bit platform...
163 # Just check for [non-]zero return value...
164-&function_begin_B("OPENSSL_instrument_halt","EXTRN\t_OPENSSL_ia32cap_P:DWORD");
165+&function_begin_B("OPENSSL_instrument_halt");
166 &picmeup("ecx","OPENSSL_ia32cap_P");
167 &bt (&DWP(0,"ecx"),4);
168 &jnc (&label("nohalt")); # no TSC
169@@ -222,7 +222,7 @@
170 &ret ();
171 &function_end_B("OPENSSL_far_spin");
172
173-&function_begin_B("OPENSSL_wipe_cpu","EXTRN\t_OPENSSL_ia32cap_P:DWORD");
174+&function_begin_B("OPENSSL_wipe_cpu");
175 &xor ("eax","eax");
176 &xor ("edx","edx");
177 &picmeup("ecx","OPENSSL_ia32cap_P");
diff --git a/meta/recipes-connectivity/openssl/openssl/debian/version-script.patch b/meta/recipes-connectivity/openssl/openssl/debian/version-script.patch
new file mode 100644
index 0000000000..ece8b9b46c
--- /dev/null
+++ b/meta/recipes-connectivity/openssl/openssl/debian/version-script.patch
@@ -0,0 +1,4670 @@
1Upstream-Status: Backport [debian]
2
3Index: openssl-1.0.1d/Configure
4===================================================================
5--- openssl-1.0.1d.orig/Configure 2013-02-06 19:41:43.000000000 +0100
6+++ openssl-1.0.1d/Configure 2013-02-06 19:41:43.000000000 +0100
7@@ -1621,6 +1621,8 @@
8 }
9 }
10
11+$shared_ldflag .= " -Wl,--version-script=openssl.ld";
12+
13 open(IN,'<Makefile.org') || die "unable to read Makefile.org:$!\n";
14 unlink("$Makefile.new") || die "unable to remove old $Makefile.new:$!\n" if -e "$Makefile.new";
15 open(OUT,">$Makefile.new") || die "unable to create $Makefile.new:$!\n";
16Index: openssl-1.0.1d/openssl.ld
17===================================================================
18--- /dev/null 1970-01-01 00:00:00.000000000 +0000
19+++ openssl-1.0.1d/openssl.ld 2013-02-06 19:44:25.000000000 +0100
20@@ -0,0 +1,4620 @@
21+OPENSSL_1.0.0 {
22+ global:
23+ BIO_f_ssl;
24+ BIO_new_buffer_ssl_connect;
25+ BIO_new_ssl;
26+ BIO_new_ssl_connect;
27+ BIO_proxy_ssl_copy_session_id;
28+ BIO_ssl_copy_session_id;
29+ BIO_ssl_shutdown;
30+ d2i_SSL_SESSION;
31+ DTLSv1_client_method;
32+ DTLSv1_method;
33+ DTLSv1_server_method;
34+ ERR_load_SSL_strings;
35+ i2d_SSL_SESSION;
36+ kssl_build_principal_2;
37+ kssl_cget_tkt;
38+ kssl_check_authent;
39+ kssl_ctx_free;
40+ kssl_ctx_new;
41+ kssl_ctx_setkey;
42+ kssl_ctx_setprinc;
43+ kssl_ctx_setstring;
44+ kssl_ctx_show;
45+ kssl_err_set;
46+ kssl_krb5_free_data_contents;
47+ kssl_sget_tkt;
48+ kssl_skip_confound;
49+ kssl_validate_times;
50+ PEM_read_bio_SSL_SESSION;
51+ PEM_read_SSL_SESSION;
52+ PEM_write_bio_SSL_SESSION;
53+ PEM_write_SSL_SESSION;
54+ SSL_accept;
55+ SSL_add_client_CA;
56+ SSL_add_dir_cert_subjects_to_stack;
57+ SSL_add_dir_cert_subjs_to_stk;
58+ SSL_add_file_cert_subjects_to_stack;
59+ SSL_add_file_cert_subjs_to_stk;
60+ SSL_alert_desc_string;
61+ SSL_alert_desc_string_long;
62+ SSL_alert_type_string;
63+ SSL_alert_type_string_long;
64+ SSL_callback_ctrl;
65+ SSL_check_private_key;
66+ SSL_CIPHER_description;
67+ SSL_CIPHER_get_bits;
68+ SSL_CIPHER_get_name;
69+ SSL_CIPHER_get_version;
70+ SSL_clear;
71+ SSL_COMP_add_compression_method;
72+ SSL_COMP_get_compression_methods;
73+ SSL_COMP_get_compress_methods;
74+ SSL_COMP_get_name;
75+ SSL_connect;
76+ SSL_copy_session_id;
77+ SSL_ctrl;
78+ SSL_CTX_add_client_CA;
79+ SSL_CTX_add_session;
80+ SSL_CTX_callback_ctrl;
81+ SSL_CTX_check_private_key;
82+ SSL_CTX_ctrl;
83+ SSL_CTX_flush_sessions;
84+ SSL_CTX_free;
85+ SSL_CTX_get_cert_store;
86+ SSL_CTX_get_client_CA_list;
87+ SSL_CTX_get_client_cert_cb;
88+ SSL_CTX_get_ex_data;
89+ SSL_CTX_get_ex_new_index;
90+ SSL_CTX_get_info_callback;
91+ SSL_CTX_get_quiet_shutdown;
92+ SSL_CTX_get_timeout;
93+ SSL_CTX_get_verify_callback;
94+ SSL_CTX_get_verify_depth;
95+ SSL_CTX_get_verify_mode;
96+ SSL_CTX_load_verify_locations;
97+ SSL_CTX_new;
98+ SSL_CTX_remove_session;
99+ SSL_CTX_sess_get_get_cb;
100+ SSL_CTX_sess_get_new_cb;
101+ SSL_CTX_sess_get_remove_cb;
102+ SSL_CTX_sessions;
103+ SSL_CTX_sess_set_get_cb;
104+ SSL_CTX_sess_set_new_cb;
105+ SSL_CTX_sess_set_remove_cb;
106+ SSL_CTX_set1_param;
107+ SSL_CTX_set_cert_store;
108+ SSL_CTX_set_cert_verify_callback;
109+ SSL_CTX_set_cert_verify_cb;
110+ SSL_CTX_set_cipher_list;
111+ SSL_CTX_set_client_CA_list;
112+ SSL_CTX_set_client_cert_cb;
113+ SSL_CTX_set_client_cert_engine;
114+ SSL_CTX_set_cookie_generate_cb;
115+ SSL_CTX_set_cookie_verify_cb;
116+ SSL_CTX_set_default_passwd_cb;
117+ SSL_CTX_set_default_passwd_cb_userdata;
118+ SSL_CTX_set_default_verify_paths;
119+ SSL_CTX_set_def_passwd_cb_ud;
120+ SSL_CTX_set_def_verify_paths;
121+ SSL_CTX_set_ex_data;
122+ SSL_CTX_set_generate_session_id;
123+ SSL_CTX_set_info_callback;
124+ SSL_CTX_set_msg_callback;
125+ SSL_CTX_set_psk_client_callback;
126+ SSL_CTX_set_psk_server_callback;
127+ SSL_CTX_set_purpose;
128+ SSL_CTX_set_quiet_shutdown;
129+ SSL_CTX_set_session_id_context;
130+ SSL_CTX_set_ssl_version;
131+ SSL_CTX_set_timeout;
132+ SSL_CTX_set_tmp_dh_callback;
133+ SSL_CTX_set_tmp_ecdh_callback;
134+ SSL_CTX_set_tmp_rsa_callback;
135+ SSL_CTX_set_trust;
136+ SSL_CTX_set_verify;
137+ SSL_CTX_set_verify_depth;
138+ SSL_CTX_use_cert_chain_file;
139+ SSL_CTX_use_certificate;
140+ SSL_CTX_use_certificate_ASN1;
141+ SSL_CTX_use_certificate_chain_file;
142+ SSL_CTX_use_certificate_file;
143+ SSL_CTX_use_PrivateKey;
144+ SSL_CTX_use_PrivateKey_ASN1;
145+ SSL_CTX_use_PrivateKey_file;
146+ SSL_CTX_use_psk_identity_hint;
147+ SSL_CTX_use_RSAPrivateKey;
148+ SSL_CTX_use_RSAPrivateKey_ASN1;
149+ SSL_CTX_use_RSAPrivateKey_file;
150+ SSL_do_handshake;
151+ SSL_dup;
152+ SSL_dup_CA_list;
153+ SSLeay_add_ssl_algorithms;
154+ SSL_free;
155+ SSL_get1_session;
156+ SSL_get_certificate;
157+ SSL_get_cipher_list;
158+ SSL_get_ciphers;
159+ SSL_get_client_CA_list;
160+ SSL_get_current_cipher;
161+ SSL_get_current_compression;
162+ SSL_get_current_expansion;
163+ SSL_get_default_timeout;
164+ SSL_get_error;
165+ SSL_get_ex_data;
166+ SSL_get_ex_data_X509_STORE_CTX_idx;
167+ SSL_get_ex_d_X509_STORE_CTX_idx;
168+ SSL_get_ex_new_index;
169+ SSL_get_fd;
170+ SSL_get_finished;
171+ SSL_get_info_callback;
172+ SSL_get_peer_cert_chain;
173+ SSL_get_peer_certificate;
174+ SSL_get_peer_finished;
175+ SSL_get_privatekey;
176+ SSL_get_psk_identity;
177+ SSL_get_psk_identity_hint;
178+ SSL_get_quiet_shutdown;
179+ SSL_get_rbio;
180+ SSL_get_read_ahead;
181+ SSL_get_rfd;
182+ SSL_get_servername;
183+ SSL_get_servername_type;
184+ SSL_get_session;
185+ SSL_get_shared_ciphers;
186+ SSL_get_shutdown;
187+ SSL_get_SSL_CTX;
188+ SSL_get_ssl_method;
189+ SSL_get_verify_callback;
190+ SSL_get_verify_depth;
191+ SSL_get_verify_mode;
192+ SSL_get_verify_result;
193+ SSL_get_version;
194+ SSL_get_wbio;
195+ SSL_get_wfd;
196+ SSL_has_matching_session_id;
197+ SSL_library_init;
198+ SSL_load_client_CA_file;
199+ SSL_load_error_strings;
200+ SSL_new;
201+ SSL_peek;
202+ SSL_pending;
203+ SSL_read;
204+ SSL_renegotiate;
205+ SSL_renegotiate_pending;
206+ SSL_rstate_string;
207+ SSL_rstate_string_long;
208+ SSL_SESSION_cmp;
209+ SSL_SESSION_free;
210+ SSL_SESSION_get_ex_data;
211+ SSL_SESSION_get_ex_new_index;
212+ SSL_SESSION_get_id;
213+ SSL_SESSION_get_time;
214+ SSL_SESSION_get_timeout;
215+ SSL_SESSION_hash;
216+ SSL_SESSION_new;
217+ SSL_SESSION_print;
218+ SSL_SESSION_print_fp;
219+ SSL_SESSION_set_ex_data;
220+ SSL_SESSION_set_time;
221+ SSL_SESSION_set_timeout;
222+ SSL_set1_param;
223+ SSL_set_accept_state;
224+ SSL_set_bio;
225+ SSL_set_cipher_list;
226+ SSL_set_client_CA_list;
227+ SSL_set_connect_state;
228+ SSL_set_ex_data;
229+ SSL_set_fd;
230+ SSL_set_generate_session_id;
231+ SSL_set_info_callback;
232+ SSL_set_msg_callback;
233+ SSL_set_psk_client_callback;
234+ SSL_set_psk_server_callback;
235+ SSL_set_purpose;
236+ SSL_set_quiet_shutdown;
237+ SSL_set_read_ahead;
238+ SSL_set_rfd;
239+ SSL_set_session;
240+ SSL_set_session_id_context;
241+ SSL_set_session_secret_cb;
242+ SSL_set_session_ticket_ext;
243+ SSL_set_session_ticket_ext_cb;
244+ SSL_set_shutdown;
245+ SSL_set_SSL_CTX;
246+ SSL_set_ssl_method;
247+ SSL_set_tmp_dh_callback;
248+ SSL_set_tmp_ecdh_callback;
249+ SSL_set_tmp_rsa_callback;
250+ SSL_set_trust;
251+ SSL_set_verify;
252+ SSL_set_verify_depth;
253+ SSL_set_verify_result;
254+ SSL_set_wfd;
255+ SSL_shutdown;
256+ SSL_state;
257+ SSL_state_string;
258+ SSL_state_string_long;
259+ SSL_use_certificate;
260+ SSL_use_certificate_ASN1;
261+ SSL_use_certificate_file;
262+ SSL_use_PrivateKey;
263+ SSL_use_PrivateKey_ASN1;
264+ SSL_use_PrivateKey_file;
265+ SSL_use_psk_identity_hint;
266+ SSL_use_RSAPrivateKey;
267+ SSL_use_RSAPrivateKey_ASN1;
268+ SSL_use_RSAPrivateKey_file;
269+ SSLv23_client_method;
270+ SSLv23_method;
271+ SSLv23_server_method;
272+ SSLv2_client_method;
273+ SSLv2_method;
274+ SSLv2_server_method;
275+ SSLv3_client_method;
276+ SSLv3_method;
277+ SSLv3_server_method;
278+ SSL_version;
279+ SSL_want;
280+ SSL_write;
281+ TLSv1_client_method;
282+ TLSv1_method;
283+ TLSv1_server_method;
284+
285+
286+ SSLeay;
287+ SSLeay_version;
288+ ASN1_BIT_STRING_asn1_meth;
289+ ASN1_HEADER_free;
290+ ASN1_HEADER_new;
291+ ASN1_IA5STRING_asn1_meth;
292+ ASN1_INTEGER_get;
293+ ASN1_INTEGER_set;
294+ ASN1_INTEGER_to_BN;
295+ ASN1_OBJECT_create;
296+ ASN1_OBJECT_free;
297+ ASN1_OBJECT_new;
298+ ASN1_PRINTABLE_type;
299+ ASN1_STRING_cmp;
300+ ASN1_STRING_dup;
301+ ASN1_STRING_free;
302+ ASN1_STRING_new;
303+ ASN1_STRING_print;
304+ ASN1_STRING_set;
305+ ASN1_STRING_type_new;
306+ ASN1_TYPE_free;
307+ ASN1_TYPE_new;
308+ ASN1_UNIVERSALSTRING_to_string;
309+ ASN1_UTCTIME_check;
310+ ASN1_UTCTIME_print;
311+ ASN1_UTCTIME_set;
312+ ASN1_check_infinite_end;
313+ ASN1_d2i_bio;
314+ ASN1_d2i_fp;
315+ ASN1_digest;
316+ ASN1_dup;
317+ ASN1_get_object;
318+ ASN1_i2d_bio;
319+ ASN1_i2d_fp;
320+ ASN1_object_size;
321+ ASN1_parse;
322+ ASN1_put_object;
323+ ASN1_sign;
324+ ASN1_verify;
325+ BF_cbc_encrypt;
326+ BF_cfb64_encrypt;
327+ BF_ecb_encrypt;
328+ BF_encrypt;
329+ BF_ofb64_encrypt;
330+ BF_options;
331+ BF_set_key;
332+ BIO_CONNECT_free;
333+ BIO_CONNECT_new;
334+ BIO_accept;
335+ BIO_ctrl;
336+ BIO_int_ctrl;
337+ BIO_debug_callback;
338+ BIO_dump;
339+ BIO_dup_chain;
340+ BIO_f_base64;
341+ BIO_f_buffer;
342+ BIO_f_cipher;
343+ BIO_f_md;
344+ BIO_f_null;
345+ BIO_f_proxy_server;
346+ BIO_fd_non_fatal_error;
347+ BIO_fd_should_retry;
348+ BIO_find_type;
349+ BIO_free;
350+ BIO_free_all;
351+ BIO_get_accept_socket;
352+ BIO_get_filter_bio;
353+ BIO_get_host_ip;
354+ BIO_get_port;
355+ BIO_get_retry_BIO;
356+ BIO_get_retry_reason;
357+ BIO_gethostbyname;
358+ BIO_gets;
359+ BIO_new;
360+ BIO_new_accept;
361+ BIO_new_connect;
362+ BIO_new_fd;
363+ BIO_new_file;
364+ BIO_new_fp;
365+ BIO_new_socket;
366+ BIO_pop;
367+ BIO_printf;
368+ BIO_push;
369+ BIO_puts;
370+ BIO_read;
371+ BIO_s_accept;
372+ BIO_s_connect;
373+ BIO_s_fd;
374+ BIO_s_file;
375+ BIO_s_mem;
376+ BIO_s_null;
377+ BIO_s_proxy_client;
378+ BIO_s_socket;
379+ BIO_set;
380+ BIO_set_cipher;
381+ BIO_set_tcp_ndelay;
382+ BIO_sock_cleanup;
383+ BIO_sock_error;
384+ BIO_sock_init;
385+ BIO_sock_non_fatal_error;
386+ BIO_sock_should_retry;
387+ BIO_socket_ioctl;
388+ BIO_write;
389+ BN_CTX_free;
390+ BN_CTX_new;
391+ BN_MONT_CTX_free;
392+ BN_MONT_CTX_new;
393+ BN_MONT_CTX_set;
394+ BN_add;
395+ BN_add_word;
396+ BN_hex2bn;
397+ BN_bin2bn;
398+ BN_bn2hex;
399+ BN_bn2bin;
400+ BN_clear;
401+ BN_clear_bit;
402+ BN_clear_free;
403+ BN_cmp;
404+ BN_copy;
405+ BN_div;
406+ BN_div_word;
407+ BN_dup;
408+ BN_free;
409+ BN_from_montgomery;
410+ BN_gcd;
411+ BN_generate_prime;
412+ BN_get_word;
413+ BN_is_bit_set;
414+ BN_is_prime;
415+ BN_lshift;
416+ BN_lshift1;
417+ BN_mask_bits;
418+ BN_mod;
419+ BN_mod_exp;
420+ BN_mod_exp_mont;
421+ BN_mod_exp_simple;
422+ BN_mod_inverse;
423+ BN_mod_mul;
424+ BN_mod_mul_montgomery;
425+ BN_mod_word;
426+ BN_mul;
427+ BN_new;
428+ BN_num_bits;
429+ BN_num_bits_word;
430+ BN_options;
431+ BN_print;
432+ BN_print_fp;
433+ BN_rand;
434+ BN_reciprocal;
435+ BN_rshift;
436+ BN_rshift1;
437+ BN_set_bit;
438+ BN_set_word;
439+ BN_sqr;
440+ BN_sub;
441+ BN_to_ASN1_INTEGER;
442+ BN_ucmp;
443+ BN_value_one;
444+ BUF_MEM_free;
445+ BUF_MEM_grow;
446+ BUF_MEM_new;
447+ BUF_strdup;
448+ CONF_free;
449+ CONF_get_number;
450+ CONF_get_section;
451+ CONF_get_string;
452+ CONF_load;
453+ CRYPTO_add_lock;
454+ CRYPTO_dbg_free;
455+ CRYPTO_dbg_malloc;
456+ CRYPTO_dbg_realloc;
457+ CRYPTO_dbg_remalloc;
458+ CRYPTO_free;
459+ CRYPTO_get_add_lock_callback;
460+ CRYPTO_get_id_callback;
461+ CRYPTO_get_lock_name;
462+ CRYPTO_get_locking_callback;
463+ CRYPTO_get_mem_functions;
464+ CRYPTO_lock;
465+ CRYPTO_malloc;
466+ CRYPTO_mem_ctrl;
467+ CRYPTO_mem_leaks;
468+ CRYPTO_mem_leaks_cb;
469+ CRYPTO_mem_leaks_fp;
470+ CRYPTO_realloc;
471+ CRYPTO_remalloc;
472+ CRYPTO_set_add_lock_callback;
473+ CRYPTO_set_id_callback;
474+ CRYPTO_set_locking_callback;
475+ CRYPTO_set_mem_functions;
476+ CRYPTO_thread_id;
477+ DH_check;
478+ DH_compute_key;
479+ DH_free;
480+ DH_generate_key;
481+ DH_generate_parameters;
482+ DH_new;
483+ DH_size;
484+ DHparams_print;
485+ DHparams_print_fp;
486+ DSA_free;
487+ DSA_generate_key;
488+ DSA_generate_parameters;
489+ DSA_is_prime;
490+ DSA_new;
491+ DSA_print;
492+ DSA_print_fp;
493+ DSA_sign;
494+ DSA_sign_setup;
495+ DSA_size;
496+ DSA_verify;
497+ DSAparams_print;
498+ DSAparams_print_fp;
499+ ERR_clear_error;
500+ ERR_error_string;
501+ ERR_free_strings;
502+ ERR_func_error_string;
503+ ERR_get_err_state_table;
504+ ERR_get_error;
505+ ERR_get_error_line;
506+ ERR_get_state;
507+ ERR_get_string_table;
508+ ERR_lib_error_string;
509+ ERR_load_ASN1_strings;
510+ ERR_load_BIO_strings;
511+ ERR_load_BN_strings;
512+ ERR_load_BUF_strings;
513+ ERR_load_CONF_strings;
514+ ERR_load_DH_strings;
515+ ERR_load_DSA_strings;
516+ ERR_load_ERR_strings;
517+ ERR_load_EVP_strings;
518+ ERR_load_OBJ_strings;
519+ ERR_load_PEM_strings;
520+ ERR_load_PROXY_strings;
521+ ERR_load_RSA_strings;
522+ ERR_load_X509_strings;
523+ ERR_load_crypto_strings;
524+ ERR_load_strings;
525+ ERR_peek_error;
526+ ERR_peek_error_line;
527+ ERR_print_errors;
528+ ERR_print_errors_fp;
529+ ERR_put_error;
530+ ERR_reason_error_string;
531+ ERR_remove_state;
532+ EVP_BytesToKey;
533+ EVP_CIPHER_CTX_cleanup;
534+ EVP_CipherFinal;
535+ EVP_CipherInit;
536+ EVP_CipherUpdate;
537+ EVP_DecodeBlock;
538+ EVP_DecodeFinal;
539+ EVP_DecodeInit;
540+ EVP_DecodeUpdate;
541+ EVP_DecryptFinal;
542+ EVP_DecryptInit;
543+ EVP_DecryptUpdate;
544+ EVP_DigestFinal;
545+ EVP_DigestInit;
546+ EVP_DigestUpdate;
547+ EVP_EncodeBlock;
548+ EVP_EncodeFinal;
549+ EVP_EncodeInit;
550+ EVP_EncodeUpdate;
551+ EVP_EncryptFinal;
552+ EVP_EncryptInit;
553+ EVP_EncryptUpdate;
554+ EVP_OpenFinal;
555+ EVP_OpenInit;
556+ EVP_PKEY_assign;
557+ EVP_PKEY_copy_parameters;
558+ EVP_PKEY_free;
559+ EVP_PKEY_missing_parameters;
560+ EVP_PKEY_new;
561+ EVP_PKEY_save_parameters;
562+ EVP_PKEY_size;
563+ EVP_PKEY_type;
564+ EVP_SealFinal;
565+ EVP_SealInit;
566+ EVP_SignFinal;
567+ EVP_VerifyFinal;
568+ EVP_add_alias;
569+ EVP_add_cipher;
570+ EVP_add_digest;
571+ EVP_bf_cbc;
572+ EVP_bf_cfb64;
573+ EVP_bf_ecb;
574+ EVP_bf_ofb;
575+ EVP_cleanup;
576+ EVP_des_cbc;
577+ EVP_des_cfb64;
578+ EVP_des_ecb;
579+ EVP_des_ede;
580+ EVP_des_ede3;
581+ EVP_des_ede3_cbc;
582+ EVP_des_ede3_cfb64;
583+ EVP_des_ede3_ofb;
584+ EVP_des_ede_cbc;
585+ EVP_des_ede_cfb64;
586+ EVP_des_ede_ofb;
587+ EVP_des_ofb;
588+ EVP_desx_cbc;
589+ EVP_dss;
590+ EVP_dss1;
591+ EVP_enc_null;
592+ EVP_get_cipherbyname;
593+ EVP_get_digestbyname;
594+ EVP_get_pw_prompt;
595+ EVP_idea_cbc;
596+ EVP_idea_cfb64;
597+ EVP_idea_ecb;
598+ EVP_idea_ofb;
599+ EVP_md2;
600+ EVP_md5;
601+ EVP_md_null;
602+ EVP_rc2_cbc;
603+ EVP_rc2_cfb64;
604+ EVP_rc2_ecb;
605+ EVP_rc2_ofb;
606+ EVP_rc4;
607+ EVP_read_pw_string;
608+ EVP_set_pw_prompt;
609+ EVP_sha;
610+ EVP_sha1;
611+ MD2;
612+ MD2_Final;
613+ MD2_Init;
614+ MD2_Update;
615+ MD2_options;
616+ MD5;
617+ MD5_Final;
618+ MD5_Init;
619+ MD5_Update;
620+ MDC2;
621+ MDC2_Final;
622+ MDC2_Init;
623+ MDC2_Update;
624+ NETSCAPE_SPKAC_free;
625+ NETSCAPE_SPKAC_new;
626+ NETSCAPE_SPKI_free;
627+ NETSCAPE_SPKI_new;
628+ NETSCAPE_SPKI_sign;
629+ NETSCAPE_SPKI_verify;
630+ OBJ_add_object;
631+ OBJ_bsearch;
632+ OBJ_cleanup;
633+ OBJ_cmp;
634+ OBJ_create;
635+ OBJ_dup;
636+ OBJ_ln2nid;
637+ OBJ_new_nid;
638+ OBJ_nid2ln;
639+ OBJ_nid2obj;
640+ OBJ_nid2sn;
641+ OBJ_obj2nid;
642+ OBJ_sn2nid;
643+ OBJ_txt2nid;
644+ PEM_ASN1_read;
645+ PEM_ASN1_read_bio;
646+ PEM_ASN1_write;
647+ PEM_ASN1_write_bio;
648+ PEM_SealFinal;
649+ PEM_SealInit;
650+ PEM_SealUpdate;
651+ PEM_SignFinal;
652+ PEM_SignInit;
653+ PEM_SignUpdate;
654+ PEM_X509_INFO_read;
655+ PEM_X509_INFO_read_bio;
656+ PEM_X509_INFO_write_bio;
657+ PEM_dek_info;
658+ PEM_do_header;
659+ PEM_get_EVP_CIPHER_INFO;
660+ PEM_proc_type;
661+ PEM_read;
662+ PEM_read_DHparams;
663+ PEM_read_DSAPrivateKey;
664+ PEM_read_DSAparams;
665+ PEM_read_PKCS7;
666+ PEM_read_PrivateKey;
667+ PEM_read_RSAPrivateKey;
668+ PEM_read_X509;
669+ PEM_read_X509_CRL;
670+ PEM_read_X509_REQ;
671+ PEM_read_bio;
672+ PEM_read_bio_DHparams;
673+ PEM_read_bio_DSAPrivateKey;
674+ PEM_read_bio_DSAparams;
675+ PEM_read_bio_PKCS7;
676+ PEM_read_bio_PrivateKey;
677+ PEM_read_bio_RSAPrivateKey;
678+ PEM_read_bio_X509;
679+ PEM_read_bio_X509_CRL;
680+ PEM_read_bio_X509_REQ;
681+ PEM_write;
682+ PEM_write_DHparams;
683+ PEM_write_DSAPrivateKey;
684+ PEM_write_DSAparams;
685+ PEM_write_PKCS7;
686+ PEM_write_PrivateKey;
687+ PEM_write_RSAPrivateKey;
688+ PEM_write_X509;
689+ PEM_write_X509_CRL;
690+ PEM_write_X509_REQ;
691+ PEM_write_bio;
692+ PEM_write_bio_DHparams;
693+ PEM_write_bio_DSAPrivateKey;
694+ PEM_write_bio_DSAparams;
695+ PEM_write_bio_PKCS7;
696+ PEM_write_bio_PrivateKey;
697+ PEM_write_bio_RSAPrivateKey;
698+ PEM_write_bio_X509;
699+ PEM_write_bio_X509_CRL;
700+ PEM_write_bio_X509_REQ;
701+ PKCS7_DIGEST_free;
702+ PKCS7_DIGEST_new;
703+ PKCS7_ENCRYPT_free;
704+ PKCS7_ENCRYPT_new;
705+ PKCS7_ENC_CONTENT_free;
706+ PKCS7_ENC_CONTENT_new;
707+ PKCS7_ENVELOPE_free;
708+ PKCS7_ENVELOPE_new;
709+ PKCS7_ISSUER_AND_SERIAL_digest;
710+ PKCS7_ISSUER_AND_SERIAL_free;
711+ PKCS7_ISSUER_AND_SERIAL_new;
712+ PKCS7_RECIP_INFO_free;
713+ PKCS7_RECIP_INFO_new;
714+ PKCS7_SIGNED_free;
715+ PKCS7_SIGNED_new;
716+ PKCS7_SIGNER_INFO_free;
717+ PKCS7_SIGNER_INFO_new;
718+ PKCS7_SIGN_ENVELOPE_free;
719+ PKCS7_SIGN_ENVELOPE_new;
720+ PKCS7_dup;
721+ PKCS7_free;
722+ PKCS7_new;
723+ PROXY_ENTRY_add_noproxy;
724+ PROXY_ENTRY_clear_noproxy;
725+ PROXY_ENTRY_free;
726+ PROXY_ENTRY_get_noproxy;
727+ PROXY_ENTRY_new;
728+ PROXY_ENTRY_set_server;
729+ PROXY_add_noproxy;
730+ PROXY_add_server;
731+ PROXY_check_by_host;
732+ PROXY_check_url;
733+ PROXY_clear_noproxy;
734+ PROXY_free;
735+ PROXY_get_noproxy;
736+ PROXY_get_proxies;
737+ PROXY_get_proxy_entry;
738+ PROXY_load_conf;
739+ PROXY_new;
740+ PROXY_print;
741+ RAND_bytes;
742+ RAND_cleanup;
743+ RAND_file_name;
744+ RAND_load_file;
745+ RAND_screen;
746+ RAND_seed;
747+ RAND_write_file;
748+ RC2_cbc_encrypt;
749+ RC2_cfb64_encrypt;
750+ RC2_ecb_encrypt;
751+ RC2_encrypt;
752+ RC2_ofb64_encrypt;
753+ RC2_set_key;
754+ RC4;
755+ RC4_options;
756+ RC4_set_key;
757+ RSAPrivateKey_asn1_meth;
758+ RSAPrivateKey_dup;
759+ RSAPublicKey_dup;
760+ RSA_PKCS1_SSLeay;
761+ RSA_free;
762+ RSA_generate_key;
763+ RSA_new;
764+ RSA_new_method;
765+ RSA_print;
766+ RSA_print_fp;
767+ RSA_private_decrypt;
768+ RSA_private_encrypt;
769+ RSA_public_decrypt;
770+ RSA_public_encrypt;
771+ RSA_set_default_method;
772+ RSA_sign;
773+ RSA_sign_ASN1_OCTET_STRING;
774+ RSA_size;
775+ RSA_verify;
776+ RSA_verify_ASN1_OCTET_STRING;
777+ SHA;
778+ SHA1;
779+ SHA1_Final;
780+ SHA1_Init;
781+ SHA1_Update;
782+ SHA_Final;
783+ SHA_Init;
784+ SHA_Update;
785+ OpenSSL_add_all_algorithms;
786+ OpenSSL_add_all_ciphers;
787+ OpenSSL_add_all_digests;
788+ TXT_DB_create_index;
789+ TXT_DB_free;
790+ TXT_DB_get_by_index;
791+ TXT_DB_insert;
792+ TXT_DB_read;
793+ TXT_DB_write;
794+ X509_ALGOR_free;
795+ X509_ALGOR_new;
796+ X509_ATTRIBUTE_free;
797+ X509_ATTRIBUTE_new;
798+ X509_CINF_free;
799+ X509_CINF_new;
800+ X509_CRL_INFO_free;
801+ X509_CRL_INFO_new;
802+ X509_CRL_add_ext;
803+ X509_CRL_cmp;
804+ X509_CRL_delete_ext;
805+ X509_CRL_dup;
806+ X509_CRL_free;
807+ X509_CRL_get_ext;
808+ X509_CRL_get_ext_by_NID;
809+ X509_CRL_get_ext_by_OBJ;
810+ X509_CRL_get_ext_by_critical;
811+ X509_CRL_get_ext_count;
812+ X509_CRL_new;
813+ X509_CRL_sign;
814+ X509_CRL_verify;
815+ X509_EXTENSION_create_by_NID;
816+ X509_EXTENSION_create_by_OBJ;
817+ X509_EXTENSION_dup;
818+ X509_EXTENSION_free;
819+ X509_EXTENSION_get_critical;
820+ X509_EXTENSION_get_data;
821+ X509_EXTENSION_get_object;
822+ X509_EXTENSION_new;
823+ X509_EXTENSION_set_critical;
824+ X509_EXTENSION_set_data;
825+ X509_EXTENSION_set_object;
826+ X509_INFO_free;
827+ X509_INFO_new;
828+ X509_LOOKUP_by_alias;
829+ X509_LOOKUP_by_fingerprint;
830+ X509_LOOKUP_by_issuer_serial;
831+ X509_LOOKUP_by_subject;
832+ X509_LOOKUP_ctrl;
833+ X509_LOOKUP_file;
834+ X509_LOOKUP_free;
835+ X509_LOOKUP_hash_dir;
836+ X509_LOOKUP_init;
837+ X509_LOOKUP_new;
838+ X509_LOOKUP_shutdown;
839+ X509_NAME_ENTRY_create_by_NID;
840+ X509_NAME_ENTRY_create_by_OBJ;
841+ X509_NAME_ENTRY_dup;
842+ X509_NAME_ENTRY_free;
843+ X509_NAME_ENTRY_get_data;
844+ X509_NAME_ENTRY_get_object;
845+ X509_NAME_ENTRY_new;
846+ X509_NAME_ENTRY_set_data;
847+ X509_NAME_ENTRY_set_object;
848+ X509_NAME_add_entry;
849+ X509_NAME_cmp;
850+ X509_NAME_delete_entry;
851+ X509_NAME_digest;
852+ X509_NAME_dup;
853+ X509_NAME_entry_count;
854+ X509_NAME_free;
855+ X509_NAME_get_entry;
856+ X509_NAME_get_index_by_NID;
857+ X509_NAME_get_index_by_OBJ;
858+ X509_NAME_get_text_by_NID;
859+ X509_NAME_get_text_by_OBJ;
860+ X509_NAME_hash;
861+ X509_NAME_new;
862+ X509_NAME_oneline;
863+ X509_NAME_print;
864+ X509_NAME_set;
865+ X509_OBJECT_free_contents;
866+ X509_OBJECT_retrieve_by_subject;
867+ X509_OBJECT_up_ref_count;
868+ X509_PKEY_free;
869+ X509_PKEY_new;
870+ X509_PUBKEY_free;
871+ X509_PUBKEY_get;
872+ X509_PUBKEY_new;
873+ X509_PUBKEY_set;
874+ X509_REQ_INFO_free;
875+ X509_REQ_INFO_new;
876+ X509_REQ_dup;
877+ X509_REQ_free;
878+ X509_REQ_get_pubkey;
879+ X509_REQ_new;
880+ X509_REQ_print;
881+ X509_REQ_print_fp;
882+ X509_REQ_set_pubkey;
883+ X509_REQ_set_subject_name;
884+ X509_REQ_set_version;
885+ X509_REQ_sign;
886+ X509_REQ_to_X509;
887+ X509_REQ_verify;
888+ X509_REVOKED_add_ext;
889+ X509_REVOKED_delete_ext;
890+ X509_REVOKED_free;
891+ X509_REVOKED_get_ext;
892+ X509_REVOKED_get_ext_by_NID;
893+ X509_REVOKED_get_ext_by_OBJ;
894+ X509_REVOKED_get_ext_by_critical;
895+ X509_REVOKED_get_ext_by_critic;
896+ X509_REVOKED_get_ext_count;
897+ X509_REVOKED_new;
898+ X509_SIG_free;
899+ X509_SIG_new;
900+ X509_STORE_CTX_cleanup;
901+ X509_STORE_CTX_init;
902+ X509_STORE_add_cert;
903+ X509_STORE_add_lookup;
904+ X509_STORE_free;
905+ X509_STORE_get_by_subject;
906+ X509_STORE_load_locations;
907+ X509_STORE_new;
908+ X509_STORE_set_default_paths;
909+ X509_VAL_free;
910+ X509_VAL_new;
911+ X509_add_ext;
912+ X509_asn1_meth;
913+ X509_certificate_type;
914+ X509_check_private_key;
915+ X509_cmp_current_time;
916+ X509_delete_ext;
917+ X509_digest;
918+ X509_dup;
919+ X509_free;
920+ X509_get_default_cert_area;
921+ X509_get_default_cert_dir;
922+ X509_get_default_cert_dir_env;
923+ X509_get_default_cert_file;
924+ X509_get_default_cert_file_env;
925+ X509_get_default_private_dir;
926+ X509_get_ext;
927+ X509_get_ext_by_NID;
928+ X509_get_ext_by_OBJ;
929+ X509_get_ext_by_critical;
930+ X509_get_ext_count;
931+ X509_get_issuer_name;
932+ X509_get_pubkey;
933+ X509_get_pubkey_parameters;
934+ X509_get_serialNumber;
935+ X509_get_subject_name;
936+ X509_gmtime_adj;
937+ X509_issuer_and_serial_cmp;
938+ X509_issuer_and_serial_hash;
939+ X509_issuer_name_cmp;
940+ X509_issuer_name_hash;
941+ X509_load_cert_file;
942+ X509_new;
943+ X509_print;
944+ X509_print_fp;
945+ X509_set_issuer_name;
946+ X509_set_notAfter;
947+ X509_set_notBefore;
948+ X509_set_pubkey;
949+ X509_set_serialNumber;
950+ X509_set_subject_name;
951+ X509_set_version;
952+ X509_sign;
953+ X509_subject_name_cmp;
954+ X509_subject_name_hash;
955+ X509_to_X509_REQ;
956+ X509_verify;
957+ X509_verify_cert;
958+ X509_verify_cert_error_string;
959+ X509v3_add_ext;
960+ X509v3_add_extension;
961+ X509v3_add_netscape_extensions;
962+ X509v3_add_standard_extensions;
963+ X509v3_cleanup_extensions;
964+ X509v3_data_type_by_NID;
965+ X509v3_data_type_by_OBJ;
966+ X509v3_delete_ext;
967+ X509v3_get_ext;
968+ X509v3_get_ext_by_NID;
969+ X509v3_get_ext_by_OBJ;
970+ X509v3_get_ext_by_critical;
971+ X509v3_get_ext_count;
972+ X509v3_pack_string;
973+ X509v3_pack_type_by_NID;
974+ X509v3_pack_type_by_OBJ;
975+ X509v3_unpack_string;
976+ _des_crypt;
977+ a2d_ASN1_OBJECT;
978+ a2i_ASN1_INTEGER;
979+ a2i_ASN1_STRING;
980+ asn1_Finish;
981+ asn1_GetSequence;
982+ bn_div_words;
983+ bn_expand2;
984+ bn_mul_add_words;
985+ bn_mul_words;
986+ BN_uadd;
987+ BN_usub;
988+ bn_sqr_words;
989+ _ossl_old_crypt;
990+ d2i_ASN1_BIT_STRING;
991+ d2i_ASN1_BOOLEAN;
992+ d2i_ASN1_HEADER;
993+ d2i_ASN1_IA5STRING;
994+ d2i_ASN1_INTEGER;
995+ d2i_ASN1_OBJECT;
996+ d2i_ASN1_OCTET_STRING;
997+ d2i_ASN1_PRINTABLE;
998+ d2i_ASN1_PRINTABLESTRING;
999+ d2i_ASN1_SET;
1000+ d2i_ASN1_T61STRING;
1001+ d2i_ASN1_TYPE;
1002+ d2i_ASN1_UTCTIME;
1003+ d2i_ASN1_bytes;
1004+ d2i_ASN1_type_bytes;
1005+ d2i_DHparams;
1006+ d2i_DSAPrivateKey;
1007+ d2i_DSAPrivateKey_bio;
1008+ d2i_DSAPrivateKey_fp;
1009+ d2i_DSAPublicKey;
1010+ d2i_DSAparams;
1011+ d2i_NETSCAPE_SPKAC;
1012+ d2i_NETSCAPE_SPKI;
1013+ d2i_Netscape_RSA;
1014+ d2i_PKCS7;
1015+ d2i_PKCS7_DIGEST;
1016+ d2i_PKCS7_ENCRYPT;
1017+ d2i_PKCS7_ENC_CONTENT;
1018+ d2i_PKCS7_ENVELOPE;
1019+ d2i_PKCS7_ISSUER_AND_SERIAL;
1020+ d2i_PKCS7_RECIP_INFO;
1021+ d2i_PKCS7_SIGNED;
1022+ d2i_PKCS7_SIGNER_INFO;
1023+ d2i_PKCS7_SIGN_ENVELOPE;
1024+ d2i_PKCS7_bio;
1025+ d2i_PKCS7_fp;
1026+ d2i_PrivateKey;
1027+ d2i_PublicKey;
1028+ d2i_RSAPrivateKey;
1029+ d2i_RSAPrivateKey_bio;
1030+ d2i_RSAPrivateKey_fp;
1031+ d2i_RSAPublicKey;
1032+ d2i_X509;
1033+ d2i_X509_ALGOR;
1034+ d2i_X509_ATTRIBUTE;
1035+ d2i_X509_CINF;
1036+ d2i_X509_CRL;
1037+ d2i_X509_CRL_INFO;
1038+ d2i_X509_CRL_bio;
1039+ d2i_X509_CRL_fp;
1040+ d2i_X509_EXTENSION;
1041+ d2i_X509_NAME;
1042+ d2i_X509_NAME_ENTRY;
1043+ d2i_X509_PKEY;
1044+ d2i_X509_PUBKEY;
1045+ d2i_X509_REQ;
1046+ d2i_X509_REQ_INFO;
1047+ d2i_X509_REQ_bio;
1048+ d2i_X509_REQ_fp;
1049+ d2i_X509_REVOKED;
1050+ d2i_X509_SIG;
1051+ d2i_X509_VAL;
1052+ d2i_X509_bio;
1053+ d2i_X509_fp;
1054+ DES_cbc_cksum;
1055+ DES_cbc_encrypt;
1056+ DES_cblock_print_file;
1057+ DES_cfb64_encrypt;
1058+ DES_cfb_encrypt;
1059+ DES_decrypt3;
1060+ DES_ecb3_encrypt;
1061+ DES_ecb_encrypt;
1062+ DES_ede3_cbc_encrypt;
1063+ DES_ede3_cfb64_encrypt;
1064+ DES_ede3_ofb64_encrypt;
1065+ DES_enc_read;
1066+ DES_enc_write;
1067+ DES_encrypt1;
1068+ DES_encrypt2;
1069+ DES_encrypt3;
1070+ DES_fcrypt;
1071+ DES_is_weak_key;
1072+ DES_key_sched;
1073+ DES_ncbc_encrypt;
1074+ DES_ofb64_encrypt;
1075+ DES_ofb_encrypt;
1076+ DES_options;
1077+ DES_pcbc_encrypt;
1078+ DES_quad_cksum;
1079+ DES_random_key;
1080+ _ossl_old_des_random_seed;
1081+ _ossl_old_des_read_2passwords;
1082+ _ossl_old_des_read_password;
1083+ _ossl_old_des_read_pw;
1084+ _ossl_old_des_read_pw_string;
1085+ DES_set_key;
1086+ DES_set_odd_parity;
1087+ DES_string_to_2keys;
1088+ DES_string_to_key;
1089+ DES_xcbc_encrypt;
1090+ DES_xwhite_in2out;
1091+ fcrypt_body;
1092+ i2a_ASN1_INTEGER;
1093+ i2a_ASN1_OBJECT;
1094+ i2a_ASN1_STRING;
1095+ i2d_ASN1_BIT_STRING;
1096+ i2d_ASN1_BOOLEAN;
1097+ i2d_ASN1_HEADER;
1098+ i2d_ASN1_IA5STRING;
1099+ i2d_ASN1_INTEGER;
1100+ i2d_ASN1_OBJECT;
1101+ i2d_ASN1_OCTET_STRING;
1102+ i2d_ASN1_PRINTABLE;
1103+ i2d_ASN1_SET;
1104+ i2d_ASN1_TYPE;
1105+ i2d_ASN1_UTCTIME;
1106+ i2d_ASN1_bytes;
1107+ i2d_DHparams;
1108+ i2d_DSAPrivateKey;
1109+ i2d_DSAPrivateKey_bio;
1110+ i2d_DSAPrivateKey_fp;
1111+ i2d_DSAPublicKey;
1112+ i2d_DSAparams;
1113+ i2d_NETSCAPE_SPKAC;
1114+ i2d_NETSCAPE_SPKI;
1115+ i2d_Netscape_RSA;
1116+ i2d_PKCS7;
1117+ i2d_PKCS7_DIGEST;
1118+ i2d_PKCS7_ENCRYPT;
1119+ i2d_PKCS7_ENC_CONTENT;
1120+ i2d_PKCS7_ENVELOPE;
1121+ i2d_PKCS7_ISSUER_AND_SERIAL;
1122+ i2d_PKCS7_RECIP_INFO;
1123+ i2d_PKCS7_SIGNED;
1124+ i2d_PKCS7_SIGNER_INFO;
1125+ i2d_PKCS7_SIGN_ENVELOPE;
1126+ i2d_PKCS7_bio;
1127+ i2d_PKCS7_fp;
1128+ i2d_PrivateKey;
1129+ i2d_PublicKey;
1130+ i2d_RSAPrivateKey;
1131+ i2d_RSAPrivateKey_bio;
1132+ i2d_RSAPrivateKey_fp;
1133+ i2d_RSAPublicKey;
1134+ i2d_X509;
1135+ i2d_X509_ALGOR;
1136+ i2d_X509_ATTRIBUTE;
1137+ i2d_X509_CINF;
1138+ i2d_X509_CRL;
1139+ i2d_X509_CRL_INFO;
1140+ i2d_X509_CRL_bio;
1141+ i2d_X509_CRL_fp;
1142+ i2d_X509_EXTENSION;
1143+ i2d_X509_NAME;
1144+ i2d_X509_NAME_ENTRY;
1145+ i2d_X509_PKEY;
1146+ i2d_X509_PUBKEY;
1147+ i2d_X509_REQ;
1148+ i2d_X509_REQ_INFO;
1149+ i2d_X509_REQ_bio;
1150+ i2d_X509_REQ_fp;
1151+ i2d_X509_REVOKED;
1152+ i2d_X509_SIG;
1153+ i2d_X509_VAL;
1154+ i2d_X509_bio;
1155+ i2d_X509_fp;
1156+ idea_cbc_encrypt;
1157+ idea_cfb64_encrypt;
1158+ idea_ecb_encrypt;
1159+ idea_encrypt;
1160+ idea_ofb64_encrypt;
1161+ idea_options;
1162+ idea_set_decrypt_key;
1163+ idea_set_encrypt_key;
1164+ lh_delete;
1165+ lh_doall;
1166+ lh_doall_arg;
1167+ lh_free;
1168+ lh_insert;
1169+ lh_new;
1170+ lh_node_stats;
1171+ lh_node_stats_bio;
1172+ lh_node_usage_stats;
1173+ lh_node_usage_stats_bio;
1174+ lh_retrieve;
1175+ lh_stats;
1176+ lh_stats_bio;
1177+ lh_strhash;
1178+ sk_delete;
1179+ sk_delete_ptr;
1180+ sk_dup;
1181+ sk_find;
1182+ sk_free;
1183+ sk_insert;
1184+ sk_new;
1185+ sk_pop;
1186+ sk_pop_free;
1187+ sk_push;
1188+ sk_set_cmp_func;
1189+ sk_shift;
1190+ sk_unshift;
1191+ sk_zero;
1192+ BIO_f_nbio_test;
1193+ ASN1_TYPE_get;
1194+ ASN1_TYPE_set;
1195+ PKCS7_content_free;
1196+ ERR_load_PKCS7_strings;
1197+ X509_find_by_issuer_and_serial;
1198+ X509_find_by_subject;
1199+ PKCS7_ctrl;
1200+ PKCS7_set_type;
1201+ PKCS7_set_content;
1202+ PKCS7_SIGNER_INFO_set;
1203+ PKCS7_add_signer;
1204+ PKCS7_add_certificate;
1205+ PKCS7_add_crl;
1206+ PKCS7_content_new;
1207+ PKCS7_dataSign;
1208+ PKCS7_dataVerify;
1209+ PKCS7_dataInit;
1210+ PKCS7_add_signature;
1211+ PKCS7_cert_from_signer_info;
1212+ PKCS7_get_signer_info;
1213+ EVP_delete_alias;
1214+ EVP_mdc2;
1215+ PEM_read_bio_RSAPublicKey;
1216+ PEM_write_bio_RSAPublicKey;
1217+ d2i_RSAPublicKey_bio;
1218+ i2d_RSAPublicKey_bio;
1219+ PEM_read_RSAPublicKey;
1220+ PEM_write_RSAPublicKey;
1221+ d2i_RSAPublicKey_fp;
1222+ i2d_RSAPublicKey_fp;
1223+ BIO_copy_next_retry;
1224+ RSA_flags;
1225+ X509_STORE_add_crl;
1226+ X509_load_crl_file;
1227+ EVP_rc2_40_cbc;
1228+ EVP_rc4_40;
1229+ EVP_CIPHER_CTX_init;
1230+ HMAC;
1231+ HMAC_Init;
1232+ HMAC_Update;
1233+ HMAC_Final;
1234+ ERR_get_next_error_library;
1235+ EVP_PKEY_cmp_parameters;
1236+ HMAC_cleanup;
1237+ BIO_ptr_ctrl;
1238+ BIO_new_file_internal;
1239+ BIO_new_fp_internal;
1240+ BIO_s_file_internal;
1241+ BN_BLINDING_convert;
1242+ BN_BLINDING_invert;
1243+ BN_BLINDING_update;
1244+ RSA_blinding_on;
1245+ RSA_blinding_off;
1246+ i2t_ASN1_OBJECT;
1247+ BN_BLINDING_new;
1248+ BN_BLINDING_free;
1249+ EVP_cast5_cbc;
1250+ EVP_cast5_cfb64;
1251+ EVP_cast5_ecb;
1252+ EVP_cast5_ofb;
1253+ BF_decrypt;
1254+ CAST_set_key;
1255+ CAST_encrypt;
1256+ CAST_decrypt;
1257+ CAST_ecb_encrypt;
1258+ CAST_cbc_encrypt;
1259+ CAST_cfb64_encrypt;
1260+ CAST_ofb64_encrypt;
1261+ RC2_decrypt;
1262+ OBJ_create_objects;
1263+ BN_exp;
1264+ BN_mul_word;
1265+ BN_sub_word;
1266+ BN_dec2bn;
1267+ BN_bn2dec;
1268+ BIO_ghbn_ctrl;
1269+ CRYPTO_free_ex_data;
1270+ CRYPTO_get_ex_data;
1271+ CRYPTO_set_ex_data;
1272+ ERR_load_CRYPTO_strings;
1273+ ERR_load_CRYPTOlib_strings;
1274+ EVP_PKEY_bits;
1275+ MD5_Transform;
1276+ SHA1_Transform;
1277+ SHA_Transform;
1278+ X509_STORE_CTX_get_chain;
1279+ X509_STORE_CTX_get_current_cert;
1280+ X509_STORE_CTX_get_error;
1281+ X509_STORE_CTX_get_error_depth;
1282+ X509_STORE_CTX_get_ex_data;
1283+ X509_STORE_CTX_set_cert;
1284+ X509_STORE_CTX_set_chain;
1285+ X509_STORE_CTX_set_error;
1286+ X509_STORE_CTX_set_ex_data;
1287+ CRYPTO_dup_ex_data;
1288+ CRYPTO_get_new_lockid;
1289+ CRYPTO_new_ex_data;
1290+ RSA_set_ex_data;
1291+ RSA_get_ex_data;
1292+ RSA_get_ex_new_index;
1293+ RSA_padding_add_PKCS1_type_1;
1294+ RSA_padding_add_PKCS1_type_2;
1295+ RSA_padding_add_SSLv23;
1296+ RSA_padding_add_none;
1297+ RSA_padding_check_PKCS1_type_1;
1298+ RSA_padding_check_PKCS1_type_2;
1299+ RSA_padding_check_SSLv23;
1300+ RSA_padding_check_none;
1301+ bn_add_words;
1302+ d2i_Netscape_RSA_2;
1303+ CRYPTO_get_ex_new_index;
1304+ RIPEMD160_Init;
1305+ RIPEMD160_Update;
1306+ RIPEMD160_Final;
1307+ RIPEMD160;
1308+ RIPEMD160_Transform;
1309+ RC5_32_set_key;
1310+ RC5_32_ecb_encrypt;
1311+ RC5_32_encrypt;
1312+ RC5_32_decrypt;
1313+ RC5_32_cbc_encrypt;
1314+ RC5_32_cfb64_encrypt;
1315+ RC5_32_ofb64_encrypt;
1316+ BN_bn2mpi;
1317+ BN_mpi2bn;
1318+ ASN1_BIT_STRING_get_bit;
1319+ ASN1_BIT_STRING_set_bit;
1320+ BIO_get_ex_data;
1321+ BIO_get_ex_new_index;
1322+ BIO_set_ex_data;
1323+ X509v3_get_key_usage;
1324+ X509v3_set_key_usage;
1325+ a2i_X509v3_key_usage;
1326+ i2a_X509v3_key_usage;
1327+ EVP_PKEY_decrypt;
1328+ EVP_PKEY_encrypt;
1329+ PKCS7_RECIP_INFO_set;
1330+ PKCS7_add_recipient;
1331+ PKCS7_add_recipient_info;
1332+ PKCS7_set_cipher;
1333+ ASN1_TYPE_get_int_octetstring;
1334+ ASN1_TYPE_get_octetstring;
1335+ ASN1_TYPE_set_int_octetstring;
1336+ ASN1_TYPE_set_octetstring;
1337+ ASN1_UTCTIME_set_string;
1338+ ERR_add_error_data;
1339+ ERR_set_error_data;
1340+ EVP_CIPHER_asn1_to_param;
1341+ EVP_CIPHER_param_to_asn1;
1342+ EVP_CIPHER_get_asn1_iv;
1343+ EVP_CIPHER_set_asn1_iv;
1344+ EVP_rc5_32_12_16_cbc;
1345+ EVP_rc5_32_12_16_cfb64;
1346+ EVP_rc5_32_12_16_ecb;
1347+ EVP_rc5_32_12_16_ofb;
1348+ asn1_add_error;
1349+ d2i_ASN1_BMPSTRING;
1350+ i2d_ASN1_BMPSTRING;
1351+ BIO_f_ber;
1352+ BN_init;
1353+ COMP_CTX_new;
1354+ COMP_CTX_free;
1355+ COMP_CTX_compress_block;
1356+ COMP_CTX_expand_block;
1357+ X509_STORE_CTX_get_ex_new_index;
1358+ OBJ_NAME_add;
1359+ BIO_socket_nbio;
1360+ EVP_rc2_64_cbc;
1361+ OBJ_NAME_cleanup;
1362+ OBJ_NAME_get;
1363+ OBJ_NAME_init;
1364+ OBJ_NAME_new_index;
1365+ OBJ_NAME_remove;
1366+ BN_MONT_CTX_copy;
1367+ BIO_new_socks4a_connect;
1368+ BIO_s_socks4a_connect;
1369+ PROXY_set_connect_mode;
1370+ RAND_SSLeay;
1371+ RAND_set_rand_method;
1372+ RSA_memory_lock;
1373+ bn_sub_words;
1374+ bn_mul_normal;
1375+ bn_mul_comba8;
1376+ bn_mul_comba4;
1377+ bn_sqr_normal;
1378+ bn_sqr_comba8;
1379+ bn_sqr_comba4;
1380+ bn_cmp_words;
1381+ bn_mul_recursive;
1382+ bn_mul_part_recursive;
1383+ bn_sqr_recursive;
1384+ bn_mul_low_normal;
1385+ BN_RECP_CTX_init;
1386+ BN_RECP_CTX_new;
1387+ BN_RECP_CTX_free;
1388+ BN_RECP_CTX_set;
1389+ BN_mod_mul_reciprocal;
1390+ BN_mod_exp_recp;
1391+ BN_div_recp;
1392+ BN_CTX_init;
1393+ BN_MONT_CTX_init;
1394+ RAND_get_rand_method;
1395+ PKCS7_add_attribute;
1396+ PKCS7_add_signed_attribute;
1397+ PKCS7_digest_from_attributes;
1398+ PKCS7_get_attribute;
1399+ PKCS7_get_issuer_and_serial;
1400+ PKCS7_get_signed_attribute;
1401+ COMP_compress_block;
1402+ COMP_expand_block;
1403+ COMP_rle;
1404+ COMP_zlib;
1405+ ms_time_diff;
1406+ ms_time_new;
1407+ ms_time_free;
1408+ ms_time_cmp;
1409+ ms_time_get;
1410+ PKCS7_set_attributes;
1411+ PKCS7_set_signed_attributes;
1412+ X509_ATTRIBUTE_create;
1413+ X509_ATTRIBUTE_dup;
1414+ ASN1_GENERALIZEDTIME_check;
1415+ ASN1_GENERALIZEDTIME_print;
1416+ ASN1_GENERALIZEDTIME_set;
1417+ ASN1_GENERALIZEDTIME_set_string;
1418+ ASN1_TIME_print;
1419+ BASIC_CONSTRAINTS_free;
1420+ BASIC_CONSTRAINTS_new;
1421+ ERR_load_X509V3_strings;
1422+ NETSCAPE_CERT_SEQUENCE_free;
1423+ NETSCAPE_CERT_SEQUENCE_new;
1424+ OBJ_txt2obj;
1425+ PEM_read_NETSCAPE_CERT_SEQUENCE;
1426+ PEM_read_NS_CERT_SEQ;
1427+ PEM_read_bio_NETSCAPE_CERT_SEQUENCE;
1428+ PEM_read_bio_NS_CERT_SEQ;
1429+ PEM_write_NETSCAPE_CERT_SEQUENCE;
1430+ PEM_write_NS_CERT_SEQ;
1431+ PEM_write_bio_NETSCAPE_CERT_SEQUENCE;
1432+ PEM_write_bio_NS_CERT_SEQ;
1433+ X509V3_EXT_add;
1434+ X509V3_EXT_add_alias;
1435+ X509V3_EXT_add_conf;
1436+ X509V3_EXT_cleanup;
1437+ X509V3_EXT_conf;
1438+ X509V3_EXT_conf_nid;
1439+ X509V3_EXT_get;
1440+ X509V3_EXT_get_nid;
1441+ X509V3_EXT_print;
1442+ X509V3_EXT_print_fp;
1443+ X509V3_add_standard_extensions;
1444+ X509V3_add_value;
1445+ X509V3_add_value_bool;
1446+ X509V3_add_value_int;
1447+ X509V3_conf_free;
1448+ X509V3_get_value_bool;
1449+ X509V3_get_value_int;
1450+ X509V3_parse_list;
1451+ d2i_ASN1_GENERALIZEDTIME;
1452+ d2i_ASN1_TIME;
1453+ d2i_BASIC_CONSTRAINTS;
1454+ d2i_NETSCAPE_CERT_SEQUENCE;
1455+ d2i_ext_ku;
1456+ ext_ku_free;
1457+ ext_ku_new;
1458+ i2d_ASN1_GENERALIZEDTIME;
1459+ i2d_ASN1_TIME;
1460+ i2d_BASIC_CONSTRAINTS;
1461+ i2d_NETSCAPE_CERT_SEQUENCE;
1462+ i2d_ext_ku;
1463+ EVP_MD_CTX_copy;
1464+ i2d_ASN1_ENUMERATED;
1465+ d2i_ASN1_ENUMERATED;
1466+ ASN1_ENUMERATED_set;
1467+ ASN1_ENUMERATED_get;
1468+ BN_to_ASN1_ENUMERATED;
1469+ ASN1_ENUMERATED_to_BN;
1470+ i2a_ASN1_ENUMERATED;
1471+ a2i_ASN1_ENUMERATED;
1472+ i2d_GENERAL_NAME;
1473+ d2i_GENERAL_NAME;
1474+ GENERAL_NAME_new;
1475+ GENERAL_NAME_free;
1476+ GENERAL_NAMES_new;
1477+ GENERAL_NAMES_free;
1478+ d2i_GENERAL_NAMES;
1479+ i2d_GENERAL_NAMES;
1480+ i2v_GENERAL_NAMES;
1481+ i2s_ASN1_OCTET_STRING;
1482+ s2i_ASN1_OCTET_STRING;
1483+ X509V3_EXT_check_conf;
1484+ hex_to_string;
1485+ string_to_hex;
1486+ DES_ede3_cbcm_encrypt;
1487+ RSA_padding_add_PKCS1_OAEP;
1488+ RSA_padding_check_PKCS1_OAEP;
1489+ X509_CRL_print_fp;
1490+ X509_CRL_print;
1491+ i2v_GENERAL_NAME;
1492+ v2i_GENERAL_NAME;
1493+ i2d_PKEY_USAGE_PERIOD;
1494+ d2i_PKEY_USAGE_PERIOD;
1495+ PKEY_USAGE_PERIOD_new;
1496+ PKEY_USAGE_PERIOD_free;
1497+ v2i_GENERAL_NAMES;
1498+ i2s_ASN1_INTEGER;
1499+ X509V3_EXT_d2i;
1500+ name_cmp;
1501+ str_dup;
1502+ i2s_ASN1_ENUMERATED;
1503+ i2s_ASN1_ENUMERATED_TABLE;
1504+ BIO_s_log;
1505+ BIO_f_reliable;
1506+ PKCS7_dataFinal;
1507+ PKCS7_dataDecode;
1508+ X509V3_EXT_CRL_add_conf;
1509+ BN_set_params;
1510+ BN_get_params;
1511+ BIO_get_ex_num;
1512+ BIO_set_ex_free_func;
1513+ EVP_ripemd160;
1514+ ASN1_TIME_set;
1515+ i2d_AUTHORITY_KEYID;
1516+ d2i_AUTHORITY_KEYID;
1517+ AUTHORITY_KEYID_new;
1518+ AUTHORITY_KEYID_free;
1519+ ASN1_seq_unpack;
1520+ ASN1_seq_pack;
1521+ ASN1_unpack_string;
1522+ ASN1_pack_string;
1523+ PKCS12_pack_safebag;
1524+ PKCS12_MAKE_KEYBAG;
1525+ PKCS8_encrypt;
1526+ PKCS12_MAKE_SHKEYBAG;
1527+ PKCS12_pack_p7data;
1528+ PKCS12_pack_p7encdata;
1529+ PKCS12_add_localkeyid;
1530+ PKCS12_add_friendlyname_asc;
1531+ PKCS12_add_friendlyname_uni;
1532+ PKCS12_get_friendlyname;
1533+ PKCS12_pbe_crypt;
1534+ PKCS12_decrypt_d2i;
1535+ PKCS12_i2d_encrypt;
1536+ PKCS12_init;
1537+ PKCS12_key_gen_asc;
1538+ PKCS12_key_gen_uni;
1539+ PKCS12_gen_mac;
1540+ PKCS12_verify_mac;
1541+ PKCS12_set_mac;
1542+ PKCS12_setup_mac;
1543+ OPENSSL_asc2uni;
1544+ OPENSSL_uni2asc;
1545+ i2d_PKCS12_BAGS;
1546+ PKCS12_BAGS_new;
1547+ d2i_PKCS12_BAGS;
1548+ PKCS12_BAGS_free;
1549+ i2d_PKCS12;
1550+ d2i_PKCS12;
1551+ PKCS12_new;
1552+ PKCS12_free;
1553+ i2d_PKCS12_MAC_DATA;
1554+ PKCS12_MAC_DATA_new;
1555+ d2i_PKCS12_MAC_DATA;
1556+ PKCS12_MAC_DATA_free;
1557+ i2d_PKCS12_SAFEBAG;
1558+ PKCS12_SAFEBAG_new;
1559+ d2i_PKCS12_SAFEBAG;
1560+ PKCS12_SAFEBAG_free;
1561+ ERR_load_PKCS12_strings;
1562+ PKCS12_PBE_add;
1563+ PKCS8_add_keyusage;
1564+ PKCS12_get_attr_gen;
1565+ PKCS12_parse;
1566+ PKCS12_create;
1567+ i2d_PKCS12_bio;
1568+ i2d_PKCS12_fp;
1569+ d2i_PKCS12_bio;
1570+ d2i_PKCS12_fp;
1571+ i2d_PBEPARAM;
1572+ PBEPARAM_new;
1573+ d2i_PBEPARAM;
1574+ PBEPARAM_free;
1575+ i2d_PKCS8_PRIV_KEY_INFO;
1576+ PKCS8_PRIV_KEY_INFO_new;
1577+ d2i_PKCS8_PRIV_KEY_INFO;
1578+ PKCS8_PRIV_KEY_INFO_free;
1579+ EVP_PKCS82PKEY;
1580+ EVP_PKEY2PKCS8;
1581+ PKCS8_set_broken;
1582+ EVP_PBE_ALGOR_CipherInit;
1583+ EVP_PBE_alg_add;
1584+ PKCS5_pbe_set;
1585+ EVP_PBE_cleanup;
1586+ i2d_SXNET;
1587+ d2i_SXNET;
1588+ SXNET_new;
1589+ SXNET_free;
1590+ i2d_SXNETID;
1591+ d2i_SXNETID;
1592+ SXNETID_new;
1593+ SXNETID_free;
1594+ DSA_SIG_new;
1595+ DSA_SIG_free;
1596+ DSA_do_sign;
1597+ DSA_do_verify;
1598+ d2i_DSA_SIG;
1599+ i2d_DSA_SIG;
1600+ i2d_ASN1_VISIBLESTRING;
1601+ d2i_ASN1_VISIBLESTRING;
1602+ i2d_ASN1_UTF8STRING;
1603+ d2i_ASN1_UTF8STRING;
1604+ i2d_DIRECTORYSTRING;
1605+ d2i_DIRECTORYSTRING;
1606+ i2d_DISPLAYTEXT;
1607+ d2i_DISPLAYTEXT;
1608+ d2i_ASN1_SET_OF_X509;
1609+ i2d_ASN1_SET_OF_X509;
1610+ i2d_PBKDF2PARAM;
1611+ PBKDF2PARAM_new;
1612+ d2i_PBKDF2PARAM;
1613+ PBKDF2PARAM_free;
1614+ i2d_PBE2PARAM;
1615+ PBE2PARAM_new;
1616+ d2i_PBE2PARAM;
1617+ PBE2PARAM_free;
1618+ d2i_ASN1_SET_OF_GENERAL_NAME;
1619+ i2d_ASN1_SET_OF_GENERAL_NAME;
1620+ d2i_ASN1_SET_OF_SXNETID;
1621+ i2d_ASN1_SET_OF_SXNETID;
1622+ d2i_ASN1_SET_OF_POLICYQUALINFO;
1623+ i2d_ASN1_SET_OF_POLICYQUALINFO;
1624+ d2i_ASN1_SET_OF_POLICYINFO;
1625+ i2d_ASN1_SET_OF_POLICYINFO;
1626+ SXNET_add_id_asc;
1627+ SXNET_add_id_ulong;
1628+ SXNET_add_id_INTEGER;
1629+ SXNET_get_id_asc;
1630+ SXNET_get_id_ulong;
1631+ SXNET_get_id_INTEGER;
1632+ X509V3_set_conf_lhash;
1633+ i2d_CERTIFICATEPOLICIES;
1634+ CERTIFICATEPOLICIES_new;
1635+ CERTIFICATEPOLICIES_free;
1636+ d2i_CERTIFICATEPOLICIES;
1637+ i2d_POLICYINFO;
1638+ POLICYINFO_new;
1639+ d2i_POLICYINFO;
1640+ POLICYINFO_free;
1641+ i2d_POLICYQUALINFO;
1642+ POLICYQUALINFO_new;
1643+ d2i_POLICYQUALINFO;
1644+ POLICYQUALINFO_free;
1645+ i2d_USERNOTICE;
1646+ USERNOTICE_new;
1647+ d2i_USERNOTICE;
1648+ USERNOTICE_free;
1649+ i2d_NOTICEREF;
1650+ NOTICEREF_new;
1651+ d2i_NOTICEREF;
1652+ NOTICEREF_free;
1653+ X509V3_get_string;
1654+ X509V3_get_section;
1655+ X509V3_string_free;
1656+ X509V3_section_free;
1657+ X509V3_set_ctx;
1658+ s2i_ASN1_INTEGER;
1659+ CRYPTO_set_locked_mem_functions;
1660+ CRYPTO_get_locked_mem_functions;
1661+ CRYPTO_malloc_locked;
1662+ CRYPTO_free_locked;
1663+ BN_mod_exp2_mont;
1664+ ERR_get_error_line_data;
1665+ ERR_peek_error_line_data;
1666+ PKCS12_PBE_keyivgen;
1667+ X509_ALGOR_dup;
1668+ d2i_ASN1_SET_OF_DIST_POINT;
1669+ i2d_ASN1_SET_OF_DIST_POINT;
1670+ i2d_CRL_DIST_POINTS;
1671+ CRL_DIST_POINTS_new;
1672+ CRL_DIST_POINTS_free;
1673+ d2i_CRL_DIST_POINTS;
1674+ i2d_DIST_POINT;
1675+ DIST_POINT_new;
1676+ d2i_DIST_POINT;
1677+ DIST_POINT_free;
1678+ i2d_DIST_POINT_NAME;
1679+ DIST_POINT_NAME_new;
1680+ DIST_POINT_NAME_free;
1681+ d2i_DIST_POINT_NAME;
1682+ X509V3_add_value_uchar;
1683+ d2i_ASN1_SET_OF_X509_ATTRIBUTE;
1684+ i2d_ASN1_SET_OF_ASN1_TYPE;
1685+ d2i_ASN1_SET_OF_X509_EXTENSION;
1686+ d2i_ASN1_SET_OF_X509_NAME_ENTRY;
1687+ d2i_ASN1_SET_OF_ASN1_TYPE;
1688+ i2d_ASN1_SET_OF_X509_ATTRIBUTE;
1689+ i2d_ASN1_SET_OF_X509_EXTENSION;
1690+ i2d_ASN1_SET_OF_X509_NAME_ENTRY;
1691+ X509V3_EXT_i2d;
1692+ X509V3_EXT_val_prn;
1693+ X509V3_EXT_add_list;
1694+ EVP_CIPHER_type;
1695+ EVP_PBE_CipherInit;
1696+ X509V3_add_value_bool_nf;
1697+ d2i_ASN1_UINTEGER;
1698+ sk_value;
1699+ sk_num;
1700+ sk_set;
1701+ i2d_ASN1_SET_OF_X509_REVOKED;
1702+ sk_sort;
1703+ d2i_ASN1_SET_OF_X509_REVOKED;
1704+ i2d_ASN1_SET_OF_X509_ALGOR;
1705+ i2d_ASN1_SET_OF_X509_CRL;
1706+ d2i_ASN1_SET_OF_X509_ALGOR;
1707+ d2i_ASN1_SET_OF_X509_CRL;
1708+ i2d_ASN1_SET_OF_PKCS7_SIGNER_INFO;
1709+ i2d_ASN1_SET_OF_PKCS7_RECIP_INFO;
1710+ d2i_ASN1_SET_OF_PKCS7_SIGNER_INFO;
1711+ d2i_ASN1_SET_OF_PKCS7_RECIP_INFO;
1712+ PKCS5_PBE_add;
1713+ PEM_write_bio_PKCS8;
1714+ i2d_PKCS8_fp;
1715+ PEM_read_bio_PKCS8_PRIV_KEY_INFO;
1716+ PEM_read_bio_P8_PRIV_KEY_INFO;
1717+ d2i_PKCS8_bio;
1718+ d2i_PKCS8_PRIV_KEY_INFO_fp;
1719+ PEM_write_bio_PKCS8_PRIV_KEY_INFO;
1720+ PEM_write_bio_P8_PRIV_KEY_INFO;
1721+ PEM_read_PKCS8;
1722+ d2i_PKCS8_PRIV_KEY_INFO_bio;
1723+ d2i_PKCS8_fp;
1724+ PEM_write_PKCS8;
1725+ PEM_read_PKCS8_PRIV_KEY_INFO;
1726+ PEM_read_P8_PRIV_KEY_INFO;
1727+ PEM_read_bio_PKCS8;
1728+ PEM_write_PKCS8_PRIV_KEY_INFO;
1729+ PEM_write_P8_PRIV_KEY_INFO;
1730+ PKCS5_PBE_keyivgen;
1731+ i2d_PKCS8_bio;
1732+ i2d_PKCS8_PRIV_KEY_INFO_fp;
1733+ i2d_PKCS8_PRIV_KEY_INFO_bio;
1734+ BIO_s_bio;
1735+ PKCS5_pbe2_set;
1736+ PKCS5_PBKDF2_HMAC_SHA1;
1737+ PKCS5_v2_PBE_keyivgen;
1738+ PEM_write_bio_PKCS8PrivateKey;
1739+ PEM_write_PKCS8PrivateKey;
1740+ BIO_ctrl_get_read_request;
1741+ BIO_ctrl_pending;
1742+ BIO_ctrl_wpending;
1743+ BIO_new_bio_pair;
1744+ BIO_ctrl_get_write_guarantee;
1745+ CRYPTO_num_locks;
1746+ CONF_load_bio;
1747+ CONF_load_fp;
1748+ i2d_ASN1_SET_OF_ASN1_OBJECT;
1749+ d2i_ASN1_SET_OF_ASN1_OBJECT;
1750+ PKCS7_signatureVerify;
1751+ RSA_set_method;
1752+ RSA_get_method;
1753+ RSA_get_default_method;
1754+ RSA_check_key;
1755+ OBJ_obj2txt;
1756+ DSA_dup_DH;
1757+ X509_REQ_get_extensions;
1758+ X509_REQ_set_extension_nids;
1759+ BIO_nwrite;
1760+ X509_REQ_extension_nid;
1761+ BIO_nread;
1762+ X509_REQ_get_extension_nids;
1763+ BIO_nwrite0;
1764+ X509_REQ_add_extensions_nid;
1765+ BIO_nread0;
1766+ X509_REQ_add_extensions;
1767+ BIO_new_mem_buf;
1768+ DH_set_ex_data;
1769+ DH_set_method;
1770+ DSA_OpenSSL;
1771+ DH_get_ex_data;
1772+ DH_get_ex_new_index;
1773+ DSA_new_method;
1774+ DH_new_method;
1775+ DH_OpenSSL;
1776+ DSA_get_ex_new_index;
1777+ DH_get_default_method;
1778+ DSA_set_ex_data;
1779+ DH_set_default_method;
1780+ DSA_get_ex_data;
1781+ X509V3_EXT_REQ_add_conf;
1782+ NETSCAPE_SPKI_print;
1783+ NETSCAPE_SPKI_set_pubkey;
1784+ NETSCAPE_SPKI_b64_encode;
1785+ NETSCAPE_SPKI_get_pubkey;
1786+ NETSCAPE_SPKI_b64_decode;
1787+ UTF8_putc;
1788+ UTF8_getc;
1789+ RSA_null_method;
1790+ ASN1_tag2str;
1791+ BIO_ctrl_reset_read_request;
1792+ DISPLAYTEXT_new;
1793+ ASN1_GENERALIZEDTIME_free;
1794+ X509_REVOKED_get_ext_d2i;
1795+ X509_set_ex_data;
1796+ X509_reject_set_bit_asc;
1797+ X509_NAME_add_entry_by_txt;
1798+ X509_NAME_add_entry_by_NID;
1799+ X509_PURPOSE_get0;
1800+ PEM_read_X509_AUX;
1801+ d2i_AUTHORITY_INFO_ACCESS;
1802+ PEM_write_PUBKEY;
1803+ ACCESS_DESCRIPTION_new;
1804+ X509_CERT_AUX_free;
1805+ d2i_ACCESS_DESCRIPTION;
1806+ X509_trust_clear;
1807+ X509_TRUST_add;
1808+ ASN1_VISIBLESTRING_new;
1809+ X509_alias_set1;
1810+ ASN1_PRINTABLESTRING_free;
1811+ EVP_PKEY_get1_DSA;
1812+ ASN1_BMPSTRING_new;
1813+ ASN1_mbstring_copy;
1814+ ASN1_UTF8STRING_new;
1815+ DSA_get_default_method;
1816+ i2d_ASN1_SET_OF_ACCESS_DESCRIPTION;
1817+ ASN1_T61STRING_free;
1818+ DSA_set_method;
1819+ X509_get_ex_data;
1820+ ASN1_STRING_type;
1821+ X509_PURPOSE_get_by_sname;
1822+ ASN1_TIME_free;
1823+ ASN1_OCTET_STRING_cmp;
1824+ ASN1_BIT_STRING_new;
1825+ X509_get_ext_d2i;
1826+ PEM_read_bio_X509_AUX;
1827+ ASN1_STRING_set_default_mask_asc;
1828+ ASN1_STRING_set_def_mask_asc;
1829+ PEM_write_bio_RSA_PUBKEY;
1830+ ASN1_INTEGER_cmp;
1831+ d2i_RSA_PUBKEY_fp;
1832+ X509_trust_set_bit_asc;
1833+ PEM_write_bio_DSA_PUBKEY;
1834+ X509_STORE_CTX_free;
1835+ EVP_PKEY_set1_DSA;
1836+ i2d_DSA_PUBKEY_fp;
1837+ X509_load_cert_crl_file;
1838+ ASN1_TIME_new;
1839+ i2d_RSA_PUBKEY;
1840+ X509_STORE_CTX_purpose_inherit;
1841+ PEM_read_RSA_PUBKEY;
1842+ d2i_X509_AUX;
1843+ i2d_DSA_PUBKEY;
1844+ X509_CERT_AUX_print;
1845+ PEM_read_DSA_PUBKEY;
1846+ i2d_RSA_PUBKEY_bio;
1847+ ASN1_BIT_STRING_num_asc;
1848+ i2d_PUBKEY;
1849+ ASN1_UTCTIME_free;
1850+ DSA_set_default_method;
1851+ X509_PURPOSE_get_by_id;
1852+ ACCESS_DESCRIPTION_free;
1853+ PEM_read_bio_PUBKEY;
1854+ ASN1_STRING_set_by_NID;
1855+ X509_PURPOSE_get_id;
1856+ DISPLAYTEXT_free;
1857+ OTHERNAME_new;
1858+ X509_CERT_AUX_new;
1859+ X509_TRUST_cleanup;
1860+ X509_NAME_add_entry_by_OBJ;
1861+ X509_CRL_get_ext_d2i;
1862+ X509_PURPOSE_get0_name;
1863+ PEM_read_PUBKEY;
1864+ i2d_DSA_PUBKEY_bio;
1865+ i2d_OTHERNAME;
1866+ ASN1_OCTET_STRING_free;
1867+ ASN1_BIT_STRING_set_asc;
1868+ X509_get_ex_new_index;
1869+ ASN1_STRING_TABLE_cleanup;
1870+ X509_TRUST_get_by_id;
1871+ X509_PURPOSE_get_trust;
1872+ ASN1_STRING_length;
1873+ d2i_ASN1_SET_OF_ACCESS_DESCRIPTION;
1874+ ASN1_PRINTABLESTRING_new;
1875+ X509V3_get_d2i;
1876+ ASN1_ENUMERATED_free;
1877+ i2d_X509_CERT_AUX;
1878+ X509_STORE_CTX_set_trust;
1879+ ASN1_STRING_set_default_mask;
1880+ X509_STORE_CTX_new;
1881+ EVP_PKEY_get1_RSA;
1882+ DIRECTORYSTRING_free;
1883+ PEM_write_X509_AUX;
1884+ ASN1_OCTET_STRING_set;
1885+ d2i_DSA_PUBKEY_fp;
1886+ d2i_RSA_PUBKEY;
1887+ X509_TRUST_get0_name;
1888+ X509_TRUST_get0;
1889+ AUTHORITY_INFO_ACCESS_free;
1890+ ASN1_IA5STRING_new;
1891+ d2i_DSA_PUBKEY;
1892+ X509_check_purpose;
1893+ ASN1_ENUMERATED_new;
1894+ d2i_RSA_PUBKEY_bio;
1895+ d2i_PUBKEY;
1896+ X509_TRUST_get_trust;
1897+ X509_TRUST_get_flags;
1898+ ASN1_BMPSTRING_free;
1899+ ASN1_T61STRING_new;
1900+ ASN1_UTCTIME_new;
1901+ i2d_AUTHORITY_INFO_ACCESS;
1902+ EVP_PKEY_set1_RSA;
1903+ X509_STORE_CTX_set_purpose;
1904+ ASN1_IA5STRING_free;
1905+ PEM_write_bio_X509_AUX;
1906+ X509_PURPOSE_get_count;
1907+ CRYPTO_add_info;
1908+ X509_NAME_ENTRY_create_by_txt;
1909+ ASN1_STRING_get_default_mask;
1910+ X509_alias_get0;
1911+ ASN1_STRING_data;
1912+ i2d_ACCESS_DESCRIPTION;
1913+ X509_trust_set_bit;
1914+ ASN1_BIT_STRING_free;
1915+ PEM_read_bio_RSA_PUBKEY;
1916+ X509_add1_reject_object;
1917+ X509_check_trust;
1918+ PEM_read_bio_DSA_PUBKEY;
1919+ X509_PURPOSE_add;
1920+ ASN1_STRING_TABLE_get;
1921+ ASN1_UTF8STRING_free;
1922+ d2i_DSA_PUBKEY_bio;
1923+ PEM_write_RSA_PUBKEY;
1924+ d2i_OTHERNAME;
1925+ X509_reject_set_bit;
1926+ PEM_write_DSA_PUBKEY;
1927+ X509_PURPOSE_get0_sname;
1928+ EVP_PKEY_set1_DH;
1929+ ASN1_OCTET_STRING_dup;
1930+ ASN1_BIT_STRING_set;
1931+ X509_TRUST_get_count;
1932+ ASN1_INTEGER_free;
1933+ OTHERNAME_free;
1934+ i2d_RSA_PUBKEY_fp;
1935+ ASN1_INTEGER_dup;
1936+ d2i_X509_CERT_AUX;
1937+ PEM_write_bio_PUBKEY;
1938+ ASN1_VISIBLESTRING_free;
1939+ X509_PURPOSE_cleanup;
1940+ ASN1_mbstring_ncopy;
1941+ ASN1_GENERALIZEDTIME_new;
1942+ EVP_PKEY_get1_DH;
1943+ ASN1_OCTET_STRING_new;
1944+ ASN1_INTEGER_new;
1945+ i2d_X509_AUX;
1946+ ASN1_BIT_STRING_name_print;
1947+ X509_cmp;
1948+ ASN1_STRING_length_set;
1949+ DIRECTORYSTRING_new;
1950+ X509_add1_trust_object;
1951+ PKCS12_newpass;
1952+ SMIME_write_PKCS7;
1953+ SMIME_read_PKCS7;
1954+ DES_set_key_checked;
1955+ PKCS7_verify;
1956+ PKCS7_encrypt;
1957+ DES_set_key_unchecked;
1958+ SMIME_crlf_copy;
1959+ i2d_ASN1_PRINTABLESTRING;
1960+ PKCS7_get0_signers;
1961+ PKCS7_decrypt;
1962+ SMIME_text;
1963+ PKCS7_simple_smimecap;
1964+ PKCS7_get_smimecap;
1965+ PKCS7_sign;
1966+ PKCS7_add_attrib_smimecap;
1967+ CRYPTO_dbg_set_options;
1968+ CRYPTO_remove_all_info;
1969+ CRYPTO_get_mem_debug_functions;
1970+ CRYPTO_is_mem_check_on;
1971+ CRYPTO_set_mem_debug_functions;
1972+ CRYPTO_pop_info;
1973+ CRYPTO_push_info_;
1974+ CRYPTO_set_mem_debug_options;
1975+ PEM_write_PKCS8PrivateKey_nid;
1976+ PEM_write_bio_PKCS8PrivateKey_nid;
1977+ PEM_write_bio_PKCS8PrivKey_nid;
1978+ d2i_PKCS8PrivateKey_bio;
1979+ ASN1_NULL_free;
1980+ d2i_ASN1_NULL;
1981+ ASN1_NULL_new;
1982+ i2d_PKCS8PrivateKey_bio;
1983+ i2d_PKCS8PrivateKey_fp;
1984+ i2d_ASN1_NULL;
1985+ i2d_PKCS8PrivateKey_nid_fp;
1986+ d2i_PKCS8PrivateKey_fp;
1987+ i2d_PKCS8PrivateKey_nid_bio;
1988+ i2d_PKCS8PrivateKeyInfo_fp;
1989+ i2d_PKCS8PrivateKeyInfo_bio;
1990+ PEM_cb;
1991+ i2d_PrivateKey_fp;
1992+ d2i_PrivateKey_bio;
1993+ d2i_PrivateKey_fp;
1994+ i2d_PrivateKey_bio;
1995+ X509_reject_clear;
1996+ X509_TRUST_set_default;
1997+ d2i_AutoPrivateKey;
1998+ X509_ATTRIBUTE_get0_type;
1999+ X509_ATTRIBUTE_set1_data;
2000+ X509at_get_attr;
2001+ X509at_get_attr_count;
2002+ X509_ATTRIBUTE_create_by_NID;
2003+ X509_ATTRIBUTE_set1_object;
2004+ X509_ATTRIBUTE_count;
2005+ X509_ATTRIBUTE_create_by_OBJ;
2006+ X509_ATTRIBUTE_get0_object;
2007+ X509at_get_attr_by_NID;
2008+ X509at_add1_attr;
2009+ X509_ATTRIBUTE_get0_data;
2010+ X509at_delete_attr;
2011+ X509at_get_attr_by_OBJ;
2012+ RAND_add;
2013+ BIO_number_written;
2014+ BIO_number_read;
2015+ X509_STORE_CTX_get1_chain;
2016+ ERR_load_RAND_strings;
2017+ RAND_pseudo_bytes;
2018+ X509_REQ_get_attr_by_NID;
2019+ X509_REQ_get_attr;
2020+ X509_REQ_add1_attr_by_NID;
2021+ X509_REQ_get_attr_by_OBJ;
2022+ X509at_add1_attr_by_NID;
2023+ X509_REQ_add1_attr_by_OBJ;
2024+ X509_REQ_get_attr_count;
2025+ X509_REQ_add1_attr;
2026+ X509_REQ_delete_attr;
2027+ X509at_add1_attr_by_OBJ;
2028+ X509_REQ_add1_attr_by_txt;
2029+ X509_ATTRIBUTE_create_by_txt;
2030+ X509at_add1_attr_by_txt;
2031+ BN_pseudo_rand;
2032+ BN_is_prime_fasttest;
2033+ BN_CTX_end;
2034+ BN_CTX_start;
2035+ BN_CTX_get;
2036+ EVP_PKEY2PKCS8_broken;
2037+ ASN1_STRING_TABLE_add;
2038+ CRYPTO_dbg_get_options;
2039+ AUTHORITY_INFO_ACCESS_new;
2040+ CRYPTO_get_mem_debug_options;
2041+ DES_crypt;
2042+ PEM_write_bio_X509_REQ_NEW;
2043+ PEM_write_X509_REQ_NEW;
2044+ BIO_callback_ctrl;
2045+ RAND_egd;
2046+ RAND_status;
2047+ bn_dump1;
2048+ DES_check_key_parity;
2049+ lh_num_items;
2050+ RAND_event;
2051+ DSO_new;
2052+ DSO_new_method;
2053+ DSO_free;
2054+ DSO_flags;
2055+ DSO_up;
2056+ DSO_set_default_method;
2057+ DSO_get_default_method;
2058+ DSO_get_method;
2059+ DSO_set_method;
2060+ DSO_load;
2061+ DSO_bind_var;
2062+ DSO_METHOD_null;
2063+ DSO_METHOD_openssl;
2064+ DSO_METHOD_dlfcn;
2065+ DSO_METHOD_win32;
2066+ ERR_load_DSO_strings;
2067+ DSO_METHOD_dl;
2068+ NCONF_load;
2069+ NCONF_load_fp;
2070+ NCONF_new;
2071+ NCONF_get_string;
2072+ NCONF_free;
2073+ NCONF_get_number;
2074+ CONF_dump_fp;
2075+ NCONF_load_bio;
2076+ NCONF_dump_fp;
2077+ NCONF_get_section;
2078+ NCONF_dump_bio;
2079+ CONF_dump_bio;
2080+ NCONF_free_data;
2081+ CONF_set_default_method;
2082+ ERR_error_string_n;
2083+ BIO_snprintf;
2084+ DSO_ctrl;
2085+ i2d_ASN1_SET_OF_ASN1_INTEGER;
2086+ i2d_ASN1_SET_OF_PKCS12_SAFEBAG;
2087+ i2d_ASN1_SET_OF_PKCS7;
2088+ BIO_vfree;
2089+ d2i_ASN1_SET_OF_ASN1_INTEGER;
2090+ d2i_ASN1_SET_OF_PKCS12_SAFEBAG;
2091+ ASN1_UTCTIME_get;
2092+ X509_REQ_digest;
2093+ X509_CRL_digest;
2094+ d2i_ASN1_SET_OF_PKCS7;
2095+ EVP_CIPHER_CTX_set_key_length;
2096+ EVP_CIPHER_CTX_ctrl;
2097+ BN_mod_exp_mont_word;
2098+ RAND_egd_bytes;
2099+ X509_REQ_get1_email;
2100+ X509_get1_email;
2101+ X509_email_free;
2102+ i2d_RSA_NET;
2103+ d2i_RSA_NET_2;
2104+ d2i_RSA_NET;
2105+ DSO_bind_func;
2106+ CRYPTO_get_new_dynlockid;
2107+ sk_new_null;
2108+ CRYPTO_set_dynlock_destroy_callback;
2109+ CRYPTO_set_dynlock_destroy_cb;
2110+ CRYPTO_destroy_dynlockid;
2111+ CRYPTO_set_dynlock_size;
2112+ CRYPTO_set_dynlock_create_callback;
2113+ CRYPTO_set_dynlock_create_cb;
2114+ CRYPTO_set_dynlock_lock_callback;
2115+ CRYPTO_set_dynlock_lock_cb;
2116+ CRYPTO_get_dynlock_lock_callback;
2117+ CRYPTO_get_dynlock_lock_cb;
2118+ CRYPTO_get_dynlock_destroy_callback;
2119+ CRYPTO_get_dynlock_destroy_cb;
2120+ CRYPTO_get_dynlock_value;
2121+ CRYPTO_get_dynlock_create_callback;
2122+ CRYPTO_get_dynlock_create_cb;
2123+ c2i_ASN1_BIT_STRING;
2124+ i2c_ASN1_BIT_STRING;
2125+ RAND_poll;
2126+ c2i_ASN1_INTEGER;
2127+ i2c_ASN1_INTEGER;
2128+ BIO_dump_indent;
2129+ ASN1_parse_dump;
2130+ c2i_ASN1_OBJECT;
2131+ X509_NAME_print_ex_fp;
2132+ ASN1_STRING_print_ex_fp;
2133+ X509_NAME_print_ex;
2134+ ASN1_STRING_print_ex;
2135+ MD4;
2136+ MD4_Transform;
2137+ MD4_Final;
2138+ MD4_Update;
2139+ MD4_Init;
2140+ EVP_md4;
2141+ i2d_PUBKEY_bio;
2142+ i2d_PUBKEY_fp;
2143+ d2i_PUBKEY_bio;
2144+ ASN1_STRING_to_UTF8;
2145+ BIO_vprintf;
2146+ BIO_vsnprintf;
2147+ d2i_PUBKEY_fp;
2148+ X509_cmp_time;
2149+ X509_STORE_CTX_set_time;
2150+ X509_STORE_CTX_get1_issuer;
2151+ X509_OBJECT_retrieve_match;
2152+ X509_OBJECT_idx_by_subject;
2153+ X509_STORE_CTX_set_flags;
2154+ X509_STORE_CTX_trusted_stack;
2155+ X509_time_adj;
2156+ X509_check_issued;
2157+ ASN1_UTCTIME_cmp_time_t;
2158+ DES_set_weak_key_flag;
2159+ DES_check_key;
2160+ DES_rw_mode;
2161+ RSA_PKCS1_RSAref;
2162+ X509_keyid_set1;
2163+ BIO_next;
2164+ DSO_METHOD_vms;
2165+ BIO_f_linebuffer;
2166+ BN_bntest_rand;
2167+ OPENSSL_issetugid;
2168+ BN_rand_range;
2169+ ERR_load_ENGINE_strings;
2170+ ENGINE_set_DSA;
2171+ ENGINE_get_finish_function;
2172+ ENGINE_get_default_RSA;
2173+ ENGINE_get_BN_mod_exp;
2174+ DSA_get_default_openssl_method;
2175+ ENGINE_set_DH;
2176+ ENGINE_set_def_BN_mod_exp_crt;
2177+ ENGINE_set_default_BN_mod_exp_crt;
2178+ ENGINE_init;
2179+ DH_get_default_openssl_method;
2180+ RSA_set_default_openssl_method;
2181+ ENGINE_finish;
2182+ ENGINE_load_public_key;
2183+ ENGINE_get_DH;
2184+ ENGINE_ctrl;
2185+ ENGINE_get_init_function;
2186+ ENGINE_set_init_function;
2187+ ENGINE_set_default_DSA;
2188+ ENGINE_get_name;
2189+ ENGINE_get_last;
2190+ ENGINE_get_prev;
2191+ ENGINE_get_default_DH;
2192+ ENGINE_get_RSA;
2193+ ENGINE_set_default;
2194+ ENGINE_get_RAND;
2195+ ENGINE_get_first;
2196+ ENGINE_by_id;
2197+ ENGINE_set_finish_function;
2198+ ENGINE_get_def_BN_mod_exp_crt;
2199+ ENGINE_get_default_BN_mod_exp_crt;
2200+ RSA_get_default_openssl_method;
2201+ ENGINE_set_RSA;
2202+ ENGINE_load_private_key;
2203+ ENGINE_set_default_RAND;
2204+ ENGINE_set_BN_mod_exp;
2205+ ENGINE_remove;
2206+ ENGINE_free;
2207+ ENGINE_get_BN_mod_exp_crt;
2208+ ENGINE_get_next;
2209+ ENGINE_set_name;
2210+ ENGINE_get_default_DSA;
2211+ ENGINE_set_default_BN_mod_exp;
2212+ ENGINE_set_default_RSA;
2213+ ENGINE_get_default_RAND;
2214+ ENGINE_get_default_BN_mod_exp;
2215+ ENGINE_set_RAND;
2216+ ENGINE_set_id;
2217+ ENGINE_set_BN_mod_exp_crt;
2218+ ENGINE_set_default_DH;
2219+ ENGINE_new;
2220+ ENGINE_get_id;
2221+ DSA_set_default_openssl_method;
2222+ ENGINE_add;
2223+ DH_set_default_openssl_method;
2224+ ENGINE_get_DSA;
2225+ ENGINE_get_ctrl_function;
2226+ ENGINE_set_ctrl_function;
2227+ BN_pseudo_rand_range;
2228+ X509_STORE_CTX_set_verify_cb;
2229+ ERR_load_COMP_strings;
2230+ PKCS12_item_decrypt_d2i;
2231+ ASN1_UTF8STRING_it;
2232+ ASN1_UTF8STRING_it;
2233+ ENGINE_unregister_ciphers;
2234+ ENGINE_get_ciphers;
2235+ d2i_OCSP_BASICRESP;
2236+ KRB5_CHECKSUM_it;
2237+ KRB5_CHECKSUM_it;
2238+ EC_POINT_add;
2239+ ASN1_item_ex_i2d;
2240+ OCSP_CERTID_it;
2241+ OCSP_CERTID_it;
2242+ d2i_OCSP_RESPBYTES;
2243+ X509V3_add1_i2d;
2244+ PKCS7_ENVELOPE_it;
2245+ PKCS7_ENVELOPE_it;
2246+ UI_add_input_boolean;
2247+ ENGINE_unregister_RSA;
2248+ X509V3_EXT_nconf;
2249+ ASN1_GENERALSTRING_free;
2250+ d2i_OCSP_CERTSTATUS;
2251+ X509_REVOKED_set_serialNumber;
2252+ X509_print_ex;
2253+ OCSP_ONEREQ_get1_ext_d2i;
2254+ ENGINE_register_all_RAND;
2255+ ENGINE_load_dynamic;
2256+ PBKDF2PARAM_it;
2257+ PBKDF2PARAM_it;
2258+ EXTENDED_KEY_USAGE_new;
2259+ EC_GROUP_clear_free;
2260+ OCSP_sendreq_bio;
2261+ ASN1_item_digest;
2262+ OCSP_BASICRESP_delete_ext;
2263+ OCSP_SIGNATURE_it;
2264+ OCSP_SIGNATURE_it;
2265+ X509_CRL_it;
2266+ X509_CRL_it;
2267+ OCSP_BASICRESP_add_ext;
2268+ KRB5_ENCKEY_it;
2269+ KRB5_ENCKEY_it;
2270+ UI_method_set_closer;
2271+ X509_STORE_set_purpose;
2272+ i2d_ASN1_GENERALSTRING;
2273+ OCSP_response_status;
2274+ i2d_OCSP_SERVICELOC;
2275+ ENGINE_get_digest_engine;
2276+ EC_GROUP_set_curve_GFp;
2277+ OCSP_REQUEST_get_ext_by_OBJ;
2278+ _ossl_old_des_random_key;
2279+ ASN1_T61STRING_it;
2280+ ASN1_T61STRING_it;
2281+ EC_GROUP_method_of;
2282+ i2d_KRB5_APREQ;
2283+ _ossl_old_des_encrypt;
2284+ ASN1_PRINTABLE_new;
2285+ HMAC_Init_ex;
2286+ d2i_KRB5_AUTHENT;
2287+ OCSP_archive_cutoff_new;
2288+ EC_POINT_set_Jprojective_coordinates_GFp;
2289+ EC_POINT_set_Jproj_coords_GFp;
2290+ _ossl_old_des_is_weak_key;
2291+ OCSP_BASICRESP_get_ext_by_OBJ;
2292+ EC_POINT_oct2point;
2293+ OCSP_SINGLERESP_get_ext_count;
2294+ UI_ctrl;
2295+ _shadow_DES_rw_mode;
2296+ _shadow_DES_rw_mode;
2297+ asn1_do_adb;
2298+ ASN1_template_i2d;
2299+ ENGINE_register_DH;
2300+ UI_construct_prompt;
2301+ X509_STORE_set_trust;
2302+ UI_dup_input_string;
2303+ d2i_KRB5_APREQ;
2304+ EVP_MD_CTX_copy_ex;
2305+ OCSP_request_is_signed;
2306+ i2d_OCSP_REQINFO;
2307+ KRB5_ENCKEY_free;
2308+ OCSP_resp_get0;
2309+ GENERAL_NAME_it;
2310+ GENERAL_NAME_it;
2311+ ASN1_GENERALIZEDTIME_it;
2312+ ASN1_GENERALIZEDTIME_it;
2313+ X509_STORE_set_flags;
2314+ EC_POINT_set_compressed_coordinates_GFp;
2315+ EC_POINT_set_compr_coords_GFp;
2316+ OCSP_response_status_str;
2317+ d2i_OCSP_REVOKEDINFO;
2318+ OCSP_basic_add1_cert;
2319+ ERR_get_implementation;
2320+ EVP_CipherFinal_ex;
2321+ OCSP_CERTSTATUS_new;
2322+ CRYPTO_cleanup_all_ex_data;
2323+ OCSP_resp_find;
2324+ BN_nnmod;
2325+ X509_CRL_sort;
2326+ X509_REVOKED_set_revocationDate;
2327+ ENGINE_register_RAND;
2328+ OCSP_SERVICELOC_new;
2329+ EC_POINT_set_affine_coordinates_GFp;
2330+ EC_POINT_set_affine_coords_GFp;
2331+ _ossl_old_des_options;
2332+ SXNET_it;
2333+ SXNET_it;
2334+ UI_dup_input_boolean;
2335+ PKCS12_add_CSPName_asc;
2336+ EC_POINT_is_at_infinity;
2337+ ENGINE_load_cryptodev;
2338+ DSO_convert_filename;
2339+ POLICYQUALINFO_it;
2340+ POLICYQUALINFO_it;
2341+ ENGINE_register_ciphers;
2342+ BN_mod_lshift_quick;
2343+ DSO_set_filename;
2344+ ASN1_item_free;
2345+ KRB5_TKTBODY_free;
2346+ AUTHORITY_KEYID_it;
2347+ AUTHORITY_KEYID_it;
2348+ KRB5_APREQBODY_new;
2349+ X509V3_EXT_REQ_add_nconf;
2350+ ENGINE_ctrl_cmd_string;
2351+ i2d_OCSP_RESPDATA;
2352+ EVP_MD_CTX_init;
2353+ EXTENDED_KEY_USAGE_free;
2354+ PKCS7_ATTR_SIGN_it;
2355+ PKCS7_ATTR_SIGN_it;
2356+ UI_add_error_string;
2357+ KRB5_CHECKSUM_free;
2358+ OCSP_REQUEST_get_ext;
2359+ ENGINE_load_ubsec;
2360+ ENGINE_register_all_digests;
2361+ PKEY_USAGE_PERIOD_it;
2362+ PKEY_USAGE_PERIOD_it;
2363+ PKCS12_unpack_authsafes;
2364+ ASN1_item_unpack;
2365+ NETSCAPE_SPKAC_it;
2366+ NETSCAPE_SPKAC_it;
2367+ X509_REVOKED_it;
2368+ X509_REVOKED_it;
2369+ ASN1_STRING_encode;
2370+ EVP_aes_128_ecb;
2371+ KRB5_AUTHENT_free;
2372+ OCSP_BASICRESP_get_ext_by_critical;
2373+ OCSP_BASICRESP_get_ext_by_crit;
2374+ OCSP_cert_status_str;
2375+ d2i_OCSP_REQUEST;
2376+ UI_dup_info_string;
2377+ _ossl_old_des_xwhite_in2out;
2378+ PKCS12_it;
2379+ PKCS12_it;
2380+ OCSP_SINGLERESP_get_ext_by_critical;
2381+ OCSP_SINGLERESP_get_ext_by_crit;
2382+ OCSP_CERTSTATUS_free;
2383+ _ossl_old_des_crypt;
2384+ ASN1_item_i2d;
2385+ EVP_DecryptFinal_ex;
2386+ ENGINE_load_openssl;
2387+ ENGINE_get_cmd_defns;
2388+ ENGINE_set_load_privkey_function;
2389+ ENGINE_set_load_privkey_fn;
2390+ EVP_EncryptFinal_ex;
2391+ ENGINE_set_default_digests;
2392+ X509_get0_pubkey_bitstr;
2393+ asn1_ex_i2c;
2394+ ENGINE_register_RSA;
2395+ ENGINE_unregister_DSA;
2396+ _ossl_old_des_key_sched;
2397+ X509_EXTENSION_it;
2398+ X509_EXTENSION_it;
2399+ i2d_KRB5_AUTHENT;
2400+ SXNETID_it;
2401+ SXNETID_it;
2402+ d2i_OCSP_SINGLERESP;
2403+ EDIPARTYNAME_new;
2404+ PKCS12_certbag2x509;
2405+ _ossl_old_des_ofb64_encrypt;
2406+ d2i_EXTENDED_KEY_USAGE;
2407+ ERR_print_errors_cb;
2408+ ENGINE_set_ciphers;
2409+ d2i_KRB5_APREQBODY;
2410+ UI_method_get_flusher;
2411+ X509_PUBKEY_it;
2412+ X509_PUBKEY_it;
2413+ _ossl_old_des_enc_read;
2414+ PKCS7_ENCRYPT_it;
2415+ PKCS7_ENCRYPT_it;
2416+ i2d_OCSP_RESPONSE;
2417+ EC_GROUP_get_cofactor;
2418+ PKCS12_unpack_p7data;
2419+ d2i_KRB5_AUTHDATA;
2420+ OCSP_copy_nonce;
2421+ KRB5_AUTHDATA_new;
2422+ OCSP_RESPDATA_new;
2423+ EC_GFp_mont_method;
2424+ OCSP_REVOKEDINFO_free;
2425+ UI_get_ex_data;
2426+ KRB5_APREQBODY_free;
2427+ EC_GROUP_get0_generator;
2428+ UI_get_default_method;
2429+ X509V3_set_nconf;
2430+ PKCS12_item_i2d_encrypt;
2431+ X509_add1_ext_i2d;
2432+ PKCS7_SIGNER_INFO_it;
2433+ PKCS7_SIGNER_INFO_it;
2434+ KRB5_PRINCNAME_new;
2435+ PKCS12_SAFEBAG_it;
2436+ PKCS12_SAFEBAG_it;
2437+ EC_GROUP_get_order;
2438+ d2i_OCSP_RESPID;
2439+ OCSP_request_verify;
2440+ NCONF_get_number_e;
2441+ _ossl_old_des_decrypt3;
2442+ X509_signature_print;
2443+ OCSP_SINGLERESP_free;
2444+ ENGINE_load_builtin_engines;
2445+ i2d_OCSP_ONEREQ;
2446+ OCSP_REQUEST_add_ext;
2447+ OCSP_RESPBYTES_new;
2448+ EVP_MD_CTX_create;
2449+ OCSP_resp_find_status;
2450+ X509_ALGOR_it;
2451+ X509_ALGOR_it;
2452+ ASN1_TIME_it;
2453+ ASN1_TIME_it;
2454+ OCSP_request_set1_name;
2455+ OCSP_ONEREQ_get_ext_count;
2456+ UI_get0_result;
2457+ PKCS12_AUTHSAFES_it;
2458+ PKCS12_AUTHSAFES_it;
2459+ EVP_aes_256_ecb;
2460+ PKCS12_pack_authsafes;
2461+ ASN1_IA5STRING_it;
2462+ ASN1_IA5STRING_it;
2463+ UI_get_input_flags;
2464+ EC_GROUP_set_generator;
2465+ _ossl_old_des_string_to_2keys;
2466+ OCSP_CERTID_free;
2467+ X509_CERT_AUX_it;
2468+ X509_CERT_AUX_it;
2469+ CERTIFICATEPOLICIES_it;
2470+ CERTIFICATEPOLICIES_it;
2471+ _ossl_old_des_ede3_cbc_encrypt;
2472+ RAND_set_rand_engine;
2473+ DSO_get_loaded_filename;
2474+ X509_ATTRIBUTE_it;
2475+ X509_ATTRIBUTE_it;
2476+ OCSP_ONEREQ_get_ext_by_NID;
2477+ PKCS12_decrypt_skey;
2478+ KRB5_AUTHENT_it;
2479+ KRB5_AUTHENT_it;
2480+ UI_dup_error_string;
2481+ RSAPublicKey_it;
2482+ RSAPublicKey_it;
2483+ i2d_OCSP_REQUEST;
2484+ PKCS12_x509crl2certbag;
2485+ OCSP_SERVICELOC_it;
2486+ OCSP_SERVICELOC_it;
2487+ ASN1_item_sign;
2488+ X509_CRL_set_issuer_name;
2489+ OBJ_NAME_do_all_sorted;
2490+ i2d_OCSP_BASICRESP;
2491+ i2d_OCSP_RESPBYTES;
2492+ PKCS12_unpack_p7encdata;
2493+ HMAC_CTX_init;
2494+ ENGINE_get_digest;
2495+ OCSP_RESPONSE_print;
2496+ KRB5_TKTBODY_it;
2497+ KRB5_TKTBODY_it;
2498+ ACCESS_DESCRIPTION_it;
2499+ ACCESS_DESCRIPTION_it;
2500+ PKCS7_ISSUER_AND_SERIAL_it;
2501+ PKCS7_ISSUER_AND_SERIAL_it;
2502+ PBE2PARAM_it;
2503+ PBE2PARAM_it;
2504+ PKCS12_certbag2x509crl;
2505+ PKCS7_SIGNED_it;
2506+ PKCS7_SIGNED_it;
2507+ ENGINE_get_cipher;
2508+ i2d_OCSP_CRLID;
2509+ OCSP_SINGLERESP_new;
2510+ ENGINE_cmd_is_executable;
2511+ RSA_up_ref;
2512+ ASN1_GENERALSTRING_it;
2513+ ASN1_GENERALSTRING_it;
2514+ ENGINE_register_DSA;
2515+ X509V3_EXT_add_nconf_sk;
2516+ ENGINE_set_load_pubkey_function;
2517+ PKCS8_decrypt;
2518+ PEM_bytes_read_bio;
2519+ DIRECTORYSTRING_it;
2520+ DIRECTORYSTRING_it;
2521+ d2i_OCSP_CRLID;
2522+ EC_POINT_is_on_curve;
2523+ CRYPTO_set_locked_mem_ex_functions;
2524+ CRYPTO_set_locked_mem_ex_funcs;
2525+ d2i_KRB5_CHECKSUM;
2526+ ASN1_item_dup;
2527+ X509_it;
2528+ X509_it;
2529+ BN_mod_add;
2530+ KRB5_AUTHDATA_free;
2531+ _ossl_old_des_cbc_cksum;
2532+ ASN1_item_verify;
2533+ CRYPTO_set_mem_ex_functions;
2534+ EC_POINT_get_Jprojective_coordinates_GFp;
2535+ EC_POINT_get_Jproj_coords_GFp;
2536+ ZLONG_it;
2537+ ZLONG_it;
2538+ CRYPTO_get_locked_mem_ex_functions;
2539+ CRYPTO_get_locked_mem_ex_funcs;
2540+ ASN1_TIME_check;
2541+ UI_get0_user_data;
2542+ HMAC_CTX_cleanup;
2543+ DSA_up_ref;
2544+ _ossl_old_des_ede3_cfb64_encrypt;
2545+ _ossl_odes_ede3_cfb64_encrypt;
2546+ ASN1_BMPSTRING_it;
2547+ ASN1_BMPSTRING_it;
2548+ ASN1_tag2bit;
2549+ UI_method_set_flusher;
2550+ X509_ocspid_print;
2551+ KRB5_ENCDATA_it;
2552+ KRB5_ENCDATA_it;
2553+ ENGINE_get_load_pubkey_function;
2554+ UI_add_user_data;
2555+ OCSP_REQUEST_delete_ext;
2556+ UI_get_method;
2557+ OCSP_ONEREQ_free;
2558+ ASN1_PRINTABLESTRING_it;
2559+ ASN1_PRINTABLESTRING_it;
2560+ X509_CRL_set_nextUpdate;
2561+ OCSP_REQUEST_it;
2562+ OCSP_REQUEST_it;
2563+ OCSP_BASICRESP_it;
2564+ OCSP_BASICRESP_it;
2565+ AES_ecb_encrypt;
2566+ BN_mod_sqr;
2567+ NETSCAPE_CERT_SEQUENCE_it;
2568+ NETSCAPE_CERT_SEQUENCE_it;
2569+ GENERAL_NAMES_it;
2570+ GENERAL_NAMES_it;
2571+ AUTHORITY_INFO_ACCESS_it;
2572+ AUTHORITY_INFO_ACCESS_it;
2573+ ASN1_FBOOLEAN_it;
2574+ ASN1_FBOOLEAN_it;
2575+ UI_set_ex_data;
2576+ _ossl_old_des_string_to_key;
2577+ ENGINE_register_all_RSA;
2578+ d2i_KRB5_PRINCNAME;
2579+ OCSP_RESPBYTES_it;
2580+ OCSP_RESPBYTES_it;
2581+ X509_CINF_it;
2582+ X509_CINF_it;
2583+ ENGINE_unregister_digests;
2584+ d2i_EDIPARTYNAME;
2585+ d2i_OCSP_SERVICELOC;
2586+ ENGINE_get_digests;
2587+ _ossl_old_des_set_odd_parity;
2588+ OCSP_RESPDATA_free;
2589+ d2i_KRB5_TICKET;
2590+ OTHERNAME_it;
2591+ OTHERNAME_it;
2592+ EVP_MD_CTX_cleanup;
2593+ d2i_ASN1_GENERALSTRING;
2594+ X509_CRL_set_version;
2595+ BN_mod_sub;
2596+ OCSP_SINGLERESP_get_ext_by_NID;
2597+ ENGINE_get_ex_new_index;
2598+ OCSP_REQUEST_free;
2599+ OCSP_REQUEST_add1_ext_i2d;
2600+ X509_VAL_it;
2601+ X509_VAL_it;
2602+ EC_POINTs_make_affine;
2603+ EC_POINT_mul;
2604+ X509V3_EXT_add_nconf;
2605+ X509_TRUST_set;
2606+ X509_CRL_add1_ext_i2d;
2607+ _ossl_old_des_fcrypt;
2608+ DISPLAYTEXT_it;
2609+ DISPLAYTEXT_it;
2610+ X509_CRL_set_lastUpdate;
2611+ OCSP_BASICRESP_free;
2612+ OCSP_BASICRESP_add1_ext_i2d;
2613+ d2i_KRB5_AUTHENTBODY;
2614+ CRYPTO_set_ex_data_implementation;
2615+ CRYPTO_set_ex_data_impl;
2616+ KRB5_ENCDATA_new;
2617+ DSO_up_ref;
2618+ OCSP_crl_reason_str;
2619+ UI_get0_result_string;
2620+ ASN1_GENERALSTRING_new;
2621+ X509_SIG_it;
2622+ X509_SIG_it;
2623+ ERR_set_implementation;
2624+ ERR_load_EC_strings;
2625+ UI_get0_action_string;
2626+ OCSP_ONEREQ_get_ext;
2627+ EC_POINT_method_of;
2628+ i2d_KRB5_APREQBODY;
2629+ _ossl_old_des_ecb3_encrypt;
2630+ CRYPTO_get_mem_ex_functions;
2631+ ENGINE_get_ex_data;
2632+ UI_destroy_method;
2633+ ASN1_item_i2d_bio;
2634+ OCSP_ONEREQ_get_ext_by_OBJ;
2635+ ASN1_primitive_new;
2636+ ASN1_PRINTABLE_it;
2637+ ASN1_PRINTABLE_it;
2638+ EVP_aes_192_ecb;
2639+ OCSP_SIGNATURE_new;
2640+ LONG_it;
2641+ LONG_it;
2642+ ASN1_VISIBLESTRING_it;
2643+ ASN1_VISIBLESTRING_it;
2644+ OCSP_SINGLERESP_add1_ext_i2d;
2645+ d2i_OCSP_CERTID;
2646+ ASN1_item_d2i_fp;
2647+ CRL_DIST_POINTS_it;
2648+ CRL_DIST_POINTS_it;
2649+ GENERAL_NAME_print;
2650+ OCSP_SINGLERESP_delete_ext;
2651+ PKCS12_SAFEBAGS_it;
2652+ PKCS12_SAFEBAGS_it;
2653+ d2i_OCSP_SIGNATURE;
2654+ OCSP_request_add1_nonce;
2655+ ENGINE_set_cmd_defns;
2656+ OCSP_SERVICELOC_free;
2657+ EC_GROUP_free;
2658+ ASN1_BIT_STRING_it;
2659+ ASN1_BIT_STRING_it;
2660+ X509_REQ_it;
2661+ X509_REQ_it;
2662+ _ossl_old_des_cbc_encrypt;
2663+ ERR_unload_strings;
2664+ PKCS7_SIGN_ENVELOPE_it;
2665+ PKCS7_SIGN_ENVELOPE_it;
2666+ EDIPARTYNAME_free;
2667+ OCSP_REQINFO_free;
2668+ EC_GROUP_new_curve_GFp;
2669+ OCSP_REQUEST_get1_ext_d2i;
2670+ PKCS12_item_pack_safebag;
2671+ asn1_ex_c2i;
2672+ ENGINE_register_digests;
2673+ i2d_OCSP_REVOKEDINFO;
2674+ asn1_enc_restore;
2675+ UI_free;
2676+ UI_new_method;
2677+ EVP_EncryptInit_ex;
2678+ X509_pubkey_digest;
2679+ EC_POINT_invert;
2680+ OCSP_basic_sign;
2681+ i2d_OCSP_RESPID;
2682+ OCSP_check_nonce;
2683+ ENGINE_ctrl_cmd;
2684+ d2i_KRB5_ENCKEY;
2685+ OCSP_parse_url;
2686+ OCSP_SINGLERESP_get_ext;
2687+ OCSP_CRLID_free;
2688+ OCSP_BASICRESP_get1_ext_d2i;
2689+ RSAPrivateKey_it;
2690+ RSAPrivateKey_it;
2691+ ENGINE_register_all_DH;
2692+ i2d_EDIPARTYNAME;
2693+ EC_POINT_get_affine_coordinates_GFp;
2694+ EC_POINT_get_affine_coords_GFp;
2695+ OCSP_CRLID_new;
2696+ ENGINE_get_flags;
2697+ OCSP_ONEREQ_it;
2698+ OCSP_ONEREQ_it;
2699+ UI_process;
2700+ ASN1_INTEGER_it;
2701+ ASN1_INTEGER_it;
2702+ EVP_CipherInit_ex;
2703+ UI_get_string_type;
2704+ ENGINE_unregister_DH;
2705+ ENGINE_register_all_DSA;
2706+ OCSP_ONEREQ_get_ext_by_critical;
2707+ bn_dup_expand;
2708+ OCSP_cert_id_new;
2709+ BASIC_CONSTRAINTS_it;
2710+ BASIC_CONSTRAINTS_it;
2711+ BN_mod_add_quick;
2712+ EC_POINT_new;
2713+ EVP_MD_CTX_destroy;
2714+ OCSP_RESPBYTES_free;
2715+ EVP_aes_128_cbc;
2716+ OCSP_SINGLERESP_get1_ext_d2i;
2717+ EC_POINT_free;
2718+ DH_up_ref;
2719+ X509_NAME_ENTRY_it;
2720+ X509_NAME_ENTRY_it;
2721+ UI_get_ex_new_index;
2722+ BN_mod_sub_quick;
2723+ OCSP_ONEREQ_add_ext;
2724+ OCSP_request_sign;
2725+ EVP_DigestFinal_ex;
2726+ ENGINE_set_digests;
2727+ OCSP_id_issuer_cmp;
2728+ OBJ_NAME_do_all;
2729+ EC_POINTs_mul;
2730+ ENGINE_register_complete;
2731+ X509V3_EXT_nconf_nid;
2732+ ASN1_SEQUENCE_it;
2733+ ASN1_SEQUENCE_it;
2734+ UI_set_default_method;
2735+ RAND_query_egd_bytes;
2736+ UI_method_get_writer;
2737+ UI_OpenSSL;
2738+ PEM_def_callback;
2739+ ENGINE_cleanup;
2740+ DIST_POINT_it;
2741+ DIST_POINT_it;
2742+ OCSP_SINGLERESP_it;
2743+ OCSP_SINGLERESP_it;
2744+ d2i_KRB5_TKTBODY;
2745+ EC_POINT_cmp;
2746+ OCSP_REVOKEDINFO_new;
2747+ i2d_OCSP_CERTSTATUS;
2748+ OCSP_basic_add1_nonce;
2749+ ASN1_item_ex_d2i;
2750+ BN_mod_lshift1_quick;
2751+ UI_set_method;
2752+ OCSP_id_get0_info;
2753+ BN_mod_sqrt;
2754+ EC_GROUP_copy;
2755+ KRB5_ENCDATA_free;
2756+ _ossl_old_des_cfb_encrypt;
2757+ OCSP_SINGLERESP_get_ext_by_OBJ;
2758+ OCSP_cert_to_id;
2759+ OCSP_RESPID_new;
2760+ OCSP_RESPDATA_it;
2761+ OCSP_RESPDATA_it;
2762+ d2i_OCSP_RESPDATA;
2763+ ENGINE_register_all_complete;
2764+ OCSP_check_validity;
2765+ PKCS12_BAGS_it;
2766+ PKCS12_BAGS_it;
2767+ OCSP_url_svcloc_new;
2768+ ASN1_template_free;
2769+ OCSP_SINGLERESP_add_ext;
2770+ KRB5_AUTHENTBODY_it;
2771+ KRB5_AUTHENTBODY_it;
2772+ X509_supported_extension;
2773+ i2d_KRB5_AUTHDATA;
2774+ UI_method_get_opener;
2775+ ENGINE_set_ex_data;
2776+ OCSP_REQUEST_print;
2777+ CBIGNUM_it;
2778+ CBIGNUM_it;
2779+ KRB5_TICKET_new;
2780+ KRB5_APREQ_new;
2781+ EC_GROUP_get_curve_GFp;
2782+ KRB5_ENCKEY_new;
2783+ ASN1_template_d2i;
2784+ _ossl_old_des_quad_cksum;
2785+ OCSP_single_get0_status;
2786+ BN_swap;
2787+ POLICYINFO_it;
2788+ POLICYINFO_it;
2789+ ENGINE_set_destroy_function;
2790+ asn1_enc_free;
2791+ OCSP_RESPID_it;
2792+ OCSP_RESPID_it;
2793+ EC_GROUP_new;
2794+ EVP_aes_256_cbc;
2795+ i2d_KRB5_PRINCNAME;
2796+ _ossl_old_des_encrypt2;
2797+ _ossl_old_des_encrypt3;
2798+ PKCS8_PRIV_KEY_INFO_it;
2799+ PKCS8_PRIV_KEY_INFO_it;
2800+ OCSP_REQINFO_it;
2801+ OCSP_REQINFO_it;
2802+ PBEPARAM_it;
2803+ PBEPARAM_it;
2804+ KRB5_AUTHENTBODY_new;
2805+ X509_CRL_add0_revoked;
2806+ EDIPARTYNAME_it;
2807+ EDIPARTYNAME_it;
2808+ NETSCAPE_SPKI_it;
2809+ NETSCAPE_SPKI_it;
2810+ UI_get0_test_string;
2811+ ENGINE_get_cipher_engine;
2812+ ENGINE_register_all_ciphers;
2813+ EC_POINT_copy;
2814+ BN_kronecker;
2815+ _ossl_old_des_ede3_ofb64_encrypt;
2816+ _ossl_odes_ede3_ofb64_encrypt;
2817+ UI_method_get_reader;
2818+ OCSP_BASICRESP_get_ext_count;
2819+ ASN1_ENUMERATED_it;
2820+ ASN1_ENUMERATED_it;
2821+ UI_set_result;
2822+ i2d_KRB5_TICKET;
2823+ X509_print_ex_fp;
2824+ EVP_CIPHER_CTX_set_padding;
2825+ d2i_OCSP_RESPONSE;
2826+ ASN1_UTCTIME_it;
2827+ ASN1_UTCTIME_it;
2828+ _ossl_old_des_enc_write;
2829+ OCSP_RESPONSE_new;
2830+ AES_set_encrypt_key;
2831+ OCSP_resp_count;
2832+ KRB5_CHECKSUM_new;
2833+ ENGINE_load_cswift;
2834+ OCSP_onereq_get0_id;
2835+ ENGINE_set_default_ciphers;
2836+ NOTICEREF_it;
2837+ NOTICEREF_it;
2838+ X509V3_EXT_CRL_add_nconf;
2839+ OCSP_REVOKEDINFO_it;
2840+ OCSP_REVOKEDINFO_it;
2841+ AES_encrypt;
2842+ OCSP_REQUEST_new;
2843+ ASN1_ANY_it;
2844+ ASN1_ANY_it;
2845+ CRYPTO_ex_data_new_class;
2846+ _ossl_old_des_ncbc_encrypt;
2847+ i2d_KRB5_TKTBODY;
2848+ EC_POINT_clear_free;
2849+ AES_decrypt;
2850+ asn1_enc_init;
2851+ UI_get_result_maxsize;
2852+ OCSP_CERTID_new;
2853+ ENGINE_unregister_RAND;
2854+ UI_method_get_closer;
2855+ d2i_KRB5_ENCDATA;
2856+ OCSP_request_onereq_count;
2857+ OCSP_basic_verify;
2858+ KRB5_AUTHENTBODY_free;
2859+ ASN1_item_d2i;
2860+ ASN1_primitive_free;
2861+ i2d_EXTENDED_KEY_USAGE;
2862+ i2d_OCSP_SIGNATURE;
2863+ asn1_enc_save;
2864+ ENGINE_load_nuron;
2865+ _ossl_old_des_pcbc_encrypt;
2866+ PKCS12_MAC_DATA_it;
2867+ PKCS12_MAC_DATA_it;
2868+ OCSP_accept_responses_new;
2869+ asn1_do_lock;
2870+ PKCS7_ATTR_VERIFY_it;
2871+ PKCS7_ATTR_VERIFY_it;
2872+ KRB5_APREQBODY_it;
2873+ KRB5_APREQBODY_it;
2874+ i2d_OCSP_SINGLERESP;
2875+ ASN1_item_ex_new;
2876+ UI_add_verify_string;
2877+ _ossl_old_des_set_key;
2878+ KRB5_PRINCNAME_it;
2879+ KRB5_PRINCNAME_it;
2880+ EVP_DecryptInit_ex;
2881+ i2d_OCSP_CERTID;
2882+ ASN1_item_d2i_bio;
2883+ EC_POINT_dbl;
2884+ asn1_get_choice_selector;
2885+ i2d_KRB5_CHECKSUM;
2886+ ENGINE_set_table_flags;
2887+ AES_options;
2888+ ENGINE_load_chil;
2889+ OCSP_id_cmp;
2890+ OCSP_BASICRESP_new;
2891+ OCSP_REQUEST_get_ext_by_NID;
2892+ KRB5_APREQ_it;
2893+ KRB5_APREQ_it;
2894+ ENGINE_get_destroy_function;
2895+ CONF_set_nconf;
2896+ ASN1_PRINTABLE_free;
2897+ OCSP_BASICRESP_get_ext_by_NID;
2898+ DIST_POINT_NAME_it;
2899+ DIST_POINT_NAME_it;
2900+ X509V3_extensions_print;
2901+ _ossl_old_des_cfb64_encrypt;
2902+ X509_REVOKED_add1_ext_i2d;
2903+ _ossl_old_des_ofb_encrypt;
2904+ KRB5_TKTBODY_new;
2905+ ASN1_OCTET_STRING_it;
2906+ ASN1_OCTET_STRING_it;
2907+ ERR_load_UI_strings;
2908+ i2d_KRB5_ENCKEY;
2909+ ASN1_template_new;
2910+ OCSP_SIGNATURE_free;
2911+ ASN1_item_i2d_fp;
2912+ KRB5_PRINCNAME_free;
2913+ PKCS7_RECIP_INFO_it;
2914+ PKCS7_RECIP_INFO_it;
2915+ EXTENDED_KEY_USAGE_it;
2916+ EXTENDED_KEY_USAGE_it;
2917+ EC_GFp_simple_method;
2918+ EC_GROUP_precompute_mult;
2919+ OCSP_request_onereq_get0;
2920+ UI_method_set_writer;
2921+ KRB5_AUTHENT_new;
2922+ X509_CRL_INFO_it;
2923+ X509_CRL_INFO_it;
2924+ DSO_set_name_converter;
2925+ AES_set_decrypt_key;
2926+ PKCS7_DIGEST_it;
2927+ PKCS7_DIGEST_it;
2928+ PKCS12_x5092certbag;
2929+ EVP_DigestInit_ex;
2930+ i2a_ACCESS_DESCRIPTION;
2931+ OCSP_RESPONSE_it;
2932+ OCSP_RESPONSE_it;
2933+ PKCS7_ENC_CONTENT_it;
2934+ PKCS7_ENC_CONTENT_it;
2935+ OCSP_request_add0_id;
2936+ EC_POINT_make_affine;
2937+ DSO_get_filename;
2938+ OCSP_CERTSTATUS_it;
2939+ OCSP_CERTSTATUS_it;
2940+ OCSP_request_add1_cert;
2941+ UI_get0_output_string;
2942+ UI_dup_verify_string;
2943+ BN_mod_lshift;
2944+ KRB5_AUTHDATA_it;
2945+ KRB5_AUTHDATA_it;
2946+ asn1_set_choice_selector;
2947+ OCSP_basic_add1_status;
2948+ OCSP_RESPID_free;
2949+ asn1_get_field_ptr;
2950+ UI_add_input_string;
2951+ OCSP_CRLID_it;
2952+ OCSP_CRLID_it;
2953+ i2d_KRB5_AUTHENTBODY;
2954+ OCSP_REQUEST_get_ext_count;
2955+ ENGINE_load_atalla;
2956+ X509_NAME_it;
2957+ X509_NAME_it;
2958+ USERNOTICE_it;
2959+ USERNOTICE_it;
2960+ OCSP_REQINFO_new;
2961+ OCSP_BASICRESP_get_ext;
2962+ CRYPTO_get_ex_data_implementation;
2963+ CRYPTO_get_ex_data_impl;
2964+ ASN1_item_pack;
2965+ i2d_KRB5_ENCDATA;
2966+ X509_PURPOSE_set;
2967+ X509_REQ_INFO_it;
2968+ X509_REQ_INFO_it;
2969+ UI_method_set_opener;
2970+ ASN1_item_ex_free;
2971+ ASN1_BOOLEAN_it;
2972+ ASN1_BOOLEAN_it;
2973+ ENGINE_get_table_flags;
2974+ UI_create_method;
2975+ OCSP_ONEREQ_add1_ext_i2d;
2976+ _shadow_DES_check_key;
2977+ _shadow_DES_check_key;
2978+ d2i_OCSP_REQINFO;
2979+ UI_add_info_string;
2980+ UI_get_result_minsize;
2981+ ASN1_NULL_it;
2982+ ASN1_NULL_it;
2983+ BN_mod_lshift1;
2984+ d2i_OCSP_ONEREQ;
2985+ OCSP_ONEREQ_new;
2986+ KRB5_TICKET_it;
2987+ KRB5_TICKET_it;
2988+ EVP_aes_192_cbc;
2989+ KRB5_TICKET_free;
2990+ UI_new;
2991+ OCSP_response_create;
2992+ _ossl_old_des_xcbc_encrypt;
2993+ PKCS7_it;
2994+ PKCS7_it;
2995+ OCSP_REQUEST_get_ext_by_critical;
2996+ OCSP_REQUEST_get_ext_by_crit;
2997+ ENGINE_set_flags;
2998+ _ossl_old_des_ecb_encrypt;
2999+ OCSP_response_get1_basic;
3000+ EVP_Digest;
3001+ OCSP_ONEREQ_delete_ext;
3002+ ASN1_TBOOLEAN_it;
3003+ ASN1_TBOOLEAN_it;
3004+ ASN1_item_new;
3005+ ASN1_TIME_to_generalizedtime;
3006+ BIGNUM_it;
3007+ BIGNUM_it;
3008+ AES_cbc_encrypt;
3009+ ENGINE_get_load_privkey_function;
3010+ ENGINE_get_load_privkey_fn;
3011+ OCSP_RESPONSE_free;
3012+ UI_method_set_reader;
3013+ i2d_ASN1_T61STRING;
3014+ EC_POINT_set_to_infinity;
3015+ ERR_load_OCSP_strings;
3016+ EC_POINT_point2oct;
3017+ KRB5_APREQ_free;
3018+ ASN1_OBJECT_it;
3019+ ASN1_OBJECT_it;
3020+ OCSP_crlID_new;
3021+ OCSP_crlID2_new;
3022+ CONF_modules_load_file;
3023+ CONF_imodule_set_usr_data;
3024+ ENGINE_set_default_string;
3025+ CONF_module_get_usr_data;
3026+ ASN1_add_oid_module;
3027+ CONF_modules_finish;
3028+ OPENSSL_config;
3029+ CONF_modules_unload;
3030+ CONF_imodule_get_value;
3031+ CONF_module_set_usr_data;
3032+ CONF_parse_list;
3033+ CONF_module_add;
3034+ CONF_get1_default_config_file;
3035+ CONF_imodule_get_flags;
3036+ CONF_imodule_get_module;
3037+ CONF_modules_load;
3038+ CONF_imodule_get_name;
3039+ ERR_peek_top_error;
3040+ CONF_imodule_get_usr_data;
3041+ CONF_imodule_set_flags;
3042+ ENGINE_add_conf_module;
3043+ ERR_peek_last_error_line;
3044+ ERR_peek_last_error_line_data;
3045+ ERR_peek_last_error;
3046+ DES_read_2passwords;
3047+ DES_read_password;
3048+ UI_UTIL_read_pw;
3049+ UI_UTIL_read_pw_string;
3050+ ENGINE_load_aep;
3051+ ENGINE_load_sureware;
3052+ OPENSSL_add_all_algorithms_noconf;
3053+ OPENSSL_add_all_algo_noconf;
3054+ OPENSSL_add_all_algorithms_conf;
3055+ OPENSSL_add_all_algo_conf;
3056+ OPENSSL_load_builtin_modules;
3057+ AES_ofb128_encrypt;
3058+ AES_ctr128_encrypt;
3059+ AES_cfb128_encrypt;
3060+ ENGINE_load_4758cca;
3061+ _ossl_096_des_random_seed;
3062+ EVP_aes_256_ofb;
3063+ EVP_aes_192_ofb;
3064+ EVP_aes_128_cfb128;
3065+ EVP_aes_256_cfb128;
3066+ EVP_aes_128_ofb;
3067+ EVP_aes_192_cfb128;
3068+ CONF_modules_free;
3069+ NCONF_default;
3070+ OPENSSL_no_config;
3071+ NCONF_WIN32;
3072+ ASN1_UNIVERSALSTRING_new;
3073+ EVP_des_ede_ecb;
3074+ i2d_ASN1_UNIVERSALSTRING;
3075+ ASN1_UNIVERSALSTRING_free;
3076+ ASN1_UNIVERSALSTRING_it;
3077+ ASN1_UNIVERSALSTRING_it;
3078+ d2i_ASN1_UNIVERSALSTRING;
3079+ EVP_des_ede3_ecb;
3080+ X509_REQ_print_ex;
3081+ ENGINE_up_ref;
3082+ BUF_MEM_grow_clean;
3083+ CRYPTO_realloc_clean;
3084+ BUF_strlcat;
3085+ BIO_indent;
3086+ BUF_strlcpy;
3087+ OpenSSLDie;
3088+ OPENSSL_cleanse;
3089+ ENGINE_setup_bsd_cryptodev;
3090+ ERR_release_err_state_table;
3091+ EVP_aes_128_cfb8;
3092+ FIPS_corrupt_rsa;
3093+ FIPS_selftest_des;
3094+ EVP_aes_128_cfb1;
3095+ EVP_aes_192_cfb8;
3096+ FIPS_mode_set;
3097+ FIPS_selftest_dsa;
3098+ EVP_aes_256_cfb8;
3099+ FIPS_allow_md5;
3100+ DES_ede3_cfb_encrypt;
3101+ EVP_des_ede3_cfb8;
3102+ FIPS_rand_seeded;
3103+ AES_cfbr_encrypt_block;
3104+ AES_cfb8_encrypt;
3105+ FIPS_rand_seed;
3106+ FIPS_corrupt_des;
3107+ EVP_aes_192_cfb1;
3108+ FIPS_selftest_aes;
3109+ FIPS_set_prng_key;
3110+ EVP_des_cfb8;
3111+ FIPS_corrupt_dsa;
3112+ FIPS_test_mode;
3113+ FIPS_rand_method;
3114+ EVP_aes_256_cfb1;
3115+ ERR_load_FIPS_strings;
3116+ FIPS_corrupt_aes;
3117+ FIPS_selftest_sha1;
3118+ FIPS_selftest_rsa;
3119+ FIPS_corrupt_sha1;
3120+ EVP_des_cfb1;
3121+ FIPS_dsa_check;
3122+ AES_cfb1_encrypt;
3123+ EVP_des_ede3_cfb1;
3124+ FIPS_rand_check;
3125+ FIPS_md5_allowed;
3126+ FIPS_mode;
3127+ FIPS_selftest_failed;
3128+ sk_is_sorted;
3129+ X509_check_ca;
3130+ HMAC_CTX_set_flags;
3131+ d2i_PROXY_CERT_INFO_EXTENSION;
3132+ PROXY_POLICY_it;
3133+ PROXY_POLICY_it;
3134+ i2d_PROXY_POLICY;
3135+ i2d_PROXY_CERT_INFO_EXTENSION;
3136+ d2i_PROXY_POLICY;
3137+ PROXY_CERT_INFO_EXTENSION_new;
3138+ PROXY_CERT_INFO_EXTENSION_free;
3139+ PROXY_CERT_INFO_EXTENSION_it;
3140+ PROXY_CERT_INFO_EXTENSION_it;
3141+ PROXY_POLICY_free;
3142+ PROXY_POLICY_new;
3143+ BN_MONT_CTX_set_locked;
3144+ FIPS_selftest_rng;
3145+ EVP_sha384;
3146+ EVP_sha512;
3147+ EVP_sha224;
3148+ EVP_sha256;
3149+ FIPS_selftest_hmac;
3150+ FIPS_corrupt_rng;
3151+ BN_mod_exp_mont_consttime;
3152+ RSA_X931_hash_id;
3153+ RSA_padding_check_X931;
3154+ RSA_verify_PKCS1_PSS;
3155+ RSA_padding_add_X931;
3156+ RSA_padding_add_PKCS1_PSS;
3157+ PKCS1_MGF1;
3158+ BN_X931_generate_Xpq;
3159+ RSA_X931_generate_key;
3160+ BN_X931_derive_prime;
3161+ BN_X931_generate_prime;
3162+ RSA_X931_derive;
3163+ BIO_new_dgram;
3164+ BN_get0_nist_prime_384;
3165+ ERR_set_mark;
3166+ X509_STORE_CTX_set0_crls;
3167+ ENGINE_set_STORE;
3168+ ENGINE_register_ECDSA;
3169+ STORE_meth_set_list_start_fn;
3170+ STORE_method_set_list_start_function;
3171+ BN_BLINDING_invert_ex;
3172+ NAME_CONSTRAINTS_free;
3173+ STORE_ATTR_INFO_set_number;
3174+ BN_BLINDING_get_thread_id;
3175+ X509_STORE_CTX_set0_param;
3176+ POLICY_MAPPING_it;
3177+ POLICY_MAPPING_it;
3178+ STORE_parse_attrs_start;
3179+ POLICY_CONSTRAINTS_free;
3180+ EVP_PKEY_add1_attr_by_NID;
3181+ BN_nist_mod_192;
3182+ EC_GROUP_get_trinomial_basis;
3183+ STORE_set_method;
3184+ GENERAL_SUBTREE_free;
3185+ NAME_CONSTRAINTS_it;
3186+ NAME_CONSTRAINTS_it;
3187+ ECDH_get_default_method;
3188+ PKCS12_add_safe;
3189+ EC_KEY_new_by_curve_name;
3190+ STORE_meth_get_update_store_fn;
3191+ STORE_method_get_update_store_function;
3192+ ENGINE_register_ECDH;
3193+ SHA512_Update;
3194+ i2d_ECPrivateKey;
3195+ BN_get0_nist_prime_192;
3196+ STORE_modify_certificate;
3197+ EC_POINT_set_affine_coordinates_GF2m;
3198+ EC_POINT_set_affine_coords_GF2m;
3199+ BN_GF2m_mod_exp_arr;
3200+ STORE_ATTR_INFO_modify_number;
3201+ X509_keyid_get0;
3202+ ENGINE_load_gmp;
3203+ pitem_new;
3204+ BN_GF2m_mod_mul_arr;
3205+ STORE_list_public_key_endp;
3206+ o2i_ECPublicKey;
3207+ EC_KEY_copy;
3208+ BIO_dump_fp;
3209+ X509_policy_node_get0_parent;
3210+ EC_GROUP_check_discriminant;
3211+ i2o_ECPublicKey;
3212+ EC_KEY_precompute_mult;
3213+ a2i_IPADDRESS;
3214+ STORE_meth_set_initialise_fn;
3215+ STORE_method_set_initialise_function;
3216+ X509_STORE_CTX_set_depth;
3217+ X509_VERIFY_PARAM_inherit;
3218+ EC_POINT_point2bn;
3219+ STORE_ATTR_INFO_set_dn;
3220+ X509_policy_tree_get0_policies;
3221+ EC_GROUP_new_curve_GF2m;
3222+ STORE_destroy_method;
3223+ ENGINE_unregister_STORE;
3224+ EVP_PKEY_get1_EC_KEY;
3225+ STORE_ATTR_INFO_get0_number;
3226+ ENGINE_get_default_ECDH;
3227+ EC_KEY_get_conv_form;
3228+ ASN1_OCTET_STRING_NDEF_it;
3229+ ASN1_OCTET_STRING_NDEF_it;
3230+ STORE_delete_public_key;
3231+ STORE_get_public_key;
3232+ STORE_modify_arbitrary;
3233+ ENGINE_get_static_state;
3234+ pqueue_iterator;
3235+ ECDSA_SIG_new;
3236+ OPENSSL_DIR_end;
3237+ BN_GF2m_mod_sqr;
3238+ EC_POINT_bn2point;
3239+ X509_VERIFY_PARAM_set_depth;
3240+ EC_KEY_set_asn1_flag;
3241+ STORE_get_method;
3242+ EC_KEY_get_key_method_data;
3243+ ECDSA_sign_ex;
3244+ STORE_parse_attrs_end;
3245+ EC_GROUP_get_point_conversion_form;
3246+ EC_GROUP_get_point_conv_form;
3247+ STORE_method_set_store_function;
3248+ STORE_ATTR_INFO_in;
3249+ PEM_read_bio_ECPKParameters;
3250+ EC_GROUP_get_pentanomial_basis;
3251+ EVP_PKEY_add1_attr_by_txt;
3252+ BN_BLINDING_set_flags;
3253+ X509_VERIFY_PARAM_set1_policies;
3254+ X509_VERIFY_PARAM_set1_name;
3255+ X509_VERIFY_PARAM_set_purpose;
3256+ STORE_get_number;
3257+ ECDSA_sign_setup;
3258+ BN_GF2m_mod_solve_quad_arr;
3259+ EC_KEY_up_ref;
3260+ POLICY_MAPPING_free;
3261+ BN_GF2m_mod_div;
3262+ X509_VERIFY_PARAM_set_flags;
3263+ EC_KEY_free;
3264+ STORE_meth_set_list_next_fn;
3265+ STORE_method_set_list_next_function;
3266+ PEM_write_bio_ECPrivateKey;
3267+ d2i_EC_PUBKEY;
3268+ STORE_meth_get_generate_fn;
3269+ STORE_method_get_generate_function;
3270+ STORE_meth_set_list_end_fn;
3271+ STORE_method_set_list_end_function;
3272+ pqueue_print;
3273+ EC_GROUP_have_precompute_mult;
3274+ EC_KEY_print_fp;
3275+ BN_GF2m_mod_arr;
3276+ PEM_write_bio_X509_CERT_PAIR;
3277+ EVP_PKEY_cmp;
3278+ X509_policy_level_node_count;
3279+ STORE_new_engine;
3280+ STORE_list_public_key_start;
3281+ X509_VERIFY_PARAM_new;
3282+ ECDH_get_ex_data;
3283+ EVP_PKEY_get_attr;
3284+ ECDSA_do_sign;
3285+ ENGINE_unregister_ECDH;
3286+ ECDH_OpenSSL;
3287+ EC_KEY_set_conv_form;
3288+ EC_POINT_dup;
3289+ GENERAL_SUBTREE_new;
3290+ STORE_list_crl_endp;
3291+ EC_get_builtin_curves;
3292+ X509_policy_node_get0_qualifiers;
3293+ X509_pcy_node_get0_qualifiers;
3294+ STORE_list_crl_end;
3295+ EVP_PKEY_set1_EC_KEY;
3296+ BN_GF2m_mod_sqrt_arr;
3297+ i2d_ECPrivateKey_bio;
3298+ ECPKParameters_print_fp;
3299+ pqueue_find;
3300+ ECDSA_SIG_free;
3301+ PEM_write_bio_ECPKParameters;
3302+ STORE_method_set_ctrl_function;
3303+ STORE_list_public_key_end;
3304+ EC_KEY_set_private_key;
3305+ pqueue_peek;
3306+ STORE_get_arbitrary;
3307+ STORE_store_crl;
3308+ X509_policy_node_get0_policy;
3309+ PKCS12_add_safes;
3310+ BN_BLINDING_convert_ex;
3311+ X509_policy_tree_free;
3312+ OPENSSL_ia32cap_loc;
3313+ BN_GF2m_poly2arr;
3314+ STORE_ctrl;
3315+ STORE_ATTR_INFO_compare;
3316+ BN_get0_nist_prime_224;
3317+ i2d_ECParameters;
3318+ i2d_ECPKParameters;
3319+ BN_GENCB_call;
3320+ d2i_ECPKParameters;
3321+ STORE_meth_set_generate_fn;
3322+ STORE_method_set_generate_function;
3323+ ENGINE_set_ECDH;
3324+ NAME_CONSTRAINTS_new;
3325+ SHA256_Init;
3326+ EC_KEY_get0_public_key;
3327+ PEM_write_bio_EC_PUBKEY;
3328+ STORE_ATTR_INFO_set_cstr;
3329+ STORE_list_crl_next;
3330+ STORE_ATTR_INFO_in_range;
3331+ ECParameters_print;
3332+ STORE_meth_set_delete_fn;
3333+ STORE_method_set_delete_function;
3334+ STORE_list_certificate_next;
3335+ ASN1_generate_nconf;
3336+ BUF_memdup;
3337+ BN_GF2m_mod_mul;
3338+ STORE_meth_get_list_next_fn;
3339+ STORE_method_get_list_next_function;
3340+ STORE_ATTR_INFO_get0_dn;
3341+ STORE_list_private_key_next;
3342+ EC_GROUP_set_seed;
3343+ X509_VERIFY_PARAM_set_trust;
3344+ STORE_ATTR_INFO_free;
3345+ STORE_get_private_key;
3346+ EVP_PKEY_get_attr_count;
3347+ STORE_ATTR_INFO_new;
3348+ EC_GROUP_get_curve_GF2m;
3349+ STORE_meth_set_revoke_fn;
3350+ STORE_method_set_revoke_function;
3351+ STORE_store_number;
3352+ BN_is_prime_ex;
3353+ STORE_revoke_public_key;
3354+ X509_STORE_CTX_get0_param;
3355+ STORE_delete_arbitrary;
3356+ PEM_read_X509_CERT_PAIR;
3357+ X509_STORE_set_depth;
3358+ ECDSA_get_ex_data;
3359+ SHA224;
3360+ BIO_dump_indent_fp;
3361+ EC_KEY_set_group;
3362+ BUF_strndup;
3363+ STORE_list_certificate_start;
3364+ BN_GF2m_mod;
3365+ X509_REQ_check_private_key;
3366+ EC_GROUP_get_seed_len;
3367+ ERR_load_STORE_strings;
3368+ PEM_read_bio_EC_PUBKEY;
3369+ STORE_list_private_key_end;
3370+ i2d_EC_PUBKEY;
3371+ ECDSA_get_default_method;
3372+ ASN1_put_eoc;
3373+ X509_STORE_CTX_get_explicit_policy;
3374+ X509_STORE_CTX_get_expl_policy;
3375+ X509_VERIFY_PARAM_table_cleanup;
3376+ STORE_modify_private_key;
3377+ X509_VERIFY_PARAM_free;
3378+ EC_METHOD_get_field_type;
3379+ EC_GFp_nist_method;
3380+ STORE_meth_set_modify_fn;
3381+ STORE_method_set_modify_function;
3382+ STORE_parse_attrs_next;
3383+ ENGINE_load_padlock;
3384+ EC_GROUP_set_curve_name;
3385+ X509_CERT_PAIR_it;
3386+ X509_CERT_PAIR_it;
3387+ STORE_meth_get_revoke_fn;
3388+ STORE_method_get_revoke_function;
3389+ STORE_method_set_get_function;
3390+ STORE_modify_number;
3391+ STORE_method_get_store_function;
3392+ STORE_store_private_key;
3393+ BN_GF2m_mod_sqr_arr;
3394+ RSA_setup_blinding;
3395+ BIO_s_datagram;
3396+ STORE_Memory;
3397+ sk_find_ex;
3398+ EC_GROUP_set_curve_GF2m;
3399+ ENGINE_set_default_ECDSA;
3400+ POLICY_CONSTRAINTS_new;
3401+ BN_GF2m_mod_sqrt;
3402+ ECDH_set_default_method;
3403+ EC_KEY_generate_key;
3404+ SHA384_Update;
3405+ BN_GF2m_arr2poly;
3406+ STORE_method_get_get_function;
3407+ STORE_meth_set_cleanup_fn;
3408+ STORE_method_set_cleanup_function;
3409+ EC_GROUP_check;
3410+ d2i_ECPrivateKey_bio;
3411+ EC_KEY_insert_key_method_data;
3412+ STORE_meth_get_lock_store_fn;
3413+ STORE_method_get_lock_store_function;
3414+ X509_VERIFY_PARAM_get_depth;
3415+ SHA224_Final;
3416+ STORE_meth_set_update_store_fn;
3417+ STORE_method_set_update_store_function;
3418+ SHA224_Update;
3419+ d2i_ECPrivateKey;
3420+ ASN1_item_ndef_i2d;
3421+ STORE_delete_private_key;
3422+ ERR_pop_to_mark;
3423+ ENGINE_register_all_STORE;
3424+ X509_policy_level_get0_node;
3425+ i2d_PKCS7_NDEF;
3426+ EC_GROUP_get_degree;
3427+ ASN1_generate_v3;
3428+ STORE_ATTR_INFO_modify_cstr;
3429+ X509_policy_tree_level_count;
3430+ BN_GF2m_add;
3431+ EC_KEY_get0_group;
3432+ STORE_generate_crl;
3433+ STORE_store_public_key;
3434+ X509_CERT_PAIR_free;
3435+ STORE_revoke_private_key;
3436+ BN_nist_mod_224;
3437+ SHA512_Final;
3438+ STORE_ATTR_INFO_modify_dn;
3439+ STORE_meth_get_initialise_fn;
3440+ STORE_method_get_initialise_function;
3441+ STORE_delete_number;
3442+ i2d_EC_PUBKEY_bio;
3443+ BIO_dgram_non_fatal_error;
3444+ EC_GROUP_get_asn1_flag;
3445+ STORE_ATTR_INFO_in_ex;
3446+ STORE_list_crl_start;
3447+ ECDH_get_ex_new_index;
3448+ STORE_meth_get_modify_fn;
3449+ STORE_method_get_modify_function;
3450+ v2i_ASN1_BIT_STRING;
3451+ STORE_store_certificate;
3452+ OBJ_bsearch_ex;
3453+ X509_STORE_CTX_set_default;
3454+ STORE_ATTR_INFO_set_sha1str;
3455+ BN_GF2m_mod_inv;
3456+ BN_GF2m_mod_exp;
3457+ STORE_modify_public_key;
3458+ STORE_meth_get_list_start_fn;
3459+ STORE_method_get_list_start_function;
3460+ EC_GROUP_get0_seed;
3461+ STORE_store_arbitrary;
3462+ STORE_meth_set_unlock_store_fn;
3463+ STORE_method_set_unlock_store_function;
3464+ BN_GF2m_mod_div_arr;
3465+ ENGINE_set_ECDSA;
3466+ STORE_create_method;
3467+ ECPKParameters_print;
3468+ EC_KEY_get0_private_key;
3469+ PEM_write_EC_PUBKEY;
3470+ X509_VERIFY_PARAM_set1;
3471+ ECDH_set_method;
3472+ v2i_GENERAL_NAME_ex;
3473+ ECDH_set_ex_data;
3474+ STORE_generate_key;
3475+ BN_nist_mod_521;
3476+ X509_policy_tree_get0_level;
3477+ EC_GROUP_set_point_conversion_form;
3478+ EC_GROUP_set_point_conv_form;
3479+ PEM_read_EC_PUBKEY;
3480+ i2d_ECDSA_SIG;
3481+ ECDSA_OpenSSL;
3482+ STORE_delete_crl;
3483+ EC_KEY_get_enc_flags;
3484+ ASN1_const_check_infinite_end;
3485+ EVP_PKEY_delete_attr;
3486+ ECDSA_set_default_method;
3487+ EC_POINT_set_compressed_coordinates_GF2m;
3488+ EC_POINT_set_compr_coords_GF2m;
3489+ EC_GROUP_cmp;
3490+ STORE_revoke_certificate;
3491+ BN_get0_nist_prime_256;
3492+ STORE_meth_get_delete_fn;
3493+ STORE_method_get_delete_function;
3494+ SHA224_Init;
3495+ PEM_read_ECPrivateKey;
3496+ SHA512_Init;
3497+ STORE_parse_attrs_endp;
3498+ BN_set_negative;
3499+ ERR_load_ECDSA_strings;
3500+ EC_GROUP_get_basis_type;
3501+ STORE_list_public_key_next;
3502+ i2v_ASN1_BIT_STRING;
3503+ STORE_OBJECT_free;
3504+ BN_nist_mod_384;
3505+ i2d_X509_CERT_PAIR;
3506+ PEM_write_ECPKParameters;
3507+ ECDH_compute_key;
3508+ STORE_ATTR_INFO_get0_sha1str;
3509+ ENGINE_register_all_ECDH;
3510+ pqueue_pop;
3511+ STORE_ATTR_INFO_get0_cstr;
3512+ POLICY_CONSTRAINTS_it;
3513+ POLICY_CONSTRAINTS_it;
3514+ STORE_get_ex_new_index;
3515+ EVP_PKEY_get_attr_by_OBJ;
3516+ X509_VERIFY_PARAM_add0_policy;
3517+ BN_GF2m_mod_solve_quad;
3518+ SHA256;
3519+ i2d_ECPrivateKey_fp;
3520+ X509_policy_tree_get0_user_policies;
3521+ X509_pcy_tree_get0_usr_policies;
3522+ OPENSSL_DIR_read;
3523+ ENGINE_register_all_ECDSA;
3524+ X509_VERIFY_PARAM_lookup;
3525+ EC_POINT_get_affine_coordinates_GF2m;
3526+ EC_POINT_get_affine_coords_GF2m;
3527+ EC_GROUP_dup;
3528+ ENGINE_get_default_ECDSA;
3529+ EC_KEY_new;
3530+ SHA256_Transform;
3531+ EC_KEY_set_enc_flags;
3532+ ECDSA_verify;
3533+ EC_POINT_point2hex;
3534+ ENGINE_get_STORE;
3535+ SHA512;
3536+ STORE_get_certificate;
3537+ ECDSA_do_sign_ex;
3538+ ECDSA_do_verify;
3539+ d2i_ECPrivateKey_fp;
3540+ STORE_delete_certificate;
3541+ SHA512_Transform;
3542+ X509_STORE_set1_param;
3543+ STORE_method_get_ctrl_function;
3544+ STORE_free;
3545+ PEM_write_ECPrivateKey;
3546+ STORE_meth_get_unlock_store_fn;
3547+ STORE_method_get_unlock_store_function;
3548+ STORE_get_ex_data;
3549+ EC_KEY_set_public_key;
3550+ PEM_read_ECPKParameters;
3551+ X509_CERT_PAIR_new;
3552+ ENGINE_register_STORE;
3553+ RSA_generate_key_ex;
3554+ DSA_generate_parameters_ex;
3555+ ECParameters_print_fp;
3556+ X509V3_NAME_from_section;
3557+ EVP_PKEY_add1_attr;
3558+ STORE_modify_crl;
3559+ STORE_list_private_key_start;
3560+ POLICY_MAPPINGS_it;
3561+ POLICY_MAPPINGS_it;
3562+ GENERAL_SUBTREE_it;
3563+ GENERAL_SUBTREE_it;
3564+ EC_GROUP_get_curve_name;
3565+ PEM_write_X509_CERT_PAIR;
3566+ BIO_dump_indent_cb;
3567+ d2i_X509_CERT_PAIR;
3568+ STORE_list_private_key_endp;
3569+ asn1_const_Finish;
3570+ i2d_EC_PUBKEY_fp;
3571+ BN_nist_mod_256;
3572+ X509_VERIFY_PARAM_add0_table;
3573+ pqueue_free;
3574+ BN_BLINDING_create_param;
3575+ ECDSA_size;
3576+ d2i_EC_PUBKEY_bio;
3577+ BN_get0_nist_prime_521;
3578+ STORE_ATTR_INFO_modify_sha1str;
3579+ BN_generate_prime_ex;
3580+ EC_GROUP_new_by_curve_name;
3581+ SHA256_Final;
3582+ DH_generate_parameters_ex;
3583+ PEM_read_bio_ECPrivateKey;
3584+ STORE_meth_get_cleanup_fn;
3585+ STORE_method_get_cleanup_function;
3586+ ENGINE_get_ECDH;
3587+ d2i_ECDSA_SIG;
3588+ BN_is_prime_fasttest_ex;
3589+ ECDSA_sign;
3590+ X509_policy_check;
3591+ EVP_PKEY_get_attr_by_NID;
3592+ STORE_set_ex_data;
3593+ ENGINE_get_ECDSA;
3594+ EVP_ecdsa;
3595+ BN_BLINDING_get_flags;
3596+ PKCS12_add_cert;
3597+ STORE_OBJECT_new;
3598+ ERR_load_ECDH_strings;
3599+ EC_KEY_dup;
3600+ EVP_CIPHER_CTX_rand_key;
3601+ ECDSA_set_method;
3602+ a2i_IPADDRESS_NC;
3603+ d2i_ECParameters;
3604+ STORE_list_certificate_end;
3605+ STORE_get_crl;
3606+ X509_POLICY_NODE_print;
3607+ SHA384_Init;
3608+ EC_GF2m_simple_method;
3609+ ECDSA_set_ex_data;
3610+ SHA384_Final;
3611+ PKCS7_set_digest;
3612+ EC_KEY_print;
3613+ STORE_meth_set_lock_store_fn;
3614+ STORE_method_set_lock_store_function;
3615+ ECDSA_get_ex_new_index;
3616+ SHA384;
3617+ POLICY_MAPPING_new;
3618+ STORE_list_certificate_endp;
3619+ X509_STORE_CTX_get0_policy_tree;
3620+ EC_GROUP_set_asn1_flag;
3621+ EC_KEY_check_key;
3622+ d2i_EC_PUBKEY_fp;
3623+ PKCS7_set0_type_other;
3624+ PEM_read_bio_X509_CERT_PAIR;
3625+ pqueue_next;
3626+ STORE_meth_get_list_end_fn;
3627+ STORE_method_get_list_end_function;
3628+ EVP_PKEY_add1_attr_by_OBJ;
3629+ X509_VERIFY_PARAM_set_time;
3630+ pqueue_new;
3631+ ENGINE_set_default_ECDH;
3632+ STORE_new_method;
3633+ PKCS12_add_key;
3634+ DSO_merge;
3635+ EC_POINT_hex2point;
3636+ BIO_dump_cb;
3637+ SHA256_Update;
3638+ pqueue_insert;
3639+ pitem_free;
3640+ BN_GF2m_mod_inv_arr;
3641+ ENGINE_unregister_ECDSA;
3642+ BN_BLINDING_set_thread_id;
3643+ get_rfc3526_prime_8192;
3644+ X509_VERIFY_PARAM_clear_flags;
3645+ get_rfc2409_prime_1024;
3646+ DH_check_pub_key;
3647+ get_rfc3526_prime_2048;
3648+ get_rfc3526_prime_6144;
3649+ get_rfc3526_prime_1536;
3650+ get_rfc3526_prime_3072;
3651+ get_rfc3526_prime_4096;
3652+ get_rfc2409_prime_768;
3653+ X509_VERIFY_PARAM_get_flags;
3654+ EVP_CIPHER_CTX_new;
3655+ EVP_CIPHER_CTX_free;
3656+ Camellia_cbc_encrypt;
3657+ Camellia_cfb128_encrypt;
3658+ Camellia_cfb1_encrypt;
3659+ Camellia_cfb8_encrypt;
3660+ Camellia_ctr128_encrypt;
3661+ Camellia_cfbr_encrypt_block;
3662+ Camellia_decrypt;
3663+ Camellia_ecb_encrypt;
3664+ Camellia_encrypt;
3665+ Camellia_ofb128_encrypt;
3666+ Camellia_set_key;
3667+ EVP_camellia_128_cbc;
3668+ EVP_camellia_128_cfb128;
3669+ EVP_camellia_128_cfb1;
3670+ EVP_camellia_128_cfb8;
3671+ EVP_camellia_128_ecb;
3672+ EVP_camellia_128_ofb;
3673+ EVP_camellia_192_cbc;
3674+ EVP_camellia_192_cfb128;
3675+ EVP_camellia_192_cfb1;
3676+ EVP_camellia_192_cfb8;
3677+ EVP_camellia_192_ecb;
3678+ EVP_camellia_192_ofb;
3679+ EVP_camellia_256_cbc;
3680+ EVP_camellia_256_cfb128;
3681+ EVP_camellia_256_cfb1;
3682+ EVP_camellia_256_cfb8;
3683+ EVP_camellia_256_ecb;
3684+ EVP_camellia_256_ofb;
3685+ a2i_ipadd;
3686+ ASIdentifiers_free;
3687+ i2d_ASIdOrRange;
3688+ EVP_CIPHER_block_size;
3689+ v3_asid_is_canonical;
3690+ IPAddressChoice_free;
3691+ EVP_CIPHER_CTX_set_app_data;
3692+ BIO_set_callback_arg;
3693+ v3_addr_add_prefix;
3694+ IPAddressOrRange_it;
3695+ IPAddressOrRange_it;
3696+ BIO_set_flags;
3697+ ASIdentifiers_it;
3698+ ASIdentifiers_it;
3699+ v3_addr_get_range;
3700+ BIO_method_type;
3701+ v3_addr_inherits;
3702+ IPAddressChoice_it;
3703+ IPAddressChoice_it;
3704+ AES_ige_encrypt;
3705+ v3_addr_add_range;
3706+ EVP_CIPHER_CTX_nid;
3707+ d2i_ASRange;
3708+ v3_addr_add_inherit;
3709+ v3_asid_add_id_or_range;
3710+ v3_addr_validate_resource_set;
3711+ EVP_CIPHER_iv_length;
3712+ EVP_MD_type;
3713+ v3_asid_canonize;
3714+ IPAddressRange_free;
3715+ v3_asid_add_inherit;
3716+ EVP_CIPHER_CTX_key_length;
3717+ IPAddressRange_new;
3718+ ASIdOrRange_new;
3719+ EVP_MD_size;
3720+ EVP_MD_CTX_test_flags;
3721+ BIO_clear_flags;
3722+ i2d_ASRange;
3723+ IPAddressRange_it;
3724+ IPAddressRange_it;
3725+ IPAddressChoice_new;
3726+ ASIdentifierChoice_new;
3727+ ASRange_free;
3728+ EVP_MD_pkey_type;
3729+ EVP_MD_CTX_clear_flags;
3730+ IPAddressFamily_free;
3731+ i2d_IPAddressFamily;
3732+ IPAddressOrRange_new;
3733+ EVP_CIPHER_flags;
3734+ v3_asid_validate_resource_set;
3735+ d2i_IPAddressRange;
3736+ AES_bi_ige_encrypt;
3737+ BIO_get_callback;
3738+ IPAddressOrRange_free;
3739+ v3_addr_subset;
3740+ d2i_IPAddressFamily;
3741+ v3_asid_subset;
3742+ BIO_test_flags;
3743+ i2d_ASIdentifierChoice;
3744+ ASRange_it;
3745+ ASRange_it;
3746+ d2i_ASIdentifiers;
3747+ ASRange_new;
3748+ d2i_IPAddressChoice;
3749+ v3_addr_get_afi;
3750+ EVP_CIPHER_key_length;
3751+ EVP_Cipher;
3752+ i2d_IPAddressOrRange;
3753+ ASIdOrRange_it;
3754+ ASIdOrRange_it;
3755+ EVP_CIPHER_nid;
3756+ i2d_IPAddressChoice;
3757+ EVP_CIPHER_CTX_block_size;
3758+ ASIdentifiers_new;
3759+ v3_addr_validate_path;
3760+ IPAddressFamily_new;
3761+ EVP_MD_CTX_set_flags;
3762+ v3_addr_is_canonical;
3763+ i2d_IPAddressRange;
3764+ IPAddressFamily_it;
3765+ IPAddressFamily_it;
3766+ v3_asid_inherits;
3767+ EVP_CIPHER_CTX_cipher;
3768+ EVP_CIPHER_CTX_get_app_data;
3769+ EVP_MD_block_size;
3770+ EVP_CIPHER_CTX_flags;
3771+ v3_asid_validate_path;
3772+ d2i_IPAddressOrRange;
3773+ v3_addr_canonize;
3774+ ASIdentifierChoice_it;
3775+ ASIdentifierChoice_it;
3776+ EVP_MD_CTX_md;
3777+ d2i_ASIdentifierChoice;
3778+ BIO_method_name;
3779+ EVP_CIPHER_CTX_iv_length;
3780+ ASIdOrRange_free;
3781+ ASIdentifierChoice_free;
3782+ BIO_get_callback_arg;
3783+ BIO_set_callback;
3784+ d2i_ASIdOrRange;
3785+ i2d_ASIdentifiers;
3786+ SEED_decrypt;
3787+ SEED_encrypt;
3788+ SEED_cbc_encrypt;
3789+ EVP_seed_ofb;
3790+ SEED_cfb128_encrypt;
3791+ SEED_ofb128_encrypt;
3792+ EVP_seed_cbc;
3793+ SEED_ecb_encrypt;
3794+ EVP_seed_ecb;
3795+ SEED_set_key;
3796+ EVP_seed_cfb128;
3797+ X509_EXTENSIONS_it;
3798+ X509_EXTENSIONS_it;
3799+ X509_get1_ocsp;
3800+ OCSP_REQ_CTX_free;
3801+ i2d_X509_EXTENSIONS;
3802+ OCSP_sendreq_nbio;
3803+ OCSP_sendreq_new;
3804+ d2i_X509_EXTENSIONS;
3805+ X509_ALGORS_it;
3806+ X509_ALGORS_it;
3807+ X509_ALGOR_get0;
3808+ X509_ALGOR_set0;
3809+ AES_unwrap_key;
3810+ AES_wrap_key;
3811+ X509at_get0_data_by_OBJ;
3812+ ASN1_TYPE_set1;
3813+ ASN1_STRING_set0;
3814+ i2d_X509_ALGORS;
3815+ BIO_f_zlib;
3816+ COMP_zlib_cleanup;
3817+ d2i_X509_ALGORS;
3818+ CMS_ReceiptRequest_free;
3819+ PEM_write_CMS;
3820+ CMS_add0_CertificateChoices;
3821+ CMS_unsigned_add1_attr_by_OBJ;
3822+ ERR_load_CMS_strings;
3823+ CMS_sign_receipt;
3824+ i2d_CMS_ContentInfo;
3825+ CMS_signed_delete_attr;
3826+ d2i_CMS_bio;
3827+ CMS_unsigned_get_attr_by_NID;
3828+ CMS_verify;
3829+ SMIME_read_CMS;
3830+ CMS_decrypt_set1_key;
3831+ CMS_SignerInfo_get0_algs;
3832+ CMS_add1_cert;
3833+ CMS_set_detached;
3834+ CMS_encrypt;
3835+ CMS_EnvelopedData_create;
3836+ CMS_uncompress;
3837+ CMS_add0_crl;
3838+ CMS_SignerInfo_verify_content;
3839+ CMS_unsigned_get0_data_by_OBJ;
3840+ PEM_write_bio_CMS;
3841+ CMS_unsigned_get_attr;
3842+ CMS_RecipientInfo_ktri_cert_cmp;
3843+ CMS_RecipientInfo_ktri_get0_algs;
3844+ CMS_RecipInfo_ktri_get0_algs;
3845+ CMS_ContentInfo_free;
3846+ CMS_final;
3847+ CMS_add_simple_smimecap;
3848+ CMS_SignerInfo_verify;
3849+ CMS_data;
3850+ CMS_ContentInfo_it;
3851+ CMS_ContentInfo_it;
3852+ d2i_CMS_ReceiptRequest;
3853+ CMS_compress;
3854+ CMS_digest_create;
3855+ CMS_SignerInfo_cert_cmp;
3856+ CMS_SignerInfo_sign;
3857+ CMS_data_create;
3858+ i2d_CMS_bio;
3859+ CMS_EncryptedData_set1_key;
3860+ CMS_decrypt;
3861+ int_smime_write_ASN1;
3862+ CMS_unsigned_delete_attr;
3863+ CMS_unsigned_get_attr_count;
3864+ CMS_add_smimecap;
3865+ PEM_read_CMS;
3866+ CMS_signed_get_attr_by_OBJ;
3867+ d2i_CMS_ContentInfo;
3868+ CMS_add_standard_smimecap;
3869+ CMS_ContentInfo_new;
3870+ CMS_RecipientInfo_type;
3871+ CMS_get0_type;
3872+ CMS_is_detached;
3873+ CMS_sign;
3874+ CMS_signed_add1_attr;
3875+ CMS_unsigned_get_attr_by_OBJ;
3876+ SMIME_write_CMS;
3877+ CMS_EncryptedData_decrypt;
3878+ CMS_get0_RecipientInfos;
3879+ CMS_add0_RevocationInfoChoice;
3880+ CMS_decrypt_set1_pkey;
3881+ CMS_SignerInfo_set1_signer_cert;
3882+ CMS_get0_signers;
3883+ CMS_ReceiptRequest_get0_values;
3884+ CMS_signed_get0_data_by_OBJ;
3885+ CMS_get0_SignerInfos;
3886+ CMS_add0_cert;
3887+ CMS_EncryptedData_encrypt;
3888+ CMS_digest_verify;
3889+ CMS_set1_signers_certs;
3890+ CMS_signed_get_attr;
3891+ CMS_RecipientInfo_set0_key;
3892+ CMS_SignedData_init;
3893+ CMS_RecipientInfo_kekri_get0_id;
3894+ CMS_verify_receipt;
3895+ CMS_ReceiptRequest_it;
3896+ CMS_ReceiptRequest_it;
3897+ PEM_read_bio_CMS;
3898+ CMS_get1_crls;
3899+ CMS_add0_recipient_key;
3900+ SMIME_read_ASN1;
3901+ CMS_ReceiptRequest_new;
3902+ CMS_get0_content;
3903+ CMS_get1_ReceiptRequest;
3904+ CMS_signed_add1_attr_by_OBJ;
3905+ CMS_RecipientInfo_kekri_id_cmp;
3906+ CMS_add1_ReceiptRequest;
3907+ CMS_SignerInfo_get0_signer_id;
3908+ CMS_unsigned_add1_attr_by_NID;
3909+ CMS_unsigned_add1_attr;
3910+ CMS_signed_get_attr_by_NID;
3911+ CMS_get1_certs;
3912+ CMS_signed_add1_attr_by_NID;
3913+ CMS_unsigned_add1_attr_by_txt;
3914+ CMS_dataFinal;
3915+ CMS_RecipientInfo_ktri_get0_signer_id;
3916+ CMS_RecipInfo_ktri_get0_sigr_id;
3917+ i2d_CMS_ReceiptRequest;
3918+ CMS_add1_recipient_cert;
3919+ CMS_dataInit;
3920+ CMS_signed_add1_attr_by_txt;
3921+ CMS_RecipientInfo_decrypt;
3922+ CMS_signed_get_attr_count;
3923+ CMS_get0_eContentType;
3924+ CMS_set1_eContentType;
3925+ CMS_ReceiptRequest_create0;
3926+ CMS_add1_signer;
3927+ CMS_RecipientInfo_set0_pkey;
3928+ ENGINE_set_load_ssl_client_cert_function;
3929+ ENGINE_set_ld_ssl_clnt_cert_fn;
3930+ ENGINE_get_ssl_client_cert_function;
3931+ ENGINE_get_ssl_client_cert_fn;
3932+ ENGINE_load_ssl_client_cert;
3933+ ENGINE_load_capi;
3934+ OPENSSL_isservice;
3935+ FIPS_dsa_sig_decode;
3936+ EVP_CIPHER_CTX_clear_flags;
3937+ FIPS_rand_status;
3938+ FIPS_rand_set_key;
3939+ CRYPTO_set_mem_info_functions;
3940+ RSA_X931_generate_key_ex;
3941+ int_ERR_set_state_func;
3942+ int_EVP_MD_set_engine_callbacks;
3943+ int_CRYPTO_set_do_dynlock_callback;
3944+ FIPS_rng_stick;
3945+ EVP_CIPHER_CTX_set_flags;
3946+ BN_X931_generate_prime_ex;
3947+ FIPS_selftest_check;
3948+ FIPS_rand_set_dt;
3949+ CRYPTO_dbg_pop_info;
3950+ FIPS_dsa_free;
3951+ RSA_X931_derive_ex;
3952+ FIPS_rsa_new;
3953+ FIPS_rand_bytes;
3954+ fips_cipher_test;
3955+ EVP_CIPHER_CTX_test_flags;
3956+ CRYPTO_malloc_debug_init;
3957+ CRYPTO_dbg_push_info;
3958+ FIPS_corrupt_rsa_keygen;
3959+ FIPS_dh_new;
3960+ FIPS_corrupt_dsa_keygen;
3961+ FIPS_dh_free;
3962+ fips_pkey_signature_test;
3963+ EVP_add_alg_module;
3964+ int_RAND_init_engine_callbacks;
3965+ int_EVP_CIPHER_set_engine_callbacks;
3966+ int_EVP_MD_init_engine_callbacks;
3967+ FIPS_rand_test_mode;
3968+ FIPS_rand_reset;
3969+ FIPS_dsa_new;
3970+ int_RAND_set_callbacks;
3971+ BN_X931_derive_prime_ex;
3972+ int_ERR_lib_init;
3973+ int_EVP_CIPHER_init_engine_callbacks;
3974+ FIPS_rsa_free;
3975+ FIPS_dsa_sig_encode;
3976+ CRYPTO_dbg_remove_all_info;
3977+ OPENSSL_init;
3978+ CRYPTO_strdup;
3979+ JPAKE_STEP3A_process;
3980+ JPAKE_STEP1_release;
3981+ JPAKE_get_shared_key;
3982+ JPAKE_STEP3B_init;
3983+ JPAKE_STEP1_generate;
3984+ JPAKE_STEP1_init;
3985+ JPAKE_STEP3B_process;
3986+ JPAKE_STEP2_generate;
3987+ JPAKE_CTX_new;
3988+ JPAKE_CTX_free;
3989+ JPAKE_STEP3B_release;
3990+ JPAKE_STEP3A_release;
3991+ JPAKE_STEP2_process;
3992+ JPAKE_STEP3B_generate;
3993+ JPAKE_STEP1_process;
3994+ JPAKE_STEP3A_generate;
3995+ JPAKE_STEP2_release;
3996+ JPAKE_STEP3A_init;
3997+ ERR_load_JPAKE_strings;
3998+ JPAKE_STEP2_init;
3999+ pqueue_size;
4000+ i2d_TS_ACCURACY;
4001+ i2d_TS_MSG_IMPRINT_fp;
4002+ i2d_TS_MSG_IMPRINT;
4003+ EVP_PKEY_print_public;
4004+ EVP_PKEY_CTX_new;
4005+ i2d_TS_TST_INFO;
4006+ EVP_PKEY_asn1_find;
4007+ DSO_METHOD_beos;
4008+ TS_CONF_load_cert;
4009+ TS_REQ_get_ext;
4010+ EVP_PKEY_sign_init;
4011+ ASN1_item_print;
4012+ TS_TST_INFO_set_nonce;
4013+ TS_RESP_dup;
4014+ ENGINE_register_pkey_meths;
4015+ EVP_PKEY_asn1_add0;
4016+ PKCS7_add0_attrib_signing_time;
4017+ i2d_TS_TST_INFO_fp;
4018+ BIO_asn1_get_prefix;
4019+ TS_TST_INFO_set_time;
4020+ EVP_PKEY_meth_set_decrypt;
4021+ EVP_PKEY_set_type_str;
4022+ EVP_PKEY_CTX_get_keygen_info;
4023+ TS_REQ_set_policy_id;
4024+ d2i_TS_RESP_fp;
4025+ ENGINE_get_pkey_asn1_meth_engine;
4026+ ENGINE_get_pkey_asn1_meth_eng;
4027+ WHIRLPOOL_Init;
4028+ TS_RESP_set_status_info;
4029+ EVP_PKEY_keygen;
4030+ EVP_DigestSignInit;
4031+ TS_ACCURACY_set_millis;
4032+ TS_REQ_dup;
4033+ GENERAL_NAME_dup;
4034+ ASN1_SEQUENCE_ANY_it;
4035+ ASN1_SEQUENCE_ANY_it;
4036+ WHIRLPOOL;
4037+ X509_STORE_get1_crls;
4038+ ENGINE_get_pkey_asn1_meth;
4039+ EVP_PKEY_asn1_new;
4040+ BIO_new_NDEF;
4041+ ENGINE_get_pkey_meth;
4042+ TS_MSG_IMPRINT_set_algo;
4043+ i2d_TS_TST_INFO_bio;
4044+ TS_TST_INFO_set_ordering;
4045+ TS_TST_INFO_get_ext_by_OBJ;
4046+ CRYPTO_THREADID_set_pointer;
4047+ TS_CONF_get_tsa_section;
4048+ SMIME_write_ASN1;
4049+ TS_RESP_CTX_set_signer_key;
4050+ EVP_PKEY_encrypt_old;
4051+ EVP_PKEY_encrypt_init;
4052+ CRYPTO_THREADID_cpy;
4053+ ASN1_PCTX_get_cert_flags;
4054+ i2d_ESS_SIGNING_CERT;
4055+ TS_CONF_load_key;
4056+ i2d_ASN1_SEQUENCE_ANY;
4057+ d2i_TS_MSG_IMPRINT_bio;
4058+ EVP_PKEY_asn1_set_public;
4059+ b2i_PublicKey_bio;
4060+ BIO_asn1_set_prefix;
4061+ EVP_PKEY_new_mac_key;
4062+ BIO_new_CMS;
4063+ CRYPTO_THREADID_cmp;
4064+ TS_REQ_ext_free;
4065+ EVP_PKEY_asn1_set_free;
4066+ EVP_PKEY_get0_asn1;
4067+ d2i_NETSCAPE_X509;
4068+ EVP_PKEY_verify_recover_init;
4069+ EVP_PKEY_CTX_set_data;
4070+ EVP_PKEY_keygen_init;
4071+ TS_RESP_CTX_set_status_info;
4072+ TS_MSG_IMPRINT_get_algo;
4073+ TS_REQ_print_bio;
4074+ EVP_PKEY_CTX_ctrl_str;
4075+ EVP_PKEY_get_default_digest_nid;
4076+ PEM_write_bio_PKCS7_stream;
4077+ TS_MSG_IMPRINT_print_bio;
4078+ BN_asc2bn;
4079+ TS_REQ_get_policy_id;
4080+ ENGINE_set_default_pkey_asn1_meths;
4081+ ENGINE_set_def_pkey_asn1_meths;
4082+ d2i_TS_ACCURACY;
4083+ DSO_global_lookup;
4084+ TS_CONF_set_tsa_name;
4085+ i2d_ASN1_SET_ANY;
4086+ ENGINE_load_gost;
4087+ WHIRLPOOL_BitUpdate;
4088+ ASN1_PCTX_get_flags;
4089+ TS_TST_INFO_get_ext_by_NID;
4090+ TS_RESP_new;
4091+ ESS_CERT_ID_dup;
4092+ TS_STATUS_INFO_dup;
4093+ TS_REQ_delete_ext;
4094+ EVP_DigestVerifyFinal;
4095+ EVP_PKEY_print_params;
4096+ i2d_CMS_bio_stream;
4097+ TS_REQ_get_msg_imprint;
4098+ OBJ_find_sigid_by_algs;
4099+ TS_TST_INFO_get_serial;
4100+ TS_REQ_get_nonce;
4101+ X509_PUBKEY_set0_param;
4102+ EVP_PKEY_CTX_set0_keygen_info;
4103+ DIST_POINT_set_dpname;
4104+ i2d_ISSUING_DIST_POINT;
4105+ ASN1_SET_ANY_it;
4106+ ASN1_SET_ANY_it;
4107+ EVP_PKEY_CTX_get_data;
4108+ TS_STATUS_INFO_print_bio;
4109+ EVP_PKEY_derive_init;
4110+ d2i_TS_TST_INFO;
4111+ EVP_PKEY_asn1_add_alias;
4112+ d2i_TS_RESP_bio;
4113+ OTHERNAME_cmp;
4114+ GENERAL_NAME_set0_value;
4115+ PKCS7_RECIP_INFO_get0_alg;
4116+ TS_RESP_CTX_new;
4117+ TS_RESP_set_tst_info;
4118+ PKCS7_final;
4119+ EVP_PKEY_base_id;
4120+ TS_RESP_CTX_set_signer_cert;
4121+ TS_REQ_set_msg_imprint;
4122+ EVP_PKEY_CTX_ctrl;
4123+ TS_CONF_set_digests;
4124+ d2i_TS_MSG_IMPRINT;
4125+ EVP_PKEY_meth_set_ctrl;
4126+ TS_REQ_get_ext_by_NID;
4127+ PKCS5_pbe_set0_algor;
4128+ BN_BLINDING_thread_id;
4129+ TS_ACCURACY_new;
4130+ X509_CRL_METHOD_free;
4131+ ASN1_PCTX_get_nm_flags;
4132+ EVP_PKEY_meth_set_sign;
4133+ CRYPTO_THREADID_current;
4134+ EVP_PKEY_decrypt_init;
4135+ NETSCAPE_X509_free;
4136+ i2b_PVK_bio;
4137+ EVP_PKEY_print_private;
4138+ GENERAL_NAME_get0_value;
4139+ b2i_PVK_bio;
4140+ ASN1_UTCTIME_adj;
4141+ TS_TST_INFO_new;
4142+ EVP_MD_do_all_sorted;
4143+ TS_CONF_set_default_engine;
4144+ TS_ACCURACY_set_seconds;
4145+ TS_TST_INFO_get_time;
4146+ PKCS8_pkey_get0;
4147+ EVP_PKEY_asn1_get0;
4148+ OBJ_add_sigid;
4149+ PKCS7_SIGNER_INFO_sign;
4150+ EVP_PKEY_paramgen_init;
4151+ EVP_PKEY_sign;
4152+ OBJ_sigid_free;
4153+ EVP_PKEY_meth_set_init;
4154+ d2i_ESS_ISSUER_SERIAL;
4155+ ISSUING_DIST_POINT_new;
4156+ ASN1_TIME_adj;
4157+ TS_OBJ_print_bio;
4158+ EVP_PKEY_meth_set_verify_recover;
4159+ EVP_PKEY_meth_set_vrfy_recover;
4160+ TS_RESP_get_status_info;
4161+ CMS_stream;
4162+ EVP_PKEY_CTX_set_cb;
4163+ PKCS7_to_TS_TST_INFO;
4164+ ASN1_PCTX_get_oid_flags;
4165+ TS_TST_INFO_add_ext;
4166+ EVP_PKEY_meth_set_derive;
4167+ i2d_TS_RESP_fp;
4168+ i2d_TS_MSG_IMPRINT_bio;
4169+ TS_RESP_CTX_set_accuracy;
4170+ TS_REQ_set_nonce;
4171+ ESS_CERT_ID_new;
4172+ ENGINE_pkey_asn1_find_str;
4173+ TS_REQ_get_ext_count;
4174+ BUF_reverse;
4175+ TS_TST_INFO_print_bio;
4176+ d2i_ISSUING_DIST_POINT;
4177+ ENGINE_get_pkey_meths;
4178+ i2b_PrivateKey_bio;
4179+ i2d_TS_RESP;
4180+ b2i_PublicKey;
4181+ TS_VERIFY_CTX_cleanup;
4182+ TS_STATUS_INFO_free;
4183+ TS_RESP_verify_token;
4184+ OBJ_bsearch_ex_;
4185+ ASN1_bn_print;
4186+ EVP_PKEY_asn1_get_count;
4187+ ENGINE_register_pkey_asn1_meths;
4188+ ASN1_PCTX_set_nm_flags;
4189+ EVP_DigestVerifyInit;
4190+ ENGINE_set_default_pkey_meths;
4191+ TS_TST_INFO_get_policy_id;
4192+ TS_REQ_get_cert_req;
4193+ X509_CRL_set_meth_data;
4194+ PKCS8_pkey_set0;
4195+ ASN1_STRING_copy;
4196+ d2i_TS_TST_INFO_fp;
4197+ X509_CRL_match;
4198+ EVP_PKEY_asn1_set_private;
4199+ TS_TST_INFO_get_ext_d2i;
4200+ TS_RESP_CTX_add_policy;
4201+ d2i_TS_RESP;
4202+ TS_CONF_load_certs;
4203+ TS_TST_INFO_get_msg_imprint;
4204+ ERR_load_TS_strings;
4205+ TS_TST_INFO_get_version;
4206+ EVP_PKEY_CTX_dup;
4207+ EVP_PKEY_meth_set_verify;
4208+ i2b_PublicKey_bio;
4209+ TS_CONF_set_certs;
4210+ EVP_PKEY_asn1_get0_info;
4211+ TS_VERIFY_CTX_free;
4212+ TS_REQ_get_ext_by_critical;
4213+ TS_RESP_CTX_set_serial_cb;
4214+ X509_CRL_get_meth_data;
4215+ TS_RESP_CTX_set_time_cb;
4216+ TS_MSG_IMPRINT_get_msg;
4217+ TS_TST_INFO_ext_free;
4218+ TS_REQ_get_version;
4219+ TS_REQ_add_ext;
4220+ EVP_PKEY_CTX_set_app_data;
4221+ OBJ_bsearch_;
4222+ EVP_PKEY_meth_set_verifyctx;
4223+ i2d_PKCS7_bio_stream;
4224+ CRYPTO_THREADID_set_numeric;
4225+ PKCS7_sign_add_signer;
4226+ d2i_TS_TST_INFO_bio;
4227+ TS_TST_INFO_get_ordering;
4228+ TS_RESP_print_bio;
4229+ TS_TST_INFO_get_exts;
4230+ HMAC_CTX_copy;
4231+ PKCS5_pbe2_set_iv;
4232+ ENGINE_get_pkey_asn1_meths;
4233+ b2i_PrivateKey;
4234+ EVP_PKEY_CTX_get_app_data;
4235+ TS_REQ_set_cert_req;
4236+ CRYPTO_THREADID_set_callback;
4237+ TS_CONF_set_serial;
4238+ TS_TST_INFO_free;
4239+ d2i_TS_REQ_fp;
4240+ TS_RESP_verify_response;
4241+ i2d_ESS_ISSUER_SERIAL;
4242+ TS_ACCURACY_get_seconds;
4243+ EVP_CIPHER_do_all;
4244+ b2i_PrivateKey_bio;
4245+ OCSP_CERTID_dup;
4246+ X509_PUBKEY_get0_param;
4247+ TS_MSG_IMPRINT_dup;
4248+ PKCS7_print_ctx;
4249+ i2d_TS_REQ_bio;
4250+ EVP_whirlpool;
4251+ EVP_PKEY_asn1_set_param;
4252+ EVP_PKEY_meth_set_encrypt;
4253+ ASN1_PCTX_set_flags;
4254+ i2d_ESS_CERT_ID;
4255+ TS_VERIFY_CTX_new;
4256+ TS_RESP_CTX_set_extension_cb;
4257+ ENGINE_register_all_pkey_meths;
4258+ TS_RESP_CTX_set_status_info_cond;
4259+ TS_RESP_CTX_set_stat_info_cond;
4260+ EVP_PKEY_verify;
4261+ WHIRLPOOL_Final;
4262+ X509_CRL_METHOD_new;
4263+ EVP_DigestSignFinal;
4264+ TS_RESP_CTX_set_def_policy;
4265+ NETSCAPE_X509_it;
4266+ NETSCAPE_X509_it;
4267+ TS_RESP_create_response;
4268+ PKCS7_SIGNER_INFO_get0_algs;
4269+ TS_TST_INFO_get_nonce;
4270+ EVP_PKEY_decrypt_old;
4271+ TS_TST_INFO_set_policy_id;
4272+ TS_CONF_set_ess_cert_id_chain;
4273+ EVP_PKEY_CTX_get0_pkey;
4274+ d2i_TS_REQ;
4275+ EVP_PKEY_asn1_find_str;
4276+ BIO_f_asn1;
4277+ ESS_SIGNING_CERT_new;
4278+ EVP_PBE_find;
4279+ X509_CRL_get0_by_cert;
4280+ EVP_PKEY_derive;
4281+ i2d_TS_REQ;
4282+ TS_TST_INFO_delete_ext;
4283+ ESS_ISSUER_SERIAL_free;
4284+ ASN1_PCTX_set_str_flags;
4285+ ENGINE_get_pkey_asn1_meth_str;
4286+ TS_CONF_set_signer_key;
4287+ TS_ACCURACY_get_millis;
4288+ TS_RESP_get_token;
4289+ TS_ACCURACY_dup;
4290+ ENGINE_register_all_pkey_asn1_meths;
4291+ ENGINE_reg_all_pkey_asn1_meths;
4292+ X509_CRL_set_default_method;
4293+ CRYPTO_THREADID_hash;
4294+ CMS_ContentInfo_print_ctx;
4295+ TS_RESP_free;
4296+ ISSUING_DIST_POINT_free;
4297+ ESS_ISSUER_SERIAL_new;
4298+ CMS_add1_crl;
4299+ PKCS7_add1_attrib_digest;
4300+ TS_RESP_CTX_add_md;
4301+ TS_TST_INFO_dup;
4302+ ENGINE_set_pkey_asn1_meths;
4303+ PEM_write_bio_Parameters;
4304+ TS_TST_INFO_get_accuracy;
4305+ X509_CRL_get0_by_serial;
4306+ TS_TST_INFO_set_version;
4307+ TS_RESP_CTX_get_tst_info;
4308+ TS_RESP_verify_signature;
4309+ CRYPTO_THREADID_get_callback;
4310+ TS_TST_INFO_get_tsa;
4311+ TS_STATUS_INFO_new;
4312+ EVP_PKEY_CTX_get_cb;
4313+ TS_REQ_get_ext_d2i;
4314+ GENERAL_NAME_set0_othername;
4315+ TS_TST_INFO_get_ext_count;
4316+ TS_RESP_CTX_get_request;
4317+ i2d_NETSCAPE_X509;
4318+ ENGINE_get_pkey_meth_engine;
4319+ EVP_PKEY_meth_set_signctx;
4320+ EVP_PKEY_asn1_copy;
4321+ ASN1_TYPE_cmp;
4322+ EVP_CIPHER_do_all_sorted;
4323+ EVP_PKEY_CTX_free;
4324+ ISSUING_DIST_POINT_it;
4325+ ISSUING_DIST_POINT_it;
4326+ d2i_TS_MSG_IMPRINT_fp;
4327+ X509_STORE_get1_certs;
4328+ EVP_PKEY_CTX_get_operation;
4329+ d2i_ESS_SIGNING_CERT;
4330+ TS_CONF_set_ordering;
4331+ EVP_PBE_alg_add_type;
4332+ TS_REQ_set_version;
4333+ EVP_PKEY_get0;
4334+ BIO_asn1_set_suffix;
4335+ i2d_TS_STATUS_INFO;
4336+ EVP_MD_do_all;
4337+ TS_TST_INFO_set_accuracy;
4338+ PKCS7_add_attrib_content_type;
4339+ ERR_remove_thread_state;
4340+ EVP_PKEY_meth_add0;
4341+ TS_TST_INFO_set_tsa;
4342+ EVP_PKEY_meth_new;
4343+ WHIRLPOOL_Update;
4344+ TS_CONF_set_accuracy;
4345+ ASN1_PCTX_set_oid_flags;
4346+ ESS_SIGNING_CERT_dup;
4347+ d2i_TS_REQ_bio;
4348+ X509_time_adj_ex;
4349+ TS_RESP_CTX_add_flags;
4350+ d2i_TS_STATUS_INFO;
4351+ TS_MSG_IMPRINT_set_msg;
4352+ BIO_asn1_get_suffix;
4353+ TS_REQ_free;
4354+ EVP_PKEY_meth_free;
4355+ TS_REQ_get_exts;
4356+ TS_RESP_CTX_set_clock_precision_digits;
4357+ TS_RESP_CTX_set_clk_prec_digits;
4358+ TS_RESP_CTX_add_failure_info;
4359+ i2d_TS_RESP_bio;
4360+ EVP_PKEY_CTX_get0_peerkey;
4361+ PEM_write_bio_CMS_stream;
4362+ TS_REQ_new;
4363+ TS_MSG_IMPRINT_new;
4364+ EVP_PKEY_meth_find;
4365+ EVP_PKEY_id;
4366+ TS_TST_INFO_set_serial;
4367+ a2i_GENERAL_NAME;
4368+ TS_CONF_set_crypto_device;
4369+ EVP_PKEY_verify_init;
4370+ TS_CONF_set_policies;
4371+ ASN1_PCTX_new;
4372+ ESS_CERT_ID_free;
4373+ ENGINE_unregister_pkey_meths;
4374+ TS_MSG_IMPRINT_free;
4375+ TS_VERIFY_CTX_init;
4376+ PKCS7_stream;
4377+ TS_RESP_CTX_set_certs;
4378+ TS_CONF_set_def_policy;
4379+ ASN1_GENERALIZEDTIME_adj;
4380+ NETSCAPE_X509_new;
4381+ TS_ACCURACY_free;
4382+ TS_RESP_get_tst_info;
4383+ EVP_PKEY_derive_set_peer;
4384+ PEM_read_bio_Parameters;
4385+ TS_CONF_set_clock_precision_digits;
4386+ TS_CONF_set_clk_prec_digits;
4387+ ESS_ISSUER_SERIAL_dup;
4388+ TS_ACCURACY_get_micros;
4389+ ASN1_PCTX_get_str_flags;
4390+ NAME_CONSTRAINTS_check;
4391+ ASN1_BIT_STRING_check;
4392+ X509_check_akid;
4393+ ENGINE_unregister_pkey_asn1_meths;
4394+ ENGINE_unreg_pkey_asn1_meths;
4395+ ASN1_PCTX_free;
4396+ PEM_write_bio_ASN1_stream;
4397+ i2d_ASN1_bio_stream;
4398+ TS_X509_ALGOR_print_bio;
4399+ EVP_PKEY_meth_set_cleanup;
4400+ EVP_PKEY_asn1_free;
4401+ ESS_SIGNING_CERT_free;
4402+ TS_TST_INFO_set_msg_imprint;
4403+ GENERAL_NAME_cmp;
4404+ d2i_ASN1_SET_ANY;
4405+ ENGINE_set_pkey_meths;
4406+ i2d_TS_REQ_fp;
4407+ d2i_ASN1_SEQUENCE_ANY;
4408+ GENERAL_NAME_get0_otherName;
4409+ d2i_ESS_CERT_ID;
4410+ OBJ_find_sigid_algs;
4411+ EVP_PKEY_meth_set_keygen;
4412+ PKCS5_PBKDF2_HMAC;
4413+ EVP_PKEY_paramgen;
4414+ EVP_PKEY_meth_set_paramgen;
4415+ BIO_new_PKCS7;
4416+ EVP_PKEY_verify_recover;
4417+ TS_ext_print_bio;
4418+ TS_ASN1_INTEGER_print_bio;
4419+ check_defer;
4420+ DSO_pathbyaddr;
4421+ EVP_PKEY_set_type;
4422+ TS_ACCURACY_set_micros;
4423+ TS_REQ_to_TS_VERIFY_CTX;
4424+ EVP_PKEY_meth_set_copy;
4425+ ASN1_PCTX_set_cert_flags;
4426+ TS_TST_INFO_get_ext;
4427+ EVP_PKEY_asn1_set_ctrl;
4428+ TS_TST_INFO_get_ext_by_critical;
4429+ EVP_PKEY_CTX_new_id;
4430+ TS_REQ_get_ext_by_OBJ;
4431+ TS_CONF_set_signer_cert;
4432+ X509_NAME_hash_old;
4433+ ASN1_TIME_set_string;
4434+ EVP_MD_flags;
4435+ TS_RESP_CTX_free;
4436+ DSAparams_dup;
4437+ DHparams_dup;
4438+ OCSP_REQ_CTX_add1_header;
4439+ OCSP_REQ_CTX_set1_req;
4440+ X509_STORE_set_verify_cb;
4441+ X509_STORE_CTX_get0_current_crl;
4442+ X509_STORE_CTX_get0_parent_ctx;
4443+ X509_STORE_CTX_get0_current_issuer;
4444+ X509_STORE_CTX_get0_cur_issuer;
4445+ X509_issuer_name_hash_old;
4446+ X509_subject_name_hash_old;
4447+ EVP_CIPHER_CTX_copy;
4448+ UI_method_get_prompt_constructor;
4449+ UI_method_get_prompt_constructr;
4450+ UI_method_set_prompt_constructor;
4451+ UI_method_set_prompt_constructr;
4452+ EVP_read_pw_string_min;
4453+ CRYPTO_cts128_encrypt;
4454+ CRYPTO_cts128_decrypt_block;
4455+ CRYPTO_cfb128_1_encrypt;
4456+ CRYPTO_cbc128_encrypt;
4457+ CRYPTO_ctr128_encrypt;
4458+ CRYPTO_ofb128_encrypt;
4459+ CRYPTO_cts128_decrypt;
4460+ CRYPTO_cts128_encrypt_block;
4461+ CRYPTO_cbc128_decrypt;
4462+ CRYPTO_cfb128_encrypt;
4463+ CRYPTO_cfb128_8_encrypt;
4464+
4465+ local:
4466+ *;
4467+};
4468+
4469+
4470+OPENSSL_1.0.1 {
4471+ global:
4472+ SSL_renegotiate_abbreviated;
4473+ TLSv1_1_method;
4474+ TLSv1_1_client_method;
4475+ TLSv1_1_server_method;
4476+ SSL_CTX_set_srp_client_pwd_callback;
4477+ SSL_CTX_set_srp_client_pwd_cb;
4478+ SSL_get_srp_g;
4479+ SSL_CTX_set_srp_username_callback;
4480+ SSL_CTX_set_srp_un_cb;
4481+ SSL_get_srp_userinfo;
4482+ SSL_set_srp_server_param;
4483+ SSL_set_srp_server_param_pw;
4484+ SSL_get_srp_N;
4485+ SSL_get_srp_username;
4486+ SSL_CTX_set_srp_password;
4487+ SSL_CTX_set_srp_strength;
4488+ SSL_CTX_set_srp_verify_param_callback;
4489+ SSL_CTX_set_srp_vfy_param_cb;
4490+ SSL_CTX_set_srp_cb_arg;
4491+ SSL_CTX_set_srp_username;
4492+ SSL_CTX_SRP_CTX_init;
4493+ SSL_SRP_CTX_init;
4494+ SRP_Calc_A_param;
4495+ SRP_generate_server_master_secret;
4496+ SRP_gen_server_master_secret;
4497+ SSL_CTX_SRP_CTX_free;
4498+ SRP_generate_client_master_secret;
4499+ SRP_gen_client_master_secret;
4500+ SSL_srp_server_param_with_username;
4501+ SSL_srp_server_param_with_un;
4502+ SSL_SRP_CTX_free;
4503+ SSL_set_debug;
4504+ SSL_SESSION_get0_peer;
4505+ TLSv1_2_client_method;
4506+ SSL_SESSION_set1_id_context;
4507+ TLSv1_2_server_method;
4508+ SSL_cache_hit;
4509+ SSL_get0_kssl_ctx;
4510+ SSL_set0_kssl_ctx;
4511+ SSL_set_state;
4512+ SSL_CIPHER_get_id;
4513+ TLSv1_2_method;
4514+ kssl_ctx_get0_client_princ;
4515+ SSL_export_keying_material;
4516+ SSL_set_tlsext_use_srtp;
4517+ SSL_CTX_set_next_protos_advertised_cb;
4518+ SSL_CTX_set_next_protos_adv_cb;
4519+ SSL_get0_next_proto_negotiated;
4520+ SSL_get_selected_srtp_profile;
4521+ SSL_CTX_set_tlsext_use_srtp;
4522+ SSL_select_next_proto;
4523+ SSL_get_srtp_profiles;
4524+ SSL_CTX_set_next_proto_select_cb;
4525+ SSL_CTX_set_next_proto_sel_cb;
4526+ SSL_SESSION_get_compress_id;
4527+
4528+ SRP_VBASE_get_by_user;
4529+ SRP_Calc_server_key;
4530+ SRP_create_verifier;
4531+ SRP_create_verifier_BN;
4532+ SRP_Calc_u;
4533+ SRP_VBASE_free;
4534+ SRP_Calc_client_key;
4535+ SRP_get_default_gN;
4536+ SRP_Calc_x;
4537+ SRP_Calc_B;
4538+ SRP_VBASE_new;
4539+ SRP_check_known_gN_param;
4540+ SRP_Calc_A;
4541+ SRP_Verify_A_mod_N;
4542+ SRP_VBASE_init;
4543+ SRP_Verify_B_mod_N;
4544+ EC_KEY_set_public_key_affine_coordinates;
4545+ EC_KEY_set_pub_key_aff_coords;
4546+ EVP_aes_192_ctr;
4547+ EVP_PKEY_meth_get0_info;
4548+ EVP_PKEY_meth_copy;
4549+ ERR_add_error_vdata;
4550+ EVP_aes_128_ctr;
4551+ EVP_aes_256_ctr;
4552+ EC_GFp_nistp224_method;
4553+ EC_KEY_get_flags;
4554+ RSA_padding_add_PKCS1_PSS_mgf1;
4555+ EVP_aes_128_xts;
4556+ EVP_aes_256_xts;
4557+ EVP_aes_128_gcm;
4558+ EC_KEY_clear_flags;
4559+ EC_KEY_set_flags;
4560+ EVP_aes_256_ccm;
4561+ RSA_verify_PKCS1_PSS_mgf1;
4562+ EVP_aes_128_ccm;
4563+ EVP_aes_192_gcm;
4564+ X509_ALGOR_set_md;
4565+ RAND_init_fips;
4566+ EVP_aes_256_gcm;
4567+ EVP_aes_192_ccm;
4568+ CMAC_CTX_copy;
4569+ CMAC_CTX_free;
4570+ CMAC_CTX_get0_cipher_ctx;
4571+ CMAC_CTX_cleanup;
4572+ CMAC_Init;
4573+ CMAC_Update;
4574+ CMAC_resume;
4575+ CMAC_CTX_new;
4576+ CMAC_Final;
4577+ CRYPTO_ctr128_encrypt_ctr32;
4578+ CRYPTO_gcm128_release;
4579+ CRYPTO_ccm128_decrypt_ccm64;
4580+ CRYPTO_ccm128_encrypt;
4581+ CRYPTO_gcm128_encrypt;
4582+ CRYPTO_xts128_encrypt;
4583+ EVP_rc4_hmac_md5;
4584+ CRYPTO_nistcts128_decrypt_block;
4585+ CRYPTO_gcm128_setiv;
4586+ CRYPTO_nistcts128_encrypt;
4587+ EVP_aes_128_cbc_hmac_sha1;
4588+ CRYPTO_gcm128_tag;
4589+ CRYPTO_ccm128_encrypt_ccm64;
4590+ ENGINE_load_rdrand;
4591+ CRYPTO_ccm128_setiv;
4592+ CRYPTO_nistcts128_encrypt_block;
4593+ CRYPTO_gcm128_aad;
4594+ CRYPTO_ccm128_init;
4595+ CRYPTO_nistcts128_decrypt;
4596+ CRYPTO_gcm128_new;
4597+ CRYPTO_ccm128_tag;
4598+ CRYPTO_ccm128_decrypt;
4599+ CRYPTO_ccm128_aad;
4600+ CRYPTO_gcm128_init;
4601+ CRYPTO_gcm128_decrypt;
4602+ ENGINE_load_rsax;
4603+ CRYPTO_gcm128_decrypt_ctr32;
4604+ CRYPTO_gcm128_encrypt_ctr32;
4605+ CRYPTO_gcm128_finish;
4606+ EVP_aes_256_cbc_hmac_sha1;
4607+ PKCS5_pbkdf2_set;
4608+ CMS_add0_recipient_password;
4609+ CMS_decrypt_set1_password;
4610+ CMS_RecipientInfo_set0_password;
4611+ RAND_set_fips_drbg_type;
4612+ X509_REQ_sign_ctx;
4613+ RSA_PSS_PARAMS_new;
4614+ X509_CRL_sign_ctx;
4615+ X509_signature_dump;
4616+ d2i_RSA_PSS_PARAMS;
4617+ RSA_PSS_PARAMS_it;
4618+ RSA_PSS_PARAMS_it;
4619+ RSA_PSS_PARAMS_free;
4620+ X509_sign_ctx;
4621+ i2d_RSA_PSS_PARAMS;
4622+ ASN1_item_sign_ctx;
4623+ EC_GFp_nistp521_method;
4624+ EC_GFp_nistp256_method;
4625+ OPENSSL_stderr;
4626+ OPENSSL_cpuid_setup;
4627+ OPENSSL_showfatal;
4628+ BIO_new_dgram_sctp;
4629+ BIO_dgram_sctp_msg_waiting;
4630+ BIO_dgram_sctp_wait_for_dry;
4631+ BIO_s_datagram_sctp;
4632+ BIO_dgram_is_sctp;
4633+ BIO_dgram_sctp_notification_cb;
4634+} OPENSSL_1.0.0;
4635+
4636+OPENSSL_1.0.1d {
4637+ global:
4638+ CRYPTO_memcmp;
4639+} OPENSSL_1.0.1;
4640+
4641Index: openssl-1.0.1d/engines/openssl.ld
4642===================================================================
4643--- /dev/null 1970-01-01 00:00:00.000000000 +0000
4644+++ openssl-1.0.1d/engines/openssl.ld 2013-02-06 19:41:43.000000000 +0100
4645@@ -0,0 +1,10 @@
4646+OPENSSL_1.0.0 {
4647+ global:
4648+ bind_engine;
4649+ v_check;
4650+ OPENSSL_init;
4651+ OPENSSL_finish;
4652+ local:
4653+ *;
4654+};
4655+
4656Index: openssl-1.0.1d/engines/ccgost/openssl.ld
4657===================================================================
4658--- /dev/null 1970-01-01 00:00:00.000000000 +0000
4659+++ openssl-1.0.1d/engines/ccgost/openssl.ld 2013-02-06 19:41:43.000000000 +0100
4660@@ -0,0 +1,10 @@
4661+OPENSSL_1.0.0 {
4662+ global:
4663+ bind_engine;
4664+ v_check;
4665+ OPENSSL_init;
4666+ OPENSSL_finish;
4667+ local:
4668+ *;
4669+};
4670+
diff --git a/meta/recipes-connectivity/openssl/openssl/engines-install-in-libdir-ssl.patch b/meta/recipes-connectivity/openssl/openssl/engines-install-in-libdir-ssl.patch
new file mode 100644
index 0000000000..d8a6f1a23c
--- /dev/null
+++ b/meta/recipes-connectivity/openssl/openssl/engines-install-in-libdir-ssl.patch
@@ -0,0 +1,56 @@
1Upstream-Status: Inappropriate [configuration]
2
3
4Index: openssl-1.0.0/engines/Makefile
5===================================================================
6--- openssl-1.0.0.orig/engines/Makefile
7+++ openssl-1.0.0/engines/Makefile
8@@ -107,7 +107,7 @@
9 @[ -n "$(INSTALLTOP)" ] # should be set by top Makefile...
10 @if [ -n "$(SHARED_LIBS)" ]; then \
11 set -e; \
12- $(PERL) $(TOP)/util/mkdir-p.pl $(INSTALL_PREFIX)$(INSTALLTOP)/$(LIBDIR)/engines; \
13+ $(PERL) $(TOP)/util/mkdir-p.pl $(INSTALL_PREFIX)$(INSTALLTOP)/$(LIBDIR)/ssl/engines; \
14 for l in $(LIBNAMES); do \
15 ( echo installing $$l; \
16 pfx=lib; \
17@@ -119,13 +119,13 @@
18 *DSO_WIN32*) sfx="eay32.dll"; pfx=;; \
19 *) sfx=".bad";; \
20 esac; \
21- cp $$pfx$$l$$sfx $(INSTALL_PREFIX)$(INSTALLTOP)/$(LIBDIR)/engines/$$pfx$$l$$sfx.new; \
22+ cp $$pfx$$l$$sfx $(INSTALL_PREFIX)$(INSTALLTOP)/$(LIBDIR)/ssl/engines/$$pfx$$l$$sfx.new; \
23 else \
24 sfx=".so"; \
25- cp cyg$$l.dll $(INSTALL_PREFIX)$(INSTALLTOP)/$(LIBDIR)/engines/$$pfx$$l$$sfx.new; \
26+ cp cyg$$l.dll $(INSTALL_PREFIX)$(INSTALLTOP)/$(LIBDIR)/ssl/engines/$$pfx$$l$$sfx.new; \
27 fi; \
28- chmod 555 $(INSTALL_PREFIX)$(INSTALLTOP)/$(LIBDIR)/engines/$$pfx$$l$$sfx.new; \
29- mv -f $(INSTALL_PREFIX)$(INSTALLTOP)/$(LIBDIR)/engines/$$pfx$$l$$sfx.new $(INSTALL_PREFIX)$(INSTALLTOP)/$(LIBDIR)/engines/$$pfx$$l$$sfx ); \
30+ chmod 555 $(INSTALL_PREFIX)$(INSTALLTOP)/$(LIBDIR)/ssl/engines/$$pfx$$l$$sfx.new; \
31+ mv -f $(INSTALL_PREFIX)$(INSTALLTOP)/$(LIBDIR)/ssl/engines/$$pfx$$l$$sfx.new $(INSTALL_PREFIX)$(INSTALLTOP)/$(LIBDIR)/ssl/engines/$$pfx$$l$$sfx ); \
32 done; \
33 fi
34 @target=install; $(RECURSIVE_MAKE)
35Index: openssl-1.0.0/engines/ccgost/Makefile
36===================================================================
37--- openssl-1.0.0.orig/engines/ccgost/Makefile
38+++ openssl-1.0.0/engines/ccgost/Makefile
39@@ -53,13 +53,13 @@
40 *DSO_WIN32*) sfx="eay32.dll"; pfx=;; \
41 *) sfx=".bad";; \
42 esac; \
43- cp $${pfx}$(LIBNAME)$$sfx $(INSTALL_PREFIX)$(INSTALLTOP)/$(LIBDIR)/engines/$${pfx}$(LIBNAME)$$sfx.new; \
44+ cp $${pfx}$(LIBNAME)$$sfx $(INSTALL_PREFIX)$(INSTALLTOP)/$(LIBDIR)/ssl/engines/$${pfx}$(LIBNAME)$$sfx.new; \
45 else \
46 sfx=".so"; \
47- cp cyg$(LIBNAME).dll $(INSTALL_PREFIX)$(INSTALLTOP)/$(LIBDIR)/engines/$${pfx}$(LIBNAME)$$sfx.new; \
48+ cp cyg$(LIBNAME).dll $(INSTALL_PREFIX)$(INSTALLTOP)/$(LIBDIR)/ssl/engines/$${pfx}$(LIBNAME)$$sfx.new; \
49 fi; \
50- chmod 555 $(INSTALL_PREFIX)$(INSTALLTOP)/$(LIBDIR)/engines/$${pfx}$(LIBNAME)$$sfx.new; \
51- mv -f $(INSTALL_PREFIX)$(INSTALLTOP)/$(LIBDIR)/engines/$${pfx}$(LIBNAME)$$sfx.new $(INSTALL_PREFIX)$(INSTALLTOP)/$(LIBDIR)/engines/$${pfx}$(LIBNAME)$$sfx; \
52+ chmod 555 $(INSTALL_PREFIX)$(INSTALLTOP)/$(LIBDIR)/ssl/engines/$${pfx}$(LIBNAME)$$sfx.new; \
53+ mv -f $(INSTALL_PREFIX)$(INSTALLTOP)/$(LIBDIR)/ssl/engines/$${pfx}$(LIBNAME)$$sfx.new $(INSTALL_PREFIX)$(INSTALLTOP)/$(LIBDIR)/ssl/engines/$${pfx}$(LIBNAME)$$sfx; \
54 fi
55
56 links:
diff --git a/meta/recipes-connectivity/openssl/openssl/find.pl b/meta/recipes-connectivity/openssl/openssl/find.pl
new file mode 100644
index 0000000000..8e1b42c88a
--- /dev/null
+++ b/meta/recipes-connectivity/openssl/openssl/find.pl
@@ -0,0 +1,54 @@
1warn "Legacy library @{[(caller(0))[6]]} will be removed from the Perl core distribution in the next major release. Please install it from the CPAN distribution Perl4::CoreLibs. It is being used at @{[(caller)[1]]}, line @{[(caller)[2]]}.\n";
2
3# This library is deprecated and unmaintained. It is included for
4# compatibility with Perl 4 scripts which may use it, but it will be
5# removed in a future version of Perl. Please use the File::Find module
6# instead.
7
8# Usage:
9# require "find.pl";
10#
11# &find('/foo','/bar');
12#
13# sub wanted { ... }
14# where wanted does whatever you want. $dir contains the
15# current directory name, and $_ the current filename within
16# that directory. $name contains "$dir/$_". You are cd'ed
17# to $dir when the function is called. The function may
18# set $prune to prune the tree.
19#
20# For example,
21#
22# find / -name .nfs\* -mtime +7 -exec rm -f {} \; -o -fstype nfs -prune
23#
24# corresponds to this
25#
26# sub wanted {
27# /^\.nfs.*$/ &&
28# (($dev,$ino,$mode,$nlink,$uid,$gid) = lstat($_)) &&
29# int(-M _) > 7 &&
30# unlink($_)
31# ||
32# ($nlink || (($dev,$ino,$mode,$nlink,$uid,$gid) = lstat($_))) &&
33# $dev < 0 &&
34# ($prune = 1);
35# }
36#
37# Set the variable $dont_use_nlink if you're using AFS, since AFS cheats.
38
39use File::Find ();
40
41*name = *File::Find::name;
42*prune = *File::Find::prune;
43*dir = *File::Find::dir;
44*topdir = *File::Find::topdir;
45*topdev = *File::Find::topdev;
46*topino = *File::Find::topino;
47*topmode = *File::Find::topmode;
48*topnlink = *File::Find::topnlink;
49
50sub find {
51 &File::Find::find(\&wanted, @_);
52}
53
541;
diff --git a/meta/recipes-connectivity/openssl/openssl/fix-cipher-des-ede3-cfb1.patch b/meta/recipes-connectivity/openssl/openssl/fix-cipher-des-ede3-cfb1.patch
new file mode 100644
index 0000000000..2412a3b7ab
--- /dev/null
+++ b/meta/recipes-connectivity/openssl/openssl/fix-cipher-des-ede3-cfb1.patch
@@ -0,0 +1,25 @@
1Upstream-Status: Submitted
2
3This patch adds the fix for one of the ciphers used in openssl, namely
4the cipher des-ede3-cfb1. Complete bug log and patch is present here:
5http://rt.openssl.org/Ticket/Display.html?id=2867
6
7Signed-Off-By: Muhammad Shakeel <muhammad_shakeel@mentor.com>
8
9ported the patch to the 1.0.0m version
10Signed-off-by: Brendan Le Foll <brendan.le.foll@intel.com> 2015/03/24
11
12diff --git a/crypto/evp/e_des3.c b/crypto/evp/e_des3.c
13index 3232cfe..df84922 100644
14===================================================================
15--- a/crypto/evp/e_des3.c
16+++ b/crypto/evp/e_des3.c
17@@ -181,7 +181,7 @@ static int des_ede3_cfb1_cipher(EVP_CIPHER_CTX *ctx, unsigned char *out,
18 size_t n;
19 unsigned char c[1], d[1];
20
21- for (n = 0; n < inl; ++n) {
22+ for (n = 0; n < inl * 8; ++n) {
23 c[0] = (in[n / 8] & (1 << (7 - n % 8))) ? 0x80 : 0;
24 DES_ede3_cfb_encrypt(c, d, 1, 1,
25 &data(ctx)->ks1, &data(ctx)->ks2,
diff --git a/meta/recipes-connectivity/openssl/openssl/initial-aarch64-bits.patch b/meta/recipes-connectivity/openssl/openssl/initial-aarch64-bits.patch
new file mode 100644
index 0000000000..972b367993
--- /dev/null
+++ b/meta/recipes-connectivity/openssl/openssl/initial-aarch64-bits.patch
@@ -0,0 +1,141 @@
1From: Andy Polyakov <appro@openssl.org>
2Date: Sun, 13 Oct 2013 17:15:15 +0000 (+0200)
3Subject: Initial aarch64 bits.
4X-Git-Url: http://git.openssl.org/gitweb/?p=openssl.git;a=commitdiff_plain;h=039081b80977e2a5de84e1f88f8b4d025b559956
5
6Initial aarch64 bits.
7Upstream-Status: backport (will be included in 1.0.2)
8
9ported the patch to the 1.0.0m version
10Signed-off-by: Brendan Le Foll <brendan.le.foll@intel.com> 2015/03/24
11---
12 crypto/bn/bn_lcl.h | 9 +++++++++
13 crypto/md32_common.h | 18 ++++++++++++++++++
14 crypto/modes/modes_lcl.h | 8 ++++++++
15 crypto/sha/sha512.c | 13 +++++++++++++
16 4 files changed, 48 insertions(+)
17
18Index: openssl-1.0.1f/crypto/bn/bn_lcl.h
19===================================================================
20--- openssl-1.0.1f.orig/crypto/bn/bn_lcl.h 2014-01-06 15:47:42.000000000 +0200
21+++ openssl-1.0.1f/crypto/bn/bn_lcl.h 2014-02-28 10:37:55.495979037 +0200
22@@ -295,6 +295,15 @@ unsigned __int64 _umul128(unsigned __int64 a, unsigned __int64 b,
23 : "r"(a), "r"(b));
24 # endif
25 # endif
26+# elif defined(__aarch64__) && defined(SIXTY_FOUR_BIT_LONG)
27+# if defined(__GNUC__) && __GNUC__>=2
28+# define BN_UMULT_HIGH(a,b) ({ \
29+ register BN_ULONG ret; \
30+ asm ("umulh %0,%1,%2" \
31+ : "=r"(ret) \
32+ : "r"(a), "r"(b)); \
33+ ret; })
34+# endif
35 # endif /* cpu */
36 # endif /* OPENSSL_NO_ASM */
37
38Index: openssl-1.0.1f/crypto/md32_common.h
39===================================================================
40--- openssl-1.0.1f.orig/crypto/md32_common.h 2014-01-06 15:47:42.000000000 +0200
41+++ openssl-1.0.1f/crypto/md32_common.h 2014-02-28 10:39:21.751979107 +0200
42@@ -213,6 +213,42 @@
43 asm ("bswapl %0":"=r"(r):"0"(r)); \
44 *((unsigned int *)(c))=r; (c)+=4; r; })
45 # endif
46+# elif defined(__aarch64__)
47+# if defined(__BYTE_ORDER__)
48+# if defined(__ORDER_LITTLE_ENDIAN__) && __BYTE_ORDER__==__ORDER_LITTLE_ENDIAN__
49+# define HOST_c2l(c,l) ({ unsigned int r; \
50+ asm ("rev %w0,%w1" \
51+ :"=r"(r) \
52+ :"r"(*((const unsigned int *)(c))));\
53+ (c)+=4; (l)=r; })
54+# define HOST_l2c(l,c) ({ unsigned int r; \
55+ asm ("rev %w0,%w1" \
56+ :"=r"(r) \
57+ :"r"((unsigned int)(l)));\
58+ *((unsigned int *)(c))=r; (c)+=4; r; })
59+# elif defined(__ORDER_BIG_ENDIAN__) && __BYTE_ORDER__==__ORDER_BIG_ENDIAN__
60+# define HOST_c2l(c,l) ((l)=*((const unsigned int *)(c)), (c)+=4, (l))
61+# define HOST_l2c(l,c) (*((unsigned int *)(c))=(l), (c)+=4, (l))
62+# endif
63+# endif
64+# endif
65+# elif defined(__aarch64__)
66+# if defined(__BYTE_ORDER__)
67+# if defined(__ORDER_LITTLE_ENDIAN__) && __BYTE_ORDER__==__ORDER_LITTLE_ENDIAN__
68+# define HOST_c2l(c,l) ({ unsigned int r; \
69+ asm ("rev %w0,%w1" \
70+ :"=r"(r) \
71+ :"r"(*((const unsigned int *)(c))));\
72+ (c)+=4; (l)=r; })
73+# define HOST_l2c(l,c) ({ unsigned int r; \
74+ asm ("rev %w0,%w1" \
75+ :"=r"(r) \
76+ :"r"((unsigned int)(l)));\
77+ *((unsigned int *)(c))=r; (c)+=4; r; })
78+# elif defined(__ORDER_BIG_ENDIAN__) && __BYTE_ORDER__==__ORDER_BIG_ENDIAN__
79+# define HOST_c2l(c,l) ((l)=*((const unsigned int *)(c)), (c)+=4, (l))
80+# define HOST_l2c(l,c) (*((unsigned int *)(c))=(l), (c)+=4, (l))
81+# endif
82 # endif
83 # endif
84 # endif
85Index: openssl-1.0.1f/crypto/modes/modes_lcl.h
86===================================================================
87--- openssl-1.0.1f.orig/crypto/modes/modes_lcl.h 2014-02-28 10:47:48.731979011 +0200
88+++ openssl-1.0.1f/crypto/modes/modes_lcl.h 2014-02-28 10:48:49.707978919 +0200
89@@ -28,6 +28,7 @@ typedef unsigned char u8;
90 #if defined(__i386) || defined(__i386__) || \
91 defined(__x86_64) || defined(__x86_64__) || \
92 defined(_M_IX86) || defined(_M_AMD64) || defined(_M_X64) || \
93+ defined(__aarch64__) || \
94 defined(__s390__) || defined(__s390x__)
95 # undef STRICT_ALIGNMENT
96 #endif
97@@ -49,6 +50,13 @@ typedef unsigned char u8;
98 # define BSWAP4(x) ({ u32 ret=(x); \
99 asm ("bswapl %0" \
100 : "+r"(ret)); ret; })
101+# elif defined(__aarch64__)
102+# define BSWAP8(x) ({ u64 ret; \
103+ asm ("rev %0,%1" \
104+ : "=r"(ret) : "r"(x)); ret; })
105+# define BSWAP4(x) ({ u32 ret; \
106+ asm ("rev %w0,%w1" \
107+ : "=r"(ret) : "r"(x)); ret; })
108 # elif (defined(__arm__) || defined(__arm)) && !defined(STRICT_ALIGNMENT)
109 # define BSWAP8(x) ({ u32 lo=(u64)(x)>>32,hi=(x); \
110 asm ("rev %0,%0; rev %1,%1" \
111Index: openssl-1.0.1f/crypto/sha/sha512.c
112===================================================================
113--- openssl-1.0.1f.orig/crypto/sha/sha512.c 2014-01-06 15:47:42.000000000 +0200
114+++ openssl-1.0.1f/crypto/sha/sha512.c 2014-02-28 10:52:14.579978981 +0200
115@@ -55,6 +55,7 @@ const char SHA512_version[] = "SHA-512" OPENSSL_VERSION_PTEXT;
116 # if defined(__i386) || defined(__i386__) || defined(_M_IX86) || \
117 defined(__x86_64) || defined(_M_AMD64) || defined(_M_X64) || \
118 defined(__s390__) || defined(__s390x__) || \
119+ defined(__aarch64__) || \
120 defined(SHA512_ASM)
121 # define SHA512_BLOCK_CAN_MANAGE_UNALIGNED_DATA
122 # endif
123@@ -353,6 +354,18 @@ static const SHA_LONG64 K512[80] = {
124 asm ("rotrdi %0,%1,%2" \
125 : "=r"(ret) \
126 : "r"(a),"K"(n)); ret; })
127+# elif defined(__aarch64__)
128+# define ROTR(a,n) ({ SHA_LONG64 ret; \
129+ asm ("ror %0,%1,%2" \
130+ : "=r"(ret) \
131+ : "r"(a),"I"(n)); ret; })
132+# if defined(__BYTE_ORDER__) && defined(__ORDER_LITTLE_ENDIAN__) && \
133+ __BYTE_ORDER__==__ORDER_LITTLE_ENDIAN__
134+# define PULL64(x) ({ SHA_LONG64 ret; \
135+ asm ("rev %0,%1" \
136+ : "=r"(ret) \
137+ : "r"(*((const SHA_LONG64 *)(&(x))))); ret; })
138+# endif
139 # endif
140 # elif defined(_MSC_VER)
141 # if defined(_WIN64) /* applies to both IA-64 and AMD64 */
diff --git a/meta/recipes-connectivity/openssl/openssl/oe-ldflags.patch b/meta/recipes-connectivity/openssl/openssl/oe-ldflags.patch
new file mode 100644
index 0000000000..292e13dc5f
--- /dev/null
+++ b/meta/recipes-connectivity/openssl/openssl/oe-ldflags.patch
@@ -0,0 +1,24 @@
1Upstream-Status: Inappropriate [open-embedded]
2
3Index: openssl-1.0.0/Makefile.shared
4===================================================================
5--- openssl-1.0.0.orig/Makefile.shared
6+++ openssl-1.0.0/Makefile.shared
7@@ -92,7 +92,7 @@
8 LINK_APP= \
9 ( $(SET_X); \
10 LIBDEPS="$${LIBDEPS:-$(LIBDEPS)}"; \
11- LDCMD="$${LDCMD:-$(CC)}"; LDFLAGS="$${LDFLAGS:-$(CFLAGS)}"; \
12+ LDCMD="$${LDCMD:-$(CC)}"; LDFLAGS="$(OE_LDFLAGS) $${LDFLAGS:-$(CFLAGS)}"; \
13 LIBPATH=`for x in $$LIBDEPS; do echo $$x; done | sed -e 's/^ *-L//;t' -e d | uniq`; \
14 LIBPATH=`echo $$LIBPATH | sed -e 's/ /:/g'`; \
15 LD_LIBRARY_PATH=$$LIBPATH:$$LD_LIBRARY_PATH \
16@@ -102,7 +102,7 @@
17 ( $(SET_X); \
18 LIBDEPS="$${LIBDEPS:-$(LIBDEPS)}"; \
19 SHAREDCMD="$${SHAREDCMD:-$(CC)}"; \
20- SHAREDFLAGS="$${SHAREDFLAGS:-$(CFLAGS) $(SHARED_LDFLAGS)}"; \
21+ SHAREDFLAGS="$(OE_LDFLAGS) $${SHAREDFLAGS:-$(CFLAGS) $(SHARED_LDFLAGS)}"; \
22 LIBPATH=`for x in $$LIBDEPS; do echo $$x; done | sed -e 's/^ *-L//;t' -e d | uniq`; \
23 LIBPATH=`echo $$LIBPATH | sed -e 's/ /:/g'`; \
24 LD_LIBRARY_PATH=$$LIBPATH:$$LD_LIBRARY_PATH \
diff --git a/meta/recipes-connectivity/openssl/openssl/openssl-avoid-NULL-pointer-dereference-in-EVP_DigestInit_ex.patch b/meta/recipes-connectivity/openssl/openssl/openssl-avoid-NULL-pointer-dereference-in-EVP_DigestInit_ex.patch
new file mode 100644
index 0000000000..36aa442223
--- /dev/null
+++ b/meta/recipes-connectivity/openssl/openssl/openssl-avoid-NULL-pointer-dereference-in-EVP_DigestInit_ex.patch
@@ -0,0 +1,24 @@
1openssl: avoid NULL pointer dereference in EVP_DigestInit_ex()
2
3We should avoid accessing the type pointer if it's NULL,
4this could happen if ctx->digest is not NULL.
5
6Upstream-Status: Submitted
7http://www.mail-archive.com/openssl-dev@openssl.org/msg32860.html
8
9Signed-off-by: Xufeng Zhang <xufeng.zhang@windriver.com>
10
11ported the patch to the 1.0.0m version
12Signed-off-by: Brendan Le Foll <brendan.le.foll@intel.com> 2015/03/24
13---
14--- a/crypto/evp/digest.c
15+++ b/crypto/evp/digest.c
16@@ -199,7 +199,7 @@ int EVP_DigestInit_ex(EVP_MD_CTX *ctx, const EVP_MD *type, ENGINE *impl)
17 type = ctx->digest;
18 }
19 #endif
20- if (ctx->digest != type) {
21+ if (type && (ctx->digest != type)) {
22 if (ctx->digest && ctx->digest->ctx_size)
23 OPENSSL_free(ctx->md_data);
24 ctx->digest = type;
diff --git a/meta/recipes-connectivity/openssl/openssl/openssl-fix-des.pod-error.patch b/meta/recipes-connectivity/openssl/openssl/openssl-fix-des.pod-error.patch
new file mode 100644
index 0000000000..de49729e5e
--- /dev/null
+++ b/meta/recipes-connectivity/openssl/openssl/openssl-fix-des.pod-error.patch
@@ -0,0 +1,19 @@
1openssl: Fix pod2man des.pod error on Ubuntu 12.04
2
3This is a formatting fix, '=back' is required before
4'=head1' on Ubuntu 12.04.
5
6Upstream-Status: Pending
7Signed-off-by: Baogen Shang <baogen.shang@windriver.com>
8diff -urpN a_origin/des.pod b_modify/des.pod
9--- a_origin/crypto/des/des.pod 2013-08-15 15:02:56.211674589 +0800
10+++ b_modify/crypto/des/des.pod 2013-08-15 15:04:14.439674580 +0800
11@@ -181,6 +181,8 @@ the uuencoded file to embed in the begin
12 output. If there is no name specified after the B<-u>, the name text.des
13 will be embedded in the header.
14
15+=back
16+
17 =head1 SEE ALSO
18
19 ps(1),
diff --git a/meta/recipes-connectivity/openssl/openssl/openssl_fix_for_x32.patch b/meta/recipes-connectivity/openssl/openssl/openssl_fix_for_x32.patch
new file mode 100644
index 0000000000..ab1434a0e7
--- /dev/null
+++ b/meta/recipes-connectivity/openssl/openssl/openssl_fix_for_x32.patch
@@ -0,0 +1,97 @@
1Upstream-Status: Pending
2
3Received from H J Liu @ Intel
4Make the assembly syntax compatible with x32 gcc. Othewise x32 gcc throws errors.
5Signed-Off-By: Nitin A Kamble <nitin.a.kamble@intel.com> 2011/07/13
6
7ported the patch to the 1.0.0e version
8Signed-Off-By: Nitin A Kamble <nitin.a.kamble@intel.com> 2011/12/01
9
10ported the patch to the 1.0.0m version
11Signed-off-by: Brendan Le Foll <brendan.le.foll@intel.com> 2015/03/24
12Index: openssl-1.0.1e/Configure
13===================================================================
14--- openssl-1.0.1e.orig/Configure
15+++ openssl-1.0.1e/Configure
16@@ -402,6 +402,7 @@ my %table=(
17 "linux-ia64-ecc","ecc:-DL_ENDIAN -O2 -Wall -no_cpprt::-D_REENTRANT::-ldl:SIXTY_FOUR_BIT_LONG RC4_CHUNK DES_INT:${ia64_asm}:dlfcn:linux-shared:-fPIC::.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)",
18 "linux-ia64-icc","icc:-DL_ENDIAN -O2 -Wall -no_cpprt::-D_REENTRANT::-ldl:SIXTY_FOUR_BIT_LONG RC4_CHUNK DES_RISC1 DES_INT:${ia64_asm}:dlfcn:linux-shared:-fPIC::.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR)",
19 "linux-x86_64", "gcc:-m64 -DL_ENDIAN -O3 -Wall::-D_REENTRANT::-ldl:SIXTY_FOUR_BIT_LONG RC4_CHUNK DES_INT DES_UNROLL:${x86_64_asm}:elf:dlfcn:linux-shared:-fPIC:-m64:.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR):::64",
20+"linux-x32", "gcc:-mx32 -DL_ENDIAN -O3 -Wall -DMD32_REG_T=int::-D_REENTRANT::-ldl:SIXTY_FOUR_BIT RC4_CHUNK DES_INT DES_UNROLL:${x86_64_asm}:elf:dlfcn:linux-shared:-fPIC:-mx32:.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR):::x32",
21 "linux64-s390x", "gcc:-m64 -DB_ENDIAN -O3 -Wall::-D_REENTRANT::-ldl:SIXTY_FOUR_BIT_LONG RC4_CHAR RC4_CHUNK DES_INT DES_UNROLL:${s390x_asm}:64:dlfcn:linux-shared:-fPIC:-m64:.so.\$(SHLIB_MAJOR).\$(SHLIB_MINOR):::64",
22 #### So called "highgprs" target for z/Architecture CPUs
23 # "Highgprs" is kernel feature first implemented in Linux 2.6.32, see
24Index: openssl-1.0.1e/crypto/bn/asm/x86_64-gcc.c
25===================================================================
26--- openssl-1.0.1e.orig/crypto/bn/asm/x86_64-gcc.c
27+++ openssl-1.0.1e/crypto/bn/asm/x86_64-gcc.c
28@@ -55,7 +55,7 @@
29 * machine.
30 */
31
32-# ifdef _WIN64
33+# if defined _WIN64 || !defined __LP64__
34 # define BN_ULONG unsigned long long
35 # else
36 # define BN_ULONG unsigned long
37Index: openssl-1.0.1e/crypto/bn/bn.h
38===================================================================
39--- openssl-1.0.1e.orig/crypto/bn/bn.h
40+++ openssl-1.0.1e/crypto/bn/bn.h
41@@ -173,6 +173,13 @@ extern "C" {
42 # endif
43 # endif
44
45+/* Address type. */
46+# ifdef _WIN64
47+# define BN_ADDR unsigned long long
48+# else
49+# define BN_ADDR unsigned long
50+# endif
51+
52 /*
53 * assuming long is 64bit - this is the DEC Alpha unsigned long long is only
54 * 64 bits :-(, don't define BN_LLONG for the DEC Alpha
55Index: openssl-1.0.1e/crypto/bn/asm/x86_64-gcc.c
56===================================================================
57--- openssl-1.0.1m/crypto/bn/asm/x86_64-gcc.c 2015-03-19 13:37:10.000000000 +0000
58+++ openssl-1.0.1m-modif/crypto/bn/asm/x86_64-gcc.c 2015-04-14 17:09:11.876533194 +0100
59@@ -211,9 +211,9 @@
60
61 asm volatile (" subq %2,%2 \n"
62 ".p2align 4 \n"
63- "1: movq (%4,%2,8),%0 \n"
64- " adcq (%5,%2,8),%0 \n"
65- " movq %0,(%3,%2,8) \n"
66+ "1: movq (%q4,%2,8),%0 \n"
67+ " adcq (%q5,%2,8),%0 \n"
68+ " movq %0,(%q3,%2,8) \n"
69 " leaq 1(%2),%2 \n"
70 " loop 1b \n"
71 " sbbq %0,%0 \n":"=&a" (ret), "+c"(n),
72@@ -235,9 +235,9 @@
73
74 asm volatile (" subq %2,%2 \n"
75 ".p2align 4 \n"
76- "1: movq (%4,%2,8),%0 \n"
77- " sbbq (%5,%2,8),%0 \n"
78- " movq %0,(%3,%2,8) \n"
79+ "1: movq (%q4,%2,8),%0 \n"
80+ " sbbq (%q5,%2,8),%0 \n"
81+ " movq %0,(%q3,%2,8) \n"
82 " leaq 1(%2),%2 \n"
83 " loop 1b \n"
84 " sbbq %0,%0 \n":"=&a" (ret), "+c"(n)
85Index: openssl-1.0.1e/crypto/bn/bn_exp.c
86===================================================================
87--- openssl-1.0.1e.orig/crypto/bn/bn_exp.c
88+++ openssl-1.0.1e/crypto/bn/bn_exp.c
89@@ -572,7 +572,7 @@ static int MOD_EXP_CTIME_COPY_FROM_PREBUF(BIGNUM *b, int top,
90 * multiple.
91 */
92 #define MOD_EXP_CTIME_ALIGN(x_) \
93- ((unsigned char*)(x_) + (MOD_EXP_CTIME_MIN_CACHE_LINE_WIDTH - (((size_t)(x_)) & (MOD_EXP_CTIME_MIN_CACHE_LINE_MASK))))
94+ ((unsigned char*)(x_) + (MOD_EXP_CTIME_MIN_CACHE_LINE_WIDTH - (((BN_ADDR)(x_)) & (MOD_EXP_CTIME_MIN_CACHE_LINE_MASK))))
95
96 /*
97 * This variant of BN_mod_exp_mont() uses fixed windows and the special
diff --git a/meta/recipes-connectivity/openssl/openssl/ptest-deps.patch b/meta/recipes-connectivity/openssl/openssl/ptest-deps.patch
new file mode 100644
index 0000000000..527e10c53b
--- /dev/null
+++ b/meta/recipes-connectivity/openssl/openssl/ptest-deps.patch
@@ -0,0 +1,30 @@
1Remove Makefile dependencies for test targets
2
3These are probably here because the executables aren't always built for
4other platforms (e.g. Windows); however we can safely assume they'll
5always be there. None of the other test targets have such dependencies
6and if we don't remove them, make tries to rebuild the executables and
7fails during run-ptest.
8
9Upstream-Status: Inappropriate [config]
10
11Signed-off-by: Paul Eggleton <paul.eggleton@linux.intel.com>
12
13diff --git a/test/Makefile b/test/Makefile
14index e6fcfb4..5ae043b 100644
15--- a/test/Makefile
16+++ b/test/Makefile
17@@ -322,11 +322,11 @@ test_cms:
18 @echo "CMS consistency test"
19 $(PERL) cms-test.pl
20
21-test_srp: $(SRPTEST)$(EXE_EXT)
22+test_srp:
23 @echo "Test SRP"
24 ../util/shlib_wrap.sh ./srptest
25
26-test_heartbeat: $(HEARTBEATTEST)$(EXE_EXT)
27+test_heartbeat:
28 ../util/shlib_wrap.sh ./$(HEARTBEATTEST)
29
30 lint:
diff --git a/meta/recipes-connectivity/openssl/openssl/run-ptest b/meta/recipes-connectivity/openssl/openssl/run-ptest
new file mode 100644
index 0000000000..3b20fce1ee
--- /dev/null
+++ b/meta/recipes-connectivity/openssl/openssl/run-ptest
@@ -0,0 +1,2 @@
1#!/bin/sh
2make -k runtest
diff --git a/meta/recipes-connectivity/openssl/openssl/shared-libs.patch b/meta/recipes-connectivity/openssl/openssl/shared-libs.patch
new file mode 100644
index 0000000000..a7ca0a3078
--- /dev/null
+++ b/meta/recipes-connectivity/openssl/openssl/shared-libs.patch
@@ -0,0 +1,41 @@
1Upstream-Status: Inappropriate [configuration]
2
3Index: openssl-1.0.1e/crypto/Makefile
4===================================================================
5--- openssl-1.0.1e.orig/crypto/Makefile
6+++ openssl-1.0.1e/crypto/Makefile
7@@ -108,7 +108,7 @@ $(LIB): $(LIBOBJ)
8
9 shared: buildinf.h lib subdirs
10 if [ -n "$(SHARED_LIBS)" ]; then \
11- (cd ..; $(MAKE) $(SHARED_LIB)); \
12+ (cd ..; $(MAKE) -e $(SHARED_LIB)); \
13 fi
14
15 libs:
16Index: openssl-1.0.1e/Makefile.org
17===================================================================
18--- openssl-1.0.1e.orig/Makefile.org
19+++ openssl-1.0.1e/Makefile.org
20@@ -310,7 +310,7 @@ libcrypto$(SHLIB_EXT): libcrypto.a fips_
21
22 libssl$(SHLIB_EXT): libcrypto$(SHLIB_EXT) libssl.a
23 @if [ "$(SHLIB_TARGET)" != "" ]; then \
24- $(MAKE) SHLIBDIRS=ssl SHLIBDEPS='-lcrypto' build-shared; \
25+ $(MAKE) -e SHLIBDIRS=ssl SHLIBDEPS='-lcrypto' build-shared; \
26 else \
27 echo "There's no support for shared libraries on this platform" >&2; \
28 exit 1; \
29Index: openssl-1.0.1e/ssl/Makefile
30===================================================================
31--- openssl-1.0.1e.orig/ssl/Makefile
32+++ openssl-1.0.1e/ssl/Makefile
33@@ -62,7 +62,7 @@ lib: $(LIBOBJ)
34
35 shared: lib
36 if [ -n "$(SHARED_LIBS)" ]; then \
37- (cd ..; $(MAKE) $(SHARED_LIB)); \
38+ (cd ..; $(MAKE) -e $(SHARED_LIB)); \
39 fi
40
41 files:
diff --git a/meta/recipes-connectivity/openssl/openssl_1.0.1p.bb b/meta/recipes-connectivity/openssl/openssl_1.0.1p.bb
new file mode 100644
index 0000000000..3f6179089b
--- /dev/null
+++ b/meta/recipes-connectivity/openssl/openssl_1.0.1p.bb
@@ -0,0 +1,55 @@
1require openssl.inc
2
3# For target side versions of openssl enable support for OCF Linux driver
4# if they are available.
5DEPENDS += "cryptodev-linux"
6
7CFLAG += "-DHAVE_CRYPTODEV -DUSE_CRYPTODEV_DIGESTS"
8
9LIC_FILES_CHKSUM = "file://LICENSE;md5=f9a8f968107345e0b75aa8c2ecaa7ec8"
10
11export DIRS = "crypto ssl apps engines"
12export OE_LDFLAGS="${LDFLAGS}"
13
14SRC_URI += "file://configure-targets.patch \
15 file://shared-libs.patch \
16 file://oe-ldflags.patch \
17 file://engines-install-in-libdir-ssl.patch \
18 file://debian/version-script.patch \
19 file://debian/pic.patch \
20 file://debian/c_rehash-compat.patch \
21 file://debian/ca.patch \
22 file://debian/make-targets.patch \
23 file://debian/no-rpath.patch \
24 file://debian/man-dir.patch \
25 file://debian/man-section.patch \
26 file://debian/no-symbolic.patch \
27 file://debian/debian-targets.patch \
28 file://openssl_fix_for_x32.patch \
29 file://fix-cipher-des-ede3-cfb1.patch \
30 file://openssl-avoid-NULL-pointer-dereference-in-EVP_DigestInit_ex.patch \
31 file://initial-aarch64-bits.patch \
32 file://find.pl \
33 file://openssl-fix-des.pod-error.patch \
34 file://Makefiles-ptest.patch \
35 file://ptest-deps.patch \
36 file://run-ptest \
37 "
38
39SRC_URI[md5sum] = "7563e92327199e0067ccd0f79f436976"
40SRC_URI[sha256sum] = "bd5ee6803165c0fb60bbecbacacf244f1f90d2aa0d71353af610c29121e9b2f1"
41
42PACKAGES =+ " \
43 ${PN}-engines \
44 ${PN}-engines-dbg \
45 "
46
47FILES_${PN}-engines = "${libdir}/ssl/engines/*.so ${libdir}/engines"
48FILES_${PN}-engines-dbg = "${libdir}/ssl/engines/.debug"
49
50PARALLEL_MAKE = ""
51PARALLEL_MAKEINST = ""
52
53do_configure_prepend() {
54 cp ${WORKDIR}/find.pl ${S}/util/find.pl
55}
diff --git a/meta/recipes-connectivity/portmap/portmap-6.0/destdir-no-strip.patch b/meta/recipes-connectivity/portmap/portmap-6.0/destdir-no-strip.patch
new file mode 100644
index 0000000000..2fbf784b73
--- /dev/null
+++ b/meta/recipes-connectivity/portmap/portmap-6.0/destdir-no-strip.patch
@@ -0,0 +1,46 @@
1Upstream-Status: Backport
2
3From: Mike Frysinger <vapier@gentoo.org>
4Date: Sun, 13 May 2007 21:15:12 +0000 (-0400)
5Subject: respect DESTDIR and dont use -s with install
6X-Git-Url: http://neil.brown.name/git?p=portmap;a=commitdiff_plain;h=603c59b978c04df2354f68d4a2dc676a758ff46d
7
8respect DESTDIR and dont use -s with install
9
10$(DESTDIR) is the standard for installing into other trees, not $(BASEDIR) ...
11so I've converted the Makefile to use that. I've also left in $(BASEDIR) as a
12default to support old installs; not sure if you'd just cut it.
13
14Stripping should be left to the person to handle, not automatically done by
15the install step. Also, `install -s` always calls `strip` which is
16wrong/undesired in cross-compiling scenarios.
17
18Signed-off-by: Mike Frysinger <vapier@gentoo.org>
19Signed-off-by: Neil Brown <neilb@suse.de>
20---
21
22diff --git a/Makefile b/Makefile
23index 9e9a4b4..5343428 100644
24--- a/Makefile
25+++ b/Makefile
26@@ -135,13 +135,14 @@ from_local: CPPFLAGS += -DTEST
27 portmap.man : portmap.8
28 sed $(MAN_SED) < portmap.8 > portmap.man
29
30+DESTDIR = $(BASEDIR)
31 install: all
32- install -o root -g root -m 0755 -s portmap ${BASEDIR}/sbin
33- install -o root -g root -m 0755 -s pmap_dump ${BASEDIR}/sbin
34- install -o root -g root -m 0755 -s pmap_set ${BASEDIR}/sbin
35- install -o root -g root -m 0644 portmap.man ${BASEDIR}/usr/share/man/man8/portmap.8
36- install -o root -g root -m 0644 pmap_dump.8 ${BASEDIR}/usr/share/man/man8
37- install -o root -g root -m 0644 pmap_set.8 ${BASEDIR}/usr/share/man/man8
38+ install -o root -g root -m 0755 portmap $(DESTDIR)/sbin
39+ install -o root -g root -m 0755 pmap_dump $(DESTDIR)/sbin
40+ install -o root -g root -m 0755 pmap_set $(DESTDIR)/sbin
41+ install -o root -g root -m 0644 portmap.man $(DESTDIR)/usr/share/man/man8/portmap.8
42+ install -o root -g root -m 0644 pmap_dump.8 $(DESTDIR)/usr/share/man/man8
43+ install -o root -g root -m 0644 pmap_set.8 $(DESTDIR)/usr/share/man/man8
44
45 clean:
46 rm -f *.o portmap pmap_dump pmap_set from_local \
diff --git a/meta/recipes-connectivity/portmap/portmap-6.0/tcpd-config.patch b/meta/recipes-connectivity/portmap/portmap-6.0/tcpd-config.patch
new file mode 100644
index 0000000000..2f25058095
--- /dev/null
+++ b/meta/recipes-connectivity/portmap/portmap-6.0/tcpd-config.patch
@@ -0,0 +1,30 @@
1Upstream-Status: Backport
2
3From: Mike Frysinger <vapier@gentoo.org>
4Date: Sun, 13 May 2007 21:17:32 +0000 (-0400)
5Subject: fix building with tcpd support disabled
6X-Git-Url: http://neil.brown.name/git?p=portmap;a=commitdiff_plain;h=7847207aed1b44faf077eed14a9ac9c68244eba5
7
8fix building with tcpd support disabled
9
10Make sure pmap_check.c only includes tcpd.h when HOSTS_ACCESS is defined.
11
12Signed-off-by: Timothy Redaelli <drizzt@gentoo.org>
13Signed-off-by: Mike Frysinger <vapier@gentoo.org>
14Signed-off-by: Neil Brown <neilb@suse.de>
15---
16
17diff --git a/pmap_check.c b/pmap_check.c
18index 84f2c12..443a822 100644
19--- a/pmap_check.c
20+++ b/pmap_check.c
21@@ -44,7 +44,9 @@
22 #include <netinet/in.h>
23 #include <rpc/rpcent.h>
24 #endif
25+#ifdef HOSTS_ACCESS
26 #include <tcpd.h>
27+#endif
28 #include <arpa/inet.h>
29 #include <grp.h>
30
diff --git a/meta/recipes-connectivity/portmap/portmap.inc b/meta/recipes-connectivity/portmap/portmap.inc
new file mode 100644
index 0000000000..f5f7fde8be
--- /dev/null
+++ b/meta/recipes-connectivity/portmap/portmap.inc
@@ -0,0 +1,34 @@
1SUMMARY = "RPC program number mapper"
2HOMEPAGE = "http://neil.brown.name/portmap/"
3SECTION = "console/network"
4LICENSE = "BSD"
5LIC_FILES_CHKSUM = "file://portmap.c;beginline=2;endline=31;md5=51ff67e66ec84b2009b017b1f94afbf4 \
6 file://from_local.c;beginline=9;endline=35;md5=1bec938a2268b8b423c58801ace3adc1"
7DEPENDS = "virtual/fakeroot-native"
8
9SRC_URI = "${DEBIAN_MIRROR}/main/p/portmap/portmap_5.orig.tar.gz \
10 ${DEBIAN_MIRROR}/main/p/portmap/portmap_${PV}.diff.gz \
11 file://portmap.init \
12 file://make.patch;apply=yes"
13
14S = "${WORKDIR}/portmap_5beta"
15
16INITSCRIPT_NAME = "portmap"
17INITSCRIPT_PARAMS = "start 10 2 3 4 5 . stop 32 0 1 6 ."
18
19inherit update-rc.d systemd
20
21SYSTEMD_SERVICE_${PN} = "portmap.service"
22
23sbindir = "/sbin"
24
25fakeroot do_install() {
26 install -d ${D}${sysconfdir}/init.d
27 install -d ${D}${base_sbindir}
28 install -m 0755 ${WORKDIR}/portmap.init ${D}${sysconfdir}/init.d/portmap
29 oe_runmake 'docdir=${docdir}/portmap' 'DESTDIR=${D}' install
30}
31
32PACKAGES =+ "portmap-utils"
33FILES_portmap-utils = "/sbin/pmap_set /sbin/pmap_dump"
34FILES_${PN}-doc += "${docdir}"
diff --git a/meta/recipes-connectivity/portmap/portmap/portmap.init b/meta/recipes-connectivity/portmap/portmap/portmap.init
new file mode 100755
index 0000000000..621aa171ae
--- /dev/null
+++ b/meta/recipes-connectivity/portmap/portmap/portmap.init
@@ -0,0 +1,67 @@
1#!/bin/sh
2#
3### BEGIN INIT INFO
4# Provides: portmap
5# Required-Start: $network
6# Required-Stop: $network
7# Default-Start: S 2 3 4 5
8# Default-Stop: 0 1 6
9# Short-Description: The RPC portmapper
10# Description: Portmap is a server that converts RPC (Remote
11# Procedure Call) program numbers into DARPA
12# protocol port numbers. It must be running in
13# order to make RPC calls. Services that use
14# RPC include NFS and NIS.
15### END INIT INFO
16
17test -f /sbin/portmap || exit 0
18
19case "$1" in
20 start)
21 echo "Starting portmap daemon..."
22 start-stop-daemon --start --quiet --exec /sbin/portmap
23
24 if [ -f /var/run/portmap.upgrade-state ]; then
25 echo "Restoring old RPC service information..."
26 sleep 1 # needs a short pause or pmap_set won't work. :(
27 pmap_set </var/run/portmap.upgrade-state
28 rm -f /var/run/portmap.upgrade-state
29 echo "done."
30 fi
31
32 ;;
33 stop)
34 echo "Stopping portmap daemon..."
35 start-stop-daemon --stop --quiet --exec /sbin/portmap
36 ;;
37 reload)
38 ;;
39 force-reload)
40 $0 restart
41 ;;
42 restart)
43 # pmap_dump and pmap_set may be in a different package and not installed...
44 if [ -f /sbin/pmap_dump -a -f /sbin/pmap_set ]; then
45 do_state=1
46 else
47 do_state=0
48 fi
49 [ $do_state -eq 1 ] && pmap_dump >/var/run/portmap.state
50 $0 stop
51 $0 start
52 if [ $do_state -eq 1 ]; then
53 if [ ! -f /var/run/portmap.upgrade-state ]; then
54 sleep 1
55 pmap_set </var/run/portmap.state
56 fi
57 rm -f /var/run/portmap.state
58 fi
59 ;;
60 *)
61 echo "Usage: /etc/init.d/portmap {start|stop|reload|restart}"
62 exit 1
63 ;;
64esac
65
66exit 0
67
diff --git a/meta/recipes-connectivity/portmap/portmap/portmap.service b/meta/recipes-connectivity/portmap/portmap/portmap.service
new file mode 100644
index 0000000000..7ef9d7b02e
--- /dev/null
+++ b/meta/recipes-connectivity/portmap/portmap/portmap.service
@@ -0,0 +1,10 @@
1[Unit]
2Description=The RPC portmapper
3After=network.target
4
5[Service]
6Type=forking
7ExecStart=@BASE_SBINDIR@/portmap
8
9[Install]
10WantedBy=multi-user.target
diff --git a/meta/recipes-connectivity/portmap/portmap_6.0.bb b/meta/recipes-connectivity/portmap/portmap_6.0.bb
new file mode 100644
index 0000000000..8b65a03346
--- /dev/null
+++ b/meta/recipes-connectivity/portmap/portmap_6.0.bb
@@ -0,0 +1,31 @@
1require portmap.inc
2
3PR = "r9"
4
5SRC_URI = "http://www.sourcefiles.org/Networking/Tools/Miscellanenous/portmap-6.0.tgz \
6 file://destdir-no-strip.patch \
7 file://tcpd-config.patch \
8 file://portmap.init \
9 file://portmap.service"
10
11SRC_URI[md5sum] = "ac108ab68bf0f34477f8317791aaf1ff"
12SRC_URI[sha256sum] = "02c820d39f3e6e729d1bea3287a2d8a6c684f1006fb9612f97dcad4a281d41de"
13
14S = "${WORKDIR}/${BPN}_${PV}/"
15
16PACKAGECONFIG ??= "tcp-wrappers"
17PACKAGECONFIG[tcp-wrappers] = ",,tcp-wrappers"
18
19CPPFLAGS += "-DFACILITY=LOG_DAEMON -DENABLE_DNS -DHOSTS_ACCESS"
20CFLAGS += "-Wall -Wstrict-prototypes -fPIC"
21EXTRA_OEMAKE += "'NO_TCP_WRAPPER=${@bb.utils.contains('PACKAGECONFIG', 'tcp-wrappers', '', '1', d)}'"
22
23fakeroot do_install() {
24 install -d ${D}${mandir}/man8/ ${D}${base_sbindir} ${D}${sysconfdir}/init.d
25 install -m 0755 ${WORKDIR}/portmap.init ${D}${sysconfdir}/init.d/portmap
26 oe_runmake install DESTDIR=${D}
27
28 install -d ${D}${systemd_unitdir}/system
29 install -m 0644 ${WORKDIR}/portmap.service ${D}${systemd_unitdir}/system
30 sed -i -e 's,@BASE_SBINDIR@,${base_sbindir},g' ${D}${systemd_unitdir}/system/portmap.service
31}
diff --git a/meta/recipes-connectivity/ppp-dialin/files/host-peer b/meta/recipes-connectivity/ppp-dialin/files/host-peer
new file mode 100644
index 0000000000..e7e2e11d49
--- /dev/null
+++ b/meta/recipes-connectivity/ppp-dialin/files/host-peer
@@ -0,0 +1,11 @@
1-detach
2defaultroute
3nocrtscts
4lock
5noauth
6lcp-echo-interval 5
7lcp-echo-failure 3
8usepeerdns
9115200
10local
11asyncmap 0
diff --git a/meta/recipes-connectivity/ppp-dialin/files/ppp-dialin b/meta/recipes-connectivity/ppp-dialin/files/ppp-dialin
new file mode 100644
index 0000000000..ea2771311a
--- /dev/null
+++ b/meta/recipes-connectivity/ppp-dialin/files/ppp-dialin
@@ -0,0 +1,3 @@
1#!/bin/sh
2
3/usr/sbin/pppd call host
diff --git a/meta/recipes-connectivity/ppp-dialin/ppp-dialin_0.1.bb b/meta/recipes-connectivity/ppp-dialin/ppp-dialin_0.1.bb
new file mode 100644
index 0000000000..68b83d00f1
--- /dev/null
+++ b/meta/recipes-connectivity/ppp-dialin/ppp-dialin_0.1.bb
@@ -0,0 +1,26 @@
1SUMMARY = "Enables PPP dial-in through a serial connection"
2SECTION = "console/network"
3DEPENDS = "ppp"
4RDEPENDS_${PN} = "ppp"
5PR = "r8"
6LICENSE = "MIT"
7LIC_FILES_CHKSUM = "file://${COREBASE}/LICENSE;md5=4d92cd373abda3937c2bc47fbc49d690 \
8 file://${COREBASE}/meta/COPYING.MIT;md5=3da9cfbcb788c80a0384361b4de20420"
9
10SRC_URI = "file://host-peer \
11 file://ppp-dialin"
12
13inherit allarch useradd
14
15do_install() {
16 install -d ${D}${sysconfdir}/ppp/peers
17 install -m 0644 ${WORKDIR}/host-peer ${D}${sysconfdir}/ppp/peers/host
18
19 install -d ${D}${sbindir}
20 install -m 0755 ${WORKDIR}/ppp-dialin ${D}${sbindir}
21}
22
23USERADD_PACKAGES = "${PN}"
24USERADD_PARAM_${PN} = "--system --home /dev/null \
25 --no-create-home --shell ${sbindir}/ppp-dialin \
26 --no-user-group --gid nogroup ppp"
diff --git a/meta/recipes-connectivity/ppp/ppp/0001-ppp-Fix-compilation-errors-in-Makefile.patch b/meta/recipes-connectivity/ppp/ppp/0001-ppp-Fix-compilation-errors-in-Makefile.patch
new file mode 100644
index 0000000000..8aa2d2e678
--- /dev/null
+++ b/meta/recipes-connectivity/ppp/ppp/0001-ppp-Fix-compilation-errors-in-Makefile.patch
@@ -0,0 +1,75 @@
1From ba0f6058d1f25b2b60fc31ab2656bf12a71ffdab Mon Sep 17 00:00:00 2001
2From: Lu Chong <Chong.Lu@windriver.com>
3Date: Tue, 5 Nov 2013 17:32:56 +0800
4Subject: [PATCH] ppp: Fix compilation errors in Makefile
5
6This patch fixes below issues:
7
81. Make can't exit while compilation error occurs in subdir for plugins building.
9
102. If build ppp with newer kernel (3.10.10), it will pick 'if_pppox.h' from sysroot-dir and
11 'if_pppol2tp.h' from its own source dir, this cause below build errors:
12
13 bitbake_build/tmp/sysroots/intel-x86-64/usr/include/linux/if_pppox.h:84:26:
14 error: field 'pppol2tp' has incomplete type
15 struct pppol2tpin6_addr pppol2tp;
16 ^
17 bitbake_build/tmp/sysroots/intel-x86-64/usr/include/linux/if_pppox.h:99:28:
18 error: field 'pppol2tp' has incomplete type
19 struct pppol2tpv3in6_addr pppol2tp;
20 ^
21
22The 'sysroot-dir/if_pppox.h' enabled ipv6 support but the 'source-dir/if_pppol2tp.h' lost
23related structure definitions, we should use both header files from sysroots to fix this
24build failure.
25
26Upstream-Status: Pending
27
28Signed-off-by: Lu Chong <Chong.Lu@windriver.com>
29---
30 pppd/plugins/Makefile.linux | 2 +-
31 pppd/plugins/pppol2tp/Makefile.linux | 2 +-
32 pppd/plugins/rp-pppoe/Makefile.linux | 2 +-
33 3 files changed, 3 insertions(+), 3 deletions(-)
34
35diff --git a/pppd/plugins/Makefile.linux b/pppd/plugins/Makefile.linux
36index 0a7ec7b..2a2c15a 100644
37--- a/pppd/plugins/Makefile.linux
38+++ b/pppd/plugins/Makefile.linux
39@@ -20,7 +20,7 @@ include .depend
40 endif
41
42 all: $(PLUGINS)
43- for d in $(SUBDIRS); do $(MAKE) $(MFLAGS) -C $$d all; done
44+ for d in $(SUBDIRS); do $(MAKE) $(MFLAGS) -C $$d all || exit 1; done
45
46 %.so: %.c
47 $(CC) -o $@ $(LDFLAGS) $(CFLAGS) $^
48diff --git a/pppd/plugins/pppol2tp/Makefile.linux b/pppd/plugins/pppol2tp/Makefile.linux
49index 19eff67..feb2f52 100644
50--- a/pppd/plugins/pppol2tp/Makefile.linux
51+++ b/pppd/plugins/pppol2tp/Makefile.linux
52@@ -1,6 +1,6 @@
53 #CC = gcc
54 COPTS = -O2 -g
55-CFLAGS = $(COPTS) -I. -I../.. -I../../../include -fPIC
56+CFLAGS = $(COPTS) -I. -I../.. -fPIC
57 LDFLAGS = -shared
58 INSTALL = install
59
60diff --git a/pppd/plugins/rp-pppoe/Makefile.linux b/pppd/plugins/rp-pppoe/Makefile.linux
61index f078991..15b9118 100644
62--- a/pppd/plugins/rp-pppoe/Makefile.linux
63+++ b/pppd/plugins/rp-pppoe/Makefile.linux
64@@ -26,7 +26,7 @@ INSTALL = install
65 RP_VERSION=3.8p
66
67 COPTS=-O2 -g
68-CFLAGS=$(COPTS) -I../../../include '-DRP_VERSION="$(RP_VERSION)"'
69+CFLAGS=$(COPTS) '-DRP_VERSION="$(RP_VERSION)"'
70 all: rp-pppoe.so pppoe-discovery
71
72 pppoe-discovery: pppoe-discovery.o debug.o
73--
741.7.9.5
75
diff --git a/meta/recipes-connectivity/ppp/ppp/08setupdns b/meta/recipes-connectivity/ppp/ppp/08setupdns
new file mode 100644
index 0000000000..998219de97
--- /dev/null
+++ b/meta/recipes-connectivity/ppp/ppp/08setupdns
@@ -0,0 +1,12 @@
1#!/bin/sh
2ACTUALCONF=/var/run/resolv.conf
3PPPCONF=/var/run/ppp/resolv.conf
4if [ -f $PPPCONF ] ; then
5 if [ -f $ACTUALCONF ] ; then
6 if [ ! -h $ACTUALCONF -o ! "`readlink $ACTUALCONF 2>&1`" = "$PPPCONF" ] ; then
7 mv $ACTUALCONF $ACTUALCONF.ppporig
8 fi
9 fi
10
11 ln -sf $PPPCONF $ACTUALCONF
12fi
diff --git a/meta/recipes-connectivity/ppp/ppp/92removedns b/meta/recipes-connectivity/ppp/ppp/92removedns
new file mode 100644
index 0000000000..2eadec6899
--- /dev/null
+++ b/meta/recipes-connectivity/ppp/ppp/92removedns
@@ -0,0 +1,5 @@
1#!/bin/sh
2ACTUALCONF=/var/run/resolv.conf
3if [ -f $ACTUALCONF.ppporig ] ; then
4 mv $ACTUALCONF.ppporig $ACTUALCONF
5fi
diff --git a/meta/recipes-connectivity/ppp/ppp/cifdefroute.patch b/meta/recipes-connectivity/ppp/ppp/cifdefroute.patch
new file mode 100644
index 0000000000..db4dbc27a9
--- /dev/null
+++ b/meta/recipes-connectivity/ppp/ppp/cifdefroute.patch
@@ -0,0 +1,292 @@
1This patch comes from OpenEmbedded.
2The original patch is from Debian / SuSE to implement replacedefaultroute
3Rebased it to fit ppp-2.4.5. Dongxiao Xu <dongxiao.xu@intel.com>
4
5Upstream-Status: Inappropriate [debian/suse patches]
6
7diff -urN ppp-2.4.5-orig/pppd/ipcp.c ppp-2.4.5/pppd/ipcp.c
8--- ppp-2.4.5-orig/pppd/ipcp.c 2010-06-30 15:51:12.050166398 +0800
9+++ ppp-2.4.5/pppd/ipcp.c 2010-06-30 16:40:00.478716855 +0800
10@@ -198,6 +198,16 @@
11 "disable defaultroute option", OPT_ALIAS | OPT_A2CLR,
12 &ipcp_wantoptions[0].default_route },
13
14+#ifdef __linux__
15+ { "replacedefaultroute", o_bool,
16+ &ipcp_wantoptions[0].replace_default_route,
17+ "Replace default route", 1
18+ },
19+ { "noreplacedefaultroute", o_bool,
20+ &ipcp_allowoptions[0].replace_default_route,
21+ "Never replace default route", OPT_A2COPY,
22+ &ipcp_wantoptions[0].replace_default_route },
23+#endif
24 { "proxyarp", o_bool, &ipcp_wantoptions[0].proxy_arp,
25 "Add proxy ARP entry", OPT_ENABLE|1, &ipcp_allowoptions[0].proxy_arp },
26 { "noproxyarp", o_bool, &ipcp_allowoptions[0].proxy_arp,
27@@ -271,7 +281,7 @@
28 ip_active_pkt
29 };
30
31-static void ipcp_clear_addrs __P((int, u_int32_t, u_int32_t));
32+static void ipcp_clear_addrs __P((int, u_int32_t, u_int32_t, bool));
33 static void ipcp_script __P((char *, int)); /* Run an up/down script */
34 static void ipcp_script_done __P((void *));
35
36@@ -1742,7 +1752,12 @@
37 if (!sifnpmode(u, PPP_IP, NPMODE_QUEUE))
38 return 0;
39 if (wo->default_route)
40+#ifndef __linux__
41 if (sifdefaultroute(u, wo->ouraddr, wo->hisaddr))
42+#else
43+ if (sifdefaultroute(u, wo->ouraddr, wo->hisaddr,
44+ wo->replace_default_route))
45+#endif
46 default_route_set[u] = 1;
47 if (wo->proxy_arp)
48 if (sifproxyarp(u, wo->hisaddr))
49@@ -1830,7 +1845,8 @@
50 */
51 if (demand) {
52 if (go->ouraddr != wo->ouraddr || ho->hisaddr != wo->hisaddr) {
53- ipcp_clear_addrs(f->unit, wo->ouraddr, wo->hisaddr);
54+ ipcp_clear_addrs(f->unit, wo->ouraddr, wo->hisaddr,
55+ wo->replace_default_route);
56 if (go->ouraddr != wo->ouraddr) {
57 warn("Local IP address changed to %I", go->ouraddr);
58 script_setenv("OLDIPLOCAL", ip_ntoa(wo->ouraddr), 0);
59@@ -1855,7 +1871,12 @@
60
61 /* assign a default route through the interface if required */
62 if (ipcp_wantoptions[f->unit].default_route)
63+#ifndef __linux__
64 if (sifdefaultroute(f->unit, go->ouraddr, ho->hisaddr))
65+#else
66+ if (sifdefaultroute(f->unit, go->ouraddr, ho->hisaddr,
67+ wo->replace_default_route))
68+#endif
69 default_route_set[f->unit] = 1;
70
71 /* Make a proxy ARP entry if requested. */
72@@ -1905,7 +1926,12 @@
73
74 /* assign a default route through the interface if required */
75 if (ipcp_wantoptions[f->unit].default_route)
76+#ifndef __linux__
77 if (sifdefaultroute(f->unit, go->ouraddr, ho->hisaddr))
78+#else
79+ if (sifdefaultroute(f->unit, go->ouraddr, ho->hisaddr,
80+ wo->replace_default_route))
81+#endif
82 default_route_set[f->unit] = 1;
83
84 /* Make a proxy ARP entry if requested. */
85@@ -1983,7 +2009,7 @@
86 sifnpmode(f->unit, PPP_IP, NPMODE_DROP);
87 sifdown(f->unit);
88 ipcp_clear_addrs(f->unit, ipcp_gotoptions[f->unit].ouraddr,
89- ipcp_hisoptions[f->unit].hisaddr);
90+ ipcp_hisoptions[f->unit].hisaddr, 0);
91 }
92
93 /* Execute the ip-down script */
94@@ -1999,12 +2025,21 @@
95 * proxy arp entries, etc.
96 */
97 static void
98-ipcp_clear_addrs(unit, ouraddr, hisaddr)
99+ipcp_clear_addrs(unit, ouraddr, hisaddr, replacedefaultroute)
100 int unit;
101 u_int32_t ouraddr; /* local address */
102 u_int32_t hisaddr; /* remote address */
103+ bool replacedefaultroute;
104 {
105- if (proxy_arp_set[unit]) {
106+ /* If replacedefaultroute, sifdefaultroute will be called soon
107+ * with replacedefaultroute set and that will overwrite the current
108+ * default route. This is the case only when doing demand, otherwise
109+ * during demand, this cifdefaultroute would restore the old default
110+ * route which is not what we want in this case. In the non-demand
111+ * case, we'll delete the default route and restore the old if there
112+ * is one saved by an sifdefaultroute with replacedefaultroute.
113+ */
114+ if (!replacedefaultroute && default_route_set[unit]) {
115 cifproxyarp(unit, hisaddr);
116 proxy_arp_set[unit] = 0;
117 }
118diff -urN ppp-2.4.5-orig/pppd/ipcp.h ppp-2.4.5/pppd/ipcp.h
119--- ppp-2.4.5-orig/pppd/ipcp.h 2010-06-30 15:51:12.043682063 +0800
120+++ ppp-2.4.5/pppd/ipcp.h 2010-06-30 16:40:49.586203129 +0800
121@@ -70,6 +70,7 @@
122 bool old_addrs; /* Use old (IP-Addresses) option? */
123 bool req_addr; /* Ask peer to send IP address? */
124 bool default_route; /* Assign default route through interface? */
125+ bool replace_default_route; /* Replace default route through interface? */
126 bool proxy_arp; /* Make proxy ARP entry for peer? */
127 bool neg_vj; /* Van Jacobson Compression? */
128 bool old_vj; /* use old (short) form of VJ option? */
129diff -urN ppp-2.4.5-orig/pppd/pppd.8 ppp-2.4.5/pppd/pppd.8
130--- ppp-2.4.5-orig/pppd/pppd.8 2010-06-30 15:51:12.043682063 +0800
131+++ ppp-2.4.5/pppd/pppd.8 2010-06-30 16:42:47.102413859 +0800
132@@ -121,6 +121,13 @@
133 This entry is removed when the PPP connection is broken. This option
134 is privileged if the \fInodefaultroute\fR option has been specified.
135 .TP
136+.B replacedefaultroute
137+This option is a flag to the defaultroute option. If defaultroute is
138+set and this flag is also set, pppd replaces an existing default route
139+with the new default route.
140+
141+
142+.TP
143 .B disconnect \fIscript
144 Execute the command specified by \fIscript\fR, by passing it to a
145 shell, after
146@@ -717,7 +724,12 @@
147 .TP
148 .B nodefaultroute
149 Disable the \fIdefaultroute\fR option. The system administrator who
150-wishes to prevent users from creating default routes with pppd
151+wishes to prevent users from adding a default route with pppd
152+can do so by placing this option in the /etc/ppp/options file.
153+.TP
154+.B noreplacedefaultroute
155+Disable the \fIreplacedefaultroute\fR option. The system administrator who
156+wishes to prevent users from replacing a default route with pppd
157 can do so by placing this option in the /etc/ppp/options file.
158 .TP
159 .B nodeflate
160diff -urN ppp-2.4.5-orig/pppd/pppd.h ppp-2.4.5/pppd/pppd.h
161--- ppp-2.4.5-orig/pppd/pppd.h 2010-06-30 15:51:12.050166398 +0800
162+++ ppp-2.4.5/pppd/pppd.h 2010-06-30 16:43:36.514148327 +0800
163@@ -643,7 +643,11 @@
164 int cif6addr __P((int, eui64_t, eui64_t));
165 /* Remove an IPv6 address from i/f */
166 #endif
167+#ifndef __linux__
168 int sifdefaultroute __P((int, u_int32_t, u_int32_t));
169+#else
170+int sifdefaultroute __P((int, u_int32_t, u_int32_t, bool replace_default_rt));
171+#endif
172 /* Create default route through i/f */
173 int cifdefaultroute __P((int, u_int32_t, u_int32_t));
174 /* Delete default route through i/f */
175diff -urN ppp-2.4.5-orig/pppd/sys-linux.c ppp-2.4.5/pppd/sys-linux.c
176--- ppp-2.4.5-orig/pppd/sys-linux.c 2010-06-30 15:51:12.050166398 +0800
177+++ ppp-2.4.5/pppd/sys-linux.c 2010-06-30 16:54:00.362716231 +0800
178@@ -206,6 +206,8 @@
179
180 static int if_is_up; /* Interface has been marked up */
181 static int have_default_route; /* Gateway for default route added */
182+static struct rtentry old_def_rt; /* Old default route */
183+static int default_rt_repl_rest; /* replace and restore old default rt */
184 static u_int32_t proxy_arp_addr; /* Addr for proxy arp entry added */
185 static char proxy_arp_dev[16]; /* Device for proxy arp entry */
186 static u_int32_t our_old_addr; /* for detecting address changes */
187@@ -1537,6 +1539,9 @@
188 p = NULL;
189 }
190
191+ SET_SA_FAMILY (rt->rt_dst, AF_INET);
192+ SET_SA_FAMILY (rt->rt_gateway, AF_INET);
193+
194 SIN_ADDR(rt->rt_dst) = strtoul(cols[route_dest_col], NULL, 16);
195 SIN_ADDR(rt->rt_gateway) = strtoul(cols[route_gw_col], NULL, 16);
196 SIN_ADDR(rt->rt_genmask) = strtoul(cols[route_mask_col], NULL, 16);
197@@ -1606,20 +1611,51 @@
198 /********************************************************************
199 *
200 * sifdefaultroute - assign a default route through the address given.
201- */
202-
203-int sifdefaultroute (int unit, u_int32_t ouraddr, u_int32_t gateway)
204-{
205- struct rtentry rt;
206-
207- if (defaultroute_exists(&rt) && strcmp(rt.rt_dev, ifname) != 0) {
208- if (rt.rt_flags & RTF_GATEWAY)
209- error("not replacing existing default route via %I",
210- SIN_ADDR(rt.rt_gateway));
211- else
212- error("not replacing existing default route through %s",
213- rt.rt_dev);
214- return 0;
215+ *
216+ * If the global default_rt_repl_rest flag is set, then this function
217+ * already replaced the original system defaultroute with some other
218+ * route and it should just replace the current defaultroute with
219+ * another one, without saving the current route. Use: demand mode,
220+ * when pppd sets first a defaultroute it it's temporary ppp0 addresses
221+ * and then changes the temporary addresses to the addresses for the real
222+ * ppp connection when it has come up.
223+ */
224+
225+int sifdefaultroute (int unit, u_int32_t ouraddr, u_int32_t gateway, bool replace)
226+{
227+ struct rtentry rt, tmp_rt;
228+ struct rtentry *del_rt = NULL;
229+
230+ if (default_rt_repl_rest) {
231+ /* We have already reclaced the original defaultroute, if we
232+ * are called again, we will delete the current default route
233+ * and set the new default route in this function.
234+ * - this is normally only the case the doing demand: */
235+ if (defaultroute_exists( &tmp_rt ))
236+ del_rt = &tmp_rt;
237+ } else if ( defaultroute_exists( &old_def_rt ) &&
238+ strcmp( old_def_rt.rt_dev, ifname ) != 0) {
239+ /* We did not yet replace an existing default route, let's
240+ * check if we should save and replace a default route:
241+ */
242+ u_int32_t old_gateway = SIN_ADDR(old_def_rt.rt_gateway);
243+ if (old_gateway != gateway) {
244+ if (!replace) {
245+ error("not replacing default route to %s [%I]",
246+ old_def_rt.rt_dev, old_gateway);
247+ return 0;
248+ } else {
249+ // we need to copy rt_dev because we need it permanent too:
250+ char * tmp_dev = malloc(strlen(old_def_rt.rt_dev)+1);
251+ strcpy(tmp_dev, old_def_rt.rt_dev);
252+ old_def_rt.rt_dev = tmp_dev;
253+
254+ notice("replacing old default route to %s [%I]",
255+ old_def_rt.rt_dev, old_gateway);
256+ default_rt_repl_rest = 1;
257+ del_rt = &old_def_rt;
258+ }
259+ }
260 }
261
262 memset (&rt, 0, sizeof (rt));
263@@ -1638,6 +1674,12 @@
264 error("default route ioctl(SIOCADDRT): %m");
265 return 0;
266 }
267+ if (default_rt_repl_rest && del_rt)
268+ if (ioctl(sock_fd, SIOCDELRT, del_rt) < 0) {
269+ if ( ! ok_error ( errno ))
270+ error("del old default route ioctl(SIOCDELRT): %m(%d)", errno);
271+ return 0;
272+ }
273
274 have_default_route = 1;
275 return 1;
276@@ -1673,6 +1715,16 @@
277 return 0;
278 }
279 }
280+ if (default_rt_repl_rest) {
281+ notice("restoring old default route to %s [%I]",
282+ old_def_rt.rt_dev, SIN_ADDR(old_def_rt.rt_gateway));
283+ if (ioctl(sock_fd, SIOCADDRT, &old_def_rt) < 0) {
284+ if ( ! ok_error ( errno ))
285+ error("restore default route ioctl(SIOCADDRT): %m(%d)", errno);
286+ return 0;
287+ }
288+ default_rt_repl_rest = 0;
289+ }
290
291 return 1;
292 }
diff --git a/meta/recipes-connectivity/ppp/ppp/copts.patch b/meta/recipes-connectivity/ppp/ppp/copts.patch
new file mode 100644
index 0000000000..53ff06e03e
--- /dev/null
+++ b/meta/recipes-connectivity/ppp/ppp/copts.patch
@@ -0,0 +1,21 @@
1ppp: use build system CFLAGS when compiling
2
3Upstream-Status: Pending
4
5Override the hard-coded COPTS make variables with
6CFLAGS. Add COPTS into one Makefile that did not
7use it.
8
9Signed-off-by: Joe Slater <jslater@windriver.com>
10
11--- a/pppd/plugins/radius/Makefile.linux
12+++ b/pppd/plugins/radius/Makefile.linux
13@@ -12,7 +12,7 @@ VERSION = $(shell awk -F '"' '/VERSION/
14 INSTALL = install
15
16 PLUGIN=radius.so radattr.so radrealms.so
17-CFLAGS=-I. -I../.. -I../../../include -O2 -fPIC -DRC_LOG_FACILITY=LOG_DAEMON
18+CFLAGS=-I. -I../.. -I../../../include $(COPTS) -fPIC -DRC_LOG_FACILITY=LOG_DAEMON
19
20 # Uncomment the next line to include support for Microsoft's
21 # MS-CHAP authentication protocol.
diff --git a/meta/recipes-connectivity/ppp/ppp/fix-CVE-2015-3310.patch b/meta/recipes-connectivity/ppp/ppp/fix-CVE-2015-3310.patch
new file mode 100644
index 0000000000..c9edb30597
--- /dev/null
+++ b/meta/recipes-connectivity/ppp/ppp/fix-CVE-2015-3310.patch
@@ -0,0 +1,29 @@
1ppp: Buffer overflow in radius plugin
2
3From: https://bugs.debian.org/cgi-bin/bugreport.cgi?msg=5;bug=782450
4
5Upstream-Status: Backport
6
7On systems with more than 65535 processes running, pppd aborts when
8sending a "start" accounting message to the RADIUS server because of a
9buffer overflow in rc_mksid.
10
11The process id is used in rc_mksid to generate a pseudo-unique string,
12assuming that the hex representation of the pid will be at most 4
13characters (FFFF). __sprintf_chk(), used when compiling with
14optimization levels greater than 0 and FORTIFY_SOURCE, detects the
15buffer overflow and makes pppd crash.
16
17The following patch fixes the problem.
18
19--- ppp-2.4.6.orig/pppd/plugins/radius/util.c
20+++ ppp-2.4.6/pppd/plugins/radius/util.c
21@@ -77,7 +77,7 @@ rc_mksid (void)
22 static unsigned short int cnt = 0;
23 sprintf (buf, "%08lX%04X%02hX",
24 (unsigned long int) time (NULL),
25- (unsigned int) getpid (),
26+ (unsigned int) getpid () % 65535,
27 cnt & 0xFF);
28 cnt++;
29 return buf;
diff --git a/meta/recipes-connectivity/ppp/ppp/init b/meta/recipes-connectivity/ppp/ppp/init
new file mode 100755
index 0000000000..0c0136049b
--- /dev/null
+++ b/meta/recipes-connectivity/ppp/ppp/init
@@ -0,0 +1,57 @@
1#!/bin/sh
2#
3# /etc/init.d/ppp: start or stop PPP link.
4#
5# If you want PPP started on boot time (most dialup systems won't need it)
6# rename the /etc/ppp/no_ppp_on_boot file to /etc/ppp/ppp_on_boot, and
7# follow the instructions in the comments in that file.
8
9# Source function library.
10. /etc/init.d/functions
11
12test -x /usr/sbin/pppd -a -f /etc/ppp/ppp_on_boot || exit 0
13if [ -x /etc/ppp/ppp_on_boot ]; then RUNFILE=1; fi
14
15case "$1" in
16 start)
17 echo -n "Starting up PPP link: pppd"
18 if [ "$RUNFILE" = "1" ]; then
19 /etc/ppp/ppp_on_boot
20 else
21 pppd call provider
22 fi
23 echo "."
24 ;;
25 stop)
26 echo -n "Shutting down PPP link: pppd"
27 if [ "$RUNFILE" = "1" ]; then
28 poff
29 else
30 poff provider
31 fi
32 echo "."
33 ;;
34 status)
35 status /usr/sbin/pppd;
36 exit $?
37 ;;
38 restart|force-reload)
39 echo -n "Restarting PPP link: pppd"
40 if [ "$RUNFILE" = "1" ]; then
41 poff
42 sleep 5
43 /etc/ppp/ppp_on_boot
44 else
45 poff provider
46 sleep 5
47 pppd call provider
48 fi
49 echo "."
50 ;;
51 *)
52 echo "Usage: /etc/init.d/ppp {start|stop|status|restart|force-reload}"
53 exit 1
54 ;;
55esac
56
57exit 0
diff --git a/meta/recipes-connectivity/ppp/ppp/ip-down b/meta/recipes-connectivity/ppp/ppp/ip-down
new file mode 100755
index 0000000000..06d35487a5
--- /dev/null
+++ b/meta/recipes-connectivity/ppp/ppp/ip-down
@@ -0,0 +1,43 @@
1#!/bin/sh
2#
3# $Id: ip-down,v 1.2 1998/02/10 21:21:55 phil Exp $
4#
5# This script is run by the pppd _after_ the link is brought down.
6# It uses run-parts to run scripts in /etc/ppp/ip-down.d, so to delete
7# routes, unset IP addresses etc. you should create script(s) there.
8#
9# Be aware that other packages may include /etc/ppp/ip-down.d scripts (named
10# after that package), so choose local script names with that in mind.
11#
12# This script is called with the following arguments:
13# Arg Name Example
14# $1 Interface name ppp0
15# $2 The tty ttyS1
16# $3 The link speed 38400
17# $4 Local IP number 12.34.56.78
18# $5 Peer IP number 12.34.56.99
19# $6 Optional ``ipparam'' value foo
20
21# The environment is cleared before executing this script
22# so the path must be reset
23PATH=/usr/local/sbin:/usr/sbin:/sbin:/usr/local/bin:/usr/bin:/bin
24export PATH
25# These variables are for the use of the scripts run by run-parts
26PPP_IFACE="$1"
27PPP_TTY="$2"
28PPP_SPEED="$3"
29PPP_LOCAL="$4"
30PPP_REMOTE="$5"
31PPP_IPPARAM="$6"
32export PPP_IFACE PPP_TTY PPP_SPEED PPP_LOCAL PPP_REMOTE PPP_IPPARAM
33
34# as an additional convenience, $PPP_TTYNAME is set to the tty name,
35# stripped of /dev/ (if present) for easier matching.
36PPP_TTYNAME=`/usr/bin/basename "$2"`
37export PPP_TTYNAME
38
39# Main Script starts here
40
41run-parts /etc/ppp/ip-down.d
42
43# last line
diff --git a/meta/recipes-connectivity/ppp/ppp/ip-up b/meta/recipes-connectivity/ppp/ppp/ip-up
new file mode 100755
index 0000000000..fc2fae9fe0
--- /dev/null
+++ b/meta/recipes-connectivity/ppp/ppp/ip-up
@@ -0,0 +1,44 @@
1#!/bin/sh
2#
3# $Id: ip-up,v 1.2 1998/02/10 21:25:34 phil Exp $
4#
5# This script is run by the pppd after the link is established.
6# It uses run-parts to run scripts in /etc/ppp/ip-up.d, so to add routes,
7# set IP address, run the mailq etc. you should create script(s) there.
8#
9# Be aware that other packages may include /etc/ppp/ip-up.d scripts (named
10# after that package), so choose local script names with that in mind.
11#
12# This script is called with the following arguments:
13# Arg Name Example
14# $1 Interface name ppp0
15# $2 The tty ttyS1
16# $3 The link speed 38400
17# $4 Local IP number 12.34.56.78
18# $5 Peer IP number 12.34.56.99
19# $6 Optional ``ipparam'' value foo
20
21# The environment is cleared before executing this script
22# so the path must be reset
23PATH=/usr/local/sbin:/usr/sbin:/sbin:/usr/local/bin:/usr/bin:/bin
24export PATH
25# These variables are for the use of the scripts run by run-parts
26PPP_IFACE="$1"
27PPP_TTY="$2"
28PPP_SPEED="$3"
29PPP_LOCAL="$4"
30PPP_REMOTE="$5"
31PPP_IPPARAM="$6"
32export PPP_IFACE PPP_TTY PPP_SPEED PPP_LOCAL PPP_REMOTE PPP_IPPARAM
33
34
35# as an additional convenience, $PPP_TTYNAME is set to the tty name,
36# stripped of /dev/ (if present) for easier matching.
37PPP_TTYNAME=`/usr/bin/basename "$2"`
38export PPP_TTYNAME
39
40# Main Script starts here
41
42run-parts /etc/ppp/ip-up.d
43
44# last line
diff --git a/meta/recipes-connectivity/ppp/ppp/makefile-remove-hard-usr-reference.patch b/meta/recipes-connectivity/ppp/ppp/makefile-remove-hard-usr-reference.patch
new file mode 100644
index 0000000000..d59717ebd3
--- /dev/null
+++ b/meta/recipes-connectivity/ppp/ppp/makefile-remove-hard-usr-reference.patch
@@ -0,0 +1,37 @@
1The patch comes from OpenEmbedded.
2Rebased for ppp-2.4.5. Dongxiao Xu <dongxiao.xu@intel.com>
3
4Updated from OE-Classic to include the pcap hunk.
5Signed-off-by: Andreas Oberritter <obi@opendreambox.org>
6
7Upstream-Status: Inappropriate [configuration]
8
9diff -urN ppp-2.4.5-orig/pppd/Makefile.linux ppp-2.4.5/pppd/Makefile.linux
10--- ppp-2.4.5-orig/pppd/Makefile.linux 2010-06-30 15:51:12.043682063 +0800
11+++ ppp-2.4.5/pppd/Makefile.linux 2010-06-30 17:08:21.806363042 +0800
12@@ -117,10 +117,10 @@
13 #LIBS += -lshadow $(LIBS)
14 endif
15
16-ifneq ($(wildcard /usr/include/crypt.h),)
17+#ifneq ($(wildcard /usr/include/crypt.h),)
18 CFLAGS += -DHAVE_CRYPT_H=1
19 LIBS += -lcrypt
20-endif
21+#endif
22
23 ifdef NEEDDES
24 ifndef USE_CRYPT
25@@ -169,10 +169,10 @@
26 endif
27
28 ifdef FILTER
29-ifneq ($(wildcard /usr/include/pcap-bpf.h),)
30+#ifneq ($(wildcard /usr/include/pcap-bpf.h),)
31 LIBS += -lpcap
32 CFLAGS += -DPPP_FILTER
33-endif
34+#endif
35 endif
36
37 ifdef HAVE_INET6
diff --git a/meta/recipes-connectivity/ppp/ppp/makefile.patch b/meta/recipes-connectivity/ppp/ppp/makefile.patch
new file mode 100644
index 0000000000..2d09baf5d0
--- /dev/null
+++ b/meta/recipes-connectivity/ppp/ppp/makefile.patch
@@ -0,0 +1,95 @@
1The patch comes from OpenEmbedded
2Rebased for ppp-2.4.5. Dongxiao Xu <dongxiao.xu@intel.com>
3
4Upstream-Status: Inappropriate [configuration]
5
6diff -ruN ppp-2.4.5-orig/chat/Makefile.linux ppp-2.4.5/chat/Makefile.linux
7--- ppp-2.4.5-orig/chat/Makefile.linux 2010-06-30 15:51:12.050166398 +0800
8+++ ppp-2.4.5/chat/Makefile.linux 2010-06-30 15:51:30.450118446 +0800
9@@ -25,7 +25,7 @@
10
11 install: chat
12 mkdir -p $(BINDIR) $(MANDIR)
13- $(INSTALL) -s -c chat $(BINDIR)
14+ $(INSTALL) -c chat $(BINDIR)
15 $(INSTALL) -c -m 644 chat.8 $(MANDIR)
16
17 clean:
18diff -ruN ppp-2.4.5-orig/pppd/Makefile.linux ppp-2.4.5/pppd/Makefile.linux
19--- ppp-2.4.5-orig/pppd/Makefile.linux 2010-06-30 15:51:12.043682063 +0800
20+++ ppp-2.4.5/pppd/Makefile.linux 2010-06-30 15:52:11.214170607 +0800
21@@ -99,7 +99,7 @@
22 CFLAGS += -DUSE_SRP -DOPENSSL -I/usr/local/ssl/include
23 LIBS += -lsrp -L/usr/local/ssl/lib -lcrypto
24 TARGETS += srp-entry
25-EXTRAINSTALL = $(INSTALL) -s -c -m 555 srp-entry $(BINDIR)/srp-entry
26+EXTRAINSTALL = $(INSTALL) -c -m 555 srp-entry $(BINDIR)/srp-entry
27 MANPAGES += srp-entry.8
28 EXTRACLEAN += srp-entry.o
29 NEEDDES=y
30@@ -200,7 +200,7 @@
31 install: pppd
32 mkdir -p $(BINDIR) $(MANDIR)
33 $(EXTRAINSTALL)
34- $(INSTALL) -s -c -m 555 pppd $(BINDIR)/pppd
35+ $(INSTALL) -c -m 555 pppd $(BINDIR)/pppd
36 if chgrp pppusers $(BINDIR)/pppd 2>/dev/null; then \
37 chmod o-rx,u+s $(BINDIR)/pppd; fi
38 $(INSTALL) -c -m 444 pppd.8 $(MANDIR)
39diff -ruN ppp-2.4.5-orig/pppd/plugins/radius/Makefile.linux ppp-2.4.5/pppd/plugins/radius/Makefile.linux
40--- ppp-2.4.5-orig/pppd/plugins/radius/Makefile.linux 2010-06-30 15:51:12.047676187 +0800
41+++ ppp-2.4.5/pppd/plugins/radius/Makefile.linux 2010-06-30 15:53:47.750182267 +0800
42@@ -36,11 +36,11 @@
43
44 install: all
45 $(INSTALL) -d -m 755 $(LIBDIR)
46- $(INSTALL) -s -c -m 755 radius.so $(LIBDIR)
47- $(INSTALL) -s -c -m 755 radattr.so $(LIBDIR)
48- $(INSTALL) -s -c -m 755 radrealms.so $(LIBDIR)
49- $(INSTALL) -c -m 444 pppd-radius.8 $(MANDIR)
50- $(INSTALL) -c -m 444 pppd-radattr.8 $(MANDIR)
51+ $(INSTALL) -c -m 755 radius.so $(LIBDIR)
52+ $(INSTALL) -c -m 755 radattr.so $(LIBDIR)
53+ $(INSTALL) -c -m 755 radrealms.so $(LIBDIR)
54+ $(INSTALL) -m 444 pppd-radius.8 $(MANDIR)
55+ $(INSTALL) -m 444 pppd-radattr.8 $(MANDIR)
56
57 radius.so: radius.o libradiusclient.a
58 $(CC) -o radius.so -shared radius.o libradiusclient.a
59diff -ruN ppp-2.4.5-orig/pppd/plugins/rp-pppoe/Makefile.linux ppp-2.4.5/pppd/plugins/rp-pppoe/Makefile.linux
60--- ppp-2.4.5-orig/pppd/plugins/rp-pppoe/Makefile.linux 2010-06-30 15:51:12.047676187 +0800
61+++ ppp-2.4.5/pppd/plugins/rp-pppoe/Makefile.linux 2010-06-30 15:53:15.454486877 +0800
62@@ -43,9 +43,9 @@
63
64 install: all
65 $(INSTALL) -d -m 755 $(LIBDIR)
66- $(INSTALL) -s -c -m 4550 rp-pppoe.so $(LIBDIR)
67+ $(INSTALL) -c -m 4550 rp-pppoe.so $(LIBDIR)
68 $(INSTALL) -d -m 755 $(BINDIR)
69- $(INSTALL) -s -c -m 555 pppoe-discovery $(BINDIR)
70+ $(INSTALL) -c -m 555 pppoe-discovery $(BINDIR)
71
72 clean:
73 rm -f *.o *.so pppoe-discovery
74diff -ruN ppp-2.4.5-orig/pppdump/Makefile.linux ppp-2.4.5/pppdump/Makefile.linux
75--- ppp-2.4.5-orig/pppdump/Makefile.linux 2010-06-30 15:51:12.058183383 +0800
76+++ ppp-2.4.5/pppdump/Makefile.linux 2010-06-30 15:52:25.762183537 +0800
77@@ -17,5 +17,5 @@
78
79 install:
80 mkdir -p $(BINDIR) $(MANDIR)
81- $(INSTALL) -s -c pppdump $(BINDIR)
82+ $(INSTALL) -c pppdump $(BINDIR)
83 $(INSTALL) -c -m 444 pppdump.8 $(MANDIR)
84diff -ruN ppp-2.4.5-orig/pppstats/Makefile.linux ppp-2.4.5/pppstats/Makefile.linux
85--- ppp-2.4.5-orig/pppstats/Makefile.linux 2010-06-30 15:51:12.058183383 +0800
86+++ ppp-2.4.5/pppstats/Makefile.linux 2010-06-30 15:52:42.486341081 +0800
87@@ -22,7 +22,7 @@
88
89 install: pppstats
90 -mkdir -p $(MANDIR)
91- $(INSTALL) -s -c pppstats $(BINDIR)
92+ $(INSTALL) -c pppstats $(BINDIR)
93 $(INSTALL) -c -m 444 pppstats.8 $(MANDIR)
94
95 pppstats: $(PPPSTATSRCS)
diff --git a/meta/recipes-connectivity/ppp/ppp/pap b/meta/recipes-connectivity/ppp/ppp/pap
new file mode 100644
index 0000000000..093c32607a
--- /dev/null
+++ b/meta/recipes-connectivity/ppp/ppp/pap
@@ -0,0 +1,22 @@
1# You can use this script unmodified to connect to sites which allow
2# authentication via PAP, CHAP and similar protocols.
3# This script can be shared among different pppd peer configurations.
4# To use it, add something like this to your /etc/ppp/peers/ file:
5#
6# connect "/usr/sbin/chat -v -f /etc/chatscripts/pap -T PHONE-NUMBER"
7# user YOUR-USERNAME-IN-PAP-SECRETS
8# noauth
9
10# Uncomment the following line to see the connect speed.
11# It will be logged to stderr or to the file specified with the -r chat option.
12#REPORT CONNECT
13
14ABORT BUSY
15ABORT VOICE
16ABORT "NO CARRIER"
17ABORT "NO DIALTONE"
18ABORT "NO DIAL TONE"
19"" ATZ
20OK ATDT\T
21CONNECT ""
22
diff --git a/meta/recipes-connectivity/ppp/ppp/poff b/meta/recipes-connectivity/ppp/ppp/poff
new file mode 100644
index 0000000000..0521a9406a
--- /dev/null
+++ b/meta/recipes-connectivity/ppp/ppp/poff
@@ -0,0 +1,26 @@
1#!/bin/sh
2
3# Lets see how many pppds are running....
4set -- `cat /var/run/ppp*.pid 2>/dev/null`
5
6case $# in
7 0) # pppd only creates a pid file once ppp is up, so let's try killing pppd
8 # on the assumption that we've not got that far yet.
9 killall pppd
10 ;;
11 1) # If only one was running then it can be killed (apparently killall
12 # caused problems for some, so lets try killing the pid from the file)
13 kill $1
14 ;;
15 *) # More than one! Aieehh.. Dont know which one to kill.
16 echo "More than one pppd running. None stopped"
17 exit 1
18 ;;
19esac
20
21if [ -r /var/run/ppp-quick ]
22then
23 rm -f /var/run/ppp-quick
24fi
25
26exit 0
diff --git a/meta/recipes-connectivity/ppp/ppp/pon b/meta/recipes-connectivity/ppp/ppp/pon
new file mode 100644
index 0000000000..91c059501a
--- /dev/null
+++ b/meta/recipes-connectivity/ppp/ppp/pon
@@ -0,0 +1,9 @@
1#!/bin/sh
2
3if [ "$1" = "quick" ]
4then
5 touch /var/run/ppp-quick
6 shift
7fi
8
9/usr/sbin/pppd call ${1:-provider}
diff --git a/meta/recipes-connectivity/ppp/ppp/ppp@.service b/meta/recipes-connectivity/ppp/ppp/ppp@.service
new file mode 100644
index 0000000000..2bf0b5e347
--- /dev/null
+++ b/meta/recipes-connectivity/ppp/ppp/ppp@.service
@@ -0,0 +1,9 @@
1[Unit]
2Description=PPP link to %I
3Before=network.target
4
5[Service]
6ExecStart=@SBINDIR@/pppd call %I nodetach nolog
7
8[Install]
9WantedBy=multi-user.target
diff --git a/meta/recipes-connectivity/ppp/ppp/ppp_on_boot b/meta/recipes-connectivity/ppp/ppp/ppp_on_boot
new file mode 100644
index 0000000000..9793761840
--- /dev/null
+++ b/meta/recipes-connectivity/ppp/ppp/ppp_on_boot
@@ -0,0 +1,21 @@
1###!/bin/sh
2#
3# Rename this file to ppp_on_boot and pppd will be fired up as
4# soon as the system comes up, connecting to `provider'.
5#
6# If you also make this file executable, and replace the first line
7# with just "#!/bin/sh", the commands below will be executed instead.
8#
9
10# The location of the ppp daemon itself (shouldn't need to be changed)
11PPPD=/usr/sbin/pppd
12
13# The default provider to connect to
14$PPPD call provider
15
16# Additional connections, which would just use settings from
17# /etc/ppp/options.<tty>
18#$PPPD ttyS0
19#$PPPD ttyS1
20#$PPPD ttyS2
21#$PPPD ttyS3
diff --git a/meta/recipes-connectivity/ppp/ppp/pppd-resolv-varrun.patch b/meta/recipes-connectivity/ppp/ppp/pppd-resolv-varrun.patch
new file mode 100644
index 0000000000..a72414ff8a
--- /dev/null
+++ b/meta/recipes-connectivity/ppp/ppp/pppd-resolv-varrun.patch
@@ -0,0 +1,45 @@
1The patch comes from OpenEmbedded
2Rebased for ppp-2.4.5. Dongxiao Xu <dongxiao.xu@intel.com>
3
4Upstream-Status: Inappropriate [embedded specific]
5
6diff -ruN ppp-2.4.5-orig/pppd/ipcp.c ppp-2.4.5/pppd/ipcp.c
7--- ppp-2.4.5-orig/pppd/ipcp.c 2010-06-30 15:51:12.050166398 +0800
8+++ ppp-2.4.5/pppd/ipcp.c 2010-06-30 17:02:33.930393283 +0800
9@@ -55,6 +55,8 @@
10 #include <sys/socket.h>
11 #include <netinet/in.h>
12 #include <arpa/inet.h>
13+#include <sys/stat.h>
14+#include <unistd.h>
15
16 #include "pppd.h"
17 #include "fsm.h"
18@@ -2095,6 +2097,14 @@
19 u_int32_t peerdns1, peerdns2;
20 {
21 FILE *f;
22+ struct stat dirinfo;
23+
24+ if(stat(_PATH_OUTDIR, &dirinfo)) {
25+ if(mkdir(_PATH_OUTDIR, 0775)) {
26+ error("Failed to create directory %s: %m", _PATH_OUTDIR);
27+ return;
28+ }
29+ }
30
31 f = fopen(_PATH_RESOLV, "w");
32 if (f == NULL) {
33diff -ruN ppp-2.4.5-orig/pppd/pathnames.h ppp-2.4.5/pppd/pathnames.h
34--- ppp-2.4.5-orig/pppd/pathnames.h 2010-06-30 15:51:12.043682063 +0800
35+++ ppp-2.4.5/pppd/pathnames.h 2010-06-30 17:03:20.594371055 +0800
36@@ -30,7 +30,8 @@
37 #define _PATH_TTYOPT _ROOT_PATH "/etc/ppp/options."
38 #define _PATH_CONNERRS _ROOT_PATH "/etc/ppp/connect-errors"
39 #define _PATH_PEERFILES _ROOT_PATH "/etc/ppp/peers/"
40-#define _PATH_RESOLV _ROOT_PATH "/etc/ppp/resolv.conf"
41+#define _PATH_OUTDIR _ROOT_PATH _PATH_VARRUN "/ppp"
42+#define _PATH_RESOLV _PATH_OUTDIR "/resolv.conf"
43
44 #define _PATH_USEROPT ".ppprc"
45 #define _PATH_PSEUDONYM ".ppp_pseudonym"
diff --git a/meta/recipes-connectivity/ppp/ppp/provider b/meta/recipes-connectivity/ppp/ppp/provider
new file mode 100644
index 0000000000..e74d71a8eb
--- /dev/null
+++ b/meta/recipes-connectivity/ppp/ppp/provider
@@ -0,0 +1,35 @@
1# example configuration for a dialup connection authenticated with PAP or CHAP
2#
3# This is the default configuration used by pon(1) and poff(1).
4# See the manual page pppd(8) for information on all the options.
5
6# MUST CHANGE: replace myusername@realm with the PPP login name given to
7# your by your provider.
8# There should be a matching entry with the password in /etc/ppp/pap-secrets
9# and/or /etc/ppp/chap-secrets.
10user "myusername@realm"
11
12# MUST CHANGE: replace ******** with the phone number of your provider.
13# The /etc/chatscripts/pap chat script may be modified to change the
14# modem initialization string.
15connect "/usr/sbin/chat -v -f /etc/chatscripts/pap -T ********"
16
17# Serial device to which the modem is connected.
18/dev/modem
19
20# Speed of the serial line.
21115200
22
23# Assumes that your IP address is allocated dynamically by the ISP.
24noipdefault
25# Try to get the name server addresses from the ISP.
26usepeerdns
27# Use this connection as the default route.
28defaultroute
29
30# Makes pppd "dial again" when the connection is lost.
31persist
32
33# Do not ask the remote to authenticate.
34noauth
35
diff --git a/meta/recipes-connectivity/ppp/ppp_2.4.6.bb b/meta/recipes-connectivity/ppp/ppp_2.4.6.bb
new file mode 100644
index 0000000000..b6b4048fff
--- /dev/null
+++ b/meta/recipes-connectivity/ppp/ppp_2.4.6.bb
@@ -0,0 +1,93 @@
1SUMMARY = "Point-to-Point Protocol (PPP) support"
2DESCRIPTION = "ppp (Paul's PPP Package) is an open source package which implements \
3the Point-to-Point Protocol (PPP) on Linux and Solaris systems."
4SECTION = "console/network"
5HOMEPAGE = "http://samba.org/ppp/"
6BUGTRACKER = "http://ppp.samba.org/cgi-bin/ppp-bugs"
7DEPENDS = "libpcap"
8LICENSE = "BSD & GPLv2+ & LGPLv2+ & PD"
9LIC_FILES_CHKSUM = "file://pppd/ccp.c;beginline=1;endline=29;md5=e2c43fe6e81ff77d87dc9c290a424dea \
10 file://pppd/plugins/passprompt.c;beginline=1;endline=10;md5=3bcbcdbf0e369c9a3e0b8c8275b065d8 \
11 file://pppd/tdb.c;beginline=1;endline=27;md5=4ca3a9991b011038d085d6675ae7c4e6 \
12 file://chat/chat.c;beginline=1;endline=15;md5=0d374b8545ee5c62d7aff1acbd38add2"
13
14SRC_URI = "http://ppp.samba.org/ftp/ppp/ppp-${PV}.tar.gz \
15 file://makefile.patch \
16 file://cifdefroute.patch \
17 file://pppd-resolv-varrun.patch \
18 file://makefile-remove-hard-usr-reference.patch \
19 file://pon \
20 file://poff \
21 file://init \
22 file://ip-up \
23 file://ip-down \
24 file://08setupdns \
25 file://92removedns \
26 file://copts.patch \
27 file://pap \
28 file://ppp_on_boot \
29 file://provider \
30 file://0001-ppp-Fix-compilation-errors-in-Makefile.patch \
31 file://ppp@.service \
32 file://fix-CVE-2015-3310.patch \
33"
34
35SRC_URI[md5sum] = "3434d2cc9327167a0723aaaa8670083b"
36SRC_URI[sha256sum] = "1b33181a03962c8a092c055fb9980e9722728a8d98a4bb7ec7acda17c1b1b49d"
37
38inherit autotools-brokensep systemd
39
40TARGET_CC_ARCH += " ${LDFLAGS}"
41EXTRA_OEMAKE = "STRIPPROG=${STRIP} MANDIR=${D}${datadir}/man/man8 INCDIR=${D}${includedir} LIBDIR=${D}${libdir}/pppd/${PV} BINDIR=${D}${sbindir}"
42EXTRA_OECONF = "--disable-strip"
43
44# Package Makefile computes CFLAGS, referencing COPTS.
45# Typically hard-coded to '-O2 -g' in the Makefile's.
46#
47EXTRA_OEMAKE += ' COPTS="${CFLAGS}"'
48
49do_install_append () {
50 make install-etcppp ETCDIR=${D}/${sysconfdir}/ppp
51 mkdir -p ${D}${bindir}/ ${D}${sysconfdir}/init.d
52 mkdir -p ${D}${sysconfdir}/ppp/ip-up.d/
53 mkdir -p ${D}${sysconfdir}/ppp/ip-down.d/
54 install -m 0755 ${WORKDIR}/pon ${D}${bindir}/pon
55 install -m 0755 ${WORKDIR}/poff ${D}${bindir}/poff
56 install -m 0755 ${WORKDIR}/init ${D}${sysconfdir}/init.d/ppp
57 install -m 0755 ${WORKDIR}/ip-up ${D}${sysconfdir}/ppp/
58 install -m 0755 ${WORKDIR}/ip-down ${D}${sysconfdir}/ppp/
59 install -m 0755 ${WORKDIR}/08setupdns ${D}${sysconfdir}/ppp/ip-up.d/
60 install -m 0755 ${WORKDIR}/92removedns ${D}${sysconfdir}/ppp/ip-down.d/
61 mkdir -p ${D}${sysconfdir}/chatscripts
62 mkdir -p ${D}${sysconfdir}/ppp/peers
63 install -m 0755 ${WORKDIR}/pap ${D}${sysconfdir}/chatscripts
64 install -m 0755 ${WORKDIR}/ppp_on_boot ${D}${sysconfdir}/ppp/ppp_on_boot
65 install -m 0755 ${WORKDIR}/provider ${D}${sysconfdir}/ppp/peers/provider
66 install -d ${D}${systemd_unitdir}/system
67 install -m 0644 ${WORKDIR}/ppp@.service ${D}${systemd_unitdir}/system
68 sed -i -e 's,@SBINDIR@,${sbindir},g' \
69 ${D}${systemd_unitdir}/system/ppp@.service
70 rm -rf ${D}/${mandir}/man8/man8
71 chmod u+s ${D}${sbindir}/pppd
72}
73
74CONFFILES_${PN} = "${sysconfdir}/ppp/pap-secrets ${sysconfdir}/ppp/chap-secrets ${sysconfdir}/ppp/options"
75PACKAGES =+ "${PN}-oa ${PN}-oe ${PN}-radius ${PN}-winbind ${PN}-minconn ${PN}-password ${PN}-l2tp ${PN}-tools"
76FILES_${PN} = "${sysconfdir} ${bindir} ${sbindir}/chat ${sbindir}/pppd ${systemd_unitdir}/system/ppp@.service"
77FILES_${PN}-dbg += "${libdir}/pppd/${PV}/.debug"
78FILES_${PN}-oa = "${libdir}/pppd/${PV}/pppoatm.so"
79FILES_${PN}-oe = "${sbindir}/pppoe-discovery ${libdir}/pppd/${PV}/rp-pppoe.so"
80FILES_${PN}-radius = "${libdir}/pppd/${PV}/radius.so ${libdir}/pppd/${PV}/radattr.so ${libdir}/pppd/${PV}/radrealms.so"
81FILES_${PN}-winbind = "${libdir}/pppd/${PV}/winbind.so"
82FILES_${PN}-minconn = "${libdir}/pppd/${PV}/minconn.so"
83FILES_${PN}-password = "${libdir}/pppd/${PV}/pass*.so"
84FILES_${PN}-l2tp = "${libdir}/pppd/${PV}/*l2tp.so"
85FILES_${PN}-tools = "${sbindir}/pppstats ${sbindir}/pppdump"
86SUMMARY_${PN}-oa = "Plugin for PPP for PPP-over-ATM support"
87SUMMARY_${PN}-oe = "Plugin for PPP for PPP-over-Ethernet support"
88SUMMARY_${PN}-radius = "Plugin for PPP for RADIUS support"
89SUMMARY_${PN}-winbind = "Plugin for PPP to authenticate against Samba or Windows"
90SUMMARY_${PN}-minconn = "Plugin for PPP to set a delay before the idle timeout applies"
91SUMMARY_${PN}-password = "Plugin for PPP to get passwords via a pipe"
92SUMMARY_${PN}-l2tp = "Plugin for PPP for l2tp support"
93SUMMARY_${PN}-tools = "Additional tools for the PPP package"
diff --git a/meta/recipes-connectivity/resolvconf/resolvconf/99_resolvconf b/meta/recipes-connectivity/resolvconf/resolvconf/99_resolvconf
new file mode 100644
index 0000000000..3790d774a7
--- /dev/null
+++ b/meta/recipes-connectivity/resolvconf/resolvconf/99_resolvconf
@@ -0,0 +1,4 @@
1d root root 0755 /var/run/resolvconf/interface none
2f root root 0644 /etc/resolvconf/run/resolv.conf none
3f root root 0644 /etc/resolvconf/run/enable-updates none
4l root root 0644 /etc/resolv.conf /etc/resolvconf/run/resolv.conf
diff --git a/meta/recipes-connectivity/resolvconf/resolvconf/fix-path-for-busybox.patch b/meta/recipes-connectivity/resolvconf/resolvconf/fix-path-for-busybox.patch
new file mode 100644
index 0000000000..fc4605e94d
--- /dev/null
+++ b/meta/recipes-connectivity/resolvconf/resolvconf/fix-path-for-busybox.patch
@@ -0,0 +1,19 @@
1
2busybox installs readlink into /usr/bin, so ensure /usr/bin
3is in the path.
4
5Upstream-Status: Submitted
6Signed-off-by: Saul Wold <sgw@linux.intel.com>
7
8Index: resolvconf-1.76/etc/resolvconf/update.d/libc
9===================================================================
10--- resolvconf-1.76.orig/etc/resolvconf/update.d/libc
11+++ resolvconf-1.76/etc/resolvconf/update.d/libc
12@@ -16,7 +16,7 @@
13 #
14
15 set -e
16-PATH=/sbin:/bin
17+PATH=/sbin:/bin:/usr/bin
18
19 [ -x /lib/resolvconf/list-records ] || exit 1
diff --git a/meta/recipes-connectivity/resolvconf/resolvconf_1.75.bb b/meta/recipes-connectivity/resolvconf/resolvconf_1.75.bb
new file mode 100644
index 0000000000..ee171c065e
--- /dev/null
+++ b/meta/recipes-connectivity/resolvconf/resolvconf_1.75.bb
@@ -0,0 +1,64 @@
1SUMMARY = "name server information handler"
2DESCRIPTION = "Resolvconf is a framework for keeping track of the system's \
3information about currently available nameservers. It sets \
4itself up as the intermediary between programs that supply \
5nameserver information and programs that need nameserver \
6information."
7SECTION = "console/network"
8LICENSE = "GPLv2+"
9LIC_FILES_CHKSUM = "file://COPYING;md5=c93c0550bd3173f4504b2cbd8991e50b"
10AUTHOR = "Thomas Hood"
11HOMEPAGE = "http://packages.debian.org/resolvconf"
12RDEPENDS_${PN} = "bash"
13
14SRC_URI = "${DEBIAN_MIRROR}/main/r/resolvconf/resolvconf_${PV}.tar.xz \
15 file://fix-path-for-busybox.patch \
16 file://99_resolvconf \
17 "
18
19
20SRC_URI[md5sum] = "4b8bc86a3cf070e3fd0e9aff7eaaba56"
21SRC_URI[sha256sum] = "16167f37a77ef4bc4596dcbefece269b6a10d10fa448594ec55ed3303193086e"
22
23inherit allarch
24
25do_compile () {
26 :
27}
28
29do_install () {
30 install -d ${D}${sysconfdir}/default/volatiles
31 install -m 0644 ${WORKDIR}/99_resolvconf ${D}${sysconfdir}/default/volatiles
32 if ${@bb.utils.contains('DISTRO_FEATURES', 'systemd', 'true', 'false', d)}; then
33 install -d ${D}${sysconfdir}/tmpfiles.d
34 echo "d /run/${BPN}/interface - - - -" \
35 > ${D}${sysconfdir}/tmpfiles.d/resolvconf.conf
36 fi
37 install -d ${D}${base_libdir}/${BPN}
38 install -d ${D}${sysconfdir}/${BPN}
39 ln -snf ${localstatedir}/run/${BPN} ${D}${sysconfdir}/${BPN}/run
40 install -d ${D}${sysconfdir} ${D}${base_sbindir}
41 install -d ${D}${mandir}/man8 ${D}${docdir}/${P}
42 cp -pPR etc/* ${D}${sysconfdir}/
43 chown -R root:root ${D}${sysconfdir}/
44 install -m 0755 bin/resolvconf ${D}${base_sbindir}/
45 install -m 0755 bin/list-records ${D}${base_libdir}/${BPN}
46 install -d ${D}/${sysconfdir}/network/if-up.d
47 install -m 0755 debian/resolvconf.000resolvconf.if-up ${D}/${sysconfdir}/network/if-up.d/000resolvconf
48 install -d ${D}/${sysconfdir}/network/if-down.d
49 install -m 0755 debian/resolvconf.resolvconf.if-down ${D}/${sysconfdir}/network/if-down.d/resolvconf
50 install -m 0644 README ${D}${docdir}/${P}/
51 install -m 0644 man/resolvconf.8 ${D}${mandir}/man8/
52}
53
54pkg_postinst_${PN} () {
55 if [ -z "$D" ]; then
56 if command -v systemd-tmpfiles >/dev/null; then
57 systemd-tmpfiles --create ${sysconfdir}/tmpfiles.d/resolvconf.conf
58 elif [ -e ${sysconfdir}/init.d/populate-volatile.sh ]; then
59 ${sysconfdir}/init.d/populate-volatile.sh update
60 fi
61 fi
62}
63
64FILES_${PN} += "${base_libdir}/${BPN}"
diff --git a/meta/recipes-connectivity/socat/socat/fix-cross-compiling-failed.patch b/meta/recipes-connectivity/socat/socat/fix-cross-compiling-failed.patch
new file mode 100644
index 0000000000..b9d3ca3bab
--- /dev/null
+++ b/meta/recipes-connectivity/socat/socat/fix-cross-compiling-failed.patch
@@ -0,0 +1,36 @@
1Fix build during cross-compilation as it fails to detect that our prefixed
2compiler is gcc, and falls back to executing code to determine type sizes:
3
4| configure: using code run method to find basic types
5| checking for equivalent simple type of size_t...
6| configure: error: in `/data/poky-master/tmp/work/core2-32-poky-linux/socat/1.7.2.4-r0/build':
7| configure: error: cannot run test program while cross compiling
8
9This is caused by configure.in assuming that $CC can be literally compared with
10"gcc" to determine if the compiler is GCC. Our gcc is host-prefixed so this
11test fails, however autoconf provides $GCC for this purpose (which was used up
12to 1.7.2.3).
13
14Upstream-Status: Submitted (via email)
15Signed-off-by: Hongxu Jia <hongxu.jia@windriver.com>
16Signed-off-by: Ross Burton <ross.burton@intel.com>
17
18---
19 configure.in | 2 +-
20 1 file changed, 1 insertion(+), 1 deletion(-)
21
22diff --git a/configure.in b/configure.in
23--- a/configure.in
24+++ b/configure.in
25@@ -41,7 +41,7 @@ AC_CHECK_PROG(AR, ar, ar, gar)
26 # fail
27 AC_LANG_COMPILER_REQUIRE()
28
29-if test "$CC" = "gcc"; then
30+if test "$GCC" = yes; then
31 CFLAGS="$CFLAGS -D_GNU_SOURCE -Wall -Wno-parentheses"
32 ERRONWARN="-Werror -O0"
33 elif test "$CC" = "clang"; then
34--
351.8.1.2
36
diff --git a/meta/recipes-connectivity/socat/socat_1.7.2.4.bb b/meta/recipes-connectivity/socat/socat_1.7.2.4.bb
new file mode 100644
index 0000000000..44d72202ac
--- /dev/null
+++ b/meta/recipes-connectivity/socat/socat_1.7.2.4.bb
@@ -0,0 +1,38 @@
1SUMMARY = "Multipurpose relay for bidirectional data transfer"
2DESCRIPTION = "Socat is a relay for bidirectional data \
3transfer between two independent data channels."
4HOMEPAGE = "http://www.dest-unreach.org/socat/"
5
6SECTION = "console/network"
7
8DEPENDS = "openssl readline"
9
10LICENSE = "GPL-2.0+-with-OpenSSL-exception"
11LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263 \
12 file://README;beginline=257;endline=287;md5=79246f11a1db0b6ccec54d1fb711c01e"
13
14
15SRC_URI = "http://www.dest-unreach.org/socat/download/socat-${PV}.tar.bz2 \
16 file://fix-cross-compiling-failed.patch \
17"
18
19SRC_URI[md5sum] = "69b8155dd442a6f24e28ef5407d868eb"
20SRC_URI[sha256sum] = "4b7739901c6fad1e460f3e5b1868fb4c2a1427febbba7a510cd2e42fd4941e09"
21
22inherit autotools
23
24EXTRA_AUTORECONF += "--exclude=autoheader"
25
26EXTRA_OECONF += "ac_cv_have_z_modifier=yes sc_cv_sys_crdly_shift=9 \
27 sc_cv_sys_tabdly_shift=11 sc_cv_sys_csize_shift=4 \
28 ac_cv_ispeed_offset=13 \
29 ac_cv_header_bsd_libutil_h=no \
30"
31
32PACKAGECONFIG ??= "tcp-wrappers"
33PACKAGECONFIG[tcp-wrappers] = "--enable-libwrap,--disable-libwrap,tcp-wrappers"
34
35do_install_prepend () {
36 mkdir -p ${D}${bindir}
37 install -d ${D}${bindir} ${D}${mandir}/man1
38}
diff --git a/meta/recipes-connectivity/telepathy/libtelepathy/doublefix.patch b/meta/recipes-connectivity/telepathy/libtelepathy/doublefix.patch
new file mode 100644
index 0000000000..a7737fbf03
--- /dev/null
+++ b/meta/recipes-connectivity/telepathy/libtelepathy/doublefix.patch
@@ -0,0 +1,18 @@
1Fix double reference to this file to work with recent autoconf+automake
2
3RP 1/2/10
4
5Upstream-Status: Inappropriate [configuration]
6
7Index: libtelepathy-0.3.3/src/Makefile.am
8===================================================================
9--- libtelepathy-0.3.3.orig/src/Makefile.am 2010-02-01 13:13:50.869038984 +0000
10+++ libtelepathy-0.3.3/src/Makefile.am 2010-02-01 13:14:23.267789456 +0000
11@@ -27,7 +27,6 @@
12 tp-chan-type-text-gen.h \
13 tp-chan-type-tubes-gen.h \
14 tp-conn-iface-aliasing-gen.h \
15- tp-conn-iface-avatars-gen.h \
16 tp-conn-iface-capabilities-gen.h \
17 tp-conn-iface-contact-info-gen.h \
18 tp-conn-iface-forwarding-gen.h \
diff --git a/meta/recipes-connectivity/telepathy/libtelepathy/prefer_python_2.5.patch b/meta/recipes-connectivity/telepathy/libtelepathy/prefer_python_2.5.patch
new file mode 100644
index 0000000000..37679ab761
--- /dev/null
+++ b/meta/recipes-connectivity/telepathy/libtelepathy/prefer_python_2.5.patch
@@ -0,0 +1,15 @@
1Upstream-Status: Inappropriate [configuration]
2
3Index: libtelepathy-0.3.1/configure.ac
4===================================================================
5--- libtelepathy-0.3.1.orig/configure.ac 2007-11-22 19:05:56.000000000 +0000
6+++ libtelepathy-0.3.1/configure.ac 2008-01-04 12:07:28.000000000 +0000
7@@ -51,7 +51,7 @@
8 AC_MSG_ERROR([xsltproc (from the libxslt source package) is required])
9 fi
10
11-AC_CHECK_PROGS([PYTHON], [python2.3 python2.4 python2.5 python])
12+AC_CHECK_PROGS([PYTHON], [python2.5 python2.4 python2.3 python])
13 if test -z "$PYTHON"; then
14 AC_MSG_ERROR([Python is required to compile this package])
15 fi
diff --git a/meta/recipes-connectivity/telepathy/libtelepathy_0.3.3.bb b/meta/recipes-connectivity/telepathy/libtelepathy_0.3.3.bb
new file mode 100644
index 0000000000..f13e7093c8
--- /dev/null
+++ b/meta/recipes-connectivity/telepathy/libtelepathy_0.3.3.bb
@@ -0,0 +1,23 @@
1SUMMARY = "Telepathy framework"
2DESCRIPTION = "Telepathy is a D-Bus framework for unifying real time \
3communication, including instant messaging, voice calls and video calls. It \
4abstracts differences between protocols to provide a unified interface for \
5applications."
6HOMEPAGE = "http://telepathy.freedesktop.org/wiki/"
7DEPENDS = "glib-2.0 dbus dbus-glib telepathy-glib libxslt-native"
8LICENSE = "LGPLv2.1+"
9LIC_FILES_CHKSUM = "file://COPYING;md5=a6f89e2100d9b6cdffcea4f398e37343 \
10 file://src/tp-conn.c;beginline=1;endline=19;md5=4c58069f77d601cc59200bce5396c7cb"
11PR = "r5"
12
13SRC_URI = "http://telepathy.freedesktop.org/releases/libtelepathy/libtelepathy-${PV}.tar.gz \
14 file://prefer_python_2.5.patch \
15 file://doublefix.patch"
16
17SRC_URI[md5sum] = "490ca1a0c614d4466394b72d43bf7370"
18SRC_URI[sha256sum] = "e0d230be855125163579743418203c6f6be2f10f98c4f065735c1dc9ed115878"
19
20inherit autotools pkgconfig pythonnative
21
22FILES_${PN} += "${datadir}/telepathy \
23 ${datadir}/dbus-1"
diff --git a/meta/recipes-connectivity/telepathy/telepathy-glib_0.24.0.bb b/meta/recipes-connectivity/telepathy/telepathy-glib_0.24.0.bb
new file mode 100644
index 0000000000..6b8c20c381
--- /dev/null
+++ b/meta/recipes-connectivity/telepathy/telepathy-glib_0.24.0.bb
@@ -0,0 +1,16 @@
1SUMMARY = "Telepathy Framework glib-base helper library"
2DESCRIPTION = "Telepathy Framework: GLib-based helper library for connection managers"
3HOMEPAGE = "http://telepathy.freedesktop.org/wiki/"
4DEPENDS = "glib-2.0 dbus python-native-runtime dbus-native dbus-glib libxslt-native"
5LICENSE = "LGPLv2.1+"
6
7SRC_URI = "http://telepathy.freedesktop.org/releases/telepathy-glib/${BP}.tar.gz"
8SRC_URI[md5sum] = "93c429e37750b25dcf8de86bb514664f"
9SRC_URI[sha256sum] = "ae0002134991217f42e503c43dea7817853afc18863b913744d51ffa029818cf"
10
11LIC_FILES_CHKSUM = "file://COPYING;md5=e413d83db6ee8f2c8e6055719096a48e"
12
13inherit autotools pkgconfig gettext
14
15FILES_${PN} += "${datadir}/telepathy \
16 ${datadir}/dbus-1"
diff --git a/meta/recipes-connectivity/telepathy/telepathy-idle/fix-svc-gtk-doc.h-target.patch b/meta/recipes-connectivity/telepathy/telepathy-idle/fix-svc-gtk-doc.h-target.patch
new file mode 100644
index 0000000000..2cd2c78c31
--- /dev/null
+++ b/meta/recipes-connectivity/telepathy/telepathy-idle/fix-svc-gtk-doc.h-target.patch
@@ -0,0 +1,15 @@
1Upstream-Status: Pending
2
3Signed-off-by: Constantin Musca <constantinx.musca@intel.com>
4--- a/extensions/Makefile.am
5+++ b/extensions/Makefile.am
6@@ -37,8 +37,8 @@ _gen/all.xml: all.xml $(wildcard $(srcdi
7 --xinclude $(tools_dir)/identity.xsl \
8 $< > $@
9
10-extensions.html: _gen/all.xml $(tools_dir)/doc-generator.xsl
11+extensions.html _gen/svc-gtk-doc.h: _gen/all.xml $(tools_dir)/doc-generator.xsl
12 $(AM_V_GEN)$(XSLTPROC) $(XSLTPROCFLAGS) \
13 $(tools_dir)/doc-generator.xsl \
14 $< > $@
15
diff --git a/meta/recipes-connectivity/telepathy/telepathy-idle_0.2.0.bb b/meta/recipes-connectivity/telepathy/telepathy-idle_0.2.0.bb
new file mode 100644
index 0000000000..ca09f6daf3
--- /dev/null
+++ b/meta/recipes-connectivity/telepathy/telepathy-idle_0.2.0.bb
@@ -0,0 +1,17 @@
1SUMMARY = "Telepathy IRC connection manager"
2DESCRIPTION = "Telepathy implementation of the Internet Relay Chat protocols."
3HOMEPAGE = "http://telepathy.freedesktop.org/wiki/"
4DEPENDS = "glib-2.0 dbus telepathy-glib openssl libxslt-native"
5LICENSE = "LGPLv2.1"
6LIC_FILES_CHKSUM = "file://COPYING;md5=2d5025d4aa3495befef8f17206a5b0a1 \
7 file://src/idle.c;beginline=1;endline=19;md5=b06b1e2594423111a1a7910b0eefc7f9"
8
9SRC_URI = "http://telepathy.freedesktop.org/releases/${BPN}/${BPN}-${PV}.tar.gz \
10 file://fix-svc-gtk-doc.h-target.patch"
11SRC_URI[md5sum] = "92a2de5198284cbd3c430b0d1a971a86"
12SRC_URI[sha256sum] = "3013ad4b38d14ee630b8cc8ada5e95ccaa849b9a6fe15d2eaf6d0717d76f2fab"
13
14inherit autotools pkgconfig pythonnative
15
16FILES_${PN} += "${datadir}/telepathy \
17 ${datadir}/dbus-1"
diff --git a/meta/recipes-connectivity/telepathy/telepathy-mission-control/tmc-Makefile-fix-race.patch b/meta/recipes-connectivity/telepathy/telepathy-mission-control/tmc-Makefile-fix-race.patch
new file mode 100644
index 0000000000..ece1da6bc3
--- /dev/null
+++ b/meta/recipes-connectivity/telepathy/telepathy-mission-control/tmc-Makefile-fix-race.patch
@@ -0,0 +1,76 @@
1From: Robert Yang <liezhi.yang@windriver.com>
2Date: Sun, 22 Sep 2013 23:21:01 -0400
3Subject: [PATCH] src/Makefile.am: fix race issue for _gen/gtypes.h and _gen/gtypes-body.h
4
5There might be an error when parallel build:
6
7[snip]
8Traceback (most recent call last):
9 File "/path/to/tools/glib-gtypes-generator.py", line 304, in <module>
10 GTypesGenerator(dom, argv[1], argv[2])()
11 File "/path/to/tools/glib-gtypes-generator.py", line 295, in __call__
12 file_set_contents(self.output + '.h', ''.join(self.header))
13 File "/path/to/tools/libtpcodegen.py", line 42, in file_set_contents
14 os.rename(filename + '.tmp', filename)
15OSError: [Errno 2] No such file or directory
16[snip]
17
18This is a race issue, the _gen/gtypes.h and _gen/gtypes-body.h may
19write(remove/rename) _gen/gtypes.tmp at the same time, then there would
20be the error.
21
22There was a similar bug in telepathy-glib which was already fixed, we use the
23similar patch to fix it.
24
25Upstream-Status: Pending
26
27Signed-off-by: Robert Yang <liezhi.yang@windriver.com>
28---
29 src/Makefile.am | 18 +++++++++++++++---
30 1 file changed, 15 insertions(+), 3 deletions(-)
31
32diff --git a/src/Makefile.am b/src/Makefile.am
33--- a/src/Makefile.am
34+++ b/src/Makefile.am
35@@ -288,7 +288,11 @@ _gen/interfaces-body.h: _gen/mcd.xml \
36 $(tools_dir)/glib-interfaces-body-generator.xsl \
37 $< > $@
38
39-_gen/gtypes.h _gen/gtypes-body.h: _gen/mcd.xml \
40+# do nothing, output as a side-effect
41+_gen/gtypes.h: _gen/gtypes-body.h
42+ @:
43+
44+_gen/gtypes-body.h: _gen/mcd.xml \
45 $(top_srcdir)/tools/glib-gtypes-generator.py
46 $(AM_V_GEN)$(PYTHON) $(top_srcdir)/tools/glib-gtypes-generator.py \
47 $< _gen/gtypes mc
48@@ -309,7 +313,11 @@ _gen/%.xml: %.xml $(wildcard $(top_srcdir)/xml/*.xml) Makefile.am
49 $(AM_V_GEN)$(XSLTPROC) $(XSLTPROCFLAGS) --xinclude $(tools_dir)/identity.xsl \
50 $< > $@
51
52-_gen/cli-%-body.h _gen/cli-%.h: _gen/%.xml \
53+# do nothing, output as a side-effect
54+_gen/cli-%.h: _gen/cli-%-body.h
55+ @:
56+
57+_gen/cli-%-body.h: _gen/%.xml \
58 $(tools_dir)/glib-client-gen.py Makefile.am
59 $(AM_V_GEN)$(PYTHON) $(tools_dir)/glib-client-gen.py \
60 --group=`echo $* | tr x- x_` \
61@@ -317,7 +325,11 @@ _gen/cli-%-body.h _gen/cli-%.h: _gen/%.xml \
62 --tp-proxy-api=0.7.6 \
63 $< Mc_Cli _gen/cli-$*
64
65-_gen/svc-%.c _gen/svc-%.h: _gen/%.xml \
66+# do nothing, output as a side-effect
67+_gen/svc-%.h: _gen/svc-%.c
68+ @:
69+
70+_gen/svc-%.c: _gen/%.xml \
71 $(tools_dir)/glib-ginterface-gen.py Makefile.am
72 $(AM_V_GEN)$(PYTHON) $(tools_dir)/glib-ginterface-gen.py \
73 --filename=_gen/svc-$* \
74--
751.7.10.4
76
diff --git a/meta/recipes-connectivity/telepathy/telepathy-mission-control_5.16.1.bb b/meta/recipes-connectivity/telepathy/telepathy-mission-control_5.16.1.bb
new file mode 100644
index 0000000000..9ae68ddea9
--- /dev/null
+++ b/meta/recipes-connectivity/telepathy/telepathy-mission-control_5.16.1.bb
@@ -0,0 +1,51 @@
1SUMMARY = "Central control for Telepathy IM connection managers"
2HOMEPAGE = "http://telepathy.freedesktop.org/wiki/Mission_Control/"
3LICENSE = "LGPLv2.1+"
4LIC_FILES_CHKSUM = "file://COPYING;md5=d8045f3b8f929c1cb29a1e3fd737b499 \
5 file://src/request.h;beginline=1;endline=21;md5=f80534d9af1c33291b3b79609f196eb2"
6SECTION = "libs"
7DEPENDS = "libtelepathy dbus-glib gconf libxslt-native"
8
9SRC_URI = "http://telepathy.freedesktop.org/releases/telepathy-mission-control/${BP}.tar.gz \
10 file://tmc-Makefile-fix-race.patch \
11 "
12SRC_URI[md5sum] = "421115a35b9e427807326877f86e7f43"
13SRC_URI[sha256sum] = "14ceb7d53535b43d44b8271ad11319d1d0fe6d193d154636b9e62b42799b9723"
14
15inherit autotools-brokensep pkgconfig pythonnative
16
17PACKAGECONFIG ??= ""
18PACKAGECONFIG[upower] = "--enable-upower,--disable-upower,upower"
19
20# to select connman or nm you need to use "connectivity" and "connman" or "nm", default is to disable both
21PACKAGECONFIG[connectivity] = ",--with-connectivity=no"
22PACKAGECONFIG[connman] = "--with-connectivity=connman,,connman"
23PACKAGECONFIG[nm] = "--with-connectivity=nm,,networkmanager"
24
25PACKAGES =+ " \
26 libmissioncontrol \
27 libmissioncontrol-config \
28 libmissioncontrol-server \
29 libmissioncontrol-dev \
30 libmissioncontrol-config-dev \
31 libmissioncontrol-server-dev \
32 libmissioncontrol-dbg \
33 libmissioncontrol-config-dbg \
34 libmissioncontrol-server-dbg \
35"
36
37FILES_${PN} += "${datadir}/dbus* ${datadir}/glib-2.0/schemas"
38
39FILES_libmissioncontrol = "${libdir}/libmissioncontrol.so.*"
40FILES_libmissioncontrol-config = "${libdir}/libmissioncontrol-config.so.*"
41FILES_libmissioncontrol-server = "${libdir}/libmissioncontrol-server.so.*"
42
43FILES_libmissioncontrol-dev = "${libdir}/libmissioncontrol.* \
44 ${includedir}/libmissioncontrol/ \
45 ${libdir}/pkgconfig/libmissioncontrol.pc"
46FILES_libmissioncontrol-config-dev = "${libdir}/libmissioncontrol-config.*"
47FILES_libmissioncontrol-server-dev = "${libdir}/libmissioncontrol-server.*"
48
49FILES_libmissioncontrol-dbg = "${libdir}/.debug/libmissioncontrol.so.*"
50FILES_libmissioncontrol-config-dbg = "${libdir}/.debug/libmissioncontrol-config.so.*"
51FILES_libmissioncontrol-server-dbg = "${libdir}/.debug/libmissioncontrol-server.so.*"
diff --git a/meta/recipes-connectivity/telepathy/telepathy-python-0.15.19/parallel_make.patch b/meta/recipes-connectivity/telepathy/telepathy-python-0.15.19/parallel_make.patch
new file mode 100644
index 0000000000..248824606e
--- /dev/null
+++ b/meta/recipes-connectivity/telepathy/telepathy-python-0.15.19/parallel_make.patch
@@ -0,0 +1,43 @@
1Add dependency of __init__.py
2
3Tasks must be done after exec of __init__, which creates the
4src/_generated directory that tasks are based on.
5
6Signed-off-by: Dongxiao Xu <dongxiao.xu@intel.com>
7
8Upstream-Status: Submitted
9(However it seems that this project is out of maintanence.)
10
11diff -ruN telepathy-python-0.15.19-orig/src/Makefile.am telepathy-python-0.15.19/src/Makefile.am
12--- telepathy-python-0.15.19-orig/src/Makefile.am 2011-03-10 08:51:49.000000000 +0800
13+++ telepathy-python-0.15.19/src/Makefile.am 2011-03-10 08:54:45.000000000 +0800
14@@ -39,17 +39,17 @@
15 XSLTPROC_OPTS = --nonet --novalid --xinclude
16 tools_dir = $(top_srcdir)/tools
17
18-_generated/interfaces.py: $(tools_dir)/python-interfaces-generator.xsl $(wildcard $(spec_dir)/*.xml)
19+_generated/interfaces.py: _generated/__init__.py $(tools_dir)/python-interfaces-generator.xsl $(wildcard $(spec_dir)/*.xml)
20 $(AM_V_GEN)$(XSLTPROC) $(XSLTPROC_OPTS) -o $@ \
21 $(tools_dir)/python-interfaces-generator.xsl \
22 $(spec_dir)/all.xml
23
24-_generated/constants.py: $(tools_dir)/python-constants-generator.xsl $(wildcard $(spec_dir)/*.xml)
25+_generated/constants.py: _generated/__init__.py $(tools_dir)/python-constants-generator.xsl $(wildcard $(spec_dir)/*.xml)
26 $(AM_V_GEN)$(XSLTPROC) $(XSLTPROC_OPTS) -o $@ \
27 $(tools_dir)/python-constants-generator.xsl \
28 $(spec_dir)/all.xml
29
30-_generated/errors.py: $(tools_dir)/python-errors-generator.xsl $(wildcard $(spec_dir)/*.xml)
31+_generated/errors.py: _generated/__init__.py $(tools_dir)/python-errors-generator.xsl $(wildcard $(spec_dir)/*.xml)
32 $(AM_V_GEN)$(XSLTPROC) $(XSLTPROC_OPTS) -o $@ \
33 $(tools_dir)/python-errors-generator.xsl \
34 $(spec_dir)/all.xml
35@@ -58,7 +58,7 @@
36 $(AM_V_GEN)$(mkdir_p) $(dir $@)
37 @echo "# Placeholder for package" > $@
38
39-_generated/%.py: $(tools_dir)/spec-to-python.xsl $(spec_dir)/%.xml
40+_generated/%.py: _generated/__init__.py $(tools_dir)/spec-to-python.xsl $(spec_dir)/%.xml
41 $(AM_V_GEN)$(XSLTPROC) $(XSLTPROC_OPTS) -o $@ \
42 $(tools_dir)/spec-to-python.xsl \
43 $(spec_dir)/$*.xml
diff --git a/meta/recipes-connectivity/telepathy/telepathy-python-0.15.19/remove_duplicate_install.patch b/meta/recipes-connectivity/telepathy/telepathy-python-0.15.19/remove_duplicate_install.patch
new file mode 100644
index 0000000000..df95a4c138
--- /dev/null
+++ b/meta/recipes-connectivity/telepathy/telepathy-python-0.15.19/remove_duplicate_install.patch
@@ -0,0 +1,26 @@
1commit f6c67662145de889055a86a6b3b12c70a45fc8d5
2Author: Dongxiao Xu <dongxiao.xu@intel.com>
3Date: Wed Sep 7 16:02:20 2011 +0800
4
5 Avoid duplicated installation of errors.py
6
7 newer version of autotools don't seem to like listing files to install
8 twice. Remove one errors.py from the installation list.
9
10 Signed-off-by: Dongxiao Xu <dongxiao.xu@intel.com>
11
12 Upstream-Status: Inappropirate [upstream inactive]
13
14diff --git a/src/Makefile.am b/src/Makefile.am
15index 5c27dfe..7536e43 100644
16--- a/src/Makefile.am
17+++ b/src/Makefile.am
18@@ -11,7 +11,7 @@ telepathy_PYTHON = \
19
20 # telepathy._generated.* auto-generated modules
21 spec_dir = $(top_srcdir)/spec
22-spec_files := $(patsubst $(spec_dir)%.xml,_generated%.py,$(wildcard $(spec_dir)/*.xml))
23+spec_files := $(filter-out _generated/errors.py, $(patsubst $(spec_dir)%.xml,_generated%.py,$(wildcard $(spec_dir)/*.xml)))
24
25 BUILT_SOURCES = \
26 _generated/interfaces.py \
diff --git a/meta/recipes-connectivity/telepathy/telepathy-python-0.15.19/telepathy-python_fix_for_automake_1.12.patch b/meta/recipes-connectivity/telepathy/telepathy-python-0.15.19/telepathy-python_fix_for_automake_1.12.patch
new file mode 100644
index 0000000000..f613fdce4d
--- /dev/null
+++ b/meta/recipes-connectivity/telepathy/telepathy-python-0.15.19/telepathy-python_fix_for_automake_1.12.patch
@@ -0,0 +1,26 @@
1Upstream-Status: Pending
2
3automake 1.12 has deprecated use of mkdir_p, and it recommends
4use of MKDIR_P instead. Changed the code to avoid these kind
5of warning-errors.
6
7| make[1]: _generated/: Command not found
8| make[1]: *** [_generated/__init__.py] Error 127
9| make[1]: Leaving directory `/srv/home/nitin/builds2/build0/tmp/work/i586-poky-linux/telepathy-python-0.15.19-r4/telepathy-python-0.15.19/src'
10| make: *** [all-recursive] Error 1
11
12Signed-Off-By: Nitin A Kamble <nitin.a.kamble@intel.com>
132012/07/10
14Index: telepathy-python-0.15.19/src/Makefile.am
15===================================================================
16--- telepathy-python-0.15.19.orig/src/Makefile.am
17+++ telepathy-python-0.15.19/src/Makefile.am
18@@ -55,7 +55,7 @@ _generated/errors.py: _generated/__init_
19 $(spec_dir)/all.xml
20
21 _generated/__init__.py:
22- $(AM_V_GEN)$(mkdir_p) $(dir $@)
23+ $(AM_V_GEN)$(MKDIR_P) $(dir $@)
24 @echo "# Placeholder for package" > $@
25
26 _generated/%.py: _generated/__init__.py $(tools_dir)/spec-to-python.xsl $(spec_dir)/%.xml
diff --git a/meta/recipes-connectivity/telepathy/telepathy-python_0.15.19.bb b/meta/recipes-connectivity/telepathy/telepathy-python_0.15.19.bb
new file mode 100644
index 0000000000..17167022b9
--- /dev/null
+++ b/meta/recipes-connectivity/telepathy/telepathy-python_0.15.19.bb
@@ -0,0 +1,32 @@
1SUMMARY = "Telepathy IM framework - Python package"
2HOMEPAGE = "http://telepathy.freedesktop.org/wiki/"
3LICENSE = "LGPLv2.1+"
4LIC_FILES_CHKSUM = "file://COPYING;md5=2d5025d4aa3495befef8f17206a5b0a1 \
5 file://src/utils.py;beginline=1;endline=17;md5=9a07d1a9791a7429a14e7b25c6c86822"
6
7DEPENDS = "libxslt-native"
8RDEPENDS_${PN} += "python-dbus"
9
10SRC_URI = "http://telepathy.freedesktop.org/releases/${BPN}/${BPN}-${PV}.tar.gz \
11 file://parallel_make.patch \
12 file://remove_duplicate_install.patch \
13 file://telepathy-python_fix_for_automake_1.12.patch"
14
15PR = "r6"
16
17inherit autotools pythonnative
18
19SRC_URI[md5sum] = "f7ca25ab3c88874015b7e9728f7f3017"
20SRC_URI[sha256sum] = "244c0e1bf4bbd78ae298ea659fe10bf3a73738db550156767cc2477aedf72376"
21
22FILES_${PN} += "\
23 ${libdir}/python*/site-packages/telepathy/*.py \
24 ${libdir}/python*/site-packages/telepathy/*/*.py \
25 "
26
27do_install_append () {
28 rm -f ${D}${libdir}/python*/site-packages/telepathy/*.pyc
29 rm -f ${D}${libdir}/python*/site-packages/telepathy/*.pyo
30 rm -f ${D}${libdir}/python*/site-packages/telepathy/*/*.pyc
31 rm -f ${D}${libdir}/python*/site-packages/telepathy/*/*.pyo
32}
diff --git a/meta/recipes-connectivity/wireless-tools/wireless-tools/avoid_strip.patch b/meta/recipes-connectivity/wireless-tools/wireless-tools/avoid_strip.patch
new file mode 100644
index 0000000000..f34e243de9
--- /dev/null
+++ b/meta/recipes-connectivity/wireless-tools/wireless-tools/avoid_strip.patch
@@ -0,0 +1,21 @@
1wireless_tools: Avoid stripping iwmulticall
2
3Upstream-Status: Inappropriate [other]
4 The removed code was from upstream.
5
6Signed-off-by: Mark Hatle <mark.hatle@windriver.com>
7
8diff -ur wireless_tools.29.orig/Makefile wireless_tools.29/Makefile
9--- wireless_tools.29.orig/Makefile 2011-06-18 11:35:12.183907453 -0500
10+++ wireless_tools.29/Makefile 2011-06-18 11:38:09.995907985 -0500
11@@ -135,9 +135,8 @@
12
13 macaddr: macaddr.o $(IWLIB)
14
15-# Always do symbol stripping here
16 iwmulticall: iwmulticall.o
17- $(CC) $(LDFLAGS) -Wl,-s $(XCFLAGS) -o $@ $^ $(LIBS)
18+ $(CC) $(LDFLAGS) $(STRIPFLAGS) $(XCFLAGS) -o $@ $^ $(LIBS)
19
20 # It's a kind of magic...
21 wireless.h:
diff --git a/meta/recipes-connectivity/wireless-tools/wireless-tools/ldflags.patch b/meta/recipes-connectivity/wireless-tools/wireless-tools/ldflags.patch
new file mode 100644
index 0000000000..6c0d8cbd2e
--- /dev/null
+++ b/meta/recipes-connectivity/wireless-tools/wireless-tools/ldflags.patch
@@ -0,0 +1,22 @@
1wireless-tools: Remove QA warning: No GNU_HASH in the elf binary
2
3Upstream-Status: Inappropriate [other]
4 Useful within bitbake environment only.
5
6Signed-off-by: Muhammad Shakeel <muhammad_shakeel@mentor.com>
7
8---
9 Makefile | 2 +-
10 1 file changed, 1 insertion(+), 1 deletion(-)
11
12--- wireless_tools.29.orig/Makefile
13+++ wireless_tools.29/Makefile
14@@ -144,7 +144,7 @@ wireless.h:
15
16 # Compilation of the dynamic library
17 $(DYNAMIC): $(OBJS:.o=.so)
18- $(CC) -shared -o $@ -Wl,-soname,$@ $(STRIPFLAGS) $(LIBS) -lc $^
19+ $(CC) -shared -o $@ -Wl,-soname,$@ $(LDFLAGS) $(STRIPFLAGS) $(LIBS) -lc $^
20
21 # Compilation of the static library
22 $(STATIC): $(OBJS:.o=.so)
diff --git a/meta/recipes-connectivity/wireless-tools/wireless-tools/man.patch b/meta/recipes-connectivity/wireless-tools/wireless-tools/man.patch
new file mode 100644
index 0000000000..6a757dae76
--- /dev/null
+++ b/meta/recipes-connectivity/wireless-tools/wireless-tools/man.patch
@@ -0,0 +1,15 @@
1Upstream-Status: Inappropriate [configuration]
2
3Index: wireless_tools.30/Makefile
4===================================================================
5--- wireless_tools.30.orig/Makefile 2014-02-01 00:21:04.148463382 -0800
6+++ wireless_tools.30/Makefile 2014-02-01 00:23:35.448072279 -0800
7@@ -76,7 +76,7 @@
8 INSTALL_DIR= $(PREFIX)/sbin
9 INSTALL_LIB= $(PREFIX)/lib
10 INSTALL_INC= $(PREFIX)/include
11-INSTALL_MAN= $(PREFIX)/man
12+INSTALL_MAN= $(PREFIX)/share/man
13
14 # Various commands
15 RM = rm -f
diff --git a/meta/recipes-connectivity/wireless-tools/wireless-tools/remove.ldconfig.call.patch b/meta/recipes-connectivity/wireless-tools/wireless-tools/remove.ldconfig.call.patch
new file mode 100644
index 0000000000..3a22c3f1e7
--- /dev/null
+++ b/meta/recipes-connectivity/wireless-tools/wireless-tools/remove.ldconfig.call.patch
@@ -0,0 +1,19 @@
1When /etc/ld.so.cache is writeable by user running bitbake then it creates invalid cache
2(in my case libstdc++.so cannot be found after building zlib(-native) and I have to call
3touch */libstdc++.so && /sbin/ldconfig to fix it.
4
5So remove ldconfig call from make install-libs
6
7Upstream-Status: Inappropriate [disable feature]
8
9diff -uNr wireless_tools.29.orig/Makefile wireless_tools.29/Makefile
10--- wireless_tools.29.orig/Makefile 2007-09-18 01:56:46.000000000 +0200
11+++ wireless_tools.29/Makefile 2012-02-15 20:46:41.780763514 +0100
12@@ -163,7 +163,6 @@
13 install -m 755 $(DYNAMIC) $(INSTALL_LIB)
14 ln -sfn $(DYNAMIC) $(INSTALL_LIB)/$(DYNAMIC_LINK)
15 @echo "*** Don't forget to add $(INSTALL_LIB) to /etc/ld.so.conf, and run ldconfig as root. ***"
16- @$(LDCONFIG) || echo "*** Could not run ldconfig ! ***"
17
18 # Install the static library
19 install-static:: $(STATIC)
diff --git a/meta/recipes-connectivity/wireless-tools/wireless-tools/wireless-tools.if-pre-up b/meta/recipes-connectivity/wireless-tools/wireless-tools/wireless-tools.if-pre-up
new file mode 100755
index 0000000000..2518a5c834
--- /dev/null
+++ b/meta/recipes-connectivity/wireless-tools/wireless-tools/wireless-tools.if-pre-up
@@ -0,0 +1,122 @@
1#!/bin/sh
2
3case "$METHOD" in loopback) exit 0 ;; esac
4
5IWCONFIG=/sbin/iwconfig
6IWPRIV=/sbin/iwpriv
7
8if [ ! -x $IWCONFIG ]; then
9 exit 0
10fi
11
12# Detect and do nothing for linux-wlan-ng interfaces;
13# which are configured by thier own if-pre-up script.
14if [ -n "$IF_WIRELESS_TYPE" -a "$IF_WIRELESS_TYPE" = "wlan-ng" ]; then
15 exit 0
16fi
17
18if [ -n "$IF_NEEDS_RESET" ]; then
19 $IWPRIV "$IFACE" reset 1
20 sleep 1
21fi
22
23if [ -n "$IF_NEEDS_FIRMWARE" ]; then
24 $IF_NEEDS_FIRMWARE "$IFACE"
25fi
26
27if [ -n "$IF_WIRELESS_SENS" ]; then
28 $IWCONFIG "$IFACE" sens $IF_WIRELESS_SENS
29fi
30
31if [ -n "$IF_WIRELESS_RATE" ]; then
32 $IWCONFIG "$IFACE" rate $IF_WIRELESS_RATE
33fi
34
35if [ -n "$IF_WIRELESS_RTS" ]; then
36 $IWCONFIG "$IFACE" rts $IF_WIRELESS_RTS
37fi
38
39if [ -n "$IF_WIRELESS_FRAG" ]; then
40 $IWCONFIG "$IFACE" frag $IF_WIRELESS_FRAG
41fi
42
43if [ -n "$IF_WIRELESS_POWER" ]; then
44 $IWCONFIG "$IFACE" power $IF_WIRELESS_POWER
45fi
46
47if [ -n "$IF_WIRELESS_POWERPERIOD" ]; then
48 $IWCONFIG "$IFACE" power period $IF_WIRELESS_POWERPERIOD
49fi
50
51if [ -n "$IF_WIRELESS_POWERTIMEOUT" ]; then
52 $IWCONFIG "$IFACE" power timeout $IF_WIRELESS_POWERTIMEOUT
53fi
54
55if [ -n "$IF_WIRELESS_TXPOWER" ]; then
56 $IWCONFIG "$IFACE" txpower $IF_WIRELESS_TXPOWER
57fi
58
59if [ -n "$IF_WIRELESS_RETRY" ]; then
60 $IWCONFIG "$IFACE" retry $IF_WIRELESS_RETRY
61fi
62
63if [ -n "$IF_WIRELESS_NICK" ]; then
64 $IWCONFIG "$IFACE" nick "$IF_WIRELESS_NICK"
65fi
66
67if [ -n "$IF_WIRELESS_NWID" ]; then
68 $IWCONFIG "$IFACE" nwid "$IF_WIRELESS_NWID"
69fi
70
71if [ -n "$IF_WIRELESS_ENC" ]; then
72 eval $IWCONFIG "$IFACE" enc $IF_WIRELESS_ENC
73fi
74
75if [ -n "$IF_WIRELESS_KEY" ]; then
76 eval $IWCONFIG "$IFACE" key $IF_WIRELESS_KEY
77fi
78
79if [ -n "$IF_WIRELESS_KEY1" ]; then
80 $IWCONFIG "$IFACE" key [1] "$IF_WIRELESS_KEY1"
81fi
82
83if [ -n "$IF_WIRELESS_KEY2" ]; then
84 $IWCONFIG "$IFACE" key [2] "$IF_WIRELESS_KEY2"
85fi
86
87if [ -n "$IF_WIRELESS_KEY3" ]; then
88 $IWCONFIG "$IFACE" key [3] "$IF_WIRELESS_KEY3"
89fi
90
91if [ -n "$IF_WIRELESS_KEY4" ]; then
92 $IWCONFIG "$IFACE" key [4] "$IF_WIRELESS_KEY4"
93fi
94
95if [ -n "$IF_WIRELESS_DEFAULTKEY" ]; then
96 $IWCONFIG "$IFACE" key ["$IF_WIRELESS_DEFAULTKEY"]
97fi
98
99if [ -n "$IF_WIRELESS_KEYMODE" ]; then
100 $IWCONFIG "$IFACE" key "$IF_WIRELESS_KEYMODE"
101fi
102
103if [ -n "$IF_WIRELESS_MODE" ]; then
104 $IWCONFIG "$IFACE" mode $IF_WIRELESS_MODE
105fi
106
107if [ -n "$IF_WIRELESS_FREQ" ]; then
108 $IWCONFIG "$IFACE" freq $IF_WIRELESS_FREQ
109fi
110
111if [ -n "$IF_WIRELESS_CHANNEL" ]; then
112 $IWCONFIG "$IFACE" channel $IF_WIRELESS_CHANNEL
113fi
114
115if [ -n "$IF_WIRELESS_ESSID" ]; then
116 $IWCONFIG "$IFACE" essid "$IF_WIRELESS_ESSID"
117fi
118
119if [ -n "$IF_WIRELESS_COMMIT" ]; then
120 $IWCONFIG "$IFACE" commit
121fi
122
diff --git a/meta/recipes-connectivity/wireless-tools/wireless-tools/zzz-wireless.if-pre-up b/meta/recipes-connectivity/wireless-tools/wireless-tools/zzz-wireless.if-pre-up
new file mode 100644
index 0000000000..4c8e95bf2a
--- /dev/null
+++ b/meta/recipes-connectivity/wireless-tools/wireless-tools/zzz-wireless.if-pre-up
@@ -0,0 +1,34 @@
1#!/bin/sh
2#
3# /etc/network/if-pre-up.d/zzz-wireless
4# by Stefan Tomanek (stefan@pico.ruhr.de)
5
6
7IWCONFIG=/sbin/iwconfig
8IFCONFIG=/sbin/ifconfig
9GREP=/bin/grep
10LOGGER=/usr/bin/logger
11SLEEP=/bin/sleep
12
13# How long do we wait for association?
14RETRIES=15
15SLEEPTIME=1
16
17# Only sleep if we use DHCP (add others methods seperated by spaces)
18ONLY_FOR="static dhcp"
19
20if [ -z "$IF_WIRELESS_TYPE" ] && echo "$ONLY_FOR" | grep -q "$METHOD" ; then
21 $IFCONFIG $IFACE up
22 $LOGGER Checking for WLAN association...
23 while ( [ $RETRIES -gt 0 ] && ($IWCONFIG "$IFACE" | $GREP -q "Access Point: Not-Associated") ); do
24 $LOGGER No association yet, $RETRIES retries until timeout
25 RETRIES=$(($RETRIES-1))
26 $SLEEP $SLEEPTIME
27 done
28
29 if [ $RETRIES -eq 0 ]; then
30 $LOGGER Timeout waiting for association, continuing anyway...
31 else
32 $LOGGER Found association!
33 fi
34fi
diff --git a/meta/recipes-connectivity/wireless-tools/wireless-tools_30.pre9.bb b/meta/recipes-connectivity/wireless-tools/wireless-tools_30.pre9.bb
new file mode 100644
index 0000000000..26ecdf3b40
--- /dev/null
+++ b/meta/recipes-connectivity/wireless-tools/wireless-tools_30.pre9.bb
@@ -0,0 +1,56 @@
1SUMMARY = "Tools for the Linux Standard Wireless Extension Subsystem"
2HOMEPAGE = "http://www.hpl.hp.com/personal/Jean_Tourrilhes/Linux/Tools.html"
3LICENSE = "GPLv2 & (LGPLv2.1 | MPL-1.1 | BSD)"
4LIC_FILES_CHKSUM = "file://COPYING;md5=94d55d512a9ba36caa9b7df079bae19f \
5 file://iwconfig.c;beginline=1;endline=12;md5=cf710eb1795c376eb10ea4ff04649caf \
6 file://iwevent.c;beginline=59;endline=72;md5=d66a10026d4394f0a5b1c5587bce4537 \
7 file://sample_enc.c;beginline=1;endline=4;md5=838372be07874260b566bae2f6ed33b6"
8SECTION = "base"
9PE = "1"
10
11SRC_URI = "http://www.hpl.hp.com/personal/Jean_Tourrilhes/Linux/wireless_tools.${PV}.tar.gz \
12 file://wireless-tools.if-pre-up \
13 file://zzz-wireless.if-pre-up \
14 file://remove.ldconfig.call.patch \
15 file://man.patch \
16 file://avoid_strip.patch \
17 file://ldflags.patch \
18 "
19SRC_URI[md5sum] = "ca91ba7c7eff9bfff6926b1a34a4697d"
20SRC_URI[sha256sum] = "abd9c5c98abf1fdd11892ac2f8a56737544fe101e1be27c6241a564948f34c63"
21
22S = "${WORKDIR}/wireless_tools.30"
23
24CFLAGS =+ "-I${S}"
25EXTRA_OEMAKE = "-e 'BUILD_SHARED=y' \
26 'INSTALL_DIR=${D}${base_sbindir}' \
27 'INSTALL_LIB=${D}${libdir}' \
28 'INSTALL_INC=${D}${includedir}' \
29 'INSTALL_MAN=${D}${mandir}'"
30
31do_compile() {
32 oe_runmake all libiw.a
33}
34
35do_install() {
36 oe_runmake PREFIX=${D} install-iwmulticall install-dynamic install-man install-hdr
37 install -d ${D}${sbindir}
38 install -m 0755 ifrename ${D}${sbindir}/ifrename
39 # Disabled by RP - 20/8/08 - We don't seem to need/use these
40 #install -d ${D}${sysconfdir}/network/if-pre-up.d
41 #install ${WORKDIR}/wireless-tools.if-pre-up ${D}${sysconfdir}/network/if-pre-up.d/wireless-tools
42 #install ${WORKDIR}/zzz-wireless.if-pre-up ${D}${sysconfdir}/network/if-pre-up.d/zzz-wireless
43}
44
45PACKAGES = "libiw-dbg ifrename-dbg ${PN}-dbg \
46libiw libiw-dev libiw-doc ifrename-doc ifrename ${PN} ${PN}-doc"
47
48FILES_libiw-dbg = "${libdir}/.debug/*.so.*"
49FILES_ifrename-dbg = "${sbindir}/.debug/ifrename"
50FILES_libiw = "${libdir}/*.so.*"
51FILES_libiw-dev = "${libdir}/*.a ${libdir}/*.so ${includedir}"
52FILES_libiw-doc = "${mandir}/man7"
53FILES_ifrename = "${sbindir}/ifrename"
54FILES_ifrename-doc = "${mandir}/man8/ifrename.8 ${mandir}/man5/iftab.5"
55FILES_${PN} = "${bindir} ${sbindir}/iw* ${base_sbindir} ${base_bindir} ${sysconfdir}/network"
56FILES_${PN}-doc = "${mandir}"
diff --git a/meta/recipes-connectivity/wpa-supplicant/wpa-supplicant.inc b/meta/recipes-connectivity/wpa-supplicant/wpa-supplicant.inc
new file mode 100644
index 0000000000..7923bb94a3
--- /dev/null
+++ b/meta/recipes-connectivity/wpa-supplicant/wpa-supplicant.inc
@@ -0,0 +1,107 @@
1SUMMARY = "Client for Wi-Fi Protected Access (WPA)"
2HOMEPAGE = "http://hostap.epitest.fi/wpa_supplicant/"
3BUGTRACKER = "http://hostap.epitest.fi/bugz/"
4SECTION = "network"
5LICENSE = "BSD"
6LIC_FILES_CHKSUM = "file://COPYING;md5=ab87f20cd7e8c0d0a6539b34d3791d0e \
7 file://README;beginline=1;endline=56;md5=a07250b28e857455336bb59fc31cb845 \
8 file://wpa_supplicant/wpa_supplicant.c;beginline=1;endline=12;md5=e8e021e30f3a6ab7c341b66b86626a5a"
9DEPENDS = "dbus libnl libgcrypt"
10RRECOMMENDS_${PN} = "wpa-supplicant-passphrase wpa-supplicant-cli"
11
12PACKAGECONFIG ??= "gnutls"
13PACKAGECONFIG[gnutls] = ",,gnutls"
14PACKAGECONFIG[openssl] = ",,openssl"
15
16inherit systemd
17
18SYSTEMD_SERVICE_${PN} = "wpa_supplicant.service wpa_supplicant-nl80211@.service wpa_supplicant-wired@.service"
19SYSTEMD_AUTO_ENABLE = "disable"
20
21SRC_URI = "http://hostap.epitest.fi/releases/wpa_supplicant-${PV}.tar.gz \
22 file://defconfig \
23 file://wpa-supplicant.sh \
24 file://wpa_supplicant.conf \
25 file://wpa_supplicant.conf-sane \
26 file://99_wpa_supplicant \
27 file://fix-libnl3-host-contamination.patch \
28 "
29SRC_URI[md5sum] = "238e8e888bbd558e1a57e3eb28d1dd07"
30SRC_URI[sha256sum] = "e0d8b8fd68a659636eaba246bb2caacbf53d22d53b2b6b90eb4b4fef0993c8ed"
31
32S = "${WORKDIR}/wpa_supplicant-${PV}"
33
34PACKAGES_prepend = "wpa-supplicant-passphrase wpa-supplicant-cli "
35FILES_wpa-supplicant-passphrase = "${bindir}/wpa_passphrase"
36FILES_wpa-supplicant-cli = "${sbindir}/wpa_cli"
37FILES_${PN} += "${datadir}/dbus-1/system-services/*"
38CONFFILES_${PN} += "${sysconfdir}/wpa_supplicant.conf"
39
40do_configure () {
41 install -m 0755 ${WORKDIR}/defconfig wpa_supplicant/.config
42 echo "CFLAGS +=\"-I${STAGING_INCDIR}/libnl3\"" >> wpa_supplicant/.config
43
44 if echo "${PACKAGECONFIG}" | grep -qw "openssl"; then
45 ssl=openssl
46 elif echo "${PACKAGECONFIG}" | grep -qw "gnutls"; then
47 ssl=gnutls
48 fi
49 if [ -n "$ssl" ]; then
50 sed -i "s/%ssl%/$ssl/" wpa_supplicant/.config
51 fi
52
53 # For rebuild
54 rm -f wpa_supplicant/*.d wpa_supplicant/dbus/*.d
55}
56
57export EXTRA_CFLAGS = "${CFLAGS}"
58export BINDIR = "${sbindir}"
59
60do_compile () {
61 unset CFLAGS CPPFLAGS CXXFLAGS
62 sed -e "s:CFLAGS\ =.*:& \$(EXTRA_CFLAGS):g" -i ${S}/src/lib.rules
63 oe_runmake -C wpa_supplicant
64}
65
66do_install () {
67 install -d ${D}${sbindir}
68 install -m 755 wpa_supplicant/wpa_supplicant ${D}${sbindir}
69 install -m 755 wpa_supplicant/wpa_cli ${D}${sbindir}
70
71 install -d ${D}${bindir}
72 install -m 755 wpa_supplicant/wpa_passphrase ${D}${bindir}
73
74 install -d ${D}${docdir}/wpa_supplicant
75 install -m 644 wpa_supplicant/README ${WORKDIR}/wpa_supplicant.conf ${D}${docdir}/wpa_supplicant
76
77 install -d ${D}${sysconfdir}
78 install -m 600 ${WORKDIR}/wpa_supplicant.conf-sane ${D}${sysconfdir}/wpa_supplicant.conf
79
80 install -d ${D}${sysconfdir}/network/if-pre-up.d/
81 install -d ${D}${sysconfdir}/network/if-post-down.d/
82 install -d ${D}${sysconfdir}/network/if-down.d/
83 install -m 755 ${WORKDIR}/wpa-supplicant.sh ${D}${sysconfdir}/network/if-pre-up.d/wpa-supplicant
84 cd ${D}${sysconfdir}/network/ && \
85 ln -sf ../if-pre-up.d/wpa-supplicant if-post-down.d/wpa-supplicant
86
87 install -d ${D}/${sysconfdir}/dbus-1/system.d
88 install -m 644 ${S}/wpa_supplicant/dbus/dbus-wpa_supplicant.conf ${D}/${sysconfdir}/dbus-1/system.d
89 install -d ${D}/${datadir}/dbus-1/system-services
90 install -m 644 ${S}/wpa_supplicant/dbus/*.service ${D}/${datadir}/dbus-1/system-services
91
92 if ${@bb.utils.contains('DISTRO_FEATURES','systemd','true','false',d)}; then
93 install -d ${D}/${systemd_unitdir}/system
94 install -m 644 ${S}/wpa_supplicant/systemd/*.service ${D}/${systemd_unitdir}/system
95 fi
96
97 install -d ${D}/etc/default/volatiles
98 install -m 0644 ${WORKDIR}/99_wpa_supplicant ${D}/etc/default/volatiles
99}
100
101pkg_postinst_wpa-supplicant () {
102 # If we're offline, we don't need to do this.
103 if [ "x$D" = "x" ]; then
104 killall -q -HUP dbus-daemon || true
105 fi
106
107}
diff --git a/meta/recipes-connectivity/wpa-supplicant/wpa-supplicant/99_wpa_supplicant b/meta/recipes-connectivity/wpa-supplicant/wpa-supplicant/99_wpa_supplicant
new file mode 100644
index 0000000000..6ff4dd8826
--- /dev/null
+++ b/meta/recipes-connectivity/wpa-supplicant/wpa-supplicant/99_wpa_supplicant
@@ -0,0 +1 @@
d root root 0700 /var/run/wpa_supplicant none
diff --git a/meta/recipes-connectivity/wpa-supplicant/wpa-supplicant/defconfig b/meta/recipes-connectivity/wpa-supplicant/wpa-supplicant/defconfig
new file mode 100644
index 0000000000..f04e398fdb
--- /dev/null
+++ b/meta/recipes-connectivity/wpa-supplicant/wpa-supplicant/defconfig
@@ -0,0 +1,552 @@
1# Example wpa_supplicant build time configuration
2#
3# This file lists the configuration options that are used when building the
4# hostapd binary. All lines starting with # are ignored. Configuration option
5# lines must be commented out complete, if they are not to be included, i.e.,
6# just setting VARIABLE=n is not disabling that variable.
7#
8# This file is included in Makefile, so variables like CFLAGS and LIBS can also
9# be modified from here. In most cases, these lines should use += in order not
10# to override previous values of the variables.
11
12
13# Uncomment following two lines and fix the paths if you have installed OpenSSL
14# or GnuTLS in non-default location
15#CFLAGS += -I/usr/local/openssl/include
16#LIBS += -L/usr/local/openssl/lib
17
18# Some Red Hat versions seem to include kerberos header files from OpenSSL, but
19# the kerberos files are not in the default include path. Following line can be
20# used to fix build issues on such systems (krb5.h not found).
21#CFLAGS += -I/usr/include/kerberos
22
23# Example configuration for various cross-compilation platforms
24
25#### sveasoft (e.g., for Linksys WRT54G) ######################################
26#CC=mipsel-uclibc-gcc
27#CC=/opt/brcm/hndtools-mipsel-uclibc/bin/mipsel-uclibc-gcc
28#CFLAGS += -Os
29#CPPFLAGS += -I../src/include -I../../src/router/openssl/include
30#LIBS += -L/opt/brcm/hndtools-mipsel-uclibc-0.9.19/lib -lssl
31###############################################################################
32
33#### openwrt (e.g., for Linksys WRT54G) #######################################
34#CC=mipsel-uclibc-gcc
35#CC=/opt/brcm/hndtools-mipsel-uclibc/bin/mipsel-uclibc-gcc
36#CFLAGS += -Os
37#CPPFLAGS=-I../src/include -I../openssl-0.9.7d/include \
38# -I../WRT54GS/release/src/include
39#LIBS = -lssl
40###############################################################################
41
42
43# Driver interface for Host AP driver
44CONFIG_DRIVER_HOSTAP=y
45
46# Driver interface for Agere driver
47#CONFIG_DRIVER_HERMES=y
48# Change include directories to match with the local setup
49#CFLAGS += -I../../hcf -I../../include -I../../include/hcf
50#CFLAGS += -I../../include/wireless
51
52# Driver interface for madwifi driver
53# Deprecated; use CONFIG_DRIVER_WEXT=y instead.
54#CONFIG_DRIVER_MADWIFI=y
55# Set include directory to the madwifi source tree
56#CFLAGS += -I../../madwifi
57
58# Driver interface for ndiswrapper
59# Deprecated; use CONFIG_DRIVER_WEXT=y instead.
60#CONFIG_DRIVER_NDISWRAPPER=y
61
62# Driver interface for Atmel driver
63# CONFIG_DRIVER_ATMEL=y
64
65# Driver interface for old Broadcom driver
66# Please note that the newer Broadcom driver ("hybrid Linux driver") supports
67# Linux wireless extensions and does not need (or even work) with the old
68# driver wrapper. Use CONFIG_DRIVER_WEXT=y with that driver.
69#CONFIG_DRIVER_BROADCOM=y
70# Example path for wlioctl.h; change to match your configuration
71#CFLAGS += -I/opt/WRT54GS/release/src/include
72
73# Driver interface for Intel ipw2100/2200 driver
74# Deprecated; use CONFIG_DRIVER_WEXT=y instead.
75#CONFIG_DRIVER_IPW=y
76
77# Driver interface for Ralink driver
78#CONFIG_DRIVER_RALINK=y
79
80# Driver interface for generic Linux wireless extensions
81# Note: WEXT is deprecated in the current Linux kernel version and no new
82# functionality is added to it. nl80211-based interface is the new
83# replacement for WEXT and its use allows wpa_supplicant to properly control
84# the driver to improve existing functionality like roaming and to support new
85# functionality.
86CONFIG_DRIVER_WEXT=y
87
88# Driver interface for Linux drivers using the nl80211 kernel interface
89CONFIG_DRIVER_NL80211=y
90
91# driver_nl80211.c requires libnl. If you are compiling it yourself
92# you may need to point hostapd to your version of libnl.
93#
94#CFLAGS += -I$<path to libnl include files>
95#LIBS += -L$<path to libnl library files>
96
97# Use libnl v2.0 (or 3.0) libraries.
98#CONFIG_LIBNL20=y
99
100# Use libnl 3.2 libraries (if this is selected, CONFIG_LIBNL20 is ignored)
101CONFIG_LIBNL32=y
102
103
104# Driver interface for FreeBSD net80211 layer (e.g., Atheros driver)
105#CONFIG_DRIVER_BSD=y
106#CFLAGS += -I/usr/local/include
107#LIBS += -L/usr/local/lib
108#LIBS_p += -L/usr/local/lib
109#LIBS_c += -L/usr/local/lib
110
111# Driver interface for Windows NDIS
112#CONFIG_DRIVER_NDIS=y
113#CFLAGS += -I/usr/include/w32api/ddk
114#LIBS += -L/usr/local/lib
115# For native build using mingw
116#CONFIG_NATIVE_WINDOWS=y
117# Additional directories for cross-compilation on Linux host for mingw target
118#CFLAGS += -I/opt/mingw/mingw32/include/ddk
119#LIBS += -L/opt/mingw/mingw32/lib
120#CC=mingw32-gcc
121# By default, driver_ndis uses WinPcap for low-level operations. This can be
122# replaced with the following option which replaces WinPcap calls with NDISUIO.
123# However, this requires that WZC is disabled (net stop wzcsvc) before starting
124# wpa_supplicant.
125# CONFIG_USE_NDISUIO=y
126
127# Driver interface for development testing
128#CONFIG_DRIVER_TEST=y
129
130# Driver interface for wired Ethernet drivers
131CONFIG_DRIVER_WIRED=y
132
133# Driver interface for the Broadcom RoboSwitch family
134#CONFIG_DRIVER_ROBOSWITCH=y
135
136# Driver interface for no driver (e.g., WPS ER only)
137#CONFIG_DRIVER_NONE=y
138
139# Enable IEEE 802.1X Supplicant (automatically included if any EAP method is
140# included)
141CONFIG_IEEE8021X_EAPOL=y
142
143# EAP-MD5
144CONFIG_EAP_MD5=y
145
146# EAP-MSCHAPv2
147CONFIG_EAP_MSCHAPV2=y
148
149# EAP-TLS
150CONFIG_EAP_TLS=y
151
152# EAL-PEAP
153CONFIG_EAP_PEAP=y
154
155# EAP-TTLS
156CONFIG_EAP_TTLS=y
157
158# EAP-FAST
159# Note: If OpenSSL is used as the TLS library, OpenSSL 1.0 or newer is needed
160# for EAP-FAST support. Older OpenSSL releases would need to be patched, e.g.,
161# with openssl-0.9.8x-tls-extensions.patch, to add the needed functions.
162#CONFIG_EAP_FAST=y
163
164# EAP-GTC
165CONFIG_EAP_GTC=y
166
167# EAP-OTP
168CONFIG_EAP_OTP=y
169
170# EAP-SIM (enable CONFIG_PCSC, if EAP-SIM is used)
171#CONFIG_EAP_SIM=y
172
173# EAP-PSK (experimental; this is _not_ needed for WPA-PSK)
174#CONFIG_EAP_PSK=y
175
176# EAP-pwd (secure authentication using only a password)
177#CONFIG_EAP_PWD=y
178
179# EAP-PAX
180#CONFIG_EAP_PAX=y
181
182# LEAP
183CONFIG_EAP_LEAP=y
184
185# EAP-AKA (enable CONFIG_PCSC, if EAP-AKA is used)
186#CONFIG_EAP_AKA=y
187
188# EAP-AKA' (enable CONFIG_PCSC, if EAP-AKA' is used).
189# This requires CONFIG_EAP_AKA to be enabled, too.
190#CONFIG_EAP_AKA_PRIME=y
191
192# Enable USIM simulator (Milenage) for EAP-AKA
193#CONFIG_USIM_SIMULATOR=y
194
195# EAP-SAKE
196#CONFIG_EAP_SAKE=y
197
198# EAP-GPSK
199#CONFIG_EAP_GPSK=y
200# Include support for optional SHA256 cipher suite in EAP-GPSK
201#CONFIG_EAP_GPSK_SHA256=y
202
203# EAP-TNC and related Trusted Network Connect support (experimental)
204#CONFIG_EAP_TNC=y
205
206# Wi-Fi Protected Setup (WPS)
207CONFIG_WPS=y
208# Enable WSC 2.0 support
209#CONFIG_WPS2=y
210# Enable WPS external registrar functionality
211#CONFIG_WPS_ER=y
212# Disable credentials for an open network by default when acting as a WPS
213# registrar.
214#CONFIG_WPS_REG_DISABLE_OPEN=y
215# Enable WPS support with NFC config method
216#CONFIG_WPS_NFC=y
217
218# EAP-IKEv2
219#CONFIG_EAP_IKEV2=y
220
221# EAP-EKE
222#CONFIG_EAP_EKE=y
223
224# PKCS#12 (PFX) support (used to read private key and certificate file from
225# a file that usually has extension .p12 or .pfx)
226CONFIG_PKCS12=y
227
228# Smartcard support (i.e., private key on a smartcard), e.g., with openssl
229# engine.
230CONFIG_SMARTCARD=y
231
232# PC/SC interface for smartcards (USIM, GSM SIM)
233# Enable this if EAP-SIM or EAP-AKA is included
234#CONFIG_PCSC=y
235
236# Support HT overrides (disable HT/HT40, mask MCS rates, etc.)
237#CONFIG_HT_OVERRIDES=y
238
239# Support VHT overrides (disable VHT, mask MCS rates, etc.)
240#CONFIG_VHT_OVERRIDES=y
241
242# Development testing
243#CONFIG_EAPOL_TEST=y
244
245# Select control interface backend for external programs, e.g, wpa_cli:
246# unix = UNIX domain sockets (default for Linux/*BSD)
247# udp = UDP sockets using localhost (127.0.0.1)
248# named_pipe = Windows Named Pipe (default for Windows)
249# udp-remote = UDP sockets with remote access (only for tests systems/purpose)
250# y = use default (backwards compatibility)
251# If this option is commented out, control interface is not included in the
252# build.
253CONFIG_CTRL_IFACE=y
254
255# Include support for GNU Readline and History Libraries in wpa_cli.
256# When building a wpa_cli binary for distribution, please note that these
257# libraries are licensed under GPL and as such, BSD license may not apply for
258# the resulting binary.
259#CONFIG_READLINE=y
260
261# Include internal line edit mode in wpa_cli. This can be used as a replacement
262# for GNU Readline to provide limited command line editing and history support.
263#CONFIG_WPA_CLI_EDIT=y
264
265# Remove debugging code that is printing out debug message to stdout.
266# This can be used to reduce the size of the wpa_supplicant considerably
267# if debugging code is not needed. The size reduction can be around 35%
268# (e.g., 90 kB).
269#CONFIG_NO_STDOUT_DEBUG=y
270
271# Remove WPA support, e.g., for wired-only IEEE 802.1X supplicant, to save
272# 35-50 kB in code size.
273#CONFIG_NO_WPA=y
274
275# Remove IEEE 802.11i/WPA-Personal ASCII passphrase support
276# This option can be used to reduce code size by removing support for
277# converting ASCII passphrases into PSK. If this functionality is removed, the
278# PSK can only be configured as the 64-octet hexstring (e.g., from
279# wpa_passphrase). This saves about 0.5 kB in code size.
280#CONFIG_NO_WPA_PASSPHRASE=y
281
282# Disable scan result processing (ap_mode=1) to save code size by about 1 kB.
283# This can be used if ap_scan=1 mode is never enabled.
284#CONFIG_NO_SCAN_PROCESSING=y
285
286# Select configuration backend:
287# file = text file (e.g., wpa_supplicant.conf; note: the configuration file
288# path is given on command line, not here; this option is just used to
289# select the backend that allows configuration files to be used)
290# winreg = Windows registry (see win_example.reg for an example)
291CONFIG_BACKEND=file
292
293# Remove configuration write functionality (i.e., to allow the configuration
294# file to be updated based on runtime configuration changes). The runtime
295# configuration can still be changed, the changes are just not going to be
296# persistent over restarts. This option can be used to reduce code size by
297# about 3.5 kB.
298#CONFIG_NO_CONFIG_WRITE=y
299
300# Remove support for configuration blobs to reduce code size by about 1.5 kB.
301#CONFIG_NO_CONFIG_BLOBS=y
302
303# Select program entry point implementation:
304# main = UNIX/POSIX like main() function (default)
305# main_winsvc = Windows service (read parameters from registry)
306# main_none = Very basic example (development use only)
307#CONFIG_MAIN=main
308
309# Select wrapper for operatins system and C library specific functions
310# unix = UNIX/POSIX like systems (default)
311# win32 = Windows systems
312# none = Empty template
313#CONFIG_OS=unix
314
315# Select event loop implementation
316# eloop = select() loop (default)
317# eloop_win = Windows events and WaitForMultipleObject() loop
318#CONFIG_ELOOP=eloop
319
320# Should we use poll instead of select? Select is used by default.
321#CONFIG_ELOOP_POLL=y
322
323# Select layer 2 packet implementation
324# linux = Linux packet socket (default)
325# pcap = libpcap/libdnet/WinPcap
326# freebsd = FreeBSD libpcap
327# winpcap = WinPcap with receive thread
328# ndis = Windows NDISUIO (note: requires CONFIG_USE_NDISUIO=y)
329# none = Empty template
330#CONFIG_L2_PACKET=linux
331
332# PeerKey handshake for Station to Station Link (IEEE 802.11e DLS)
333CONFIG_PEERKEY=y
334
335# IEEE 802.11w (management frame protection), also known as PMF
336# Driver support is also needed for IEEE 802.11w.
337#CONFIG_IEEE80211W=y
338
339# Select TLS implementation
340# openssl = OpenSSL (default)
341# gnutls = GnuTLS
342# internal = Internal TLSv1 implementation (experimental)
343# none = Empty template
344#CONFIG_TLS=openssl
345
346# TLS-based EAP methods require at least TLS v1.0. Newer version of TLS (v1.1)
347# can be enabled to get a stronger construction of messages when block ciphers
348# are used. It should be noted that some existing TLS v1.0 -based
349# implementation may not be compatible with TLS v1.1 message (ClientHello is
350# sent prior to negotiating which version will be used)
351#CONFIG_TLSV11=y
352
353# TLS-based EAP methods require at least TLS v1.0. Newer version of TLS (v1.2)
354# can be enabled to enable use of stronger crypto algorithms. It should be
355# noted that some existing TLS v1.0 -based implementation may not be compatible
356# with TLS v1.2 message (ClientHello is sent prior to negotiating which version
357# will be used)
358#CONFIG_TLSV12=y
359
360# If CONFIG_TLS=internal is used, additional library and include paths are
361# needed for LibTomMath. Alternatively, an integrated, minimal version of
362# LibTomMath can be used. See beginning of libtommath.c for details on benefits
363# and drawbacks of this option.
364#CONFIG_INTERNAL_LIBTOMMATH=y
365#ifndef CONFIG_INTERNAL_LIBTOMMATH
366#LTM_PATH=/usr/src/libtommath-0.39
367#CFLAGS += -I$(LTM_PATH)
368#LIBS += -L$(LTM_PATH)
369#LIBS_p += -L$(LTM_PATH)
370#endif
371# At the cost of about 4 kB of additional binary size, the internal LibTomMath
372# can be configured to include faster routines for exptmod, sqr, and div to
373# speed up DH and RSA calculation considerably
374#CONFIG_INTERNAL_LIBTOMMATH_FAST=y
375
376# Include NDIS event processing through WMI into wpa_supplicant/wpasvc.
377# This is only for Windows builds and requires WMI-related header files and
378# WbemUuid.Lib from Platform SDK even when building with MinGW.
379#CONFIG_NDIS_EVENTS_INTEGRATED=y
380#PLATFORMSDKLIB="/opt/Program Files/Microsoft Platform SDK/Lib"
381
382# Add support for old DBus control interface
383# (fi.epitest.hostap.WPASupplicant)
384#CONFIG_CTRL_IFACE_DBUS=y
385
386# Add support for new DBus control interface
387# (fi.w1.hostap.wpa_supplicant1)
388CONFIG_CTRL_IFACE_DBUS_NEW=y
389
390# Add introspection support for new DBus control interface
391#CONFIG_CTRL_IFACE_DBUS_INTRO=y
392
393# Add support for loading EAP methods dynamically as shared libraries.
394# When this option is enabled, each EAP method can be either included
395# statically (CONFIG_EAP_<method>=y) or dynamically (CONFIG_EAP_<method>=dyn).
396# Dynamic EAP methods are build as shared objects (eap_*.so) and they need to
397# be loaded in the beginning of the wpa_supplicant configuration file
398# (see load_dynamic_eap parameter in the example file) before being used in
399# the network blocks.
400#
401# Note that some shared parts of EAP methods are included in the main program
402# and in order to be able to use dynamic EAP methods using these parts, the
403# main program must have been build with the EAP method enabled (=y or =dyn).
404# This means that EAP-TLS/PEAP/TTLS/FAST cannot be added as dynamic libraries
405# unless at least one of them was included in the main build to force inclusion
406# of the shared code. Similarly, at least one of EAP-SIM/AKA must be included
407# in the main build to be able to load these methods dynamically.
408#
409# Please also note that using dynamic libraries will increase the total binary
410# size. Thus, it may not be the best option for targets that have limited
411# amount of memory/flash.
412#CONFIG_DYNAMIC_EAP_METHODS=y
413
414# IEEE Std 802.11r-2008 (Fast BSS Transition)
415#CONFIG_IEEE80211R=y
416
417# Add support for writing debug log to a file (/tmp/wpa_supplicant-log-#.txt)
418#CONFIG_DEBUG_FILE=y
419
420# Send debug messages to syslog instead of stdout
421#CONFIG_DEBUG_SYSLOG=y
422# Set syslog facility for debug messages
423#CONFIG_DEBUG_SYSLOG_FACILITY=LOG_DAEMON
424
425# Add support for sending all debug messages (regardless of debug verbosity)
426# to the Linux kernel tracing facility. This helps debug the entire stack by
427# making it easy to record everything happening from the driver up into the
428# same file, e.g., using trace-cmd.
429#CONFIG_DEBUG_LINUX_TRACING=y
430
431# Enable privilege separation (see README 'Privilege separation' for details)
432#CONFIG_PRIVSEP=y
433
434# Enable mitigation against certain attacks against TKIP by delaying Michael
435# MIC error reports by a random amount of time between 0 and 60 seconds
436#CONFIG_DELAYED_MIC_ERROR_REPORT=y
437
438# Enable tracing code for developer debugging
439# This tracks use of memory allocations and other registrations and reports
440# incorrect use with a backtrace of call (or allocation) location.
441#CONFIG_WPA_TRACE=y
442# For BSD, uncomment these.
443#LIBS += -lexecinfo
444#LIBS_p += -lexecinfo
445#LIBS_c += -lexecinfo
446
447# Use libbfd to get more details for developer debugging
448# This enables use of libbfd to get more detailed symbols for the backtraces
449# generated by CONFIG_WPA_TRACE=y.
450#CONFIG_WPA_TRACE_BFD=y
451# For BSD, uncomment these.
452#LIBS += -lbfd -liberty -lz
453#LIBS_p += -lbfd -liberty -lz
454#LIBS_c += -lbfd -liberty -lz
455
456CONFIG_TLS = %ssl%
457CONFIG_CTRL_IFACE_DBUS=y
458CONFIG_CTRL_IFACE_DBUS_NEW=y
459
460# wpa_supplicant depends on strong random number generation being available
461# from the operating system. os_get_random() function is used to fetch random
462# data when needed, e.g., for key generation. On Linux and BSD systems, this
463# works by reading /dev/urandom. It should be noted that the OS entropy pool
464# needs to be properly initialized before wpa_supplicant is started. This is
465# important especially on embedded devices that do not have a hardware random
466# number generator and may by default start up with minimal entropy available
467# for random number generation.
468#
469# As a safety net, wpa_supplicant is by default trying to internally collect
470# additional entropy for generating random data to mix in with the data fetched
471# from the OS. This by itself is not considered to be very strong, but it may
472# help in cases where the system pool is not initialized properly. However, it
473# is very strongly recommended that the system pool is initialized with enough
474# entropy either by using hardware assisted random number generator or by
475# storing state over device reboots.
476#
477# wpa_supplicant can be configured to maintain its own entropy store over
478# restarts to enhance random number generation. This is not perfect, but it is
479# much more secure than using the same sequence of random numbers after every
480# reboot. This can be enabled with -e<entropy file> command line option. The
481# specified file needs to be readable and writable by wpa_supplicant.
482#
483# If the os_get_random() is known to provide strong random data (e.g., on
484# Linux/BSD, the board in question is known to have reliable source of random
485# data from /dev/urandom), the internal wpa_supplicant random pool can be
486# disabled. This will save some in binary size and CPU use. However, this
487# should only be considered for builds that are known to be used on devices
488# that meet the requirements described above.
489#CONFIG_NO_RANDOM_POOL=y
490
491# IEEE 802.11n (High Throughput) support (mainly for AP mode)
492#CONFIG_IEEE80211N=y
493
494# IEEE 802.11ac (Very High Throughput) support (mainly for AP mode)
495# (depends on CONFIG_IEEE80211N)
496#CONFIG_IEEE80211AC=y
497
498# Wireless Network Management (IEEE Std 802.11v-2011)
499# Note: This is experimental and not complete implementation.
500#CONFIG_WNM=y
501
502# Interworking (IEEE 802.11u)
503# This can be used to enable functionality to improve interworking with
504# external networks (GAS/ANQP to learn more about the networks and network
505# selection based on available credentials).
506#CONFIG_INTERWORKING=y
507
508# Hotspot 2.0
509#CONFIG_HS20=y
510
511# Disable roaming in wpa_supplicant
512#CONFIG_NO_ROAMING=y
513
514# AP mode operations with wpa_supplicant
515# This can be used for controlling AP mode operations with wpa_supplicant. It
516# should be noted that this is mainly aimed at simple cases like
517# WPA2-Personal while more complex configurations like WPA2-Enterprise with an
518# external RADIUS server can be supported with hostapd.
519CONFIG_AP=y
520
521CONFIG_BGSCAN_SIMPLE=y
522
523# P2P (Wi-Fi Direct)
524# This can be used to enable P2P support in wpa_supplicant. See README-P2P for
525# more information on P2P operations.
526#CONFIG_P2P=y
527
528# Enable TDLS support
529#CONFIG_TDLS=y
530
531# Wi-Fi Direct
532# This can be used to enable Wi-Fi Direct extensions for P2P using an external
533# program to control the additional information exchanges in the messages.
534#CONFIG_WIFI_DISPLAY=y
535
536# Autoscan
537# This can be used to enable automatic scan support in wpa_supplicant.
538# See wpa_supplicant.conf for more information on autoscan usage.
539#
540# Enabling directly a module will enable autoscan support.
541# For exponential module:
542CONFIG_AUTOSCAN_EXPONENTIAL=y
543# For periodic module:
544#CONFIG_AUTOSCAN_PERIODIC=y
545
546# Password (and passphrase, etc.) backend for external storage
547# These optional mechanisms can be used to add support for storing passwords
548# and other secrets in external (to wpa_supplicant) location. This allows, for
549# example, operating system specific key storage to be used
550#
551# External password backend for testing purposes (developer use)
552#CONFIG_EXT_PASSWORD_TEST=y
diff --git a/meta/recipes-connectivity/wpa-supplicant/wpa-supplicant/fix-libnl3-host-contamination.patch b/meta/recipes-connectivity/wpa-supplicant/wpa-supplicant/fix-libnl3-host-contamination.patch
new file mode 100644
index 0000000000..eb8036f50c
--- /dev/null
+++ b/meta/recipes-connectivity/wpa-supplicant/wpa-supplicant/fix-libnl3-host-contamination.patch
@@ -0,0 +1,42 @@
1Upstream-Status: Pending
2
3From 37d6b3dd5a737cd67468e4a58b372bddd924a7be Mon Sep 17 00:00:00 2001
4From: Andreas Oberritter <obi@opendreambox.org>
5Date: Fri, 8 Mar 2013 22:55:19 +0100
6Subject: [PATCH] Revert "build: Use updated libnl3 header paths"
7
8This reverts commit e7ecddf33a446072effbc85a27a078a8e582c89e.
9---
10 src/drivers/drivers.mak | 2 +-
11 src/drivers/drivers.mk | 2 +-
12 2 files changed, 2 insertions(+), 2 deletions(-)
13
14diff --git a/src/drivers/drivers.mak b/src/drivers/drivers.mak
15index 68ff910..1f38f57 100644
16--- a/src/drivers/drivers.mak
17+++ b/src/drivers/drivers.mak
18@@ -30,7 +30,7 @@ NEED_RFKILL=y
19 ifdef CONFIG_LIBNL32
20 DRV_LIBS += -lnl-3
21 DRV_LIBS += -lnl-genl-3
22- DRV_CFLAGS += -DCONFIG_LIBNL20 -I/usr/include/libnl3
23+ DRV_CFLAGS += -DCONFIG_LIBNL20
24 else
25 ifdef CONFIG_LIBNL_TINY
26 DRV_LIBS += -lnl-tiny
27diff --git a/src/drivers/drivers.mk b/src/drivers/drivers.mk
28index db8561a..c93e88d 100644
29--- a/src/drivers/drivers.mk
30+++ b/src/drivers/drivers.mk
31@@ -30,7 +30,7 @@ NEED_RFKILL=y
32 ifdef CONFIG_LIBNL32
33 DRV_LIBS += -lnl-3
34 DRV_LIBS += -lnl-genl-3
35- DRV_CFLAGS += -DCONFIG_LIBNL20 -I/usr/include/libnl3
36+ DRV_CFLAGS += -DCONFIG_LIBNL20
37 else
38 ifdef CONFIG_LIBNL_TINY
39 DRV_LIBS += -lnl-tiny
40--
411.7.10.4
42
diff --git a/meta/recipes-connectivity/wpa-supplicant/wpa-supplicant/wpa-supplicant.sh b/meta/recipes-connectivity/wpa-supplicant/wpa-supplicant/wpa-supplicant.sh
new file mode 100644
index 0000000000..5c9e5d33a7
--- /dev/null
+++ b/meta/recipes-connectivity/wpa-supplicant/wpa-supplicant/wpa-supplicant.sh
@@ -0,0 +1,85 @@
1#!/bin/sh
2
3
4WPA_SUP_BIN="/usr/sbin/wpa_supplicant"
5WPA_SUP_PNAME="wpa_supplicant"
6WPA_SUP_PIDFILE="/var/run/wpa_supplicant.$IFACE.pid"
7WPA_SUP_OPTIONS="-B -P $WPA_SUP_PIDFILE -i $IFACE"
8
9VERBOSITY=0
10
11
12if [ -s "$IF_WPA_CONF" ]; then
13 WPA_SUP_CONF="-c $IF_WPA_CONF"
14else
15 exit 0
16fi
17
18if [ ! -x "$WPA_SUP_BIN" ]; then
19
20 if [ "$VERBOSITY" = "1" ]; then
21 echo "$WPA_SUP_PNAME: binaries not executable or missing from $WPA_SUP_BIN"
22 fi
23
24 exit 1
25fi
26
27if [ "$MODE" = "start" ] ; then
28 # driver type of interface, defaults to wext when undefined
29 if [ -s "/etc/wpa_supplicant/driver.$IFACE" ]; then
30 IF_WPA_DRIVER=$(cat "/etc/wpa_supplicant/driver.$IFACE")
31 elif [ -z "$IF_WPA_DRIVER" ]; then
32
33 if [ "$VERBOSITY" = "1" ]; then
34 echo "$WPA_SUP_PNAME: wpa-driver not provided, using \"wext\""
35 fi
36
37 IF_WPA_DRIVER="wext"
38 fi
39
40 # if we have passed the criteria, start wpa_supplicant
41 if [ -n "$WPA_SUP_CONF" ]; then
42
43 if [ "$VERBOSITY" = "1" ]; then
44 echo "$WPA_SUP_PNAME: $WPA_SUP_BIN $WPA_SUP_OPTIONS $WPA_SUP_CONF -D $IF_WPA_DRIVER"
45 fi
46
47 start-stop-daemon --start --quiet \
48 --name $WPA_SUP_PNAME --startas $WPA_SUP_BIN --pidfile $WPA_SUP_PIDFILE \
49 -- $WPA_SUP_OPTIONS $WPA_SUP_CONF -D $IF_WPA_DRIVER
50 fi
51
52 # if the interface socket exists, then wpa_supplicant was invoked successfully
53 if [ -S "$WPA_COMMON_CTRL_IFACE/$IFACE" ]; then
54
55 if [ "$VERBOSITY" = "1" ]; then
56 echo "$WPA_SUP_PNAME: ctrl_interface socket located at $WPA_COMMON_CTRL_IFACE/$IFACE"
57 fi
58
59 exit 0
60
61 fi
62
63elif [ "$MODE" = "stop" ]; then
64
65 if [ -f "$WPA_SUP_PIDFILE" ]; then
66
67 if [ "$VERBOSITY" = "1" ]; then
68 echo "$WPA_SUP_PNAME: terminating $WPA_SUP_PNAME daemon"
69 fi
70
71 start-stop-daemon --stop --quiet \
72 --name $WPA_SUP_PNAME --pidfile $WPA_SUP_PIDFILE
73
74 if [ -S "$WPA_COMMON_CTRL_IFACE/$IFACE" ]; then
75 rm -f $WPA_COMMON_CTRL_IFACE/$IFACE
76 fi
77
78 if [ -f "$WPA_SUP_PIDFILE" ]; then
79 rm -f $WPA_SUP_PIDFILE
80 fi
81 fi
82
83fi
84
85exit 0
diff --git a/meta/recipes-connectivity/wpa-supplicant/wpa-supplicant/wpa_supplicant.conf b/meta/recipes-connectivity/wpa-supplicant/wpa-supplicant/wpa_supplicant.conf
new file mode 100644
index 0000000000..68258f5ee2
--- /dev/null
+++ b/meta/recipes-connectivity/wpa-supplicant/wpa-supplicant/wpa_supplicant.conf
@@ -0,0 +1,690 @@
1##### Example wpa_supplicant configuration file ###############################
2#
3# This file describes configuration file format and lists all available option.
4# Please also take a look at simpler configuration examples in 'examples'
5# subdirectory.
6#
7# Empty lines and lines starting with # are ignored
8
9# NOTE! This file may contain password information and should probably be made
10# readable only by root user on multiuser systems.
11
12# Note: All file paths in this configuration file should use full (absolute,
13# not relative to working directory) path in order to allow working directory
14# to be changed. This can happen if wpa_supplicant is run in the background.
15
16# Whether to allow wpa_supplicant to update (overwrite) configuration
17#
18# This option can be used to allow wpa_supplicant to overwrite configuration
19# file whenever configuration is changed (e.g., new network block is added with
20# wpa_cli or wpa_gui, or a password is changed). This is required for
21# wpa_cli/wpa_gui to be able to store the configuration changes permanently.
22# Please note that overwriting configuration file will remove the comments from
23# it.
24#update_config=1
25
26# global configuration (shared by all network blocks)
27#
28# Parameters for the control interface. If this is specified, wpa_supplicant
29# will open a control interface that is available for external programs to
30# manage wpa_supplicant. The meaning of this string depends on which control
31# interface mechanism is used. For all cases, the existence of this parameter
32# in configuration is used to determine whether the control interface is
33# enabled.
34#
35# For UNIX domain sockets (default on Linux and BSD): This is a directory that
36# will be created for UNIX domain sockets for listening to requests from
37# external programs (CLI/GUI, etc.) for status information and configuration.
38# The socket file will be named based on the interface name, so multiple
39# wpa_supplicant processes can be run at the same time if more than one
40# interface is used.
41# /var/run/wpa_supplicant is the recommended directory for sockets and by
42# default, wpa_cli will use it when trying to connect with wpa_supplicant.
43#
44# Access control for the control interface can be configured by setting the
45# directory to allow only members of a group to use sockets. This way, it is
46# possible to run wpa_supplicant as root (since it needs to change network
47# configuration and open raw sockets) and still allow GUI/CLI components to be
48# run as non-root users. However, since the control interface can be used to
49# change the network configuration, this access needs to be protected in many
50# cases. By default, wpa_supplicant is configured to use gid 0 (root). If you
51# want to allow non-root users to use the control interface, add a new group
52# and change this value to match with that group. Add users that should have
53# control interface access to this group. If this variable is commented out or
54# not included in the configuration file, group will not be changed from the
55# value it got by default when the directory or socket was created.
56#
57# When configuring both the directory and group, use following format:
58# DIR=/var/run/wpa_supplicant GROUP=wheel
59# DIR=/var/run/wpa_supplicant GROUP=0
60# (group can be either group name or gid)
61#
62# For UDP connections (default on Windows): The value will be ignored. This
63# variable is just used to select that the control interface is to be created.
64# The value can be set to, e.g., udp (ctrl_interface=udp)
65#
66# For Windows Named Pipe: This value can be used to set the security descriptor
67# for controlling access to the control interface. Security descriptor can be
68# set using Security Descriptor String Format (see http://msdn.microsoft.com/
69# library/default.asp?url=/library/en-us/secauthz/security/
70# security_descriptor_string_format.asp). The descriptor string needs to be
71# prefixed with SDDL=. For example, ctrl_interface=SDDL=D: would set an empty
72# DACL (which will reject all connections). See README-Windows.txt for more
73# information about SDDL string format.
74#
75ctrl_interface=/var/run/wpa_supplicant
76
77# IEEE 802.1X/EAPOL version
78# wpa_supplicant is implemented based on IEEE Std 802.1X-2004 which defines
79# EAPOL version 2. However, there are many APs that do not handle the new
80# version number correctly (they seem to drop the frames completely). In order
81# to make wpa_supplicant interoperate with these APs, the version number is set
82# to 1 by default. This configuration value can be used to set it to the new
83# version (2).
84eapol_version=1
85
86# AP scanning/selection
87# By default, wpa_supplicant requests driver to perform AP scanning and then
88# uses the scan results to select a suitable AP. Another alternative is to
89# allow the driver to take care of AP scanning and selection and use
90# wpa_supplicant just to process EAPOL frames based on IEEE 802.11 association
91# information from the driver.
92# 1: wpa_supplicant initiates scanning and AP selection
93# 0: driver takes care of scanning, AP selection, and IEEE 802.11 association
94# parameters (e.g., WPA IE generation); this mode can also be used with
95# non-WPA drivers when using IEEE 802.1X mode; do not try to associate with
96# APs (i.e., external program needs to control association). This mode must
97# also be used when using wired Ethernet drivers.
98# 2: like 0, but associate with APs using security policy and SSID (but not
99# BSSID); this can be used, e.g., with ndiswrapper and NDIS drivers to
100# enable operation with hidden SSIDs and optimized roaming; in this mode,
101# the network blocks in the configuration file are tried one by one until
102# the driver reports successful association; each network block should have
103# explicit security policy (i.e., only one option in the lists) for
104# key_mgmt, pairwise, group, proto variables
105ap_scan=1
106
107# EAP fast re-authentication
108# By default, fast re-authentication is enabled for all EAP methods that
109# support it. This variable can be used to disable fast re-authentication.
110# Normally, there is no need to disable this.
111fast_reauth=1
112
113# OpenSSL Engine support
114# These options can be used to load OpenSSL engines.
115# The two engines that are supported currently are shown below:
116# They are both from the opensc project (http://www.opensc.org/)
117# By default no engines are loaded.
118# make the opensc engine available
119#opensc_engine_path=/usr/lib/opensc/engine_opensc.so
120# make the pkcs11 engine available
121#pkcs11_engine_path=/usr/lib/opensc/engine_pkcs11.so
122# configure the path to the pkcs11 module required by the pkcs11 engine
123#pkcs11_module_path=/usr/lib/pkcs11/opensc-pkcs11.so
124
125# Dynamic EAP methods
126# If EAP methods were built dynamically as shared object files, they need to be
127# loaded here before being used in the network blocks. By default, EAP methods
128# are included statically in the build, so these lines are not needed
129#load_dynamic_eap=/usr/lib/wpa_supplicant/eap_tls.so
130#load_dynamic_eap=/usr/lib/wpa_supplicant/eap_md5.so
131
132# Driver interface parameters
133# This field can be used to configure arbitrary driver interace parameters. The
134# format is specific to the selected driver interface. This field is not used
135# in most cases.
136#driver_param="field=value"
137
138# Maximum lifetime for PMKSA in seconds; default 43200
139#dot11RSNAConfigPMKLifetime=43200
140# Threshold for reauthentication (percentage of PMK lifetime); default 70
141#dot11RSNAConfigPMKReauthThreshold=70
142# Timeout for security association negotiation in seconds; default 60
143#dot11RSNAConfigSATimeout=60
144
145# network block
146#
147# Each network (usually AP's sharing the same SSID) is configured as a separate
148# block in this configuration file. The network blocks are in preference order
149# (the first match is used).
150#
151# network block fields:
152#
153# disabled:
154# 0 = this network can be used (default)
155# 1 = this network block is disabled (can be enabled through ctrl_iface,
156# e.g., with wpa_cli or wpa_gui)
157#
158# id_str: Network identifier string for external scripts. This value is passed
159# to external action script through wpa_cli as WPA_ID_STR environment
160# variable to make it easier to do network specific configuration.
161#
162# ssid: SSID (mandatory); either as an ASCII string with double quotation or
163# as hex string; network name
164#
165# scan_ssid:
166# 0 = do not scan this SSID with specific Probe Request frames (default)
167# 1 = scan with SSID-specific Probe Request frames (this can be used to
168# find APs that do not accept broadcast SSID or use multiple SSIDs;
169# this will add latency to scanning, so enable this only when needed)
170#
171# bssid: BSSID (optional); if set, this network block is used only when
172# associating with the AP using the configured BSSID
173#
174# priority: priority group (integer)
175# By default, all networks will get same priority group (0). If some of the
176# networks are more desirable, this field can be used to change the order in
177# which wpa_supplicant goes through the networks when selecting a BSS. The
178# priority groups will be iterated in decreasing priority (i.e., the larger the
179# priority value, the sooner the network is matched against the scan results).
180# Within each priority group, networks will be selected based on security
181# policy, signal strength, etc.
182# Please note that AP scanning with scan_ssid=1 and ap_scan=2 mode are not
183# using this priority to select the order for scanning. Instead, they try the
184# networks in the order that used in the configuration file.
185#
186# mode: IEEE 802.11 operation mode
187# 0 = infrastructure (Managed) mode, i.e., associate with an AP (default)
188# 1 = IBSS (ad-hoc, peer-to-peer)
189# Note: IBSS can only be used with key_mgmt NONE (plaintext and static WEP)
190# and key_mgmt=WPA-NONE (fixed group key TKIP/CCMP). In addition, ap_scan has
191# to be set to 2 for IBSS. WPA-None requires following network block options:
192# proto=WPA, key_mgmt=WPA-NONE, pairwise=NONE, group=TKIP (or CCMP, but not
193# both), and psk must also be set.
194#
195# proto: list of accepted protocols
196# WPA = WPA/IEEE 802.11i/D3.0
197# RSN = WPA2/IEEE 802.11i (also WPA2 can be used as an alias for RSN)
198# If not set, this defaults to: WPA RSN
199#
200# key_mgmt: list of accepted authenticated key management protocols
201# WPA-PSK = WPA pre-shared key (this requires 'psk' field)
202# WPA-EAP = WPA using EAP authentication (this can use an external
203# program, e.g., Xsupplicant, for IEEE 802.1X EAP Authentication
204# IEEE8021X = IEEE 802.1X using EAP authentication and (optionally) dynamically
205# generated WEP keys
206# NONE = WPA is not used; plaintext or static WEP could be used
207# If not set, this defaults to: WPA-PSK WPA-EAP
208#
209# auth_alg: list of allowed IEEE 802.11 authentication algorithms
210# OPEN = Open System authentication (required for WPA/WPA2)
211# SHARED = Shared Key authentication (requires static WEP keys)
212# LEAP = LEAP/Network EAP (only used with LEAP)
213# If not set, automatic selection is used (Open System with LEAP enabled if
214# LEAP is allowed as one of the EAP methods).
215#
216# pairwise: list of accepted pairwise (unicast) ciphers for WPA
217# CCMP = AES in Counter mode with CBC-MAC [RFC 3610, IEEE 802.11i/D7.0]
218# TKIP = Temporal Key Integrity Protocol [IEEE 802.11i/D7.0]
219# NONE = Use only Group Keys (deprecated, should not be included if APs support
220# pairwise keys)
221# If not set, this defaults to: CCMP TKIP
222#
223# group: list of accepted group (broadcast/multicast) ciphers for WPA
224# CCMP = AES in Counter mode with CBC-MAC [RFC 3610, IEEE 802.11i/D7.0]
225# TKIP = Temporal Key Integrity Protocol [IEEE 802.11i/D7.0]
226# WEP104 = WEP (Wired Equivalent Privacy) with 104-bit key
227# WEP40 = WEP (Wired Equivalent Privacy) with 40-bit key [IEEE 802.11]
228# If not set, this defaults to: CCMP TKIP WEP104 WEP40
229#
230# psk: WPA preshared key; 256-bit pre-shared key
231# The key used in WPA-PSK mode can be entered either as 64 hex-digits, i.e.,
232# 32 bytes or as an ASCII passphrase (in which case, the real PSK will be
233# generated using the passphrase and SSID). ASCII passphrase must be between
234# 8 and 63 characters (inclusive).
235# This field is not needed, if WPA-EAP is used.
236# Note: Separate tool, wpa_passphrase, can be used to generate 256-bit keys
237# from ASCII passphrase. This process uses lot of CPU and wpa_supplicant
238# startup and reconfiguration time can be optimized by generating the PSK only
239# only when the passphrase or SSID has actually changed.
240#
241# eapol_flags: IEEE 802.1X/EAPOL options (bit field)
242# Dynamic WEP key required for non-WPA mode
243# bit0 (1): require dynamically generated unicast WEP key
244# bit1 (2): require dynamically generated broadcast WEP key
245# (3 = require both keys; default)
246# Note: When using wired authentication, eapol_flags must be set to 0 for the
247# authentication to be completed successfully.
248#
249# proactive_key_caching:
250# Enable/disable opportunistic PMKSA caching for WPA2.
251# 0 = disabled (default)
252# 1 = enabled
253#
254# wep_key0..3: Static WEP key (ASCII in double quotation, e.g. "abcde" or
255# hex without quotation, e.g., 0102030405)
256# wep_tx_keyidx: Default WEP key index (TX) (0..3)
257#
258# peerkey: Whether PeerKey negotiation for direct links (IEEE 802.11e DLS) is
259# allowed. This is only used with RSN/WPA2.
260# 0 = disabled (default)
261# 1 = enabled
262#peerkey=1
263#
264# Following fields are only used with internal EAP implementation.
265# eap: space-separated list of accepted EAP methods
266# MD5 = EAP-MD5 (unsecure and does not generate keying material ->
267# cannot be used with WPA; to be used as a Phase 2 method
268# with EAP-PEAP or EAP-TTLS)
269# MSCHAPV2 = EAP-MSCHAPv2 (cannot be used separately with WPA; to be used
270# as a Phase 2 method with EAP-PEAP or EAP-TTLS)
271# OTP = EAP-OTP (cannot be used separately with WPA; to be used
272# as a Phase 2 method with EAP-PEAP or EAP-TTLS)
273# GTC = EAP-GTC (cannot be used separately with WPA; to be used
274# as a Phase 2 method with EAP-PEAP or EAP-TTLS)
275# TLS = EAP-TLS (client and server certificate)
276# PEAP = EAP-PEAP (with tunnelled EAP authentication)
277# TTLS = EAP-TTLS (with tunnelled EAP or PAP/CHAP/MSCHAP/MSCHAPV2
278# authentication)
279# If not set, all compiled in methods are allowed.
280#
281# identity: Identity string for EAP
282# anonymous_identity: Anonymous identity string for EAP (to be used as the
283# unencrypted identity with EAP types that support different tunnelled
284# identity, e.g., EAP-TTLS)
285# password: Password string for EAP
286# ca_cert: File path to CA certificate file (PEM/DER). This file can have one
287# or more trusted CA certificates. If ca_cert and ca_path are not
288# included, server certificate will not be verified. This is insecure and
289# a trusted CA certificate should always be configured when using
290# EAP-TLS/TTLS/PEAP. Full path should be used since working directory may
291# change when wpa_supplicant is run in the background.
292# On Windows, trusted CA certificates can be loaded from the system
293# certificate store by setting this to cert_store://<name>, e.g.,
294# ca_cert="cert_store://CA" or ca_cert="cert_store://ROOT".
295# Note that when running wpa_supplicant as an application, the user
296# certificate store (My user account) is used, whereas computer store
297# (Computer account) is used when running wpasvc as a service.
298# ca_path: Directory path for CA certificate files (PEM). This path may
299# contain multiple CA certificates in OpenSSL format. Common use for this
300# is to point to system trusted CA list which is often installed into
301# directory like /etc/ssl/certs. If configured, these certificates are
302# added to the list of trusted CAs. ca_cert may also be included in that
303# case, but it is not required.
304# client_cert: File path to client certificate file (PEM/DER)
305# Full path should be used since working directory may change when
306# wpa_supplicant is run in the background.
307# Alternatively, a named configuration blob can be used by setting this
308# to blob://<blob name>.
309# private_key: File path to client private key file (PEM/DER/PFX)
310# When PKCS#12/PFX file (.p12/.pfx) is used, client_cert should be
311# commented out. Both the private key and certificate will be read from
312# the PKCS#12 file in this case. Full path should be used since working
313# directory may change when wpa_supplicant is run in the background.
314# Windows certificate store can be used by leaving client_cert out and
315# configuring private_key in one of the following formats:
316# cert://substring_to_match
317# hash://certificate_thumbprint_in_hex
318# for example: private_key="hash://63093aa9c47f56ae88334c7b65a4"
319# Note that when running wpa_supplicant as an application, the user
320# certificate store (My user account) is used, whereas computer store
321# (Computer account) is used when running wpasvc as a service.
322# Alternatively, a named configuration blob can be used by setting this
323# to blob://<blob name>.
324# private_key_passwd: Password for private key file (if left out, this will be
325# asked through control interface)
326# dh_file: File path to DH/DSA parameters file (in PEM format)
327# This is an optional configuration file for setting parameters for an
328# ephemeral DH key exchange. In most cases, the default RSA
329# authentication does not use this configuration. However, it is possible
330# setup RSA to use ephemeral DH key exchange. In addition, ciphers with
331# DSA keys always use ephemeral DH keys. This can be used to achieve
332# forward secrecy. If the file is in DSA parameters format, it will be
333# automatically converted into DH params.
334# subject_match: Substring to be matched against the subject of the
335# authentication server certificate. If this string is set, the server
336# sertificate is only accepted if it contains this string in the subject.
337# The subject string is in following format:
338# /C=US/ST=CA/L=San Francisco/CN=Test AS/emailAddress=as@example.com
339# altsubject_match: Semicolon separated string of entries to be matched against
340# the alternative subject name of the authentication server certificate.
341# If this string is set, the server sertificate is only accepted if it
342# contains one of the entries in an alternative subject name extension.
343# altSubjectName string is in following format: TYPE:VALUE
344# Example: EMAIL:server@example.com
345# Example: DNS:server.example.com;DNS:server2.example.com
346# Following types are supported: EMAIL, DNS, URI
347# phase1: Phase1 (outer authentication, i.e., TLS tunnel) parameters
348# (string with field-value pairs, e.g., "peapver=0" or
349# "peapver=1 peaplabel=1")
350# 'peapver' can be used to force which PEAP version (0 or 1) is used.
351# 'peaplabel=1' can be used to force new label, "client PEAP encryption",
352# to be used during key derivation when PEAPv1 or newer. Most existing
353# PEAPv1 implementation seem to be using the old label, "client EAP
354# encryption", and wpa_supplicant is now using that as the default value.
355# Some servers, e.g., Radiator, may require peaplabel=1 configuration to
356# interoperate with PEAPv1; see eap_testing.txt for more details.
357# 'peap_outer_success=0' can be used to terminate PEAP authentication on
358# tunneled EAP-Success. This is required with some RADIUS servers that
359# implement draft-josefsson-pppext-eap-tls-eap-05.txt (e.g.,
360# Lucent NavisRadius v4.4.0 with PEAP in "IETF Draft 5" mode)
361# include_tls_length=1 can be used to force wpa_supplicant to include
362# TLS Message Length field in all TLS messages even if they are not
363# fragmented.
364# sim_min_num_chal=3 can be used to configure EAP-SIM to require three
365# challenges (by default, it accepts 2 or 3)
366# phase2: Phase2 (inner authentication with TLS tunnel) parameters
367# (string with field-value pairs, e.g., "auth=MSCHAPV2" for EAP-PEAP or
368# "autheap=MSCHAPV2 autheap=MD5" for EAP-TTLS)
369# Following certificate/private key fields are used in inner Phase2
370# authentication when using EAP-TTLS or EAP-PEAP.
371# ca_cert2: File path to CA certificate file. This file can have one or more
372# trusted CA certificates. If ca_cert2 and ca_path2 are not included,
373# server certificate will not be verified. This is insecure and a trusted
374# CA certificate should always be configured.
375# ca_path2: Directory path for CA certificate files (PEM)
376# client_cert2: File path to client certificate file
377# private_key2: File path to client private key file
378# private_key2_passwd: Password for private key file
379# dh_file2: File path to DH/DSA parameters file (in PEM format)
380# subject_match2: Substring to be matched against the subject of the
381# authentication server certificate.
382# altsubject_match2: Substring to be matched against the alternative subject
383# name of the authentication server certificate.
384#
385# fragment_size: Maximum EAP fragment size in bytes (default 1398).
386# This value limits the fragment size for EAP methods that support
387# fragmentation (e.g., EAP-TLS and EAP-PEAP). This value should be set
388# small enough to make the EAP messages fit in MTU of the network
389# interface used for EAPOL. The default value is suitable for most
390# cases.
391#
392# EAP-PSK variables:
393# eappsk: 16-byte (128-bit, 32 hex digits) pre-shared key in hex format
394# nai: user NAI
395#
396# EAP-PAX variables:
397# eappsk: 16-byte (128-bit, 32 hex digits) pre-shared key in hex format
398#
399# EAP-SAKE variables:
400# eappsk: 32-byte (256-bit, 64 hex digits) pre-shared key in hex format
401# (this is concatenation of Root-Secret-A and Root-Secret-B)
402# nai: user NAI (PEERID)
403#
404# EAP-GPSK variables:
405# eappsk: Pre-shared key in hex format (at least 128 bits, i.e., 32 hex digits)
406# nai: user NAI (ID_Client)
407#
408# EAP-FAST variables:
409# pac_file: File path for the PAC entries. wpa_supplicant will need to be able
410# to create this file and write updates to it when PAC is being
411# provisioned or refreshed. Full path to the file should be used since
412# working directory may change when wpa_supplicant is run in the
413# background. Alternatively, a named configuration blob can be used by
414# setting this to blob://<blob name>
415# phase1: fast_provisioning=1 option enables in-line provisioning of EAP-FAST
416# credentials (PAC)
417#
418# wpa_supplicant supports number of "EAP workarounds" to work around
419# interoperability issues with incorrectly behaving authentication servers.
420# These are enabled by default because some of the issues are present in large
421# number of authentication servers. Strict EAP conformance mode can be
422# configured by disabling workarounds with eap_workaround=0.
423
424# Example blocks:
425
426# Simple case: WPA-PSK, PSK as an ASCII passphrase, allow all valid ciphers
427network={
428 ssid="simple"
429 psk="very secret passphrase"
430 priority=5
431}
432
433# Same as previous, but request SSID-specific scanning (for APs that reject
434# broadcast SSID)
435network={
436 ssid="second ssid"
437 scan_ssid=1
438 psk="very secret passphrase"
439 priority=2
440}
441
442# Only WPA-PSK is used. Any valid cipher combination is accepted.
443network={
444 ssid="example"
445 proto=WPA
446 key_mgmt=WPA-PSK
447 pairwise=CCMP TKIP
448 group=CCMP TKIP WEP104 WEP40
449 psk=06b4be19da289f475aa46a33cb793029d4ab3db7a23ee92382eb0106c72ac7bb
450 priority=2
451}
452
453# Only WPA-EAP is used. Both CCMP and TKIP is accepted. An AP that used WEP104
454# or WEP40 as the group cipher will not be accepted.
455network={
456 ssid="example"
457 proto=RSN
458 key_mgmt=WPA-EAP
459 pairwise=CCMP TKIP
460 group=CCMP TKIP
461 eap=TLS
462 identity="user@example.com"
463 ca_cert="/etc/cert/ca.pem"
464 client_cert="/etc/cert/user.pem"
465 private_key="/etc/cert/user.prv"
466 private_key_passwd="password"
467 priority=1
468}
469
470# EAP-PEAP/MSCHAPv2 configuration for RADIUS servers that use the new peaplabel
471# (e.g., Radiator)
472network={
473 ssid="example"
474 key_mgmt=WPA-EAP
475 eap=PEAP
476 identity="user@example.com"
477 password="foobar"
478 ca_cert="/etc/cert/ca.pem"
479 phase1="peaplabel=1"
480 phase2="auth=MSCHAPV2"
481 priority=10
482}
483
484# EAP-TTLS/EAP-MD5-Challenge configuration with anonymous identity for the
485# unencrypted use. Real identity is sent only within an encrypted TLS tunnel.
486network={
487 ssid="example"
488 key_mgmt=WPA-EAP
489 eap=TTLS
490 identity="user@example.com"
491 anonymous_identity="anonymous@example.com"
492 password="foobar"
493 ca_cert="/etc/cert/ca.pem"
494 priority=2
495}
496
497# EAP-TTLS/MSCHAPv2 configuration with anonymous identity for the unencrypted
498# use. Real identity is sent only within an encrypted TLS tunnel.
499network={
500 ssid="example"
501 key_mgmt=WPA-EAP
502 eap=TTLS
503 identity="user@example.com"
504 anonymous_identity="anonymous@example.com"
505 password="foobar"
506 ca_cert="/etc/cert/ca.pem"
507 phase2="auth=MSCHAPV2"
508}
509
510# WPA-EAP, EAP-TTLS with different CA certificate used for outer and inner
511# authentication.
512network={
513 ssid="example"
514 key_mgmt=WPA-EAP
515 eap=TTLS
516 # Phase1 / outer authentication
517 anonymous_identity="anonymous@example.com"
518 ca_cert="/etc/cert/ca.pem"
519 # Phase 2 / inner authentication
520 phase2="autheap=TLS"
521 ca_cert2="/etc/cert/ca2.pem"
522 client_cert2="/etc/cer/user.pem"
523 private_key2="/etc/cer/user.prv"
524 private_key2_passwd="password"
525 priority=2
526}
527
528# Both WPA-PSK and WPA-EAP is accepted. Only CCMP is accepted as pairwise and
529# group cipher.
530network={
531 ssid="example"
532 bssid=00:11:22:33:44:55
533 proto=WPA RSN
534 key_mgmt=WPA-PSK WPA-EAP
535 pairwise=CCMP
536 group=CCMP
537 psk=06b4be19da289f475aa46a33cb793029d4ab3db7a23ee92382eb0106c72ac7bb
538}
539
540# Special characters in SSID, so use hex string. Default to WPA-PSK, WPA-EAP
541# and all valid ciphers.
542network={
543 ssid=00010203
544 psk=000102030405060708090a0b0c0d0e0f101112131415161718191a1b1c1d1e1f
545}
546
547
548# IEEE 802.1X/EAPOL with dynamically generated WEP keys (i.e., no WPA) using
549# EAP-TLS for authentication and key generation; require both unicast and
550# broadcast WEP keys.
551network={
552 ssid="1x-test"
553 key_mgmt=IEEE8021X
554 eap=TLS
555 identity="user@example.com"
556 ca_cert="/etc/cert/ca.pem"
557 client_cert="/etc/cert/user.pem"
558 private_key="/etc/cert/user.prv"
559 private_key_passwd="password"
560 eapol_flags=3
561}
562
563
564# LEAP with dynamic WEP keys
565network={
566 ssid="leap-example"
567 key_mgmt=IEEE8021X
568 eap=LEAP
569 identity="user"
570 password="foobar"
571}
572
573# Plaintext connection (no WPA, no IEEE 802.1X)
574network={
575 ssid="plaintext-test"
576 key_mgmt=NONE
577}
578
579
580# Shared WEP key connection (no WPA, no IEEE 802.1X)
581network={
582 ssid="static-wep-test"
583 key_mgmt=NONE
584 wep_key0="abcde"
585 wep_key1=0102030405
586 wep_key2="1234567890123"
587 wep_tx_keyidx=0
588 priority=5
589}
590
591
592# Shared WEP key connection (no WPA, no IEEE 802.1X) using Shared Key
593# IEEE 802.11 authentication
594network={
595 ssid="static-wep-test2"
596 key_mgmt=NONE
597 wep_key0="abcde"
598 wep_key1=0102030405
599 wep_key2="1234567890123"
600 wep_tx_keyidx=0
601 priority=5
602 auth_alg=SHARED
603}
604
605
606# IBSS/ad-hoc network with WPA-None/TKIP.
607network={
608 ssid="test adhoc"
609 mode=1
610 proto=WPA
611 key_mgmt=WPA-NONE
612 pairwise=NONE
613 group=TKIP
614 psk="secret passphrase"
615}
616
617
618# Catch all example that allows more or less all configuration modes
619network={
620 ssid="example"
621 scan_ssid=1
622 key_mgmt=WPA-EAP WPA-PSK IEEE8021X NONE
623 pairwise=CCMP TKIP
624 group=CCMP TKIP WEP104 WEP40
625 psk="very secret passphrase"
626 eap=TTLS PEAP TLS
627 identity="user@example.com"
628 password="foobar"
629 ca_cert="/etc/cert/ca.pem"
630 client_cert="/etc/cert/user.pem"
631 private_key="/etc/cert/user.prv"
632 private_key_passwd="password"
633 phase1="peaplabel=0"
634}
635
636# Example of EAP-TLS with smartcard (openssl engine)
637network={
638 ssid="example"
639 key_mgmt=WPA-EAP
640 eap=TLS
641 proto=RSN
642 pairwise=CCMP TKIP
643 group=CCMP TKIP
644 identity="user@example.com"
645 ca_cert="/etc/cert/ca.pem"
646 client_cert="/etc/cert/user.pem"
647
648 engine=1
649
650 # The engine configured here must be available. Look at
651 # OpenSSL engine support in the global section.
652 # The key available through the engine must be the private key
653 # matching the client certificate configured above.
654
655 # use the opensc engine
656 #engine_id="opensc"
657 #key_id="45"
658
659 # use the pkcs11 engine
660 engine_id="pkcs11"
661 key_id="id_45"
662
663 # Optional PIN configuration; this can be left out and PIN will be
664 # asked through the control interface
665 pin="1234"
666}
667
668# Example configuration showing how to use an inlined blob as a CA certificate
669# data instead of using external file
670network={
671 ssid="example"
672 key_mgmt=WPA-EAP
673 eap=TTLS
674 identity="user@example.com"
675 anonymous_identity="anonymous@example.com"
676 password="foobar"
677 ca_cert="blob://exampleblob"
678 priority=20
679}
680
681blob-base64-exampleblob={
682SGVsbG8gV29ybGQhCg==
683}
684
685
686# Wildcard match for SSID (plaintext APs only). This example select any
687# open AP regardless of its SSID.
688network={
689 key_mgmt=NONE
690}
diff --git a/meta/recipes-connectivity/wpa-supplicant/wpa-supplicant/wpa_supplicant.conf-sane b/meta/recipes-connectivity/wpa-supplicant/wpa-supplicant/wpa_supplicant.conf-sane
new file mode 100644
index 0000000000..c91ffe0c84
--- /dev/null
+++ b/meta/recipes-connectivity/wpa-supplicant/wpa-supplicant/wpa_supplicant.conf-sane
@@ -0,0 +1,7 @@
1ctrl_interface=/var/run/wpa_supplicant
2ctrl_interface_group=0
3update_config=1
4
5network={
6 key_mgmt=NONE
7}
diff --git a/meta/recipes-connectivity/wpa-supplicant/wpa-supplicant_2.2.bb b/meta/recipes-connectivity/wpa-supplicant/wpa-supplicant_2.2.bb
new file mode 100644
index 0000000000..afd0654016
--- /dev/null
+++ b/meta/recipes-connectivity/wpa-supplicant/wpa-supplicant_2.2.bb
@@ -0,0 +1,2 @@
1require wpa-supplicant.inc
2