summaryrefslogtreecommitdiffstats
path: root/meta/recipes-connectivity
diff options
context:
space:
mode:
Diffstat (limited to 'meta/recipes-connectivity')
-rw-r--r--meta/recipes-connectivity/avahi/avahi-ui_0.6.31.bb69
-rw-r--r--meta/recipes-connectivity/avahi/avahi.inc152
-rw-r--r--meta/recipes-connectivity/avahi/avahi_0.6.31.bb22
-rw-r--r--meta/recipes-connectivity/avahi/files/0001-avahi-fix-avahi-status-command-error-prompt.patch52
-rw-r--r--meta/recipes-connectivity/avahi/files/00avahi-autoipd10
-rw-r--r--meta/recipes-connectivity/avahi/files/99avahi-autoipd10
-rw-r--r--meta/recipes-connectivity/avahi/files/avahi_fix_install_issue.patch32
-rw-r--r--meta/recipes-connectivity/avahi/files/fix_for_automake_1.12.x.patch34
-rw-r--r--meta/recipes-connectivity/avahi/files/initscript.patch41
-rw-r--r--meta/recipes-connectivity/avahi/files/out-of-tree.patch32
-rw-r--r--meta/recipes-connectivity/avahi/files/reuseport-check.patch30
-rw-r--r--meta/recipes-connectivity/bind/bind/bind-9.8.1-CVE-2012-5166.patch119
-rw-r--r--meta/recipes-connectivity/bind/bind/bind-CVE-2011-4313.patch89
-rw-r--r--meta/recipes-connectivity/bind/bind/bind-CVE-2012-1667.patch92
-rw-r--r--meta/recipes-connectivity/bind/bind/bind-CVE-2012-3817.patch40
-rw-r--r--meta/recipes-connectivity/bind/bind/bind-CVE-2013-2266.patch41
-rw-r--r--meta/recipes-connectivity/bind/bind/bind-Fix-CVE-2012-4244.patch141
-rw-r--r--meta/recipes-connectivity/bind/bind/conf.patch314
-rw-r--r--meta/recipes-connectivity/bind/bind/cross-build-fix.patch21
-rw-r--r--meta/recipes-connectivity/bind/bind/dont-test-on-host.patch13
-rw-r--r--meta/recipes-connectivity/bind/bind/make-etc-initd-bind-stop-work.patch42
-rw-r--r--meta/recipes-connectivity/bind/bind/mips1-not-support-opcode.diff104
-rw-r--r--meta/recipes-connectivity/bind/bind_9.9.5.bb65
-rw-r--r--meta/recipes-connectivity/bluez/bluez-hcidump-2.5/obsolete_automake_macros.patch14
-rw-r--r--meta/recipes-connectivity/bluez/bluez-hcidump_2.5.bb20
-rw-r--r--meta/recipes-connectivity/bluez/bluez4-4.101/bluetooth.conf16
-rw-r--r--meta/recipes-connectivity/bluez/bluez4-4.101/fix-udev-paths.patch37
-rw-r--r--meta/recipes-connectivity/bluez/bluez4-4.101/install-test-script.patch26
-rw-r--r--meta/recipes-connectivity/bluez/bluez4-4.101/network-fix-network-Connect-method-parameters.patch30
-rw-r--r--meta/recipes-connectivity/bluez/bluez4-4.101/obsolete_automake_macros.patch14
-rw-r--r--meta/recipes-connectivity/bluez/bluez4-4.101/sbc_mmx.patch24
-rw-r--r--meta/recipes-connectivity/bluez/bluez4-4.101/use-legacy-pygobject-instead-ofgobject-introspection.patch27
-rw-r--r--meta/recipes-connectivity/bluez/bluez4.inc46
-rw-r--r--meta/recipes-connectivity/bluez/bluez4_4.101.bb46
-rw-r--r--meta/recipes-connectivity/bluez/gst-plugin-bluetooth_4.101.bb38
-rw-r--r--meta/recipes-connectivity/bluez5/bluez5.inc77
-rw-r--r--meta/recipes-connectivity/bluez5/bluez5/bluetooth.conf16
-rw-r--r--meta/recipes-connectivity/bluez5/bluez5_5.15.bb4
-rw-r--r--meta/recipes-connectivity/connman/connman-conf.bb24
-rw-r--r--meta/recipes-connectivity/connman/connman-conf/qemuall/wired-setup16
-rw-r--r--meta/recipes-connectivity/connman/connman-conf/qemuall/wired.config9
-rw-r--r--meta/recipes-connectivity/connman/connman-gnome/0001-Removed-icon-from-connman-gnome-about-applet.patch35
-rw-r--r--meta/recipes-connectivity/connman/connman-gnome/images/connman-signal-01.pngbin0 -> 490 bytes
-rw-r--r--meta/recipes-connectivity/connman/connman-gnome/images/connman-signal-02.pngbin0 -> 496 bytes
-rw-r--r--meta/recipes-connectivity/connman/connman-gnome/images/connman-signal-03.pngbin0 -> 492 bytes
-rw-r--r--meta/recipes-connectivity/connman/connman-gnome/images/connman-signal-04.pngbin0 -> 470 bytes
-rw-r--r--meta/recipes-connectivity/connman/connman-gnome/images/connman-signal-05.pngbin0 -> 419 bytes
-rw-r--r--meta/recipes-connectivity/connman/connman-gnome/null_check_for_ipv4_config.patch36
-rw-r--r--meta/recipes-connectivity/connman/connman-gnome_0.7.bb27
-rw-r--r--meta/recipes-connectivity/connman/connman.inc215
-rw-r--r--meta/recipes-connectivity/connman/connman/0001-plugin.h-Change-visibility-to-default-for-debug-symb.patch35
-rw-r--r--meta/recipes-connectivity/connman/connman/add_xuser_dbus_permission.patch21
-rw-r--r--meta/recipes-connectivity/connman/connman/connman83
-rw-r--r--meta/recipes-connectivity/connman/connman_1.22.bb11
-rw-r--r--meta/recipes-connectivity/dhcp/dhcp.inc100
-rw-r--r--meta/recipes-connectivity/dhcp/dhcp/dhclient-script-drop-resolv.conf.dhclient.patch70
-rw-r--r--meta/recipes-connectivity/dhcp/dhcp/dhcp-3.0.3-dhclient-dbus.patch86
-rw-r--r--meta/recipes-connectivity/dhcp/dhcp/fix-external-bind.patch112
-rw-r--r--meta/recipes-connectivity/dhcp/dhcp/fixsepbuild.patch90
-rw-r--r--meta/recipes-connectivity/dhcp/dhcp/link-with-lcrypto.patch25
-rw-r--r--meta/recipes-connectivity/dhcp/dhcp/site.h21
-rw-r--r--meta/recipes-connectivity/dhcp/dhcp_4.3.0.bb11
-rw-r--r--meta/recipes-connectivity/dhcp/files/default-relay12
-rw-r--r--meta/recipes-connectivity/dhcp/files/default-server7
-rw-r--r--meta/recipes-connectivity/dhcp/files/dhclient.conf50
-rw-r--r--meta/recipes-connectivity/dhcp/files/dhcpd.conf108
-rw-r--r--meta/recipes-connectivity/dhcp/files/init-relay44
-rw-r--r--meta/recipes-connectivity/dhcp/files/init-server44
-rw-r--r--meta/recipes-connectivity/iproute2/iproute2.inc40
-rw-r--r--meta/recipes-connectivity/iproute2/iproute2/0001-iproute2-de-bash-scripts.patch64
-rw-r--r--meta/recipes-connectivity/iproute2/iproute2/configure-cross.patch32
-rw-r--r--meta/recipes-connectivity/iproute2/iproute2_3.12.0.bb13
-rwxr-xr-xmeta/recipes-connectivity/irda-utils/irda-utils-0.9.18/init78
-rw-r--r--meta/recipes-connectivity/irda-utils/irda-utils_0.9.18.bb39
-rw-r--r--meta/recipes-connectivity/libnss-mdns/libnss-mdns_0.10.bb38
-rw-r--r--meta/recipes-connectivity/libpcap/libpcap.inc35
-rw-r--r--meta/recipes-connectivity/libpcap/libpcap/aclocal.patch167
-rw-r--r--meta/recipes-connectivity/libpcap/libpcap/ieee80215-arphrd.patch24
-rw-r--r--meta/recipes-connectivity/libpcap/libpcap_1.5.3.bb24
-rw-r--r--meta/recipes-connectivity/mobile-broadband-provider-info/mobile-broadband-provider-info_git.bb12
-rw-r--r--meta/recipes-connectivity/neard/neard.inc59
-rw-r--r--meta/recipes-connectivity/neard/neard/neard.in54
-rw-r--r--meta/recipes-connectivity/neard/neard/neard.service.in13
-rw-r--r--meta/recipes-connectivity/neard/neard_0.14.bb9
-rw-r--r--meta/recipes-connectivity/nfs-utils/files/Set_nobody_user_group.patch18
-rw-r--r--meta/recipes-connectivity/nfs-utils/files/fix-ac-prereq.patch13
-rw-r--r--meta/recipes-connectivity/nfs-utils/libnfsidmap_0.25.bb24
-rw-r--r--meta/recipes-connectivity/nfs-utils/nfs-utils/0001-configure-Allow-to-explicitly-disable-nfsidmap.patch43
-rw-r--r--meta/recipes-connectivity/nfs-utils/nfs-utils/nfs-mountd.service11
-rw-r--r--meta/recipes-connectivity/nfs-utils/nfs-utils/nfs-server.service18
-rw-r--r--meta/recipes-connectivity/nfs-utils/nfs-utils/nfs-statd.service12
-rw-r--r--meta/recipes-connectivity/nfs-utils/nfs-utils/nfs-utils-1.0.6-uclibc.patch27
-rw-r--r--meta/recipes-connectivity/nfs-utils/nfs-utils/nfs-utils-1.2.3-sm-notify-res_init.patch36
-rw-r--r--meta/recipes-connectivity/nfs-utils/nfs-utils/nfs-utils.conf35
-rw-r--r--meta/recipes-connectivity/nfs-utils/nfs-utils/nfscommon90
-rw-r--r--meta/recipes-connectivity/nfs-utils/nfs-utils/nfsserver129
-rw-r--r--meta/recipes-connectivity/nfs-utils/nfs-utils_1.2.9.bb110
-rw-r--r--meta/recipes-connectivity/ofono/ofono.inc33
-rw-r--r--meta/recipes-connectivity/ofono/ofono/ofono42
-rw-r--r--meta/recipes-connectivity/ofono/ofono_1.14.bb11
-rw-r--r--meta/recipes-connectivity/ofono/ofono_git.bb14
-rw-r--r--meta/recipes-connectivity/openssh/files/add-test-support-for-busybox.patch61
-rwxr-xr-xmeta/recipes-connectivity/openssh/files/run-ptest7
-rw-r--r--meta/recipes-connectivity/openssh/openssh/init113
-rw-r--r--meta/recipes-connectivity/openssh/openssh/nostrip.patch20
-rw-r--r--meta/recipes-connectivity/openssh/openssh/openssh-CVE-2011-4327.patch29
-rw-r--r--meta/recipes-connectivity/openssh/openssh/ssh_config46
-rw-r--r--meta/recipes-connectivity/openssh/openssh/sshd10
-rw-r--r--meta/recipes-connectivity/openssh/openssh/sshd.socket10
-rw-r--r--meta/recipes-connectivity/openssh/openssh/sshd@.service10
-rw-r--r--meta/recipes-connectivity/openssh/openssh/sshd_config119
-rw-r--r--meta/recipes-connectivity/openssh/openssh/sshdgenkeys.service10
-rw-r--r--meta/recipes-connectivity/openssh/openssh/volatiles.99_sshd1
-rw-r--r--meta/recipes-connectivity/openssh/openssh_6.5p1.bb147
-rw-r--r--meta/recipes-connectivity/openssl/cryptodev-linux_1.6.bb22
-rw-r--r--meta/recipes-connectivity/openssl/openssl.inc191
-rw-r--r--meta/recipes-connectivity/openssl/openssl/Makefiles-ptest.patch74
-rw-r--r--meta/recipes-connectivity/openssl/openssl/configure-targets.patch34
-rw-r--r--meta/recipes-connectivity/openssl/openssl/debian/c_rehash-compat.patch45
-rw-r--r--meta/recipes-connectivity/openssl/openssl/debian/ca.patch22
-rw-r--r--meta/recipes-connectivity/openssl/openssl/debian/debian-targets.patch66
-rw-r--r--meta/recipes-connectivity/openssl/openssl/debian/make-targets.patch15
-rw-r--r--meta/recipes-connectivity/openssl/openssl/debian/man-dir.patch15
-rw-r--r--meta/recipes-connectivity/openssl/openssl/debian/man-section.patch34
-rw-r--r--meta/recipes-connectivity/openssl/openssl/debian/no-rpath.patch15
-rw-r--r--meta/recipes-connectivity/openssl/openssl/debian/no-symbolic.patch15
-rw-r--r--meta/recipes-connectivity/openssl/openssl/debian/pic.patch177
-rw-r--r--meta/recipes-connectivity/openssl/openssl/debian/version-script.patch4670
-rw-r--r--meta/recipes-connectivity/openssl/openssl/engines-install-in-libdir-ssl.patch56
-rw-r--r--meta/recipes-connectivity/openssl/openssl/find.pl54
-rw-r--r--meta/recipes-connectivity/openssl/openssl/fix-cipher-des-ede3-cfb1.patch22
-rw-r--r--meta/recipes-connectivity/openssl/openssl/initial-aarch64-bits.patch119
-rw-r--r--meta/recipes-connectivity/openssl/openssl/oe-ldflags.patch24
-rw-r--r--meta/recipes-connectivity/openssl/openssl/openssl-CVE-2014-0198-fix.patch23
-rw-r--r--meta/recipes-connectivity/openssl/openssl/openssl-avoid-NULL-pointer-dereference-in-EVP_DigestInit_ex.patch21
-rw-r--r--meta/recipes-connectivity/openssl/openssl/openssl-avoid-NULL-pointer-dereference-in-dh_pub_encode.patch39
-rw-r--r--meta/recipes-connectivity/openssl/openssl/openssl-fix-des.pod-error.patch19
-rw-r--r--meta/recipes-connectivity/openssl/openssl/openssl-fix-doc.patch401
-rw-r--r--meta/recipes-connectivity/openssl/openssl/openssl-fix-link.patch35
-rw-r--r--meta/recipes-connectivity/openssl/openssl/openssl_fix_for_x32.patch90
-rw-r--r--meta/recipes-connectivity/openssl/openssl/run-ptest2
-rw-r--r--meta/recipes-connectivity/openssl/openssl/shared-libs.patch41
-rw-r--r--meta/recipes-connectivity/openssl/openssl_1.0.1g.bb58
-rw-r--r--meta/recipes-connectivity/portmap/portmap-6.0/destdir-no-strip.patch46
-rw-r--r--meta/recipes-connectivity/portmap/portmap-6.0/tcpd-config.patch30
-rw-r--r--meta/recipes-connectivity/portmap/portmap.inc31
-rwxr-xr-xmeta/recipes-connectivity/portmap/portmap/portmap.init67
-rw-r--r--meta/recipes-connectivity/portmap/portmap_6.0.bb26
-rw-r--r--meta/recipes-connectivity/ppp-dialin/files/host-peer11
-rw-r--r--meta/recipes-connectivity/ppp-dialin/files/ppp-dialin3
-rw-r--r--meta/recipes-connectivity/ppp-dialin/ppp-dialin_0.1.bb26
-rw-r--r--meta/recipes-connectivity/ppp/ppp/0001-ppp-Fix-compilation-errors-in-Makefile.patch75
-rw-r--r--meta/recipes-connectivity/ppp/ppp/08setupdns12
-rw-r--r--meta/recipes-connectivity/ppp/ppp/92removedns5
-rw-r--r--meta/recipes-connectivity/ppp/ppp/cifdefroute.patch292
-rw-r--r--meta/recipes-connectivity/ppp/ppp/copts.patch21
-rwxr-xr-xmeta/recipes-connectivity/ppp/ppp/init57
-rwxr-xr-xmeta/recipes-connectivity/ppp/ppp/ip-down43
-rwxr-xr-xmeta/recipes-connectivity/ppp/ppp/ip-up44
-rw-r--r--meta/recipes-connectivity/ppp/ppp/makefile-remove-hard-usr-reference.patch37
-rw-r--r--meta/recipes-connectivity/ppp/ppp/makefile.patch95
-rw-r--r--meta/recipes-connectivity/ppp/ppp/pap22
-rw-r--r--meta/recipes-connectivity/ppp/ppp/poff26
-rw-r--r--meta/recipes-connectivity/ppp/ppp/pon9
-rw-r--r--meta/recipes-connectivity/ppp/ppp/ppp_on_boot21
-rw-r--r--meta/recipes-connectivity/ppp/ppp/pppd-resolv-varrun.patch45
-rw-r--r--meta/recipes-connectivity/ppp/ppp/provider35
-rw-r--r--meta/recipes-connectivity/ppp/ppp_2.4.6.bb87
-rw-r--r--meta/recipes-connectivity/resolvconf/resolvconf_1.74.bb53
-rw-r--r--meta/recipes-connectivity/socat/socat/compile.patch946
-rw-r--r--meta/recipes-connectivity/socat/socat/fix-xxx_SHIFT-autoheader.patch40
-rw-r--r--meta/recipes-connectivity/socat/socat_1.7.2.3.bb40
-rw-r--r--meta/recipes-connectivity/telepathy/libtelepathy/doublefix.patch18
-rw-r--r--meta/recipes-connectivity/telepathy/libtelepathy/prefer_python_2.5.patch15
-rw-r--r--meta/recipes-connectivity/telepathy/libtelepathy_0.3.3.bb23
-rw-r--r--meta/recipes-connectivity/telepathy/telepathy-glib_0.23.2.bb16
-rw-r--r--meta/recipes-connectivity/telepathy/telepathy-idle/fix-svc-gtk-doc.h-target.patch15
-rw-r--r--meta/recipes-connectivity/telepathy/telepathy-idle_0.2.0.bb17
-rw-r--r--meta/recipes-connectivity/telepathy/telepathy-mission-control/tmc-Makefile-fix-race.patch76
-rw-r--r--meta/recipes-connectivity/telepathy/telepathy-mission-control_5.16.1.bb51
-rw-r--r--meta/recipes-connectivity/telepathy/telepathy-python-0.15.19/parallel_make.patch43
-rw-r--r--meta/recipes-connectivity/telepathy/telepathy-python-0.15.19/remove_duplicate_install.patch26
-rw-r--r--meta/recipes-connectivity/telepathy/telepathy-python-0.15.19/telepathy-python_fix_for_automake_1.12.patch26
-rw-r--r--meta/recipes-connectivity/telepathy/telepathy-python_0.15.19.bb32
-rw-r--r--meta/recipes-connectivity/wireless-tools/wireless-tools/avoid_strip.patch21
-rw-r--r--meta/recipes-connectivity/wireless-tools/wireless-tools/ldflags.patch22
-rw-r--r--meta/recipes-connectivity/wireless-tools/wireless-tools/man.patch15
-rw-r--r--meta/recipes-connectivity/wireless-tools/wireless-tools/remove.ldconfig.call.patch19
-rwxr-xr-xmeta/recipes-connectivity/wireless-tools/wireless-tools/wireless-tools.if-pre-up122
-rw-r--r--meta/recipes-connectivity/wireless-tools/wireless-tools/zzz-wireless.if-pre-up34
-rw-r--r--meta/recipes-connectivity/wireless-tools/wireless-tools_30.pre9.bb56
-rw-r--r--meta/recipes-connectivity/wpa-supplicant/wpa-supplicant.inc91
-rw-r--r--meta/recipes-connectivity/wpa-supplicant/wpa-supplicant/99_wpa_supplicant1
-rw-r--r--meta/recipes-connectivity/wpa-supplicant/wpa-supplicant/defconfig-gnutls552
-rw-r--r--meta/recipes-connectivity/wpa-supplicant/wpa-supplicant/fix-libnl3-host-contamination.patch42
-rw-r--r--meta/recipes-connectivity/wpa-supplicant/wpa-supplicant/wpa-supplicant.sh85
-rw-r--r--meta/recipes-connectivity/wpa-supplicant/wpa-supplicant/wpa_supplicant.conf690
-rw-r--r--meta/recipes-connectivity/wpa-supplicant/wpa-supplicant/wpa_supplicant.conf-sane7
-rw-r--r--meta/recipes-connectivity/wpa-supplicant/wpa-supplicant_2.1.bb2
199 files changed, 16003 insertions, 0 deletions
diff --git a/meta/recipes-connectivity/avahi/avahi-ui_0.6.31.bb b/meta/recipes-connectivity/avahi/avahi-ui_0.6.31.bb
new file mode 100644
index 0000000000..557c1c1651
--- /dev/null
+++ b/meta/recipes-connectivity/avahi/avahi-ui_0.6.31.bb
@@ -0,0 +1,69 @@
1LIC_FILES_CHKSUM = "file://LICENSE;md5=2d5025d4aa3495befef8f17206a5b0a1 \
2 file://avahi-common/address.h;endline=25;md5=b1d1d2cda1c07eb848ea7d6215712d9d \
3 file://avahi-core/dns.h;endline=23;md5=6fe82590b81aa0ddea5095b548e2fdcb \
4 file://avahi-daemon/main.c;endline=21;md5=9ee77368c5407af77caaef1b07285969 \
5 file://avahi-client/client.h;endline=23;md5=f4ac741a25c4f434039ba3e18c8674cf"
6
7require avahi.inc
8
9inherit python-dir pythonnative
10
11PACKAGECONFIG ??= "python"
12PACKAGECONFIG[python] = "--enable-python,--disable-python,python-native python"
13
14PR = "${INC_PR}.0"
15
16SRC_URI[md5sum] = "2f22745b8f7368ad5a0a3fddac343f2d"
17SRC_URI[sha256sum] = "8372719b24e2dd75de6f59bb1315e600db4fd092805bd1201ed0cb651a2dab48"
18
19DEPENDS += "avahi gtk+ libglade"
20
21AVAHI_GTK = "--enable-gtk --disable-gtk3"
22
23S = "${WORKDIR}/avahi-${PV}"
24
25PACKAGES = "${PN} ${PN}-utils ${PN}-dbg ${PN}-dev ${PN}-staticdev ${PN}-doc python-avahi avahi-discover avahi-discover-standalone"
26
27FILES_${PN} = "${libdir}/libavahi-ui*.so.*"
28FILES_${PN}-dbg += "${libdir}/.debug/libavah-ui*"
29FILES_${PN}-dev += "${libdir}/libavahi-ui${SOLIBSDEV}"
30FILES_${PN}-staticdev += "${libdir}/libavahi-ui.a"
31
32FILES_${PN}-utils = "${bindir}/b* ${datadir}/applications/b*"
33
34FILES_python-avahi = "${PYTHON_SITEPACKAGES_DIR}/avahi ${PYTHON_SITEPACKAGES_DIR}/avahi_discover"
35FILES_avahi-discover = "${bindir}/avahi-discover \
36 ${datadir}/applications/avahi-discover.desktop \
37 ${datadir}/avahi/interfaces/avahi-discover*"
38FILES_avahi-discover-standalone = "${bindir}/avahi-discover-standalone \
39 ${datadir}/avahi/interfaces/avahi-discover.glade"
40
41RDEPENDS_avahi-discover = "python-avahi python-pygtk"
42RDEPENDS_python-avahi = "python-core python-dbus"
43
44
45do_install_append () {
46 rm ${D}${sysconfdir} -rf
47 rm ${D}${base_libdir} -rf
48 rm ${D}${base_libdir} -rf
49 rm ${D}${bindir}/avahi-b*
50 rm ${D}${bindir}/avahi-p*
51 rm ${D}${bindir}/avahi-r*
52 rm ${D}${bindir}/avahi-s*
53 rm ${D}${includedir}/avahi-c* -rf
54 rm ${D}${includedir}/avahi-g* -rf
55 rm ${D}${libdir}/libavahi-c*
56 rm ${D}${libdir}/libavahi-g*
57 rm ${D}${libdir}/pkgconfig/avahi-c*
58 rm ${D}${libdir}/pkgconfig/avahi-g*
59 rm ${D}${sbindir} -rf
60 rm ${D}${datadir}/avahi/a*
61 rm ${D}${datadir}/avahi/s*
62 rm ${D}${datadir}/locale/ -rf
63 rm ${D}${datadir}/dbus* -rf
64 rm ${D}${mandir}/man1/a*
65 rm ${D}${mandir}/man5 -rf
66 rm ${D}${mandir}/man8 -rf
67 rmdir ${D}${localstatedir}
68}
69
diff --git a/meta/recipes-connectivity/avahi/avahi.inc b/meta/recipes-connectivity/avahi/avahi.inc
new file mode 100644
index 0000000000..6f894417fc
--- /dev/null
+++ b/meta/recipes-connectivity/avahi/avahi.inc
@@ -0,0 +1,152 @@
1SUMMARY = "Avahi IPv4LL network address configuration daemon"
2DESCRIPTION = 'Avahi is a fully LGPL framework for Multicast DNS Service Discovery. It \
3allows programs to publish and discover services and hosts running on a local network \
4with no specific configuration. This tool implements IPv4LL, "Dynamic Configuration of \
5IPv4 Link-Local Addresses" (IETF RFC3927), a protocol for automatic IP address \
6configuration from the link-local 169.254.0.0/16 range without the need for a central \
7server.'
8AUTHOR = "Lennart Poettering <lennart@poettering.net>"
9HOMEPAGE = "http://avahi.org"
10BUGTRACKER = "http://avahi.org/report"
11SECTION = "network"
12
13# major part is under LGPLv2.1+, but several .dtd, .xsl, initscripts and
14# python scripts are under GPLv2+
15LICENSE = "GPLv2+ & LGPLv2.1+"
16
17INC_PR = "r11"
18
19DEPENDS = "expat libcap libdaemon dbus glib-2.0"
20
21SRC_URI = "http://avahi.org/download/avahi-${PV}.tar.gz \
22 file://00avahi-autoipd \
23 file://99avahi-autoipd \
24 file://initscript.patch \
25 file://avahi_fix_install_issue.patch \
26 file://fix_for_automake_1.12.x.patch \
27 file://out-of-tree.patch \
28 file://0001-avahi-fix-avahi-status-command-error-prompt.patch \
29 file://reuseport-check.patch \
30 "
31
32USERADD_PACKAGES = "avahi-daemon avahi-autoipd"
33USERADD_PARAM_avahi-daemon = "--system --home /var/run/avahi-daemon \
34 --no-create-home --shell /bin/false \
35 --user-group avahi"
36
37USERADD_PARAM_avahi-autoipd = "--system --home /var/run/avahi-autoipd \
38 --no-create-home --shell /bin/false \
39 --user-group \
40 -c \"Avahi autoip daemon\" \
41 avahi-autoipd"
42
43inherit autotools pkgconfig update-rc.d gettext useradd
44
45EXTRA_OECONF = "--disable-introspection \
46 --with-avahi-priv-access-group=adm \
47 --disable-stack-protector \
48 --disable-gdbm \
49 --disable-mono \
50 --disable-monodoc \
51 --disable-qt3 \
52 --disable-qt4 \
53 --disable-python \
54 --disable-doxygen-doc \
55 ${EXTRA_OECONF_SYSVINIT} \
56 ${EXTRA_OECONF_SYSTEMD} \
57 ${AVAHI_GTK} \
58 "
59
60# The distro choice determines what init scripts are installed
61EXTRA_OECONF_SYSVINIT = "${@base_contains('DISTRO_FEATURES','sysvinit','--with-distro=debian','--with-distro=none',d)}"
62EXTRA_OECONF_SYSTEMD = "${@base_contains('DISTRO_FEATURES','systemd','--with-systemdsystemunitdir=${systemd_unitdir}/system/','--without-systemdsystemunitdir',d)}"
63
64AVAHI_GTK ?= "--disable-gtk --disable-gtk3"
65
66LDFLAGS_append_libc-uclibc = " -lintl"
67LDFLAGS_append_uclinux-uclibc = " -lintl"
68
69do_configure_prepend() {
70 sed 's:AM_CHECK_PYMOD:echo "no pymod" #AM_CHECK_PYMOD:g' -i ${S}/configure.ac
71}
72
73
74PACKAGES =+ "avahi-daemon libavahi-common libavahi-core libavahi-client avahi-dnsconfd libavahi-glib libavahi-ui avahi-autoipd avahi-utils"
75
76FILES_avahi-autoipd = "${sbindir}/avahi-autoipd \
77 ${sysconfdir}/avahi/avahi-autoipd.action \
78 ${sysconfdir}/dhcp/*/avahi-autoipd \
79 ${sysconfdir}/udhcpc.d/00avahi-autoipd \
80 ${sysconfdir}/udhcpc.d/99avahi-autoipd"
81FILES_libavahi-common = "${libdir}/libavahi-common.so.*"
82FILES_libavahi-core = "${libdir}/libavahi-core.so.*"
83FILES_avahi-daemon = "${sbindir}/avahi-daemon \
84 ${sysconfdir}/avahi/avahi-daemon.conf \
85 ${sysconfdir}/avahi/hosts \
86 ${sysconfdir}/avahi/services \
87 ${sysconfdir}/dbus-1 \
88 ${sysconfdir}/init.d/avahi-daemon \
89 ${datadir}/avahi/introspection/*.introspect \
90 ${datadir}/avahi/avahi-service.dtd \
91 ${datadir}/avahi/service-types \
92 ${datadir}/dbus-1/system-services"
93FILES_libavahi-client = "${libdir}/libavahi-client.so.*"
94FILES_libavahi-ui = "${libdir}/libavahi-ui.so.*"
95FILES_avahi-dnsconfd = "${sbindir}/avahi-dnsconfd \
96 ${sysconfdir}/avahi/avahi-dnsconfd.action \
97 ${sysconfdir}/init.d/avahi-dnsconfd"
98FILES_libavahi-glib = "${libdir}/libavahi-glib.so.*"
99FILES_libavahi-gobject = "${libdir}/libavahi-gobject.so.*"
100FILES_avahi-utils = "${bindir}/avahi-*"
101
102# uclibc has no nss
103RRECOMMENDS_avahi-daemon_append_libc-glibc = " libnss-mdns"
104RRECOMMENDS_${PN}_append_libc-glibc = " libnss-mdns"
105
106RRECOMMENDS_avahi-dev = "expat-dev libcap-dev libdaemon-dev dbus-dev glib-2.0-dev update-rc.d-dev"
107RRECOMMENDS_avahi-dev_append_libc-glibc = " gettext-dev"
108
109RRECOMMENDS_avahi-dev[nodeprrecs] = "1"
110
111CONFFILES_avahi-daemon = "${sysconfdir}/avahi/avahi-daemon.conf"
112
113INITSCRIPT_PACKAGES = "avahi-daemon avahi-dnsconfd"
114INITSCRIPT_NAME_avahi-daemon = "avahi-daemon"
115INITSCRIPT_PARAMS_avahi-daemon = "defaults 21 19"
116INITSCRIPT_NAME_avahi-dnsconfd = "avahi-dnsconfd"
117INITSCRIPT_PARAMS_avahi-dnsconfd = "defaults 22 19"
118
119do_install() {
120 autotools_do_install
121
122 # don't install /var/run when populating rootfs. Do it through volatile
123 # /var/run of current version is empty, so just remove it.
124 # if /var/run become non-empty in the future, need to install it via volatile
125 rm -rf ${D}/var/run
126 rm -rf ${D}${datadir}/dbus-1/interfaces
127 rmdir --ignore-fail-on-non-empty ${D}${datadir}/dbus-1
128 rm -rf ${D}${libdir}/avahi
129
130 install -d ${D}${sysconfdir}/udhcpc.d
131 install ${WORKDIR}/00avahi-autoipd ${D}${sysconfdir}/udhcpc.d
132 install ${WORKDIR}/99avahi-autoipd ${D}${sysconfdir}/udhcpc.d
133}
134
135# At the time the postinst runs, dbus might not be setup so only restart if running
136# Don't exit early, because update-rc.d needs to run subsequently.
137
138pkg_postinst_avahi-daemon () {
139if [ -z "$D" ]; then
140 killall -q -HUP dbus-daemon || true
141fi
142}
143
144pkg_postrm_avahi-daemon () {
145 deluser avahi || true
146 delgroup avahi || true
147}
148
149pkg_postrm_avahi-autoipd () {
150 deluser avahi-autoipd || true
151 delgroup avahi-autoipd || true
152}
diff --git a/meta/recipes-connectivity/avahi/avahi_0.6.31.bb b/meta/recipes-connectivity/avahi/avahi_0.6.31.bb
new file mode 100644
index 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/conf.patch b/meta/recipes-connectivity/bind/bind/conf.patch
new file mode 100644
index 0000000000..2785c6a22f
--- /dev/null
+++ b/meta/recipes-connectivity/bind/bind/conf.patch
@@ -0,0 +1,314 @@
1Upstream-Status: Inappropriate [configuration]
2
3the patch is imported from openembedded project
4
511/30/2010 - Qing He <qing.he@intel.com>
6
7diff -urN bind-9.3.1.orig/conf/db.0 bind-9.3.1/conf/db.0
8--- bind-9.3.1.orig/conf/db.0 1970-01-01 01:00:00.000000000 +0100
9+++ bind-9.3.1/conf/db.0 2005-07-10 22:14:00.000000000 +0200
10@@ -0,0 +1,12 @@
11+;
12+; BIND reverse data file for broadcast zone
13+;
14+$TTL 604800
15+@ IN SOA localhost. root.localhost. (
16+ 1 ; Serial
17+ 604800 ; Refresh
18+ 86400 ; Retry
19+ 2419200 ; Expire
20+ 604800 ) ; Negative Cache TTL
21+;
22+@ IN NS localhost.
23diff -urN bind-9.3.1.orig/conf/db.127 bind-9.3.1/conf/db.127
24--- bind-9.3.1.orig/conf/db.127 1970-01-01 01:00:00.000000000 +0100
25+++ bind-9.3.1/conf/db.127 2005-07-10 22:14:00.000000000 +0200
26@@ -0,0 +1,13 @@
27+;
28+; BIND reverse data file for local loopback interface
29+;
30+$TTL 604800
31+@ IN SOA localhost. root.localhost. (
32+ 1 ; Serial
33+ 604800 ; Refresh
34+ 86400 ; Retry
35+ 2419200 ; Expire
36+ 604800 ) ; Negative Cache TTL
37+;
38+@ IN NS localhost.
39+1.0.0 IN PTR localhost.
40diff -urN bind-9.3.1.orig/conf/db.empty bind-9.3.1/conf/db.empty
41--- bind-9.3.1.orig/conf/db.empty 1970-01-01 01:00:00.000000000 +0100
42+++ bind-9.3.1/conf/db.empty 2005-07-10 22:14:00.000000000 +0200
43@@ -0,0 +1,14 @@
44+; BIND reverse data file for empty rfc1918 zone
45+;
46+; DO NOT EDIT THIS FILE - it is used for multiple zones.
47+; Instead, copy it, edit named.conf, and use that copy.
48+;
49+$TTL 86400
50+@ IN SOA localhost. root.localhost. (
51+ 1 ; Serial
52+ 604800 ; Refresh
53+ 86400 ; Retry
54+ 2419200 ; Expire
55+ 86400 ) ; Negative Cache TTL
56+;
57+@ IN NS localhost.
58diff -urN bind-9.3.1.orig/conf/db.local bind-9.3.1/conf/db.local
59--- bind-9.3.1.orig/conf/db.local 1970-01-01 01:00:00.000000000 +0100
60+++ bind-9.3.1/conf/db.local 2005-07-10 22:14:00.000000000 +0200
61@@ -0,0 +1,13 @@
62+;
63+; BIND data file for local loopback interface
64+;
65+$TTL 604800
66+@ IN SOA localhost. root.localhost. (
67+ 1 ; Serial
68+ 604800 ; Refresh
69+ 86400 ; Retry
70+ 2419200 ; Expire
71+ 604800 ) ; Negative Cache TTL
72+;
73+@ IN NS localhost.
74+@ IN A 127.0.0.1
75diff -urN bind-9.3.1.orig/conf/db.root bind-9.3.1/conf/db.root
76--- bind-9.3.1.orig/conf/db.root 1970-01-01 01:00:00.000000000 +0100
77+++ bind-9.3.1/conf/db.root 2005-07-10 22:14:00.000000000 +0200
78@@ -0,0 +1,45 @@
79+
80+; <<>> DiG 9.2.3 <<>> ns . @a.root-servers.net.
81+;; global options: printcmd
82+;; Got answer:
83+;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 18944
84+;; flags: qr aa rd; QUERY: 1, ANSWER: 13, AUTHORITY: 0, ADDITIONAL: 13
85+
86+;; QUESTION SECTION:
87+;. IN NS
88+
89+;; ANSWER SECTION:
90+. 518400 IN NS A.ROOT-SERVERS.NET.
91+. 518400 IN NS B.ROOT-SERVERS.NET.
92+. 518400 IN NS C.ROOT-SERVERS.NET.
93+. 518400 IN NS D.ROOT-SERVERS.NET.
94+. 518400 IN NS E.ROOT-SERVERS.NET.
95+. 518400 IN NS F.ROOT-SERVERS.NET.
96+. 518400 IN NS G.ROOT-SERVERS.NET.
97+. 518400 IN NS H.ROOT-SERVERS.NET.
98+. 518400 IN NS I.ROOT-SERVERS.NET.
99+. 518400 IN NS J.ROOT-SERVERS.NET.
100+. 518400 IN NS K.ROOT-SERVERS.NET.
101+. 518400 IN NS L.ROOT-SERVERS.NET.
102+. 518400 IN NS M.ROOT-SERVERS.NET.
103+
104+;; ADDITIONAL SECTION:
105+A.ROOT-SERVERS.NET. 3600000 IN A 198.41.0.4
106+B.ROOT-SERVERS.NET. 3600000 IN A 192.228.79.201
107+C.ROOT-SERVERS.NET. 3600000 IN A 192.33.4.12
108+D.ROOT-SERVERS.NET. 3600000 IN A 128.8.10.90
109+E.ROOT-SERVERS.NET. 3600000 IN A 192.203.230.10
110+F.ROOT-SERVERS.NET. 3600000 IN A 192.5.5.241
111+G.ROOT-SERVERS.NET. 3600000 IN A 192.112.36.4
112+H.ROOT-SERVERS.NET. 3600000 IN A 128.63.2.53
113+I.ROOT-SERVERS.NET. 3600000 IN A 192.36.148.17
114+J.ROOT-SERVERS.NET. 3600000 IN A 192.58.128.30
115+K.ROOT-SERVERS.NET. 3600000 IN A 193.0.14.129
116+L.ROOT-SERVERS.NET. 3600000 IN A 198.32.64.12
117+M.ROOT-SERVERS.NET. 3600000 IN A 202.12.27.33
118+
119+;; Query time: 81 msec
120+;; SERVER: 198.41.0.4#53(a.root-servers.net.)
121+;; WHEN: Sun Feb 1 11:27:14 2004
122+;; MSG SIZE rcvd: 436
123+
124diff -urN bind-9.3.1.orig/conf/named.conf bind-9.3.1/conf/named.conf
125--- bind-9.3.1.orig/conf/named.conf 1970-01-01 01:00:00.000000000 +0100
126+++ bind-9.3.1/conf/named.conf 2005-07-10 22:33:46.000000000 +0200
127@@ -0,0 +1,49 @@
128+// This is the primary configuration file for the BIND DNS server named.
129+//
130+// If you are just adding zones, please do that in /etc/bind/named.conf.local
131+
132+include "/etc/bind/named.conf.options";
133+
134+// prime the server with knowledge of the root servers
135+zone "." {
136+ type hint;
137+ file "/etc/bind/db.root";
138+};
139+
140+// be authoritative for the localhost forward and reverse zones, and for
141+// broadcast zones as per RFC 1912
142+
143+zone "localhost" {
144+ type master;
145+ file "/etc/bind/db.local";
146+};
147+
148+zone "127.in-addr.arpa" {
149+ type master;
150+ file "/etc/bind/db.127";
151+};
152+
153+zone "0.in-addr.arpa" {
154+ type master;
155+ file "/etc/bind/db.0";
156+};
157+
158+zone "255.in-addr.arpa" {
159+ type master;
160+ file "/etc/bind/db.255";
161+};
162+
163+// zone "com" { type delegation-only; };
164+// zone "net" { type delegation-only; };
165+
166+// From the release notes:
167+// Because many of our users are uncomfortable receiving undelegated answers
168+// from root or top level domains, other than a few for whom that behaviour
169+// has been trusted and expected for quite some length of time, we have now
170+// introduced the "root-delegations-only" feature which applies delegation-only
171+// logic to all top level domains, and to the root domain. An exception list
172+// should be specified, including "MUSEUM" and "DE", and any other top level
173+// domains from whom undelegated responses are expected and trusted.
174+// root-delegation-only exclude { "DE"; "MUSEUM"; };
175+
176+include "/etc/bind/named.conf.local";
177diff -urN bind-9.3.1.orig/conf/named.conf.local bind-9.3.1/conf/named.conf.local
178--- bind-9.3.1.orig/conf/named.conf.local 1970-01-01 01:00:00.000000000 +0100
179+++ bind-9.3.1/conf/named.conf.local 2005-07-10 22:14:06.000000000 +0200
180@@ -0,0 +1,8 @@
181+//
182+// Do any local configuration here
183+//
184+
185+// Consider adding the 1918 zones here, if they are not used in your
186+// organization
187+//include "/etc/bind/zones.rfc1918";
188+
189diff -urN bind-9.3.1.orig/conf/named.conf.options bind-9.3.1/conf/named.conf.options
190--- bind-9.3.1.orig/conf/named.conf.options 1970-01-01 01:00:00.000000000 +0100
191+++ bind-9.3.1/conf/named.conf.options 2005-07-10 22:14:06.000000000 +0200
192@@ -0,0 +1,24 @@
193+options {
194+ directory "/var/cache/bind";
195+
196+ // If there is a firewall between you and nameservers you want
197+ // to talk to, you might need to uncomment the query-source
198+ // directive below. Previous versions of BIND always asked
199+ // questions using port 53, but BIND 8.1 and later use an unprivileged
200+ // port by default.
201+
202+ // query-source address * port 53;
203+
204+ // If your ISP provided one or more IP addresses for stable
205+ // nameservers, you probably want to use them as forwarders.
206+ // Uncomment the following block, and insert the addresses replacing
207+ // the all-0's placeholder.
208+
209+ // forwarders {
210+ // 0.0.0.0;
211+ // };
212+
213+ auth-nxdomain no; # conform to RFC1035
214+
215+};
216+
217diff -urN bind-9.3.1.orig/conf/zones.rfc1918 bind-9.3.1/conf/zones.rfc1918
218--- bind-9.3.1.orig/conf/zones.rfc1918 1970-01-01 01:00:00.000000000 +0100
219+++ bind-9.3.1/conf/zones.rfc1918 2005-07-10 22:14:10.000000000 +0200
220@@ -0,0 +1,20 @@
221+zone "10.in-addr.arpa" { type master; file "/etc/bind/db.empty"; };
222+
223+zone "16.172.in-addr.arpa" { type master; file "/etc/bind/db.empty"; };
224+zone "17.172.in-addr.arpa" { type master; file "/etc/bind/db.empty"; };
225+zone "18.172.in-addr.arpa" { type master; file "/etc/bind/db.empty"; };
226+zone "19.172.in-addr.arpa" { type master; file "/etc/bind/db.empty"; };
227+zone "20.172.in-addr.arpa" { type master; file "/etc/bind/db.empty"; };
228+zone "21.172.in-addr.arpa" { type master; file "/etc/bind/db.empty"; };
229+zone "22.172.in-addr.arpa" { type master; file "/etc/bind/db.empty"; };
230+zone "23.172.in-addr.arpa" { type master; file "/etc/bind/db.empty"; };
231+zone "24.172.in-addr.arpa" { type master; file "/etc/bind/db.empty"; };
232+zone "25.172.in-addr.arpa" { type master; file "/etc/bind/db.empty"; };
233+zone "26.172.in-addr.arpa" { type master; file "/etc/bind/db.empty"; };
234+zone "27.172.in-addr.arpa" { type master; file "/etc/bind/db.empty"; };
235+zone "28.172.in-addr.arpa" { type master; file "/etc/bind/db.empty"; };
236+zone "29.172.in-addr.arpa" { type master; file "/etc/bind/db.empty"; };
237+zone "30.172.in-addr.arpa" { type master; file "/etc/bind/db.empty"; };
238+zone "31.172.in-addr.arpa" { type master; file "/etc/bind/db.empty"; };
239+
240+zone "168.192.in-addr.arpa" { type master; file "/etc/bind/db.empty"; };
241diff -urN bind-9.3.1.orig/init.d bind-9.3.1/init.d
242--- bind-9.3.1.orig/init.d 1970-01-01 01:00:00.000000000 +0100
243+++ bind-9.3.1/init.d 2005-07-10 23:09:58.000000000 +0200
244@@ -0,0 +1,70 @@
245+#!/bin/sh
246+
247+PATH=/sbin:/bin:/usr/sbin:/usr/bin
248+
249+# for a chrooted server: "-u bind -t /var/lib/named"
250+# Don't modify this line, change or create /etc/default/bind9.
251+OPTIONS=""
252+
253+test -f /etc/default/bind9 && . /etc/default/bind9
254+
255+test -x /usr/sbin/rndc || exit 0
256+
257+case "$1" in
258+ start)
259+ echo -n "Starting domain name service: named"
260+
261+ modprobe capability >/dev/null 2>&1 || true
262+ if [ ! -f /etc/bind/rndc.key ]; then
263+ /usr/sbin/rndc-confgen -a -b 512 -r /dev/urandom
264+ chown 0640 /etc/bind/rndc.key
265+ fi
266+ if [ -f /var/run/named/named.pid ]; then
267+ ps `cat /var/run/named/named.pid` > /dev/null && exit 1
268+ fi
269+
270+ # dirs under /var/run can go away on reboots.
271+ mkdir -p /var/run/named
272+ mkdir -p /var/cache/bind
273+ chmod 775 /var/run/named
274+ chown root:bind /var/run/named >/dev/null 2>&1 || true
275+
276+ if [ ! -x /usr/sbin/named ]; then
277+ echo "named binary missing - not starting"
278+ exit 1
279+ fi
280+ if start-stop-daemon --start --quiet --exec /usr/sbin/named \
281+ --pidfile /var/run/named/named.pid -- $OPTIONS; then
282+ if [ -x /sbin/resolvconf ] ; then
283+ echo "nameserver 127.0.0.1" | /sbin/resolvconf -a lo
284+ fi
285+ fi
286+ echo "."
287+ ;;
288+
289+ stop)
290+ echo -n "Stopping domain name service: named"
291+ if [ -x /sbin/resolvconf ]; then
292+ /sbin/resolvconf -d lo
293+ fi
294+ /usr/sbin/rndc stop >/dev/null 2>&1
295+ echo "."
296+ ;;
297+
298+ reload)
299+ /usr/sbin/rndc reload
300+ ;;
301+
302+ restart|force-reload)
303+ $0 stop
304+ sleep 2
305+ $0 start
306+ ;;
307+
308+ *)
309+ echo "Usage: /etc/init.d/bind {start|stop|reload|restart|force-reload}" >&2
310+ exit 1
311+ ;;
312+esac
313+
314+exit 0
diff --git a/meta/recipes-connectivity/bind/bind/cross-build-fix.patch b/meta/recipes-connectivity/bind/bind/cross-build-fix.patch
new file mode 100644
index 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..89207404b5
--- /dev/null
+++ b/meta/recipes-connectivity/bind/bind/dont-test-on-host.patch
@@ -0,0 +1,13 @@
1Index: bind-9.9.5/bin/Makefile.in
2===================================================================
3--- bind-9.9.5.orig/bin/Makefile.in
4+++ bind-9.9.5/bin/Makefile.in
5@@ -19,7 +19,7 @@ srcdir = @srcdir@
6 VPATH = @srcdir@
7 top_srcdir = @top_srcdir@
8
9-SUBDIRS = named rndc dig dnssec tools tests nsupdate \
10+SUBDIRS = named rndc dig dnssec tools nsupdate \
11 check confgen @PYTHON_TOOLS@ @PKCS11_TOOLS@
12 TARGETS =
13
diff --git a/meta/recipes-connectivity/bind/bind/make-etc-initd-bind-stop-work.patch b/meta/recipes-connectivity/bind/bind/make-etc-initd-bind-stop-work.patch
new file mode 100644
index 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_9.9.5.bb b/meta/recipes-connectivity/bind/bind_9.9.5.bb
new file mode 100644
index 0000000000..604deb6236
--- /dev/null
+++ b/meta/recipes-connectivity/bind/bind_9.9.5.bb
@@ -0,0 +1,65 @@
1SUMMARY = "ISC Internet Domain Name Server"
2HOMEPAGE = "http://www.isc.org/sw/bind/"
3SECTION = "console/network"
4
5LICENSE = "ISC & BSD"
6LIC_FILES_CHKSUM = "file://COPYRIGHT;md5=a3df5f651469919a0e6cb42f84fb6ff1"
7
8DEPENDS = "openssl libcap"
9
10SRC_URI = "ftp://ftp.isc.org/isc/bind9/${PV}/${BPN}-${PV}.tar.gz \
11 file://conf.patch \
12 file://cross-build-fix.patch \
13 file://make-etc-initd-bind-stop-work.patch \
14 file://mips1-not-support-opcode.diff \
15 file://dont-test-on-host.patch \
16 "
17
18SRC_URI[md5sum] = "e676c65cad5234617ee22f48e328c24e"
19SRC_URI[sha256sum] = "d4b64c1dde442145a316679acff2df4008aa117ae52dfa3a6bc69efecc7840d1"
20
21# --enable-exportlib is necessary for building dhcp
22ENABLE_IPV6 = "--enable-ipv6=${@base_contains('DISTRO_FEATURES', 'ipv6', 'yes', 'no', d)}"
23EXTRA_OECONF = " ${ENABLE_IPV6} --with-randomdev=/dev/random --disable-threads \
24 --disable-devpoll --disable-epoll --with-gost=no \
25 --with-gssapi=no --with-ecdsa=yes \
26 --sysconfdir=${sysconfdir}/bind \
27 --with-openssl=${STAGING_LIBDIR}/.. --with-libxml2=${STAGING_LIBDIR}/.. \
28 --enable-exportlib --with-export-includedir=${includedir} --with-export-libdir=${libdir} \
29 "
30inherit autotools-brokensep update-rc.d
31
32INITSCRIPT_NAME = "bind"
33INITSCRIPT_PARAMS = "defaults"
34
35PARALLEL_MAKE = ""
36
37RDEPENDS_${PN} = "python-core"
38
39PACKAGES_prepend = " ${PN}-utils "
40FILES_${PN}-utils = "${bindir}/host ${bindir}/dig"
41FILES_${PN}-dev += "${bindir}/isc-config.h"
42
43do_install_append() {
44 rm "${D}${bindir}/nslookup"
45 rm "${D}${mandir}/man1/nslookup.1"
46 rmdir "${D}${localstatedir}/run"
47 rmdir --ignore-fail-on-non-empty "${D}${localstatedir}"
48 install -d "${D}${sysconfdir}/bind"
49 install -d "${D}${sysconfdir}/init.d"
50 install -m 644 ${S}/conf/* "${D}${sysconfdir}/bind/"
51 install -m 755 "${S}/init.d" "${D}${sysconfdir}/init.d/bind"
52 sed -i -e '1s,#!.*python,#! /usr/bin/env python,' ${D}${sbindir}/dnssec-coverage ${D}${sbindir}/dnssec-checkds
53}
54
55CONFFILES_${PN} = " \
56 ${sysconfdir}/bind/named.conf \
57 ${sysconfdir}/bind/named.conf.local \
58 ${sysconfdir}/bind/named.conf.options \
59 ${sysconfdir}/bind/db.0 \
60 ${sysconfdir}/bind/db.127 \
61 ${sysconfdir}/bind/db.empty \
62 ${sysconfdir}/bind/db.local \
63 ${sysconfdir}/bind/db.root \
64 "
65
diff --git a/meta/recipes-connectivity/bluez/bluez-hcidump-2.5/obsolete_automake_macros.patch b/meta/recipes-connectivity/bluez/bluez-hcidump-2.5/obsolete_automake_macros.patch
new file mode 100644
index 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..5c1f4760a8
--- /dev/null
+++ b/meta/recipes-connectivity/bluez/bluez-hcidump_2.5.bb
@@ -0,0 +1,20 @@
1SUMMARY = "Linux Bluetooth Stack HCI Debugger Tool"
2DESCRIPTION = "The hcidump tool reads raw HCI data coming from and going to a Bluetooth device \
3and displays the commands, events and data in a human-readable form."
4
5SECTION = "console"
6DEPENDS = "bluez4"
7LICENSE = "GPLv2+"
8LIC_FILES_CHKSUM = "file://COPYING;md5=eb723b61539feef013de476e68b5c50a \
9 file://src/hcidump.c;beginline=1;endline=23;md5=3bee3a162dff43a5be7470710b99fbcf"
10PR = "r1"
11
12SRC_URI = "http://www.kernel.org/pub/linux/bluetooth/bluez-hcidump-${PV}.tar.gz \
13 file://obsolete_automake_macros.patch \
14"
15
16SRC_URI[md5sum] = "2eab54bbd2b59a2ed4274ebb9390cf18"
17SRC_URI[sha256sum] = "9b7c52b375081883738cf049ecabc103b97d094b19c6544fb241267905d88881"
18S = "${WORKDIR}/bluez-hcidump-${PV}"
19
20inherit autotools
diff --git a/meta/recipes-connectivity/bluez/bluez4-4.101/bluetooth.conf b/meta/recipes-connectivity/bluez/bluez4-4.101/bluetooth.conf
new file mode 100644
index 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..0827005074
--- /dev/null
+++ b/meta/recipes-connectivity/bluez/bluez4.inc
@@ -0,0 +1,46 @@
1SUMMARY = "Linux Bluetooth Stack Userland V4"
2DESCRIPTION = "Linux Bluetooth stack V4 userland components. These include a system configurations, daemons, tools and system libraries."
3HOMEPAGE = "http://www.bluez.org"
4SECTION = "libs"
5LICENSE = "GPLv2+ & LGPLv2.1+"
6LIC_FILES_CHKSUM = "file://COPYING;md5=12f884d2ae1ff87c09e5b7ccc2c4ca7e \
7 file://COPYING.LIB;md5=fb504b67c50331fc78734fed90fb0e09 \
8 file://src/main.c;beginline=1;endline=24;md5=9bc54b93cd7e17bf03f52513f39f926e \
9 file://sbc/sbc.c;beginline=1;endline=25;md5=1a40781ed30d50d8639323a184aeb191"
10DEPENDS = "udev libusb dbus-glib glib-2.0 libcheck readline libsndfile1"
11RDEPENDS_${PN}-dev = "bluez-hcidump"
12
13PACKAGECONFIG ??= "\
14 ${@base_contains('DISTRO_FEATURES', 'alsa', 'alsa', '', d)}\
15 ${@base_contains('DISTRO_FEATURES', 'pie', 'pie', '', d)}\
16"
17PACKAGECONFIG[alsa] = "--enable-alsa,--disable-alsa,alsa-lib"
18PACKAGECONFIG[pie] = "--enable-pie,--disable-pie,"
19
20ASNEEDED = ""
21
22SRC_URI = "\
23 ${KERNELORG_MIRROR}/linux/bluetooth/bluez-${PV}.tar.gz \
24"
25S = "${WORKDIR}/bluez-${PV}"
26
27inherit autotools-brokensep
28
29EXTRA_OECONF = "\
30 --disable-gstreamer \
31 --enable-usb \
32 --enable-tools \
33 --enable-bccmd \
34 --enable-hid2hci \
35 --enable-dfutool \
36 --disable-hidd \
37 --disable-pand \
38 --disable-dund \
39 --disable-cups \
40 --enable-test \
41 --enable-datafiles \
42 --with-udevdir=`pkg-config --variable=udevdir udev` \
43 --with-udevrulesdir=`pkg-config --variable=udevdir udev`/rules.d \
44"
45
46EXCLUDE_FROM_WORLD = "1"
diff --git a/meta/recipes-connectivity/bluez/bluez4_4.101.bb b/meta/recipes-connectivity/bluez/bluez4_4.101.bb
new file mode 100644
index 0000000000..ccd230df8a
--- /dev/null
+++ b/meta/recipes-connectivity/bluez/bluez4_4.101.bb
@@ -0,0 +1,46 @@
1require bluez4.inc
2
3PR = "r10"
4
5SRC_URI += "file://bluetooth.conf \
6 file://sbc_mmx.patch \
7 file://fix-udev-paths.patch \
8 file://obsolete_automake_macros.patch \
9 file://network-fix-network-Connect-method-parameters.patch \
10 file://install-test-script.patch \
11 file://use-legacy-pygobject-instead-ofgobject-introspection.patch \
12"
13
14SRC_URI[md5sum] = "fb42cb7038c380eb0e2fa208987c96ad"
15SRC_URI[sha256sum] = "59738410ade9f0e61a13c0f77d9aaffaafe49ba9418107e4ad75fe52846f7487"
16
17RCONFLICTS_${PN} = "bluez5"
18
19do_install_append() {
20 install -m 0644 ${S}/audio/audio.conf ${D}/${sysconfdir}/bluetooth/
21 install -m 0644 ${S}/network/network.conf ${D}/${sysconfdir}/bluetooth/
22 install -m 0644 ${S}/input/input.conf ${D}/${sysconfdir}/bluetooth/
23 # at_console doesn't really work with the current state of OE, so punch some more holes so people can actually use BT
24 install -m 0644 ${WORKDIR}/bluetooth.conf ${D}/${sysconfdir}/dbus-1/system.d/
25}
26
27RDEPENDS_${PN}-dev = "bluez-hcidump"
28RDEPENDS_${PN}-testtools += "python python-dbus python-pygobject"
29
30ALLOW_EMPTY_libasound-module-bluez = "1"
31PACKAGES =+ "libasound-module-bluez ${PN}-testtools"
32
33FILES_libasound-module-bluez = "${libdir}/alsa-lib/lib*.so ${datadir}/alsa"
34FILES_${PN} += "${libdir}/bluetooth/plugins ${libdir}/bluetooth/plugins/*.so ${base_libdir}/udev/ ${nonarch_base_libdir}/udev/ ${systemd_unitdir}/ ${datadir}/dbus-1"
35FILES_${PN}-dev += "\
36 ${libdir}/bluetooth/plugins/*.la \
37 ${libdir}/alsa-lib/*.la \
38"
39
40FILES_${PN}-testtools = "${libdir}/bluez4/test/*"
41
42FILES_${PN}-dbg += "\
43 ${libdir}/bluetooth/plugins/.debug \
44 ${libdir}/*/.debug \
45 */udev/.debug \
46 "
diff --git a/meta/recipes-connectivity/bluez/gst-plugin-bluetooth_4.101.bb b/meta/recipes-connectivity/bluez/gst-plugin-bluetooth_4.101.bb
new file mode 100644
index 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..2b832efa2c
--- /dev/null
+++ b/meta/recipes-connectivity/bluez5/bluez5.inc
@@ -0,0 +1,77 @@
1SUMMARY = "Linux Bluetooth Stack Userland V5"
2DESCRIPTION = "Linux Bluetooth stack V5 userland components. These include a system configurations, daemons, tools and system libraries."
3HOMEPAGE = "http://www.bluez.org"
4SECTION = "libs"
5LICENSE = "GPLv2+ & LGPLv2.1+"
6LIC_FILES_CHKSUM = "file://COPYING;md5=12f884d2ae1ff87c09e5b7ccc2c4ca7e \
7 file://COPYING.LIB;md5=fb504b67c50331fc78734fed90fb0e09 \
8 file://src/main.c;beginline=1;endline=24;md5=9bc54b93cd7e17bf03f52513f39f926e"
9DEPENDS = "udev libusb dbus-glib glib-2.0 libcheck readline"
10
11RCONFLICTS_${PN} = "bluez4"
12
13PACKAGECONFIG ??= "${@base_contains('DISTRO_FEATURES', 'alsa', 'alsa', '', d)} obex-profiles"
14PACKAGECONFIG[obex-profiles] = "--enable-obex,--disable-obex,libical"
15
16SRC_URI = "\
17 ${KERNELORG_MIRROR}/linux/bluetooth/bluez-${PV}.tar.xz \
18 file://bluetooth.conf \
19"
20S = "${WORKDIR}/bluez-${PV}"
21
22inherit autotools-brokensep pkgconfig systemd
23
24EXTRA_OECONF = "\
25 --enable-tools \
26 --disable-cups \
27 --enable-test \
28 --enable-datafiles \
29 ${@base_contains('DISTRO_FEATURES', 'systemd', '--with-systemdunitdir=${systemd_unitdir}/system/', '--disable-systemd', d)} \
30 --enable-library \
31"
32
33do_install_append() {
34 install -d ${D}${sysconfdir}/bluetooth/
35 if [ -f ${S}/profiles/audio/audio.conf ]; then
36 install -m 0644 ${S}/profiles/audio/audio.conf ${D}/${sysconfdir}/bluetooth/
37 fi
38 if [ -f ${S}/profiles/network/network.conf ]; then
39 install -m 0644 ${S}/profiles/network/network.conf ${D}/${sysconfdir}/bluetooth/
40 fi
41 if [ -f ${S}/profiles/input/input.conf ]; then
42 install -m 0644 ${S}/profiles/input/input.conf ${D}/${sysconfdir}/bluetooth/
43 fi
44 # at_console doesn't really work with the current state of OE, so punch some more holes so people can actually use BT
45 install -m 0644 ${WORKDIR}/bluetooth.conf ${D}/${sysconfdir}/dbus-1/system.d/
46}
47
48ALLOW_EMPTY_libasound-module-bluez = "1"
49PACKAGES =+ "libasound-module-bluez ${PN}-testtools ${PN}-obex"
50
51FILES_libasound-module-bluez = "${libdir}/alsa-lib/lib*.so ${datadir}/alsa"
52FILES_${PN} += "${libdir}/bluetooth/plugins ${libdir}/bluetooth/plugins/*.so ${base_libdir}/udev/ ${nonarch_base_libdir}/udev/ ${systemd_unitdir}/ ${datadir}/dbus-1"
53FILES_${PN}-dev += "\
54 ${libdir}/bluetooth/plugins/*.la \
55 ${libdir}/alsa-lib/*.la \
56"
57
58FILES_${PN}-obex = "${libdir}/bluez5/bluetooth/obexd \
59 ${libdir}/systemd/user/obex.service \
60 ${datadir}/dbus-1/services/org.bluez.obex.service \
61 "
62SYSTEMD_SERVICE_${PN}-obex = "obex.service"
63
64FILES_${PN}-testtools = "${libdir}/bluez/test/*"
65
66FILES_${PN}-dbg += "\
67 ${libdir}/${BPN}/bluetooth/.debug \
68 ${libdir}/bluetooth/plugins/.debug \
69 ${libdir}/*/.debug \
70 */udev/.debug \
71 "
72
73RDEPENDS_${PN}-testtools += "python python-dbus python-pygobject"
74
75SYSTEMD_SERVICE_${PN} = "bluetooth.service"
76
77EXCLUDE_FROM_WORLD = "1"
diff --git a/meta/recipes-connectivity/bluez5/bluez5/bluetooth.conf b/meta/recipes-connectivity/bluez5/bluez5/bluetooth.conf
new file mode 100644
index 0000000000..ca5e9e4f2f
--- /dev/null
+++ b/meta/recipes-connectivity/bluez5/bluez5/bluetooth.conf
@@ -0,0 +1,16 @@
1<!-- This configuration file specifies the required security policies
2 for Bluetooth core daemon to work. -->
3
4<!DOCTYPE busconfig PUBLIC "-//freedesktop//DTD D-BUS Bus Configuration 1.0//EN"
5 "http://www.freedesktop.org/standards/dbus/1.0/busconfig.dtd">
6<busconfig>
7
8 <!-- ../system.conf have denied everything, so we just punch some holes -->
9
10 <policy context="default">
11 <allow own="org.bluez"/>
12 <allow send_destination="org.bluez"/>
13 <allow send_interface="org.bluez.Agent"/>
14 </policy>
15
16</busconfig>
diff --git a/meta/recipes-connectivity/bluez5/bluez5_5.15.bb b/meta/recipes-connectivity/bluez5/bluez5_5.15.bb
new file mode 100644
index 0000000000..85735f0773
--- /dev/null
+++ b/meta/recipes-connectivity/bluez5/bluez5_5.15.bb
@@ -0,0 +1,4 @@
1require bluez5.inc
2SRC_URI[md5sum] = "92e29e51b361aab78cca30ef0cf8812e"
3SRC_URI[sha256sum] = "487bd75697e565793bf5bc4fbd5fa6a602788313b0c694f7542b81689fc0aa87"
4
diff --git a/meta/recipes-connectivity/connman/connman-conf.bb b/meta/recipes-connectivity/connman/connman-conf.bb
new file mode 100644
index 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/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..f121ea395e
--- /dev/null
+++ b/meta/recipes-connectivity/connman/connman-gnome_0.7.bb
@@ -0,0 +1,27 @@
1SUMMARY = "GTK+ frontend for the ConnMan network connection manager"
2HOMEPAGE = "http://connman.net/"
3SECTION = "libs/network"
4LICENSE = "GPLv2 & LGPLv2.1"
5LIC_FILES_CHKSUM = "file://COPYING;md5=eb723b61539feef013de476e68b5c50a \
6 file://properties/main.c;beginline=1;endline=20;md5=50c77c81871308b033ab7a1504626afb \
7 file://common/connman-dbus.c;beginline=1;endline=20;md5=de6b485c0e717a0236402d220187717a"
8
9DEPENDS = "gtk+ dbus-glib intltool-native"
10
11# 0.7 tag
12SRCREV = "cf3c325b23dae843c5499a113591cfbc98acb143"
13SRC_URI = "git://github.com/connectivity/connman-gnome.git \
14 file://0001-Removed-icon-from-connman-gnome-about-applet.patch \
15 file://null_check_for_ipv4_config.patch \
16 file://images/* \
17 "
18
19S = "${WORKDIR}/git"
20
21inherit autotools-brokensep gtk-icon-cache
22
23RDEPENDS_${PN} = "connman"
24
25do_install_append() {
26 install -m 0644 ${WORKDIR}/images/* ${D}/usr/share/icons/hicolor/22x22/apps/
27}
diff --git a/meta/recipes-connectivity/connman/connman.inc b/meta/recipes-connectivity/connman/connman.inc
new file mode 100644
index 0000000000..b3147c9dbc
--- /dev/null
+++ b/meta/recipes-connectivity/connman/connman.inc
@@ -0,0 +1,215 @@
1SUMMARY = "A daemon for managing internet connections within embedded devices"
2DESCRIPTION = "The ConnMan project provides a daemon for managing \
3internet connections within embedded devices running the Linux \
4operating system. The Connection Manager is designed to be slim and \
5to use as few resources as possible, so it can be easily integrated. \
6It is a fully modular system that can be extended, through plug-ins, \
7to support all kinds of wired or wireless technologies. Also, \
8configuration methods, like DHCP and domain name resolving, are \
9implemented using plug-ins."
10HOMEPAGE = "http://connman.net/"
11BUGTRACKER = "https://01.org/jira/browse/CM"
12LICENSE = "GPLv2"
13LIC_FILES_CHKSUM = "file://COPYING;md5=12f884d2ae1ff87c09e5b7ccc2c4ca7e \
14 file://src/main.c;beginline=1;endline=20;md5=d6a1ac98a6791c5294e8a7f176ecd66d"
15
16DEPENDS = "dbus glib-2.0 ppp iptables"
17
18INC_PR = "r20"
19
20EXTRA_OECONF += "\
21 ac_cv_path_WPASUPPLICANT=${sbindir}/wpa_supplicant \
22 ac_cv_path_PPPD=${sbindir}/pppd \
23 --enable-debug \
24 --enable-loopback \
25 --enable-ethernet \
26 --enable-tools \
27 --enable-test \
28 --disable-polkit \
29 --enable-client \
30 ${@base_contains('DISTRO_FEATURES', 'systemd', '--with-systemdunitdir=${systemd_unitdir}/system/', '--with-systemdunitdir=', d)} \
31"
32
33PACKAGECONFIG ??= "wispr \
34 ${@base_contains('DISTRO_FEATURES', 'wifi','wifi', '', d)} \
35 ${@base_contains('DISTRO_FEATURES', 'bluetooth','bluetooth', '', d)} \
36 ${@base_contains('DISTRO_FEATURES', '3g','3g', '', d)} \
37"
38
39# If you want ConnMan to support VPN, add following statement into
40# local.conf or distro config
41# PACKAGECONFIG_append_pn-connman = " openvpn vpnc l2tp pptp"
42
43PACKAGECONFIG[wifi] = "--enable-wifi, --disable-wifi, wpa-supplicant"
44PACKAGECONFIG[bluetooth] = "--enable-bluetooth, --disable-bluetooth, bluez4"
45PACKAGECONFIG[3g] = "--enable-ofono, --disable-ofono, ofono"
46PACKAGECONFIG[tist] = "--enable-tist,--disable-tist,"
47PACKAGECONFIG[openvpn] = "--enable-openvpn --with-openvpn=${sbindir}/openvpn,--disable-openvpn,,openvpn"
48PACKAGECONFIG[vpnc] = "--enable-vpnc --with-vpnc=${sbindir}/vpnc,--disable-vpnc,,vpnc"
49PACKAGECONFIG[l2tp] = "--enable-l2tp --with-l2tp=${sbindir}/xl2tpd,--disable-l2tp,,xl2tpd"
50PACKAGECONFIG[pptp] = "--enable-pptp --with-pptp=${sbindir}/pptp,--disable-pptp,,pptp-linux"
51# WISPr support for logging into hotspots, requires TLS
52PACKAGECONFIG[wispr] = "--enable-wispr,--disable-wispr,gnutls,"
53
54INITSCRIPT_NAME = "connman"
55INITSCRIPT_PARAMS = "start 05 5 2 3 . stop 22 0 1 6 ."
56
57python __anonymous () {
58 systemd_packages = "${PN}"
59 pkgconfig = d.getVar('PACKAGECONFIG', True)
60 if ('openvpn' or 'vpnc' or 'l2tp' or 'pptp') in pkgconfig.split():
61 systemd_packages += " ${PN}-vpn"
62 d.setVar('SYSTEMD_PACKAGES', systemd_packages)
63}
64
65SYSTEMD_SERVICE_${PN} = "connman.service"
66SYSTEMD_SERVICE_${PN}-vpn = "connman-vpn.service"
67SYSTEMD_WIRED_SETUP = "ExecStartPre=-${libdir}/connman/wired-setup"
68
69inherit autotools-brokensep pkgconfig systemd update-rc.d
70
71do_configure_append () {
72 sed -i "s#ExecStart=#${SYSTEMD_WIRED_SETUP}\nExecStart=#" ${S}/src/connman.service
73}
74
75# This allows *everyone* to access ConnMan over DBus, without any access
76# control. Really the at_console flag should work, which would mean that
77# both this and the xuser patch can be dropped.
78do_compile_append() {
79 sed -i -e s:deny:allow:g src/connman-dbus.conf
80 sed -i -e s:deny:allow:g vpn/vpn-dbus.conf
81}
82
83do_install_append() {
84 if ${@base_contains('DISTRO_FEATURES','sysvinit','true','false',d)}; then
85 install -d ${D}${sysconfdir}/init.d
86 install -m 0755 ${WORKDIR}/connman ${D}${sysconfdir}/init.d/connman
87 sed -i s%@LIBDIR@%${libdir}% ${D}${sysconfdir}/init.d/connman
88 fi
89
90 install -d ${D}${bindir}
91 install -m 0755 ${S}/tools/*-test ${D}${bindir}
92 if [ -e ${S}/tools/wispr ]; then
93 install -m 0755 ${S}/tools/wispr ${D}${bindir}
94 fi
95 install -m 0755 ${B}/client/connmanctl ${D}${bindir}
96
97 # We don't need to package an empty directory
98 rmdir --ignore-fail-on-non-empty ${D}${libdir}/connman/scripts
99
100 # Automake 1.12 won't install empty directories, but we need the
101 # plugins directory to be present for ownership
102 mkdir -p ${D}${libdir}/connman/plugins
103}
104
105# These used to be plugins, but now they are core
106RPROVIDES_${PN} = "\
107 connman-plugin-loopback \
108 connman-plugin-ethernet \
109 ${@base_contains('PACKAGECONFIG', 'bluetooth','connman-plugin-bluetooth', '', d)} \
110 ${@base_contains('PACKAGECONFIG', 'wifi','connman-plugin-wifi', '', d)} \
111 ${@base_contains('PACKAGECONFIG', '3g','connman-plugin-ofono', '', d)} \
112 "
113
114RDEPENDS_${PN} = "\
115 dbus \
116 ${@base_contains('PACKAGECONFIG', 'bluetooth', 'bluez4', '', d)} \
117 ${@base_contains('PACKAGECONFIG', 'wifi','wpa-supplicant', '', d)} \
118 ${@base_contains('PACKAGECONFIG', '3g','ofono', '', d)} \
119 xuser-account \
120 "
121
122PACKAGES_DYNAMIC += "^${PN}-plugin-.*"
123
124def add_rdepends(bb, d, file, pkg, depmap, multilib_prefix, add_insane_skip):
125 plugintype = pkg.split( '-' )[-1]
126 if plugintype in depmap:
127 rdepends = map(lambda x: multilib_prefix + x, \
128 depmap[plugintype].split())
129 d.setVar("RDEPENDS_%s" % pkg, " ".join(rdepends))
130 if add_insane_skip:
131 d.appendVar("INSANE_SKIP_%s" % pkg, "dev-so")
132
133python populate_packages_prepend() {
134 depmap = dict(pppd="ppp")
135 multilib_prefix = (d.getVar("MLPREFIX", True) or "")
136
137 hook = lambda file,pkg,x,y,z: \
138 add_rdepends(bb, d, file, pkg, depmap, multilib_prefix, False)
139 plugin_dir = d.expand('${libdir}/connman/plugins/')
140 plugin_name = d.expand('${PN}-plugin-%s')
141 do_split_packages(d, plugin_dir, '^(.*).so$', plugin_name, \
142 '${PN} plugin for %s', extra_depends='', hook=hook, prepend=True )
143
144 hook = lambda file,pkg,x,y,z: \
145 add_rdepends(bb, d, file, pkg, depmap, multilib_prefix, True)
146 plugin_dir = d.expand('${libdir}/connman/plugins-vpn/')
147 plugin_name = d.expand('${PN}-plugin-vpn-%s')
148 do_split_packages(d, plugin_dir, '^(.*).so$', plugin_name, \
149 '${PN} VPN plugin for %s', extra_depends='', hook=hook, prepend=True )
150}
151
152PACKAGES =+ "${PN}-tools ${PN}-tests ${PN}-client"
153
154FILES_${PN}-tools = "${bindir}/wispr"
155
156FILES_${PN}-tests = "${bindir}/*-test ${libdir}/${BPN}/test/*"
157RDEPENDS_${PN}-tests = "python-dbus python-pygobject python-textutils python-subprocess python-fcntl python-netclient"
158
159FILES_${PN}-client = "${bindir}/connmanctl"
160
161FILES_${PN} = "${bindir}/* ${sbindir}/* ${libexecdir}/* ${libdir}/lib*.so.* \
162 ${libdir}/connman/plugins \
163 ${sysconfdir} ${sharedstatedir} ${localstatedir} \
164 ${base_bindir}/* ${base_sbindir}/* ${base_libdir}/*.so* ${datadir}/${PN} \
165 ${datadir}/dbus-1/system-services/*"
166
167FILES_${PN}-dbg += "${libdir}/connman/*/.debug"
168
169FILES_${PN}-dev += "${libdir}/connman/*/*.la"
170
171PACKAGES =+ "${PN}-vpn"
172
173SUMMARY_${PN}-vpn = "A daemon for managing VPN connections within embedded devices"
174DESCRIPTION_${PN}-vpn = "The ConnMan VPN provides a daemon for \
175managing VPN connections within embedded devices running the Linux \
176operating system. The connman-vpnd handles all the VPN connections \
177and starts/stops VPN client processes when necessary. The connman-vpnd \
178provides a DBus API for managing VPN connections. All the different \
179VPN technogies are implemented using plug-ins."
180FILES_${PN}-vpn += "${sbindir}/connman-vpnd \
181 ${sysconfdir}/dbus-1/system.d/connman-vpn-dbus.conf \
182 ${datadir}/dbus-1/system-services/net.connman.vpn.service \
183 ${systemd_unitdir}/system/connman-vpn.service"
184
185SUMMARY_${PN}-plugin-vpn-openvpn = "An OpenVPN plugin for ConnMan VPN"
186DESCRIPTION_${PN}-plugin-vpn-openvpn = "The ConnMan OpenVPN plugin uses openvpn client \
187to create a VPN connection to OpenVPN server."
188FILES_${PN}-plugin-vpn-openvpn += "${libdir}/connman/scripts/openvpn-script \
189 ${libdir}/connman/plugins-vpn/openvpn.so"
190RDEPENDS_${PN}-plugin-vpn-openvpn += "${PN}-vpn"
191RRECOMMENDS_${PN} += "${@base_contains('PACKAGECONFIG','openvpn','${PN}-plugin-vpn-openvpn', '', d)}"
192
193SUMMARY_${PN}-plugin-vpn-vpnc = "A vpnc plugin for ConnMan VPN"
194DESCRIPTION_${PN}-plugin-vpn-vpnc = "The ConnMan vpnc plugin uses vpnc client \
195to create a VPN connection to Cisco3000 VPN Concentrator."
196FILES_${PN}-plugin-vpn-vpnc += "${libdir}/connman/scripts/openconnect-script \
197 ${libdir}/connman/plugins-vpn/vpnc.so"
198RDEPENDS_${PN}-plugin-vpn-vpnc += "${PN}-vpn"
199RRECOMMENDS_${PN} += "${@base_contains('PACKAGECONFIG','vpnc','${PN}-plugin-vpn-vpnc', '', d)}"
200
201SUMMARY_${PN}-plugin-vpn-l2tp = "A L2TP plugin for ConnMan VPN"
202DESCRIPTION_${PN}-plugin-vpn-l2tp = "The ConnMan L2TP plugin uses xl2tpd daemon \
203to create a VPN connection to L2TP server."
204FILES_${PN}-plugin-vpn-l2tp += "${libdir}/connman/scripts/libppp-plugin.so* \
205 ${libdir}/connman/plugins-vpn/l2tp.so"
206RDEPENDS_${PN}-plugin-vpn-l2tp += "${PN}-vpn"
207RRECOMMENDS_${PN} += "${@base_contains('PACKAGECONFIG','l2tp','${PN}-plugin-vpn-l2tp', '', d)}"
208
209SUMMARY_${PN}-plugin-vpn-pptp = "A PPTP plugin for ConnMan VPN"
210DESCRIPTION_${PN}-plugin-vpn-pptp = "The ConnMan PPTP plugin uses pptp-linux client \
211to create a VPN connection to PPTP server."
212FILES_${PN}-plugin-vpn-pptp += "${libdir}/connman/scripts/libppp-plugin.so* \
213 ${libdir}/connman/plugins-vpn/pptp.so"
214RDEPENDS_${PN}-plugin-vpn-pptp += "${PN}-vpn"
215RRECOMMENDS_${PN} += "${@base_contains('PACKAGECONFIG','pptp','${PN}-plugin-vpn-pptp', '', d)}"
diff --git a/meta/recipes-connectivity/connman/connman/0001-plugin.h-Change-visibility-to-default-for-debug-symb.patch b/meta/recipes-connectivity/connman/connman/0001-plugin.h-Change-visibility-to-default-for-debug-symb.patch
new file mode 100644
index 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.22.bb b/meta/recipes-connectivity/connman/connman_1.22.bb
new file mode 100644
index 0000000000..4bd986f0e0
--- /dev/null
+++ b/meta/recipes-connectivity/connman/connman_1.22.bb
@@ -0,0 +1,11 @@
1require connman.inc
2
3SRC_URI = "${KERNELORG_MIRROR}/linux/network/${BPN}/${BP}.tar.xz \
4 file://0001-plugin.h-Change-visibility-to-default-for-debug-symb.patch \
5 file://add_xuser_dbus_permission.patch \
6 file://connman \
7 "
8SRC_URI[md5sum] = "4f45ab2035d1028a287d14427ce61774"
9SRC_URI[sha256sum] = "64d9a8ab83c99943514bb64984142fef409177a93c64e1aace84eaf13c7bddde"
10
11RRECOMMENDS_${PN} = "connman-conf"
diff --git a/meta/recipes-connectivity/dhcp/dhcp.inc b/meta/recipes-connectivity/dhcp/dhcp.inc
new file mode 100644
index 0000000000..512127cd4c
--- /dev/null
+++ b/meta/recipes-connectivity/dhcp/dhcp.inc
@@ -0,0 +1,100 @@
1SECTION = "console/network"
2SUMMARY = "Internet Software Consortium DHCP package"
3DESCRIPTION = "DHCP (Dynamic Host Configuration Protocol) is a protocol \
4which allows individual devices on an IP network to get their own \
5network configuration information from a server. DHCP helps make it \
6easier to administer devices."
7
8HOMEPAGE = "http://www.isc.org/"
9
10LICENSE = "ISC"
11LIC_FILES_CHKSUM = "file://LICENSE;beginline=4;md5=c5c64d696107f84b56fe337d14da1753"
12
13DEPENDS = "openssl bind"
14
15SRC_URI = "ftp://ftp.isc.org/isc/dhcp/${PV}/dhcp-${PV}.tar.gz \
16 file://site.h \
17 file://init-relay file://default-relay \
18 file://init-server file://default-server \
19 file://dhclient.conf file://dhcpd.conf"
20
21inherit autotools
22
23TARGET_CFLAGS += "-D_GNU_SOURCE"
24EXTRA_OECONF = "--with-srv-lease-file=${localstatedir}/lib/dhcp/dhcpd.leases \
25 --with-srv6-lease-file=${localstatedir}/lib/dhcp/dhcpd6.leases \
26 --with-cli-lease-file=${localstatedir}/lib/dhcp/dhclient.leases \
27 --with-cli6-lease-file=${localstatedir}/lib/dhcp/dhclient6.leases \
28 --with-libbind=${STAGING_LIBDIR}/ \
29 "
30
31do_compile_prepend () {
32 cp -f ${WORKDIR}/site.h ${S}/includes
33}
34
35do_install_append () {
36 install -d ${D}${sysconfdir}/init.d
37 install -d ${D}${sysconfdir}/default
38 install -d ${D}${sysconfdir}/dhcp
39 install -m 0755 ${WORKDIR}/init-relay ${D}${sysconfdir}/init.d/dhcp-relay
40 install -m 0644 ${WORKDIR}/default-relay ${D}${sysconfdir}/default/dhcp-relay
41 install -m 0755 ${WORKDIR}/init-server ${D}${sysconfdir}/init.d/dhcp-server
42 install -m 0644 ${WORKDIR}/default-server ${D}${sysconfdir}/default/dhcp-server
43
44 rm -f ${D}${sysconfdir}/dhclient.conf*
45 rm -f ${D}${sysconfdir}/dhcpd.conf*
46 install -m 0644 ${WORKDIR}/dhclient.conf ${D}${sysconfdir}/dhcp/dhclient.conf
47 install -m 0644 ${WORKDIR}/dhcpd.conf ${D}${sysconfdir}/dhcp/dhcpd.conf
48
49 install -d ${D}${base_sbindir}/
50 if [ "${sbindir}" != "${base_sbindir}" ]; then
51 mv ${D}${sbindir}/dhclient ${D}${base_sbindir}/
52 fi
53 install -m 0755 ${S}/client/scripts/linux ${D}${base_sbindir}/dhclient-script
54}
55
56PACKAGES += "dhcp-server dhcp-server-config dhcp-client dhcp-relay dhcp-omshell"
57
58FILES_${PN} = ""
59RDEPENDS_${PN}-dev = ""
60RDEPENDS_${PN}-staticdev = ""
61
62FILES_dhcp-server = "${sbindir}/dhcpd ${sysconfdir}/init.d/dhcp-server"
63RRECOMMENDS_dhcp-server = "dhcp-server-config"
64
65FILES_dhcp-server-config = "${sysconfdir}/default/dhcp-server ${sysconfdir}/dhcp/dhcpd.conf"
66
67FILES_dhcp-relay = "${sbindir}/dhcrelay ${sysconfdir}/init.d/dhcp-relay ${sysconfdir}/default/dhcp-relay"
68
69FILES_dhcp-client = "${base_sbindir}/dhclient ${base_sbindir}/dhclient-script ${sysconfdir}/dhcp/dhclient.conf"
70RDEPENDS_dhcp-client = "bash"
71
72FILES_dhcp-omshell = "${bindir}/omshell"
73
74pkg_postinst_dhcp-server() {
75 mkdir -p $D/${localstatedir}/lib/dhcp
76 touch $D/${localstatedir}/lib/dhcp/dhcpd.leases
77 touch $D/${localstatedir}/lib/dhcp/dhcpd6.leases
78}
79
80pkg_postinst_dhcp-client() {
81 mkdir -p $D/${localstatedir}/lib/dhcp
82}
83
84pkg_postrm_dhcp-server() {
85 rm -f $D/${localstatedir}/lib/dhcp/dhcpd.leases
86 rm -f $D/${localstatedir}/lib/dhcp/dhcpd6.leases
87
88 if ! rmdir $D/${localstatedir}/lib/dhcp 2>/dev/null; then
89 echo "Not removing ${localstatedir}/lib/dhcp as it is non-empty."
90 fi
91}
92
93pkg_postrm_dhcp-client() {
94 rm -f $D/${localstatedir}/lib/dhcp/dhclient.leases
95 rm -f $D/${localstatedir}/lib/dhcp/dhclient6.leases
96
97 if ! rmdir $D/${localstatedir}/lib/dhcp 2>/dev/null; then
98 echo "Not removing ${localstatedir}/lib/dhcp as it is non-empty."
99 fi
100}
diff --git a/meta/recipes-connectivity/dhcp/dhcp/dhclient-script-drop-resolv.conf.dhclient.patch b/meta/recipes-connectivity/dhcp/dhcp/dhclient-script-drop-resolv.conf.dhclient.patch
new file mode 100644
index 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/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..6da28faf50
--- /dev/null
+++ b/meta/recipes-connectivity/dhcp/dhcp_4.3.0.bb
@@ -0,0 +1,11 @@
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 "
9
10SRC_URI[md5sum] = "1020d77e1a4c1f01b76279caff9beb80"
11SRC_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..59249db283
--- /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="" \ No newline at end of file
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/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..568aa5f5dd
--- /dev/null
+++ b/meta/recipes-connectivity/iproute2/iproute2.inc
@@ -0,0 +1,40 @@
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"
39
40PARALLEL_MAKE = ""
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.12.0.bb b/meta/recipes-connectivity/iproute2/iproute2_3.12.0.bb
new file mode 100644
index 0000000000..8cd9d21317
--- /dev/null
+++ b/meta/recipes-connectivity/iproute2/iproute2_3.12.0.bb
@@ -0,0 +1,13 @@
1require iproute2.inc
2
3SRC_URI = "${KERNELORG_MIRROR}/linux/utils/net/${BPN}/${BPN}-${PV}.tar.xz \
4 file://configure-cross.patch \
5 file://0001-iproute2-de-bash-scripts.patch \
6 "
7
8SRC_URI[md5sum] = "f87386aaaecafab95607fd10e8152c68"
9SRC_URI[sha256sum] = "44f600475d27a421688cda2294efec38513473a740c24ead78eb20005f08f111"
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.bb b/meta/recipes-connectivity/irda-utils/irda-utils_0.9.18.bb
new file mode 100644
index 0000000000..7403dc95da
--- /dev/null
+++ b/meta/recipes-connectivity/irda-utils/irda-utils_0.9.18.bb
@@ -0,0 +1,39 @@
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://init"
16
17SRC_URI[md5sum] = "84dc12aa4c3f61fccb8d8919bf4079bb"
18SRC_URI[sha256sum] = "61980551e46b2eaa9e17ad31cbc1a638074611fc33bff34163d10c7a67a9fdc6"
19
20export SYS_INCLUDES="-I${STAGING_INCDIR}"
21
22inherit autotools-brokensep update-rc.d
23
24INITSCRIPT_NAME = "irattach"
25INITSCRIPT_PARAMS = "defaults 20"
26
27do_compile () {
28 oe_runmake -e -C irattach
29 oe_runmake -e -C irdaping
30}
31
32do_install () {
33 install -d ${D}${sbindir}
34 oe_runmake -C irattach ROOT="${D}" install
35 oe_runmake -C irdaping ROOT="${D}" install
36
37 install -d ${D}${sysconfdir}/init.d
38 install -m 0755 ${WORKDIR}/init ${D}${sysconfdir}/init.d/${INITSCRIPT_NAME}
39}
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..5b8c700411
--- /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*\<mdns4\>//' \
30 -e 's/\(^hosts:.*\)\(\<files\>\)\(.*\)\(\<dns\>\)\(.*\)/\1\2 mdns4_minimal [NOTFOUND=return]\3\4 mdns4\5/' \
31 -i $D/etc/nsswitch.conf
32}
33
34pkg_prerm_${PN} () {
35 sed -e '/^hosts:/s/\s*\<mdns4\>//' \
36 -e '/^hosts:/s/\s*mdns4_minimal\s\+\[NOTFOUND=return\]//' \
37 -i $D/etc/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..a984e05ad4
--- /dev/null
+++ b/meta/recipes-connectivity/libpcap/libpcap.inc
@@ -0,0 +1,35 @@
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=34;md5=8d6cf7e17d5745010d633e30bc529ea9"
11DEPENDS = "flex-native bison-native libnl"
12
13PACKAGECONFIG ??= "${@base_contains('DISTRO_FEATURES', 'bluetooth', 'bluetooth', '', d)}"
14PACKAGECONFIG[bluetooth] = "--enable-bluetooth,--disable-bluetooth,bluez4"
15PACKAGECONFIG[canusb] = "--enable-canusb,--enable-canusb=no,libusb"
16PACKAGECONFIG[libnl1] = "--with-libnl,--without-libnl,libnl1,libnl1"
17
18INC_PR = "r5"
19
20SRC_URI = "http://www.tcpdump.org/release/libpcap-${PV}.tar.gz"
21
22inherit autotools binconfig
23
24EXTRA_OECONF = "--with-pcap=linux"
25
26CPPFLAGS_prepend = "-I${S} "
27CFLAGS_prepend = "-I${S} "
28CXXFLAGS_prepend = "-I${S} "
29
30do_configure_prepend () {
31 if [ ! -e ${S}/acinclude.m4 ]; then
32 cat ${S}/aclocal.m4 > ${S}/acinclude.m4
33 fi
34 sed -i -e's,^V_RPATH_OPT=.*$,V_RPATH_OPT=,' ${S}/pcap-config.in
35}
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/ieee80215-arphrd.patch b/meta/recipes-connectivity/libpcap/libpcap/ieee80215-arphrd.patch
new file mode 100644
index 0000000000..2f5cd213bc
--- /dev/null
+++ b/meta/recipes-connectivity/libpcap/libpcap/ieee80215-arphrd.patch
@@ -0,0 +1,24 @@
1Upstream-Status: Pending
2
3Index: libpcap-1.0.0/pcap-linux.c
4===================================================================
5--- libpcap-1.0.0.orig/pcap-linux.c 2009-01-28 11:58:54.000000000 +0300
6+++ libpcap-1.0.0/pcap-linux.c 2009-01-28 11:59:04.000000000 +0300
7@@ -1616,6 +1616,17 @@
8 * so let's use "Linux-cooked" mode. Jean II */
9 //handle->md.cooked = 1;
10 break;
11+#ifndef ARPHRD_IEEE80215
12+#define ARPHRD_IEEE80215 805
13+#endif
14+#ifndef ARPHRD_IEEE80215_PHY
15+#define ARPHRD_IEEE80215_PHY 806
16+#endif
17+
18+ case ARPHRD_IEEE80215:
19+ case ARPHRD_IEEE80215_PHY:
20+ handle->linktype = DLT_IEEE802_15_4;
21+ break;
22
23 /* ARPHRD_LAPD is unofficial and randomly allocated, if reallocation
24 * is needed, please report it to <daniele@orlandi.com> */
diff --git a/meta/recipes-connectivity/libpcap/libpcap_1.5.3.bb b/meta/recipes-connectivity/libpcap/libpcap_1.5.3.bb
new file mode 100644
index 0000000000..3ba3caa3bc
--- /dev/null
+++ b/meta/recipes-connectivity/libpcap/libpcap_1.5.3.bb
@@ -0,0 +1,24 @@
1require libpcap.inc
2
3SRC_URI += "file://aclocal.patch \
4 file://ieee80215-arphrd.patch \
5 "
6SRC_URI[md5sum] = "7e7321fb3aff2f2bb05c8229f3795d4a"
7SRC_URI[sha256sum] = "9ae92159c1060f15e6a90f2c4ad227268b6aaa382c316fa49a31c496b9979e93"
8
9#
10# make install doesn't cover the shared lib
11# make install-shared is just broken (no symlinks)
12#
13
14do_configure_prepend () {
15 #remove hardcoded references to /usr/include
16 sed 's|\([ "^'\''I]\+\)/usr/include/|\1${STAGING_INCDIR}/|g' -i ${S}/configure.in
17}
18
19do_install_prepend () {
20 install -d ${D}${libdir}
21 install -d ${D}${bindir}
22 oe_runmake install-shared DESTDIR=${D}
23 oe_libinstall -a -so libpcap ${D}${libdir}
24}
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..a0d18efd24
--- /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 = "4ed19e11c2975105b71b956440acdb25d46a347d"
6PV = "20120614+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..1dde1da377
--- /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 ${@base_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 ${@base_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 ${@base_contains('DISTRO_FEATURES', 'bluetooth', 'bluez4', '', d)} \
51 ${@base_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/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..90e5302662
--- /dev/null
+++ b/meta/recipes-connectivity/neard/neard/neard.service.in
@@ -0,0 +1,13 @@
1[Unit]
2Description=NFC service
3After=syslog.target
4
5[Service]
6Type=dbus
7BusName=org.neard
8Restart=on-failure
9ExecStart=@installpath@/neard -n
10StandardOutput=null
11
12[Install]
13WantedBy=multi-user.target
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..ac9aaf1498
--- /dev/null
+++ b/meta/recipes-connectivity/neard/neard_0.14.bb
@@ -0,0 +1,9 @@
1require neard.inc
2
3SRC_URI = "${KERNELORG_MIRROR}/linux/network/nfc/${BPN}-${PV}.tar.xz \
4 file://neard.in \
5 file://neard.service.in \
6 "
7SRC_URI[md5sum] = "692ba2653d60155255244c87396c486b"
8SRC_URI[sha256sum] = "6ea724b443d39d679168fc7776a965d1f64727c3735391df2c01469ee7cd8cca"
9
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/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.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..65fdd1dd4f
--- /dev/null
+++ b/meta/recipes-connectivity/nfs-utils/nfs-utils/nfscommon
@@ -0,0 +1,90 @@
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#directories
32create_directories(){
33 echo -n 'creating NFS state directory: '
34 mkdir -p "$NFS_STATEDIR"
35 ( cd "$NFS_STATEDIR"
36 umask 077
37 mkdir -p rpc_pipefs
38 mkdir -p sm sm.bak statd
39 chown rpcuser:rpcuser sm sm.bak statd
40 test -w statd/state || {
41 rm -f statd/state
42 :>statd/state
43 }
44 umask 022
45 for file in xtab etab smtab rmtab
46 do
47 test -w "$file" || {
48 rm -f "$file"
49 :>"$file"
50 }
51 done
52 )
53 chown rpcuser:rpcuser "$NFS_STATEDIR"
54 echo done
55}
56
57#statd
58start_statd(){
59 echo -n "starting statd: "
60 start-stop-daemon --start --exec "$NFS_STATD" --pidfile "$STATD_PID"
61 echo done
62}
63stop_statd(){
64 echo -n 'stopping statd: '
65 start-stop-daemon --stop --quiet --signal 1 --pidfile "$STATD_PID"
66 echo done
67}
68#----------------------------------------------------------------------
69#
70# supported options:
71# start
72# stop
73# restart: stops and starts mountd
74#FIXME: need to create the /var/lib/nfs/... directories
75case "$1" in
76 start)
77 create_directories
78 start_statd;;
79 stop)
80 stop_statd;;
81 status)
82 status $NFS_STATD
83 exit $?;;
84 restart)
85 $0 stop
86 $0 start;;
87 *)
88 echo "Usage: $0 {start|stop|status|restart}"
89 exit 1;;
90esac
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.2.9.bb b/meta/recipes-connectivity/nfs-utils/nfs-utils_1.2.9.bb
new file mode 100644
index 0000000000..da371608d2
--- /dev/null
+++ b/meta/recipes-connectivity/nfs-utils/nfs-utils_1.2.9.bb
@@ -0,0 +1,110 @@
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.bz2 \
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
33SRC_URI[md5sum] = "18869d16db3f49c053f8c68eba3fe2e0"
34SRC_URI[sha256sum] = "90b76d5692a520b74273e607a4fd69df4cc35f65e242e22e2bc61b58759722f3"
35
36PARALLEL_MAKE = ""
37
38# Only kernel-module-nfsd is required here (but can be built-in) - the nfsd module will
39# pull in the remainder of the dependencies.
40
41INITSCRIPT_PACKAGES = "${PN} ${PN}-client"
42INITSCRIPT_NAME = "nfsserver"
43INITSCRIPT_PARAMS = "defaults"
44INITSCRIPT_NAME_${PN}-client = "nfscommon"
45INITSCRIPT_PARAMS_${PN}-client = "defaults 19 21"
46
47inherit autotools-brokensep update-rc.d systemd
48
49SYSTEMD_SERVICE_${PN} = "nfs-server.service nfs-mountd.service"
50SYSTEMD_SERVICE_${PN}-client = "nfs-statd.service"
51SYSTEMD_AUTO_ENABLE = "disable"
52
53# --enable-uuid is need for cross-compiling
54EXTRA_OECONF = "--with-statduser=nobody \
55 --enable-mountconfig \
56 --enable-libmount-mount \
57 --disable-nfsv41 \
58 --enable-uuid \
59 --disable-gss \
60 --disable-tirpc \
61 --disable-nfsdcltrack \
62 --with-statdpath=/var/lib/nfs/statd \
63 "
64
65PACKAGECONFIG ??= "tcp-wrappers"
66PACKAGECONFIG[tcp-wrappers] = "--with-tcp-wrappers,--without-tcp-wrappers,tcp-wrappers"
67PACKAGECONFIG[nfsidmap] = "--enable-nfsidmap,--disable-nfsidmap,keyutils"
68
69INHIBIT_AUTO_STAGE = "1"
70
71PACKAGES =+ "${PN}-client ${PN}-stats"
72FILES_${PN}-client = "${base_sbindir}/*mount.nfs* ${sbindir}/*statd \
73 ${sbindir}/rpc.idmapd ${sbindir}/sm-notify \
74 ${sbindir}/showmount ${sbindir}/nfsstat \
75 ${localstatedir}/lib/nfs \
76 ${sysconfdir}/nfs-utils.conf \
77 ${sysconfdir}/init.d/nfscommon \
78 ${systemd_unitdir}/system/nfs-statd.service"
79FILES_${PN}-stats = "${sbindir}/mountstats ${sbindir}/nfsiostat"
80RDEPENDS_${PN}-stats = "python"
81
82# Make clean needed because the package comes with
83# precompiled 64-bit objects that break the build
84do_compile_prepend() {
85 make clean
86}
87
88do_install_append () {
89 install -d ${D}${sysconfdir}/init.d
90 install -d ${D}${localstatedir}/lib/nfs/statd
91 install -m 0755 ${WORKDIR}/nfsserver ${D}${sysconfdir}/init.d/nfsserver
92 install -m 0755 ${WORKDIR}/nfscommon ${D}${sysconfdir}/init.d/nfscommon
93
94 install -m 0755 ${WORKDIR}/nfs-utils.conf ${D}${sysconfdir}
95 install -d ${D}${systemd_unitdir}/system
96 install -m 0644 ${WORKDIR}/nfs-server.service ${D}${systemd_unitdir}/system/
97 install -m 0644 ${WORKDIR}/nfs-mountd.service ${D}${systemd_unitdir}/system/
98 install -m 0644 ${WORKDIR}/nfs-statd.service ${D}${systemd_unitdir}/system/
99 sed -i -e 's,@SBINDIR@,${sbindir},g' \
100 -e 's,@SYSCONFDIR@,${sysconfdir},g' \
101 ${D}${systemd_unitdir}/system/*.service
102
103 # kernel code as of 3.8 hard-codes this path as a default
104 install -d ${D}/var/lib/nfs/v4recovery
105
106 # the following are built by CC_FOR_BUILD
107 rm -f ${D}${sbindir}/rpcdebug
108 rm -f ${D}${sbindir}/rpcgen
109 rm -f ${D}${sbindir}/locktest
110}
diff --git a/meta/recipes-connectivity/ofono/ofono.inc b/meta/recipes-connectivity/ofono/ofono.inc
new file mode 100644
index 0000000000..3972e062e5
--- /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 ${@base_contains('DISTRO_FEATURES', 'bluetooth','bluez4', '', d)}"
11
12INITSCRIPT_NAME = "ofono"
13INITSCRIPT_PARAMS = "defaults 22"
14
15EXTRA_OECONF += "\
16 ${@base_contains('DISTRO_FEATURES', 'systemd', '--with-systemdunitdir=${systemd_unitdir}/system/', '--with-systemdunitdir=', d)} \
17 ${@base_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/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.14.bb b/meta/recipes-connectivity/ofono/ofono_1.14.bb
new file mode 100644
index 0000000000..f107fe6452
--- /dev/null
+++ b/meta/recipes-connectivity/ofono/ofono_1.14.bb
@@ -0,0 +1,11 @@
1require ofono.inc
2
3SRC_URI = "\
4 ${KERNELORG_MIRROR}/linux/network/${BPN}/${BP}.tar.xz \
5 file://ofono \
6"
7
8SRC_URI[md5sum] = "8bc398d86642408cc71d039f59c61538"
9SRC_URI[sha256sum] = "84d28d37cbc47129628a78bf3e17323af1636dceb2494511dd44caa829fb277f"
10
11CFLAGS_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/init b/meta/recipes-connectivity/openssh/openssh/init
new file mode 100644
index 0000000000..37c8e7b907
--- /dev/null
+++ b/meta/recipes-connectivity/openssh/openssh/init
@@ -0,0 +1,113 @@
1#! /bin/sh
2set -e
3
4# source function library
5. /etc/init.d/functions
6
7# /etc/init.d/ssh: start and stop the OpenBSD "secure shell" daemon
8
9test -x /usr/sbin/sshd || exit 0
10( /usr/sbin/sshd -\? 2>&1 | grep -q OpenSSH ) 2>/dev/null || exit 0
11
12# /etc/default/ssh may set SYSCONFDIR and SSHD_OPTS
13if test -f /etc/default/ssh; then
14 . /etc/default/ssh
15fi
16
17[ -z "$SYSCONFDIR" ] && SYSCONFDIR=/etc/ssh
18mkdir -p $SYSCONFDIR
19
20HOST_KEY_RSA=$SYSCONFDIR/ssh_host_rsa_key
21HOST_KEY_DSA=$SYSCONFDIR/ssh_host_dsa_key
22HOST_KEY_ECDSA=$SYSCONFDIR/ssh_host_ecdsa_key
23HOST_KEY_ED25519=$SYSCONFDIR/ssh_host_ed25519_key
24
25check_for_no_start() {
26 # forget it if we're trying to start, and /etc/ssh/sshd_not_to_be_run exists
27 if [ -e $SYSCONFDIR/sshd_not_to_be_run ]; then
28 echo "OpenBSD Secure Shell server not in use ($SYSCONFDIR/sshd_not_to_be_run)"
29 exit 0
30 fi
31}
32
33check_privsep_dir() {
34 # Create the PrivSep empty dir if necessary
35 if [ ! -d /var/run/sshd ]; then
36 mkdir /var/run/sshd
37 chmod 0755 /var/run/sshd
38 fi
39}
40
41check_config() {
42 /usr/sbin/sshd -t || exit 1
43}
44
45check_keys() {
46 # create keys if necessary
47 if [ ! -f $HOST_KEY_RSA ]; then
48 echo " generating ssh RSA key..."
49 ssh-keygen -q -f $HOST_KEY_RSA -N '' -t rsa
50 fi
51 if [ ! -f $HOST_KEY_ECDSA ]; then
52 echo " generating ssh ECDSA key..."
53 ssh-keygen -q -f $HOST_KEY_ECDSA -N '' -t ecdsa
54 fi
55 if [ ! -f $HOST_KEY_DSA ]; then
56 echo " generating ssh DSA key..."
57 ssh-keygen -q -f $HOST_KEY_DSA -N '' -t dsa
58 fi
59 if [ ! -f $HOST_KEY_ED25519 ]; then
60 echo " generating ssh ED25519 key..."
61 ssh-keygen -q -f $HOST_KEY_ED25519 -N '' -t ed25519
62 fi
63}
64
65export PATH="${PATH:+$PATH:}/usr/sbin:/sbin"
66
67case "$1" in
68 start)
69 check_for_no_start
70 echo "Starting OpenBSD Secure Shell server: sshd"
71 check_keys
72 check_privsep_dir
73 start-stop-daemon -S -x /usr/sbin/sshd -- $SSHD_OPTS
74 echo "done."
75 ;;
76 stop)
77 echo -n "Stopping OpenBSD Secure Shell server: sshd"
78 start-stop-daemon -K -x /usr/sbin/sshd
79 echo "."
80 ;;
81
82 reload|force-reload)
83 check_for_no_start
84 check_keys
85 check_config
86 echo -n "Reloading OpenBSD Secure Shell server's configuration"
87 start-stop-daemon -K -s 1 -x /usr/sbin/sshd
88 echo "."
89 ;;
90
91 restart)
92 check_keys
93 check_config
94 echo -n "Restarting OpenBSD Secure Shell server: sshd"
95 start-stop-daemon -K --oknodo -x /usr/sbin/sshd
96 check_for_no_start
97 check_privsep_dir
98 sleep 2
99 start-stop-daemon -S -x /usr/sbin/sshd -- $SSHD_OPTS
100 echo "."
101 ;;
102
103 status)
104 status /usr/sbin/sshd
105 exit $?
106 ;;
107
108 *)
109 echo "Usage: /etc/init.d/ssh {start|stop|status|reload|force-reload|restart}"
110 exit 1
111esac
112
113exit 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/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..4eda6592f5
--- /dev/null
+++ b/meta/recipes-connectivity/openssh/openssh/sshd@.service
@@ -0,0 +1,10 @@
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
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..122320a719
--- /dev/null
+++ b/meta/recipes-connectivity/openssh/openssh/volatiles.99_sshd
@@ -0,0 +1 @@
d root root 0755 /var/run/sshd none
diff --git a/meta/recipes-connectivity/openssh/openssh_6.5p1.bb b/meta/recipes-connectivity/openssh/openssh_6.5p1.bb
new file mode 100644
index 0000000000..a1a2503843
--- /dev/null
+++ b/meta/recipes-connectivity/openssh/openssh_6.5p1.bb
@@ -0,0 +1,147 @@
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
10
11DEPENDS = "zlib openssl"
12DEPENDS += "${@base_contains('DISTRO_FEATURES', 'pam', 'libpam', '', d)}"
13
14RPROVIDES_${PN}-ssh = "ssh"
15RPROVIDES_${PN}-sshd = "sshd"
16
17RCONFLICTS_${PN} = "dropbear"
18RCONFLICTS_${PN}-sshd = "dropbear"
19RCONFLICTS_${PN}-keygen = "ssh-keygen"
20
21SRC_URI = "ftp://ftp.openbsd.org/pub/OpenBSD/OpenSSH/portable/openssh-${PV}.tar.gz \
22 file://nostrip.patch \
23 file://sshd_config \
24 file://ssh_config \
25 file://init \
26 file://openssh-CVE-2011-4327.patch \
27 file://add-test-support-for-busybox.patch \
28 file://run-ptest \
29 ${@base_contains('DISTRO_FEATURES', 'pam', '${PAM_SRC_URI}', '', d)} \
30 file://sshd.socket \
31 file://sshd@.service \
32 file://sshdgenkeys.service \
33 file://volatiles.99_sshd "
34
35PAM_SRC_URI = "file://sshd"
36
37SRC_URI[md5sum] = "a084e7272b8cbd25afe0f5dce4802fef"
38SRC_URI[sha256sum] = "a1195ed55db945252d5a1730d4a2a2a5c1c9a6aa01ef2e5af750a962623d9027"
39
40inherit useradd update-rc.d update-alternatives systemd ptest
41
42USERADD_PACKAGES = "${PN}-sshd"
43USERADD_PARAM_${PN}-sshd = "--system --no-create-home --home-dir /var/run/sshd --shell /bin/false --user-group sshd"
44INITSCRIPT_PACKAGES = "${PN}-sshd"
45INITSCRIPT_NAME_${PN}-sshd = "sshd"
46INITSCRIPT_PARAMS_${PN}-sshd = "defaults 9"
47
48SYSTEMD_PACKAGES = "${PN}-sshd"
49SYSTEMD_SERVICE_${PN}-sshd = "sshd.socket"
50
51PACKAGECONFIG ??= "tcp-wrappers"
52PACKAGECONFIG[tcp-wrappers] = "--with-tcp-wrappers,,tcp-wrappers"
53
54inherit autotools-brokensep
55
56# LFS support:
57CFLAGS += "-D__FILE_OFFSET_BITS=64"
58export LD = "${CC}"
59
60EXTRA_OECONF = "${@base_contains('DISTRO_FEATURES', 'pam', '--with-pam', '--without-pam', d)} \
61 --without-zlib-version-check \
62 --with-privsep-path=/var/run/sshd \
63 --sysconfdir=${sysconfdir}/ssh \
64 --with-xauth=/usr/bin/xauth"
65
66# Since we do not depend on libbsd, we do not want configure to use it
67# just because it finds libutil.h. But, specifying --disable-libutil
68# causes compile errors, so...
69#
70CACHED_CONFIGUREVARS += "ac_cv_header_bsd_libutil_h=no ac_cv_header_libutil_h=no"
71
72# This is a workaround for uclibc because including stdio.h
73# pulls in pthreads.h and causes conflicts in function prototypes.
74# This results in compilation failure, so unless this is fixed,
75# disable pam for uclibc.
76EXTRA_OECONF_append_libc-uclibc=" --without-pam"
77
78do_configure_prepend () {
79 if [ ! -e acinclude.m4 -a -e aclocal.m4 ]; then
80 cp aclocal.m4 acinclude.m4
81 fi
82}
83
84do_compile_append () {
85 install -m 0644 ${WORKDIR}/sshd_config ${S}/
86 install -m 0644 ${WORKDIR}/ssh_config ${S}/
87}
88
89do_install_append () {
90 if [ "${@base_contains('DISTRO_FEATURES', 'pam', 'pam', '', d)}" = "pam" ]; then
91 install -D -m 0755 ${WORKDIR}/sshd ${D}${sysconfdir}/pam.d/sshd
92 sed -i -e 's:#UsePAM no:UsePAM yes:' ${WORKDIR}/sshd_config ${D}${sysconfdir}/ssh/sshd_config
93 fi
94
95 install -d ${D}${sysconfdir}/init.d
96 install -m 0755 ${WORKDIR}/init ${D}${sysconfdir}/init.d/sshd
97 rm -f ${D}${bindir}/slogin ${D}${datadir}/Ssh.bin
98 rmdir ${D}${localstatedir}/run/sshd ${D}${localstatedir}/run ${D}${localstatedir}
99 install -d ${D}/${sysconfdir}/default/volatiles
100 install -m 644 ${WORKDIR}/volatiles.99_sshd ${D}/${sysconfdir}/default/volatiles/99_sshd
101
102 # Create config files for read-only rootfs
103 install -d ${D}${sysconfdir}/ssh
104 install -m 644 ${D}${sysconfdir}/ssh/sshd_config ${D}${sysconfdir}/ssh/sshd_config_readonly
105 sed -i '/HostKey/d' ${D}${sysconfdir}/ssh/sshd_config_readonly
106 echo "HostKey /var/run/ssh/ssh_host_rsa_key" >> ${D}${sysconfdir}/ssh/sshd_config_readonly
107 echo "HostKey /var/run/ssh/ssh_host_dsa_key" >> ${D}${sysconfdir}/ssh/sshd_config_readonly
108 echo "HostKey /var/run/ssh/ssh_host_ecdsa_key" >> ${D}${sysconfdir}/ssh/sshd_config_readonly
109
110 install -d ${D}${systemd_unitdir}/system
111 install -c -m 0644 ${WORKDIR}/sshd.socket ${D}${systemd_unitdir}/system
112 install -c -m 0644 ${WORKDIR}/sshd@.service ${D}${systemd_unitdir}/system
113 install -c -m 0644 ${WORKDIR}/sshdgenkeys.service ${D}${systemd_unitdir}/system
114 sed -i -e 's,@BASE_BINDIR@,${base_bindir},g' \
115 -e 's,@SBINDIR@,${sbindir},g' \
116 -e 's,@BINDIR@,${bindir},g' \
117 ${D}${systemd_unitdir}/system/sshd.socket ${D}${systemd_unitdir}/system/*.service
118}
119
120do_install_ptest () {
121 sed -i -e "s|^SFTPSERVER=.*|SFTPSERVER=${libdir}/${PN}/sftp-server|" regress/test-exec.sh
122 cp -r regress ${D}${PTEST_PATH}
123}
124
125ALLOW_EMPTY_${PN} = "1"
126
127PACKAGES =+ "${PN}-keygen ${PN}-scp ${PN}-ssh ${PN}-sshd ${PN}-sftp ${PN}-misc ${PN}-sftp-server"
128FILES_${PN}-scp = "${bindir}/scp.${BPN}"
129FILES_${PN}-ssh = "${bindir}/ssh.${BPN} ${sysconfdir}/ssh/ssh_config"
130FILES_${PN}-sshd = "${sbindir}/sshd ${sysconfdir}/init.d/sshd ${systemd_unitdir}/system"
131FILES_${PN}-sshd += "${sysconfdir}/ssh/moduli ${sysconfdir}/ssh/sshd_config ${sysconfdir}/ssh/sshd_config_readonly ${sysconfdir}/default/volatiles/99_sshd ${sysconfdir}/pam.d/sshd"
132FILES_${PN}-sftp = "${bindir}/sftp"
133FILES_${PN}-sftp-server = "${libexecdir}/sftp-server"
134FILES_${PN}-misc = "${bindir}/ssh* ${libexecdir}/ssh*"
135FILES_${PN}-keygen = "${bindir}/ssh-keygen"
136
137RDEPENDS_${PN} += "${PN}-scp ${PN}-ssh ${PN}-sshd ${PN}-keygen"
138RDEPENDS_${PN}-sshd += "${PN}-keygen ${@base_contains('DISTRO_FEATURES', 'pam', 'pam-plugin-keyinit pam-plugin-loginuid', '', d)}"
139RDEPENDS_${PN}-ptest += "${PN}-sftp ${PN}-misc ${PN}-sftp-server make"
140
141CONFFILES_${PN}-sshd = "${sysconfdir}/ssh/sshd_config"
142CONFFILES_${PN}-ssh = "${sysconfdir}/ssh/ssh_config"
143
144ALTERNATIVE_PRIORITY = "90"
145ALTERNATIVE_${PN}-scp = "scp"
146ALTERNATIVE_${PN}-ssh = "ssh"
147
diff --git a/meta/recipes-connectivity/openssl/cryptodev-linux_1.6.bb b/meta/recipes-connectivity/openssl/cryptodev-linux_1.6.bb
new file mode 100644
index 0000000000..320716d6aa
--- /dev/null
+++ b/meta/recipes-connectivity/openssl/cryptodev-linux_1.6.bb
@@ -0,0 +1,22 @@
1SUMMARY = "A /dev/crypto device driver"
2HOMEPAGE = "http://cryptodev-linux.org/"
3
4LICENSE = "GPLv2"
5LIC_FILES_CHKSUM = "file://COPYING;md5=b234ee4d69f5fce4486a80fdaf4a4263"
6
7SRC_URI = "http://download.gna.org/cryptodev-linux/${BPN}-${PV}.tar.gz"
8
9SRC_URI[md5sum] = "eade38998313c25fd7934719cdf8a2ea"
10SRC_URI[sha256sum] = "75f1425c8ea1f8cae523905a5a046a35092327a6152800b0b86efc4e56fb3e2f"
11
12do_compile() {
13 :
14}
15
16# Just install cryptodev.h which is the only header file needed to be exported
17do_install() {
18 install -D ${S}/crypto/cryptodev.h ${D}${includedir}/crypto/cryptodev.h
19}
20
21ALLOW_EMPTY_${PN} = "1"
22BBCLASSEXTEND = "native nativesdk"
diff --git a/meta/recipes-connectivity/openssl/openssl.inc b/meta/recipes-connectivity/openssl/openssl.inc
new file mode 100644
index 0000000000..82f3734525
--- /dev/null
+++ b/meta/recipes-connectivity/openssl/openssl.inc
@@ -0,0 +1,191 @@
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"
12
13SRC_URI = "http://www.openssl.org/source/openssl-${PV}.tar.gz \
14 "
15S = "${WORKDIR}/openssl-${PV}"
16
17PACKAGECONFIG[perl] = ",,,"
18
19AR_append = " r"
20# Avoid binaries being marked as requiring an executable stack since it
21# doesn't(which causes and this causes issues with SELinux
22CFLAG = "${@base_conditional('SITEINFO_ENDIANNESS', 'le', '-DL_ENDIAN', '-DB_ENDIAN', d)} \
23 -DTERMIO ${CFLAGS} -Wall -Wa,--noexecstack"
24
25# -02 does not work on mipsel: ssh hangs when it tries to read /dev/urandom
26CFLAG_mtx-1 := "${@'${CFLAG}'.replace('-O2', '')}"
27CFLAG_mtx-2 := "${@'${CFLAG}'.replace('-O2', '')}"
28
29export DIRS = "crypto ssl apps"
30export EX_LIBS = "-lgcc -ldl"
31export AS = "${CC} -c"
32
33inherit pkgconfig siteinfo multilib_header ptest
34
35PACKAGES =+ "libcrypto libssl ${PN}-misc openssl-conf"
36FILES_libcrypto = "${base_libdir}/libcrypto${SOLIBS}"
37FILES_libssl = "${libdir}/libssl.so.*"
38FILES_${PN} =+ " ${libdir}/ssl/*"
39FILES_${PN}-misc = "${libdir}/ssl/misc ${libdir}/ssl/openssl.cnf ${bindir}/c_rehash"
40RDEPENDS_${PN}-misc = "${@base_contains('PACKAGECONFIG', 'perl', 'perl', '', d)}"
41FILES_${PN}-dev += "${base_libdir}/libcrypto${SOLIBSDEV}"
42
43# Add the openssl.cnf file to the openssl-conf package. Make the libcrypto
44# package RRECOMMENDS on this package. This will enable the configuration
45# file to be installed for both the base openssl package and the libcrypto
46# package since the base openssl package depends on the libcrypto package.
47FILES_openssl-conf = "${libdir}/ssl/openssl.cnf"
48CONFFILES_openssl-conf = "${libdir}/ssl/openssl.cnf"
49RRECOMMENDS_libcrypto += "openssl-conf"
50
51RDEPENDS_${PN}-ptest = "openssl-misc"
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 if [ "x$os" = "xlinux-uclibc" ]; then
65 os=linux
66 elif [ "x$os" = "xlinux-uclibceabi" ]; then
67 os=linux
68 elif [ "x$os" = "xlinux-uclibcspe" ]; then
69 os=linux
70 elif [ "x$os" = "xlinux-gnuspe" ]; then
71 os=linux
72 elif [ "x$os" = "xlinux-gnueabi" ]; then
73 os=linux
74 fi
75 target="$os-${HOST_ARCH}"
76 case $target in
77 linux-arm)
78 target=linux-armv4
79 ;;
80 linux-armeb)
81 target=linux-elf-armeb
82 ;;
83 linux-aarch64*)
84 target=linux-generic64
85 ;;
86 linux-sh3)
87 target=debian-sh3
88 ;;
89 linux-sh4)
90 target=debian-sh4
91 ;;
92 linux-i486)
93 target=debian-i386-i486
94 ;;
95 linux-i586 | linux-viac3)
96 target=debian-i386-i586
97 ;;
98 linux-i686)
99 target=debian-i386-i686/cmov
100 ;;
101 linux-gnux32-x86_64)
102 target=linux-x32
103 ;;
104 linux-gnu64-x86_64)
105 target=linux-x86_64
106 ;;
107 linux-mips)
108 target=debian-mips
109 ;;
110 linux-mipsel)
111 target=debian-mipsel
112 ;;
113 linux-*-mips64)
114 target=linux-mips
115 ;;
116 linux-powerpc)
117 target=linux-ppc
118 ;;
119 linux-powerpc64)
120 target=linux-ppc64
121 ;;
122 linux-supersparc)
123 target=linux-sparcv8
124 ;;
125 linux-sparc)
126 target=linux-sparcv8
127 ;;
128 darwin-i386)
129 target=darwin-i386-cc
130 ;;
131 esac
132 # inject machine-specific flags
133 sed -i -e "s|^\(\"$target\",\s*\"[^:]\+\):\([^:]\+\)|\1:${CFLAG}|g" Configure
134 useprefix=${prefix}
135 if [ "x$useprefix" = "x" ]; then
136 useprefix=/
137 fi
138 perl ./Configure ${EXTRA_OECONF} shared --prefix=$useprefix --openssldir=${libdir}/ssl --libdir=`basename ${libdir}` $target
139}
140
141do_compile () {
142 oe_runmake
143}
144
145do_compile_ptest () {
146 oe_runmake buildtest
147}
148
149do_install () {
150 oe_runmake INSTALL_PREFIX="${D}" MANDIR="${mandir}" install
151
152 oe_libinstall -so libcrypto ${D}${libdir}
153 oe_libinstall -so libssl ${D}${libdir}
154
155 # Moving libcrypto to /lib
156 if [ ! ${D}${libdir} -ef ${D}${base_libdir} ]; then
157 mkdir -p ${D}/${base_libdir}/
158 mv ${D}${libdir}/libcrypto* ${D}${base_libdir}/
159 sed -i s#libdir=\$\{exec_prefix\}\/lib#libdir=${base_libdir}# ${D}/${libdir}/pkgconfig/libcrypto.pc
160 fi
161
162 install -d ${D}${includedir}
163 cp --dereference -R include/openssl ${D}${includedir}
164
165 oe_multilib_header openssl/opensslconf.h
166 if [ "${@base_contains('PACKAGECONFIG', 'perl', 'perl', '', d)}" = "perl" ]; then
167 install -m 0755 ${S}/tools/c_rehash ${D}${bindir}
168 sed -i -e '1s,.*,#!${bindir}/env perl,' ${D}${bindir}/c_rehash
169 sed -i -e '1s,.*,#!${bindir}/env perl,' ${D}${libdir}/ssl/misc/CA.pl
170 sed -i -e '1s,.*,#!${bindir}/env perl,' ${D}${libdir}/ssl/misc/tsget
171 # The c_rehash utility isn't installed by the normal installation process.
172 else
173 rm -f ${D}${bindir}/c_rehash
174 rm -f ${D}${libdir}/ssl/misc/CA.pl ${D}${libdir}/ssl/misc/tsget
175 fi
176}
177
178do_install_ptest () {
179 cp -r Makefile test ${D}${PTEST_PATH}
180 mkdir -p ${D}${PTEST_PATH}/apps
181 ln -sf /usr/lib/ssl/misc/CA.sh ${D}${PTEST_PATH}/apps
182 ln -sf /usr/lib/ssl/openssl.cnf ${D}${PTEST_PATH}/apps
183 ln -sf /usr/bin/openssl ${D}${PTEST_PATH}/apps
184 cp apps/server2.pem ${D}${PTEST_PATH}/apps
185 mkdir -p ${D}${PTEST_PATH}/util
186 install util/opensslwrap.sh ${D}${PTEST_PATH}/util
187 install util/shlib_wrap.sh ${D}${PTEST_PATH}/util
188}
189
190BBCLASSEXTEND = "native nativesdk"
191
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..e65f17ba54
--- /dev/null
+++ b/meta/recipes-connectivity/openssl/openssl/Makefiles-ptest.patch
@@ -0,0 +1,74 @@
1Add 'buildtest' and 'runtest' targets to Makefile, to build and run tests
2cross-compiled.
3
4Signed-off-by: Anders Roxell <anders.roxell@enea.com>
5Upstream-Status: Pending
6---
7diff -uNr a/Makefile b/Makefile
8--- a/Makefile.org 2012-05-10 17:06:02.000000000 +0200
9+++ b/Makefile.org 2012-10-27 00:05:55.359424024 +0200
10@@ -411,8 +411,16 @@
11 test: tests
12
13 tests: rehash
14+ $(MAKE) buildtest
15+ $(MAKE) runtest
16+
17+buildtest:
18+ @(cd test && \
19+ $(CLEARENV) && $(MAKE) -e $(BUILDENV) TOP=.. TESTS='$(TESTS)' OPENSSL_DEBUG_MEMORY=on OPENSSL_CONF=../apps/openssl.cnf exe apps);
20+
21+runtest:
22 @(cd test && echo "testing..." && \
23- $(CLEARENV) && $(MAKE) -e $(BUILDENV) TOP=.. TESTS='$(TESTS)' OPENSSL_DEBUG_MEMORY=on OPENSSL_CONF=../apps/openssl.cnf tests );
24+ $(CLEARENV) && $(MAKE) -e $(BUILDENV) TOP=.. TESTS='$(TESTS)' OPENSSL_DEBUG_MEMORY=on OPENSSL_CONF=../apps/openssl.cnf alltests );
25 OPENSSL_CONF=apps/openssl.cnf util/opensslwrap.sh version -a
26
27 report:
28diff --git a/test/Makefile b/test/Makefile
29index 3912f82..1696767 100644
30--- a/test/Makefile
31+++ b/test/Makefile
32@@ -128,7 +128,7 @@ tests: exe apps $(TESTS)
33 apps:
34 @(cd ..; $(MAKE) DIRS=apps all)
35
36-alltests: \
37+all-tests= \
38 test_des test_idea test_sha test_md4 test_md5 test_hmac \
39 test_md2 test_mdc2 test_wp \
40 test_rmd test_rc2 test_rc4 test_rc5 test_bf test_cast test_aes \
41@@ -138,6 +138,11 @@ alltests: \
42 test_ss test_ca test_engine test_evp test_ssl test_tsa test_ige \
43 test_jpake test_cms
44
45+alltests:
46+ @(for i in $(all-tests); do \
47+ ( $(MAKE) $$i && echo "PASS: $$i" ) || echo "FAIL: $$i"; \
48+ done)
49+
50 test_evp:
51 ../util/shlib_wrap.sh ./$(EVPTEST) evptests.txt
52
53@@ -203,7 +208,7 @@ test_x509:
54 echo test second x509v3 certificate
55 sh ./tx509 v3-cert2.pem 2>/dev/null
56
57-test_rsa: $(RSATEST)$(EXE_EXT)
58+test_rsa:
59 @sh ./trsa 2>/dev/null
60 ../util/shlib_wrap.sh ./$(RSATEST)
61
62@@ -298,11 +303,11 @@ test_tsa:
63 sh ./testtsa; \
64 fi
65
66-test_ige: $(IGETEST)$(EXE_EXT)
67+test_ige:
68 @echo "Test IGE mode"
69 ../util/shlib_wrap.sh ./$(IGETEST)
70
71-test_jpake: $(JPAKETEST)$(EXE_EXT)
72+test_jpake:
73 @echo "Test JPAKE"
74 ../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..c1f3d0878e
--- /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 -DTERMIO::-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 -DTERMIO::-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 -DTERMIO -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 -DTERMIO -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 -DTERMIO -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 -DTERMIO -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 -DTERMIO -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 -DTERMIO -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'}:-DTERMIO -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 -DTERMIO -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 -DTERMIO -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 -DTERMIO -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 -DTERMIO -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 -DTERMIO and 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..f0e177840f
--- /dev/null
+++ b/meta/recipes-connectivity/openssl/openssl/fix-cipher-des-ede3-cfb1.patch
@@ -0,0 +1,22 @@
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
9diff --git a/crypto/evp/e_des3.c b/crypto/evp/e_des3.c
10index 3232cfe..df84922 100644
11===================================================================
12--- a/crypto/evp/e_des3.c
13+++ b/crypto/evp/e_des3.c
14@@ -173,7 +173,7 @@ static int des_ede3_cfb1_cipher(EVP_CIPHER_CTX *ctx, unsigned char *out,
15 size_t n;
16 unsigned char c[1],d[1];
17
18- for(n=0 ; n < inl ; ++n)
19+ for(n=0 ; n < inl*8 ; ++n)
20 {
21 c[0]=(in[n/8]&(1 << (7-n%8))) ? 0x80 : 0;
22 DES_ede3_cfb_encrypt(c,d,1,1,
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..2185ff8a46
--- /dev/null
+++ b/meta/recipes-connectivity/openssl/openssl/initial-aarch64-bits.patch
@@ -0,0 +1,119 @@
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.
7---
8 crypto/bn/bn_lcl.h | 9 +++++++++
9 crypto/md32_common.h | 18 ++++++++++++++++++
10 crypto/modes/modes_lcl.h | 8 ++++++++
11 crypto/sha/sha512.c | 13 +++++++++++++
12 4 files changed, 48 insertions(+)
13
14Index: openssl-1.0.1f/crypto/bn/bn_lcl.h
15===================================================================
16--- openssl-1.0.1f.orig/crypto/bn/bn_lcl.h 2014-01-06 15:47:42.000000000 +0200
17+++ openssl-1.0.1f/crypto/bn/bn_lcl.h 2014-02-28 10:37:55.495979037 +0200
18@@ -300,6 +300,15 @@
19 : "r"(a), "r"(b));
20 # endif
21 # endif
22+# elif defined(__aarch64__) && defined(SIXTY_FOUR_BIT_LONG)
23+# if defined(__GNUC__) && __GNUC__>=2
24+# define BN_UMULT_HIGH(a,b) ({ \
25+ register BN_ULONG ret; \
26+ asm ("umulh %0,%1,%2" \
27+ : "=r"(ret) \
28+ : "r"(a), "r"(b)); \
29+ ret; })
30+# endif
31 # endif /* cpu */
32 #endif /* OPENSSL_NO_ASM */
33
34Index: openssl-1.0.1f/crypto/md32_common.h
35===================================================================
36--- openssl-1.0.1f.orig/crypto/md32_common.h 2014-01-06 15:47:42.000000000 +0200
37+++ openssl-1.0.1f/crypto/md32_common.h 2014-02-28 10:39:21.751979107 +0200
38@@ -213,6 +213,24 @@
39 asm ("bswapl %0":"=r"(r):"0"(r)); \
40 *((unsigned int *)(c))=r; (c)+=4; r; })
41 # endif
42+# elif defined(__aarch64__)
43+# if defined(__BYTE_ORDER__)
44+# if defined(__ORDER_LITTLE_ENDIAN__) && __BYTE_ORDER__==__ORDER_LITTLE_ENDIAN__
45+# define HOST_c2l(c,l) ({ unsigned int r; \
46+ asm ("rev %w0,%w1" \
47+ :"=r"(r) \
48+ :"r"(*((const unsigned int *)(c))));\
49+ (c)+=4; (l)=r; })
50+# define HOST_l2c(l,c) ({ unsigned int r; \
51+ asm ("rev %w0,%w1" \
52+ :"=r"(r) \
53+ :"r"((unsigned int)(l)));\
54+ *((unsigned int *)(c))=r; (c)+=4; r; })
55+# elif defined(__ORDER_BIG_ENDIAN__) && __BYTE_ORDER__==__ORDER_BIG_ENDIAN__
56+# define HOST_c2l(c,l) ((l)=*((const unsigned int *)(c)), (c)+=4, (l))
57+# define HOST_l2c(l,c) (*((unsigned int *)(c))=(l), (c)+=4, (l))
58+# endif
59+# endif
60 # endif
61 # endif
62 #endif
63Index: openssl-1.0.1f/crypto/modes/modes_lcl.h
64===================================================================
65--- openssl-1.0.1f.orig/crypto/modes/modes_lcl.h 2014-02-28 10:47:48.731979011 +0200
66+++ openssl-1.0.1f/crypto/modes/modes_lcl.h 2014-02-28 10:48:49.707978919 +0200
67@@ -29,6 +29,7 @@
68 #if defined(__i386) || defined(__i386__) || \
69 defined(__x86_64) || defined(__x86_64__) || \
70 defined(_M_IX86) || defined(_M_AMD64) || defined(_M_X64) || \
71+ defined(__aarch64__) || \
72 defined(__s390__) || defined(__s390x__)
73 # undef STRICT_ALIGNMENT
74 #endif
75@@ -50,6 +51,13 @@
76 # define BSWAP4(x) ({ u32 ret=(x); \
77 asm ("bswapl %0" \
78 : "+r"(ret)); ret; })
79+# elif defined(__aarch64__)
80+# define BSWAP8(x) ({ u64 ret; \
81+ asm ("rev %0,%1" \
82+ : "=r"(ret) : "r"(x)); ret; })
83+# define BSWAP4(x) ({ u32 ret; \
84+ asm ("rev %w0,%w1" \
85+ : "=r"(ret) : "r"(x)); ret; })
86 # elif (defined(__arm__) || defined(__arm)) && !defined(STRICT_ALIGNMENT)
87 # define BSWAP8(x) ({ u32 lo=(u64)(x)>>32,hi=(x); \
88 asm ("rev %0,%0; rev %1,%1" \
89Index: openssl-1.0.1f/crypto/sha/sha512.c
90===================================================================
91--- openssl-1.0.1f.orig/crypto/sha/sha512.c 2014-01-06 15:47:42.000000000 +0200
92+++ openssl-1.0.1f/crypto/sha/sha512.c 2014-02-28 10:52:14.579978981 +0200
93@@ -55,6 +55,7 @@
94 #if defined(__i386) || defined(__i386__) || defined(_M_IX86) || \
95 defined(__x86_64) || defined(_M_AMD64) || defined(_M_X64) || \
96 defined(__s390__) || defined(__s390x__) || \
97+ defined(__aarch64__) || \
98 defined(SHA512_ASM)
99 #define SHA512_BLOCK_CAN_MANAGE_UNALIGNED_DATA
100 #endif
101@@ -347,6 +348,18 @@
102 asm ("rotrdi %0,%1,%2" \
103 : "=r"(ret) \
104 : "r"(a),"K"(n)); ret; })
105+# elif defined(__aarch64__)
106+# define ROTR(a,n) ({ SHA_LONG64 ret; \
107+ asm ("ror %0,%1,%2" \
108+ : "=r"(ret) \
109+ : "r"(a),"I"(n)); ret; })
110+# if defined(__BYTE_ORDER__) && defined(__ORDER_LITTLE_ENDIAN__) && \
111+ __BYTE_ORDER__==__ORDER_LITTLE_ENDIAN__
112+# define PULL64(x) ({ SHA_LONG64 ret; \
113+ asm ("rev %0,%1" \
114+ : "=r"(ret) \
115+ : "r"(*((const SHA_LONG64 *)(&(x))))); ret; })
116+# endif
117 # endif
118 # elif defined(_MSC_VER)
119 # 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-CVE-2014-0198-fix.patch b/meta/recipes-connectivity/openssl/openssl/openssl-CVE-2014-0198-fix.patch
new file mode 100644
index 0000000000..4c51d746ff
--- /dev/null
+++ b/meta/recipes-connectivity/openssl/openssl/openssl-CVE-2014-0198-fix.patch
@@ -0,0 +1,23 @@
1Upstream-Status: Backport
2
3Reference: https://bugzilla.redhat.com/show_bug.cgi?id=1093837
4
5CVE-2014-0198: An attacker can trigger generation of an SSL
6alert which could cause a null pointer dereference.
7
8Signed-off-by: Maxin B. John <maxin.john@enea.com>
9---
10diff -Naur openssl-1.0.1g-orig/ssl/s3_pkt.c openssl-1.0.1g/ssl/s3_pkt.c
11--- openssl-1.0.1g-orig/ssl/s3_pkt.c 2014-03-17 17:14:20.000000000 +0100
12+++ openssl-1.0.1g/ssl/s3_pkt.c 2014-05-06 02:32:43.862587660 +0200
13@@ -657,6 +657,10 @@
14 if (i <= 0)
15 return(i);
16 /* if it went, fall through and send more stuff */
17+ /* we may have released our buffer, so get it again */
18+ if (wb->buf == NULL)
19+ if (!ssl3_setup_write_buffer(s))
20+ return -1;
21 }
22
23 if (len == 0 && !create_empty_fragment)
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..c161e62f62
--- /dev/null
+++ b/meta/recipes-connectivity/openssl/openssl/openssl-avoid-NULL-pointer-dereference-in-EVP_DigestInit_ex.patch
@@ -0,0 +1,21 @@
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---
11--- a/crypto/evp/digest.c
12+++ b/crypto/evp/digest.c
13@@ -199,7 +199,7 @@
14 return 0;
15 }
16 #endif
17- if (ctx->digest != type)
18+ if (type && (ctx->digest != type))
19 {
20 if (ctx->digest && ctx->digest->ctx_size)
21 OPENSSL_free(ctx->md_data);
diff --git a/meta/recipes-connectivity/openssl/openssl/openssl-avoid-NULL-pointer-dereference-in-dh_pub_encode.patch b/meta/recipes-connectivity/openssl/openssl/openssl-avoid-NULL-pointer-dereference-in-dh_pub_encode.patch
new file mode 100644
index 0000000000..3e93fe4e22
--- /dev/null
+++ b/meta/recipes-connectivity/openssl/openssl/openssl-avoid-NULL-pointer-dereference-in-dh_pub_encode.patch
@@ -0,0 +1,39 @@
1openssl: avoid NULL pointer dereference in dh_pub_encode()/dsa_pub_encode()
2
3We should avoid accessing the pointer if ASN1_STRING_new()
4allocates memory failed.
5
6Upstream-Status: Submitted
7http://www.mail-archive.com/openssl-dev@openssl.org/msg32859.html
8
9Signed-off-by: Xufeng Zhang <xufeng.zhang@windriver.com>
10---
11--- a/crypto/dh/dh_ameth.c
12+++ b/crypto/dh/dh_ameth.c
13@@ -139,6 +139,12 @@
14 dh=pkey->pkey.dh;
15
16 str = ASN1_STRING_new();
17+ if (!str)
18+ {
19+ DHerr(DH_F_DH_PUB_ENCODE, ERR_R_MALLOC_FAILURE);
20+ goto err;
21+ }
22+
23 str->length = i2d_DHparams(dh, &str->data);
24 if (str->length <= 0)
25 {
26--- a/crypto/dsa/dsa_ameth.c
27+++ b/crypto/dsa/dsa_ameth.c
28@@ -148,6 +148,11 @@
29 {
30 ASN1_STRING *str;
31 str = ASN1_STRING_new();
32+ if (!str)
33+ {
34+ DSAerr(DSA_F_DSA_PUB_ENCODE, ERR_R_MALLOC_FAILURE);
35+ goto err;
36+ }
37 str->length = i2d_DSAparams(dsa, &str->data);
38 if (str->length <= 0)
39 {
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-doc.patch b/meta/recipes-connectivity/openssl/openssl/openssl-fix-doc.patch
new file mode 100644
index 0000000000..451256eaa5
--- /dev/null
+++ b/meta/recipes-connectivity/openssl/openssl/openssl-fix-doc.patch
@@ -0,0 +1,401 @@
1Fix documentation build errors with Perl 5.18 pod2man
2
3This fixes errors building man pages with newer versions of pod2man
4included with Perl 5.18.
5
6Upstream-Status: Submitted
7Signed-off-by: Jonathan Liu
8
9Index: openssl-1.0.1f/doc/apps/cms.pod
10===================================================================
11--- openssl-1.0.1f.orig/doc/apps/cms.pod 2014-01-06 15:47:42.000000000 +0200
12+++ openssl-1.0.1f/doc/apps/cms.pod 2014-02-28 10:13:51.899979213 +0200
13@@ -450,28 +450,28 @@
14
15 =over 4
16
17-=item 0
18+=item Z<>0
19
20 the operation was completely successfully.
21
22-=item 1
23+=item Z<>1
24
25 an error occurred parsing the command options.
26
27-=item 2
28+=item Z<>2
29
30 one of the input files could not be read.
31
32-=item 3
33+=item Z<>3
34
35 an error occurred creating the CMS file or when reading the MIME
36 message.
37
38-=item 4
39+=item Z<>4
40
41 an error occurred decrypting or verifying the message.
42
43-=item 5
44+=item Z<>5
45
46 the message was verified correctly but an error occurred writing out
47 the signers certificates.
48Index: openssl-1.0.1f/doc/apps/smime.pod
49===================================================================
50--- openssl-1.0.1f.orig/doc/apps/smime.pod 2014-01-06 15:47:42.000000000 +0200
51+++ openssl-1.0.1f/doc/apps/smime.pod 2014-02-28 10:16:57.795979233 +0200
52@@ -308,28 +308,28 @@
53
54 =over 4
55
56-=item 0
57+=item Z<>0
58
59 the operation was completely successfully.
60
61-=item 1
62+=item Z<>1
63
64 an error occurred parsing the command options.
65
66-=item 2
67+=item Z<>2
68
69 one of the input files could not be read.
70
71-=item 3
72+=item Z<>3
73
74 an error occurred creating the PKCS#7 file or when reading the MIME
75 message.
76
77-=item 4
78+=item Z<>4
79
80 an error occurred decrypting or verifying the message.
81
82-=item 5
83+=item Z<>5
84
85 the message was verified correctly but an error occurred writing out
86 the signers certificates.
87Index: openssl-1.0.1f/doc/ssl/SSL_COMP_add_compression_method.pod
88===================================================================
89--- openssl-1.0.1f.orig/doc/ssl/SSL_COMP_add_compression_method.pod 2014-01-06 15:47:42.000000000 +0200
90+++ openssl-1.0.1f/doc/ssl/SSL_COMP_add_compression_method.pod 2014-02-28 10:18:09.679979225 +0200
91@@ -53,11 +53,11 @@
92
93 =over 4
94
95-=item 0
96+=item Z<>0
97
98 The operation succeeded.
99
100-=item 1
101+=item Z<>1
102
103 The operation failed. Check the error queue to find out the reason.
104
105Index: openssl-1.0.1f/doc/ssl/SSL_CTX_add_session.pod
106===================================================================
107--- openssl-1.0.1f.orig/doc/ssl/SSL_CTX_add_session.pod 2014-01-06 15:47:42.000000000 +0200
108+++ openssl-1.0.1f/doc/ssl/SSL_CTX_add_session.pod 2014-02-28 10:18:42.687979221 +0200
109@@ -52,13 +52,13 @@
110
111 =over 4
112
113-=item 0
114+=item Z<>0
115
116 The operation failed. In case of the add operation, it was tried to add
117 the same (identical) session twice. In case of the remove operation, the
118 session was not found in the cache.
119
120-=item 1
121+=item Z<>1
122
123 The operation succeeded.
124
125Index: openssl-1.0.1f/doc/ssl/SSL_CTX_load_verify_locations.pod
126===================================================================
127--- openssl-1.0.1f.orig/doc/ssl/SSL_CTX_load_verify_locations.pod 2014-01-06 15:47:42.000000000 +0200
128+++ openssl-1.0.1f/doc/ssl/SSL_CTX_load_verify_locations.pod 2014-02-28 10:19:09.079979218 +0200
129@@ -100,13 +100,13 @@
130
131 =over 4
132
133-=item 0
134+=item Z<>0
135
136 The operation failed because B<CAfile> and B<CApath> are NULL or the
137 processing at one of the locations specified failed. Check the error
138 stack to find out the reason.
139
140-=item 1
141+=item Z<>1
142
143 The operation succeeded.
144
145Index: openssl-1.0.1f/doc/ssl/SSL_CTX_set_client_CA_list.pod
146===================================================================
147--- openssl-1.0.1f.orig/doc/ssl/SSL_CTX_set_client_CA_list.pod 2014-01-06 15:47:42.000000000 +0200
148+++ openssl-1.0.1f/doc/ssl/SSL_CTX_set_client_CA_list.pod 2014-02-28 10:19:42.999979220 +0200
149@@ -66,13 +66,13 @@
150
151 =over 4
152
153-=item 0
154+=item Z<>0
155
156 A failure while manipulating the STACK_OF(X509_NAME) object occurred or
157 the X509_NAME could not be extracted from B<cacert>. Check the error stack
158 to find out the reason.
159
160-=item 1
161+=item Z<>1
162
163 The operation succeeded.
164
165Index: openssl-1.0.1f/doc/ssl/SSL_CTX_set_session_id_context.pod
166===================================================================
167--- openssl-1.0.1f.orig/doc/ssl/SSL_CTX_set_session_id_context.pod 2014-01-06 15:47:42.000000000 +0200
168+++ openssl-1.0.1f/doc/ssl/SSL_CTX_set_session_id_context.pod 2014-02-28 10:20:06.495979211 +0200
169@@ -64,13 +64,13 @@
170
171 =over 4
172
173-=item 0
174+=item Z<>0
175
176 The length B<sid_ctx_len> of the session id context B<sid_ctx> exceeded
177 the maximum allowed length of B<SSL_MAX_SSL_SESSION_ID_LENGTH>. The error
178 is logged to the error stack.
179
180-=item 1
181+=item Z<>1
182
183 The operation succeeded.
184
185Index: openssl-1.0.1f/doc/ssl/SSL_CTX_set_ssl_version.pod
186===================================================================
187--- openssl-1.0.1f.orig/doc/ssl/SSL_CTX_set_ssl_version.pod 2014-01-06 15:47:42.000000000 +0200
188+++ openssl-1.0.1f/doc/ssl/SSL_CTX_set_ssl_version.pod 2014-02-28 10:20:32.111979208 +0200
189@@ -42,11 +42,11 @@
190
191 =over 4
192
193-=item 0
194+=item Z<>0
195
196 The new choice failed, check the error stack to find out the reason.
197
198-=item 1
199+=item Z<>1
200
201 The operation succeeded.
202
203Index: openssl-1.0.1f/doc/ssl/SSL_CTX_use_psk_identity_hint.pod
204===================================================================
205--- openssl-1.0.1f.orig/doc/ssl/SSL_CTX_use_psk_identity_hint.pod 2014-01-06 15:47:42.000000000 +0200
206+++ openssl-1.0.1f/doc/ssl/SSL_CTX_use_psk_identity_hint.pod 2014-02-28 10:21:12.351979203 +0200
207@@ -96,7 +96,7 @@
208 connection will fail with decryption_error before it will be finished
209 completely.
210
211-=item 0
212+=item Z<>0
213
214 PSK identity was not found. An "unknown_psk_identity" alert message
215 will be sent and the connection setup fails.
216Index: openssl-1.0.1f/doc/ssl/SSL_accept.pod
217===================================================================
218--- openssl-1.0.1f.orig/doc/ssl/SSL_accept.pod 2014-01-06 15:47:42.000000000 +0200
219+++ openssl-1.0.1f/doc/ssl/SSL_accept.pod 2014-02-28 10:21:51.535979215 +0200
220@@ -44,13 +44,13 @@
221
222 =over 4
223
224-=item 0
225+=item Z<>0
226
227 The TLS/SSL handshake was not successful but was shut down controlled and
228 by the specifications of the TLS/SSL protocol. Call SSL_get_error() with the
229 return value B<ret> to find out the reason.
230
231-=item 1
232+=item Z<>1
233
234 The TLS/SSL handshake was successfully completed, a TLS/SSL connection has been
235 established.
236Index: openssl-1.0.1f/doc/ssl/SSL_clear.pod
237===================================================================
238--- openssl-1.0.1f.orig/doc/ssl/SSL_clear.pod 2014-01-06 15:47:42.000000000 +0200
239+++ openssl-1.0.1f/doc/ssl/SSL_clear.pod 2014-02-28 10:22:13.087979196 +0200
240@@ -56,12 +56,12 @@
241
242 =over 4
243
244-=item 0
245+=item Z<>0
246
247 The SSL_clear() operation could not be performed. Check the error stack to
248 find out the reason.
249
250-=item 1
251+=item Z<>1
252
253 The SSL_clear() operation was successful.
254
255Index: openssl-1.0.1f/doc/ssl/SSL_connect.pod
256===================================================================
257--- openssl-1.0.1f.orig/doc/ssl/SSL_connect.pod 2014-01-06 15:47:42.000000000 +0200
258+++ openssl-1.0.1f/doc/ssl/SSL_connect.pod 2014-02-28 10:22:33.991979193 +0200
259@@ -41,13 +41,13 @@
260
261 =over 4
262
263-=item 0
264+=item Z<>0
265
266 The TLS/SSL handshake was not successful but was shut down controlled and
267 by the specifications of the TLS/SSL protocol. Call SSL_get_error() with the
268 return value B<ret> to find out the reason.
269
270-=item 1
271+=item Z<>1
272
273 The TLS/SSL handshake was successfully completed, a TLS/SSL connection has been
274 established.
275Index: openssl-1.0.1f/doc/ssl/SSL_do_handshake.pod
276===================================================================
277--- openssl-1.0.1f.orig/doc/ssl/SSL_do_handshake.pod 2014-01-06 15:47:42.000000000 +0200
278+++ openssl-1.0.1f/doc/ssl/SSL_do_handshake.pod 2014-02-28 10:22:56.887979159 +0200
279@@ -45,13 +45,13 @@
280
281 =over 4
282
283-=item 0
284+=item Z<>0
285
286 The TLS/SSL handshake was not successful but was shut down controlled and
287 by the specifications of the TLS/SSL protocol. Call SSL_get_error() with the
288 return value B<ret> to find out the reason.
289
290-=item 1
291+=item Z<>1
292
293 The TLS/SSL handshake was successfully completed, a TLS/SSL connection has been
294 established.
295Index: openssl-1.0.1f/doc/ssl/SSL_read.pod
296===================================================================
297--- openssl-1.0.1f.orig/doc/ssl/SSL_read.pod 2014-01-06 15:47:42.000000000 +0200
298+++ openssl-1.0.1f/doc/ssl/SSL_read.pod 2014-02-28 10:23:15.303979188 +0200
299@@ -86,7 +86,7 @@
300 The read operation was successful; the return value is the number of
301 bytes actually read from the TLS/SSL connection.
302
303-=item 0
304+=item Z<>0
305
306 The read operation was not successful. The reason may either be a clean
307 shutdown due to a "close notify" alert sent by the peer (in which case
308Index: openssl-1.0.1f/doc/ssl/SSL_session_reused.pod
309===================================================================
310--- openssl-1.0.1f.orig/doc/ssl/SSL_session_reused.pod 2014-01-06 15:47:42.000000000 +0200
311+++ openssl-1.0.1f/doc/ssl/SSL_session_reused.pod 2014-02-28 10:23:36.615979186 +0200
312@@ -27,11 +27,11 @@
313
314 =over 4
315
316-=item 0
317+=item Z<>0
318
319 A new session was negotiated.
320
321-=item 1
322+=item Z<>1
323
324 A session was reused.
325
326Index: openssl-1.0.1f/doc/ssl/SSL_set_fd.pod
327===================================================================
328--- openssl-1.0.1f.orig/doc/ssl/SSL_set_fd.pod 2014-01-06 15:47:42.000000000 +0200
329+++ openssl-1.0.1f/doc/ssl/SSL_set_fd.pod 2014-02-28 10:23:57.599979183 +0200
330@@ -35,11 +35,11 @@
331
332 =over 4
333
334-=item 0
335+=item Z<>0
336
337 The operation failed. Check the error stack to find out why.
338
339-=item 1
340+=item Z<>1
341
342 The operation succeeded.
343
344Index: openssl-1.0.1f/doc/ssl/SSL_set_session.pod
345===================================================================
346--- openssl-1.0.1f.orig/doc/ssl/SSL_set_session.pod 2014-01-06 15:47:42.000000000 +0200
347+++ openssl-1.0.1f/doc/ssl/SSL_set_session.pod 2014-02-28 10:24:16.943979181 +0200
348@@ -37,11 +37,11 @@
349
350 =over 4
351
352-=item 0
353+=item Z<>0
354
355 The operation failed; check the error stack to find out the reason.
356
357-=item 1
358+=item Z<>1
359
360 The operation succeeded.
361
362Index: openssl-1.0.1f/doc/ssl/SSL_shutdown.pod
363===================================================================
364--- openssl-1.0.1f.orig/doc/ssl/SSL_shutdown.pod 2014-01-06 15:47:42.000000000 +0200
365+++ openssl-1.0.1f/doc/ssl/SSL_shutdown.pod 2014-02-28 10:25:03.623979175 +0200
366@@ -92,19 +92,19 @@
367
368 =over 4
369
370-=item 0
371+=item Z<>0
372
373 The shutdown is not yet finished. Call SSL_shutdown() for a second time,
374 if a bidirectional shutdown shall be performed.
375 The output of L<SSL_get_error(3)|SSL_get_error(3)> may be misleading, as an
376 erroneous SSL_ERROR_SYSCALL may be flagged even though no error occurred.
377
378-=item 1
379+=item Z<>1
380
381 The shutdown was successfully completed. The "close notify" alert was sent
382 and the peer's "close notify" alert was received.
383
384-=item -1
385+=item Z<>-1
386
387 The shutdown was not successful because a fatal error occurred either
388 at the protocol level or a connection failure occurred. It can also occur if
389Index: openssl-1.0.1f/doc/ssl/SSL_write.pod
390===================================================================
391--- openssl-1.0.1f.orig/doc/ssl/SSL_write.pod 2014-01-06 15:47:42.000000000 +0200
392+++ openssl-1.0.1f/doc/ssl/SSL_write.pod 2014-02-28 10:25:36.031979168 +0200
393@@ -79,7 +79,7 @@
394 The write operation was successful, the return value is the number of
395 bytes actually written to the TLS/SSL connection.
396
397-=item 0
398+=item Z<>0
399
400 The write operation was not successful. Probably the underlying connection
401 was closed. Call SSL_get_error() with the return value B<ret> to find out,
diff --git a/meta/recipes-connectivity/openssl/openssl/openssl-fix-link.patch b/meta/recipes-connectivity/openssl/openssl/openssl-fix-link.patch
new file mode 100644
index 0000000000..154106cbcd
--- /dev/null
+++ b/meta/recipes-connectivity/openssl/openssl/openssl-fix-link.patch
@@ -0,0 +1,35 @@
1From aabfb6f78af8e337d3239142117ba303fce55e7e Mon Sep 17 00:00:00 2001
2From: Dmitry Eremin-Solenikov <dbaryshkov@gmail.com>
3Date: Thu, 22 Sep 2011 08:55:26 +0200
4Subject: [PATCH] fix the parallel build regarding shared libraries.
5
6Upstream-Status: Pending
7---
8 .../openssl-1.0.0e/Makefile.org | 8 ++++----
9 1 files changed, 4 insertions(+), 4 deletions(-)
10
11diff --git a/Makefile.org
12index 3c7aea1..6326cd6 100644
13--- a/Makefile.org
14+++ b/Makefile.org
15@@ -243,13 +243,13 @@ build_libs: build_crypto build_ssl build_engines
16
17 build_crypto:
18 @dir=crypto; target=all; $(BUILD_ONE_CMD)
19-build_ssl:
20+build_ssl: build_crypto
21 @dir=ssl; target=all; $(BUILD_ONE_CMD)
22-build_engines:
23+build_engines: build_crypto
24 @dir=engines; target=all; $(BUILD_ONE_CMD)
25-build_apps:
26+build_apps: build_crypto build_ssl
27 @dir=apps; target=all; $(BUILD_ONE_CMD)
28-build_tests:
29+build_tests: build_crypto build_ssl
30 @dir=test; target=all; $(BUILD_ONE_CMD)
31 build_tools:
32 @dir=tools; target=all; $(BUILD_ONE_CMD)
33--
341.6.6.1
35
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..93ce0343cc
--- /dev/null
+++ b/meta/recipes-connectivity/openssl/openssl/openssl_fix_for_x32.patch
@@ -0,0 +1,90 @@
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
9Index: openssl-1.0.1e/Configure
10===================================================================
11--- openssl-1.0.1e.orig/Configure
12+++ openssl-1.0.1e/Configure
13@@ -402,6 +402,7 @@ my %table=(
14 "linux-ia64-ecc","ecc:-DL_ENDIAN -DTERMIO -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)",
15 "linux-ia64-icc","icc:-DL_ENDIAN -DTERMIO -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)",
16 "linux-x86_64", "gcc:-m64 -DL_ENDIAN -DTERMIO -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",
17+"linux-x32", "gcc:-mx32 -DL_ENDIAN -DTERMIO -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",
18 "linux64-s390x", "gcc:-m64 -DB_ENDIAN -DTERMIO -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",
19 #### So called "highgprs" target for z/Architecture CPUs
20 # "Highgprs" is kernel feature first implemented in Linux 2.6.32, see
21Index: openssl-1.0.1e/crypto/bn/asm/x86_64-gcc.c
22===================================================================
23--- openssl-1.0.1e.orig/crypto/bn/asm/x86_64-gcc.c
24+++ openssl-1.0.1e/crypto/bn/asm/x86_64-gcc.c
25@@ -55,7 +55,7 @@
26 * machine.
27 */
28
29-#ifdef _WIN64
30+#if defined _WIN64 || !defined __LP64__
31 #define BN_ULONG unsigned long long
32 #else
33 #define BN_ULONG unsigned long
34@@ -192,9 +192,9 @@ BN_ULONG bn_add_words (BN_ULONG *rp, con
35 asm (
36 " subq %2,%2 \n"
37 ".p2align 4 \n"
38- "1: movq (%4,%2,8),%0 \n"
39- " adcq (%5,%2,8),%0 \n"
40- " movq %0,(%3,%2,8) \n"
41+ "1: movq (%q4,%2,8),%0 \n"
42+ " adcq (%q5,%2,8),%0 \n"
43+ " movq %0,(%q3,%2,8) \n"
44 " leaq 1(%2),%2 \n"
45 " loop 1b \n"
46 " sbbq %0,%0 \n"
47@@ -215,9 +215,9 @@ BN_ULONG bn_sub_words (BN_ULONG *rp, con
48 asm (
49 " subq %2,%2 \n"
50 ".p2align 4 \n"
51- "1: movq (%4,%2,8),%0 \n"
52- " sbbq (%5,%2,8),%0 \n"
53- " movq %0,(%3,%2,8) \n"
54+ "1: movq (%q4,%2,8),%0 \n"
55+ " sbbq (%q5,%2,8),%0 \n"
56+ " movq %0,(%q3,%2,8) \n"
57 " leaq 1(%2),%2 \n"
58 " loop 1b \n"
59 " sbbq %0,%0 \n"
60Index: openssl-1.0.1e/crypto/bn/bn.h
61===================================================================
62--- openssl-1.0.1e.orig/crypto/bn/bn.h
63+++ openssl-1.0.1e/crypto/bn/bn.h
64@@ -172,6 +172,13 @@ extern "C" {
65 # endif
66 #endif
67
68+/* Address type. */
69+#ifdef _WIN64
70+#define BN_ADDR unsigned long long
71+#else
72+#define BN_ADDR unsigned long
73+#endif
74+
75 /* assuming long is 64bit - this is the DEC Alpha
76 * unsigned long long is only 64 bits :-(, don't define
77 * BN_LLONG for the DEC Alpha */
78Index: openssl-1.0.1e/crypto/bn/bn_exp.c
79===================================================================
80--- openssl-1.0.1e.orig/crypto/bn/bn_exp.c
81+++ openssl-1.0.1e/crypto/bn/bn_exp.c
82@@ -567,7 +567,7 @@ static int MOD_EXP_CTIME_COPY_FROM_PREBU
83
84 /* Given a pointer value, compute the next address that is a cache line multiple. */
85 #define MOD_EXP_CTIME_ALIGN(x_) \
86- ((unsigned char*)(x_) + (MOD_EXP_CTIME_MIN_CACHE_LINE_WIDTH - (((size_t)(x_)) & (MOD_EXP_CTIME_MIN_CACHE_LINE_MASK))))
87+ ((unsigned char*)(x_) + (MOD_EXP_CTIME_MIN_CACHE_LINE_WIDTH - (((BN_ADDR)(x_)) & (MOD_EXP_CTIME_MIN_CACHE_LINE_MASK))))
88
89 /* This variant of BN_mod_exp_mont() uses fixed windows and the special
90 * precomputation memory layout to limit data-dependency to a minimum
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.1g.bb b/meta/recipes-connectivity/openssl/openssl_1.0.1g.bb
new file mode 100644
index 0000000000..dad89f0a22
--- /dev/null
+++ b/meta/recipes-connectivity/openssl/openssl_1.0.1g.bb
@@ -0,0 +1,58 @@
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://openssl-fix-link.patch \
19 file://debian/version-script.patch \
20 file://debian/pic.patch \
21 file://debian/c_rehash-compat.patch \
22 file://debian/ca.patch \
23 file://debian/make-targets.patch \
24 file://debian/no-rpath.patch \
25 file://debian/man-dir.patch \
26 file://debian/man-section.patch \
27 file://debian/no-symbolic.patch \
28 file://debian/debian-targets.patch \
29 file://openssl_fix_for_x32.patch \
30 file://Makefiles-ptest.patch \
31 file://openssl-fix-doc.patch \
32 file://fix-cipher-des-ede3-cfb1.patch \
33 file://openssl-avoid-NULL-pointer-dereference-in-EVP_DigestInit_ex.patch \
34 file://openssl-avoid-NULL-pointer-dereference-in-dh_pub_encode.patch \
35 file://initial-aarch64-bits.patch \
36 file://find.pl \
37 file://openssl-fix-des.pod-error.patch \
38 file://openssl-CVE-2014-0198-fix.patch \
39 file://run-ptest \
40 "
41
42SRC_URI[md5sum] = "de62b43dfcd858e66a74bee1c834e959"
43SRC_URI[sha256sum] = "53cb818c3b90e507a8348f4f5eaedb05d8bfe5358aabb508b7263cc670c3e028"
44
45PACKAGES =+ " \
46 ${PN}-engines \
47 ${PN}-engines-dbg \
48 "
49
50FILES_${PN}-engines = "${libdir}/ssl/engines/*.so ${libdir}/engines"
51FILES_${PN}-engines-dbg = "${libdir}/ssl/engines/.debug"
52
53PARALLEL_MAKE = ""
54PARALLEL_MAKEINST = ""
55
56do_configure_prepend() {
57 cp ${WORKDIR}/find.pl ${S}/util/find.pl
58}
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..7588341c8e
--- /dev/null
+++ b/meta/recipes-connectivity/portmap/portmap.inc
@@ -0,0 +1,31 @@
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"
13S = "${WORKDIR}/portmap_5beta"
14
15INITSCRIPT_NAME = "portmap"
16INITSCRIPT_PARAMS = "start 43 S . start 32 0 6 . stop 81 1 ."
17
18inherit update-rc.d
19
20sbindir = "/sbin"
21
22fakeroot do_install() {
23 install -d ${D}${sysconfdir}/init.d
24 install -d ${D}${base_sbindir}
25 install -m 0755 ${WORKDIR}/portmap.init ${D}${sysconfdir}/init.d/portmap
26 oe_runmake 'docdir=${docdir}/portmap' 'DESTDIR=${D}' install
27}
28
29PACKAGES =+ "portmap-utils"
30FILES_portmap-utils = "/sbin/pmap_set /sbin/pmap_dump"
31FILES_${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_6.0.bb b/meta/recipes-connectivity/portmap/portmap_6.0.bb
new file mode 100644
index 0000000000..68dd79625d
--- /dev/null
+++ b/meta/recipes-connectivity/portmap/portmap_6.0.bb
@@ -0,0 +1,26 @@
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
10SRC_URI[md5sum] = "ac108ab68bf0f34477f8317791aaf1ff"
11SRC_URI[sha256sum] = "02c820d39f3e6e729d1bea3287a2d8a6c684f1006fb9612f97dcad4a281d41de"
12
13S = "${WORKDIR}/${BPN}_${PV}/"
14
15PACKAGECONFIG ??= "tcp-wrappers"
16PACKAGECONFIG[tcp-wrappers] = ",,tcp-wrappers"
17
18CPPFLAGS += "-DFACILITY=LOG_DAEMON -DENABLE_DNS -DHOSTS_ACCESS"
19CFLAGS += "-Wall -Wstrict-prototypes -fPIC"
20EXTRA_OEMAKE += "'NO_TCP_WRAPPER=${@base_contains('PACKAGECONFIG', 'tcp-wrappers', '', '1', d)}'"
21
22fakeroot do_install() {
23 install -d ${D}${mandir}/man8/ ${D}${base_sbindir} ${D}${sysconfdir}/init.d
24 install -m 0755 ${WORKDIR}/portmap.init ${D}${sysconfdir}/init.d/portmap
25 oe_runmake install DESTDIR=${D}
26}
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/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_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..b98abecd3a
--- /dev/null
+++ b/meta/recipes-connectivity/ppp/ppp_2.4.6.bb
@@ -0,0 +1,87 @@
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"
32
33SRC_URI[md5sum] = "3434d2cc9327167a0723aaaa8670083b"
34SRC_URI[sha256sum] = "1b33181a03962c8a092c055fb9980e9722728a8d98a4bb7ec7acda17c1b1b49d"
35
36inherit autotools-brokensep
37
38TARGET_CC_ARCH += " ${LDFLAGS}"
39EXTRA_OEMAKE = "STRIPPROG=${STRIP} MANDIR=${D}${datadir}/man/man8 INCDIR=${D}${includedir} LIBDIR=${D}${libdir}/pppd/${PV} BINDIR=${D}${sbindir}"
40EXTRA_OECONF = "--disable-strip"
41
42# Package Makefile computes CFLAGS, referencing COPTS.
43# Typically hard-coded to '-O2 -g' in the Makefile's.
44#
45EXTRA_OEMAKE += ' COPTS="${CFLAGS}"'
46
47do_install_append () {
48 make install-etcppp ETCDIR=${D}/${sysconfdir}/ppp
49 mkdir -p ${D}${bindir}/ ${D}${sysconfdir}/init.d
50 mkdir -p ${D}${sysconfdir}/ppp/ip-up.d/
51 mkdir -p ${D}${sysconfdir}/ppp/ip-down.d/
52 install -m 0755 ${WORKDIR}/pon ${D}${bindir}/pon
53 install -m 0755 ${WORKDIR}/poff ${D}${bindir}/poff
54 install -m 0755 ${WORKDIR}/init ${D}${sysconfdir}/init.d/ppp
55 install -m 0755 ${WORKDIR}/ip-up ${D}${sysconfdir}/ppp/
56 install -m 0755 ${WORKDIR}/ip-down ${D}${sysconfdir}/ppp/
57 install -m 0755 ${WORKDIR}/08setupdns ${D}${sysconfdir}/ppp/ip-up.d/
58 install -m 0755 ${WORKDIR}/92removedns ${D}${sysconfdir}/ppp/ip-down.d/
59 mkdir -p ${D}${sysconfdir}/chatscripts
60 mkdir -p ${D}${sysconfdir}/ppp/peers
61 install -m 0755 ${WORKDIR}/pap ${D}${sysconfdir}/chatscripts
62 install -m 0755 ${WORKDIR}/ppp_on_boot ${D}${sysconfdir}/ppp/ppp_on_boot
63 install -m 0755 ${WORKDIR}/provider ${D}${sysconfdir}/ppp/peers/provider
64 rm -rf ${D}/${mandir}/man8/man8
65 chmod u+s ${D}${sbindir}/pppd
66}
67
68CONFFILES_${PN} = "${sysconfdir}/ppp/pap-secrets ${sysconfdir}/ppp/chap-secrets ${sysconfdir}/ppp/options"
69PACKAGES =+ "${PN}-oa ${PN}-oe ${PN}-radius ${PN}-winbind ${PN}-minconn ${PN}-password ${PN}-l2tp ${PN}-tools"
70FILES_${PN} = "${sysconfdir} ${bindir} ${sbindir}/chat ${sbindir}/pppd"
71FILES_${PN}-dbg += "${libdir}/pppd/${PV}/.debug"
72FILES_${PN}-oa = "${libdir}/pppd/${PV}/pppoatm.so"
73FILES_${PN}-oe = "${sbindir}/pppoe-discovery ${libdir}/pppd/${PV}/rp-pppoe.so"
74FILES_${PN}-radius = "${libdir}/pppd/${PV}/radius.so ${libdir}/pppd/${PV}/radattr.so ${libdir}/pppd/${PV}/radrealms.so"
75FILES_${PN}-winbind = "${libdir}/pppd/${PV}/winbind.so"
76FILES_${PN}-minconn = "${libdir}/pppd/${PV}/minconn.so"
77FILES_${PN}-password = "${libdir}/pppd/${PV}/pass*.so"
78FILES_${PN}-l2tp = "${libdir}/pppd/${PV}/*l2tp.so"
79FILES_${PN}-tools = "${sbindir}/pppstats ${sbindir}/pppdump"
80SUMMARY_${PN}-oa = "Plugin for PPP for PPP-over-ATM support"
81SUMMARY_${PN}-oe = "Plugin for PPP for PPP-over-Ethernet support"
82SUMMARY_${PN}-radius = "Plugin for PPP for RADIUS support"
83SUMMARY_${PN}-winbind = "Plugin for PPP to authenticate against Samba or Windows"
84SUMMARY_${PN}-minconn = "Plugin for PPP to set a delay before the idle timeout applies"
85SUMMARY_${PN}-password = "Plugin for PPP to get passwords via a pipe"
86SUMMARY_${PN}-l2tp = "Plugin for PPP for l2tp support"
87SUMMARY_${PN}-tools = "Additional tools for the PPP package"
diff --git a/meta/recipes-connectivity/resolvconf/resolvconf_1.74.bb b/meta/recipes-connectivity/resolvconf/resolvconf_1.74.bb
new file mode 100644
index 0000000000..5897e40489
--- /dev/null
+++ b/meta/recipes-connectivity/resolvconf/resolvconf_1.74.bb
@@ -0,0 +1,53 @@
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.gz"
15
16SRC_URI[md5sum] = "2f190d3bb8960b69157f63590c262e93"
17SRC_URI[sha256sum] = "2e72e6884e9105cbf57101ab0f11e768717b6f76b7f5100c6a2a0cc69bb3d4a0"
18
19inherit allarch
20
21do_compile () {
22 :
23}
24
25do_install () {
26 install -d ${D}${sysconfdir}/default/volatiles
27 echo "d root root 0755 ${localstatedir}/run/${BPN}/interface none" \
28 > ${D}${sysconfdir}/default/volatiles/99_resolvconf
29 if ${@base_contains('DISTRO_FEATURES', 'systemd', 'true', 'false', d)}; then
30 install -d ${D}${sysconfdir}/tmpfiles.d
31 echo "d /run/${BPN}/interface - - - -" \
32 > ${D}${sysconfdir}/tmpfiles.d/resolvconf.conf
33 fi
34 install -d ${D}${sysconfdir}/${BPN}
35 ln -snf ${localstatedir}/run/${BPN} ${D}${sysconfdir}/${BPN}/run
36 install -d ${D}${sysconfdir} ${D}${base_sbindir}
37 install -d ${D}${mandir}/man8 ${D}${docdir}/${P}
38 cp -pPR etc/* ${D}${sysconfdir}/
39 chown -R root:root ${D}${sysconfdir}/
40 install -m 0755 bin/resolvconf ${D}${base_sbindir}/
41 install -m 0644 README ${D}${docdir}/${P}/
42 install -m 0644 man/resolvconf.8 ${D}${mandir}/man8/
43}
44
45pkg_postinst_${PN} () {
46 if [ -z "$D" ]; then
47 if command -v systemd-tmpfiles >/dev/null; then
48 systemd-tmpfiles --create ${sysconfdir}/tmpfiles.d/resolvconf.conf
49 elif [ -e ${sysconfdir}/init.d/populate-volatile.sh ]; then
50 ${sysconfdir}/init.d/populate-volatile.sh update
51 fi
52 fi
53}
diff --git a/meta/recipes-connectivity/socat/socat/compile.patch b/meta/recipes-connectivity/socat/socat/compile.patch
new file mode 100644
index 0000000000..4d1a0b65cb
--- /dev/null
+++ b/meta/recipes-connectivity/socat/socat/compile.patch
@@ -0,0 +1,946 @@
1Upstream-Status: Inappropriate [configuration]
2
3The patch is from http://git.openembedded.org/openembedded/tree/recipes/socat/files/compile.patch
4and was rebased to socat-1.7.2.0.
5
6Signed-off-by: Dexuan Cui <dexuan.cui@intel.com>
7Fri Dec 16 17:12:17 CST 2011
8
9diff -Nru socat-1.7.2.0.orig/configure.in socat-1.7.2.0/configure.in
10--- socat-1.7.2.0.orig/configure.in 2011-12-04 21:34:16.000000000 +0800
11+++ socat-1.7.2.0/configure.in 2011-12-16 17:08:59.698367071 +0800
12@@ -88,7 +88,7 @@
13
14
15 dnl Check for extra socket library (for Solaris)
16-AC_CHECK_FUNC(hstrerror, , AC_CHECK_LIB(resolv, hstrerror, [LIBS="$LIBS -lresolv"; AC_DEFINE(HAVE_HSTRERROR)]))
17+AC_CHECK_FUNC(hstrerror, , AC_CHECK_LIB(resolv, hstrerror, [LIBS="$LIBS -lresolv"; AC_DEFINE(HAVE_HSTRERROR, [1], [STRERROR])]))
18 AC_CHECK_FUNC(gethostent, , AC_CHECK_LIB(nsl, gethostent))
19 AC_CHECK_FUNC(setsockopt, , AC_CHECK_LIB(socket, setsockopt))
20
21@@ -102,7 +102,7 @@
22 [sc_cv_have_prototype_hstrerror=yes]);
23 CFLAGS="$CFLAGS1"])
24 if test $sc_cv_have_prototype_hstrerror = yes; then
25- AC_DEFINE(HAVE_PROTOTYPE_HSTRERROR)
26+ AC_DEFINE(HAVE_PROTOTYPE_HSTRERROR, [1], [Has Strerror])
27 fi
28 AC_MSG_RESULT($sc_cv_have_prototype_hstrerror)
29
30@@ -111,83 +111,83 @@
31 AC_ARG_ENABLE(help, [ --disable-help disable help],
32 [case "$enableval" in
33 no) AC_MSG_RESULT(no);;
34- *) AC_DEFINE(WITH_HELP) AC_MSG_RESULT(yes);;
35+ *) AC_DEFINE(WITH_HELP, [1], [With help]) AC_MSG_RESULT(yes);;
36 esac],
37- [AC_DEFINE(WITH_HELP) AC_MSG_RESULT(yes)])
38+ [AC_DEFINE(WITH_HELP, [1], [With help]) AC_MSG_RESULT(yes)])
39
40 AC_MSG_CHECKING(whether to include STDIO support)
41 AC_ARG_ENABLE(stdio, [ --disable-stdio disable STDIO support],
42 [case "$enableval" in
43 no) AC_MSG_RESULT(no);;
44- *) AC_DEFINE(WITH_STDIO) AC_MSG_RESULT(yes);;
45+ *) AC_DEFINE(WITH_STDIO, [1], [With stdio]) AC_MSG_RESULT(yes);;
46 esac],
47- [AC_DEFINE(WITH_STDIO) AC_MSG_RESULT(yes)])
48+ [AC_DEFINE(WITH_STDIO, [1], [With stdio]) AC_MSG_RESULT(yes)])
49
50 AC_MSG_CHECKING(whether to include FD-number support)
51 AC_ARG_ENABLE(fdnum, [ --disable-fdnum disable FD-number support],
52 [case "$enableval" in
53 no) AC_MSG_RESULT(no);;
54- *) AC_DEFINE(WITH_FDNUM) AC_MSG_RESULT(yes);;
55+ *) AC_DEFINE(WITH_FDNUM, [1], [With fdnum]) AC_MSG_RESULT(yes);;
56 esac],
57- [AC_DEFINE(WITH_FDNUM) AC_MSG_RESULT(yes)])
58+ [AC_DEFINE(WITH_FDNUM, [1], [With fdnum]) AC_MSG_RESULT(yes)])
59
60 AC_MSG_CHECKING(whether to include direct file support)
61 AC_ARG_ENABLE(file, [ --disable-file disable direct file support],
62 [case "$enableval" in
63 no) AC_MSG_RESULT(no);;
64- *) AC_DEFINE(WITH_FILE) AC_MSG_RESULT(yes);;
65+ *) AC_DEFINE(WITH_FILE, [1], [With file]) AC_MSG_RESULT(yes);;
66 esac],
67- [AC_DEFINE(WITH_FILE) AC_MSG_RESULT(yes)])
68+ [AC_DEFINE(WITH_FILE, [1], [With file]) AC_MSG_RESULT(yes)])
69
70 AC_MSG_CHECKING(whether to include direct create support)
71 AC_ARG_ENABLE(creat, [ --disable-creat disable direct create support],
72 [case "$enableval" in
73 no) AC_MSG_RESULT(no);;
74- *) AC_DEFINE(WITH_CREAT) AC_MSG_RESULT(yes);;
75+ *) AC_DEFINE(WITH_CREAT, [1], [With creat]) AC_MSG_RESULT(yes);;
76 esac],
77- [AC_DEFINE(WITH_CREAT) AC_MSG_RESULT(yes)])
78+ [AC_DEFINE(WITH_CREAT, [1], [With creat]) AC_MSG_RESULT(yes)])
79
80 AC_MSG_CHECKING(whether to include gopen support)
81 AC_ARG_ENABLE(gopen, [ --disable-gopen disable open for UNIX socket support],
82 [case "$enableval" in
83 no) AC_MSG_RESULT(no);;
84- *) AC_DEFINE(WITH_GOPEN) AC_MSG_RESULT(yes);;
85+ *) AC_DEFINE(WITH_GOPEN, [1], [With gopen]) AC_MSG_RESULT(yes);;
86 esac],
87- [AC_DEFINE(WITH_GOPEN) AC_MSG_RESULT(yes)])
88+ [AC_DEFINE(WITH_GOPEN, [1], [With gopen]) AC_MSG_RESULT(yes)])
89
90 AC_MSG_CHECKING(whether to include explicit pipe support)
91 AC_ARG_ENABLE(pipe, [ --disable-pipe disable pipe support],
92 [case "$enableval" in
93 no) AC_MSG_RESULT(no);;
94- *) AC_DEFINE(WITH_PIPE) AC_MSG_RESULT(yes);;
95+ *) AC_DEFINE(WITH_PIPE, [1], [With pipe]) AC_MSG_RESULT(yes);;
96 esac],
97- [AC_DEFINE(WITH_PIPE) AC_MSG_RESULT(yes)])
98+ [AC_DEFINE(WITH_PIPE, [1], [With pipe]) AC_MSG_RESULT(yes)])
99
100 AC_MSG_CHECKING(whether to include explicit termios support)
101 AC_ARG_ENABLE(termios, [ --disable-termios disable termios support],
102 [case "$enableval" in
103 no) AC_MSG_RESULT(no);;
104- *) AC_DEFINE(WITH_TERMIOS) AC_MSG_RESULT(yes);;
105+ *) AC_DEFINE(WITH_TERMIOS, [1], [With termios]) AC_MSG_RESULT(yes);;
106 esac],
107- [AC_DEFINE(WITH_TERMIOS) AC_MSG_RESULT(yes)])
108+ [AC_DEFINE(WITH_TERMIOS, [1], [With termios]) AC_MSG_RESULT(yes)])
109
110 AC_MSG_CHECKING(whether to include UNIX socket support)
111 AC_ARG_ENABLE(unix, [ --disable-unix disable UNIX domain socket support],
112 [case "$enableval" in
113 no) AC_MSG_RESULT(no);;
114- *) AC_DEFINE(WITH_UNIX) AC_MSG_RESULT(yes);;
115+ *) AC_DEFINE(WITH_UNIX, [1], [With unix]) AC_MSG_RESULT(yes);;
116 esac],
117- [AC_DEFINE(WITH_UNIX) AC_MSG_RESULT(yes)])
118+ [AC_DEFINE(WITH_UNIX, [1], [With unix]) AC_MSG_RESULT(yes)])
119
120 AC_MSG_CHECKING(whether to include abstract UNIX socket support)
121 AC_ARG_ENABLE(abstract_unixsocket, [ --disable-abstract-unixsocket disable abstract UNIX domain socket support],
122 [case "$enableval" in
123 no) AC_MSG_RESULT(no);;
124- *) AC_DEFINE(WITH_ABSTRACT_UNIXSOCKET) AC_MSG_RESULT(yes);;
125+ *) AC_DEFINE(WITH_ABSTRACT_UNIXSOCKET, [1], [With abstract unix socket]) AC_MSG_RESULT(yes);;
126 esac],
127 [ case "`uname`" in
128 Linux)
129- AC_DEFINE(WITH_ABSTRACT_UNIXSOCKET) AC_MSG_RESULT(yes);;
130+ AC_DEFINE(WITH_ABSTRACT_UNIXSOCKET, [1], [With abstract unix socket]) AC_MSG_RESULT(yes);;
131 *)
132 AC_MSG_RESULT(no);;
133 esac])
134@@ -196,9 +196,9 @@
135 AC_ARG_ENABLE(ip4, [ --disable-ip4 disable IPv4 support],
136 [case "$enableval" in
137 no) AC_MSG_RESULT(no);;
138- *) AC_DEFINE(WITH_IP4) AC_MSG_RESULT(yes);;
139+ *) AC_DEFINE(WITH_IP4, [1], [with ipv4]) AC_MSG_RESULT(yes);;
140 esac],
141- [AC_DEFINE(WITH_IP4) AC_MSG_RESULT(yes)])
142+ [AC_DEFINE(WITH_IP4, [1], [with ipv4]) AC_MSG_RESULT(yes)])
143
144 AC_MSG_CHECKING(whether to include IPv6 support)
145 AC_ARG_ENABLE(ip6, [ --disable-ip6 disable IPv6 support],
146@@ -209,7 +209,7 @@
147 [ AC_MSG_RESULT(yes); WITH_IP6=1 ])
148 if test "$WITH_IP6"; then
149 AC_CHECK_HEADERS([netinet/ip6.h],
150- [AC_DEFINE(HAVE_NETINET_IP6_H) AC_DEFINE(WITH_IP6)],
151+ [AC_DEFINE(HAVE_NETINET_IP6_H) AC_DEFINE(WITH_IP6, [1], [with ipv6])],
152 [AC_MSG_WARN([include file netinet/ip6.h not found, disabling IP6])],
153 [AC_INCLUDES_DEFAULT
154 #ifdef HAVE_NETINET_IN_H
155@@ -242,17 +242,17 @@
156 AC_ARG_ENABLE(rawip, [ --disable-rawip disable raw IP support],
157 [case "$enableval" in
158 no) AC_MSG_RESULT(no);;
159- *) AC_DEFINE(WITH_RAWIP) AC_MSG_RESULT(yes);;
160+ *) AC_DEFINE(WITH_RAWIP, [1], [With reawip]) AC_MSG_RESULT(yes);;
161 esac],
162- [AC_DEFINE(WITH_RAWIP) AC_MSG_RESULT(yes)])
163+ [AC_DEFINE(WITH_RAWIP, [1], [With rawip]) AC_MSG_RESULT(yes)])
164
165 AC_MSG_CHECKING(whether to include generic socket support)
166 AC_ARG_ENABLE(rawsocket, [ --disable-genericsocket disable generic socket support],
167 [case "$enableval" in
168 no) AC_MSG_RESULT(no);;
169- *) AC_DEFINE(WITH_GENERICSOCKET) AC_MSG_RESULT(yes);;
170+ *) AC_DEFINE(WITH_GENERICSOCKET, [1], [With genericsocket]) AC_MSG_RESULT(yes);;
171 esac],
172- [AC_DEFINE(WITH_GENERICSOCKET) AC_MSG_RESULT(yes)])
173+ [AC_DEFINE(WITH_GENERICSOCKET, [1], [With genericsocket]) AC_MSG_RESULT(yes)])
174 AC_MSG_CHECKING(whether to include raw network interface support)
175 AC_ARG_ENABLE(interface, [ --disable-interface disable network interface support],
176 [case "$enableval" in
177@@ -262,35 +262,35 @@
178 [AC_MSG_RESULT(yes); WITH_INTERFACE=1 ])
179 if test "$WITH_INTERFACE"; then
180 AC_CHECK_HEADER(netpacket/packet.h,
181- AC_DEFINE(HAVE_NETPACKET_PACKET_H),
182+ AC_DEFINE(HAVE_NETPACKET_PACKET_H, [1], [Has packet.h]),
183 [WITH_INTERFACE=;
184 AC_MSG_WARN([include file netpacket/packet.h not found, disabling interface])])
185 fi
186 if test "$WITH_INTERFACE"; then
187 AC_CHECK_HEADER(netinet/if_ether.h,
188- AC_DEFINE(HAVE_NETINET_IF_ETHER_H),
189+ AC_DEFINE(HAVE_NETINET_IF_ETHER_H, [1], [Has if_ether.h]),
190 [WITH_INTERFACE=;
191 AC_MSG_WARN([include file netinet/if_ether.h not found, disabling interface])])
192 fi
193 if test "$WITH_INTERFACE"; then
194- AC_DEFINE(WITH_INTERFACE)
195+ AC_DEFINE(WITH_INTERFACE, [1], [Wither interface])
196 fi
197
198 AC_MSG_CHECKING(whether to include TCP support)
199 AC_ARG_ENABLE(tcp, [ --disable-tcp disable TCP support],
200 [case "$enableval" in
201 no) AC_MSG_RESULT(no);;
202- *) AC_DEFINE(WITH_TCP) AC_MSG_RESULT(yes);;
203+ *) AC_DEFINE(WITH_TCP, [1], [With TCP]) AC_MSG_RESULT(yes);;
204 esac],
205- [AC_DEFINE(WITH_TCP) AC_MSG_RESULT(yes)])
206+ [AC_DEFINE(WITH_TCP, [1], [With TCP]) AC_MSG_RESULT(yes)])
207
208 AC_MSG_CHECKING(whether to include UDP support)
209 AC_ARG_ENABLE(udp, [ --disable-udp disable UDP support],
210 [case "$enableval" in
211 no) AC_MSG_RESULT(no);;
212- *) AC_DEFINE(WITH_UDP) AC_MSG_RESULT(yes);;
213+ *) AC_DEFINE(WITH_UDP, [1], [With UDP]) AC_MSG_RESULT(yes);;
214 esac],
215- [AC_DEFINE(WITH_UDP) AC_MSG_RESULT(yes)])
216+ [AC_DEFINE(WITH_UDP, [1], [With UDP]) AC_MSG_RESULT(yes)])
217
218 AC_MSG_CHECKING(whether to include SCTP support)
219 AC_ARG_ENABLE(sctp, [ --disable-sctp disable SCTP support],
220@@ -310,7 +310,7 @@
221 [sc_cv_define_ipproto_sctp=no])])
222 AC_MSG_RESULT($sc_cv_define_ipproto_sctp)
223 if test $sc_cv_define_ipproto_sctp = yes; then
224- AC_DEFINE(WITH_SCTP)
225+ AC_DEFINE(WITH_SCTP, [1], [With SCTP])
226 else
227 AC_MSG_WARN([IPPROTO_SCTP undefined, disabling SCTP support])
228 fi
229@@ -320,65 +320,65 @@
230 AC_ARG_ENABLE(listen, [ --disable-listen disable listen support],
231 [case "$enableval" in
232 no) AC_MSG_RESULT(no);;
233- *) AC_DEFINE(WITH_LISTEN) AC_MSG_RESULT(yes);;
234+ *) AC_DEFINE(WITH_LISTEN, [1], [With listen]) AC_MSG_RESULT(yes);;
235 esac],
236- [AC_DEFINE(WITH_LISTEN) AC_MSG_RESULT(yes)])
237+ [AC_DEFINE(WITH_LISTEN, [1], [With listen]) AC_MSG_RESULT(yes)])
238
239 AC_MSG_CHECKING(whether to include socks4 support)
240 AC_ARG_ENABLE(socks4, [ --disable-socks4 disable socks4 support],
241 [case "$enableval" in
242 no) AC_MSG_RESULT(no);;
243- *) AC_DEFINE(WITH_SOCKS4) AC_MSG_RESULT(yes);;
244+ *) AC_DEFINE(WITH_SOCKS4, [1], [With socks]) AC_MSG_RESULT(yes);;
245 esac],
246- [AC_DEFINE(WITH_SOCKS4) AC_MSG_RESULT(yes)])
247+ [AC_DEFINE(WITH_SOCKS4, [1], [With socks]) AC_MSG_RESULT(yes)])
248
249 AC_MSG_CHECKING(whether to include socks4a support)
250 AC_ARG_ENABLE(socks4a, [ --disable-socks4a disable socks4a support],
251 [case "$enableval" in
252 no) AC_MSG_RESULT(no);;
253- *) AC_DEFINE(WITH_SOCKS4A) AC_MSG_RESULT(yes);;
254+ *) AC_DEFINE(WITH_SOCKS4A, [1], [With socks4a]) AC_MSG_RESULT(yes);;
255 esac],
256- [AC_DEFINE(WITH_SOCKS4A) AC_MSG_RESULT(yes)])
257+ [AC_DEFINE(WITH_SOCKS4A, [1], [With socks4a]) AC_MSG_RESULT(yes)])
258
259 AC_MSG_CHECKING(whether to include proxy connect support)
260 AC_ARG_ENABLE(proxy, [ --disable-proxy disable proxy connect support],
261 [case "$enableval" in
262 no) AC_MSG_RESULT(no);;
263- *) AC_DEFINE(WITH_PROXY) AC_MSG_RESULT(yes);;
264+ *) AC_DEFINE(WITH_PROXY, [1], [With proxy]) AC_MSG_RESULT(yes);;
265 esac],
266- [AC_DEFINE(WITH_PROXY) AC_MSG_RESULT(yes)])
267+ [AC_DEFINE(WITH_PROXY, [1], [With proxy]) AC_MSG_RESULT(yes)])
268
269 AC_MSG_CHECKING(whether to include exec support)
270 AC_ARG_ENABLE(exec, [ --disable-exec disable exec support],
271 [case "$enableval" in
272 no) AC_MSG_RESULT(no);;
273- *) AC_DEFINE(WITH_EXEC) AC_MSG_RESULT(yes);;
274+ *) AC_DEFINE(WITH_EXEC, [1], [With exec]) AC_MSG_RESULT(yes);;
275 esac],
276- [AC_DEFINE(WITH_EXEC) AC_MSG_RESULT(yes)])
277+ [AC_DEFINE(WITH_EXEC, [1], [With exec]) AC_MSG_RESULT(yes)])
278
279 AC_MSG_CHECKING([whether to include system (shell) support])
280 AC_ARG_ENABLE(system, [ --disable-system disable system (shell) support],
281 [case "$enableval" in
282 no) AC_MSG_RESULT(no);;
283- *) AC_DEFINE(WITH_SYSTEM) AC_MSG_RESULT(yes);;
284+ *) AC_DEFINE(WITH_SYSTEM, [1], [With system]) AC_MSG_RESULT(yes);;
285 esac],
286- [AC_DEFINE(WITH_SYSTEM) AC_MSG_RESULT(yes)])
287+ [AC_DEFINE(WITH_SYSTEM, [1], [With system]) AC_MSG_RESULT(yes)])
288
289 AC_MSG_CHECKING(whether to include pty address support)
290 AC_ARG_ENABLE(pty, [ --disable-pty disable pty support],
291 [case "$enableval" in
292 no) AC_MSG_RESULT(no);;
293- *) AC_DEFINE(WITH_PTY) AC_MSG_RESULT(yes);;
294+ *) AC_DEFINE(WITH_PTY, [1], [With pty]) AC_MSG_RESULT(yes);;
295 esac],
296- [AC_DEFINE(WITH_PTY) AC_MSG_RESULT(yes)])
297+ [AC_DEFINE(WITH_PTY, [1], [With pty]) AC_MSG_RESULT(yes)])
298
299 AC_MSG_CHECKING(whether to include ext2 fs attributes support)
300 AC_ARG_ENABLE(ext2, [ --disable-ext2 disable ext2 fs attributes support],
301 [case "$enableval" in
302 no) AC_MSG_RESULT(no);;
303- *) AC_DEFINE(WITH_EXT2) AC_MSG_RESULT(yes);;
304+ *) AC_DEFINE(WITH_EXT2, [1], [With ext2]) AC_MSG_RESULT(yes);;
305 esac],
306- [AC_DEFINE(WITH_EXT2) AC_MSG_RESULT(yes)])
307+ [AC_DEFINE(WITH_EXT2, [1], [With ext2]) AC_MSG_RESULT(yes)])
308
309 AC_MSG_CHECKING(whether to include readline support)
310 AC_ARG_ENABLE(readline, [ --disable-readline disable readline support],
311@@ -423,10 +423,10 @@
312
313 if test -n "$sc_usable_readline_found"; then
314 AC_MSG_RESULT(yes)
315- AC_DEFINE(HAVE_READLINE_READLINE_H,1)
316- AC_DEFINE(HAVE_READLINE_HISTORY_H,1)
317- AC_DEFINE(HAVE_LIBREADLINE,1)
318- AC_DEFINE(WITH_READLINE,1)
319+ AC_DEFINE(HAVE_READLINE_READLINE_H,1, [have readline])
320+ AC_DEFINE(HAVE_READLINE_HISTORY_H,1, [have history])
321+ AC_DEFINE(HAVE_LIBREADLINE,1, [have readline])
322+ AC_DEFINE(WITH_READLINE,1, [with readline])
323 break
324 else
325 AC_MSG_RESULT(no)
326@@ -469,7 +469,7 @@
327 done])
328 ])
329 if test "$sc_cv_have_openssl_ssl_h" = "yes"; then
330- AC_DEFINE(HAVE_OPENSSL_SSL_H)
331+ AC_DEFINE(HAVE_OPENSSL_SSL_H, [1], [have openssl.h])
332 fi
333 AC_MSG_NOTICE(checked for openssl/ssl.h... $sc_cv_have_openssl_ssl_h)
334 fi # end checking for openssl/ssl.h
335@@ -501,7 +501,7 @@
336 ]
337 )
338 if test "$sc_cv_have_libssl" = 'yes'; then
339- AC_DEFINE(HAVE_LIBSSL)
340+ AC_DEFINE(HAVE_LIBSSL, [1], [libssl])
341 fi
342 AC_MSG_RESULT($sc_cv_have_libssl)
343 fi
344@@ -529,7 +529,7 @@
345 #fi
346 if test -n "$WITH_OPENSSL"; then
347 if test "$sc_cv_have_openssl_ssl_h" = "yes" -a "$sc_cv_have_libssl" = "yes"; then
348- AC_DEFINE(WITH_OPENSSL)
349+ AC_DEFINE(WITH_OPENSSL, [1], [With openssl])
350 else
351 AC_MSG_WARN([not all components of OpenSSL found, disabling it]);
352 fi
353@@ -577,7 +577,7 @@
354 )]
355 )
356 if test "$sv_cv_have_openssl_fips_h" = "yes"; then
357- AC_DEFINE(HAVE_OPENSSL_FIPS_H)
358+ AC_DEFINE(HAVE_OPENSSL_FIPS_H, [1], [OpenSSL fips.h])
359 fi
360 AC_MSG_NOTICE(checked for openssl/fips.h... $sc_cv_have_openssl_ssl_h)
361 fi
362@@ -608,15 +608,15 @@
363 ]
364 )
365 if test "$sc_cv_have_libcrypto" = 'yes'; then
366- AC_DEFINE(HAVE_LIBCRYPTO)
367+ AC_DEFINE(HAVE_LIBCRYPTO, [1], [libcrypto])
368 fi
369 AC_MSG_RESULT($sc_cv_have_libcrypto)
370 fi
371
372 if test -n "$WITH_FIPS"; then
373 if test "$sc_cv_have_openssl_fips_h" = 'yes' -a "$sc_cv_have_libcrypto" = 'yes'; then
374- AC_DEFINE(WITH_FIPS)
375- AC_DEFINE(OPENSSL_FIPS)
376+ AC_DEFINE(WITH_FIPS, [1], [With fips])
377+ AC_DEFINE(OPENSSL_FIPS, [1], [openssl fips])
378 else
379 AC_MSG_WARN([not all components of OpenSSL FIPS found, disabling it]);
380 fi
381@@ -637,17 +637,17 @@
382 fi
383 #
384 if test -n "$WITH_TUN"; then
385- AC_DEFINE(WITH_TUN)
386+ AC_DEFINE(WITH_TUN, [1], [with tun])
387 fi
388
389 AC_MSG_CHECKING(whether to include system call tracing)
390 AC_ARG_ENABLE(sycls, [ --disable-sycls disable system call tracing],
391 [case "$enableval" in
392 no) SYCLS=""; SSLCLS=""; AC_MSG_RESULT(no);;
393- *) AC_DEFINE(WITH_SYCLS)
394+ *) AC_DEFINE(WITH_SYCLS, [1], [syscls])
395 SYCLS="sycls.c"; SSLCLS="sslcls.c"; AC_MSG_RESULT(yes);;
396 esac],
397- [AC_DEFINE(WITH_SYCLS)
398+ [AC_DEFINE(WITH_SYCLS, [1], [syscls])
399 SYCLS="sycls.c"; SSLCLS="sslcls.c"; AC_MSG_RESULT(yes)])
400 AC_SUBST(SYCLS)
401 AC_SUBST(SSLCLS)
402@@ -656,31 +656,31 @@
403 AC_ARG_ENABLE(filan, [ --disable-filan disable file descriptor analyzer],
404 [case "$enableval" in
405 no) FILAN=""; AC_MSG_RESULT(no);;
406- *) AC_DEFINE(WITH_FILAN) FILAN="filan.c"; AC_MSG_RESULT(yes);;
407+ *) AC_DEFINE(WITH_FILAN, [1], [filan]) FILAN="filan.c"; AC_MSG_RESULT(yes);;
408 esac],
409- [AC_DEFINE(WITH_FILAN) FILAN="filan.c"; AC_MSG_RESULT(yes)])
410+ [AC_DEFINE(WITH_FILAN, [1], [filan]) FILAN="filan.c"; AC_MSG_RESULT(yes)])
411 AC_SUBST(FILAN)
412
413 AC_MSG_CHECKING(whether to include retry support)
414 AC_ARG_ENABLE(retry, [ --disable-retry disable retry support],
415 [case "$enableval" in
416 no) AC_MSG_RESULT(no);;
417- *) AC_DEFINE(WITH_RETRY) AC_MSG_RESULT(yes);;
418+ *) AC_DEFINE(WITH_RETRY, [1], [retry]) AC_MSG_RESULT(yes);;
419 esac],
420- [AC_DEFINE(WITH_RETRY) AC_MSG_RESULT(yes)])
421+ [AC_DEFINE(WITH_RETRY, [1], [retry]) AC_MSG_RESULT(yes)])
422
423 AC_MSG_CHECKING(included message level)
424 AC_ARG_ENABLE(msglevel, [ --enable-msglevel=N set max verbosity to debug,info,notice,warn,error,fatal],
425 [case "$enableval" in
426- debug) AC_DEFINE(WITH_MSGLEVEL,0) AC_MSG_RESULT(debug);;
427- info) AC_DEFINE(WITH_MSGLEVEL,1) AC_MSG_RESULT(info);;
428- notice) AC_DEFINE(WITH_MSGLEVEL,2) AC_MSG_RESULT(notice);;
429- warn) AC_DEFINE(WITH_MSGLEVEL,3) AC_MSG_RESULT(warn);;
430- error) AC_DEFINE(WITH_MSGLEVEL,4) AC_MSG_RESULT(error);;
431- fatal) AC_DEFINE(WITH_MSGLEVEL,5) AC_MSG_RESULT(fatal);;
432- *) AC_DEFINE(WITH_MSGLEVEL,0) AC_MSG_RESULT(debug);;
433+ debug) AC_DEFINE(WITH_MSGLEVEL,0, [msglevel]) AC_MSG_RESULT(debug);;
434+ info) AC_DEFINE(WITH_MSGLEVEL,1, [msglevel]) AC_MSG_RESULT(info);;
435+ notice) AC_DEFINE(WITH_MSGLEVEL,2, [msglevel]) AC_MSG_RESULT(notice);;
436+ warn) AC_DEFINE(WITH_MSGLEVEL,3, [msglevel]) AC_MSG_RESULT(warn);;
437+ error) AC_DEFINE(WITH_MSGLEVEL,4, [msglevel]) AC_MSG_RESULT(error);;
438+ fatal) AC_DEFINE(WITH_MSGLEVEL,5, [msglevel]) AC_MSG_RESULT(fatal);;
439+ *) AC_DEFINE(WITH_MSGLEVEL,0, [msglevel]) AC_MSG_RESULT(debug);;
440 esac],
441- [AC_DEFINE(WITH_MSGLEVEL,0) AC_MSG_RESULT(debug)])
442+ [AC_DEFINE(WITH_MSGLEVEL,0, [msglevel]) AC_MSG_RESULT(debug)])
443
444 #AC_SUBST(V_INCL)
445
446@@ -697,7 +697,7 @@
447 AC_HEADER_TIME
448
449 dnl Check for extra realtime library (for Solaris)
450-AC_CHECK_FUNC(nanosleep, AC_DEFINE(HAVE_NANOSLEEP), AC_CHECK_LIB(rt, nanosleep, [LIBS="-lrt $LIBS"; AC_DEFINE(HAVE_NANOSLEEP)]))
451+AC_CHECK_FUNC(nanosleep, AC_DEFINE(HAVE_NANOSLEEP, [1], [have nanosleep]), AC_CHECK_LIB(rt, nanosleep, [LIBS="-lrt $LIBS"; AC_DEFINE(HAVE_NANOSLEEP, [1], [have nanosleep])]))
452 #AC_CHECK_FUNC(nanosleep, , AC_CHECK_LIB(rt, nanosleep))
453
454 dnl Checks for library functions.
455@@ -719,7 +719,7 @@
456 [sc_cv_type_longlong=yes],
457 [sc_cv_type_longlong=no])])
458 if test $sc_cv_type_longlong = yes; then
459- AC_DEFINE(HAVE_TYPE_LONGLONG)
460+ AC_DEFINE(HAVE_TYPE_LONGLONG, [1], [have type long long])
461 fi
462 AC_MSG_RESULT($sc_cv_type_longlong)
463
464@@ -735,7 +735,7 @@
465 [sc_cv_type_socklen=yes],
466 [sc_cv_type_socklen=no])])
467 if test $sc_cv_type_socklen = yes; then
468- AC_DEFINE(HAVE_TYPE_SOCKLEN)
469+ AC_DEFINE(HAVE_TYPE_SOCKLEN, [1], [Has Socklen])
470 fi
471 AC_MSG_RESULT($sc_cv_type_socklen)
472
473@@ -745,7 +745,7 @@
474 [sc_cv_type_stat64=yes],
475 [sc_cv_type_stat64=no])])
476 if test $sc_cv_type_stat64 = yes; then
477- AC_DEFINE(HAVE_TYPE_STAT64)
478+ AC_DEFINE(HAVE_TYPE_STAT64, [1], [Has stat64])
479 fi
480 AC_MSG_RESULT($sc_cv_type_stat64)
481
482@@ -755,7 +755,7 @@
483 [sc_cv_type_off64=yes],
484 [sc_cv_type_off64=no])])
485 if test $sc_cv_type_off64 = yes; then
486- AC_DEFINE(HAVE_TYPE_OFF64)
487+ AC_DEFINE(HAVE_TYPE_OFF64, [1], [have off64])
488 fi
489 AC_MSG_RESULT($sc_cv_type_off64)
490
491@@ -765,7 +765,7 @@
492 [sc_cv_type_sighandler=yes],
493 [sc_cv_type_sighandler=no])])
494 if test $sc_cv_type_sighandler = yes; then
495- AC_DEFINE(HAVE_TYPE_SIGHANDLER)
496+ AC_DEFINE(HAVE_TYPE_SIGHANDLER, [1], [have type sighandler])
497 fi
498 AC_MSG_RESULT($sc_cv_type_socklen)
499
500@@ -783,7 +783,7 @@
501 [sc_cv_type_uint8=yes],
502 [sc_cv_type_uint8=no])])
503 if test $sc_cv_type_uint8 = yes; then
504- AC_DEFINE(HAVE_TYPE_UINT8)
505+ AC_DEFINE(HAVE_TYPE_UINT8, [1], [have uint8])
506 fi
507 AC_MSG_RESULT($sc_cv_type_uint8)
508
509@@ -801,7 +801,7 @@
510 [sc_cv_type_uint16=yes],
511 [sc_cv_type_uint16=no])])
512 if test $sc_cv_type_uint16 = yes; then
513- AC_DEFINE(HAVE_TYPE_UINT16)
514+ AC_DEFINE(HAVE_TYPE_UINT16, [1], [have uint16t])
515 fi
516 AC_MSG_RESULT($sc_cv_type_uint16)
517
518@@ -819,7 +819,7 @@
519 [sc_cv_type_uint32=yes],
520 [sc_cv_type_uint32=no])])
521 if test $sc_cv_type_uint32 = yes; then
522- AC_DEFINE(HAVE_TYPE_UINT32)
523+ AC_DEFINE(HAVE_TYPE_UINT32, [1], [have uint32])
524 fi
525 AC_MSG_RESULT($sc_cv_type_uint32)
526
527@@ -837,7 +837,7 @@
528 [sc_cv_type_uint64=yes],
529 [sc_cv_type_uint64=no])])
530 if test $sc_cv_type_uint64 = yes; then
531- AC_DEFINE(HAVE_TYPE_UINT64)
532+ AC_DEFINE(HAVE_TYPE_UINT64, [1], [have uint64] )
533 fi
534 AC_MSG_RESULT($sc_cv_type_uint64)
535
536@@ -859,7 +859,7 @@
537 #include <sys/select.h>
538 #endif],
539 [fd_set s; s.fds_bits[0]=0;],
540-[AC_MSG_RESULT(yes); AC_DEFINE(HAVE_FDS_BITS)],
541+[AC_MSG_RESULT(yes); AC_DEFINE(HAVE_FDS_BITS, [1], [have fds bits])],
542 [AC_MSG_RESULT(no);])
543
544 AC_MSG_CHECKING(for sa_family_t)
545@@ -870,7 +870,7 @@
546 [sc_cv_type_sa_family_t=yes],
547 [sc_cv_type_sa_family_t=no])])
548 if test $sc_cv_type_sa_family_t = yes; then
549- AC_DEFINE(HAVE_TYPE_SA_FAMILY_T)
550+ AC_DEFINE(HAVE_TYPE_SA_FAMILY_T, [1], [have sa family_t type])
551 fi
552 AC_MSG_RESULT($sc_cv_type_sa_family_t)
553
554@@ -880,7 +880,7 @@
555 [sc_cv_struct_sigaction_sa_sigaction=yes],
556 [sc_cv_struct_sigaction_sa_sigaction=no])])
557 if test $sc_cv_struct_sigaction_sa_sigaction = yes; then
558- AC_DEFINE(HAVE_STRUCT_SIGACTION_SA_SIGACTION)
559+ AC_DEFINE(HAVE_STRUCT_SIGACTION_SA_SIGACTION, [1], [sigaction])
560 fi
561 AC_MSG_RESULT($sc_cv_struct_sigaction_sa_sigaction)
562
563@@ -888,11 +888,11 @@
564 AC_MSG_CHECKING(for termios.c_ispeed)
565 AC_CACHE_VAL(sc_cv_termios_ispeed,
566 [AC_TRY_COMPILE([#include <termios.h>],
567-[struct termios t; t.c_ispeed=0;],
568+[struct termios t; t.c_ispeed=ISPEED_OFFSET; t.c_ospeed=OSPEED_OFFSET;],
569 [sc_cv_termios_ispeed=yes],
570 [sc_cv_termios_ispeed=no])])
571 if test $sc_cv_termios_ispeed = yes; then
572- AC_DEFINE(HAVE_TERMIOS_ISPEED)
573+ AC_DEFINE(HAVE_TERMIOS_ISPEED, [1], [have ispeed])
574 fi
575 AC_MSG_RESULT($sc_cv_termios_ispeed)
576
577@@ -923,7 +923,7 @@
578 LIBS="$LIBS1"
579 AC_MSG_RESULT($ac_cv_ispeed_offset)
580 if test $ac_cv_ispeed_offset -ge 0; then
581- AC_DEFINE_UNQUOTED(ISPEED_OFFSET, $ac_cv_ispeed_offset)
582+ AC_DEFINE_UNQUOTED(ISPEED_OFFSET, $ac_cv_ispeed_offset, [have ispeed])
583 fi
584 fi
585
586@@ -942,7 +942,7 @@
587 )]
588 )])
589 if test $ac_cv_svid3 = yes; then
590- AC_DEFINE(_SVID3)
591+ AC_DEFINE(_SVID3, [1], [svid3])
592 fi
593 AC_MSG_RESULT($ac_cv_svid3)
594
595@@ -957,7 +957,7 @@
596 [sc_cv_struct_timespec=yes],
597 [sc_cv_struct_timespec=no])])
598 if test $sc_cv_struct_timespec = yes; then
599- AC_DEFINE(HAVE_STRUCT_TIMESPEC)
600+ AC_DEFINE(HAVE_STRUCT_TIMESPEC, [1], [struct timespec])
601 fi
602 AC_MSG_RESULT($sc_cv_struct_timespec)
603
604@@ -970,7 +970,7 @@
605 [sc_cv_struct_linger=yes],
606 [sc_cv_struct_linger=no])])
607 if test $sc_cv_struct_linger = yes; then
608- AC_DEFINE(HAVE_STRUCT_LINGER)
609+ AC_DEFINE(HAVE_STRUCT_LINGER, [1], [struct linger])
610 fi
611 AC_MSG_RESULT($sc_cv_struct_linger)
612
613@@ -984,7 +984,7 @@
614 [sc_cv_struct_ip_mreq=yes],
615 [sc_cv_struct_ip_mreq=no])])
616 if test $sc_cv_struct_ip_mreq = yes; then
617- AC_DEFINE(HAVE_STRUCT_IP_MREQ)
618+ AC_DEFINE(HAVE_STRUCT_IP_MREQ, [1], [have struct ip mreq])
619 fi
620 AC_MSG_RESULT($sc_cv_struct_ip_mreq)
621
622@@ -997,7 +997,7 @@
623 [sc_cv_struct_ip_mreqn=yes],
624 [sc_cv_struct_ip_mreqn=no])])
625 if test $sc_cv_struct_ip_mreqn = yes; then
626- AC_DEFINE(HAVE_STRUCT_IP_MREQN)
627+ AC_DEFINE(HAVE_STRUCT_IP_MREQN, [1], [have struct ip mreqn])
628 fi
629 AC_MSG_RESULT($sc_cv_struct_ip_mreqn)
630
631@@ -1010,7 +1010,7 @@
632 [sc_cv_struct_ipv6_mreq=yes],
633 [sc_cv_struct_ipv6_mreq=no])])
634 if test $sc_cv_struct_ipv6_mreq = yes; then
635- AC_DEFINE(HAVE_STRUCT_IPV6_MREQ)
636+ AC_DEFINE(HAVE_STRUCT_IPV6_MREQ, [1], [have struct ipv5 mreq])
637 fi
638 AC_MSG_RESULT($sc_cv_struct_ipv6_mreq)
639
640@@ -1024,7 +1024,7 @@
641 [sc_cv_struct_ifreq=yes],
642 [sc_cv_struct_ifreq=no])])
643 if test $sc_cv_struct_ifreq = yes; then
644- AC_DEFINE(HAVE_STRUCT_IFREQ)
645+ AC_DEFINE(HAVE_STRUCT_IFREQ, [1], [have struct ifreq])
646 fi
647 AC_MSG_RESULT($sc_cv_struct_ifreq)
648
649@@ -1039,7 +1039,7 @@
650 [sc_cv_struct_ifreq_ifr_index=yes],
651 [sc_cv_struct_ifreq_ifr_index=no])])
652 if test $sc_cv_struct_ifreq_ifr_index = yes; then
653- AC_DEFINE(HAVE_STRUCT_IFREQ_IFR_INDEX)
654+ AC_DEFINE(HAVE_STRUCT_IFREQ_IFR_INDEX, [1], [have struct ifreq ifr])
655 fi
656 AC_MSG_RESULT($sc_cv_struct_ifreq_ifr_index)
657
658@@ -1054,7 +1054,7 @@
659 [sc_cv_struct_ifreq_ifr_ifindex=yes],
660 [sc_cv_struct_ifreq_ifr_ifindex=no])])
661 if test $sc_cv_struct_ifreq_ifr_ifindex = yes; then
662- AC_DEFINE(HAVE_STRUCT_IFREQ_IFR_IFINDEX)
663+ AC_DEFINE(HAVE_STRUCT_IFREQ_IFR_IFINDEX, [1], [have struct ifreq ifindex])
664 fi
665 AC_MSG_RESULT($sc_cv_struct_ifreq_ifr_ifindex)
666
667@@ -1069,7 +1069,7 @@
668 [sc_cv_struct_sockaddr_salen=yes],
669 [sc_cv_struct_sockaddr_salen=no])])
670 if test $sc_cv_struct_sockaddr_salen = yes; then
671- AC_DEFINE(HAVE_STRUCT_SOCKADDR_SALEN)
672+ AC_DEFINE(HAVE_STRUCT_SOCKADDR_SALEN, [1], [sockaddr salen])
673 fi
674 AC_MSG_RESULT($sc_cv_struct_sockaddr_salen)
675
676@@ -1080,31 +1080,31 @@
677 #include <netinet/in.h>],
678 [struct sockaddr_in6 sa6;sa6.sin6_addr.s6_addr[0]=0;],
679 [AC_MSG_RESULT(s6_addr);
680- AC_DEFINE(HAVE_IP6_SOCKADDR, 0)],
681+ AC_DEFINE(HAVE_IP6_SOCKADDR, 0, [ip6 sockaddr])],
682 [AC_TRY_COMPILE([#include <sys/types.h>
683 #include <netinet/in.h>],
684 [struct sockaddr_in6 sa6;sa6.sin6_addr.u6_addr.u6_addr16[0]=0;],
685 [AC_MSG_RESULT(u6_addr.u6_addr16);
686- AC_DEFINE(HAVE_IP6_SOCKADDR, 1)],
687+ AC_DEFINE(HAVE_IP6_SOCKADDR, 1, [ip6 sockaddr])],
688 [AC_TRY_COMPILE([#include <sys/types.h>
689 #include <netinet/in.h>],
690 [struct sockaddr_in6 sa6;sa6.sin6_addr.u6_addr16[0]=0;],
691- [AC_MSG_RESULT(u6_addr16); AC_DEFINE(HAVE_IP6_SOCKADDR, 2)],
692+ [AC_MSG_RESULT(u6_addr16); AC_DEFINE(HAVE_IP6_SOCKADDR, 2, [ip6 sockaddr])],
693 [AC_TRY_COMPILE([#include <sys/types.h>
694 #include <netinet/in.h>],
695 [struct sockaddr_in6 sa6;sa6.sin6_addr.in6_u.u6_addr16[0]=0;],
696 [AC_MSG_RESULT(in6_u.u6_addr16);
697- AC_DEFINE(HAVE_IP6_SOCKADDR, 3)],
698+ AC_DEFINE(HAVE_IP6_SOCKADDR, 3, [ip6 sockaddr])],
699 [AC_TRY_COMPILE([#include <sys/types.h>
700 #include <netinet/in.h>],
701 [struct sockaddr_in6 sa6;sa6.sin6_addr._S6_un._S6_u32[0]=0;],
702 [AC_MSG_RESULT(_S6_un._S6_u32);
703- AC_DEFINE(HAVE_IP6_SOCKADDR, 4)],
704+ AC_DEFINE(HAVE_IP6_SOCKADDR, 4, [ip6 sockaddr])],
705 [AC_TRY_COMPILE([#include <sys/types.h>
706 #include <netinet/in.h>],
707 [struct sockaddr_in6 sa6;sa6.sin6_addr.__u6_addr.__u6_addr32[0]=0;],
708 [AC_MSG_RESULT(__u6_addr.__u6_addr32);
709- AC_DEFINE(HAVE_IP6_SOCKADDR, 5)],
710+ AC_DEFINE(HAVE_IP6_SOCKADDR, 5, [ip6 sockaddr])],
711
712 [AC_MSG_RESULT([none or unknown])]
713 )])])])])])
714@@ -1116,7 +1116,7 @@
715 [sc_cv_struct_iovec=yes],
716 [sc_cv_struct_iovec=no])])
717 if test $sc_cv_struct_iovec = yes; then
718- AC_DEFINE(HAVE_STRUCT_IOVEC)
719+ AC_DEFINE(HAVE_STRUCT_IOVEC, [1], [have struct iovec])
720 fi
721 AC_MSG_RESULT($sc_cv_struct_iovec)
722
723@@ -1129,7 +1129,7 @@
724 [sc_cv_struct_msghdr_msgcontrol=yes],
725 [sc_cv_struct_msghdr_msgcontrol=no])])
726 if test $sc_cv_struct_msghdr_msgcontrol = yes; then
727- AC_DEFINE(HAVE_STRUCT_MSGHDR_MSGCONTROL)
728+ AC_DEFINE(HAVE_STRUCT_MSGHDR_MSGCONTROL, [1], [have struct msgcontrol])
729 fi
730 AC_MSG_RESULT($sc_cv_struct_msghdr_msgcontrol)
731
732@@ -1142,7 +1142,7 @@
733 [sc_cv_struct_msghdr_msgcontrollen=yes],
734 [sc_cv_struct_msghdr_msgcontrollen=no])])
735 if test $sc_cv_struct_msghdr_msgcontrollen = yes; then
736- AC_DEFINE(HAVE_STRUCT_MSGHDR_MSGCONTROLLEN)
737+ AC_DEFINE(HAVE_STRUCT_MSGHDR_MSGCONTROLLEN, [1], [have struct msghdr msgcontrollen])
738 fi
739 AC_MSG_RESULT($sc_cv_struct_msghdr_msgcontrollen)
740
741@@ -1155,7 +1155,7 @@
742 [sc_cv_struct_msghdr_msgflags=yes],
743 [sc_cv_struct_msghdr_msgflags=no])])
744 if test $sc_cv_struct_msghdr_msgflags = yes; then
745- AC_DEFINE(HAVE_STRUCT_MSGHDR_MSGFLAGS)
746+ AC_DEFINE(HAVE_STRUCT_MSGHDR_MSGFLAGS, [1], [msgflags])
747 fi
748 AC_MSG_RESULT($sc_cv_struct_msghdr_msgflags)
749
750@@ -1168,7 +1168,7 @@
751 [sc_cv_struct_cmsghdr=yes],
752 [sc_cv_struct_cmsghdr=no])])
753 if test $sc_cv_struct_cmsghdr = yes; then
754- AC_DEFINE(HAVE_STRUCT_CMSGHDR)
755+ AC_DEFINE(HAVE_STRUCT_CMSGHDR, [1], [have cmshdr])
756 fi
757 AC_MSG_RESULT($sc_cv_struct_cmsghdr)
758
759@@ -1181,7 +1181,7 @@
760 [sc_cv_struct_in_pktinfo=yes],
761 [sc_cv_struct_in_pktinfo=no])])
762 if test $sc_cv_struct_in_pktinfo = yes; then
763- AC_DEFINE(HAVE_STRUCT_IN_PKTINFO)
764+ AC_DEFINE(HAVE_STRUCT_IN_PKTINFO, [1], [pktinfo])
765 fi
766 AC_MSG_RESULT($sc_cv_struct_in_pktinfo)
767
768@@ -1211,7 +1211,7 @@
769 [sc_cv_struct_ip_ip_hl=yes],
770 [sc_cv_struct_ip_ip_hl=no])])
771 if test $sc_cv_struct_ip_ip_hl = yes; then
772- AC_DEFINE(HAVE_STRUCT_IP_IP_HL)
773+ AC_DEFINE(HAVE_STRUCT_IP_IP_HL, [1], [foo])
774 fi
775 AC_MSG_RESULT($sc_cv_struct_ip_ip_hl)
776
777@@ -1219,19 +1219,19 @@
778 dnl Library function checks
779
780 dnl Check sigaction()
781-AC_CHECK_FUNC(sigaction, AC_DEFINE(HAVE_SIGACTION))
782+AC_CHECK_FUNC(sigaction, AC_DEFINE(HAVE_SIGACTION, [1], [foo]))
783
784 dnl Check for 64bit versions of system calls
785-AC_CHECK_FUNC(stat64, AC_DEFINE(HAVE_STAT64))
786-AC_CHECK_FUNC(fstat64, AC_DEFINE(HAVE_FSTAT64))
787-AC_CHECK_FUNC(lstat64, AC_DEFINE(HAVE_LSTAT64))
788-AC_CHECK_FUNC(lseek64, AC_DEFINE(HAVE_LSEEK64))
789-AC_CHECK_FUNC(truncate64, AC_DEFINE(HAVE_TRUNCATE64))
790-AC_CHECK_FUNC(ftruncate64, AC_DEFINE(HAVE_FTRUNCATE64))
791-
792-AC_CHECK_FUNC(strtoll, AC_DEFINE(HAVE_STRTOLL))
793-AC_CHECK_FUNC(hstrerror, AC_DEFINE(HAVE_HSTRERROR))
794-AC_CHECK_FUNC(inet_ntop, AC_DEFINE(HAVE_INET_NTOP))
795+AC_CHECK_FUNC(stat64, AC_DEFINE(HAVE_STAT64, [1], [foo]))
796+AC_CHECK_FUNC(fstat64, AC_DEFINE(HAVE_FSTAT64, [1], [foo]))
797+AC_CHECK_FUNC(lstat64, AC_DEFINE(HAVE_LSTAT64, [1], [foo]))
798+AC_CHECK_FUNC(lseek64, AC_DEFINE(HAVE_LSEEK64, [1], [foo]))
799+AC_CHECK_FUNC(truncate64, AC_DEFINE(HAVE_TRUNCATE64, [1], [foo]))
800+AC_CHECK_FUNC(ftruncate64, AC_DEFINE(HAVE_FTRUNCATE64, [1], [foo]))
801+
802+AC_CHECK_FUNC(strtoll, AC_DEFINE(HAVE_STRTOLL, [1], [foo]))
803+AC_CHECK_FUNC(hstrerror, AC_DEFINE(HAVE_HSTRERROR, [1], [foo]))
804+AC_CHECK_FUNC(inet_ntop, AC_DEFINE(HAVE_INET_NTOP, [1], [foo]))
805
806 #if test "$ac_cv_func_hstrerror" = "yes"; then
807 # AC_MSG_CHECKING(if _XOPEN_SOURCE_EXTENDED is helpful)
808@@ -1254,25 +1254,26 @@
809
810 dnl Search for openpty()
811 # MacOS
812-AC_CHECK_FUNC(openpty, AC_DEFINE(HAVE_OPENPTY))
813+AC_CHECK_FUNC(openpty, AC_DEFINE(HAVE_OPENPTY, [1], [foo]))
814 # AIX
815 AC_CHECK_LIB(bsd, openpty,
816- [LIBS="-lbsd $LIBS"; AC_DEFINE(HAVE_OPENPTY)])
817+ [LIBS="-lbsd $LIBS"; AC_DEFINE(HAVE_OPENPTY, [1], [foo])])
818 # Linux 2.4
819 AC_CHECK_LIB(util, openpty,
820- [LIBS="-lutil $LIBS"; AC_DEFINE(HAVE_OPENPTY)])
821+ [LIBS="-lutil $LIBS"; AC_DEFINE(HAVE_OPENPTY, [1], [foo])])
822+
823
824 dnl Search for flock()
825 # with Linux it's in libc, with AIX in libbsd
826-AC_CHECK_FUNC(flock, AC_DEFINE(HAVE_FLOCK),
827+AC_CHECK_FUNC(flock, AC_DEFINE(HAVE_FLOCK, [1], [have flock]),
828 AC_CHECK_LIB(bsd, flock, [LIBS="-lbsd $LIBS"]))
829
830 dnl Search for setenv()
831-AC_CHECK_FUNC(setenv, AC_DEFINE(HAVE_SETENV),
832+AC_CHECK_FUNC(setenv, AC_DEFINE(HAVE_SETENV, [1], [have setenv]),
833 AC_CHECK_LIB(isode, setenv, [LIBS="-lisode $LIBS"]))
834
835 dnl Search for unsetenv()
836-AC_CHECK_FUNC(unsetenv, AC_DEFINE(HAVE_UNSETENV))
837+AC_CHECK_FUNC(unsetenv, AC_DEFINE(HAVE_UNSETENV, [1], [have unsetenv]))
838
839 dnl Search for SSLv2_client_method, SSLv2_server_method
840 AC_CHECK_FUNC(SSLv3_client_method, AC_DEFINE(HAVE_SSLv3_client_method), AC_CHECK_LIB(crypt, SSLv3_client_method, [LIBS=-lcrypt $LIBS]))
841@@ -1295,7 +1296,7 @@
842 [ac_cv_have_z_modifier=no],
843 [ac_cv_have_z_modifier=no])])
844 if test $ac_cv_have_z_modifier = yes; then
845- AC_DEFINE(HAVE_FORMAT_Z)
846+ AC_DEFINE(HAVE_FORMAT_Z, [1], [have format z])
847 fi
848 AC_MSG_RESULT($ac_cv_have_z_modifier)
849
850@@ -1334,7 +1335,8 @@
851 [$2=-1]
852 )
853 LIBS="$LIBS1"])
854-AC_DEFINE_UNQUOTED($1_SHIFT, ${$2})
855+SHIFT_NAME="$1"_SHIFT
856+AC_DEFINE_UNQUOTED($SHIFT_NAME, ${$2}, [foo])
857 if test "$2" = -1; then
858 AC_MSG_WARN(please determine $1_SHIFT manually)
859 fi
860@@ -1374,7 +1376,7 @@
861 [$4="0 /* unknown, taking default */"
862 ]) ]) ]) ]) ]) ]) ]) ])
863 CFLAGS="$CFLAGS1" ])
864-AC_DEFINE_UNQUOTED($3, ${$4})
865+AC_DEFINE_UNQUOTED($3, ${$4}, [foo])
866 ])
867
868 dnl find what physical type (basic C type) describes the given struct or union
869@@ -1406,7 +1408,7 @@
870 [$5="0 /* unknown, taking default */"
871 ]) ]) ]) ]) ]) ]) ]) ])
872 CFLAGS="$CFLAGS1" ])
873-AC_DEFINE_UNQUOTED($4, ${$5})
874+AC_DEFINE_UNQUOTED($4, ${$5}, [foo])
875 ])
876
877 AC_BASIC_TYPE([#include <stdlib.h>], size_t, HAVE_BASIC_SIZE_T, sc_cv_type_sizet_basic)
878@@ -1465,13 +1467,13 @@
879
880 AC_MSG_CHECKING(for /dev/ptmx)
881 if test -c /dev/ptmx; then
882- AC_DEFINE(HAVE_DEV_PTMX, 1)
883+ AC_DEFINE(HAVE_DEV_PTMX, 1, [ptmx])
884 AC_MSG_RESULT(yes)
885 else
886 AC_MSG_RESULT(no)
887 AC_MSG_CHECKING(for /dev/ptc)
888 if test -c /dev/ptc; then
889- AC_DEFINE(HAVE_DEV_PTC)
890+ AC_DEFINE(HAVE_DEV_PTC, 1, [ptc])
891 AC_MSG_RESULT(yes)
892 else
893 AC_MSG_RESULT(no)
894@@ -1480,7 +1482,7 @@
895
896 AC_MSG_CHECKING(for /proc)
897 if test -d /proc; then
898- AC_DEFINE(HAVE_PROC_DIR, 1)
899+ AC_DEFINE(HAVE_PROC_DIR, 1, [procdir])
900 AC_MSG_RESULT(yes)
901 else
902 AC_MSG_RESULT(no)
903@@ -1488,7 +1490,7 @@
904
905 AC_MSG_CHECKING(for /proc/*/fd)
906 if test -d /proc/$$/fd; then
907- AC_DEFINE(HAVE_PROC_DIR_FD, 1)
908+ AC_DEFINE(HAVE_PROC_DIR_FD, 1, [procdir fd])
909 AC_MSG_RESULT(yes)
910 else
911 AC_MSG_RESULT(no)
912@@ -1528,7 +1530,7 @@
913 done])
914 ])
915 if test "$sc_cv_have_tcpd_h" = "yes"; then
916- AC_DEFINE(HAVE_TCPD_H)
917+ AC_DEFINE(HAVE_TCPD_H, [1], [have tcpd])
918 fi
919 AC_MSG_NOTICE(checked for tcpd.h... $sc_cv_have_tcpd_h)
920 fi # end checking for tcpd.h
921@@ -1561,14 +1563,14 @@
922 ]
923 )
924 if test "$sc_cv_have_libwrap" = 'yes'; then
925- AC_DEFINE(HAVE_LIBWRAP)
926+ AC_DEFINE(HAVE_LIBWRAP, [1], [libwrap])
927 fi
928 AC_MSG_RESULT($sc_cv_have_libwrap)
929 fi
930 #
931 if test -n "$WITH_LIBWRAP"; then
932 if test "$sc_cv_have_tcpd_h" = "yes" -a "$sc_cv_have_libwrap" = "yes"; then
933- AC_DEFINE(WITH_LIBWRAP)
934+ AC_DEFINE(WITH_LIBWRAP, [1], [libwrap])
935 else
936 AC_MSG_WARN([not all components of tcp wrappers found, disabling it]);
937 fi
938@@ -1583,7 +1585,7 @@
939 [sc_cv_have_hosts_allow_table=yes],
940 [sc_cv_have_hosts_allow_table=no])])
941 if test $sc_cv_have_hosts_allow_table = yes; then
942- AC_DEFINE(HAVE_HOSTS_ALLOW_TABLE)
943+ AC_DEFINE(HAVE_HOSTS_ALLOW_TABLE, [1], [hosts allow table])
944 fi
945 AC_MSG_RESULT($sc_cv_have_hosts_allow_table)
946 fi # test -n "$WITH_LIBWRAP"
diff --git a/meta/recipes-connectivity/socat/socat/fix-xxx_SHIFT-autoheader.patch b/meta/recipes-connectivity/socat/socat/fix-xxx_SHIFT-autoheader.patch
new file mode 100644
index 0000000000..44659a0b26
--- /dev/null
+++ b/meta/recipes-connectivity/socat/socat/fix-xxx_SHIFT-autoheader.patch
@@ -0,0 +1,40 @@
1Subject: [PATCH] fix autoheader for *_SHIFT values.
2
3Upstream-Status: Pending
4
5autoheader would not generate C `#define' statements if
6the first param of AC_DEFINE_UNQUOTED is a shell variable.
7This will cause build failures while enable termios, so
8expand these AC_DEFINE_UNQUOTED from the macro.
9
10Signed-off-by: Xin Ouyang <Xin.Ouyang@windriver.com>
11---
12 configure.in | 5 +++--
13 1 file changed, 3 insertions(+), 2 deletions(-)
14
15diff --git a/configure.in b/configure.in
16index c54e4c4..13bae64 100644
17--- a/configure.in
18+++ b/configure.in
19@@ -1335,8 +1335,6 @@ AC_CACHE_CHECK(shift offset of $1, $2,
20 [$2=-1]
21 )
22 LIBS="$LIBS1"])
23-SHIFT_NAME="$1"_SHIFT
24-AC_DEFINE_UNQUOTED($SHIFT_NAME, ${$2}, [foo])
25 if test "$2" = -1; then
26 AC_MSG_WARN(please determine $1_SHIFT manually)
27 fi
28@@ -1346,6 +1344,9 @@ AC_SHIFT_OFFSET(CRDLY, sc_cv_sys_crdly_shift)
29 AC_SHIFT_OFFSET(TABDLY, sc_cv_sys_tabdly_shift)
30 AC_SHIFT_OFFSET(CSIZE, sc_cv_sys_csize_shift)
31
32+AC_DEFINE_UNQUOTED(CRDLY_SHIFT, ${sc_cv_sys_crdly_shift}, [shift for CRDLY, carriage return delay])
33+AC_DEFINE_UNQUOTED(TABDLY_SHIFT, ${sc_cv_sys_tabdly_shift}, [shift for TABDLY, horizontal tab delay])
34+AC_DEFINE_UNQUOTED(CSIZE_SHIFT, ${sc_cv_sys_csize_shift}, [shift for CSIZE, character size])
35
36 dnl find what physical type (basic C type) is equivalent to the given type.
37 dnl arg1: include file(s)
38--
391.7.9.5
40
diff --git a/meta/recipes-connectivity/socat/socat_1.7.2.3.bb b/meta/recipes-connectivity/socat/socat_1.7.2.3.bb
new file mode 100644
index 0000000000..99060b15ae
--- /dev/null
+++ b/meta/recipes-connectivity/socat/socat_1.7.2.3.bb
@@ -0,0 +1,40 @@
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=18810669f13b87348459e611d31ab760 \
12 file://README;beginline=252;endline=282;md5=79246f11a1db0b6ccec54d1fb711c01e"
13
14
15SRC_URI = "http://www.dest-unreach.org/socat/download/socat-${PV}.tar.bz2 \
16 file://compile.patch \
17 file://fix-xxx_SHIFT-autoheader.patch"
18
19SRC_URI[md5sum] = "75008d8baf7c6c9e27aa7afb34a622de"
20SRC_URI[sha256sum] = "0598ac54af7b138cda9e3c141bcf0cc63eeb2ab31f468a772dc3f7eb3896aad0"
21
22PACKAGECONFIG ??= "tcp-wrappers"
23PACKAGECONFIG[tcp-wrappers] = "--enable-libwrap,--disable-libwrap,tcp-wrappers"
24
25EXTRA_OECONF += "ac_cv_have_z_modifier=yes sc_cv_sys_crdly_shift=9 \
26 sc_cv_sys_tabdly_shift=11 sc_cv_sys_csize_shift=4 \
27 ac_cv_ispeed_offset=13 \
28"
29
30inherit autotools
31
32do_configure_prepend() {
33 sed '/AC_DEFINE_UNQUOTED(ISPEED_OFFSET/a\AC_DEFINE(OSPEED_OFFSET,\
34(ISPEED_OFFSET+1)\ ,\ [have\ ospeed\ offset])' -i ${S}/configure.in
35}
36
37do_install_prepend () {
38 mkdir -p ${D}${bindir}
39 install -d ${D}${bindir} ${D}${mandir}/man1
40}
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.23.2.bb b/meta/recipes-connectivity/telepathy/telepathy-glib_0.23.2.bb
new file mode 100644
index 0000000000..7d849a0a89
--- /dev/null
+++ b/meta/recipes-connectivity/telepathy/telepathy-glib_0.23.2.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] = "834ff3b4e2f0e696492a525fe1838f06"
9SRC_URI[sha256sum] = "37d5d0eb8cb801822d579182b84a9abdc24e51e5a54b663f865fd1ba2e062c83"
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..11e82877b9
--- /dev/null
+++ b/meta/recipes-connectivity/wpa-supplicant/wpa-supplicant.inc
@@ -0,0 +1,91 @@
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 = "gnutls dbus libnl openssl"
10RRECOMMENDS_${PN} = "wpa-supplicant-passphrase wpa-supplicant-cli"
11
12inherit systemd
13
14SYSTEMD_SERVICE_${PN} = "wpa_supplicant.service wpa_supplicant-nl80211@.service wpa_supplicant-wired@.service"
15SYSTEMD_AUTO_ENABLE = "disable"
16
17SRC_URI = "http://hostap.epitest.fi/releases/wpa_supplicant-${PV}.tar.gz \
18 file://defconfig-gnutls \
19 file://wpa-supplicant.sh \
20 file://wpa_supplicant.conf \
21 file://wpa_supplicant.conf-sane \
22 file://99_wpa_supplicant \
23 file://fix-libnl3-host-contamination.patch \
24 "
25SRC_URI[md5sum] = "e96b8db5a8171cd17a5b2012d6ad7cc7"
26SRC_URI[sha256sum] = "91632e7e3b49a340ce408e2f978a93546a697383abf2e5a60f146faae9e1b277"
27
28S = "${WORKDIR}/wpa_supplicant-${PV}"
29
30PACKAGES_prepend = "wpa-supplicant-passphrase wpa-supplicant-cli "
31FILES_wpa-supplicant-passphrase = "${bindir}/wpa_passphrase"
32FILES_wpa-supplicant-cli = "${sbindir}/wpa_cli"
33FILES_${PN} += "${datadir}/dbus-1/system-services/*"
34CONFFILES_${PN} += "${sysconfdir}/wpa_supplicant.conf"
35
36do_configure () {
37 install -m 0755 ${WORKDIR}/defconfig-gnutls wpa_supplicant/.config
38 echo "CFLAGS +=\"-I${STAGING_INCDIR}/libnl3\"" >> wpa_supplicant/.config
39}
40
41export EXTRA_CFLAGS = "${CFLAGS}"
42export BINDIR = "${sbindir}"
43
44do_compile () {
45 unset CFLAGS CPPFLAGS CXXFLAGS
46 sed -e "s:CFLAGS\ =.*:& \$(EXTRA_CFLAGS):g" -i ${S}/src/lib.rules
47 oe_runmake -C wpa_supplicant
48}
49
50do_install () {
51 install -d ${D}${sbindir}
52 install -m 755 wpa_supplicant/wpa_supplicant ${D}${sbindir}
53 install -m 755 wpa_supplicant/wpa_cli ${D}${sbindir}
54
55 install -d ${D}${bindir}
56 install -m 755 wpa_supplicant/wpa_passphrase ${D}${bindir}
57
58 install -d ${D}${docdir}/wpa_supplicant
59 install -m 644 wpa_supplicant/README ${WORKDIR}/wpa_supplicant.conf ${D}${docdir}/wpa_supplicant
60
61 install -d ${D}${sysconfdir}
62 install -m 600 ${WORKDIR}/wpa_supplicant.conf-sane ${D}${sysconfdir}/wpa_supplicant.conf
63
64 install -d ${D}${sysconfdir}/network/if-pre-up.d/
65 install -d ${D}${sysconfdir}/network/if-post-down.d/
66 install -d ${D}${sysconfdir}/network/if-down.d/
67 install -m 755 ${WORKDIR}/wpa-supplicant.sh ${D}${sysconfdir}/network/if-pre-up.d/wpa-supplicant
68 cd ${D}${sysconfdir}/network/ && \
69 ln -sf ../if-pre-up.d/wpa-supplicant if-post-down.d/wpa-supplicant
70
71 install -d ${D}/${sysconfdir}/dbus-1/system.d
72 install -m 644 ${S}/wpa_supplicant/dbus/dbus-wpa_supplicant.conf ${D}/${sysconfdir}/dbus-1/system.d
73 install -d ${D}/${datadir}/dbus-1/system-services
74 install -m 644 ${S}/wpa_supplicant/dbus/*.service ${D}/${datadir}/dbus-1/system-services
75
76 if ${@base_contains('DISTRO_FEATURES','systemd','true','false',d)}; then
77 install -d ${D}/${systemd_unitdir}/system
78 install -m 644 ${S}/wpa_supplicant/systemd/*.service ${D}/${systemd_unitdir}/system
79 fi
80
81 install -d ${D}/etc/default/volatiles
82 install -m 0644 ${WORKDIR}/99_wpa_supplicant ${D}/etc/default/volatiles
83}
84
85pkg_postinst_wpa-supplicant () {
86 # If we're offline, we don't need to do this.
87 if [ "x$D" = "x" ]; then
88 killall -q -HUP dbus-daemon || true
89 fi
90
91}
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-gnutls b/meta/recipes-connectivity/wpa-supplicant/wpa-supplicant/defconfig-gnutls
new file mode 100644
index 0000000000..92ef8231d5
--- /dev/null
+++ b/meta/recipes-connectivity/wpa-supplicant/wpa-supplicant/defconfig-gnutls
@@ -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 = gnutls
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.1.bb b/meta/recipes-connectivity/wpa-supplicant/wpa-supplicant_2.1.bb
new file mode 100644
index 0000000000..afd0654016
--- /dev/null
+++ b/meta/recipes-connectivity/wpa-supplicant/wpa-supplicant_2.1.bb
@@ -0,0 +1,2 @@
1require wpa-supplicant.inc
2