Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 19 Jun 2017 18:04:31 +0000 (UTC)
From:      Renato Botelho <garga@FreeBSD.org>
To:        ports-committers@freebsd.org, svn-ports-all@freebsd.org, svn-ports-head@freebsd.org
Subject:   svn commit: r443903 - in head/devel/git: . files
Message-ID:  <201706191804.v5JI4VG0068490@repo.freebsd.org>

next in thread | raw e-mail | index | archive | help
Author: garga
Date: Mon Jun 19 18:04:31 2017
New Revision: 443903
URL: https://svnweb.freebsd.org/changeset/ports/443903

Log:
  - Replace git-send-email.perl patch by a different fix committed upstream. With
    previous version, when user tries to send multiple e-mails using an
    authenticated SMTP server, it asks for password on first one and rejects
    all other with "authentication failed" error
  - Bump PORTREVISION
  
  Reported by:	novel
  Tested by:	novel
  Obtained from:	Git repository, commits:
  		0ead000c3aca13a10ae51a3c74c866981e0d33b8
  		bfbfc9a953d8e26b029110c05581b22f9f0d77e9
  MFH:		2017Q2
  Sponsored by:	Rubicon Communications, LLC (Netgate)

Modified:
  head/devel/git/Makefile
  head/devel/git/files/patch-git-send-email.perl

Modified: head/devel/git/Makefile
==============================================================================
--- head/devel/git/Makefile	Mon Jun 19 17:55:19 2017	(r443902)
+++ head/devel/git/Makefile	Mon Jun 19 18:04:31 2017	(r443903)
@@ -3,7 +3,7 @@
 
 PORTNAME=	git
 DISTVERSION=	2.13.1
-PORTREVISION=	1
+PORTREVISION=	2
 CATEGORIES=	devel
 MASTER_SITES=	KERNEL_ORG/software/scm/git
 DISTFILES=	${DISTNAME}${EXTRACT_SUFX} \

Modified: head/devel/git/files/patch-git-send-email.perl
==============================================================================
--- head/devel/git/files/patch-git-send-email.perl	Mon Jun 19 17:55:19 2017	(r443902)
+++ head/devel/git/files/patch-git-send-email.perl	Mon Jun 19 18:04:31 2017	(r443903)
@@ -1,45 +1,51 @@
---- git-send-email.perl.orig	2017-03-21 10:10:31 UTC
+diff --git a/git-send-email.perl b/git-send-email.perl
+index eea0a517f71b6..0d90439d9a8e5 100755
+--- git-send-email.perl
 +++ git-send-email.perl
-@@ -27,6 +27,7 @@ use Term::ANSIColor;
- use File::Temp qw/ tempdir tempfile /;
- use File::Spec::Functions qw(catfile);
- use Error qw(:try);
-+use Net::SMTP 2.34;
- use Git;
- use Git::I18N;
+@@ -1353,10 +1353,12 @@ sub send_message {
+ 			die __("The required SMTP server is not properly defined.")
+ 		}
  
-@@ -1355,7 +1356,6 @@ EOF
- 
++		require Net::SMTP;
++		my $use_net_smtp_ssl = version->parse($Net::SMTP::VERSION) < version->parse("2.34");
++		$smtp_domain ||= maildomain();
++
  		if ($smtp_encryption eq 'ssl') {
  			$smtp_server_port ||= 465; # ssmtp
 -			require Net::SMTP::SSL;
- 			$smtp_domain ||= maildomain();
+-			$smtp_domain ||= maildomain();
  			require IO::Socket::SSL;
  
-@@ -1365,35 +1365,22 @@ EOF
- 				$IO::Socket::SSL::DEBUG = 1;
- 			}
- 
--			# Net::SMTP::SSL->new() does not forward any SSL options
--			IO::Socket::SSL::set_client_defaults(
--				ssl_verify_params());
+ 			# Suppress "variable accessed once" warning.
+@@ -1368,34 +1370,48 @@ sub send_message {
+ 			# Net::SMTP::SSL->new() does not forward any SSL options
+ 			IO::Socket::SSL::set_client_defaults(
+ 				ssl_verify_params());
 -			$smtp ||= Net::SMTP::SSL->new($smtp_server,
 -						      Hello => $smtp_domain,
 -						      Port => $smtp_server_port,
 -						      Debug => $debug_net_smtp);
-+			$smtp = Net::SMTP->new($smtp_server,
-+					       Hello => $smtp_domain,
-+					       Port => $smtp_server_port,
-+					       SSL => 1,
-+					       ssl_verify_params(),
-+					       Debug => $debug_net_smtp);
++
++			if ($use_net_smtp_ssl) {
++				require Net::SMTP::SSL;
++				$smtp ||= Net::SMTP::SSL->new($smtp_server,
++							      Hello => $smtp_domain,
++							      Port => $smtp_server_port,
++							      Debug => $debug_net_smtp);
++			}
++			else {
++				$smtp ||= Net::SMTP->new($smtp_server,
++							 Hello => $smtp_domain,
++							 Port => $smtp_server_port,
++							 Debug => $debug_net_smtp,
++							 SSL => 1);
++			}
  		}
  		else {
 -			require Net::SMTP;
 -			$smtp_domain ||= maildomain();
  			$smtp_server_port ||= 25;
--			$smtp ||= Net::SMTP->new($smtp_server,
-+			$smtp = Net::SMTP->new($smtp_server,
+ 			$smtp ||= Net::SMTP->new($smtp_server,
  						 Hello => $smtp_domain,
  						 Debug => $debug_net_smtp,
  						 Port => $smtp_server_port);
@@ -48,16 +54,32 @@
 -				$smtp->command('STARTTLS');
 -				$smtp->response();
 -				if ($smtp->code == 220) {
--					$smtp = Net::SMTP::SSL->start_SSL($smtp,
--									  ssl_verify_params())
++				if ($use_net_smtp_ssl) {
++					$smtp->command('STARTTLS');
++					$smtp->response();
++					if ($smtp->code != 220) {
++						die sprintf(__("Server does not support STARTTLS! %s"), $smtp->message);
++					}
++					require Net::SMTP::SSL;
+ 					$smtp = Net::SMTP::SSL->start_SSL($smtp,
+ 									  ssl_verify_params())
 -						or die "STARTTLS failed! ".IO::Socket::SSL::errstr();
 -					$smtp_encryption = '';
 -					# Send EHLO again to receive fresh
 -					# supported commands
 -					$smtp->hello($smtp_domain);
 -				} else {
-+				$smtp->starttls(ssl_verify_params());
-+				if ($smtp->code != 250) {
- 					die sprintf(__("Server does not support STARTTLS! %s"), $smtp->message);
+-					die sprintf(__("Server does not support STARTTLS! %s"), $smtp->message);
++						or die sprintf(__("STARTTLS failed! %s"), IO::Socket::SSL::errstr());
++				}
++				else {
++					$smtp->starttls(ssl_verify_params())
++						or die sprintf(__("STARTTLS failed! %s"), IO::Socket::SSL::errstr());
  				}
++				$smtp_encryption = '';
++				# Send EHLO again to receive fresh
++				# supported commands
++				$smtp->hello($smtp_domain);
  			}
+ 		}
+ 



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201706191804.v5JI4VG0068490>