summaryrefslogtreecommitdiff
path: root/debian
diff options
context:
space:
mode:
authorColin Watson <cjwatson@debian.org>2013-08-12 15:53:56 +0200
committerColin Watson <cjwatson@debian.org>2013-08-12 15:53:56 +0200
commit0334ce32304e9ba2a10ee5ca49ca6e8ff3ba6cf4 (patch)
treebf9a3cd717edbc42f98d7c3b31cfb64367aafadd /debian
parent1f710a2fdb64a1a7df0f0fcf074a0b5f73719ca5 (diff)
When running under Upstart, only consider the daemon started once it is
ready to accept connections (by raising SIGSTOP at that point and using "expect stop").
Diffstat (limited to 'debian')
-rw-r--r--debian/changelog8
-rw-r--r--debian/openssh-server.ssh.upstart3
-rw-r--r--debian/patches/series1
-rw-r--r--debian/patches/sigstop.patch20
4 files changed, 32 insertions, 0 deletions
diff --git a/debian/changelog b/debian/changelog
index 0341a15a7..9ed26d33d 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -1,3 +1,11 @@
1openssh (1:6.2p2-7) UNRELEASED; urgency=low
2
3 * When running under Upstart, only consider the daemon started once it is
4 ready to accept connections (by raising SIGSTOP at that point and using
5 "expect stop").
6
7 -- Colin Watson <cjwatson@debian.org> Mon, 12 Aug 2013 12:52:19 +0100
8
1openssh (1:6.2p2-6) unstable; urgency=low 9openssh (1:6.2p2-6) unstable; urgency=low
2 10
3 * Update config.guess and config.sub automatically at build time. 11 * Update config.guess and config.sub automatically at build time.
diff --git a/debian/openssh-server.ssh.upstart b/debian/openssh-server.ssh.upstart
index 21a6bc50b..10ab744f1 100644
--- a/debian/openssh-server.ssh.upstart
+++ b/debian/openssh-server.ssh.upstart
@@ -11,6 +11,9 @@ respawn
11respawn limit 10 5 11respawn limit 10 5
12umask 022 12umask 022
13 13
14env SSH_SIGSTOP=1
15expect stop
16
14# 'sshd -D' leaks stderr and confuses things in conjunction with 'console log' 17# 'sshd -D' leaks stderr and confuses things in conjunction with 'console log'
15console none 18console none
16 19
diff --git a/debian/patches/series b/debian/patches/series
index c99a496b5..0e43d9fe9 100644
--- a/debian/patches/series
+++ b/debian/patches/series
@@ -45,4 +45,5 @@ ssh-agent-setgid.patch
45 45
46# Debian-specific configuration 46# Debian-specific configuration
47gnome-ssh-askpass2-icon.patch 47gnome-ssh-askpass2-icon.patch
48sigstop.patch
48debian-config.patch 49debian-config.patch
diff --git a/debian/patches/sigstop.patch b/debian/patches/sigstop.patch
new file mode 100644
index 000000000..42bee0739
--- /dev/null
+++ b/debian/patches/sigstop.patch
@@ -0,0 +1,20 @@
1Description: Support synchronisation with service supervisor using SIGSTOP
2Author: Colin Watson <cjwatson@debian.org>
3Forwarded: no
4Last-Update: 2013-08-12
5
6Index: b/sshd.c
7===================================================================
8--- a/sshd.c
9+++ b/sshd.c
10@@ -1855,6 +1855,10 @@
11 }
12 }
13
14+ if (getenv("SSH_SIGSTOP"))
15+ /* Tell service supervisor that we are ready. */
16+ kill(getpid(), SIGSTOP);
17+
18 /* Accept a connection and return in a forked child */
19 server_accept_loop(&sock_in, &sock_out,
20 &newsock, config_s);