- djm@cvs.openbsd.org 2014/04/23 12:42:34
[readconf.c] don't record duplicate IdentityFiles
This commit is contained in:
parent
798a02568b
commit
1527190784
|
@ -22,6 +22,9 @@
|
|||
- jmc@cvs.openbsd.org 2014/04/22 14:16:30
|
||||
[sftp.1]
|
||||
zap eol whitespace;
|
||||
- djm@cvs.openbsd.org 2014/04/23 12:42:34
|
||||
[readconf.c]
|
||||
don't record duplicate IdentityFiles
|
||||
|
||||
20140430
|
||||
- (dtucker) [defines.h] Define __GNUC_PREREQ__ macro if we don't already
|
||||
|
|
13
readconf.c
13
readconf.c
|
@ -1,4 +1,4 @@
|
|||
/* $OpenBSD: readconf.c,v 1.218 2014/02/23 20:11:36 djm Exp $ */
|
||||
/* $OpenBSD: readconf.c,v 1.219 2014/04/23 12:42:34 djm Exp $ */
|
||||
/*
|
||||
* Author: Tatu Ylonen <ylo@cs.hut.fi>
|
||||
* Copyright (c) 1995 Tatu Ylonen <ylo@cs.hut.fi>, Espoo, Finland
|
||||
|
@ -345,6 +345,7 @@ add_identity_file(Options *options, const char *dir, const char *filename,
|
|||
int userprovided)
|
||||
{
|
||||
char *path;
|
||||
int i;
|
||||
|
||||
if (options->num_identity_files >= SSH_MAX_IDENTITY_FILES)
|
||||
fatal("Too many identity files specified (max %d)",
|
||||
|
@ -355,6 +356,16 @@ add_identity_file(Options *options, const char *dir, const char *filename,
|
|||
else
|
||||
(void)xasprintf(&path, "%.100s%.100s", dir, filename);
|
||||
|
||||
/* Avoid registering duplicates */
|
||||
for (i = 0; i < options->num_identity_files; i++) {
|
||||
if (options->identity_file_userprovided[i] == userprovided &&
|
||||
strcmp(options->identity_files[i], path) == 0) {
|
||||
debug2("%s: ignoring duplicate key %s", __func__, path);
|
||||
free(path);
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
||||
options->identity_file_userprovided[options->num_identity_files] =
|
||||
userprovided;
|
||||
options->identity_files[options->num_identity_files++] = path;
|
||||
|
|
Loading…
Reference in New Issue