Code

t/README: start testing porcelainish
[git.git] / git-send-email.perl
index 700d0c3e1506599b12fd8093021066314e1c0e8d..c5d9e733512ddd4d266c85d4f5cdec4a7d74fa56 100755 (executable)
@@ -65,6 +65,20 @@ my $rc = GetOptions("from=s" => \$from,
                    "no-signed-off-cc|no-signed-off-by-cc" => \$no_signed_off_cc,
         );
 
+# Verify the user input
+
+foreach my $entry (@to) {
+       die "Comma in --to entry: $entry'\n" unless $entry !~ m/,/;
+}
+
+foreach my $entry (@initial_cc) {
+       die "Comma in --cc entry: $entry'\n" unless $entry !~ m/,/;
+}
+
+foreach my $entry (@bcclist) {
+       die "Comma in --bcclist entry: $entry'\n" unless $entry !~ m/,/;
+}
+
 # Now, let's fill any that aren't set in with defaults:
 
 sub gitvar {
@@ -313,7 +327,7 @@ our ($message_id, $cc, %mail, $subject, $reply_to, $references, $message);
 sub extract_valid_address {
        my $address = shift;
        my $local_part_regexp = '[^<>"\s@]+';
-       my $domain_regexp = '[^.<>"\s@]+\.[^<>"\s@]+';
+       my $domain_regexp = '[^.<>"\s@]+(?:\.[^.<>"\s@]+)+';
 
        # check for a local address:
        return $address if ($address =~ /^($local_part_regexp)$/);