diff options
author | djm@openbsd.org <djm@openbsd.org> | 2019-09-03 10:32:11 +0200 |
---|---|---|
committer | Damien Miller <djm@mindrot.org> | 2019-09-03 10:39:31 +0200 |
commit | 5485f8d50a5bc46aeed829075ebf5d9c617027ea (patch) | |
tree | faaa341e91f2e3006af62927fe484ab09fbc5b79 /auth-options.c | |
parent | upstream: make get_sigtype public as sshkey_get_sigtype(); ok (diff) | |
download | openssh-5485f8d50a5bc46aeed829075ebf5d9c617027ea.tar.xz openssh-5485f8d50a5bc46aeed829075ebf5d9c617027ea.zip |
upstream: move authorized_keys option parsing helpsers to misc.c
and make them public; ok markus@
OpenBSD-Commit-ID: c18bcb2a687227b3478377c981c2d56af2638ea2
Diffstat (limited to 'auth-options.c')
-rw-r--r-- | auth-options.c | 71 |
1 files changed, 1 insertions, 70 deletions
diff --git a/auth-options.c b/auth-options.c index ca92f7a73..ac362e271 100644 --- a/auth-options.c +++ b/auth-options.c @@ -1,4 +1,4 @@ -/* $OpenBSD: auth-options.c,v 1.86 2019/07/09 04:15:00 djm Exp $ */ +/* $OpenBSD: auth-options.c,v 1.87 2019/09/03 08:32:11 djm Exp $ */ /* * Copyright (c) 2018 Damien Miller <djm@mindrot.org> * @@ -40,75 +40,6 @@ #include "ssh2.h" #include "auth-options.h" -/* - * Match flag 'opt' in *optsp, and if allow_negate is set then also match - * 'no-opt'. Returns -1 if option not matched, 1 if option matches or 0 - * if negated option matches. - * If the option or negated option matches, then *optsp is updated to - * point to the first character after the option. - */ -static int -opt_flag(const char *opt, int allow_negate, const char **optsp) -{ - size_t opt_len = strlen(opt); - const char *opts = *optsp; - int negate = 0; - - if (allow_negate && strncasecmp(opts, "no-", 3) == 0) { - opts += 3; - negate = 1; - } - if (strncasecmp(opts, opt, opt_len) == 0) { - *optsp = opts + opt_len; - return negate ? 0 : 1; - } - return -1; -} - -static char * -opt_dequote(const char **sp, const char **errstrp) -{ - const char *s = *sp; - char *ret; - size_t i; - - *errstrp = NULL; - if (*s != '"') { - *errstrp = "missing start quote"; - return NULL; - } - s++; - if ((ret = malloc(strlen((s)) + 1)) == NULL) { - *errstrp = "memory allocation failed"; - return NULL; - } - for (i = 0; *s != '\0' && *s != '"';) { - if (s[0] == '\\' && s[1] == '"') - s++; - ret[i++] = *s++; - } - if (*s == '\0') { - *errstrp = "missing end quote"; - free(ret); - return NULL; - } - ret[i] = '\0'; - s++; - *sp = s; - return ret; -} - -static int -opt_match(const char **opts, const char *term) -{ - if (strncasecmp((*opts), term, strlen(term)) == 0 && - (*opts)[strlen(term)] == '=') { - *opts += strlen(term) + 1; - return 1; - } - return 0; -} - static int dup_strings(char ***dstp, size_t *ndstp, char **src, size_t nsrc) { |