pkgsrc-Bugs archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

pkg/60569: mail/heirloom-mail patches



>Number:         60569
>Category:       pkg
>Synopsis:       fix depreciated openssl/timezone methodologies
>Confidential:   no
>Severity:       non-critical
>Priority:       low
>Responsible:    pkg-manager
>State:          open
>Class:          sw-bug
>Submitter-Id:   net
>Arrival-Date:   Mon Aug 10 17:15:00 +0000 2026
>Originator:     jgw%sdf.org@localhost
>Release:        NetBSD 11.0_STABLE
>Organization:
	none
>Environment:
	
	
System: NetBSD beastie 11.0_STABLE NetBSD 11.0_STABLE (GENERIC) #0: Sun Aug 2 14:10:41 UTC 2026 mkrepro%mkrepro.NetBSD.org@localhost:/usr/src/sys/arch/i386/compile/GENERIC i386
Architecture: i386
Machine: i386
>Description:
        Two separate issues:
          1) address depreciated timzone determination method in ../sendout.c
            => was reported to the heirloom-mailx mlist along with a patch;
               ref: https://sourceforge.net/p/nail/mailman/message/59369762 .

          2) address depreciated TLS client method references in ../openssl.c
            => this was noticed during test builds for addressing issue 1) ;
               according to /usr/include/openssl/ssl.h it seems referencing
               specific TLS versions is depreciated.  Tested patch with an
               IMAPS account; seems to work okay.  BTW similar warnings are
               issued when building the mail/s-nail package.

>How-To-Repeat:
	N.A.
>Fix:

--- sendout.c.orig	2011-04-26 15:23:22.000000000 -0600
+++ sendout.c	2026-08-06 10:18:47.395462882 -0600
@@ -51,6 +51,15 @@
 #include <time.h>
 #include "md5.h"
 
+#ifdef HAVE_PATHS_H
+#include <paths.h>
+#endif
+
+#ifdef _PATH_SENDMAIL
+#undef SENDMAIL
+#define SENDMAIL _PATH_SENDMAIL
+#endif
+
 /*
  * Mail -- a mail program
  *
@@ -835,7 +844,7 @@
 #endif	/* HAVE_SOCKETS */
 
 	if ((smtp = value("smtp")) == NULL) {
-		args = unpack(cat(mailargs, to));
+                args = unpack(mailargs, to);
 		if (debug || value("debug")) {
 			printf(catgets(catd, CATSET, 181,
 					"Sendmail arguments:"));
@@ -1135,13 +1144,11 @@
 	int tzdiff, tzdiff_hour, tzdiff_min;
 
 	time(&t);
-	tzdiff = t - mktime(gmtime(&t));
+	tmptr = localtime(&t);
+	tzdiff = tmptr->tm_gmtoff;
 	tzdiff_hour = (int)(tzdiff / 60);
 	tzdiff_min = tzdiff_hour % 60;
 	tzdiff_hour /= 60;
-	tmptr = localtime(&t);
-	if (tmptr->tm_isdst > 0)
-		tzdiff_hour++;
 	return fprintf(fo, "%s: %s, %02d %s %04d %02d:%02d:%02d %+05d\n",
 			field,
 			weekday_names[tmptr->tm_wday],


--- openssl.c.orig	2011-04-26 15:23:22.000000000 -0600
+++ openssl.c	2026-08-10 09:49:38.287933686 -0600
@@ -137,11 +137,13 @@
 
 	if ((cp = value("ssl-rand-egd")) != NULL) {
 		cp = expand(cp);
+#ifndef OPENSSL_NO_EGD
 		if (RAND_egd(cp) == -1) {
 			fprintf(stderr, catgets(catd, CATSET, 245,
 				"entropy daemon at \"%s\" not available\n"),
 					cp);
 		} else
+#endif
 			state = 1;
 	} else if ((cp = value("ssl-rand-file")) != NULL) {
 		cp = expand(cp);
@@ -216,12 +218,15 @@
 
 	cp = ssl_method_string(uhp);
 	if (cp != NULL) {
-		if (equal(cp, "ssl2"))
-			method = SSLv2_client_method();
-		else if (equal(cp, "ssl3"))
+		#ifndef OPENSSL_NO_SSL3
+		if (equal(cp, "ssl3"))
 			method = SSLv3_client_method();
-		else if (equal(cp, "tls1"))
-			method = TLSv1_client_method();
+		else if (equal(cp, "tls"))
+			method = TLS_client_method();
+		#else
+		if (equal(cp, "tls"))
+			method = TLS_client_method();
+		#endif
 		else {
 			fprintf(stderr, catgets(catd, CATSET, 244,
 					"Invalid SSL method \"%s\"\n"), cp);

>Unformatted:
 	
 	



Home | Main Index | Thread Index | Old Index