Re: svn commit: r1872398 - in /subversion/trunk/tools/hook-scripts/mailer: mailer.conf.example mailer.py

2020-01-06 Thread Daniel Shahaf
futat...@apache.org wrote on Mon, Jan 06, 2020 at 23:34:17 -:
> +++ subversion/trunk/tools/hook-scripts/mailer/mailer.conf.example Mon Jan  6 
> 23:34:17 2020
> @@ -23,6 +23,10 @@
>  # This option specifies the hostname for delivery via SMTP.
>  #smtp_hostname = localhost
>  
> +# This option specifies the TCP port number to connect for SMTP.
> +# If it is not specified, 25 is used by default.
> +#smtp_port = 25
> +
> +++ subversion/trunk/tools/hook-scripts/mailer/mailer.py Mon Jan  6 23:34:17 
> 2020
> @@ -299,11 +299,15 @@ class SMTPOutput(MailedOutput):
>  (to minimize the chances of said lockout).
>  """
>  
> +if self.cfg.is_set('general.smtp_port'):
> +   smtp_port = self.cfg.general.smtp_port
> +else:
> +   smtp_port = smtplib.SMTP_PORT
>  try:
>if self.cfg.is_set('general.smtp_ssl') and self.cfg.general.smtp_ssl 
> == 'yes':
> -server = smtplib.SMTP_SSL(self.cfg.general.smtp_hostname)
> +server = smtplib.SMTP_SSL(self.cfg.general.smtp_hostname, smtp_port)

This seems to be a breaking change.  The old code, «smtplib.SMTP_SSL(foo)»,
used port 465; the new code, «smtplib.SMTP_SSL(foo, smtplib.SMTP_PORT)», will
try to connect to port 25 using SMTP-over-SSL until the administrator sets
smtp_port=465 in the config file.

Cheers,

Daniel

>else:
> -server = smtplib.SMTP(self.cfg.general.smtp_hostname)
> +server = smtplib.SMTP(self.cfg.general.smtp_hostname, smtp_port)


svn commit: r1872398 - in /subversion/trunk/tools/hook-scripts/mailer: mailer.conf.example mailer.py

2020-01-06 Thread futatuki
Author: futatuki
Date: Mon Jan  6 23:34:17 2020
New Revision: 1872398

URL: http://svn.apache.org/viewvc?rev=1872398&view=rev
Log:
Add new option smtp_port to specifiy the port to connect

* tools/hook-scripts/mailer/mailer.py (SMTPOutput.finish):
 Specify the port number to connect for SMTP/SMTP_SSL explicitly, by new option
 general.smtp_port.
* tools/hook-scripts/mailer/mailer.conf.example ([genral]):
 New option 'smtp_port'

Modified:
subversion/trunk/tools/hook-scripts/mailer/mailer.conf.example
subversion/trunk/tools/hook-scripts/mailer/mailer.py

Modified: subversion/trunk/tools/hook-scripts/mailer/mailer.conf.example
URL: 
http://svn.apache.org/viewvc/subversion/trunk/tools/hook-scripts/mailer/mailer.conf.example?rev=1872398&r1=1872397&r2=1872398&view=diff
==
--- subversion/trunk/tools/hook-scripts/mailer/mailer.conf.example (original)
+++ subversion/trunk/tools/hook-scripts/mailer/mailer.conf.example Mon Jan  6 
23:34:17 2020
@@ -23,6 +23,10 @@
 # This option specifies the hostname for delivery via SMTP.
 #smtp_hostname = localhost
 
+# This option specifies the TCP port number to connect for SMTP.
+# If it is not specified, 25 is used by default.
+#smtp_port = 25
+
 # Username and password for SMTP servers requiring authorisation.
 #smtp_username = example
 #smtp_password = example

Modified: subversion/trunk/tools/hook-scripts/mailer/mailer.py
URL: 
http://svn.apache.org/viewvc/subversion/trunk/tools/hook-scripts/mailer/mailer.py?rev=1872398&r1=1872397&r2=1872398&view=diff
==
--- subversion/trunk/tools/hook-scripts/mailer/mailer.py (original)
+++ subversion/trunk/tools/hook-scripts/mailer/mailer.py Mon Jan  6 23:34:17 
2020
@@ -299,11 +299,15 @@ class SMTPOutput(MailedOutput):
 (to minimize the chances of said lockout).
 """
 
+if self.cfg.is_set('general.smtp_port'):
+   smtp_port = self.cfg.general.smtp_port
+else:
+   smtp_port = smtplib.SMTP_PORT
 try:
   if self.cfg.is_set('general.smtp_ssl') and self.cfg.general.smtp_ssl == 
'yes':
-server = smtplib.SMTP_SSL(self.cfg.general.smtp_hostname)
+server = smtplib.SMTP_SSL(self.cfg.general.smtp_hostname, smtp_port)
   else:
-server = smtplib.SMTP(self.cfg.general.smtp_hostname)
+server = smtplib.SMTP(self.cfg.general.smtp_hostname, smtp_port)
 except Exception as detail:
   sys.stderr.write("mailer.py: Failed to instantiate SMTP object: %s\n" % 
(detail,))
   # Any error to instantiate is fatal