From 38757197dd893a8335adbf982aefe7c4b49f76fe Mon Sep 17 00:00:00 2001 From: djm Date: Fri, 5 Jan 2007 05:29:02 +0000 Subject: [PATCH] - dtucker@cvs.openbsd.org 2006/12/14 10:01:14 [servconf.c] Make "PermitOpen all" first-match within a block to match the way other options work. ok markus@ djm@ --- ChangeLog | 4 ++++ servconf.c | 6 +++--- 2 files changed, 7 insertions(+), 3 deletions(-) diff --git a/ChangeLog b/ChangeLog index 4ce7c1bb..6ec71ec5 100644 --- a/ChangeLog +++ b/ChangeLog @@ -21,6 +21,10 @@ [servconf.c] Make PermitOpen work with multiple values like the man pages says. bz #1267 with details from peter at dmtz.com, with & ok djm@ + - dtucker@cvs.openbsd.org 2006/12/14 10:01:14 + [servconf.c] + Make "PermitOpen all" first-match within a block to match the way other + options work. ok markus@ djm@ 20061205 - (djm) [auth.c] Fix NULL pointer dereference in fakepw(). Crash would diff --git a/servconf.c b/servconf.c index 83b63497..872ff4a8 100644 --- a/servconf.c +++ b/servconf.c @@ -1,4 +1,4 @@ -/* $OpenBSD: servconf.c,v 1.166 2006/12/13 08:34:39 dtucker Exp $ */ +/* $OpenBSD: servconf.c,v 1.167 2006/12/14 10:01:14 dtucker Exp $ */ /* * Copyright (c) 1995 Tatu Ylonen , Espoo, Finland * All rights reserved @@ -1220,14 +1220,14 @@ parse_flag: if (!arg || *arg == '\0') fatal("%s line %d: missing PermitOpen specification", filename, linenum); + n = options->num_permitted_opens; /* modified later */ if (strcmp(arg, "any") == 0) { - if (*activep) { + if (*activep && n == -1) { channel_clear_adm_permitted_opens(); options->num_permitted_opens = 0; } break; } - n = options->num_permitted_opens; /* modified later */ if (*activep && n == -1) channel_clear_adm_permitted_opens(); for (; arg != NULL && *arg != '\0'; arg = strdelim(&cp)) { -- 2.45.2