From babc1d5f73dec4d7636d4fefac02e86c2bb69143 Mon Sep 17 00:00:00 2001 From: Darren Tucker Date: Fri, 13 Jun 2008 08:56:01 +1000 Subject: [PATCH] - djm@cvs.openbsd.org 2008/06/12 21:06:25 [clientloop.c] I was coalescing expected global request confirmation replies at the wrong end of the queue - fix; prompted by markus@ --- ChangeLog | 6 +++++- clientloop.c | 4 ++-- 2 files changed, 7 insertions(+), 3 deletions(-) diff --git a/ChangeLog b/ChangeLog index a844cd472..652266e3f 100644 --- a/ChangeLog +++ b/ChangeLog @@ -125,6 +125,10 @@ - djm@cvs.openbsd.org 2008/06/12 20:47:04 [sftp-client.c] print extension revisions for extensions that we understand + - djm@cvs.openbsd.org 2008/06/12 21:06:25 + [clientloop.c] + I was coalescing expected global request confirmation replies at + the wrong end of the queue - fix; prompted by markus@ - (dtucker) [clientloop.c serverloop.c] channel_register_filter now takes 2 more args. with djm@ @@ -4289,4 +4293,4 @@ OpenServer 6 and add osr5bigcrypt support so when someone migrates passwords between UnixWare and OpenServer they will still work. OK dtucker@ -$Id: ChangeLog,v 1.4989 2008/06/12 21:01:29 dtucker Exp $ +$Id: ChangeLog,v 1.4990 2008/06/12 22:56:01 dtucker Exp $ diff --git a/clientloop.c b/clientloop.c index 62adbb78e..6dc870881 100644 --- a/clientloop.c +++ b/clientloop.c @@ -1,4 +1,4 @@ -/* $OpenBSD: clientloop.c,v 1.198 2008/06/12 15:19:17 djm Exp $ */ +/* $OpenBSD: clientloop.c,v 1.199 2008/06/12 21:06:25 djm Exp $ */ /* * Author: Tatu Ylonen * Copyright (c) 1995 Tatu Ylonen , Espoo, Finland @@ -745,7 +745,7 @@ client_register_global_confirm(global_confirm_cb *cb, void *ctx) struct global_confirm *gc, *first_gc; /* Coalesce identical callbacks */ - first_gc = TAILQ_FIRST(&global_confirms); + first_gc = TAILQ_LAST(&global_confirms, global_confirms); if (first_gc && first_gc->cb == cb && first_gc->ctx == ctx) { if (++first_gc->ref_count >= INT_MAX) fatal("%s: first_gc->ref_count = %d",