diff options
author | djm@openbsd.org <djm@openbsd.org> | 2014-10-08 22:20:25 +0000 |
---|---|---|
committer | Damien Miller <djm@mindrot.org> | 2014-10-13 11:41:48 +1100 |
commit | 957fbceb0f3166e41b76fdb54075ab3b9cc84cba (patch) | |
tree | 7c8bc1f0090201400383e51d84a7fda79995e513 /readconf.h | |
parent | 5c0dafd38bf66feeeb45fa0741a5baf5ad8039ba (diff) |
upstream commit
Tweak config reparsing with host canonicalisation
Make the second pass through the config files always run when
hostname canonicalisation is enabled.
Add a "Match canonical" criteria that allows ssh_config Match
blocks to trigger only in the second config pass.
Add a -G option to ssh that causes it to parse its configuration
and dump the result to stdout, similar to "sshd -T"
Allow ssh_config Port options set in the second config parse
phase to be applied (they were being ignored).
bz#2267 bz#2286; ok markus
Diffstat (limited to 'readconf.h')
-rw-r--r-- | readconf.h | 10 |
1 files changed, 6 insertions, 4 deletions
diff --git a/readconf.h b/readconf.h index 0b9cb777a..7b58d01f3 100644 --- a/readconf.h +++ b/readconf.h | |||
@@ -1,4 +1,4 @@ | |||
1 | /* $OpenBSD: readconf.h,v 1.102 2014/07/15 15:54:14 millert Exp $ */ | 1 | /* $OpenBSD: readconf.h,v 1.103 2014/10/08 22:20:25 djm Exp $ */ |
2 | 2 | ||
3 | /* | 3 | /* |
4 | * Author: Tatu Ylonen <ylo@cs.hut.fi> | 4 | * Author: Tatu Ylonen <ylo@cs.hut.fi> |
@@ -164,17 +164,19 @@ typedef struct { | |||
164 | 164 | ||
165 | #define SSHCONF_CHECKPERM 1 /* check permissions on config file */ | 165 | #define SSHCONF_CHECKPERM 1 /* check permissions on config file */ |
166 | #define SSHCONF_USERCONF 2 /* user provided config file not system */ | 166 | #define SSHCONF_USERCONF 2 /* user provided config file not system */ |
167 | #define SSHCONF_POSTCANON 4 /* After hostname canonicalisation */ | ||
167 | 168 | ||
168 | void initialize_options(Options *); | 169 | void initialize_options(Options *); |
169 | void fill_default_options(Options *); | 170 | void fill_default_options(Options *); |
170 | void fill_default_options_for_canonicalization(Options *); | 171 | void fill_default_options_for_canonicalization(Options *); |
171 | int process_config_line(Options *, struct passwd *, const char *, char *, | 172 | int process_config_line(Options *, struct passwd *, const char *, |
172 | const char *, int, int *, int); | 173 | const char *, char *, const char *, int, int *, int); |
173 | int read_config_file(const char *, struct passwd *, const char *, | 174 | int read_config_file(const char *, struct passwd *, const char *, |
174 | Options *, int); | 175 | const char *, Options *, int); |
175 | int parse_forward(struct Forward *, const char *, int, int); | 176 | int parse_forward(struct Forward *, const char *, int, int); |
176 | int default_ssh_port(void); | 177 | int default_ssh_port(void); |
177 | int option_clear_or_none(const char *); | 178 | int option_clear_or_none(const char *); |
179 | void dump_client_config(Options *o, const char *host); | ||
178 | 180 | ||
179 | void add_local_forward(Options *, const struct Forward *); | 181 | void add_local_forward(Options *, const struct Forward *); |
180 | void add_remote_forward(Options *, const struct Forward *); | 182 | void add_remote_forward(Options *, const struct Forward *); |