pkgsrc-WIP-changes archive
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]
slrn: Updated to current stable version.
Module Name: pkgsrc-wip
Committed By: Michael Baeuerle <michael.baeuerle%stz-e.de@localhost>
Pushed By: micha
Date: Mon Jul 30 17:03:53 2018 +0200
Changeset: e0d84036e4d8172f6bec1607de4a7a10f38cd9a5
Added Files:
slrn/DESCR
slrn/Makefile
slrn/PLIST
slrn/README
slrn/TODO
slrn/distinfo
slrn/options.mk
slrn/patches/patch-changes.txt
slrn/patches/patch-doc_manual.txt
slrn/patches/patch-doc_slrn.rc
slrn/patches/patch-po_Makefile.in.in
slrn/patches/patch-src_art.c
slrn/patches/patch-src_misc.c
slrn/patches/patch-src_misc.h
slrn/patches/patch-src_post.c
slrn/patches/patch-src_slrnfeat.hin
slrn/patches/patch-src_startup.c
slrn/patches/patch-src_version.c
slrn/slrn.rc
Log Message:
slrn: Updated to current stable version.
To see a diff of this commit:
https://wip.pkgsrc.org/cgi-bin/gitweb.cgi?p=pkgsrc-wip.git;a=commitdiff;h=e0d84036e4d8172f6bec1607de4a7a10f38cd9a5
Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.
diffstat:
slrn/DESCR | 9 +
slrn/Makefile | 29 ++
slrn/PLIST | 61 ++++
slrn/README | 6 +
slrn/TODO | 1 +
slrn/distinfo | 17 ++
slrn/options.mk | 37 +++
slrn/patches/patch-changes.txt | 29 ++
slrn/patches/patch-doc_manual.txt | 32 ++
slrn/patches/patch-doc_slrn.rc | 28 ++
slrn/patches/patch-po_Makefile.in.in | 15 +
slrn/patches/patch-src_art.c | 60 ++++
slrn/patches/patch-src_misc.c | 15 +
slrn/patches/patch-src_misc.h | 14 +
slrn/patches/patch-src_post.c | 66 +++++
slrn/patches/patch-src_slrnfeat.hin | 16 +
slrn/patches/patch-src_startup.c | 17 ++
slrn/patches/patch-src_version.c | 18 ++
slrn/slrn.rc | 560 +++++++++++++++++++++++++++++++++++
19 files changed, 1030 insertions(+)
diffs:
diff --git a/slrn/DESCR b/slrn/DESCR
new file mode 100644
index 0000000000..af299fc6ee
--- /dev/null
+++ b/slrn/DESCR
@@ -0,0 +1,9 @@
+slrn ('S-Lang read news') is a newsreader, i.e. a program that accesses a
+newsserver to read messages from the Internet News service (also known as
+'Usenet'). It runs in console mode on various Unix-like systems (including
+Linux), 32-bit Windows, OS/2, BeOS and VMS. Beside the usual features of a
+newsreader slrn supports scoring rules to highlight, sort or kill articles
+based on information from their header. It is highly customizable, allows
+free key-bindings and can easily be extended using the sophisticated
+S-Lang macro language. Offline reading is possible by using either
+slrnpull (shipped with slrn) or a local newsserver (like leafnode or INN).
diff --git a/slrn/Makefile b/slrn/Makefile
new file mode 100644
index 0000000000..bee3b3f09f
--- /dev/null
+++ b/slrn/Makefile
@@ -0,0 +1,29 @@
+# $NetBSD$
+
+DISTNAME= slrn-1.0.3
+CATEGORIES= news
+MASTER_SITES= ${MASTER_SITE_SOURCEFORGE:=slrn/}
+EXTRACT_SUFX= a.tar.bz2
+
+MAINTAINER= pkgsrc-users%NetBSD.org@localhost
+HOMEPAGE= http://slrn.sourceforge.net/
+COMMENT= Highly customizable threaded newsreader
+LICENSE= gnu-gpl-v2
+
+MAKE_JOBS_SAFE= no
+
+USE_PKGLOCALEDIR= yes
+GNU_CONFIGURE= yes
+CONFIGURE_ARGS+= --disable-inews --with-slrnpull --enable-spool \
+ --enable-grouplens --with-libdir=${PREFIX}/lib/slrn \
+ --enable-mid-cache \
+ --with-slang=${BUILDLINK_PREFIX.libslang2} \
+ --with-localedir=${PREFIX}/${PKGLOCALEDIR}/locale
+
+.include "options.mk"
+
+LDFLAGS.SunOS+= -lsocket -lnsl
+
+.include "../../devel/libslang2/buildlink3.mk"
+.include "../../devel/gettext-lib/buildlink3.mk"
+.include "../../mk/bsd.pkg.mk"
diff --git a/slrn/PLIST b/slrn/PLIST
new file mode 100644
index 0000000000..f8b1d47158
--- /dev/null
+++ b/slrn/PLIST
@@ -0,0 +1,61 @@
+@comment $NetBSD: PLIST,v 1.11 2014/08/23 09:34:48 obache Exp $
+bin/slrn
+bin/slrnpull
+man/man1/slrn.1
+man/man1/slrnpull.1
+share/doc/slrn/COPYING
+share/doc/slrn/COPYRIGHT
+share/doc/slrn/FAQ
+share/doc/slrn/FIRST_STEPS
+share/doc/slrn/README
+share/doc/slrn/README.GroupLens
+share/doc/slrn/README.SSL
+share/doc/slrn/README.macros
+share/doc/slrn/README.multiuser
+share/doc/slrn/THANKS
+share/doc/slrn/changes.txt
+share/doc/slrn/help.txt
+share/doc/slrn/manual.txt
+share/doc/slrn/score.sl
+share/doc/slrn/score.txt
+share/doc/slrn/slrn-doc.html
+share/doc/slrn/slrn.rc
+share/doc/slrn/slrnfuns.txt
+share/doc/slrn/slrnpull/README
+share/doc/slrn/slrnpull/README.offline
+share/doc/slrn/slrnpull/SETUP
+share/doc/slrn/slrnpull/score
+share/doc/slrn/slrnpull/setgid.txt
+share/doc/slrn/slrnpull/slrn.rc
+share/doc/slrn/slrnpull/slrnpull.conf
+share/doc/slrn/slrnpull/slrnpull.sh
+share/locale/be/LC_MESSAGES/slrn.mo
+share/locale/da/LC_MESSAGES/slrn.mo
+share/locale/de/LC_MESSAGES/slrn.mo
+share/locale/es/LC_MESSAGES/slrn.mo
+share/locale/fi/LC_MESSAGES/slrn.mo
+share/locale/fr/LC_MESSAGES/slrn.mo
+share/locale/it/LC_MESSAGES/slrn.mo
+share/locale/ko/LC_MESSAGES/slrn.mo
+share/locale/nl/LC_MESSAGES/slrn.mo
+share/locale/pl/LC_MESSAGES/slrn.mo
+share/locale/ru/LC_MESSAGES/slrn.mo
+share/locale/sv/LC_MESSAGES/slrn.mo
+share/locale/tr/LC_MESSAGES/slrn.mo
+share/slrn/slang/color.sl
+share/slrn/slang/gsort.sl
+share/slrn/slang/ispell.sl
+share/slrn/slang/latin2.sl
+share/slrn/slang/mailcap.sl
+share/slrn/slang/mime.sl
+share/slrn/slang/multipart.sl
+share/slrn/slang/nn.sl
+share/slrn/slang/posthook.sl
+share/slrn/slang/search.sl
+share/slrn/slang/slrn.sl
+share/slrn/slang/tin-art.sl
+share/slrn/slang/tin-group.sl
+share/slrn/slang/ttyprint.sl
+share/slrn/slang/util.sl
+share/slrn/slang/varset.sl
+share/slrn/slang/xcomment.sl
diff --git a/slrn/README b/slrn/README
new file mode 100644
index 0000000000..9505dc4ddf
--- /dev/null
+++ b/slrn/README
@@ -0,0 +1,6 @@
+This package contains slrn 1.0.3a patched for the libcanlock V3 API.
+pkgsrc option "canlock" added.
+
+The Cancel-Lock hash algorithm can now be configured with the "canlock_algo"
+variable (default value: SHA256).
+Updated documentation is installed (see Section 6.7.1 of manual).
diff --git a/slrn/TODO b/slrn/TODO
new file mode 100644
index 0000000000..f7138acaa7
--- /dev/null
+++ b/slrn/TODO
@@ -0,0 +1 @@
+Needs testing.
diff --git a/slrn/distinfo b/slrn/distinfo
new file mode 100644
index 0000000000..115acbeb78
--- /dev/null
+++ b/slrn/distinfo
@@ -0,0 +1,17 @@
+$NetBSD: distinfo,v 1.17 2015/11/02 23:49:47 agc Exp $
+
+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) = 7b9507c68cefa913ebeb0e44c4ca0ad70956a3bd
+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/slrn/options.mk b/slrn/options.mk
new file mode 100644
index 0000000000..0d324ab67b
--- /dev/null
+++ b/slrn/options.mk
@@ -0,0 +1,37 @@
+# $NetBSD$
+
+PKG_OPTIONS_VAR= PKG_OPTIONS.slrn
+PKG_SUPPORTED_OPTIONS= canlock ssl uulib
+PKG_SUGGESTED_OPTIONS= canlock ssl
+
+.include "../../mk/bsd.options.mk"
+
+###
+### canlock support
+###
+.if !empty(PKG_OPTIONS:Mcanlock)
+. include "../../wip/libcanlock/buildlink3.mk"
+CONFIGURE_ARGS+= --with-canlock=${BUILDLINK_PREFIX.libcanlock}
+.else
+CONFIGURE_ARGS+= --without-canlock
+.endif
+
+###
+### SSL support
+###
+.if !empty(PKG_OPTIONS:Mssl)
+. include "../../security/openssl/buildlink3.mk"
+CONFIGURE_ARGS+= --with-ssl=${SSLBASE:Q}
+.else
+CONFIGURE_ARGS+= --without-ssl
+.endif
+
+###
+### uulib support
+###
+.if !empty(PKG_OPTIONS:Muulib)
+. include "../../converters/uulib/buildlink3.mk"
+CONFIGURE_ARGS+= --with-uu=${BUILDLINK_PREFIX.uulib}
+.else
+CONFIGURE_ARGS+= --without-uu
+.endif
diff --git a/slrn/patches/patch-changes.txt b/slrn/patches/patch-changes.txt
new file mode 100644
index 0000000000..53581c40e8
--- /dev/null
+++ b/slrn/patches/patch-changes.txt
@@ -0,0 +1,29 @@
+$NetBSD$
+
+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/slrn/patches/patch-doc_manual.txt b/slrn/patches/patch-doc_manual.txt
new file mode 100644
index 0000000000..2d292ea0d9
--- /dev/null
+++ b/slrn/patches/patch-doc_manual.txt
@@ -0,0 +1,32 @@
+$NetBSD$
+
+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/slrn/patches/patch-doc_slrn.rc b/slrn/patches/patch-doc_slrn.rc
new file mode 100644
index 0000000000..e0e6f090ac
--- /dev/null
+++ b/slrn/patches/patch-doc_slrn.rc
@@ -0,0 +1,28 @@
+$NetBSD$
+
+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/slrn/patches/patch-po_Makefile.in.in b/slrn/patches/patch-po_Makefile.in.in
new file mode 100644
index 0000000000..c181e5a105
--- /dev/null
+++ b/slrn/patches/patch-po_Makefile.in.in
@@ -0,0 +1,15 @@
+$NetBSD$
+
+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@
+ # versions, $(mkinstalldirs) and $(install_sh) are unused.
+ #mkinstalldirs = $(SHELL) @install_sh@ -d
+ #install_sh = $(SHELL) @install_sh@
+-mkdir_p = @mkdir_p@
++mkdir_p = $(INSTALL_DATA) -m 755 -d
+
+ GMSGFMT_ = @GMSGFMT@
+ GMSGFMT_no = @GMSGFMT@
diff --git a/slrn/patches/patch-src_art.c b/slrn/patches/patch-src_art.c
new file mode 100644
index 0000000000..2d0be701e6
--- /dev/null
+++ b/slrn/patches/patch-src_art.c
@@ -0,0 +1,60 @@
+$NetBSD$
+
+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/slrn/patches/patch-src_misc.c b/slrn/patches/patch-src_misc.c
new file mode 100644
index 0000000000..54a30b035a
--- /dev/null
+++ b/slrn/patches/patch-src_misc.c
@@ -0,0 +1,15 @@
+$NetBSD$
+
+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/slrn/patches/patch-src_misc.h b/slrn/patches/patch-src_misc.h
new file mode 100644
index 0000000000..4bcba8f5f9
--- /dev/null
+++ b/slrn/patches/patch-src_misc.h
@@ -0,0 +1,14 @@
+$NetBSD$
+
+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/slrn/patches/patch-src_post.c b/slrn/patches/patch-src_post.c
new file mode 100644
index 0000000000..839101ad89
--- /dev/null
+++ b/slrn/patches/patch-src_post.c
@@ -0,0 +1,66 @@
+$NetBSD$
+
+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/slrn/patches/patch-src_slrnfeat.hin b/slrn/patches/patch-src_slrnfeat.hin
new file mode 100644
index 0000000000..dfbd864c17
--- /dev/null
+++ b/slrn/patches/patch-src_slrnfeat.hin
@@ -0,0 +1,16 @@
+$NetBSD$
+
+Fix compiled-in default path to sendmail; it should be /usr/sbin/sendmail
+on essentially all even halfway modern systems.
+
+--- src/slrnfeat.hin~ 2008-02-09 18:32:17.000000000 +0000
++++ src/slrnfeat.hin
+@@ -179,7 +179,7 @@
+ # define SLRN_SIGNATURE_FILE ".signature"
+ /* Changing these here has no effect when using ./configure */
+ # ifndef SLRN_SENDMAIL_COMMAND
+-# define SLRN_SENDMAIL_COMMAND "/usr/lib/sendmail -oi -t -oem -odb"
++# define SLRN_SENDMAIL_COMMAND "/usr/sbin/sendmail -oi -t -oem -odb"
+ # endif
+ # endif /* unix */
+ # endif /* os2 */
diff --git a/slrn/patches/patch-src_startup.c b/slrn/patches/patch-src_startup.c
new file mode 100644
index 0000000000..c91c1a310e
--- /dev/null
+++ b/slrn/patches/patch-src_startup.c
@@ -0,0 +1,17 @@
+$NetBSD$
+
+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/slrn/patches/patch-src_version.c b/slrn/patches/patch-src_version.c
new file mode 100644
index 0000000000..e00380e96a
--- /dev/null
+++ b/slrn/patches/patch-src_version.c
@@ -0,0 +1,18 @@
+$NetBSD$
+
+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)
+ {
diff --git a/slrn/slrn.rc b/slrn/slrn.rc
new file mode 100644
index 0000000000..38e5626a83
--- /dev/null
+++ b/slrn/slrn.rc
@@ -0,0 +1,560 @@
+% -*- slang -*-
+
+%% This is a sample startup file for the slrn newsreader and meant as a
+%% template for your personal startup file; it is not a full reference
+%% of slrn's config options -- please see the reference manual for this.
+
+%% The percent character is used for comments.
+
+%
+%% 1. Tell slrn about your identity (name, email address and such)
+%
+
+% The "From:" header will be generated from the following three variables.
+% With the example settings, it would read "John Doe <john%doe.com@localhost>"
+%set username "john"
+%set hostname "doe.com"
+%set realname "John Doe"
+
+% Set this if you want replies to your articles to go to a address different
+% from the one in "From:".
+%set replyto "John Doe <jdoe%something.com@localhost>"
+
+% What to put into the "Organization:" header line.
+%set organization "Doe inc."
+
+% The name of your signature file. If "", no signature is added.
+%set signature ".signature"
+
+%
+%% 2. Server specific settings
+%
+
+% Tell slrn which newsrc file it should use for which server.
+% Note: This does *not* set the default server; you need to set the
+% NNTPSERVER environment variable for this.
+%server "news.doe.com" ".jnewsrc-doe"
+
+% If a server requires authentication, add a nnrpaccess line for it.
+% If you leave username and/or password empty, slrn will prompt for it.
+%nnrpaccess "news.doe.com" "john" "secret"
+
+% Some servers require authentication, but don't ask for it.
+% To offer your authentication data "voluntarily", set this variable to 1.
+%set force_authentication 0
+
+% This can either be set to "nntp" (read online) or "spool" (use local spool)
+%set server_object "nntp"
+
+% This can be "nntp" (post directly to the server), "inews" (use external
+% program for posting) or "slrnpull" (spool message for slrnpull to send).
+%set post_object "nntp"
+
+% Set this to zero if you want to leave Message-ID generation to your server
+% or your system does not have a proper unique hostname.
+%set generate_message_id 1
+
+% If non-zero, slrn reads the active file on each startup. You might want to
+% use this if your network connection is fast or the server has few groups.
+%set read_active 0
+
+% The following variables are only meaningful when using spool mode:
+
+% Basic directory settings
+%set spool_inn_root "/var/lib/news"
+%set spool_root "/var/spool/news"
+%set spool_nov_root "/var/spool/news/over.view"
+
+% These are relative to spool_inn_root unless they start with "/".
+%set spool_active_file "data/active"
+%set spool_activetimes_file "data/active.times"
+%set spool_newsgroups_file "data/newsgroups"
+
+% This value is relative to the directories under spool_nov_root:
+%set spool_nov_file ".overview"
+
+% Whether to check for each article when reading an overview file (slower,
+% but may save you from lots of "article not available" errors).
+%set spool_check_up_on_nov 0
+
+%
+%% 3. Which external programs do you want to use?
+%
+
+% Note OS/2 and Win32 users:
+% To separate directories you can either use a single '/' or
+% double '\\'. Single backslashes are not supported. For example, use
+% "C:\\home\\file.txt" or "C:/home/file.txt" but NOT "C:\home\file.txt"
+
+% Set your favourite editor. Use %s for the file name and %d for the line
+% where the cursor should be placed (usually at the beginning of the body).
+%set editor_command "jed '%s' -g %d -tmp"
+%set editor_command "vim -c %d '%s'"
+
+% You can have separate commands for editing posts, mail, and score files.
+%set mail_editor_command "jed '%s' -g %d -tmp --mail-mode"
+%set post_editor_command "jed '%s' -g %d -tmp --mail-mode"
+%set score_editor_command "jed '%s' -g %d -tmp --score-arrange-score"
+
+% If non-zero, abort posting or email operation if the file was not modified
+% by the editor.
+%set abort_unmodified_edits 0
+
+% In case we need metamail to display an article:
+%set metamail_command "metamail"
+
+% WWW browser to use. Xbrowser is used when the DISPLAY environment variable
+% is set; non_Xbrowser otherwise.
+%set non_Xbrowser "lynx '%s'"
+%set Xbrowser "firefox '%s' &"
+
+% Command to use for printing
+% Note: On Win32, this variable defines the name of the printer queue to use.
+%set printer_name "lpr -Plp"
+
+% In case you want to use another mailer than sendmail. Be sure that it
+% implements the same interface, though!
+%set sendmail_command "/usr/lib/sendmail -oi -t -oem -odb"
+
+% Set this to one if you want the "From:" header in e-mails to be generated
+% from the hostname / username / realname variable.
+% Note: Not all MTAs are configured to allow this.
+%set generate_email_from 0
+
+%
+%% 4. Directory / file names
+%
+
+% Note: All filenames in this section are relative to HOME unless they start
+% with a '/'.
+
+% Filename where articles / email you sent are archived.
+% Note: If these are unset, slrn does not keep a copy of outgoing messages.
+%set save_posts "News/My_Posts"
+%set save_replies "News/My_Replies"
+
+% File where failed posts are appended. Use "" to disable saving.
+%set failed_posts_file "dead.letter"
+
+% Name of score file.
+%set scorefile "News/Score"
+
+% Name of directory where decoded files are placed.
+%set decode_directory "News"
+
+% Directory where all other files are saved.
+%set save_directory "News"
+
+% Directory where postponed articles are placed. Please make sure it exists.
+%set postpone_directory "News/postponed"
+
+% Whether to put temporary files for postings, followups and replies in the
+% directory specified by the TMPDIR environment variable or /tmp.
+%set use_tmpdir 0
+
+%
+%% 5. Attribution lines / custom headers
+%
+
+% This sets the attribution lines for follow-ups and replies. The following
+% format specifiers are recognized:
+% %d:date, %D:date (formatted), %r:real name, %R:first name,
+% %f:email address, %s:subject, %m:msgid, %n:newsgroups, %%: percent
+%set followup_string "On %D, %r <%f> wrote:"
+%set reply_string "In %n, you wrote:"
+
+% Custom headers to add to *new* posts
+%set custom_headers "Mail-Copies-To: nobody"
+
+% Custom headers for followup/reply/supersedes. These can use format
+% specifiers as in the 'followup_string' variable.
+%set followup_custom_headers "Mail-Copies-To: nobody"
+%set reply_custom_headers "X-newsgroup: %n\nX-realname: %r"
+%set supersedes_custom_headers "X-Superseded-Date: %d"
+
+% This is inserted when sending email CCs of your postings.
+%set cc_post_string "[This message has also been posted to %n.]"
+
+%
+%% 6. Character mapping / MIME support
+%
+
+% Character set used for the display or terminal; valid values include:
+% utf-8, iso-8859-1, ibm850, ibm852, koi8,
+%charset display "utf-8"
+
+% the character set used for outgoing articles
+%charset outgoing "utf-8"
+
+% If non-zero, call metamail for MIME formats slrn cannot handle.
+%set use_metamail 1
+
+%
+%% 7. Some preferences for the header window (see the manual for more)
+%
+
+% These sorting methods are available:
+% If 0, do not sort. If 1, perform threading. If 2, sort by subject.
+% If 3, thread then sort result by subject.
+% If 4, sort by score. If 5, thread then sort by score.
+% If 6, sort by score and subject.
+% If 7, thread, then sort by score and subject.
+% If 8, sort by date with most recent first.
+% If 9, thread, then sort by date with most recent first.
+% If 10, sort by date with most recent last.
+% If 11, thread then sort by date with most recent last.
+% If 12, use the value of the custom_sort_order variable.
+%set sorting_method 3
+
+% If non-zero, a header with a new subject will start a new thread.
+%set new_subject_breaks_threads 0
+
+%
+%% 8. Some preferences for the article pager (see the manual for more)
+%
+
+% Which headers do you want to see by default?
+% You can also match all headers starting with a given string and exclude
+% specific headers by preceding them with "!" (e.g. use "X-,!X-Trace:" to
+% display all the "X-"headers except "X-Trace:").
+%visible_headers "From:,Subject:,Newsgroups:,Followup-To:,Reply-To:"
+
+% If non-zero, #v+ and #v- will be interpreted as markers of verbatim lines.
+%set process_verbatim_marks 1
+
+% If non-zero, hide #v+/#v- verbatim marks.
+%set hide_verbatim_marks 0
+
+% If non-zero, hide signature in articles.
+%set hide_signature 0
+
+% If non-zero, hide PGP signature in articles.
+%set hide_pgpsignature 0
+
+% Set the starting score for an article that has headers that are invalid,
+% e.g., an invalid From header.
+%set invalid_header_score -1000
+
+%
+%% 9. Display / color settings
+%
+
+% If non-zero, slrn will draw the thread tree using simple ascii characters
+%set simulate_graphic_chars 0
+
+% Enable xterm/win32 mouse support: 1 to enable, 0 to disable
+%set mouse 0
+
+% Draw cursor bar ala tin instead of slrn "->" cursor?
+%set display_cursor_bar 0
+
+% Set to 1 to have slrn scroll by full page instead of by line.
+%set scroll_by_page 0
+
+% Should color be used to indicate the score of an article?
+% (0) scores do not influence colors (1) scores are colored by their value
+% (2) subjects are colored by score (3) both are colored by score
+%set color_by_score 3
+
+% If non-zero, the subjects of unread articles are highlighted
+%set highlight_unread_subjects 1
+
+% If non-zero, URLs are highlighted.
+%set highlight_urls 1
+
+% Enables blinking in monochrome mode and allows bright backgrounds in some
+% color terminals:
+%set use_blink 1
+
+% This color object is only used when highlight_unread_subjects is set to 2
+% (see the reference manual for details):
+color unread_subject "white" "black" "bold"
+mono unread_subject "bold"
+
+% These settings are used for color terminals:
+color article "lightgray" "black"
+color author "magenta" "black"
+color boldtext "brightblue" "black" "bold"
+color box "black" "white"
+color cursor "brightgreen" "black"
+color date "lightgray" "black"
+color description "lightgray" "black"
+color error "red" "black" "blink"
+color frame "yellow" "blue"
+color from_myself "brightmagenta" "black" "bold"
+color group "lightgray" "black" "bold"
+color grouplens_display "lightgray" "black"
+color header_name "green" "black" "bold"
+color header_number "green" "black"
+color headers "brightcyan" "black"
+color neg_score "green" "black"
+color pos_score "blue" "black"
+color high_score "red" "black" "bold"
+color italicstext "magenta" "black" "bold"
+color menu "yellow" "blue"
+color menu_press "lightgray" "yellow"
+color message "lightgray" "black"
+color normal "lightgray" "black"
+color pgpsignature "lightgray" "black"
+color quotes "red" "black"
+color quotes1 "magenta" "black"
+color quotes2 "brown" "black"
+color quotes3 "brown" "black"
+color quotes4 "brown" "black"
+color quotes5 "brown" "black"
+color quotes6 "brown" "black"
+color quotes7 "brown" "black"
+color response_char "green" "black" "bold"
+color signature "red" "black"
+color selection "yellow" "blue" "bold"
+color status "yellow" "blue"
+color subject "lightgray" "black"
+color thread_number "lightgray" "black" "bold"
+color tilde "green" "black" "bold"
+color tree "red" "black" "bold"
+color underlinetext "cyan" "black" "underline"
+color url "white" "black" "bold"
+color verbatim "green" "black"
+
+% These attributes are for terminals that cannot display color:
+mono article "none"
+mono author "none"
+mono boldtext "bold"
+mono cursor "bold" "reverse"
+mono date "none"
+mono description "none"
+mono error "blink"
+mono frame "reverse"
+mono from_myself "bold"
+mono group "bold"
+mono grouplens_display "none"
+mono header_name "bold"
+mono header_number "none"
+mono headers "none"
+mono high_score "bold"
+mono italicstext "bold"
+mono menu "reverse"
+mono menu_press "none"
+mono neg_score "none"
+mono normal "none"
+mono pgpsignature "none"
+mono pos_score "reverse"
+mono quotes "none"
+mono quotes1 "none"
+mono quotes2 "none"
+mono quotes3 "none"
+mono quotes4 "none"
+mono quotes5 "none"
+mono quotes6 "none"
+mono quotes7 "none"
+mono response_char "bold"
+mono selection "bold"
+mono signature "none"
+mono status "reverse"
+mono subject "none"
+mono thread_number "bold"
+mono tilde "bold"
+mono tree "none"
+mono underlinetext "underline"
+mono url "bold"
+mono verbatim "none"
+
+%
+%% 10. Group mode key bindings
+%
+
+% Cursor movement:
+setkey group line_down "<Down>" % Go to the next group
+setkey group line_down "^N"
+setkey group line_up "<Up>" % Go to the previous group
+setkey group line_up "^P"
+setkey group page_down "^V" % Scroll to the next page
+setkey group page_down "<PageDown>"
+setkey group page_down "^D"
+setkey group page_up "<Esc>V" % Scroll to the previous page
+setkey group page_up "<PageUp>"
+setkey group page_up "^U"
+setkey group bob "<Esc><" % Go to the bottom of the list
+setkey group bob "^K<Up>"
+setkey group eob "<Esc>>" % Go to the top of the list
+setkey group eob "^K<Down>"
+setkey group group_search_backward "\\"% Group keyword search backward
+setkey group group_search_forward "/" % Group keyword search forward
+
+% Actions:
+setkey group select_group "<Space>" % Enter the current newsgroup
+setkey group select_group "<Return>"
+setkey group post "P" % Post an article
+setkey group post_postponed "<Esc>P" % Post or edit a postponed article
+setkey group refresh_groups "G" % Get new news from server
+setkey group toggle_scoring "K" % Select scoring mode
+setkey group repeat_last_key "." % Repeat last key sequence
+setkey group evaluate_cmd "^X<Esc>" % Read line and interpret it as S-Lang
+setkey group suspend "^Z" % Suspend slrn
+setkey group quit "Q" % Quit slrn
+
+% Group management:
+setkey group catchup "C" % Mark all articles as read
+setkey group uncatchup "<Esc>u" % Mark all articles as unread
+setkey group add_group "a" % Add a new newsgroup
+setkey group subscribe "S" % Subscribe to the current newsgroup
+setkey group unsubscribe "U" % Unsubscribe from the current newsgroup
+setkey group move_group "m" % Move newsgroup to a different location
+setkey group transpose_groups "^X^T" % Transpose position of groups
+setkey group save_newsrc "X" % Force a save of the newsrc file
+
+% Display:
+setkey group toggle_group_formats "<Esc>A" % Toggle group display formats
+setkey group toggle_hidden "l" % Toggle display of hidden groups
+setkey group toggle_list_all "L" % Toggle listing of unsubscribed groups
+setkey group redraw "^L" % Redraw the screen
+setkey group redraw "^R"
+setkey group help "?" % Display a help screen
+
+%
+%% 11. Article mode key bindings
+%
+
+% General movement:
+setkey article next "n" % next unread article
+setkey article previous "p" % previous unread article
+setkey article skip_to_next_group "N" % go to the next group
+setkey article skip_to_next_group "<Esc><Right>"
+setkey article skip_to_previous_group "<Esc><Left>" % go to the previous group
+setkey article next_high_score "!" % next article with high score
+setkey article next_same_subject "=" % next article with same subject
+setkey article goto_last_read "L" % go to the last read article
+
+% Actions:
+setkey article post "P" % Post a new article
+setkey article post_postponed "<Esc>P" % Post/edit a postponed article
+setkey article followup "f" % Post a followup
+setkey article reply "r" % Reply to poster
+setkey article forward "F" % Forward posting via mail
+setkey article supersede "<Esc>^S" % Supersede article
+setkey article cancel "<Esc>^C" % Cancel article
+setkey article save "O" % Save article
+setkey article pipe "|" % Pipe article
+setkey article print "y" % Print article
+setkey article decode ":" % Decode article
+setkey article suspend "^Z" % Suspend slrn
+setkey article quit "q" % Quit slrn
+setkey article fast_quit "Q" % Quit slrn immediately
+
+% Moving in the article pager:
+setkey article article_line_down "<Esc><Down>" % Scroll article down one line
+setkey article article_line_down "<Return>"
+setkey article article_line_up "<Esc><Up>" % Scroll article up one line
+setkey article article_page_down "<Space>" % Scroll article down one page
+setkey article article_page_up "<Backspace>" % Scroll article up one page
+setkey article article_page_up "b" % Scroll article up one page
+setkey article article_eob ">" % Move to the end of the article
+setkey article article_bob "<" % Move to the beginning
+setkey article article_left "<Left>" % Pan article to the left
+setkey article article_right "<Right>" % Pan article to the right
+setkey article article_search "/" % Search forward in the article
+setkey article skip_quotes "<Tab>" % Skip beyond quoted text
+setkey article forward_digest "g" % Skip to next digest
+
+% Moving in the header display:
+setkey article header_line_down "<Down>" % Move to next article
+setkey article header_line_down "^N"
+setkey article header_line_up "<Up>" % Move to previous article
+setkey article header_line_up "^P"
+setkey article header_page_down "^V" % Scroll down one page
+setkey article header_page_down "<PageDown>"
+setkey article header_page_down "^D"
+setkey article header_page_up "<Esc>V" % Scroll up one page
+setkey article header_page_up "<PageUp>"
+setkey article header_page_up "^U"
+setkey article header_eob "<Esc>>" % Go to last article in group
+setkey article header_bob "<Esc><" % Go to first article in group
+setkey article goto_article "j" % Move to article (number)
+setkey article author_search_forward "a" % Author search forward
+setkey article author_search_backward "A" % Author search backward
+setkey article subject_search_forward "s" % Subject search forward
+setkey article subject_search_backward "S" % Subject search backward
+
+% Marking as read/unread:
+setkey article delete "d" % Mark article as read
+setkey article undelete "u" % Mark article as unread
+setkey article delete_thread "<Esc>d" % Mark (Sub-)Thread as read
+setkey article catchup_all "c" % Mark all articles as read
+setkey article catchup_all "<Esc>c"
+setkey article catchup "<Esc>C" % Catchup (up to this article)
+setkey article uncatchup_all "<Esc>u" % Mark all articles as unread
+setkey article uncatchup "<Esc>U" % Uncatchup (up to this article)
+setkey article expunge "x" % Remove all read articles
+
+% Display properties:
+setkey article toggle_headers "t" % Full headers (on/off)
+setkey article toggle_rot13 "<Esc>R" % Toggle ROT-13 decryption
+setkey article toggle_quotes "T" % Display quoted lines (on/off)
+setkey article toggle_signature "\\" % Show signature (on/off)
+setkey article wrap_article "W" % Wrap long lines (on/off)
+setkey article show_spoilers "<Esc>?" % Reveal spoilers (on/off)
+setkey article toggle_pgpsignature "]" % Show PGP signature (on/off)
+setkey article toggle_verbatim_marks "[" % Show verbatim marks (on/off)
+setkey article enlarge_article_window "^" % Enlarge the article window
+setkey article shrink_article_window "^^" % Shrink the article window
+setkey article zoom_article_window "z" % Maximize/Unmaximize article
+setkey article hide_article "h" % Hide/Show the article window
+setkey article browse_url "U" % Search for URL and follow it
+setkey article toggle_sort "<Esc>S" % Select threading method
+setkey article toggle_collapse_threads "<Esc>t" % Collapse/Uncollapse thread
+setkey article toggle_header_formats "<Esc>a" % Toggle header display formats
+setkey article redraw "^L" % Redraw screen
+setkey article redraw "^R" % Redraw screen
+setkey article help "?" % Display help screen
+
+% Miscellaneous actions:
+setkey article create_score "K" % Create a scorefile entry
+setkey article view_scores "v" % Show which rules matched
+setkey article locate_article "<Esc>l" % Locate article by Message-ID
+setkey article get_children_headers "<Esc>^P" % Find all children
+setkey article get_parent_header "<Esc>p" % Reconstruct thread
+setkey article mark_spot ";" % Mark current article position
+setkey article exchange_mark "," % Return to marked article
+setkey article tag_header "#" % Numerically tag article
+setkey article untag_headers "<Esc>#" % Remove all numerical tags
+setkey article toggle_header_tag "*" % Set/remove header tag
+setkey article repeat_last_key "." % Repeat last key sequence
+setkey article grouplens_rate_article "0" % Rate article with grouplens
+setkey article evaluate_cmd "^X<Esc>" % Interpret line as S-Lang
+
+%
+%% Command prompt key bindings
+%
+
+setkey readline bol "^A" % Beginning of line
+setkey readline eol "^E" % End of line
+setkey readline right "<Right>" % Move right
+setkey readline left "<Left>" % Move left
+setkey readline bdel "^H" % Delete backward
+setkey readline bdel "^?" % Delete Backward
+setkey readline del "^D" % Delete Foreword
+setkey readline delbol "^U" % Delete to Beginning of line
+setkey readline delbow "^W" % Delete to Beginning of word
+setkey readline deleol "^K" % Delete to End of line
+setkey readline trim "<Esc>/" % Trim whitespace
+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"
Home |
Main Index |
Thread Index |
Old Index