[servconf.c]
     do not prepend AuthorizedKeysFile with getcwd(), unbreaks relative paths
     free() (not xfree()) the buffer returned by getcwd()
This commit is contained in:
Damien Miller 2010-03-22 05:53:04 +11:00
parent c4cb47bc53
commit 4a5f0d325b
2 changed files with 7 additions and 3 deletions

View File

@ -15,6 +15,10 @@
[servconf.c] [servconf.c]
unbreak AuthorizedKeys option with a $HOME-relative path; reported by unbreak AuthorizedKeys option with a $HOME-relative path; reported by
vinschen AT redhat.com, ok dtucker@ vinschen AT redhat.com, ok dtucker@
- markus@cvs.openbsd.org 2010/03/12 11:37:40
[servconf.c]
do not prepend AuthorizedKeysFile with getcwd(), unbreaks relative paths
free() (not xfree()) the buffer returned by getcwd()
20100314 20100314
- (djm) [ssh-pkcs11-helper.c] Move #ifdef to after #defines to fix - (djm) [ssh-pkcs11-helper.c] Move #ifdef to after #defines to fix

View File

@ -1,4 +1,4 @@
/* $OpenBSD: servconf.c,v 1.205 2010/03/12 01:06:25 djm Exp $ */ /* $OpenBSD: servconf.c,v 1.206 2010/03/12 11:37:40 markus 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
@ -478,7 +478,7 @@ derelativise_path(const char *path)
if ((cwd = getcwd(NULL, 0)) == NULL) if ((cwd = getcwd(NULL, 0)) == NULL)
fatal("%s: getcwd: %s", __func__, strerror(errno)); fatal("%s: getcwd: %s", __func__, strerror(errno));
xasprintf(&ret, "%s/%s", cwd, expanded); xasprintf(&ret, "%s/%s", cwd, expanded);
xfree(cwd); free(cwd);
xfree(expanded); xfree(expanded);
return ret; return ret;
} }
@ -1228,7 +1228,7 @@ process_server_config_line(ServerOptions *options, char *line,
fatal("%s line %d: missing file name.", fatal("%s line %d: missing file name.",
filename, linenum); filename, linenum);
if (*activep && *charptr == NULL) { if (*activep && *charptr == NULL) {
*charptr = derelativise_path(arg); *charptr = tilde_expand_filename(arg, getuid());
/* increase optional counter */ /* increase optional counter */
if (intptr != NULL) if (intptr != NULL)
*intptr = *intptr + 1; *intptr = *intptr + 1;