Highlighter: use original file from contrib/examples/highlighter
This makes it easier to track updates and make diffs. Also, disable things we don't support in the NetworkExtension app. Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
This commit is contained in:
committed by
Roopesh Chander
parent
59bfa7f1df
commit
64fe415879
@@ -152,6 +152,7 @@ static bool is_valid_persistentkeepalive(string_span_t s)
|
|||||||
return is_valid_u16(s);
|
return is_valid_u16(s);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#ifndef MOBILE_WGQUICK_SUBSET
|
||||||
static bool is_valid_u32(string_span_t s)
|
static bool is_valid_u32(string_span_t s)
|
||||||
{
|
{
|
||||||
uint64_t val = 0;
|
uint64_t val = 0;
|
||||||
@@ -204,6 +205,14 @@ static bool is_valid_saveconfig(string_span_t s)
|
|||||||
(s.len == 5 && !memcmp(s.s, "false", 5));
|
(s.len == 5 && !memcmp(s.s, "false", 5));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
static bool is_valid_prepostupdown(string_span_t s)
|
||||||
|
{
|
||||||
|
/* It's probably not worthwhile to try to validate a bash expression.
|
||||||
|
* So instead we just demand non-zero length. */
|
||||||
|
return s.len;
|
||||||
|
}
|
||||||
|
#endif
|
||||||
|
|
||||||
static bool is_valid_scope(string_span_t s)
|
static bool is_valid_scope(string_span_t s)
|
||||||
{
|
{
|
||||||
if (s.len > 64 || !s.len)
|
if (s.len > 64 || !s.len)
|
||||||
@@ -292,24 +301,19 @@ static bool is_valid_dns(string_span_t s)
|
|||||||
return is_valid_ipv4(s) || is_valid_ipv6(s);
|
return is_valid_ipv4(s) || is_valid_ipv6(s);
|
||||||
}
|
}
|
||||||
|
|
||||||
static bool is_valid_prepostupdown(string_span_t s)
|
|
||||||
{
|
|
||||||
/* It's probably not worthwhile to try to validate a bash expression.
|
|
||||||
* So instead we just demand non-zero length. */
|
|
||||||
return s.len;
|
|
||||||
}
|
|
||||||
|
|
||||||
enum keytype {
|
enum keytype {
|
||||||
InterfaceSection,
|
InterfaceSection,
|
||||||
PrivateKey,
|
PrivateKey,
|
||||||
ListenPort,
|
ListenPort,
|
||||||
FwMark,
|
|
||||||
Address,
|
Address,
|
||||||
DNS,
|
DNS,
|
||||||
MTU,
|
MTU,
|
||||||
|
#ifndef MOBILE_WGQUICK_SUBSET
|
||||||
|
FwMark,
|
||||||
Table,
|
Table,
|
||||||
PreUp, PostUp, PreDown, PostDown,
|
PreUp, PostUp, PreDown, PostDown,
|
||||||
SaveConfig,
|
SaveConfig,
|
||||||
|
#endif
|
||||||
|
|
||||||
PeerSection,
|
PeerSection,
|
||||||
PublicKey,
|
PublicKey,
|
||||||
@@ -335,21 +339,23 @@ static enum keytype get_keytype(string_span_t s)
|
|||||||
#define check_enum(t) do { if (s.len == strlen(#t) && !strncasecmp(#t, s.s, s.len)) return t; } while (0)
|
#define check_enum(t) do { if (s.len == strlen(#t) && !strncasecmp(#t, s.s, s.len)) return t; } while (0)
|
||||||
check_enum(PrivateKey);
|
check_enum(PrivateKey);
|
||||||
check_enum(ListenPort);
|
check_enum(ListenPort);
|
||||||
check_enum(FwMark);
|
|
||||||
check_enum(Address);
|
check_enum(Address);
|
||||||
check_enum(DNS);
|
check_enum(DNS);
|
||||||
check_enum(MTU);
|
check_enum(MTU);
|
||||||
check_enum(Table);
|
|
||||||
check_enum(PreUp);
|
|
||||||
check_enum(PostUp);
|
|
||||||
check_enum(PreDown);
|
|
||||||
check_enum(PostDown);
|
|
||||||
check_enum(PublicKey);
|
check_enum(PublicKey);
|
||||||
check_enum(PresharedKey);
|
check_enum(PresharedKey);
|
||||||
check_enum(AllowedIPs);
|
check_enum(AllowedIPs);
|
||||||
check_enum(Endpoint);
|
check_enum(Endpoint);
|
||||||
check_enum(PersistentKeepalive);
|
check_enum(PersistentKeepalive);
|
||||||
|
#ifndef MOBILE_WGQUICK_SUBSET
|
||||||
|
check_enum(FwMark);
|
||||||
|
check_enum(Table);
|
||||||
|
check_enum(PreUp);
|
||||||
|
check_enum(PostUp);
|
||||||
|
check_enum(PreDown);
|
||||||
|
check_enum(PostDown);
|
||||||
check_enum(SaveConfig);
|
check_enum(SaveConfig);
|
||||||
|
#endif
|
||||||
return Invalid;
|
return Invalid;
|
||||||
#undef check_enum
|
#undef check_enum
|
||||||
}
|
}
|
||||||
@@ -468,24 +474,26 @@ static void highlight_value(struct highlight_span_array *ret, const string_span_
|
|||||||
case PresharedKey:
|
case PresharedKey:
|
||||||
append_highlight_span(ret, parent.s, s, is_valid_key(s) ? HighlightKey : HighlightError);
|
append_highlight_span(ret, parent.s, s, is_valid_key(s) ? HighlightKey : HighlightError);
|
||||||
break;
|
break;
|
||||||
|
case MTU:
|
||||||
|
append_highlight_span(ret, parent.s, s, is_valid_mtu(s) ? HighlightMTU : HighlightError);
|
||||||
|
break;
|
||||||
|
#ifndef MOBILE_WGQUICK_SUBSET
|
||||||
|
case SaveConfig:
|
||||||
|
append_highlight_span(ret, parent.s, s, is_valid_saveconfig(s) ? HighlightSaveConfig : HighlightError);
|
||||||
|
break;
|
||||||
case FwMark:
|
case FwMark:
|
||||||
append_highlight_span(ret, parent.s, s, is_valid_fwmark(s) ? HighlightFwMark : HighlightError);
|
append_highlight_span(ret, parent.s, s, is_valid_fwmark(s) ? HighlightFwMark : HighlightError);
|
||||||
break;
|
break;
|
||||||
case Table:
|
case Table:
|
||||||
append_highlight_span(ret, parent.s, s, is_valid_table(s) ? HighlightTable : HighlightError);
|
append_highlight_span(ret, parent.s, s, is_valid_table(s) ? HighlightTable : HighlightError);
|
||||||
break;
|
break;
|
||||||
case MTU:
|
|
||||||
append_highlight_span(ret, parent.s, s, is_valid_mtu(s) ? HighlightMTU : HighlightError);
|
|
||||||
break;
|
|
||||||
case SaveConfig:
|
|
||||||
append_highlight_span(ret, parent.s, s, is_valid_saveconfig(s) ? HighlightSaveConfig : HighlightError);
|
|
||||||
break;
|
|
||||||
case PreUp:
|
case PreUp:
|
||||||
case PostUp:
|
case PostUp:
|
||||||
case PreDown:
|
case PreDown:
|
||||||
case PostDown:
|
case PostDown:
|
||||||
append_highlight_span(ret, parent.s, s, is_valid_prepostupdown(s) ? HighlightCmd : HighlightError);
|
append_highlight_span(ret, parent.s, s, is_valid_prepostupdown(s) ? HighlightCmd : HighlightError);
|
||||||
break;
|
break;
|
||||||
|
#endif
|
||||||
case ListenPort:
|
case ListenPort:
|
||||||
append_highlight_span(ret, parent.s, s, is_valid_port(s) ? HighlightPort : HighlightError);
|
append_highlight_span(ret, parent.s, s, is_valid_port(s) ? HighlightPort : HighlightError);
|
||||||
break;
|
break;
|
||||||
|
|||||||
@@ -9,18 +9,20 @@ enum highlight_type {
|
|||||||
HighlightSection,
|
HighlightSection,
|
||||||
HighlightKeytype,
|
HighlightKeytype,
|
||||||
HighlightKey,
|
HighlightKey,
|
||||||
HighlightCmd,
|
|
||||||
HighlightIP,
|
HighlightIP,
|
||||||
HighlightCidr,
|
HighlightCidr,
|
||||||
HighlightHost,
|
HighlightHost,
|
||||||
HighlightPort,
|
HighlightPort,
|
||||||
HighlightTable,
|
|
||||||
HighlightFwMark,
|
|
||||||
HighlightMTU,
|
HighlightMTU,
|
||||||
HighlightSaveConfig,
|
|
||||||
HighlightKeepalive,
|
HighlightKeepalive,
|
||||||
HighlightComment,
|
HighlightComment,
|
||||||
HighlightDelimiter,
|
HighlightDelimiter,
|
||||||
|
#ifndef MOBILE_WGQUICK_SUBSET
|
||||||
|
HighlightTable,
|
||||||
|
HighlightFwMark,
|
||||||
|
HighlightSaveConfig,
|
||||||
|
HighlightCmd,
|
||||||
|
#endif
|
||||||
HighlightError,
|
HighlightError,
|
||||||
HighlightEnd
|
HighlightEnd
|
||||||
};
|
};
|
||||||
|
|||||||
Reference in New Issue
Block a user