[servconf.c]
     Make "PermitOpen all" first-match within a block to match the way other
     options work.  ok markus@ djm@
This commit is contained in:
Damien Miller 2007-01-05 16:29:02 +11:00
parent a29b95ec3a
commit 9fc6a56204
2 changed files with 8 additions and 4 deletions

View File

@ -21,6 +21,10 @@
[servconf.c] [servconf.c]
Make PermitOpen work with multiple values like the man pages says. Make PermitOpen work with multiple values like the man pages says.
bz #1267 with details from peter at dmtz.com, with & ok djm@ 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 20061205
- (djm) [auth.c] Fix NULL pointer dereference in fakepw(). Crash would - (djm) [auth.c] Fix NULL pointer dereference in fakepw(). Crash would
@ -2641,4 +2645,4 @@
OpenServer 6 and add osr5bigcrypt support so when someone migrates OpenServer 6 and add osr5bigcrypt support so when someone migrates
passwords between UnixWare and OpenServer they will still work. OK dtucker@ passwords between UnixWare and OpenServer they will still work. OK dtucker@
$Id: ChangeLog,v 1.4596 2007/01/05 05:28:36 djm Exp $ $Id: ChangeLog,v 1.4597 2007/01/05 05:29:02 djm Exp $

View File

@ -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 <ylo@cs.hut.fi>, Espoo, Finland * Copyright (c) 1995 Tatu Ylonen <ylo@cs.hut.fi>, Espoo, Finland
* All rights reserved * All rights reserved
@ -1220,14 +1220,14 @@ parse_flag:
if (!arg || *arg == '\0') if (!arg || *arg == '\0')
fatal("%s line %d: missing PermitOpen specification", fatal("%s line %d: missing PermitOpen specification",
filename, linenum); filename, linenum);
n = options->num_permitted_opens; /* modified later */
if (strcmp(arg, "any") == 0) { if (strcmp(arg, "any") == 0) {
if (*activep) { if (*activep && n == -1) {
channel_clear_adm_permitted_opens(); channel_clear_adm_permitted_opens();
options->num_permitted_opens = 0; options->num_permitted_opens = 0;
} }
break; break;
} }
n = options->num_permitted_opens; /* modified later */
if (*activep && n == -1) if (*activep && n == -1)
channel_clear_adm_permitted_opens(); channel_clear_adm_permitted_opens();
for (; arg != NULL && *arg != '\0'; arg = strdelim(&cp)) { for (; arg != NULL && *arg != '\0'; arg = strdelim(&cp)) {