summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--ChangeLog7
-rw-r--r--auth.h4
-rw-r--r--clientloop.c4
-rw-r--r--dispatch.c4
-rw-r--r--dispatch.h4
-rw-r--r--kex.h4
6 files changed, 16 insertions, 11 deletions
diff --git a/ChangeLog b/ChangeLog
index 551845a5..8131cd6c 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -47,6 +47,11 @@
that sftp and sftp-server (which use the Buffer functions in bufaux.c
but not the bignum ones) no longer need to be linked with libcrypto.
ok markus@
+ - djm@cvs.openbsd.org 2006/04/20 09:27:09
+ [auth.h clientloop.c dispatch.c dispatch.h kex.h]
+ replace the last non-sig_atomic_t flag used in a signal handler with a
+ sig_atomic_t, unfortunately with some knock-on effects in other (non-
+ signal) contexts in which it is used; ok markus@
20060421
- (djm) [Makefile.in configure.ac session.c sshpty.c]
@@ -4558,4 +4563,4 @@
- (djm) Trim deprecated options from INSTALL. Mention UsePAM
- (djm) Fix quote handling in sftp; Patch from admorten AT umich.edu
-$Id: ChangeLog,v 1.4311 2006/04/23 02:08:19 djm Exp $
+$Id: ChangeLog,v 1.4312 2006/04/23 02:08:37 djm Exp $
diff --git a/auth.h b/auth.h
index c69de34e..adbfdd2e 100644
--- a/auth.h
+++ b/auth.h
@@ -1,4 +1,4 @@
-/* $OpenBSD: auth.h,v 1.52 2006/03/25 22:22:42 djm Exp $ */
+/* $OpenBSD: auth.h,v 1.53 2006/04/20 09:27:09 djm Exp $ */
/*
* Copyright (c) 2000 Markus Friedl. All rights reserved.
@@ -48,7 +48,7 @@ typedef struct Authmethod Authmethod;
typedef struct KbdintDevice KbdintDevice;
struct Authctxt {
- int success;
+ sig_atomic_t success;
int postponed; /* authentication needs another step */
int valid; /* user exists and is allowed to login */
int attempt;
diff --git a/clientloop.c b/clientloop.c
index 7745c4dd..d317b79f 100644
--- a/clientloop.c
+++ b/clientloop.c
@@ -1,4 +1,4 @@
-/* $OpenBSD: clientloop.c,v 1.161 2006/03/25 18:30:55 deraadt Exp $ */
+/* $OpenBSD: clientloop.c,v 1.162 2006/04/20 09:27:09 djm Exp $ */
/*
* Author: Tatu Ylonen <ylo@cs.hut.fi>
* Copyright (c) 1995 Tatu Ylonen <ylo@cs.hut.fi>, Espoo, Finland
@@ -131,7 +131,7 @@ static volatile sig_atomic_t received_signal = 0;
static int in_non_blocking_mode = 0;
/* Common data for the client loop code. */
-static int quit_pending; /* Set to non-zero to quit the client loop. */
+static volatile sig_atomic_t quit_pending; /* Set non-zero to quit the loop. */
static int escape_char; /* Escape character. */
static int escape_pending; /* Last character was the escape character */
static int last_was_cr; /* Last character was a newline. */
diff --git a/dispatch.c b/dispatch.c
index eac07b1b..4f965a62 100644
--- a/dispatch.c
+++ b/dispatch.c
@@ -1,4 +1,4 @@
-/* $OpenBSD: dispatch.c,v 1.18 2006/03/25 13:17:01 djm Exp $ */
+/* $OpenBSD: dispatch.c,v 1.19 2006/04/20 09:27:09 djm Exp $ */
/*
* Copyright (c) 2000 Markus Friedl. All rights reserved.
*
@@ -76,7 +76,7 @@ dispatch_set(int type, dispatch_fn *fn)
dispatch[type] = fn;
}
void
-dispatch_run(int mode, int *done, void *ctxt)
+dispatch_run(int mode, volatile sig_atomic_t *done, void *ctxt)
{
for (;;) {
int type;
diff --git a/dispatch.h b/dispatch.h
index b33288f6..4bca8a5a 100644
--- a/dispatch.h
+++ b/dispatch.h
@@ -1,4 +1,4 @@
-/* $OpenBSD: dispatch.h,v 1.10 2006/03/25 22:22:43 djm Exp $ */
+/* $OpenBSD: dispatch.h,v 1.11 2006/04/20 09:27:09 djm Exp $ */
/*
* Copyright (c) 2000 Markus Friedl. All rights reserved.
@@ -33,6 +33,6 @@ typedef void dispatch_fn(int, u_int32_t, void *);
void dispatch_init(dispatch_fn *);
void dispatch_set(int, dispatch_fn *);
void dispatch_range(u_int, u_int, dispatch_fn *);
-void dispatch_run(int, int *, void *);
+void dispatch_run(int, volatile sig_atomic_t *, void *);
void dispatch_protocol_error(int, u_int32_t, void *);
void dispatch_protocol_ignore(int, u_int32_t, void *);
diff --git a/kex.h b/kex.h
index 597b5481..137c3d8e 100644
--- a/kex.h
+++ b/kex.h
@@ -1,4 +1,4 @@
-/* $OpenBSD: kex.h,v 1.41 2006/03/25 22:22:43 djm Exp $ */
+/* $OpenBSD: kex.h,v 1.42 2006/04/20 09:27:09 djm Exp $ */
/*
* Copyright (c) 2000, 2001 Markus Friedl. All rights reserved.
@@ -114,7 +114,7 @@ struct Kex {
int kex_type;
Buffer my;
Buffer peer;
- int done;
+ sig_atomic_t done;
int flags;
const EVP_MD *evp_md;
char *client_version_string;