config: show more informative error message on wrong key

Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
This commit is contained in:
Jason A. Donenfeld 2018-07-26 19:35:54 +02:00
parent 520df16885
commit 9f861096ac
4 changed files with 6 additions and 1 deletions

View File

@ -85,7 +85,7 @@ public class TunnelListFragment extends BaseFragment {
final FragmentManager fragmentManager = getFragmentManager(); final FragmentManager fragmentManager = getFragmentManager();
if (fragmentManager != null) if (fragmentManager != null)
ConfigNamingDialogFragment.newInstance(configText).show(fragmentManager, null); ConfigNamingDialogFragment.newInstance(configText).show(fragmentManager, null);
} catch (final IllegalArgumentException|IOException exception) { } catch (final Exception exception) {
onTunnelImportFinished(Collections.emptyList(), Collections.singletonList(exception)); onTunnelImportFinished(Collections.emptyList(), Collections.singletonList(exception));
} }
} }

View File

@ -55,6 +55,7 @@ public enum Attribute {
return TextUtils.join(", ", iterable); return TextUtils.join(", ", iterable);
} }
@Nullable
public static Attribute match(final CharSequence line) { public static Attribute match(final CharSequence line) {
return KEY_MAP.get(SEPARATOR_PATTERN.split(line)[0].toLowerCase()); return KEY_MAP.get(SEPARATOR_PATTERN.split(line)[0].toLowerCase());
} }

View File

@ -140,6 +140,8 @@ public class Interface {
public void parse(final String line) { public void parse(final String line) {
final Attribute key = Attribute.match(line); final Attribute key = Attribute.match(line);
if (key == null)
throw new IllegalArgumentException(String.format("Unable to parse line: \"%s\"", line));
switch (key) { switch (key) {
case ADDRESS: case ADDRESS:
addAddresses(key.parseList(line)); addAddresses(key.parseList(line));

View File

@ -113,6 +113,8 @@ public class Peer {
public void parse(final String line) { public void parse(final String line) {
final Attribute key = Attribute.match(line); final Attribute key = Attribute.match(line);
if (key == null)
throw new IllegalArgumentException(String.format("Unable to parse line: \"%s\"", line));
switch (key) { switch (key) {
case ALLOWED_IPS: case ALLOWED_IPS:
addAllowedIPs(key.parseList(line)); addAllowedIPs(key.parseList(line));