diff options
Diffstat (limited to 'news')
-rw-r--r-- | news/slrn/Makefile | 16 | ||||
-rw-r--r-- | news/slrn/distinfo | 21 | ||||
-rw-r--r-- | news/slrn/options.mk | 16 | ||||
-rw-r--r-- | news/slrn/patches/patch-changes.txt | 29 | ||||
-rw-r--r-- | news/slrn/patches/patch-doc_manual.txt | 32 | ||||
-rw-r--r-- | news/slrn/patches/patch-doc_slrn.rc | 28 | ||||
-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.c | 60 | ||||
-rw-r--r-- | news/slrn/patches/patch-src_misc.c | 15 | ||||
-rw-r--r-- | news/slrn/patches/patch-src_misc.h | 14 | ||||
-rw-r--r-- | news/slrn/patches/patch-src_post.c | 66 | ||||
-rw-r--r-- | news/slrn/patches/patch-src_slrnfeat.hin | 2 | ||||
-rw-r--r-- | news/slrn/patches/patch-src_startup.c | 17 | ||||
-rw-r--r-- | news/slrn/patches/patch-src_version.c | 18 |
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) + { |