View | Details | Raw Unified | Return to bug 1585 | Differences between
and this patch

Collapse All | Expand All

(-)a/readconf.c (-1 / +25 lines)
Lines 149-155 typedef enum { Link Here
149
	oAddressFamily, oGssAuthentication, oGssDelegateCreds,
149
	oAddressFamily, oGssAuthentication, oGssDelegateCreds,
150
	oServerAliveInterval, oServerAliveCountMax, oIdentitiesOnly,
150
	oServerAliveInterval, oServerAliveCountMax, oIdentitiesOnly,
151
	oSendEnv, oControlPath, oControlMaster, oControlPersist,
151
	oSendEnv, oControlPath, oControlMaster, oControlPersist,
152
	oHashKnownHosts,
152
	oHashKnownHosts, oInclude,
153
	oTunnel, oTunnelDevice, oLocalCommand, oPermitLocalCommand,
153
	oTunnel, oTunnelDevice, oLocalCommand, oPermitLocalCommand,
154
	oVisualHostKey, oUseRoaming,
154
	oVisualHostKey, oUseRoaming,
155
	oKexAlgorithms, oIPQoS, oRequestTTY, oIgnoreUnknown, oProxyUseFdpass,
155
	oKexAlgorithms, oIPQoS, oRequestTTY, oIgnoreUnknown, oProxyUseFdpass,
Lines 254-259 static struct { Link Here
254
	{ "controlmaster", oControlMaster },
254
	{ "controlmaster", oControlMaster },
255
	{ "controlpersist", oControlPersist },
255
	{ "controlpersist", oControlPersist },
256
	{ "hashknownhosts", oHashKnownHosts },
256
	{ "hashknownhosts", oHashKnownHosts },
257
	{ "include", oInclude },
257
	{ "tunnel", oTunnel },
258
	{ "tunnel", oTunnel },
258
	{ "tunneldevice", oTunnelDevice },
259
	{ "tunneldevice", oTunnelDevice },
259
	{ "localcommand", oLocalCommand },
260
	{ "localcommand", oLocalCommand },
Lines 1356-1361 parse_int: Link Here
1356
		intptr = &options->visual_host_key;
1357
		intptr = &options->visual_host_key;
1357
		goto parse_flag;
1358
		goto parse_flag;
1358
1359
1360
	case oInclude:
1361
		arg = strdelim(&s);
1362
		if (!arg || *arg == '\0')
1363
			fatal("%.200s line %d: Missing argument.", filename, linenum);
1364
		char *readfile = NULL;
1365
		int ret = 0, r, i;
1366
		glob_t gbuf;
1367
		readfile = tilde_expand_filename(arg, getuid());
1368
		glob(readfile, 0, NULL, &gbuf);
1369
		for (i = 0; i < gbuf.gl_pathc; i++) {
1370
			debug3("%.200s line %s: Including configuration file %s",
1371
				filename, linenum, gbuf.gl_pathv[i]);
1372
			r = read_config_file(gbuf.gl_pathv[i], pw, host,
1373
				original_host, options, 1);
1374
			// non-existing files are not returned from glob
1375
			ret = ret || (r != 1);
1376
		}
1377
		globfree(&gbuf);
1378
		free(readfile);
1379
		if (ret)
1380
			return ret;
1381
		break;
1382
1359
	case oIPQoS:
1383
	case oIPQoS:
1360
		arg = strdelim(&s);
1384
		arg = strdelim(&s);
1361
		if ((value = parse_ipqos(arg)) == -1)
1385
		if ((value = parse_ipqos(arg)) == -1)
(-)a/ssh.1 (+1 lines)
Lines 451-456 For full details of the options listed below, and their possible values, see Link Here
451
.It HostName
451
.It HostName
452
.It IdentityFile
452
.It IdentityFile
453
.It IdentitiesOnly
453
.It IdentitiesOnly
454
.It Include
454
.It IPQoS
455
.It IPQoS
455
.It KbdInteractiveAuthentication
456
.It KbdInteractiveAuthentication
456
.It KbdInteractiveDevices
457
.It KbdInteractiveDevices
(-)a/ssh_config.5 (+24 lines)
Lines 915-920 It is recommended that Link Here
915
.Cm IgnoreUnknown
915
.Cm IgnoreUnknown
916
be listed early in the configuration file as it will not be applied
916
be listed early in the configuration file as it will not be applied
917
to unknown options that appear before it.
917
to unknown options that appear before it.
918
.It Cm Include
919
Read the specified files as if their contents were pasted here.
920
Files of the form
921
.Dq ~/path/to/config
922
will expand to
923
.Dq $HOME/path/to/config
924
where
925
.Dq $HOME
926
is the user's home directoy.
927
Files of the form
928
.Dq ~username/path/to/config
929
will expand to
930
.Dq $HOME/path/to/config
931
where
932
.Dq $HOME
933
is
934
.Dq username
935
\'s home directory.
936
A single
937
.Dq ~
938
will not expand at all.
939
Bad error counts are unique to each configuration file.
940
Additionally you can specify wildcard character to include all matching
941
files, for exanple "~/.ssh/conf.d/*.conf".
918
.It Cm IPQoS
942
.It Cm IPQoS
919
Specifies the IPv4 type-of-service or DSCP class for connections.
943
Specifies the IPv4 type-of-service or DSCP class for connections.
920
Accepted values are
944
Accepted values are

Return to bug 1585