summaryrefslogtreecommitdiff
path: root/news
diff options
context:
space:
mode:
Diffstat (limited to 'news')
-rw-r--r--news/slrn/Makefile16
-rw-r--r--news/slrn/distinfo21
-rw-r--r--news/slrn/options.mk16
-rw-r--r--news/slrn/patches/patch-changes.txt29
-rw-r--r--news/slrn/patches/patch-doc_manual.txt32
-rw-r--r--news/slrn/patches/patch-doc_slrn.rc28
-rw-r--r--news/slrn/patches/patch-po_Makefile.in.in (renamed from news/slrn/patches/patch-af)4
-rw-r--r--news/slrn/patches/patch-src_art.c60
-rw-r--r--news/slrn/patches/patch-src_misc.c15
-rw-r--r--news/slrn/patches/patch-src_misc.h14
-rw-r--r--news/slrn/patches/patch-src_post.c66
-rw-r--r--news/slrn/patches/patch-src_slrnfeat.hin2
-rw-r--r--news/slrn/patches/patch-src_startup.c17
-rw-r--r--news/slrn/patches/patch-src_version.c18
14 files changed, 318 insertions, 20 deletions
diff --git a/news/slrn/Makefile b/news/slrn/Makefile
index 989983ca0fc..8a676143522 100644
--- a/news/slrn/Makefile
+++ b/news/slrn/Makefile
@@ -1,21 +1,20 @@
-# $NetBSD: Makefile,v 1.62 2018/03/22 08:14:52 adam Exp $
+# $NetBSD: Makefile,v 1.63 2018/09/21 14:27:37 wiz Exp $
-DISTNAME= slrn-1.0.1
-PKGREVISION= 2
+DISTNAME= slrn-1.0.3a
CATEGORIES= news
-MASTER_SITES= ${MASTER_SITE_SOURCEFORGE:=slrn/}
+MASTER_SITES= http://jedsoft.org/releases/slrn/
+EXTRACT_SUFX= .tar.bz2
MAINTAINER= pkgsrc-users@NetBSD.org
HOMEPAGE= http://slrn.sourceforge.net/
COMMENT= Highly customizable threaded newsreader
LICENSE= gnu-gpl-v2
-# gcc: error: art.o: No such file or directory
-# gcc: error: art_misc.o: No such file or directory
-# gcc: error: art_sort.o: No such file or directory
-
+EXTRACT_USING= bsdtar
MAKE_JOBS_SAFE= no
+WRKSRC= ${WRKDIR}/slrn-1.0.3
+
USE_PKGLOCALEDIR= yes
GNU_CONFIGURE= yes
CONFIGURE_ARGS+= --disable-inews --with-slrnpull --enable-spool \
@@ -28,6 +27,7 @@ CONFIGURE_ARGS+= --disable-inews --with-slrnpull --enable-spool \
LDFLAGS.SunOS+= -lsocket -lnsl
+BUILDLINK_API_DEPENDS.libslang2+= libslang2>=2.2.3
.include "../../devel/libslang2/buildlink3.mk"
.include "../../devel/gettext-lib/buildlink3.mk"
.include "../../mk/bsd.pkg.mk"
diff --git a/news/slrn/distinfo b/news/slrn/distinfo
index e9ad553c8b2..1053eb2439f 100644
--- a/news/slrn/distinfo
+++ b/news/slrn/distinfo
@@ -1,8 +1,17 @@
-$NetBSD: distinfo,v 1.17 2015/11/02 23:49:47 agc Exp $
+$NetBSD: distinfo,v 1.18 2018/09/21 14:27:37 wiz Exp $
-SHA1 (slrn-1.0.1.tar.gz) = 9ad41ec3894d2b6b1ae8f158e994a8f138540baa
-RMD160 (slrn-1.0.1.tar.gz) = 4a1aa5b3a209e8aac50df0e5557eabfe22b13622
-SHA512 (slrn-1.0.1.tar.gz) = fd2eecb7a82c078b401a8cf8c0e54166d508418f4064c3b074a33dcf2aa1c7a38ce324fee108c5d14e63a385fb6e45b82477f24f9a359870160d12ecb39440b5
-Size (slrn-1.0.1.tar.gz) = 1529545 bytes
-SHA1 (patch-af) = 7b9507c68cefa913ebeb0e44c4ca0ad70956a3bd
+SHA1 (slrn-1.0.3a.tar.bz2) = 898d09685f5fe159f23829cd21e15308f5dce822
+RMD160 (slrn-1.0.3a.tar.bz2) = dd5f5df5d508b8e0c5b136093f24121af31d3432
+SHA512 (slrn-1.0.3a.tar.bz2) = 11cef2dfe41f441af15acc22fb675cf607e932f0dd6d4a998e51ecda05c9a50d7abf10a3e693ffc857ad77e09634f460404e4d5b289169e7bbffdaf5d6d565a3
+Size (slrn-1.0.3a.tar.bz2) = 997138 bytes
+SHA1 (patch-changes.txt) = 185a9b2f918f15b1b66f492412883d77e57bab40
+SHA1 (patch-doc_manual.txt) = 216f8696b44b59c56a83655a868116932fe76e1d
+SHA1 (patch-doc_slrn.rc) = b2a3cf7c21f291c9b75f27596ae31e268a8275e8
+SHA1 (patch-po_Makefile.in.in) = 2b91ae3934b3b2b52a264129af08078ac622ce6a
+SHA1 (patch-src_art.c) = 70e4408827d3c67010ccb5b515c8d037f3f3b6b8
+SHA1 (patch-src_misc.c) = db64dad237e7eb348e32b772e1546e8b5440593c
+SHA1 (patch-src_misc.h) = a65145ecf87e7a9380940963aaeb81c35b9cb3b5
+SHA1 (patch-src_post.c) = e2f16323b2b0119e8d76779619f774dc0df663af
SHA1 (patch-src_slrnfeat.hin) = a115a2f7de61acd5c296fb3696a3cb97226ea121
+SHA1 (patch-src_startup.c) = bab29e395d2710acb7f9db4911873b5c8073aff8
+SHA1 (patch-src_version.c) = d622ec61fbd1c8db2a124bae63f68251a7885327
diff --git a/news/slrn/options.mk b/news/slrn/options.mk
index 7d4489e872b..b34b46e6df3 100644
--- a/news/slrn/options.mk
+++ b/news/slrn/options.mk
@@ -1,12 +1,22 @@
-# $NetBSD: options.mk,v 1.2 2014/08/23 09:34:48 obache Exp $
+# $NetBSD: options.mk,v 1.3 2018/09/21 14:27:37 wiz Exp $
PKG_OPTIONS_VAR= PKG_OPTIONS.slrn
-PKG_SUPPORTED_OPTIONS= ssl uulib
-PKG_SUGGESTED_OPTIONS= ssl
+PKG_SUPPORTED_OPTIONS= canlock ssl uulib
+PKG_SUGGESTED_OPTIONS= canlock ssl uulib
.include "../../mk/bsd.options.mk"
###
+### canlock support
+###
+.if !empty(PKG_OPTIONS:Mcanlock)
+. include "../../news/libcanlock/buildlink3.mk"
+CONFIGURE_ARGS+= --with-canlock=${BUILDLINK_PREFIX.libcanlock}
+.else
+CONFIGURE_ARGS+= --without-canlock
+.endif
+
+###
### SSL support
###
.if !empty(PKG_OPTIONS:Mssl)
diff --git a/news/slrn/patches/patch-changes.txt b/news/slrn/patches/patch-changes.txt
new file mode 100644
index 00000000000..86fe12cdd40
--- /dev/null
+++ b/news/slrn/patches/patch-changes.txt
@@ -0,0 +1,29 @@
+$NetBSD: patch-changes.txt,v 1.1 2018/09/21 14:27:37 wiz Exp $
+
+Changelog updated.
+
+--- changes.txt.orig 2016-10-23 22:34:16.000000000 +0000
++++ changes.txt
+@@ -1,4 +1,12 @@
+ -*- mode: text; mode: fold -*-
++
++Changes since 1.0.3
++1. Cancel-Locks now using API version 3 of the canlock library (--with-canlock).
++ The hash algorithm can be configured with the new variable "canlock_algo".
++ (Michael Baeuerle)
++
++{{{ Previous Versions
++
+ Changes since 1.0.2
+ 1. src/parse2822.c: A quoted-string in the display portion of an
+ address was not being marked as allowing mime-encoded text.
+@@ -30,9 +38,6 @@ Changes since 1.0.2
+ 15. Updates for mingw and cygwin 32 and 64 bit systems.
+ 16. src/mime.c: rfc1522_encode_word: max_nbytes was not being properly
+ limit checked.
+-
+-{{{ Previous Versions
+-
+ Changes since 1.0.1
+ 1. src/misc.c: slrn_verror needed va_copy when writing to the log file.
+ 2. src/post.c: Move the cursor to the end of the line when querying
diff --git a/news/slrn/patches/patch-doc_manual.txt b/news/slrn/patches/patch-doc_manual.txt
new file mode 100644
index 00000000000..2de763dacc5
--- /dev/null
+++ b/news/slrn/patches/patch-doc_manual.txt
@@ -0,0 +1,32 @@
+$NetBSD: patch-doc_manual.txt,v 1.1 2018/09/21 14:27:37 wiz Exp $
+
+Added documentation for new config option "canlock_algo".
+
+--- doc/manual.txt.orig 2016-10-23 22:34:16.000000000 +0000
++++ doc/manual.txt
+@@ -63,6 +63,7 @@
+ 6.5 beep
+ 6.6 broken_xref
+ 6.7 cansecret_file
++ 6.7.1 canlock_algo
+ 6.8 cc_followup
+ 6.9 cc_post_string
+ 6.10 charset
+@@ -1652,6 +1653,17 @@
+ canlock) and that cancel locks only have an effect if the server
+ supports them.
+
++ 6.7.1. canlock_algo
++
++ Type: string
++ Default: "SHA256"
++
++ If slrn is configured to put cancel-locks into the articles you post,
++ then this variable is used to select the hash algorithm for <scheme>
++ and HMAC (used as recommended in Section 4 of RFC 8315).
++
++ The default value is the mandatory hash algorithm defined by RFC 8315.
++
+ 6.8. cc_followup
+
+ Type: integer
diff --git a/news/slrn/patches/patch-doc_slrn.rc b/news/slrn/patches/patch-doc_slrn.rc
new file mode 100644
index 00000000000..a9790a92f4b
--- /dev/null
+++ b/news/slrn/patches/patch-doc_slrn.rc
@@ -0,0 +1,28 @@
+$NetBSD: patch-doc_slrn.rc,v 1.1 2018/09/21 14:27:37 wiz Exp $
+
+Example rc file extended with Cancel-Lock related options.
+
+--- doc/slrn.rc.orig 2016-10-23 22:34:16.000000000 +0000
++++ doc/slrn.rc
+@@ -540,3 +540,21 @@ setkey readline trim "<Esc>/" % Trim w
+ setkey readline quoted_insert "^Q" % Quoted insert
+ setkey readline complete "<Tab>" % Complete filename
+ setkey readline cycle " " % Cycle among filenames
++
++%
++%% Cancel-Lock related
++%
++
++% The Message-ID is required to calculate Cancel-Locks. One option is to enable
++% "generate_message_id" option above. "posting_host" can be set if your machine
++% has no FQDN.
++%posting_host "domain.example" % Domain under your control
++
++% File containing the secret. This file can be shared with other newsreaders
++% that use the recommended algorithm from Section 4 of RFC 8315.
++%set cansecret_file "/home/user/.cancelsecret"
++
++% Hash algorithm to use for <scheme> and HMAC according to RFC 8315.
++% Supported values: "SHA1", "SHA256", "SHA512".
++% If this option is not specified, "SHA256" is used as default.
++%set canlock_algo "SHA256"
diff --git a/news/slrn/patches/patch-af b/news/slrn/patches/patch-po_Makefile.in.in
index 2aba5fa768a..e924d2211a2 100644
--- a/news/slrn/patches/patch-af
+++ b/news/slrn/patches/patch-po_Makefile.in.in
@@ -1,10 +1,10 @@
-$NetBSD: patch-af,v 1.2 2014/08/23 09:34:48 obache Exp $
+$NetBSD: patch-po_Makefile.in.in,v 1.1 2018/09/21 14:27:37 wiz Exp $
Directly use INSTALL_DATA as ${mkdir_p}.
--- po/Makefile.in.in.orig 2008-02-11 19:04:23.000000000 +0100
+++ po/Makefile.in.in
-@@ -46,7 +46,7 @@ INSTALL_DATA = @INSTALL_DATA@
+@@ -47,7 +47,7 @@ INSTALL_DATA = @INSTALL_DATA@
# versions, $(mkinstalldirs) and $(install_sh) are unused.
#mkinstalldirs = $(SHELL) @install_sh@ -d
#install_sh = $(SHELL) @install_sh@
diff --git a/news/slrn/patches/patch-src_art.c b/news/slrn/patches/patch-src_art.c
new file mode 100644
index 00000000000..a3e977b5b18
--- /dev/null
+++ b/news/slrn/patches/patch-src_art.c
@@ -0,0 +1,60 @@
+$NetBSD: patch-src_art.c,v 1.1 2018/09/21 14:27:37 wiz Exp $
+
+Switched <c-key> element generation to libcanlock API V3.
+
+--- src/art.c.orig 2016-10-23 22:34:16.000000000 +0000
++++ src/art.c
+@@ -74,7 +74,7 @@
+ #include "decode.h"
+
+ #if SLRN_HAS_CANLOCK
+-# include <canlock.h>
++# include <libcanlock-3/canlock.h>
+ #endif
+
+ #if SLRN_HAS_GROUPLENS
+@@ -3660,6 +3660,7 @@ static char* gen_cancel_key (char* msgid
+ char *buf, *cankey;
+ unsigned int filelen;
+ char canfile[SLRN_MAX_PATH_LEN];
++ cl_hash_version algo;
+
+ if (0 == *Slrn_User_Info.cancelsecret)
+ return NULL;
+@@ -3686,14 +3687,30 @@ static char* gen_cancel_key (char* msgid
+ }
+ (void) fseek (cansecret, 0, SEEK_SET);
+ (void) fread (buf, filelen, 1, cansecret);
++ (void) fclose (cansecret);
+
+-# if 0
+- cankey = md5_key (buf, filelen, msgid, strlen(msgid));
+-# else /* by default we use SHA-1 */
+- cankey = sha_key ((unsigned char *) buf, filelen, (unsigned char *)msgid, strlen(msgid));
+-# endif
++ /* Fixme: This check is used twice, should be moved to a central location */
++ if (0 == slrn_case_strcmp (Slrn_User_Info.canlock_algo, "SHA1"))
++ {
++ algo = CL_SHA1;
++ }
++ else if (0 == slrn_case_strcmp (Slrn_User_Info.canlock_algo, "SHA256"))
++ {
++ algo = CL_SHA256;
++ }
++ else if (0 == slrn_case_strcmp (Slrn_User_Info.canlock_algo, "SHA512"))
++ {
++ algo = CL_SHA512;
++ }
++ else
++ {
++ slrn_error (_("Cancel-Lock algorithm not supported: %s"), Slrn_User_Info.canlock_algo);
++ return NULL;
++ }
++ cankey = cl_get_key (algo, (unsigned char *) buf, filelen, (unsigned char *)msgid, strlen(msgid));
++ /* Try to overwrite secret in memory */
++ cl_clear_secret((void *) buf, filelen, filelen+1);
+
+- fclose (cansecret);
+ slrn_free (buf);
+ return cankey;
+ }
diff --git a/news/slrn/patches/patch-src_misc.c b/news/slrn/patches/patch-src_misc.c
new file mode 100644
index 00000000000..dad15dd6fab
--- /dev/null
+++ b/news/slrn/patches/patch-src_misc.c
@@ -0,0 +1,15 @@
+$NetBSD: patch-src_misc.c,v 1.1 2018/09/21 14:27:37 wiz Exp $
+
+Added default value for new config option "canlock_algo".
+
+--- src/misc.c.orig 2016-10-23 22:34:16.000000000 +0000
++++ src/misc.c
+@@ -2828,6 +2828,8 @@ void slrn_get_user_info (void) /*{{{*/
+
+ #if SLRN_HAS_CANLOCK
+ Slrn_User_Info.cancelsecret = slrn_safe_strmalloc ("");
++ /* SHA256 ist the mandatory algorithm defined by RFC 8315 */
++ Slrn_User_Info.canlock_algo = slrn_safe_strmalloc ("SHA256");
+ #endif
+ #ifdef SLRN_SENDMAIL_COMMAND
+ Slrn_SendMail_Command = slrn_safe_strmalloc (SLRN_SENDMAIL_COMMAND);
diff --git a/news/slrn/patches/patch-src_misc.h b/news/slrn/patches/patch-src_misc.h
new file mode 100644
index 00000000000..12262c5db13
--- /dev/null
+++ b/news/slrn/patches/patch-src_misc.h
@@ -0,0 +1,14 @@
+$NetBSD: patch-src_misc.h,v 1.1 2018/09/21 14:27:37 wiz Exp $
+
+Added config structure element for Cancel-Lock hash algorithm.
+
+--- src/misc.h.orig 2016-10-23 22:34:16.000000000 +0000
++++ src/misc.h
+@@ -80,6 +80,7 @@ typedef struct
+ char *signature;
+ #if SLRN_HAS_CANLOCK
+ char *cancelsecret;
++ char *canlock_algo;
+ #endif
+ char *posting_host; /* FQDN or NULL */
+ char *login_name;
diff --git a/news/slrn/patches/patch-src_post.c b/news/slrn/patches/patch-src_post.c
new file mode 100644
index 00000000000..29eb742259f
--- /dev/null
+++ b/news/slrn/patches/patch-src_post.c
@@ -0,0 +1,66 @@
+$NetBSD: patch-src_post.c,v 1.1 2018/09/21 14:27:37 wiz Exp $
+
+Switched <c-lock> element generation to libcanlock API V3.
+
+--- src/post.c.orig 2016-10-23 22:34:16.000000000 +0000
++++ src/post.c
+@@ -50,7 +50,7 @@
+ #endif
+
+ #if SLRN_HAS_CANLOCK
+-# include <canlock.h>
++# include <libcanlock-3/canlock.h>
+ #endif
+
+ #include "slrn.h"
+@@ -821,7 +821,7 @@ static int prepare_header (VFILE *vp, un
+
+ if ((NULL == (tmp = slrn_gen_date_header ()))
+ || (NULL == slrn_append_to_header (a, tmp, 1))
+- || (NULL == (tmp = slrn_strdup_printf("User-Agent: slrn/%s (%s)", Slrn_Version_String, system_os_name)))
++ || (NULL == (tmp = slrn_strdup_printf("User-Agent: slrn/%s (Patched for libcanlock3) (%s)", Slrn_Version_String, system_os_name)))
+ || (NULL == slrn_append_to_header (a, tmp, 1))
+ || (NULL == slrn_append_to_header (a, NULL,0))) /* separator */
+ {
+@@ -1297,6 +1297,7 @@ static char *gen_cancel_lock (char *msgi
+ char *buf, *canlock;
+ unsigned int filelen;
+ char canfile[SLRN_MAX_PATH_LEN];
++ cl_hash_version algo;
+
+ cansecret = slrn_open_home_file (file, "r", canfile, SLRN_MAX_PATH_LEN, 0);
+ if (cansecret == NULL)
+@@ -1323,11 +1324,28 @@ static char *gen_cancel_lock (char *msgi
+ (void) fread (buf, filelen, 1, cansecret);
+ (void) fclose(cansecret);
+
+-# if 0
+- canlock = md5_lock(buf, filelen, msgid, strlen(msgid));
+-# else /* by default we use SHA-1 */
+- canlock = sha_lock ((unsigned char *) buf, filelen, (unsigned char *)msgid, strlen(msgid));
+-# endif
++ /* Fixme: This check is used twice, should be moved to a central location */
++ if (0 == slrn_case_strcmp (Slrn_User_Info.canlock_algo, "SHA1"))
++ {
++ algo = CL_SHA1;
++ }
++ else if (0 == slrn_case_strcmp (Slrn_User_Info.canlock_algo, "SHA256"))
++ {
++ algo = CL_SHA256;
++ }
++ else if (0 == slrn_case_strcmp (Slrn_User_Info.canlock_algo, "SHA512"))
++ {
++ algo = CL_SHA512;
++ }
++ else
++ {
++ slrn_error (_("Cancel-Lock algorithm not supported: %s"), Slrn_User_Info.canlock_algo);
++ return NULL;
++ }
++ canlock = cl_get_lock (algo, (unsigned char *) buf, filelen, (unsigned char *)msgid, strlen(msgid));
++ /* Try to overwrite secret in memory */
++ cl_clear_secret((void *) buf, filelen, filelen+1);
++
+ slrn_free (buf);
+ return canlock;
+ }
diff --git a/news/slrn/patches/patch-src_slrnfeat.hin b/news/slrn/patches/patch-src_slrnfeat.hin
index 3dceb450928..f108c2d442f 100644
--- a/news/slrn/patches/patch-src_slrnfeat.hin
+++ b/news/slrn/patches/patch-src_slrnfeat.hin
@@ -1,4 +1,4 @@
-$NetBSD: patch-src_slrnfeat.hin,v 1.2 2014/08/23 09:34:48 obache Exp $
+$NetBSD: patch-src_slrnfeat.hin,v 1.3 2018/09/21 14:27:37 wiz Exp $
Fix compiled-in default path to sendmail; it should be /usr/sbin/sendmail
on essentially all even halfway modern systems.
diff --git a/news/slrn/patches/patch-src_startup.c b/news/slrn/patches/patch-src_startup.c
new file mode 100644
index 00000000000..cfba0e44094
--- /dev/null
+++ b/news/slrn/patches/patch-src_startup.c
@@ -0,0 +1,17 @@
+$NetBSD: patch-src_startup.c,v 1.1 2018/09/21 14:27:37 wiz Exp $
+
+Added variable for Cancel-Lock hash algorithm.
+
+--- src/startup.c.orig 2016-10-23 22:34:16.000000000 +0000
++++ src/startup.c
+@@ -731,8 +731,10 @@ Slrn_Str_Var_Type Slrn_Str_Variables []
+ #endif
+ #if SLRN_HAS_CANLOCK
+ {"cansecret_file", &Slrn_User_Info.cancelsecret, NULL},
++ {"canlock_algo", &Slrn_User_Info.canlock_algo, NULL},
+ #else
+ {"cansecret_file", NULL, NULL},
++ {"canlock_algo", NULL, NULL},
+ #endif
+ {"art_help_line", &Slrn_Art_Help_Line, NULL},
+ {"art_status_line", &Slrn_Art_Status_Line, NULL},
diff --git a/news/slrn/patches/patch-src_version.c b/news/slrn/patches/patch-src_version.c
new file mode 100644
index 00000000000..4535bc46efc
--- /dev/null
+++ b/news/slrn/patches/patch-src_version.c
@@ -0,0 +1,18 @@
+$NetBSD: patch-src_version.c,v 1.1 2018/09/21 14:27:37 wiz Exp $
+
+Added notes that this is a modified version.
+
+--- src/version.c.orig 2016-10-23 22:34:16.000000000 +0000
++++ src/version.c
+@@ -132,6 +132,11 @@ void slrn_show_version (FILE *fp) /*{{{*
+ fprintf (fp, "slrn %s\n", Slrn_Version_String);
+ if (*Slrn_Version_String == 'p')
+ fprintf (fp, _("\t* Note: This version is a developer preview.\n"));
++
++ /* To be removed if patch is accepted upstream */
++ fprintf (fp, _("\t* Note: This is a modified version! (do not bother the author with questions)\n"));
++ fprintf (fp, _("\t* Patched to support libcanlock3 (see documentation)\n"));
++
+ fprintf (fp, _("S-Lang Library Version: %s\n"), SLang_Version_String);
+ if (SLANG_VERSION != SLang_Version)
+ {