Subject: [PATCH 1/3] send-email: Don't use FQDNs without a '.'

From: Brian Gernhardt <[email-masked]>
Date: Fri, 9 Apr 2010 01:11:44 -0400

Although Net::Domain::domainname attempts to be very thorough, the
host's configuration can still refuse to give a FQDN.  Check to see if
what we receive contains a dot as a basic sanity check.

Signed-off-by: Brian Gernhardt <[email-masked]>
---

 My OS X machine doesn't add ".local" to it's hostname for some reason.
 Since a FQDN requires at least one . between the TLD and hostname,
 we can check for it to avoid nonsense results like "My-Computer".

 git-send-email.perl |    6 ++++--
 1 files changed, 4 insertions(+), 2 deletions(-)

diff --git a/git-send-email.perl b/git-send-email.perl
index ce569a9..85fe374 100755
--- a/git-send-email.perl
+++ b/git-send-email.perl
@@ -870,7 +870,8 @@ sub maildomain_net
 	if (eval { require Net::Domain; 1 }) {
 		my $domain = Net::Domain::domainname();
 		$maildomain = $domain
-			unless $^O eq 'darwin' && $domain =~ /\.local$/;
+			unless $^O eq 'darwin' && $domain =~ /\.local$/
+				or $domain !~ /\./;
 	}
 
 	return $maildomain;
@@ -888,7 +889,8 @@ sub maildomain_mta
 				$smtp->quit;
 
 				$maildomain = $domain
-					unless $^O eq 'darwin' && $domain =~ /\.local$/;
+					unless $^O eq 'darwin' && $domain =~ /\.local$/
+						or $domain !~ /\./;
 
 				last if $maildomain;
 			}
-- 
1.7.1.rc0.210.ge6da