X-Git-Url: https://git.nmode.ca/signal-cli/blobdiff_plain/e03c48e0ae58c3d37e03dc3eb0e89d44b07d40f9..1d77153a2bc5c6c7a8d7bc7b72fe8fc7db1208c8:/src/main/java/org/asamk/signal/App.java diff --git a/src/main/java/org/asamk/signal/App.java b/src/main/java/org/asamk/signal/App.java index 37f5feec..4f045345 100644 --- a/src/main/java/org/asamk/signal/App.java +++ b/src/main/java/org/asamk/signal/App.java @@ -46,6 +46,7 @@ import java.io.BufferedWriter; import java.io.File; import java.io.IOException; import java.io.OutputStreamWriter; +import java.util.Set; import static net.sourceforge.argparse4j.DefaultSettings.VERSION_0_9_0_DEFAULT_SETTINGS; @@ -63,13 +64,16 @@ public class App { .description("Commandline interface for Signal.") .version(BaseConfig.PROJECT_NAME + " " + BaseConfig.PROJECT_VERSION); - parser.addArgument("-v", "--version").help("Show package version.").action(Arguments.version()); - parser.addArgument("--verbose") + parser.addArgument("--version").help("Show package version.").action(Arguments.version()); + parser.addArgument("-v", "--verbose") .help("Raise log level and include lib signal logs. Specify multiple times for even more logs.") .action(Arguments.count()); parser.addArgument("--log-file") .type(File.class) .help("Write log output to the given file. If --verbose is also given, the detailed logs will only be written to the log file."); + parser.addArgument("--scrub-log") + .action(Arguments.storeTrue()) + .help("Scrub possibly sensitive information from the log, like phone numbers and UUIDs."); parser.addArgument("-c", "--config") .help("Set the path, where to store the config (Default: $XDG_DATA_HOME/signal-cli , $HOME/.local/share/signal-cli)."); @@ -188,7 +192,12 @@ public class App { return; } - var accounts = signalAccountFiles.getAllLocalAccountNumbers(); + Set accounts = null; + try { + accounts = signalAccountFiles.getAllLocalAccountNumbers(); + } catch (IOException e) { + throw new IOErrorException("Failed to load local accounts file", e); + } if (accounts.size() == 0) { throw new UserErrorException("No local users found, you first need to register or link an account"); } else if (accounts.size() > 1) { @@ -299,6 +308,8 @@ public class App { ) throws CommandException { try (var multiAccountManager = signalAccountFiles.initMultiAccountManager()) { command.handleCommand(ns, multiAccountManager, outputWriter); + } catch (IOException e) { + throw new IOErrorException("Failed to load local accounts file", e); } }