|
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) |