X-Git-Url: https://git.nmode.ca/signal-cli/blobdiff_plain/fb862e4dde44caf0b5f32f6d55ea00e27146af0d..4b5bfcba8001d23768ad1131b76eaf6325d260d4:/src/main/java/cli/Main.java diff --git a/src/main/java/cli/Main.java b/src/main/java/cli/Main.java index 8aedd958..08c7b935 100644 --- a/src/main/java/cli/Main.java +++ b/src/main/java/cli/Main.java @@ -27,6 +27,7 @@ import org.whispersystems.textsecure.api.push.exceptions.EncapsulatedExceptions; import org.whispersystems.textsecure.api.push.exceptions.NetworkFailureException; import org.whispersystems.textsecure.api.push.exceptions.UnregisteredUserException; import org.whispersystems.textsecure.api.util.InvalidNumberException; +import org.whispersystems.textsecure.api.util.PhoneNumberFormatter; import java.io.File; import java.io.FileInputStream; @@ -118,19 +119,13 @@ public class Main { if (ns.getBoolean("endsession")) { sendEndSessionMessage(m, recipients); } else { - final List attachments = ns.getList("attachment"); List textSecureAttachments = null; - if (attachments != null) { - textSecureAttachments = new ArrayList<>(attachments.size()); - for (String attachment : attachments) { - try { - textSecureAttachments.add(createAttachment(attachment)); - } catch (IOException e) { - System.err.println("Failed to add attachment \"" + attachment + "\": " + e.getMessage()); - System.err.println("Aborting sending."); - System.exit(1); - } - } + try { + textSecureAttachments = getTextSecureAttachments(ns.getList("attachment")); + } catch (IOException e) { + System.err.println("Failed to add attachment: " + e.getMessage()); + System.err.println("Aborting sending."); + System.exit(1); } String messageText = ns.getString("message"); @@ -269,6 +264,18 @@ public class Main { System.exit(0); } + private static List getTextSecureAttachments(List attachments) { + private static List getTextSecureAttachments(List attachments) throws IOException { + List textSecureAttachments = null; + if (attachments != null) { + textSecureAttachments = new ArrayList<>(attachments.size()); + for (String attachment : attachments) { + textSecureAttachments.add(createAttachment(attachment)); + } + } + return textSecureAttachments; + } + private static TextSecureAttachmentStream createAttachment(String attachment) throws IOException { File attachmentFile = new File(attachment); InputStream attachmentStream = new FileInputStream(attachmentFile); @@ -347,6 +354,10 @@ public class Main { System.err.println("You need to specify a username (phone number)"); System.exit(2); } + if (!PhoneNumberFormatter.isValidNumber(ns.getString("username"))) { + System.err.println("Invalid username (phone number), make sure you include the country code."); + System.exit(2); + } if (ns.getList("recipient") != null && !ns.getList("recipient").isEmpty() && ns.getString("group") != null) { System.err.println("You cannot specify recipients by phone number and groups a the same time"); System.exit(2);