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:
Jason A. Donenfeld
2019-01-14 14:52:34 +05:30
committed by Roopesh Chander
parent 59bfa7f1df
commit 64fe415879
2 changed files with 504 additions and 494 deletions
+28 -20
View File
@@ -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;
+6 -4
View File
@@ -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
}; };