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

Collapse All | Expand All

(-)a/readconf.c (-1 / +15 lines)
Lines 131-137 typedef enum { Link Here
131
	oSendEnv, oControlPath, oControlMaster, oHashKnownHosts,
131
	oSendEnv, oControlPath, oControlMaster, oHashKnownHosts,
132
	oTunnel, oTunnelDevice, oLocalCommand, oPermitLocalCommand,
132
	oTunnel, oTunnelDevice, oLocalCommand, oPermitLocalCommand,
133
	oVisualHostKey, oZeroKnowledgePasswordAuthentication,
133
	oVisualHostKey, oZeroKnowledgePasswordAuthentication,
134
	oDeprecated, oUnsupported
134
	oDeprecated, oUnsupported, oIgnored
135
} OpCodes;
135
} OpCodes;
136
136
137
/* Textual representations of the tokens. */
137
/* Textual representations of the tokens. */
Lines 310-320 static OpCodes Link Here
310
parse_token(const char *cp, const char *filename, int linenum)
310
parse_token(const char *cp, const char *filename, int linenum)
311
{
311
{
312
	u_int i;
312
	u_int i;
313
	int ignoreunknown;
314
315
	if (cp[0] == '@') {
316
		ignoreunknown = 1;
317
		cp = &cp[1];
318
	} else
319
		ignoreunknown = 0;
313
320
314
	for (i = 0; keywords[i].name; i++)
321
	for (i = 0; keywords[i].name; i++)
315
		if (strcasecmp(cp, keywords[i].name) == 0)
322
		if (strcasecmp(cp, keywords[i].name) == 0)
316
			return keywords[i].opcode;
323
			return keywords[i].opcode;
317
324
325
	if (ignoreunknown)
326
		return oIgnored;
327
318
	error("%s: line %d: Bad configuration option: %s",
328
	error("%s: line %d: Bad configuration option: %s",
319
	    filename, linenum, cp);
329
	    filename, linenum, cp);
320
	return oBadOption;
330
	return oBadOption;
Lines 923-928 parse_int: Link Here
923
		error("%s line %d: Unsupported option \"%s\"",
933
		error("%s line %d: Unsupported option \"%s\"",
924
		    filename, linenum, keyword);
934
		    filename, linenum, keyword);
925
		return 0;
935
		return 0;
936
	case oIgnored:
937
		debug("%s line %d: Ignored option \"%s\"",
938
		    filename, linenum, keyword);
939
		return 0;
926
940
927
	default:
941
	default:
928
		fatal("process_config_line: Unimplemented opcode %d", opcode);
942
		fatal("process_config_line: Unimplemented opcode %d", opcode);
(-)a/ssh_config.5 (+6 lines)
Lines 94-99 Arguments may optionally be enclosed in double quotes Link Here
94
.Pq \&"
94
.Pq \&"
95
in order to represent arguments containing spaces.
95
in order to represent arguments containing spaces.
96
.Pp
96
.Pp
97
Keywords in the configuration file can be prefixed with
98
.Ql @
99
to mark them as optional.
100
This causes them to be silently ignored if they are unknown.
101
The normal behaviour is to exit with an error on unknown options.
102
.Pp
97
The possible
103
The possible
98
keywords and their meanings are as follows (note that
104
keywords and their meanings are as follows (note that
99
keywords are case-insensitive and arguments are case-sensitive):
105
keywords are case-insensitive and arguments are case-sensitive):

Return to bug 866