diff options
author | Koen Kooi <koen@dominion.thruhere.net> | 2011-06-18 16:14:51 +0200 |
---|---|---|
committer | Koen Kooi <koen@dominion.thruhere.net> | 2011-06-19 20:41:26 +0200 |
commit | c5d9f7055288a56ebe68c3ab022f40c8932b215f (patch) | |
tree | ba83b3251fe7f0d9dd8870b58c5c9da094d1a645 /meta-oe/recipes-core/dropbear | |
parent | 790355db870872419a19f12bfdd0df0d52f8ae7b (diff) | |
download | meta-openembedded-c5d9f7055288a56ebe68c3ab022f40c8932b215f.tar.gz |
dropbear-systemd: config files for socket-based activation of dropbear
Signed-off-by: Koen Kooi <koen@dominion.thruhere.net>
Diffstat (limited to 'meta-oe/recipes-core/dropbear')
4 files changed, 69 insertions, 0 deletions
diff --git a/meta-oe/recipes-core/dropbear/dropbear-systemd/dropbear.socket b/meta-oe/recipes-core/dropbear/dropbear-systemd/dropbear.socket new file mode 100644 index 0000000000..e5c61b755e --- /dev/null +++ b/meta-oe/recipes-core/dropbear/dropbear-systemd/dropbear.socket @@ -0,0 +1,10 @@ +[Unit] +Conflicts=dropbear.service + +[Socket] +ListenStream=22 +Accept=yes + +[Install] +WantedBy=sockets.target +Also=dropbearkey.service diff --git a/meta-oe/recipes-core/dropbear/dropbear-systemd/dropbear@.service b/meta-oe/recipes-core/dropbear/dropbear-systemd/dropbear@.service new file mode 100644 index 0000000000..4fba3f05c8 --- /dev/null +++ b/meta-oe/recipes-core/dropbear/dropbear-systemd/dropbear@.service @@ -0,0 +1,9 @@ +[Unit] +Description=SSH Per-Connection Server +Requires=dropbearkey.service +After=syslog.target dropbearkey.service + +[Service] +ExecStart=-/usr/sbin/dropbear -i -r /etc/dropbear/dropbear_rsa_host_key -p 22 +ExecReload=/bin/kill -HUP $MAINPID +StandardInput=socket diff --git a/meta-oe/recipes-core/dropbear/dropbear-systemd/dropbearkey.service b/meta-oe/recipes-core/dropbear/dropbear-systemd/dropbearkey.service new file mode 100644 index 0000000000..7f03000ebc --- /dev/null +++ b/meta-oe/recipes-core/dropbear/dropbear-systemd/dropbearkey.service @@ -0,0 +1,10 @@ +[Unit] +Description=SSH Key Generation +ConditionPathExists=|!/etc/dropbear/dropbear_rsa_host_key + +[Service] +ExecStart=/usr/sbin/dropbearkey -t rsa -f /etc/dropbear/dropbear_rsa_host_key +RemainAfterExit=yes + +[Install] +WantedBy=multi-user.target diff --git a/meta-oe/recipes-core/dropbear/dropbear-systemd_v1.bb b/meta-oe/recipes-core/dropbear/dropbear-systemd_v1.bb new file mode 100644 index 0000000000..b46c0e2a4a --- /dev/null +++ b/meta-oe/recipes-core/dropbear/dropbear-systemd_v1.bb @@ -0,0 +1,40 @@ +DESCRIPTION = "Socket based activation for dropbear ssh server" +LICENSE = "MIT" +LIC_FILES_CHKSUM = "file://${COREBASE}/LICENSE;md5=3f40d7994397109285ec7b81fdeb3b58" + +inherit allarch + +SRC_URI = "file://dropbearkey.service \ + file://dropbear@.service \ + file://dropbear.socket \ + " + +do_configure() { + : +} + +do_compile() { + : +} + +do_install() { + install -d ${D}${base_libdir}/systemd/system + install -m 0644 ${WORKDIR}/dropbear*.* ${D}${base_libdir}/systemd/system/ +} + +pkg_postinst_${PN} () { +if test "x$D" != "x"; then + exit 1 +fi +systemctl enable dropbear.socket +ln -sf /dev/null ${base_libdir}/systemd/system/dropbear.service +} + +pkg_postrm_${PN} () { +systemctl disable dropbear.socket +rm -f ${base_libdir}/systemd/system/dropbear.service +} + +RDEPENDS_${PN} = "systemd dropbear" +FILES_${PN} = "${base_libdir}/systemd/system" + |