Changeset View
Changeset View
Standalone View
Standalone View
auth-options.h
/* $OpenBSD: auth-options.h,v 1.27 2018/06/06 18:23:32 djm Exp $ */ | /* $OpenBSD: auth-options.h,v 1.30 2020/08/27 01:07:09 djm Exp $ */ | ||||
/* | /* | ||||
* Copyright (c) 2018 Damien Miller <djm@mindrot.org> | * Copyright (c) 2018 Damien Miller <djm@mindrot.org> | ||||
* | * | ||||
* Permission to use, copy, modify, and distribute this software for any | * Permission to use, copy, modify, and distribute this software for any | ||||
* purpose with or without fee is hereby granted, provided that the above | * purpose with or without fee is hereby granted, provided that the above | ||||
* copyright notice and this permission notice appear in all copies. | * copyright notice and this permission notice appear in all copies. | ||||
* | * | ||||
* THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES | * THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES | ||||
* WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF | * WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF | ||||
* MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR | * MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR | ||||
* ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES | * ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES | ||||
* WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN | * WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN | ||||
* ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF | * ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF | ||||
* OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. | * OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE. | ||||
*/ | */ | ||||
#ifndef AUTH_OPTIONS_H | #ifndef AUTH_OPTIONS_H | ||||
#define AUTH_OPTIONS_H | #define AUTH_OPTIONS_H | ||||
struct passwd; | struct passwd; | ||||
struct sshkey; | struct sshkey; | ||||
/* Maximum number of permitopen/permitlisten directives to accept */ | |||||
#define SSH_AUTHOPT_PERMIT_MAX 4096 | |||||
/* | /* | ||||
* sshauthopt represents key options parsed from authorized_keys or | * sshauthopt represents key options parsed from authorized_keys or | ||||
* from certificate extensions/options. | * from certificate extensions/options. | ||||
*/ | */ | ||||
struct sshauthopt { | struct sshauthopt { | ||||
/* Feature flags */ | /* Feature flags */ | ||||
int permit_port_forwarding_flag; | int permit_port_forwarding_flag; | ||||
int permit_agent_forwarding_flag; | int permit_agent_forwarding_flag; | ||||
Show All 27 Lines | struct sshauthopt { | ||||
char **permitlisten; | char **permitlisten; | ||||
/* | /* | ||||
* Permitted host/addresses (comma-separated) | * Permitted host/addresses (comma-separated) | ||||
* Caller must check source address matches both lists (if present). | * Caller must check source address matches both lists (if present). | ||||
*/ | */ | ||||
char *required_from_host_cert; | char *required_from_host_cert; | ||||
char *required_from_host_keys; | char *required_from_host_keys; | ||||
/* Key requires user presence asserted */ | |||||
int no_require_user_presence; | |||||
/* Key requires user verification (e.g. PIN) */ | |||||
int require_verify; | |||||
}; | }; | ||||
struct sshauthopt *sshauthopt_new(void); | struct sshauthopt *sshauthopt_new(void); | ||||
struct sshauthopt *sshauthopt_new_with_keys_defaults(void); | struct sshauthopt *sshauthopt_new_with_keys_defaults(void); | ||||
void sshauthopt_free(struct sshauthopt *opts); | void sshauthopt_free(struct sshauthopt *opts); | ||||
struct sshauthopt *sshauthopt_copy(const struct sshauthopt *orig); | struct sshauthopt *sshauthopt_copy(const struct sshauthopt *orig); | ||||
int sshauthopt_serialise(const struct sshauthopt *opts, struct sshbuf *m, int); | int sshauthopt_serialise(const struct sshauthopt *opts, struct sshbuf *m, int); | ||||
int sshauthopt_deserialise(struct sshbuf *m, struct sshauthopt **opts); | int sshauthopt_deserialise(struct sshbuf *m, struct sshauthopt **opts); | ||||
Show All 20 Lines |