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

Re: [PATCH 3/3] git-send-email.perl - Fix 550 EHLO argument does not match calling host

From
Jakub Narebski <jnareb@gmail.com>
Date
Mar 14, 2010, 19:53 UTC
Message-ID
<m3y6huk7f4.fsf@localhost.localdomain>
In-Reply-To
<87sk83aq76.fsf_-_@jondo.cante.net>
Jari Aalto <jari.aalto@cante.net> writes:
Show 9 quoted lines
> ---
>  git-send-email.perl |   71 ++++++++++++++++++++++++++++++++++++++++++++++++++-
>  1 files changed, 70 insertions(+), 1 deletions(-)
> 
> 
> 
>     ================================
>     This is REVISION SET 4, reworked
>     ================================
 
Here you should describe differences from v3 (from previous version),
for easier review.
 
> +# This maildomain*() code is based on ideas in Perl library Test::Reporter
> +# /usr/share/perl5/Test/Reporter/Mail/Util.pm ==> sub _maildomain ()

Nice... although it might be better to use Test::Reporter::Mail::Util as canonical module name (the package can be installed somewhere else, depending on operating system / distribution, and if one uses local::lib for local / per-user installation).

Show 10 quoted lines
> +sub maildomain_net
> +{
> +	my $maildomain;
> +
> +	if (eval { require Net::Domain; 1 }) {
> +		eval "use Net::Domain";
> +		unless ($@) {
> +		    my $domain = Net::Domain::domainname();
> +		    $maildomain = $domain
> +			    unless $^O eq 'darwin' && $domain =~ /\.local$/;

Here should be a comment 'following what Test::Reporter does' or something like that.

Show 5 quoted lines
> +		}
> +	}
> +
> +	return $maildomain;
> +}

You still have duplicated 'require' ('use' is 'require' + 'import') and check if it succeeded. It should read:

+sub maildomain_net { + my $maildomain; + + if (eval { require Net::Domain; 1 }) { + my $domain = Net::Domain::domainname(); + $maildomain = $domain + unless $^O eq 'darwin' && $domain =~ /\.local$/; + } + + return $maildomain; +}

In the subroutine below you do not duplicate check for require.
Sidenote: alternate soultion would be to write (with one less level of
indent):

+sub maildomain_net { + my $maildomain; + + eval { require Net::Domain; }; + return if $@; + + $maildomain = Net::Domain::domainname(); + unless $^O eq 'darwin' && $domain =~ /\.local$/; + + return $maildomain; +}

> +
> +sub maildomain_mta
> +{

Use the same Perl convention that used elsewhere in git-send-email.perl (this is usually used Perl style).

+sub maildomain_mta {
Show 24 quoted lines
> +	my $maildomain;
> +
> +	if (eval { require Net::SMTP; 1 }) {
> +		for my $host (qw(mailhost localhost)) {
> +			my $smtp = Net::SMTP->new($host);
> +			if (defined $smtp) {
> +				my $domain = $smtp->domain;
> +				$smtp->quit;
> +
> +				$maildomain = $domain
> +					unless $^O eq 'darwin' && $domain =~ /\.local$/;
> +
> +				last if $maildomain;
> +			}
> +		}
> +	}
> +
> +	return $maildomain;
> +}
> +
> +sub maildomain
> +{
> +	return maildomain_net() || maildomain_mta() || $mail_domain_default;
> +}
Nice.
-- 
Jakub Narebski
Poland
ShadeHawk on #git
Previous: Jari AaltoNext: Jari Aalto
Message 26 of 28 in “Do not strip empty lines / trailing spaces from a commit message template”
  1. Do not strip empty lines / trailing spaces from a commit message templateSebastian Schuberth, Mar 10, 2010
  2. Jeff KingMar 11, 2010
  3. Jeff KingMar 11, 2010
  4. Junio C HamanoMar 11, 2010
  5. Jeff KingMar 11, 2010
  6. Junio C HamanoMar 12, 2010
  7. Sebastian SchuberthMar 12, 2010
  8. Junio C HamanoMar 12, 2010
  9. git-send-email.perl - Fix 550 EHLO argument does not match calling hostJari Aalto, Mar 13, 2010
  10. Junio C HamanoMar 13, 2010
  11. git-send-email.perl - Fix 550 EHLO argument does not match calling hostJari Aalto, Mar 13, 2010
  12. Junio C HamanoMar 14, 2010
  13. Jari AaltoMar 14, 2010
  14. Junio C HamanoMar 14, 2010
  15. Jari AaltoMar 14, 2010
  16. Jari AaltoMar 14, 2010
  17. git-send-email.perl - Fix 550 EHLO argument does not match calling hostJari Aalto, Mar 14, 2010
  18. Junio C HamanoMar 14, 2010
  19. Jari AaltoMar 14, 2010
  20. Jari AaltoMar 14, 2010
  21. Jakub NarebskiMar 14, 2010
  22. Jari AaltoMar 14, 2010
  23. 1/3 git-send-email.perl: improve error message in send_message()Jari Aalto, Mar 14, 2010
  24. 2/3 git-send-email.perl: add option --smtp-debugJari Aalto, Mar 14, 2010
  25. 3/3 git-send-email.perl - Fix 550 EHLO argument does not match calling hostJari Aalto, Mar 14, 2010
  26. Jakub NarebskiMar 14, 2010
  27. Jari AaltoMar 14, 2010
  28. git-send-email.perl - Fix 550 EHLO argument does not match calling hostJari Aalto, Mar 14, 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.