git/list[1] front-page[2] threads[3] people[4] search[5] about
 

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

From
Brian Gernhardt <brian@gernhardtsoftware.com>
Date
Apr 9, 2010, 15:42 UTC
Message-ID
<1270827746-29229-1-git-send-email-brian@gernhardtsoftware.com>
In-Reply-To
<1270827245-28958-1-git-send-email-brian@gernhardtsoftware.com>

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 <brian@gernhardtsoftware.com>
---
 git-send-email.perl |   12 ++++++++----
 1 files changed, 8 insertions(+), 4 deletions(-)
diff --git a/git-send-email.perl b/git-send-email.perl
index ce569a9..f491d44 100755
--- a/git-send-email.perl
+++ b/git-send-email.perl
@@ -863,14 +863,19 @@ 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 = $_[0];
+	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;
@@ -887,8 +892,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.243.g2ce66
Previous: Brian GernhardtNext: Jakub Narebski
Message 10 of 12 in “*** SUBJECT HERE ***”
  1. 0/3 *** SUBJECT HERE ***Brian Gernhardt, Apr 9, 2010
  2. Makefile: Simplify handling of python scriptsBrian Gernhardt, Apr 9, 2010
  3. Sverre RabbelierApr 9, 2010
  4. Makefile: Simplify handling of python scriptsBrian Gernhardt, Apr 9, 2010
  5. Sverre RabbelierApr 9, 2010
  6. 2/3 Document send-email --smtp-domainBrian Gernhardt, Apr 9, 2010
  7. 3/3 send-email: Add sendemail.smtpdomainBrian Gernhardt, Apr 9, 2010
  8. Jakub NarebskiApr 9, 2010
  9. Brian GernhardtApr 10, 2010
  10. 1/3 send-email: Don't use FQDNs without a '.'Brian Gernhardt, Apr 9, 2010
  11. Jakub NarebskiApr 9, 2010
  12. Brian GernhardtApr 10, 2010

Read the whole thread, see it on lore, or plain text.

$ cat FOOTERMessages come from the public archive at lore.kernel.org/git, fetched every hour. The front page is chosen and written each morning by an AI editor and can be wrong; the threads themselves are the record. About and API. For agents: an MCP server at https://gitlist.dev/mcp, and any thread, story or person page as Markdown by adding .md to its URL (or sending Accept: text/markdown). Details in /llms.txt.