summaryrefslogtreecommitdiffstats
path: root/servconf.h
diff options
context:
space:
mode:
authorDamien Miller <djm@mindrot.org>2011-05-20 11:04:14 +0200
committerDamien Miller <djm@mindrot.org>2011-05-20 11:04:14 +0200
commitf2e407e2dd83addc26b68b4218d8b6ceaceca54b (patch)
treeb059a9e677f7bcb911da414f621a03f672dd1412 /servconf.h
parent - dtucker@cvs.openbsd.org 2011/05/20 02:00:19 (diff)
downloadopenssh-f2e407e2dd83addc26b68b4218d8b6ceaceca54b.tar.xz
openssh-f2e407e2dd83addc26b68b4218d8b6ceaceca54b.zip
- djm@cvs.openbsd.org 2011/05/20 03:25:45
[monitor.c monitor_wrap.c servconf.c servconf.h] use a macro to define which string options to copy between configs for Match. This avoids problems caused by forgetting to keep three code locations in perfect sync and ordering "this is at once beautiful and horrible" + ok dtucker@
Diffstat (limited to 'servconf.h')
-rw-r--r--servconf.h16
1 files changed, 15 insertions, 1 deletions
diff --git a/servconf.h b/servconf.h
index 3f04b8501..953ef8650 100644
--- a/servconf.h
+++ b/servconf.h
@@ -1,4 +1,4 @@
-/* $OpenBSD: servconf.h,v 1.96 2011/05/11 04:47:06 djm Exp $ */
+/* $OpenBSD: servconf.h,v 1.97 2011/05/20 03:25:45 djm Exp $ */
/*
* Author: Tatu Ylonen <ylo@cs.hut.fi>
@@ -161,6 +161,20 @@ typedef struct {
char *authorized_principals_file;
} ServerOptions;
+/*
+ * These are string config options that must be copied between the
+ * Match sub-config and the main config, and must be sent from the
+ * privsep slave to the privsep master. We use a macro to ensure all
+ * the options are copied and the copies are done in the correct order.
+ */
+#define COPY_MATCH_STRING_OPTS() do { \
+ M_CP_STROPT(banner); \
+ M_CP_STROPT(trusted_user_ca_keys); \
+ M_CP_STROPT(revoked_keys_file); \
+ M_CP_STROPT(authorized_keys_file); \
+ M_CP_STROPT(authorized_principals_file); \
+ } while (0)
+
void initialize_server_options(ServerOptions *);
void fill_default_server_options(ServerOptions *);
int process_server_config_line(ServerOptions *, char *, const char *, int,