Lines Matching full:options
63 static void parse_server_config_depth(ServerOptions *options,
69 /* Initializes the server options to their default values. */
72 initialize_server_options(ServerOptions *options)
74 memset(options, 0, sizeof(*options));
75 options->num_ports = 0;
76 options->ports_from_cmdline = 0;
77 options->queued_listen_addrs = NULL;
78 options->num_queued_listens = 0;
79 options->listen_addrs = NULL;
80 options->num_listen_addrs = 0;
81 options->address_family = -1;
82 options->routing_domain = NULL;
83 options->num_host_key_files = 0;
84 options->num_host_cert_files = 0;
85 options->host_key_agent = NULL;
86 options->pid_file = NULL;
87 options->login_grace_time = -1;
88 options->permit_root_login = PERMIT_NOT_SET;
89 options->ignore_rhosts = -1;
90 options->ignore_user_known_hosts = -1;
91 options->print_motd = -1;
92 options->print_lastlog = -1;
93 options->x11_forwarding = -1;
94 options->x11_display_offset = -1;
95 options->x11_use_localhost = -1;
96 options->permit_tty = -1;
97 options->permit_user_rc = -1;
98 options->xauth_location = NULL;
99 options->strict_modes = -1;
100 options->tcp_keep_alive = -1;
101 options->log_facility = SYSLOG_FACILITY_NOT_SET;
102 options->log_level = SYSLOG_LEVEL_NOT_SET;
103 options->num_log_verbose = 0;
104 options->log_verbose = NULL;
105 options->hostbased_authentication = -1;
106 options->hostbased_uses_name_from_packet_only = -1;
107 options->hostbased_accepted_algos = NULL;
108 options->hostkeyalgorithms = NULL;
109 options->pubkey_authentication = -1;
110 options->pubkey_auth_options = -1;
111 options->pubkey_accepted_algos = NULL;
112 options->kerberos_authentication = -1;
113 options->kerberos_or_local_passwd = -1;
114 options->kerberos_ticket_cleanup = -1;
115 options->kerberos_get_afs_token = -1;
116 options->gss_authentication=-1;
117 options->gss_cleanup_creds = -1;
118 options->gss_strict_acceptor = -1;
119 options->password_authentication = -1;
120 options->kbd_interactive_authentication = -1;
121 options->permit_empty_passwd = -1;
122 options->permit_user_env = -1;
123 options->permit_user_env_allowlist = NULL;
124 options->compression = -1;
125 options->rekey_limit = -1;
126 options->rekey_interval = -1;
127 options->allow_tcp_forwarding = -1;
128 options->allow_streamlocal_forwarding = -1;
129 options->allow_agent_forwarding = -1;
130 options->num_allow_users = 0;
131 options->num_deny_users = 0;
132 options->num_allow_groups = 0;
133 options->num_deny_groups = 0;
134 options->ciphers = NULL;
135 options->macs = NULL;
136 options->kex_algorithms = NULL;
137 options->ca_sign_algorithms = NULL;
138 options->fwd_opts.gateway_ports = -1;
139 options->fwd_opts.streamlocal_bind_mask = (mode_t)-1;
140 options->fwd_opts.streamlocal_bind_unlink = -1;
141 options->num_subsystems = 0;
142 options->max_startups_begin = -1;
143 options->max_startups_rate = -1;
144 options->max_startups = -1;
145 options->per_source_max_startups = -1;
146 options->per_source_masklen_ipv4 = -1;
147 options->per_source_masklen_ipv6 = -1;
148 options->per_source_penalty_exempt = NULL;
149 options->per_source_penalty.enabled = -1;
150 options->per_source_penalty.max_sources4 = -1;
151 options->per_source_penalty.max_sources6 = -1;
152 options->per_source_penalty.overflow_mode = -1;
153 options->per_source_penalty.overflow_mode6 = -1;
154 options->per_source_penalty.penalty_crash = -1;
155 options->per_source_penalty.penalty_authfail = -1;
156 options->per_source_penalty.penalty_noauth = -1;
157 options->per_source_penalty.penalty_grace = -1;
158 options->per_source_penalty.penalty_refuseconnection = -1;
159 options->per_source_penalty.penalty_max = -1;
160 options->per_source_penalty.penalty_min = -1;
161 options->max_authtries = -1;
162 options->max_sessions = -1;
163 options->banner = NULL;
164 options->use_dns = -1;
165 options->client_alive_interval = -1;
166 options->client_alive_count_max = -1;
167 options->num_authkeys_files = 0;
168 options->num_accept_env = 0;
169 options->num_setenv = 0;
170 options->permit_tun = -1;
171 options->permitted_opens = NULL;
172 options->permitted_listens = NULL;
173 options->adm_forced_command = NULL;
174 options->chroot_directory = NULL;
175 options->authorized_keys_command = NULL;
176 options->authorized_keys_command_user = NULL;
177 options->revoked_keys_file = NULL;
178 options->sk_provider = NULL;
179 options->trusted_user_ca_keys = NULL;
180 options->authorized_principals_file = NULL;
181 options->authorized_principals_command = NULL;
182 options->authorized_principals_command_user = NULL;
183 options->ip_qos_interactive = -1;
184 options->ip_qos_bulk = -1;
185 options->version_addendum = NULL;
186 options->fingerprint_hash = -1;
187 options->disable_forwarding = -1;
188 options->expose_userauth_info = -1;
189 options->required_rsa_size = -1;
190 options->channel_timeouts = NULL;
191 options->num_channel_timeouts = 0;
192 options->unused_connection_timeout = -1;
193 options->sshd_session_path = NULL;
194 options->sshd_auth_path = NULL;
195 options->refuse_connection = -1;
250 ServerOptions *options, const char *path, int userprovided)
255 &options->host_key_files, &options->host_key_file_userprovided,
256 &options->num_host_key_files, apath, userprovided);
262 ServerOptions *options, const char *path)
267 &options->host_cert_files, &options->num_host_cert_files, apath);
272 fill_default_server_options(ServerOptions *options)
276 if (options->num_host_key_files == 0) {
278 servconf_add_hostkey("[default]", 0, options,
280 servconf_add_hostkey("[default]", 0, options,
282 servconf_add_hostkey("[default]", 0, options,
285 servconf_add_hostkey("[default]", 0, options,
290 if (options->num_ports == 0)
291 options->ports[options->num_ports++] = SSH_DEFAULT_PORT;
292 if (options->address_family == -1)
293 options->address_family = AF_UNSPEC;
294 if (options->listen_addrs == NULL)
295 add_listen_addr(options, NULL, NULL, 0);
296 if (options->pid_file == NULL)
297 options->pid_file = xstrdup(_PATH_SSH_DAEMON_PID_FILE);
298 if (options->moduli_file == NULL)
299 options->moduli_file = xstrdup(_PATH_DH_MODULI);
300 if (options->login_grace_time == -1)
301 options->login_grace_time = 120;
302 if (options->permit_root_login == PERMIT_NOT_SET)
303 options->permit_root_login = PERMIT_NO_PASSWD;
304 if (options->ignore_rhosts == -1)
305 options->ignore_rhosts = 1;
306 if (options->ignore_user_known_hosts == -1)
307 options->ignore_user_known_hosts = 0;
308 if (options->print_motd == -1)
309 options->print_motd = 1;
310 if (options->print_lastlog == -1)
311 options->print_lastlog = 1;
312 if (options->x11_forwarding == -1)
313 options->x11_forwarding = 0;
314 if (options->x11_display_offset == -1)
315 options->x11_display_offset = 10;
316 if (options->x11_use_localhost == -1)
317 options->x11_use_localhost = 1;
318 if (options->xauth_location == NULL)
319 options->xauth_location = xstrdup(_PATH_XAUTH);
320 if (options->permit_tty == -1)
321 options->permit_tty = 1;
322 if (options->permit_user_rc == -1)
323 options->permit_user_rc = 1;
324 if (options->strict_modes == -1)
325 options->strict_modes = 1;
326 if (options->tcp_keep_alive == -1)
327 options->tcp_keep_alive = 1;
328 if (options->log_facility == SYSLOG_FACILITY_NOT_SET)
329 options->log_facility = SYSLOG_FACILITY_AUTH;
330 if (options->log_level == SYSLOG_LEVEL_NOT_SET)
331 options->log_level = SYSLOG_LEVEL_INFO;
332 if (options->hostbased_authentication == -1)
333 options->hostbased_authentication = 0;
334 if (options->hostbased_uses_name_from_packet_only == -1)
335 options->hostbased_uses_name_from_packet_only = 0;
336 if (options->pubkey_authentication == -1)
337 options->pubkey_authentication = 1;
338 if (options->pubkey_auth_options == -1)
339 options->pubkey_auth_options = 0;
340 if (options->kerberos_authentication == -1)
341 options->kerberos_authentication = 0;
342 if (options->kerberos_or_local_passwd == -1)
343 options->kerberos_or_local_passwd = 1;
344 if (options->kerberos_ticket_cleanup == -1)
345 options->kerberos_ticket_cleanup = 1;
346 if (options->kerberos_get_afs_token == -1)
347 options->kerberos_get_afs_token = 0;
348 if (options->gss_authentication == -1)
349 options->gss_authentication = 0;
350 if (options->gss_cleanup_creds == -1)
351 options->gss_cleanup_creds = 1;
352 if (options->gss_strict_acceptor == -1)
353 options->gss_strict_acceptor = 1;
354 if (options->password_authentication == -1)
355 options->password_authentication = 1;
356 if (options->kbd_interactive_authentication == -1)
357 options->kbd_interactive_authentication = 1;
358 if (options->permit_empty_passwd == -1)
359 options->permit_empty_passwd = 0;
360 if (options->permit_user_env == -1) {
361 options->permit_user_env = 0;
362 options->permit_user_env_allowlist = NULL;
364 if (options->compression == -1)
366 options->compression = COMP_DELAYED;
368 options->compression = COMP_NONE;
371 if (options->rekey_limit == -1)
372 options->rekey_limit = 0;
373 if (options->rekey_interval == -1)
374 options->rekey_interval = 0;
375 if (options->allow_tcp_forwarding == -1)
376 options->allow_tcp_forwarding = FORWARD_ALLOW;
377 if (options->allow_streamlocal_forwarding == -1)
378 options->allow_streamlocal_forwarding = FORWARD_ALLOW;
379 if (options->allow_agent_forwarding == -1)
380 options->allow_agent_forwarding = 1;
381 if (options->fwd_opts.gateway_ports == -1)
382 options->fwd_opts.gateway_ports = 0;
383 if (options->max_startups == -1)
384 options->max_startups = 100;
385 if (options->max_startups_rate == -1)
386 options->max_startups_rate = 30; /* 30% */
387 if (options->max_startups_begin == -1)
388 options->max_startups_begin = 10;
389 if (options->per_source_max_startups == -1)
390 options->per_source_max_startups = INT_MAX;
391 if (options->per_source_masklen_ipv4 == -1)
392 options->per_source_masklen_ipv4 = 32;
393 if (options->per_source_masklen_ipv6 == -1)
394 options->per_source_masklen_ipv6 = 128;
395 if (options->per_source_penalty.enabled == -1)
396 options->per_source_penalty.enabled = 1;
397 if (options->per_source_penalty.max_sources4 == -1)
398 options->per_source_penalty.max_sources4 = 65536;
399 if (options->per_source_penalty.max_sources6 == -1)
400 options->per_source_penalty.max_sources6 = 65536;
401 if (options->per_source_penalty.overflow_mode == -1)
402 options->per_source_penalty.overflow_mode = PER_SOURCE_PENALTY_OVERFLOW_PERMISSIVE;
403 if (options->per_source_penalty.overflow_mode6 == -1)
404 options->per_source_penalty.overflow_mode6 = options->per_source_penalty.overflow_mode;
405 if (options->per_source_penalty.penalty_crash == -1)
406 options->per_source_penalty.penalty_crash = 90;
407 if (options->per_source_penalty.penalty_grace == -1)
408 options->per_source_penalty.penalty_grace = 10;
409 if (options->per_source_penalty.penalty_authfail == -1)
410 options->per_source_penalty.penalty_authfail = 5;
411 if (options->per_source_penalty.penalty_noauth == -1)
412 options->per_source_penalty.penalty_noauth = 1;
413 if (options->per_source_penalty.penalty_refuseconnection == -1)
414 options->per_source_penalty.penalty_refuseconnection = 10;
415 if (options->per_source_penalty.penalty_min == -1)
416 options->per_source_penalty.penalty_min = 15;
417 if (options->per_source_penalty.penalty_max == -1)
418 options->per_source_penalty.penalty_max = 600;
419 if (options->max_authtries == -1)
420 options->max_authtries = DEFAULT_AUTH_FAIL_MAX;
421 if (options->max_sessions == -1)
422 options->max_sessions = DEFAULT_SESSIONS_MAX;
423 if (options->use_dns == -1)
424 options->use_dns = 0;
425 if (options->client_alive_interval == -1)
426 options->client_alive_interval = 0;
427 if (options->client_alive_count_max == -1)
428 options->client_alive_count_max = 3;
429 if (options->num_authkeys_files == 0) {
431 &options->authorized_keys_files,
432 &options->num_authkeys_files,
435 &options->authorized_keys_files,
436 &options->num_authkeys_files,
439 if (options->permit_tun == -1)
440 options->permit_tun = SSH_TUNMODE_NO;
441 if (options->ip_qos_interactive == -1)
442 options->ip_qos_interactive = IPTOS_DSCP_AF21;
443 if (options->ip_qos_bulk == -1)
444 options->ip_qos_bulk = IPTOS_DSCP_CS1;
445 if (options->version_addendum == NULL)
446 options->version_addendum = xstrdup("");
447 if (options->fwd_opts.streamlocal_bind_mask == (mode_t)-1)
448 options->fwd_opts.streamlocal_bind_mask = 0177;
449 if (options->fwd_opts.streamlocal_bind_unlink == -1)
450 options->fwd_opts.streamlocal_bind_unlink = 0;
451 if (options->fingerprint_hash == -1)
452 options->fingerprint_hash = SSH_FP_HASH_DEFAULT;
453 if (options->disable_forwarding == -1)
454 options->disable_forwarding = 0;
455 if (options->expose_userauth_info == -1)
456 options->expose_userauth_info = 0;
457 if (options->sk_provider == NULL)
458 options->sk_provider = xstrdup("internal");
459 if (options->required_rsa_size == -1)
460 options->required_rsa_size = SSH_RSA_MINIMUM_MODULUS_SIZE;
461 if (options->unused_connection_timeout == -1)
462 options->unused_connection_timeout = 0;
463 if (options->sshd_session_path == NULL)
464 options->sshd_session_path = xstrdup(_PATH_SSHD_SESSION);
465 if (options->sshd_auth_path == NULL)
466 options->sshd_auth_path = xstrdup(_PATH_SSHD_AUTH);
467 if (options->refuse_connection == -1)
468 options->refuse_connection = 0;
470 assemble_algorithms(options);
481 if (options->nv == 1 && \
482 strcasecmp(options->v[0], none) == 0) { \
483 free(options->v[0]); \
484 free(options->v); \
485 options->v = NULL; \
486 options->nv = 0; \
489 CLEAR_ON_NONE(options->pid_file);
490 CLEAR_ON_NONE(options->xauth_location);
491 CLEAR_ON_NONE(options->banner);
492 CLEAR_ON_NONE(options->trusted_user_ca_keys);
493 CLEAR_ON_NONE(options->revoked_keys_file);
494 CLEAR_ON_NONE(options->sk_provider);
495 CLEAR_ON_NONE(options->authorized_principals_file);
496 CLEAR_ON_NONE(options->adm_forced_command);
497 CLEAR_ON_NONE(options->chroot_directory);
498 CLEAR_ON_NONE(options->routing_domain);
499 CLEAR_ON_NONE(options->host_key_agent);
500 CLEAR_ON_NONE(options->per_source_penalty_exempt);
502 for (i = 0; i < options->num_host_key_files; i++)
503 CLEAR_ON_NONE(options->host_key_files[i]);
504 for (i = 0; i < options->num_host_cert_files; i++)
505 CLEAR_ON_NONE(options->host_cert_files[i]);
767 add_listen_addr(ServerOptions *options, const char *addr,
773 add_one_listen_addr(options, addr, rdomain, port);
775 for (i = 0; i < options->num_ports; i++) {
776 add_one_listen_addr(options, addr, rdomain,
777 options->ports[i]);
783 add_one_listen_addr(ServerOptions *options, const char *addr,
792 for (i = 0; i < options->num_listen_addrs; i++) {
793 if (rdomain == NULL && options->listen_addrs[i].rdomain == NULL)
795 if (rdomain == NULL || options->listen_addrs[i].rdomain == NULL)
797 if (strcmp(rdomain, options->listen_addrs[i].rdomain) == 0)
800 if (i >= options->num_listen_addrs) {
804 options->listen_addrs = xrecallocarray(options->listen_addrs,
805 options->num_listen_addrs, options->num_listen_addrs + 1,
806 sizeof(*options->listen_addrs));
807 i = options->num_listen_addrs++;
809 options->listen_addrs[i].rdomain = xstrdup(rdomain);
811 /* options->listen_addrs[i] points to the addresses for this rdomain */
814 hints.ai_family = options->address_family;
824 ai->ai_next = options->listen_addrs[i].addrs;
825 options->listen_addrs[i].addrs = aitop;
859 * and AddressFamily options.
862 queue_listen_addr(ServerOptions *options, const char *addr,
867 options->queued_listen_addrs = xrecallocarray(
868 options->queued_listen_addrs,
869 options->num_queued_listens, options->num_queued_listens + 1,
870 sizeof(*options->queued_listen_addrs));
871 qla = &options->queued_listen_addrs[options->num_queued_listens++];
881 process_queued_listen_addrs(ServerOptions *options)
886 if (options->num_ports == 0)
887 options->ports[options->num_ports++] = SSH_DEFAULT_PORT;
888 if (options->address_family == -1)
889 options->address_family = AF_UNSPEC;
891 for (i = 0; i < options->num_queued_listens; i++) {
892 qla = &options->queued_listen_addrs[i];
893 add_listen_addr(options, qla->addr, qla->rdomain, qla->port);
897 free(options->queued_listen_addrs);
898 options->queued_listen_addrs = NULL;
899 options->num_queued_listens = 0;
915 * options set are copied into the main server config.
1243 process_server_config_line_depth(ServerOptions *options, char *line,
1321 if (options->ports_from_cmdline) {
1325 if (options->num_ports >= MAX_PORTS)
1332 options->ports[options->num_ports++] = a2port(arg);
1333 if (options->ports[options->num_ports-1] <= 0)
1339 intptr = &options->login_grace_time;
1386 queue_listen_addr(options, p, arg2, port);
1391 intptr = &options->address_family;
1419 options, arg, 1);
1424 charptr = &options->host_key_agent;
1440 servconf_add_hostcert(filename, linenum, options, arg);
1444 charptr = &options->pid_file;
1459 charptr = &options->moduli_file;
1463 intptr = &options->permit_root_login;
1468 intptr = &options->ignore_rhosts;
1473 intptr = &options->ignore_user_known_hosts;
1479 intptr = &options->hostbased_authentication;
1483 intptr = &options->hostbased_uses_name_from_packet_only;
1487 charptr = &options->hostbased_accepted_algos;
1504 charptr = &options->hostkeyalgorithms;
1509 charptr = &options->ca_sign_algorithms;
1514 intptr = &options->pubkey_authentication;
1519 charptr = &options->pubkey_accepted_algos;
1524 intptr = &options->pubkey_auth_options;
1544 intptr = &options->kerberos_authentication;
1548 intptr = &options->kerberos_or_local_passwd;
1552 intptr = &options->kerberos_ticket_cleanup;
1556 intptr = &options->kerberos_get_afs_token;
1560 intptr = &options->gss_authentication;
1564 intptr = &options->gss_cleanup_creds;
1568 intptr = &options->gss_strict_acceptor;
1572 intptr = &options->password_authentication;
1576 intptr = &options->kbd_interactive_authentication;
1580 intptr = &options->print_motd;
1584 intptr = &options->print_lastlog;
1588 intptr = &options->x11_forwarding;
1592 intptr = &options->x11_display_offset;
1603 intptr = &options->x11_use_localhost;
1607 charptr = &options->xauth_location;
1611 intptr = &options->permit_tty;
1615 intptr = &options->permit_user_rc;
1619 intptr = &options->strict_modes;
1623 intptr = &options->tcp_keep_alive;
1627 intptr = &options->permit_empty_passwd;
1631 intptr = &options->permit_user_env;
1632 charptr = &options->permit_user_env_allowlist;
1657 intptr = &options->compression;
1677 if (*activep && options->rekey_limit == -1)
1678 options->rekey_limit = val64;
1684 intptr = &options->rekey_interval;
1690 intptr = &options->fwd_opts.gateway_ports;
1695 intptr = &options->use_dns;
1699 log_facility_ptr = &options->log_facility;
1710 log_level_ptr = &options->log_level;
1721 found = options->num_log_verbose == 0;
1745 options->log_verbose = strs;
1746 options->num_log_verbose = nstrs;
1753 intptr = &options->allow_tcp_forwarding;
1758 intptr = &options->allow_streamlocal_forwarding;
1763 intptr = &options->allow_agent_forwarding;
1767 intptr = &options->disable_forwarding;
1771 chararrayptr = &options->allow_users;
1772 uintptr = &options->num_allow_users;
1793 chararrayptr = &options->deny_users;
1794 uintptr = &options->num_deny_users;
1798 chararrayptr = &options->allow_groups;
1799 uintptr = &options->num_allow_groups;
1819 chararrayptr = &options->deny_groups;
1820 uintptr = &options->num_deny_groups;
1832 if (options->ciphers == NULL)
1833 options->ciphers = xstrdup(arg);
1845 if (options->macs == NULL)
1846 options->macs = xstrdup(arg);
1859 if (options->kex_algorithms == NULL)
1860 options->kex_algorithms = xstrdup(arg);
1873 for (i = 0; i < options->num_subsystems; i++) {
1874 if (strcmp(arg, options->subsystem_name[i]) == 0) {
1885 options->subsystem_name = xrecallocarray(
1886 options->subsystem_name, options->num_subsystems,
1887 options->num_subsystems + 1,
1888 sizeof(*options->subsystem_name));
1889 options->subsystem_command = xrecallocarray(
1890 options->subsystem_command, options->num_subsystems,
1891 options->num_subsystems + 1,
1892 sizeof(*options->subsystem_command));
1893 options->subsystem_args = xrecallocarray(
1894 options->subsystem_args, options->num_subsystems,
1895 options->num_subsystems + 1,
1896 sizeof(*options->subsystem_args));
1897 options->subsystem_name[options->num_subsystems] = xstrdup(arg);
1903 options->subsystem_command[options->num_subsystems] =
1908 xasprintf(&options->subsystem_args[options->num_subsystems],
1913 options->num_subsystems++;
1922 &options->max_startups_begin,
1923 &options->max_startups_rate,
1924 &options->max_startups)) == 3) {
1925 if (options->max_startups_begin >
1926 options->max_startups ||
1927 options->max_startups_rate > 100 ||
1928 options->max_startups_rate < 1)
1935 options->max_startups = options->max_startups_begin;
1936 if (options->max_startups <= 0 ||
1937 options->max_startups_begin <= 0)
1960 options->per_source_masklen_ipv4 = value;
1961 options->per_source_masklen_ipv6 = value2;
1977 if (*activep && options->per_source_max_startups == -1)
1978 options->per_source_max_startups = value;
1982 charptr = &options->per_source_penalty_exempt;
2011 options->per_source_penalty.enabled == -1)
2012 options->per_source_penalty.enabled = value2;
2016 intptr = &options->per_source_penalty.penalty_crash;
2019 intptr = &options->per_source_penalty.penalty_authfail;
2022 intptr = &options->per_source_penalty.penalty_noauth;
2025 intptr = &options->per_source_penalty.penalty_grace;
2028 intptr = &options->per_source_penalty.penalty_refuseconnection;
2031 intptr = &options->per_source_penalty.penalty_max;
2034 intptr = &options->per_source_penalty.penalty_min;
2036 intptr = &options->per_source_penalty.max_sources4;
2041 intptr = &options->per_source_penalty.max_sources6;
2046 intptr = &options->per_source_penalty.overflow_mode;
2049 intptr = &options->per_source_penalty.overflow_mode;
2052 intptr = &options->per_source_penalty.overflow_mode6;
2055 intptr = &options->per_source_penalty.overflow_mode6;
2069 options->per_source_penalty.enabled = 1;
2079 intptr = &options->max_authtries;
2083 intptr = &options->max_sessions;
2087 charptr = &options->banner;
2091 * These options can contain %X options expanded at
2097 found = options->num_authkeys_files == 0;
2114 options->authorized_keys_files = strs;
2115 options->num_authkeys_files = nstrs;
2122 charptr = &options->authorized_principals_file;
2136 intptr = &options->client_alive_interval;
2140 intptr = &options->client_alive_count_max;
2153 &options->accept_env, &options->num_accept_env,
2163 found = options->num_setenv == 0;
2181 options->setenv = strs;
2182 options->num_setenv = nstrs;
2189 intptr = &options->permit_tun;
2237 parse_server_config_depth(options,
2284 parse_server_config_depth(options,
2323 uintptr = &options->num_permitted_listens;
2324 chararrayptr = &options->permitted_listens;
2326 uintptr = &options->num_permitted_opens;
2327 chararrayptr = &options->permitted_opens;
2385 if (*activep && options->adm_forced_command == NULL)
2386 options->adm_forced_command = xstrdup(str + len);
2391 charptr = &options->chroot_directory;
2402 charptr = &options->trusted_user_ca_keys;
2406 charptr = &options->revoked_keys_file;
2410 charptr = &options->sk_provider;
2439 options->ip_qos_interactive = value;
2440 options->ip_qos_bulk = value2;
2457 if (*activep && options->version_addendum == NULL) {
2459 options->version_addendum = xstrdup("");
2461 options->version_addendum = xstrdup(str + len);
2467 charptr = &options->authorized_keys_command;
2480 charptr = &options->authorized_keys_command_user;
2492 charptr = &options->authorized_principals_command;
2496 charptr = &options->authorized_principals_command_user;
2500 found = options->num_auth_methods == 0;
2525 options->auth_methods = strs;
2526 options->num_auth_methods = nstrs;
2543 options->fwd_opts.streamlocal_bind_mask = (mode_t)value;
2547 intptr = &options->fwd_opts.streamlocal_bind_unlink;
2559 options->fingerprint_hash = value;
2563 intptr = &options->expose_userauth_info;
2567 charptr = &options->routing_domain;
2581 intptr = &options->required_rsa_size;
2585 found = options->num_channel_timeouts == 0;
2608 options->channel_timeouts = strs;
2609 options->num_channel_timeouts = nstrs;
2616 intptr = &options->unused_connection_timeout;
2627 charptr = &options->sshd_session_path;
2631 charptr = &options->sshd_auth_path;
2635 intptr = &options->refuse_connection;
2670 process_server_config_line(ServerOptions *options, char *line,
2676 return process_server_config_line_depth(options, line, filename,
2720 parse_server_match_config(ServerOptions *options,
2728 copy_set_server_options(options, &mo, 0);
2897 * The only things that should be below this point are string options
2903 /* These options may be "none" to clear a global setting */
2925 parse_server_config_depth(ServerOptions *options, const char *filename,
2942 if (process_server_config_line_depth(options, cp,
2949 fatal("%s: terminating, %d bad configuration options",
2954 parse_server_config(ServerOptions *options, const char *filename,
2959 parse_server_config_depth(options, filename, conf, includes,
2962 process_queued_listen_addrs(options);