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

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

From
Brian Gernhardt <brian@gernhardtsoftware.com>
Date
Apr 10, 2010, 14:53 UTC
Message-ID
<1270911236-32476-3-git-send-email-brian@gernhardtsoftware.com>
In-Reply-To
<1270911236-32476-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 |   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
Previous: Junio C HamanoNext: Brian Gernhardt
Message 4 of 6 in “send-email: --smtp-domain improvements”
  1. 0/4 send-email: --smtp-domain improvementsBrian Gernhardt, Apr 10, 2010
  2. 1/4 send-email: Cleanup { styleBrian Gernhardt, Apr 10, 2010
  3. Junio C HamanoApr 10, 2010
  4. 2/4 send-email: Don't use FQDNs without a '.'Brian Gernhardt, Apr 10, 2010
  5. 3/4 Document send-email --smtp-domainBrian Gernhardt, Apr 10, 2010
  6. 4/4 send-email: Cleanup smtp-domain and add configBrian Gernhardt, Apr 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.