Thread (5 messages) flat view 5 messages, 1 author, 2016-06-15
DORMANTno replies

Revision v3 of 2 in this series.

Revisions (2)
  1. v1 [diff vs current]
  2. v3 current

[PATCH v3 2/4] send-email: Don't use FQDNs without a '.'

From: Brian Gernhardt <hidden>
Date: 2016-06-15 22:48:35
Subsystem: the rest · Maintainer: Linus Torvalds

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.

Since the same condition is used twice and getting complex, let's move
it to a new function.

Signed-off-by: Brian Gernhardt <redacted>
---
 git-send-email.perl |   11 +++++++----
 1 files changed, 7 insertions(+), 4 deletions(-)
diff --git a/git-send-email.perl b/git-send-email.perl
index 26fe624..1e9bec1 100755
--- a/git-send-email.perl
+++ b/git-send-email.perl
@@ -861,13 +861,17 @@ sub sanitize_address {
 # This maildomain*() code is based on ideas in Perl library Test::Reporter
 # /usr/share/perl5/Test/Reporter/Mail/Util.pm ==> sub _maildomain ()
 
+sub valid_fqdn {
+	my $domain = shift;
+	return !($^O eq 'darwin' && $domain =~ /\.local$/) && $domain =~ /\./;
+}
+
 sub maildomain_net {
 	my $maildomain;
 
 	if (eval { require Net::Domain; 1 }) {
 		my $domain = Net::Domain::domainname();
-		$maildomain = $domain
-			unless $^O eq 'darwin' && $domain =~ /\.local$/;
+		$maildomain = $domain if valid_fqdn($domain);
 	}
 
 	return $maildomain;
@@ -883,8 +887,7 @@ sub maildomain_mta {
 				my $domain = $smtp->domain;
 				$smtp->quit;
 
-				$maildomain = $domain
-					unless $^O eq 'darwin' && $domain =~ /\.local$/;
+				$maildomain = $domain if valid_fqdn($domain);
 
 				last if $maildomain;
 			}
-- 
1.7.1.rc0.251.g42f41
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help