Re: [PATCH v4 1/3] send-mail: improve checks for valid_fqdn

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



> ---
>  git-send-email.perl | 3 ++-
>  1 file changed, 2 insertions(+), 1 deletion(-)
> 
> diff --git a/git-send-email.perl b/git-send-email.perl
> index 4215f8f7e9..17d26dffde 100755
> --- a/git-send-email.perl
> +++ b/git-send-email.perl
> @@ -1359,7 +1359,8 @@ sub process_address_list {
>  
>  sub valid_fqdn {
>  	my $domain = shift;
> -	return defined $domain && !($^O eq 'darwin' && $domain =~ /\.local$/) && $domain =~ /\./;
> +	return defined $domain && !($^O eq 'darwin' && $domain =~ /\.local$/)
> +		&& $domain  =~ /^(?!-)[A-Za-z0-9-]{1,63}(?<!-)(\.(?!-)[A-Za-z0-9-]{1,63}(?<!-))*$/;
>  }
>  
>  sub maildomain_net {

FWIW, if you wanna test this regexp, this simple perl script could help:

---->8----
#!/usr/bin/perl

my @domains = ("macbook",
               "example.com",
               "-bad.com",
               "too..many.dots",
               "good-domain.org",
               "someone.-example.com",
               "some.hdhd-.com");

foreach my $d (@domains) {
    if ($d =~ /^(?!-)[A-Za-z0-9-]{1,63}(?<!-)(\.(?!-)[A-Za-z0-9-]{1,63}(?<!-))*$/) {
        print "$d => Valid\n";
    } else {
        print "$d => Invalid\n";
    }
}
----------

Also I am thinking of using `hostname -f` as a method to be used on Linux and macOS before
using the Net::Domain library.





[Index of Archives]     [Linux Kernel Development]     [Gcc Help]     [IETF Annouce]     [DCCP]     [Netdev]     [Networking]     [Security]     [V4L]     [Bugtraq]     [Yosemite]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Linux SCSI]     [Fedora Users]

  Powered by Linux