summaryrefslogtreecommitdiff
path: root/servconf.h
diff options
context:
space:
mode:
authordjm@openbsd.org <djm@openbsd.org>2023-09-06 23:35:35 +0000
committerDamien Miller <djm@mindrot.org>2023-09-07 09:54:47 +1000
commit8a1450c62035e834d8a79a5d0d1c904236f9dcfe (patch)
tree5abf279caf5086e57cdd4e2352ab4ab67f673535 /servconf.h
parent6e52826e2a74d077147a82ead8d4fbd5b54f4e3b (diff)
upstream: allow override of Sybsystem directives in sshd Match
blocks OpenBSD-Commit-ID: 3911d18a826a2d2fe7e4519075cf3e57af439722
Diffstat (limited to 'servconf.h')
-rw-r--r--servconf.h14
1 files changed, 8 insertions, 6 deletions
diff --git a/servconf.h b/servconf.h
index 7ad43de87..ed7b72e8e 100644
--- a/servconf.h
+++ b/servconf.h
@@ -1,4 +1,4 @@
-/* $OpenBSD: servconf.h,v 1.159 2023/01/17 09:44:48 djm Exp $ */
+/* $OpenBSD: servconf.h,v 1.160 2023/09/06 23:35:35 djm Exp $ */
/*
* Author: Tatu Ylonen <ylo@cs.hut.fi>
@@ -20,8 +20,6 @@
#define MAX_PORTS 256 /* Max # ports. */
-#define MAX_SUBSYSTEMS 256 /* Max # subsystems. */
-
/* permit_root_login */
#define PERMIT_NOT_SET -1
#define PERMIT_NO 0
@@ -165,9 +163,9 @@ typedef struct {
char **deny_groups;
u_int num_subsystems;
- char *subsystem_name[MAX_SUBSYSTEMS];
- char *subsystem_command[MAX_SUBSYSTEMS];
- char *subsystem_args[MAX_SUBSYSTEMS];
+ char **subsystem_name;
+ char **subsystem_command;
+ char **subsystem_args;
u_int num_accept_env;
char **accept_env;
@@ -294,6 +292,9 @@ TAILQ_HEAD(include_list, include_item);
M_CP_STRARRAYOPT(permitted_listens, num_permitted_listens); \
M_CP_STRARRAYOPT(channel_timeouts, num_channel_timeouts); \
M_CP_STRARRAYOPT(log_verbose, num_log_verbose); \
+ M_CP_STRARRAYOPT(subsystem_name, num_subsystems); \
+ M_CP_STRARRAYOPT(subsystem_command, num_subsystems); \
+ M_CP_STRARRAYOPT(subsystem_args, num_subsystems); \
} while (0)
struct connection_info *get_connection_info(struct ssh *, int, int);
@@ -310,6 +311,7 @@ void parse_server_match_config(ServerOptions *,
struct include_list *includes, struct connection_info *);
int parse_server_match_testspec(struct connection_info *, char *);
int server_match_spec_complete(struct connection_info *);
+void servconf_merge_subsystems(ServerOptions *, ServerOptions *);
void copy_set_server_options(ServerOptions *, ServerOptions *, int);
void dump_config(ServerOptions *);
char *derelativise_path(const char *);