- markus@cvs.openbsd.org 2001/08/30 22:22:32
[ssh-keyscan.c] do not pass pointers to longjmp; fix from wayne@blorf.net
This commit is contained in:
parent
d71ba5771b
commit
520b55c8c4
|
@ -70,6 +70,9 @@
|
||||||
[auth-options.c sshd.8]
|
[auth-options.c sshd.8]
|
||||||
validate ports for permitopen key file option. add host/port
|
validate ports for permitopen key file option. add host/port
|
||||||
alternative syntax for IPv6. ok markus@
|
alternative syntax for IPv6. ok markus@
|
||||||
|
- markus@cvs.openbsd.org 2001/08/30 22:22:32
|
||||||
|
[ssh-keyscan.c]
|
||||||
|
do not pass pointers to longjmp; fix from wayne@blorf.net
|
||||||
|
|
||||||
20010815
|
20010815
|
||||||
- (bal) Fixed stray code in readconf.c that went in by mistake.
|
- (bal) Fixed stray code in readconf.c that went in by mistake.
|
||||||
|
@ -6393,4 +6396,4 @@
|
||||||
- Wrote replacements for strlcpy and mkdtemp
|
- Wrote replacements for strlcpy and mkdtemp
|
||||||
- Released 1.0pre1
|
- Released 1.0pre1
|
||||||
|
|
||||||
$Id: ChangeLog,v 1.1505 2001/09/12 18:03:31 mouring Exp $
|
$Id: ChangeLog,v 1.1506 2001/09/12 18:05:05 mouring Exp $
|
||||||
|
|
|
@ -7,7 +7,7 @@
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#include "includes.h"
|
#include "includes.h"
|
||||||
RCSID("$OpenBSD: ssh-keyscan.c,v 1.28 2001/08/27 22:02:13 danh Exp $");
|
RCSID("$OpenBSD: ssh-keyscan.c,v 1.29 2001/08/30 22:22:32 markus Exp $");
|
||||||
|
|
||||||
#if defined(HAVE_SYS_QUEUE_H) && !defined(HAVE_BOGUS_SYS_QUEUE_H)
|
#if defined(HAVE_SYS_QUEUE_H) && !defined(HAVE_BOGUS_SYS_QUEUE_H)
|
||||||
#include <sys/queue.h>
|
#include <sys/queue.h>
|
||||||
|
@ -68,6 +68,7 @@ size_t read_wait_size;
|
||||||
int ncon;
|
int ncon;
|
||||||
int nonfatal_fatal = 0;
|
int nonfatal_fatal = 0;
|
||||||
jmp_buf kexjmp;
|
jmp_buf kexjmp;
|
||||||
|
Key *kexjmp_key;
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Keep a connection structure for each file descriptor. The state
|
* Keep a connection structure for each file descriptor. The state
|
||||||
|
@ -322,7 +323,8 @@ keygrab_ssh1(con *c)
|
||||||
static int
|
static int
|
||||||
hostjump(Key *hostkey)
|
hostjump(Key *hostkey)
|
||||||
{
|
{
|
||||||
longjmp(kexjmp, (int)hostkey);
|
kexjmp_key = hostkey;
|
||||||
|
longjmp(kexjmp, 1);
|
||||||
}
|
}
|
||||||
|
|
||||||
static int
|
static int
|
||||||
|
@ -363,10 +365,8 @@ keygrab_ssh2(con *c)
|
||||||
xfree(c->c_kex);
|
xfree(c->c_kex);
|
||||||
c->c_kex = NULL;
|
c->c_kex = NULL;
|
||||||
packet_close();
|
packet_close();
|
||||||
if (j < 0)
|
|
||||||
j = 0;
|
|
||||||
|
|
||||||
return (Key*)(j);
|
return j < 0? NULL : kexjmp_key;
|
||||||
}
|
}
|
||||||
|
|
||||||
static void
|
static void
|
||||||
|
|
Loading…
Reference in New Issue