21 #define MAX_SEND_ENV 256 22 #define SSH_MAX_HOSTS_FILES 32 23 #define MAX_CANON_DOMAINS 32 24 #define PATH_MAX_SUN (sizeof((struct sockaddr_un *)0)->sun_path) 26 struct allowed_cname {
34 int forward_x11_timeout;
35 int forward_x11_trusted;
36 int exit_on_forward_failure;
38 struct ForwardOptions fwd_opts;
39 int use_privileged_port;
40 int rhosts_rsa_authentication;
42 int rsa_authentication;
43 int pubkey_authentication;
44 int hostbased_authentication;
45 int challenge_response_authentication;
47 int gss_authentication;
51 int gss_renewal_rekey;
52 char *gss_client_identity;
53 char *gss_server_identity;
54 int password_authentication;
56 int kbd_interactive_authentication;
57 char *kbd_interactive_devices;
60 int strict_host_key_checking;
62 int compression_level;
70 int ip_qos_interactive;
76 int connection_attempts;
78 int connection_timeout;
80 int number_of_password_prompts;
85 char *hostkeyalgorithms;
96 u_int num_system_hostfiles;
97 char *system_hostfiles[SSH_MAX_HOSTS_FILES];
98 u_int num_user_hostfiles;
99 char *user_hostfiles[SSH_MAX_HOSTS_FILES];
100 char *preferred_authentications;
102 char *pkcs11_provider;
103 int verify_host_key_dns;
105 int num_identity_files;
106 char *identity_files[SSH_MAX_IDENTITY_FILES];
107 int identity_file_userprovided[SSH_MAX_IDENTITY_FILES];
108 struct sshkey *identity_keys[SSH_MAX_IDENTITY_FILES];
110 int num_certificate_files;
111 char *certificate_files[SSH_MAX_CERTIFICATE_FILES];
112 int certificate_file_userprovided[SSH_MAX_CERTIFICATE_FILES];
113 struct sshkey *certificates[SSH_MAX_CERTIFICATE_FILES];
115 int add_keys_to_agent;
116 char *identity_agent;
119 int num_local_forwards;
120 struct Forward *local_forwards;
123 int num_remote_forwards;
124 struct Forward *remote_forwards;
125 int clear_forwardings;
128 char *stdio_forward_host;
129 int stdio_forward_port;
131 int enable_ssh_keysign;
135 int disable_multithreaded;
138 int no_host_authentication_for_localhost;
140 int server_alive_interval;
141 int server_alive_count_max;
144 char *send_env[MAX_SEND_ENV];
149 int control_persist_timeout;
151 int hash_known_hosts;
158 int permit_local_command;
163 int proxy_use_fdpass;
165 int num_canonical_domains;
166 char *canonical_domains[MAX_CANON_DOMAINS];
167 int canonicalize_hostname;
168 int canonicalize_max_dots;
169 int canonicalize_fallback_local;
170 int num_permitted_cnames;
171 struct allowed_cname permitted_cnames[MAX_CANON_DOMAINS];
173 char *revoked_host_keys;
175 int fingerprint_hash;
179 char *hostbased_key_types;
180 char *pubkey_key_types;
187 char *ignored_unknown;
190 #define SSH_CANONICALISE_NO 0 191 #define SSH_CANONICALISE_YES 1 192 #define SSH_CANONICALISE_ALWAYS 2 194 #define SSHCTL_MASTER_NO 0 195 #define SSHCTL_MASTER_YES 1 196 #define SSHCTL_MASTER_AUTO 2 197 #define SSHCTL_MASTER_ASK 3 198 #define SSHCTL_MASTER_AUTO_ASK 4 200 #define REQUEST_TTY_AUTO 0 201 #define REQUEST_TTY_NO 1 202 #define REQUEST_TTY_YES 2 203 #define REQUEST_TTY_FORCE 3 205 #define SSHCONF_CHECKPERM 1 206 #define SSHCONF_USERCONF 2 207 #define SSHCONF_POSTCANON 4 208 #define SSHCONF_NEVERMATCH 8 210 #define SSH_UPDATE_HOSTKEYS_NO 0 211 #define SSH_UPDATE_HOSTKEYS_YES 1 212 #define SSH_UPDATE_HOSTKEYS_ASK 2 214 void initialize_options(Options *);
215 void fill_default_options(Options *);
216 void fill_default_options_for_canonicalization(Options *);
217 int process_config_line(Options *,
struct passwd *,
const char *,
218 const char *,
char *,
const char *,
int,
int *,
int);
219 int read_config_file(
const char *,
struct passwd *,
const char *,
220 const char *, Options *,
int);
221 int parse_forward(
struct Forward *,
const char *,
int,
int);
222 int parse_jump(
const char *, Options *,
int);
223 int default_ssh_port(
void);
224 int option_clear_or_none(
const char *);
225 void dump_client_config(Options *o,
const char *host);
227 void add_local_forward(Options *,
const struct Forward *);
228 void add_remote_forward(Options *,
const struct Forward *);
229 void add_identity_file(Options *,
const char *,
const char *,
int);
230 void add_certificate_file(Options *,
const char *,
int);