diff options
author | Damien Miller <djm@mindrot.org> | 2000-06-22 12:57:11 +0200 |
---|---|---|
committer | Damien Miller <djm@mindrot.org> | 2000-06-22 12:57:11 +0200 |
commit | 099f505f9526311e48f828e95d90d488fe237219 (patch) | |
tree | 38d1401b60647403fb082f38b5b632d13d1e4665 | |
parent | typo (diff) | |
download | openssh-099f505f9526311e48f828e95d90d488fe237219.tar.xz openssh-099f505f9526311e48f828e95d90d488fe237219.zip |
- (djm) Automatically generate host key during "make install". Suggested
by Gary E. Miller <gem@rellim.com>
- (djm) Paranoia before kill() system call
-rw-r--r-- | ChangeLog | 5 | ||||
-rw-r--r-- | Makefile.in | 17 | ||||
-rw-r--r-- | session.c | 4 |
3 files changed, 23 insertions, 3 deletions
@@ -1,3 +1,8 @@ +20000622 + - (djm) Automatically generate host key during "make install". Suggested + by Gary E. Miller <gem@rellim.com> + - (djm) Paranoia before kill() system call + 20000620 - (djm) Replace use of '-o' and '-a' logical operators in configure tests with '||' and '&&'. As suggested by Jim Knoble <jmknoble@pint-stowp.cx> diff --git a/Makefile.in b/Makefile.in index b18444d3d..f5af10d7e 100644 --- a/Makefile.in +++ b/Makefile.in @@ -112,7 +112,9 @@ catman-do: >$${f%%.[18]}.0 ; \ done -install: manpages $(TARGETS) +install: manpages $(TARGETS) install-files host-key + +install-files: ./mkinstalldirs $(DESTDIR)$(bindir) ./mkinstalldirs $(DESTDIR)$(sbindir) ./mkinstalldirs $(DESTDIR)$(mandir) @@ -134,7 +136,6 @@ install: manpages $(TARGETS) ln -s ssh $(DESTDIR)$(bindir)/slogin -rm -f $(DESTDIR)$(mandir)/$(mansubdir)1/slogin.1 ln -s ssh.1 $(DESTDIR)$(mandir)/$(mansubdir)1/slogin.1 - if [ ! -f $(DESTDIR)$(sysconfdir)/ssh_config -a ! -f $(DESTDIR)$(sysconfdir)/sshd_config ]; then \ ./mkinstalldirs $(DESTDIR)$(sysconfdir); \ $(INSTALL) -m 644 ssh_config.out $(DESTDIR)$(sysconfdir)/ssh_config; \ @@ -146,6 +147,18 @@ install: manpages $(TARGETS) fi host-key: ssh-keygen + if [ -f "$(sysconfdir)/ssh_host_key" ] ; then \ + echo "$(sysconfdir)/ssh_host_key already exists, skipping." ; \ + else \ + ./ssh-keygen -b 1024 -f $(sysconfdir)/ssh_host_key -N "" ; \ + fi ; \ + if [ -f $(sysconfdir)/ssh_host_dsa_key ] ; then \ + echo "$(sysconfdir)/ssh_host_dsa_key already exists, skipping." ; \ + else \ + ./ssh-keygen -d -f $(sysconfdir)/ssh_host_dsa_key -N "" ; \ + fi ; + +host-key-force: ssh-keygen ./ssh-keygen -b 1024 -f $(sysconfdir)/ssh_host_key -N "" ./ssh-keygen -d -f $(sysconfdir)/ssh_host_dsa_key -N "" @@ -1608,7 +1608,9 @@ session_close_by_channel(int id, void *arg) session_close(s); } else { /* notify child, delay session cleanup */ - if (kill(s->pid, (s->ttyfd == -1) ? SIGTERM : SIGHUP) < 0) + if (s->pid <= 1) + error("session_close_by_channel: Unsafe s->pid = %d", s->pid); + else if (kill(s->pid, (s->ttyfd == -1) ? SIGTERM : SIGHUP) < 0) error("session_close_by_channel: kill %d: %s", s->pid, strerror(errno)); } |