There's no reason to regenerate these for the sake of having 'UTC' in the patch and it also considers patches with comments to be invalid. WARN: /root/svn/ports/security/openssh-portable/files/patch-auth.c: patch was not generated using ``make makepatch''. It is recommended to use ``make makepatch'' when you need to [re-]generate a patch to ensure proper patch format. WARN: /root/svn/ports/security/openssh-portable/files/patch-auth2.c: patch was not generated using ``make makepatch''. It is recommended to use ``make makepatch'' when you need to [re-]generate a patch to ensure proper patch format. WARN: /root/svn/ports/security/openssh-portable/files/patch-readconf.c: patch was not generated using ``make makepatch''. It is recommended to use ``make makepatch'' when you need to [re-]generate a patch to ensure proper patch format. WARN: /root/svn/ports/security/openssh-portable/files/patch-regress__test-exec.sh: patch was not generated using ``make makepatch''. It is recommended to use ``make makepatch'' when you need to [re-]generate a patch to ensure proper patch format. WARN: /root/svn/ports/security/openssh-portable/files/patch-servconf.c: patch was not generated using ``make makepatch''. It is recommended to use ``make makepatch'' when you need to [re-]generate a patch to ensure proper patch format. WARN: /root/svn/ports/security/openssh-portable/files/patch-session.c: patch was not generated using ``make makepatch''. It is recommended to use ``make makepatch'' when you need to [re-]generate a patch to ensure proper patch format. WARN: /root/svn/ports/security/openssh-portable/files/patch-ssh-agent.1: patch was not generated using ``make makepatch''. It is recommended to use ``make makepatch'' when you need to [re-]generate a patch to ensure proper patch format. WARN: /root/svn/ports/security/openssh-portable/files/patch-ssh-agent.c: patch was not generated using ``make makepatch''. It is recommended to use ``make makepatch'' when you need to [re-]generate a patch to ensure proper patch format. WARN: /root/svn/ports/security/openssh-portable/files/patch-ssh.c: patch was not generated using ``make makepatch''. It is recommended to use ``make makepatch'' when you need to [re-]generate a patch to ensure proper patch format. WARN: /root/svn/ports/security/openssh-portable/files/patch-ssh_config: patch was not generated using ``make makepatch''. It is recommended to use ``make makepatch'' when you need to [re-]generate a patch to ensure proper patch format. WARN: /root/svn/ports/security/openssh-portable/files/patch-ssh_config.5: patch was not generated using ``make makepatch''. It is recommended to use ``make makepatch'' when you need to [re-]generate a patch to ensure proper patch format. WARN: /root/svn/ports/security/openssh-portable/files/patch-sshconnect.c: patch was not generated using ``make makepatch''. It is recommended to use ``make makepatch'' when you need to [re-]generate a patch to ensure proper patch format. WARN: /root/svn/ports/security/openssh-portable/files/patch-sshd.8: patch was not generated using ``make makepatch''. It is recommended to use ``make makepatch'' when you need to [re-]generate a patch to ensure proper patch format. WARN: /root/svn/ports/security/openssh-portable/files/patch-sshd.c: patch was not generated using ``make makepatch''. It is recommended to use ``make makepatch'' when you need to [re-]generate a patch to ensure proper patch format. WARN: /root/svn/ports/security/openssh-portable/files/patch-sshd_config: patch was not generated using ``make makepatch''. It is recommended to use ``make makepatch'' when you need to [re-]generate a patch to ensure proper patch format. WARN: /root/svn/ports/security/openssh-portable/files/patch-sshd_config.5: patch was not generated using ``make makepatch''. It is recommended to use ``make makepatch'' when you need to [re-]generate a patch to ensure proper patch format.
94 lines
2.5 KiB
C
94 lines
2.5 KiB
C
--- UTC
|
|
r110506 | des | 2003-02-07 09:48:27 -0600 (Fri, 07 Feb 2003) | 4 lines
|
|
|
|
Set the ruid to the euid at startup as a workaround for a bug in pam_ssh.
|
|
|
|
r226103 | des | 2011-10-07 08:10:16 -0500 (Fri, 07 Oct 2011) | 5 lines
|
|
|
|
Add a -x option that causes ssh-agent(1) to exit when all clients have
|
|
disconnected.
|
|
|
|
--- ssh-agent.c.orig 2015-05-29 03:27:21.000000000 -0500
|
|
+++ ssh-agent.c 2015-06-02 09:46:54.719580000 -0500
|
|
@@ -157,15 +157,34 @@ static long lifetime = 0;
|
|
|
|
static int fingerprint_hash = SSH_FP_HASH_DEFAULT;
|
|
|
|
+/*
|
|
+ * Client connection count; incremented in new_socket() and decremented in
|
|
+ * close_socket(). When it reaches 0, ssh-agent will exit. Since it is
|
|
+ * normally initialized to 1, it will never reach 0. However, if the -x
|
|
+ * option is specified, it is initialized to 0 in main(); in that case,
|
|
+ * ssh-agent will exit as soon as it has had at least one client but no
|
|
+ * longer has any.
|
|
+ */
|
|
+static int xcount = 1;
|
|
+
|
|
static void
|
|
close_socket(SocketEntry *e)
|
|
{
|
|
+ int last = 0;
|
|
+
|
|
+ if (e->type == AUTH_CONNECTION) {
|
|
+ debug("xcount %d -> %d", xcount, xcount - 1);
|
|
+ if (--xcount == 0)
|
|
+ last = 1;
|
|
+ }
|
|
close(e->fd);
|
|
e->fd = -1;
|
|
e->type = AUTH_UNUSED;
|
|
sshbuf_free(e->input);
|
|
sshbuf_free(e->output);
|
|
sshbuf_free(e->request);
|
|
+ if (last)
|
|
+ cleanup_exit(0);
|
|
}
|
|
|
|
static void
|
|
@@ -939,6 +958,10 @@ new_socket(sock_type type, int fd)
|
|
{
|
|
u_int i, old_alloc, new_alloc;
|
|
|
|
+ if (type == AUTH_CONNECTION) {
|
|
+ debug("xcount %d -> %d", xcount, xcount + 1);
|
|
+ ++xcount;
|
|
+ }
|
|
set_nonblock(fd);
|
|
|
|
if (fd > max_fd)
|
|
@@ -1166,7 +1189,7 @@ static void
|
|
usage(void)
|
|
{
|
|
fprintf(stderr,
|
|
- "usage: ssh-agent [-c | -s] [-Dd] [-a bind_address] [-E fingerprint_hash]\n"
|
|
+ "usage: ssh-agent [-c | -s] [-Ddx] [-a bind_address] [-E fingerprint_hash]\n"
|
|
" [-t life] [command [arg ...]]\n"
|
|
" ssh-agent [-c | -s] -k\n");
|
|
exit(1);
|
|
@@ -1197,6 +1220,7 @@ main(int ac, char **av)
|
|
/* drop */
|
|
setegid(getgid());
|
|
setgid(getgid());
|
|
+ setuid(geteuid());
|
|
|
|
#if defined(HAVE_PRCTL) && defined(PR_SET_DUMPABLE)
|
|
/* Disable ptrace on Linux without sgid bit */
|
|
@@ -1210,7 +1234,7 @@ main(int ac, char **av)
|
|
__progname = ssh_get_progname(av[0]);
|
|
seed_rng();
|
|
|
|
- while ((ch = getopt(ac, av, "cDdksE:a:t:")) != -1) {
|
|
+ while ((ch = getopt(ac, av, "cDdksE:a:t:x")) != -1) {
|
|
switch (ch) {
|
|
case 'E':
|
|
fingerprint_hash = ssh_digest_alg_by_name(optarg);
|
|
@@ -1249,6 +1273,9 @@ main(int ac, char **av)
|
|
usage();
|
|
}
|
|
break;
|
|
+ case 'x':
|
|
+ xcount = 0;
|
|
+ break;
|
|
default:
|
|
usage();
|
|
}
|