From 5eff5b858e717e901e6af6596306a114de9f79f2 Mon Sep 17 00:00:00 2001 From: "djm@openbsd.org" Date: Wed, 3 Oct 2018 06:38:35 +0000 Subject: upstream: Allow ssh_config IdentityAgent directive to accept environment variable names as well as explicit paths. ok dtucker@ OpenBSD-Commit-ID: 2f0996e103876c53d8c9dd51dcce9889d700767b --- misc.c | 21 ++++++++++++++++++++- 1 file changed, 20 insertions(+), 1 deletion(-) (limited to 'misc.c') diff --git a/misc.c b/misc.c index ae4d29b84..c4ca12560 100644 --- a/misc.c +++ b/misc.c @@ -1,4 +1,4 @@ -/* $OpenBSD: misc.c,v 1.131 2018/07/27 05:13:02 dtucker Exp $ */ +/* $OpenBSD: misc.c,v 1.132 2018/10/03 06:38:35 djm Exp $ */ /* * Copyright (c) 2000 Markus Friedl. All rights reserved. * Copyright (c) 2005,2006 Damien Miller. All rights reserved. @@ -1948,6 +1948,25 @@ bad: return 0; } +/* + * Verify that a environment variable name (not including initial '$') is + * valid; consisting of one or more alphanumeric or underscore characters only. + * Returns 1 on valid, 0 otherwise. + */ +int +valid_env_name(const char *name) +{ + const char *cp; + + if (name[0] == '\0') + return 0; + for (cp = name; *cp != '\0'; cp++) { + if (!isalnum((u_char)*cp) && *cp != '_') + return 0; + } + return 1; +} + const char * atoi_err(const char *nptr, int *val) { -- cgit v1.2.3