[OE-core] [PATCH 1/1] dropbear: Change the path to find configuration file and add a configuration file for dropbear
Xiaofeng Yan
xiaofeng.yan at windriver.com
Mon Aug 29 10:48:37 UTC 2011
From: Xiaofeng Yan <xiaofeng.yan at windriver.com>
dropbear will check "/etc/pam.d/sshd" which comes from package "openssh" \
When enabling pam supporting. But if we only install dropbear \
package without package "openssh", then "dropbear" will not \
find a configuration file. The changes are as follow for fixing this bug:
- Change the path to find configuration file (/etc/pam.d/sshd --> /etc/pam.d/dropbear)
- Add a configuration file "/etc/pam.d/dropbear"
Signed-off-by: Xiaofeng Yan <xiaofeng.yan at windriver.com>
---
meta/recipes-core/dropbear/dropbear.inc | 6 +++++-
meta/recipes-core/dropbear/dropbear/dropbear | 4 ++++
.../dropbear/dropbear-configuration-file.patch | 18 ++++++++++++++++++
3 files changed, 27 insertions(+), 1 deletions(-)
create mode 100644 meta/recipes-core/dropbear/dropbear/dropbear
create mode 100644 meta/recipes-core/dropbear/dropbear/dropbear-configuration-file.patch
diff --git a/meta/recipes-core/dropbear/dropbear.inc b/meta/recipes-core/dropbear/dropbear.inc
index 5af9ebd..577b288 100644
--- a/meta/recipes-core/dropbear/dropbear.inc
+++ b/meta/recipes-core/dropbear/dropbear.inc
@@ -19,7 +19,9 @@ SRC_URI = "http://matt.ucc.asn.au/dropbear/releases/dropbear-${PV}.tar.gz \
file://init \
${@base_contains('DISTRO_FEATURES', 'pam', '${PAM_SRC_URI}', '', d)} "
-PAM_SRC_URI = "file://dropbear-enable-pam.patch"
+PAM_SRC_URI = "file://dropbear-enable-pam.patch \
+ file://dropbear-configuration-file.patch \
+ file://dropbear"
inherit autotools update-rc.d
@@ -51,6 +53,7 @@ do_install() {
${D}${sysconfdir}/init.d \
${D}${sysconfdir}/default \
${D}${sysconfdir}/dropbear \
+ ${D}${sysconfdir}/pam.d \
${D}${bindir} \
${D}${sbindir} \
${D}${localstatedir}
@@ -68,6 +71,7 @@ do_install() {
-e 's,/usr/bin,${bindir},g' \
-e 's,/usr,${prefix},g' > ${D}${sysconfdir}/init.d/dropbear
chmod 755 ${D}${sysconfdir}/init.d/dropbear
+ install -m 0644 ${WORKDIR}/dropbear ${D}${sysconfdir}/pam.d/
}
pkg_postinst_${PN} () {
diff --git a/meta/recipes-core/dropbear/dropbear/dropbear b/meta/recipes-core/dropbear/dropbear/dropbear
new file mode 100644
index 0000000..47e787f
--- /dev/null
+++ b/meta/recipes-core/dropbear/dropbear/dropbear
@@ -0,0 +1,4 @@
+#%PAM-1.0
+
+auth include common-auth
+account include common-account
diff --git a/meta/recipes-core/dropbear/dropbear/dropbear-configuration-file.patch b/meta/recipes-core/dropbear/dropbear/dropbear-configuration-file.patch
new file mode 100644
index 0000000..5e94553
--- /dev/null
+++ b/meta/recipes-core/dropbear/dropbear/dropbear-configuration-file.patch
@@ -0,0 +1,18 @@
+dropbear: Change the path ("/etc/pam.d/sshd" as default) to find a pam configuration file \
+to "/etc/pam.d/dropbear for dropbear when enabling pam supporting"
+
+Upstream-Status: Inappropriate [configuration]
+
+Signed-off-by: Xiaofeng Yan <xiaofeng.yan at windriver.com>
+
+--- a/svr-authpam.c 2008-11-11 22:09:03.000000000 +0800
++++ b/svr-authpam.c.new 2011-08-29 09:53:24.000000000 +0800
+@@ -199,7 +199,7 @@
+ userData.passwd = password;
+
+ /* Init pam */
+- if ((rc = pam_start("sshd", NULL, &pamConv, &pamHandlep)) != PAM_SUCCESS) {
++ if ((rc = pam_start("dropbear", NULL, &pamConv, &pamHandlep)) != PAM_SUCCESS) {
+ dropbear_log(LOG_WARNING, "pam_start() failed, rc=%d, %s\n",
+ rc, pam_strerror(pamHandlep, rc));
+ goto cleanup;
--
1.7.0.4
More information about the Openembedded-core
mailing list