pkg/60569: mail/heirloom-mail patches

"[email protected] via gnats" <[email protected]>
Newsgroups gmane.os.netbsd.devel.pkgsrc.bugs
Message-ID <[email protected]>
>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:     [email protected]
>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 [email protected]:/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:
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.