diff options
-rw-r--r-- | configure.ac | 24 | ||||
-rw-r--r-- | sshd.c | 9 |
2 files changed, 33 insertions, 0 deletions
diff --git a/configure.ac b/configure.ac index 812b7218f..7e0584d2c 100644 --- a/configure.ac +++ b/configure.ac | |||
@@ -4730,6 +4730,29 @@ AC_ARG_WITH([kerberos5], | |||
4730 | AC_SUBST([GSSLIBS]) | 4730 | AC_SUBST([GSSLIBS]) |
4731 | AC_SUBST([K5LIBS]) | 4731 | AC_SUBST([K5LIBS]) |
4732 | 4732 | ||
4733 | # Check whether user wants systemd support | ||
4734 | SYSTEMD_MSG="no" | ||
4735 | AC_ARG_WITH(systemd, | ||
4736 | [ --with-systemd Enable systemd support], | ||
4737 | [ if test "x$withval" != "xno" ; then | ||
4738 | AC_PATH_TOOL([PKGCONFIG], [pkg-config], [no]) | ||
4739 | if test "$PKGCONFIG" != "no"; then | ||
4740 | AC_MSG_CHECKING([for libsystemd]) | ||
4741 | if $PKGCONFIG --exists libsystemd; then | ||
4742 | SYSTEMD_CFLAGS=`$PKGCONFIG --cflags libsystemd` | ||
4743 | SYSTEMD_LIBS=`$PKGCONFIG --libs libsystemd` | ||
4744 | CPPFLAGS="$CPPFLAGS $SYSTEMD_CFLAGS" | ||
4745 | SSHDLIBS="$SSHDLIBS $SYSTEMD_LIBS" | ||
4746 | AC_MSG_RESULT([yes]) | ||
4747 | AC_DEFINE(HAVE_SYSTEMD, 1, [Define if you want systemd support.]) | ||
4748 | SYSTEMD_MSG="yes" | ||
4749 | else | ||
4750 | AC_MSG_RESULT([no]) | ||
4751 | fi | ||
4752 | fi | ||
4753 | fi ] | ||
4754 | ) | ||
4755 | |||
4733 | # Looking for programs, paths and files | 4756 | # Looking for programs, paths and files |
4734 | 4757 | ||
4735 | PRIVSEP_PATH=/var/empty | 4758 | PRIVSEP_PATH=/var/empty |
@@ -5542,6 +5565,7 @@ echo " libldns support: $LDNS_MSG" | |||
5542 | echo " Solaris process contract support: $SPC_MSG" | 5565 | echo " Solaris process contract support: $SPC_MSG" |
5543 | echo " Solaris project support: $SP_MSG" | 5566 | echo " Solaris project support: $SP_MSG" |
5544 | echo " Solaris privilege support: $SPP_MSG" | 5567 | echo " Solaris privilege support: $SPP_MSG" |
5568 | echo " systemd support: $SYSTEMD_MSG" | ||
5545 | echo " IP address in \$DISPLAY hack: $DISPLAY_HACK_MSG" | 5569 | echo " IP address in \$DISPLAY hack: $DISPLAY_HACK_MSG" |
5546 | echo " Translate v4 in v6 hack: $IPV4_IN6_HACK_MSG" | 5570 | echo " Translate v4 in v6 hack: $IPV4_IN6_HACK_MSG" |
5547 | echo " BSD Auth support: $BSD_AUTH_MSG" | 5571 | echo " BSD Auth support: $BSD_AUTH_MSG" |
@@ -85,6 +85,10 @@ | |||
85 | #include <prot.h> | 85 | #include <prot.h> |
86 | #endif | 86 | #endif |
87 | 87 | ||
88 | #ifdef HAVE_SYSTEMD | ||
89 | #include <systemd/sd-daemon.h> | ||
90 | #endif | ||
91 | |||
88 | #include "xmalloc.h" | 92 | #include "xmalloc.h" |
89 | #include "ssh.h" | 93 | #include "ssh.h" |
90 | #include "ssh2.h" | 94 | #include "ssh2.h" |
@@ -2026,6 +2030,11 @@ main(int ac, char **av) | |||
2026 | } | 2030 | } |
2027 | } | 2031 | } |
2028 | 2032 | ||
2033 | #ifdef HAVE_SYSTEMD | ||
2034 | /* Signal systemd that we are ready to accept connections */ | ||
2035 | sd_notify(0, "READY=1"); | ||
2036 | #endif | ||
2037 | |||
2029 | /* Accept a connection and return in a forked child */ | 2038 | /* Accept a connection and return in a forked child */ |
2030 | server_accept_loop(&sock_in, &sock_out, | 2039 | server_accept_loop(&sock_in, &sock_out, |
2031 | &newsock, config_s); | 2040 | &newsock, config_s); |