X-Git-Url: https://git.nmode.ca/signal-cli/blobdiff_plain/221d937eecca5c9b09a3bee7df812203b9927a56..c9f5550d1821ee99879c75db124baf46642fd846:/src/main/java/org/asamk/signal/Main.java diff --git a/src/main/java/org/asamk/signal/Main.java b/src/main/java/org/asamk/signal/Main.java index 775b5223..2a95e6de 100644 --- a/src/main/java/org/asamk/signal/Main.java +++ b/src/main/java/org/asamk/signal/Main.java @@ -35,10 +35,13 @@ import java.security.Security; public class Main { public static void main(String[] args) { + // enable unlimited strength crypto via Policy, supported on relevant JREs + Security.setProperty("crypto.policy", "unlimited"); installSecurityProviderWorkaround(); // Configuring the logger needs to happen before any logger is initialized - configureLogging(isVerbose(args)); + final var isVerbose = isVerbose(args); + configureLogging(isVerbose); var parser = App.buildArgumentParser(); @@ -49,7 +52,13 @@ public class Main { new App(ns).init(); } catch (CommandException e) { System.err.println(e.getMessage()); + if (isVerbose && e.getCause() != null) { + e.getCause().printStackTrace(); + } status = getStatusForError(e); + } catch (Throwable e) { + e.printStackTrace(); + status = 2; } System.exit(status); } @@ -71,7 +80,7 @@ public class Main { return false; } - return ns.getBoolean("verbose"); + return Boolean.TRUE.equals(ns.getBoolean("verbose")); } private static void configureLogging(final boolean verbose) {