UPDATE mail/s-nail

Previous Topic Next Topic
 
classic Classic list List threaded Threaded
12 messages Options
Reply | Threaded
Open this post in threaded view
|

UPDATE mail/s-nail

Steffen Nurpmeso-2
This brings in two and a half years of development and bug fixes.
It has really improved, though a long road is ahead still.
Changelog etc. at: https://www.sdaoden.eu/code-nail-ann.html
Thank you.

Index: Makefile
===================================================================
RCS file: /cvs/ports/mail/s-nail/Makefile,v
retrieving revision 1.19
diff -u -p -r1.19 Makefile
--- Makefile 8 Dec 2017 01:04:14 -0000 1.19
+++ Makefile 8 Mar 2018 16:26:49 -0000
@@ -1,45 +1,41 @@
 # $OpenBSD: Makefile,v 1.19 2017/12/08 01:04:14 espie Exp $
 
-COMMENT= enhanced, MIME capable Berkeley Mail
+COMMENT= SysV mail/BSD Mail/POSIX mailx: send and receive mail
 
-DISTNAME= s-nail-14.8.16
-CATEGORIES= mail
-HOMEPAGE= https://www.sdaoden.eu/code.html\#s-mailx
-FIX_EXTRACT_PERMISSIONS=Yes
+DISTNAME= s-nail-14.9.9
+CATEGORIES= mail
+HOMEPAGE= https://www.sdaoden.eu/code.html\#s-mailx
 
+FIX_EXTRACT_PERMISSIONS=Yes
 # BSD
-PERMIT_PACKAGE_CDROM= Yes
+PERMIT_PACKAGE_CDROM=Yes
 
-WANTLIB += c crypto iconv idn ssl
+WANTLIB += c crypto curses iconv idn ssl
 
-MASTER_SITES= https://www.sdaoden.eu/downloads/
-MAINTAINER= Dmitrij D. Czarkoff <[hidden email]>
+MASTER_SITES= https://ftp.sdaoden.eu/
+MAINTAINER= Dmitrij D. Czarkoff <[hidden email]>
 
-MAKE_FILE= makefile
-MAKE_FLAGS= CC="${CC}" \
- CFLAGS="${CFLAGS}" \
- C_INCLUDE_PATH="${LOCALBASE}/include" \
- LDFLAGS="${LDFLAGS}" \
- LD_LIBRARY_PATH="${LOCALBASE}/lib" \
- MANDIR="${PREFIX}/man" \
- SYSCONFDIR="${SYSCONFDIR}" \
- WANT_AUTOCC=0 \
- WANT_EDITLINE=0 \
- WANT_NCL=1 \
- WANT_DOTLOCK=0 \
- SID=
+MAKE_FILE= makefile
+MAKE_FLAGS= C_INCLUDE_PATH="${LOCALBASE}/include" \
+ LD_LIBRARY_PATH="${LOCALBASE}/lib" \
+ VAL_MANDIR="${PREFIX}/man" \
+ VAL_SYSCONFDIR="${SYSCONFDIR}" \
+ VAL_SID= \
+ \
+ OPT_AUTOCC=no \
+ OPT_DOTLOCK=no \
 
 .if !empty(DEBUG)
-MAKE_FLAGS+= WANT_DEBUG=1
-FAKE_FLAGS+= WANT_DEBUG=1
+MAKE_FLAGS+= OPT_DEBUG=yes
+FAKE_FLAGS+= OPT_DEBUG=yes
 .endif
 
-MAKE_ENV= VERBOSE=Yes
+MAKE_ENV= VERBOSE=anynonempty
 
-LIB_DEPENDS= converters/libiconv \
- devel/libidn
+LIB_DEPENDS= converters/libiconv \
+ devel/libidn
 
-INSTALL_TARGET= packager-install
+INSTALL_TARGET= install
 
 post-install:
  ${INSTALL_DATA_DIR} ${PREFIX}/share/examples/nail
Index: distinfo
===================================================================
RCS file: /cvs/ports/mail/s-nail/distinfo,v
retrieving revision 1.13
diff -u -p -r1.13 distinfo
--- distinfo 29 Jan 2017 06:08:51 -0000 1.13
+++ distinfo 8 Mar 2018 16:26:49 -0000
@@ -1,2 +1,2 @@
-SHA256 (s-nail-14.8.16.tar.gz) = xpt0+0scKhokHVOfVTFUpx53TocSI+6AjoY5Zl2bTMo=
-SIZE (s-nail-14.8.16.tar.gz) = 604423
+SHA256 (s-nail-14.9.9.tar.gz) = zb0ni2NPMt+A8i0KP8flmw1fPUGhn+9GOO/LbC0ZhJA=
+SIZE (s-nail-14.9.9.tar.gz) = 885904
Index: patches/patch-nail_rc
===================================================================
RCS file: patches/patch-nail_rc
diff -N patches/patch-nail_rc
--- patches/patch-nail_rc 20 Oct 2016 10:49:23 -0000 1.5
+++ /dev/null 1 Jan 1970 00:00:00 -0000
@@ -1,14 +0,0 @@
-$OpenBSD: patch-nail_rc,v 1.5 2016/10/20 10:49:23 czarkoff Exp $
-
---- nail.rc.orig Wed Oct  5 12:04:53 2016
-+++ nail.rc Sat Oct  8 03:38:20 2016
-@@ -43,6 +43,9 @@ set ask
- # *header* on a per-folder basis (it is meaningless unless *header* is set)
- set bsdannounce
-
-+# Use the traditional BSD Mail interface style.
-+set bsdcompat
-+
- # Uncomment this in order to get coloured output in $PAGER.
- # (Coloured output is only used if $TERM is either found in *colour-terms*
- # or includes the string "color")
Index: pkg/DESCR
===================================================================
RCS file: /cvs/ports/mail/s-nail/pkg/DESCR,v
retrieving revision 1.1.1.1
diff -u -p -r1.1.1.1 DESCR
--- pkg/DESCR 29 Mar 2013 03:54:34 -0000 1.1.1.1
+++ pkg/DESCR 8 Mar 2018 16:26:49 -0000
@@ -1,5 +1,4 @@
-S-nail is a fork of Heirloom mailx, formerly known as nail.  It is a mail user
-agent derived from Berkeley Mail 8.1 and is intended to provide the
-functionality of the POSIX.2 mailx command with additional support for MIME
-messages, Maildir, POP3, IMAP, SMTP, threading, spam control, and other
-features.
+S-nail provides a simple and friendly environment for sending and receiving
+mail.  It is intended to provide the functionality of the POSIX mailx(1)
+command, but is MIME capable and optionally offers extensions for line editing,
+S/MIME, SMTP and POP3, among others.

--steffen
|
|Der Kragenbaer,                The moon bear,
|der holt sich munter           he cheerfully and one by one
|einen nach dem anderen runter  wa.ks himself off
|(By Robert Gernhardt)

Reply | Threaded
Open this post in threaded view
|

Re: UPDATE mail/s-nail

Stuart Henderson
On 2018/03/08 17:35, Steffen Nurpmeso wrote:
> This brings in two and a half years of development and bug fixes.
> It has really improved, though a long road is ahead still.
> Changelog etc. at: https://www.sdaoden.eu/code-nail-ann.html
> Thank you.
>
> Index: Makefile
> ===================================================================
..snip..
> +FIX_EXTRACT_PERMISSIONS=Yes

You're upstream aren't you - is there a reason for the unusual
permissions in the tar file?

It picks up idn2 in preference to idn if present at build, so
WANTLIB/LIB_DEPENDS needs fixing.

$ make port-lib-depends-check
s-nail-14.9.9(mail/s-nail):
Missing lib: idn2.1 (/usr/local/bin/nail) (NOT REACHABLE)
Extra:  idn.17

Reply | Threaded
Open this post in threaded view
|

Re: UPDATE mail/s-nail

Steffen Nurpmeso-2
Hello Stuart!

Thanks for looking into this.

Stuart Henderson <[hidden email]> wrote:
 |On 2018/03/08 17:35, Steffen Nurpmeso wrote:
 |> This brings in two and a half years of development and bug fixes.
 |> It has really improved, though a long road is ahead still.
 |> Changelog etc. at: https://www.sdaoden.eu/code-nail-ann.html
 ...
 |> +FIX_EXTRACT_PERMISSIONS=Yes
 |
 |You're upstream aren't you - is there a reason for the unusual
 |permissions in the tar file?

In a future release i will thus create the balls with a different
umask(1) so this should then no longer be necessary.
I gave the credit William (finally) and you (thanks).

 |It picks up idn2 in preference to idn if present at build, so
 |WANTLIB/LIB_DEPENDS needs fixing.

..Ok.. hmm.  I must say i dislike the entire IDN stuff very very
much (if 25 years ago the DNS had some extensions to support
longer labels UTF-8 could be it; even globally), so instead i have
changed the configuration to prefer IDN over IDN2, and added the
changeset as a patch for the OpenBSD port.  I really would prefer
this approach and have no IDN2 around, if possible. ?

 |$ make port-lib-depends-check
 |s-nail-14.9.9(mail/s-nail):
 |Missing lib: idn2.1 (/usr/local/bin/nail) (NOT REACHABLE)
 |Extra:  idn.17

Should work now.

Also i add a fix for a double-free that sneaked into the codebase,
unfortunately.  We have builtin double-free detection, terrible ...

Running "make test" does not work because we verify $HOME is an
accessible directory, which the port framework does not provide.
(The message is "nail: $HOME is not a directory or not accessible:
/s-nail-14.9.9_writes_to_HOME", but we do not write, we only
verify because $HOME is indeed target for several standardized
files which we possibly would need to address.)  Due to that the
error messages invalidate the test checksums.

Running the regression test manually succeeds:

  ?0[steffen@obsd s-nail-14.9.9]$ pwd
  /usr/ports/pobj/s-nail-14.9.9/s-nail-14.9.9
  ?0[steffen@obsd s-nail-14.9.9]$ make test
  /bin/sh ./cc-test.sh --check-only ./nail
...

except for t_behave_attachments which fails because i once again
have made it and escaped a newline in a printf(1) statement (and
did not retest on all platforms after doing so).
Ciao,

Index: Makefile
===================================================================
RCS file: /cvs/ports/mail/s-nail/Makefile,v
retrieving revision 1.19
diff -u -p -r1.19 Makefile
--- Makefile 8 Dec 2017 01:04:14 -0000 1.19
+++ Makefile 9 Mar 2018 17:31:14 -0000
@@ -1,45 +1,43 @@
 # $OpenBSD: Makefile,v 1.19 2017/12/08 01:04:14 espie Exp $
 
-COMMENT= enhanced, MIME capable Berkeley Mail
+COMMENT= SysV mail/BSD Mail/POSIX mailx: send and receive mail
 
-DISTNAME= s-nail-14.8.16
-CATEGORIES= mail
-HOMEPAGE= https://www.sdaoden.eu/code.html\#s-mailx
-FIX_EXTRACT_PERMISSIONS=Yes
+DISTNAME= s-nail-14.9.9
+CATEGORIES= mail
+HOMEPAGE= https://www.sdaoden.eu/code.html\#s-mailx
+MAINTAINER= Dmitrij D. Czarkoff <[hidden email]>
 
 # BSD
-PERMIT_PACKAGE_CDROM= Yes
-
-WANTLIB += c crypto iconv idn ssl
+PERMIT_PACKAGE_CDROM=Yes
 
-MASTER_SITES= https://www.sdaoden.eu/downloads/
-MAINTAINER= Dmitrij D. Czarkoff <[hidden email]>
+MASTER_SITES= https://ftp.sdaoden.eu/
+# XXX remove FIX_EXTRACT_PERMISSIONS with update to version >14.9.9
+FIX_EXTRACT_PERMISSIONS=Yes
 
-MAKE_FILE= makefile
-MAKE_FLAGS= CC="${CC}" \
- CFLAGS="${CFLAGS}" \
- C_INCLUDE_PATH="${LOCALBASE}/include" \
- LDFLAGS="${LDFLAGS}" \
- LD_LIBRARY_PATH="${LOCALBASE}/lib" \
- MANDIR="${PREFIX}/man" \
- SYSCONFDIR="${SYSCONFDIR}" \
- WANT_AUTOCC=0 \
- WANT_EDITLINE=0 \
- WANT_NCL=1 \
- WANT_DOTLOCK=0 \
- SID=
+WANTLIB= c crypto curses iconv idn ssl
+LIB_DEPENDS= converters/libiconv \
+ devel/libidn
+# xxx Verifies an accessible $HOME, which "make test" does not provide
+NO_TEST= Yes
+
+MAKE_FILE= makefile
+MAKE_FLAGS= C_INCLUDE_PATH="${LOCALBASE}/include" \
+ LD_LIBRARY_PATH="${LOCALBASE}/lib" \
+ VAL_MANDIR="${PREFIX}/man" \
+ VAL_SYSCONFDIR="${SYSCONFDIR}" \
+ VAL_SID= \
+ \
+ OPT_AUTOCC=no \
+ OPT_DOTLOCK=no \
+ OPT_SPAM_SPAMC=yes \
+ OPT_SSL_RANDOM=no
 
 .if !empty(DEBUG)
-MAKE_FLAGS+= WANT_DEBUG=1
-FAKE_FLAGS+= WANT_DEBUG=1
+MAKE_FLAGS+= OPT_DEBUG=yes
+FAKE_FLAGS+= OPT_DEBUG=yes
 .endif
 
-MAKE_ENV= VERBOSE=Yes
-
-LIB_DEPENDS= converters/libiconv \
- devel/libidn
-
-INSTALL_TARGET= packager-install
+MAKE_ENV= VERBOSE=anynonempty
 
 post-install:
  ${INSTALL_DATA_DIR} ${PREFIX}/share/examples/nail
Index: distinfo
===================================================================
RCS file: /cvs/ports/mail/s-nail/distinfo,v
retrieving revision 1.13
diff -u -p -r1.13 distinfo
--- distinfo 29 Jan 2017 06:08:51 -0000 1.13
+++ distinfo 9 Mar 2018 17:31:14 -0000
@@ -1,2 +1,2 @@
-SHA256 (s-nail-14.8.16.tar.gz) = xpt0+0scKhokHVOfVTFUpx53TocSI+6AjoY5Zl2bTMo=
-SIZE (s-nail-14.8.16.tar.gz) = 604423
+SHA256 (s-nail-14.9.9.tar.gz) = zb0ni2NPMt+A8i0KP8flmw1fPUGhn+9GOO/LbC0ZhJA=
+SIZE (s-nail-14.9.9.tar.gz) = 885904
Index: patches/patch-make_config_sh
===================================================================
RCS file: patches/patch-make_config_sh
diff -N patches/patch-make_config_sh
--- /dev/null 1 Jan 1970 00:00:00 -0000
+++ patches/patch-make_config_sh 9 Mar 2018 17:31:14 -0000
@@ -0,0 +1,67 @@
+$OpenBSD$
+Author:     Steffen Nurpmeso <[hidden email]>
+AuthorDate: 2018-03-09 16:14:31 +0100
+Commit:     Steffen Nurpmeso <[hidden email]>
+CommitDate: 2018-03-09 16:14:42 +0100
+
+    make-config.sh: prefer libidn over libidn2 (Stuart Henderson)
+---
+ make-config.sh | 38 +++++++++++++++++++-------------------
+ 1 file changed, 19 insertions(+), 19 deletions(-)
+
+diff --git a/make-config.sh b/make-config.sh
+index 5b5a2d7f..242f8b8b 100644
+--- make-config.sh
++++ make-config.sh
+@@ -2675,25 +2675,7 @@ feat_def NETRC
+ feat_def AGENT
+
+ if feat_yes IDNA; then
+-   if link_check idna 'Libidn2' '#define HAVE_IDNA HAVE_IDNA_LIBIDN2' \
+-         '-lidn2' << \!
+-#include <idn2.h>
+-int main(void){
+-   char *idna_utf8, *idna_lc;
+-
+-   if(idn2_to_ascii_8z("does.this.work", &idna_utf8,
+-         IDN2_NONTRANSITIONAL | IDN2_TRANSITIONAL) != IDN2_OK)
+-      return 1;
+-   if(idn2_to_unicode_8zlz(idna_utf8, &idna_lc, 0) != IDN2_OK)
+-      return 1;
+-   idn2_free(idna_lc);
+-   idn2_free(idna_utf8);
+-   return 0;
+-}
+-!
+-   then
+-      :
+-   elif link_check idna 'GNU Libidn' '#define HAVE_IDNA HAVE_IDNA_LIBIDNA' \
++   if link_check idna 'GNU Libidn' '#define HAVE_IDNA HAVE_IDNA_LIBIDNA' \
+          '-lidn' << \!
+ #include <idna.h>
+ #include <idn-free.h>
+@@ -2710,6 +2692,24 @@ int main(void){
+    idna_utf8 = stringprep_convert(idna_ascii, "UTF-8", "de_DE");
+    return 0;
+ }
++!
++   then
++      :
++   elif link_check idna 'Libidn2' '#define HAVE_IDNA HAVE_IDNA_LIBIDN2' \
++         '-lidn2' << \!
++#include <idn2.h>
++int main(void){
++   char *idna_utf8, *idna_lc;
++
++   if(idn2_to_ascii_8z("does.this.work", &idna_utf8,
++         IDN2_NONTRANSITIONAL | IDN2_TRANSITIONAL) != IDN2_OK)
++      return 1;
++   if(idn2_to_unicode_8zlz(idna_utf8, &idna_lc, 0) != IDN2_OK)
++      return 1;
++   idn2_free(idna_lc);
++   idn2_free(idna_utf8);
++   return 0;
++}
+ !
+    then
+       :
Index: patches/patch-mime_c
===================================================================
RCS file: patches/patch-mime_c
diff -N patches/patch-mime_c
--- /dev/null 1 Jan 1970 00:00:00 -0000
+++ patches/patch-mime_c 9 Mar 2018 17:31:14 -0000
@@ -0,0 +1,23 @@
+$OpenBSD$
+Author:     Steffen Nurpmeso <[hidden email]>
+AuthorDate: 2018-03-09 18:05:04 +0100
+Commit:     Steffen Nurpmeso <[hidden email]>
+CommitDate: 2018-03-09 18:05:04 +0100
+
+    a_mime__convhdra(): FIX double free (sic!!!)
+---
+ mime.c | 1 +
+ 1 file changed, 1 insertion(+)
+
+diff --git a/mime.c b/mime.c
+index 8b913ce8..ac068ad3 100644
+--- mime.c
++++ mime.c
+@@ -650,6 +650,7 @@ a_mime__convhdra(struct str *inp, FILE *fp, size_t *colp,
+          goto jleave;
+       }
+       *inp = ciconv;
++      ciconv.s = NULL;
+    }
+
+    rv = mime_write_tohdr(inp, fp, colp, msh);
Index: patches/patch-nail_rc
===================================================================
RCS file: patches/patch-nail_rc
diff -N patches/patch-nail_rc
--- patches/patch-nail_rc 20 Oct 2016 10:49:23 -0000 1.5
+++ /dev/null 1 Jan 1970 00:00:00 -0000
@@ -1,14 +0,0 @@
-$OpenBSD: patch-nail_rc,v 1.5 2016/10/20 10:49:23 czarkoff Exp $
-
---- nail.rc.orig Wed Oct  5 12:04:53 2016
-+++ nail.rc Sat Oct  8 03:38:20 2016
-@@ -43,6 +43,9 @@ set ask
- # *header* on a per-folder basis (it is meaningless unless *header* is set)
- set bsdannounce
-
-+# Use the traditional BSD Mail interface style.
-+set bsdcompat
-+
- # Uncomment this in order to get coloured output in $PAGER.
- # (Coloured output is only used if $TERM is either found in *colour-terms*
- # or includes the string "color")
Index: pkg/DESCR
===================================================================
RCS file: /cvs/ports/mail/s-nail/pkg/DESCR,v
retrieving revision 1.1.1.1
diff -u -p -r1.1.1.1 DESCR
--- pkg/DESCR 29 Mar 2013 03:54:34 -0000 1.1.1.1
+++ pkg/DESCR 9 Mar 2018 17:31:14 -0000
@@ -1,5 +1,4 @@
-S-nail is a fork of Heirloom mailx, formerly known as nail.  It is a mail user
-agent derived from Berkeley Mail 8.1 and is intended to provide the
-functionality of the POSIX.2 mailx command with additional support for MIME
-messages, Maildir, POP3, IMAP, SMTP, threading, spam control, and other
-features.
+S-nail provides a simple and friendly environment for sending and receiving
+mail.  It is intended to provide the functionality of the POSIX mailx(1)
+command, but is MIME capable and optionally offers extensions for line editing,
+S/MIME, SMTP and POP3, among others.

--steffen
|
|Der Kragenbaer,                The moon bear,
|der holt sich munter           he cheerfully and one by one
|einen nach dem anderen runter  wa.ks himself off
|(By Robert Gernhardt)

Reply | Threaded
Open this post in threaded view
|

Re: UPDATE mail/s-nail

Stuart Henderson
On 2018/03/09 18:39, Steffen Nurpmeso wrote:

> Hello Stuart!
>
> Thanks for looking into this.
>
> Stuart Henderson <[hidden email]> wrote:
>  |On 2018/03/08 17:35, Steffen Nurpmeso wrote:
>  |> This brings in two and a half years of development and bug fixes.
>  |> It has really improved, though a long road is ahead still.
>  |> Changelog etc. at: https://www.sdaoden.eu/code-nail-ann.html
>  ...
>  |> +FIX_EXTRACT_PERMISSIONS=Yes
>  |
>  |You're upstream aren't you - is there a reason for the unusual
>  |permissions in the tar file?
>
> In a future release i will thus create the balls with a different
> umask(1) so this should then no longer be necessary.
> I gave the credit William (finally) and you (thanks).
>
>  |It picks up idn2 in preference to idn if present at build, so
>  |WANTLIB/LIB_DEPENDS needs fixing.
>
> ..Ok.. hmm.  I must say i dislike the entire IDN stuff very very
> much (if 25 years ago the DNS had some extensions to support
> longer labels UTF-8 could be it; even globally), so instead i have
> changed the configuration to prefer IDN over IDN2, and added the
> changeset as a patch for the OpenBSD port.  I really would prefer
> this approach and have no IDN2 around, if possible. ?

Hm - I haven't been keeping close track of IDN, but don't some
DNS registrars (like .de) require IDNA 2008 (i.e. libidn2)?
There was a CVE in curl relating to this a couple of years ago.


>  |$ make port-lib-depends-check
>  |s-nail-14.9.9(mail/s-nail):
>  |Missing lib: idn2.1 (/usr/local/bin/nail) (NOT REACHABLE)
>  |Extra:  idn.17
>
> Should work now.
>
> Also i add a fix for a double-free that sneaked into the codebase,
> unfortunately.  We have builtin double-free detection, terrible ...
>
> Running "make test" does not work because we verify $HOME is an
> accessible directory, which the port framework does not provide.
> (The message is "nail: $HOME is not a directory or not accessible:
> /s-nail-14.9.9_writes_to_HOME", but we do not write, we only
> verify because $HOME is indeed target for several standardized
> files which we possibly would need to address.)  Due to that the
> error messages invalidate the test checksums.

Funnily enough this came up in another list post today.
You can either set PORTHOME as a port Makefile variable, or set
HOME as an environment variable for test. Using ${WRKDIR} for
this is often a good choice.

Reply | Threaded
Open this post in threaded view
|

Re: UPDATE mail/s-nail

Steffen Nurpmeso-2
Hello Stuart, all.

Stuart Henderson <[hidden email]> wrote:
 |On 2018/03/09 18:39, Steffen Nurpmeso wrote:
 |> Stuart Henderson <[hidden email]> wrote:
 |>|On 2018/03/08 17:35, Steffen Nurpmeso wrote:
 |>|> This brings in two and a half years of development and bug fixes.
 |>|> It has really improved, though a long road is ahead still.
 |>|> Changelog etc. at: https://www.sdaoden.eu/code-nail-ann.html
 ...
 |>|It picks up idn2 in preference to idn if present at build, so
 |>|WANTLIB/LIB_DEPENDS needs fixing.
 |>
 |> ..Ok.. hmm.  I must say i dislike the entire IDN stuff very very
 |> much (if 25 years ago the DNS had some extensions to support
 |> longer labels UTF-8 could be it; even globally), so instead i have
 |> changed the configuration to prefer IDN over IDN2, and added the
 |> changeset as a patch for the OpenBSD port.  I really would prefer
 |> this approach and have no IDN2 around, if possible. ?
 |
 |Hm - I haven't been keeping close track of IDN, but don't some
 |DNS registrars (like .de) require IDNA 2008 (i.e. libidn2)?
 |There was a CVE in curl relating to this a couple of years ago.

Yes.  They use this backward incompatible stuff and also seem to
promote DNSSEC (instead of DNS/DTLS and/or DNS/TCP/TLS, imho).
Isn't it absurd that instead of using UTF-7 for internationalized
DNS with an extension bit to support longer names they have chosen
that mysterious algorithm to provide backward compatible somewhat
shorter-than-UTF-7 ASCII representations, and then just break
compatibility with already existing names with a shrug.  No.

Heck, whatever you say.  It is much larger, of course.  It took
two hours to compile here...  And noone uses it. :)
So how about adding an "idna" FLAVOR!?!

(For the future i have implemented an any_of mechanism, so we can
say VAL_IDNA="idn2 idnkit" in the future.
Thanks for pointing this out (it tips the scale in fact,
i wondered just last week how to allow users and the test to
choose the used PRG implementation, and have added non-generic
OPT_SSL_RANDOM, this has to go again).  Credits went to you.)

  ...
 |> Running "make test" does not work because we verify $HOME is an
 |> accessible directory, which the port framework does not provide.
  ...
 |Funnily enough this came up in another list post today.
 |You can either set PORTHOME as a port Makefile variable, or set
 |HOME as an environment variable for test. Using ${WRKDIR} for
 |this is often a good choice.

Ah, ok, i did not find anything in FAQ, and then refrained
from asking.  Now am seeing it in bsd.port.mk(5).
Did the first, ok?

Fine, so with a corrected patch (was not a double free indeed,
kept on wondering), and a patch for that false printf(1) in the
test, IDN2 patch removed and IDN2 dependency added for a new idna
FLAVOR (thus not using the .xz tarball since only IDN2 brings xz;
unfortunately there is no zstd(1) packaging around yet, nor is it
in the OpenBSD base system), all tests work and we end up as
pasted below.

Thanks Stuart for the comments and suggestions, a nice weekend
i wish you, and all,
Ciao already here,

Index: Makefile
===================================================================
RCS file: /cvs/ports/mail/s-nail/Makefile,v
retrieving revision 1.19
diff -u -p -r1.19 Makefile
--- Makefile 8 Dec 2017 01:04:14 -0000 1.19
+++ Makefile 10 Mar 2018 21:56:02 -0000
@@ -1,45 +1,51 @@
 # $OpenBSD: Makefile,v 1.19 2017/12/08 01:04:14 espie Exp $
 
-COMMENT= enhanced, MIME capable Berkeley Mail
+COMMENT= SysV mail/BSD Mail/POSIX mailx: send and receive mail
 
-DISTNAME= s-nail-14.8.16
-CATEGORIES= mail
-HOMEPAGE= https://www.sdaoden.eu/code.html\#s-mailx
-FIX_EXTRACT_PERMISSIONS=Yes
+DISTNAME= s-nail-14.9.9
+CATEGORIES= mail
+FLAVORS= idna
+HOMEPAGE= https://www.sdaoden.eu/code.html\#s-mailx
+MAINTAINER= Dmitrij D. Czarkoff <[hidden email]>
 
+MASTER_SITES= https://ftp.sdaoden.eu/
 # BSD
-PERMIT_PACKAGE_CDROM= Yes
-
-WANTLIB += c crypto iconv idn ssl
-
-MASTER_SITES= https://www.sdaoden.eu/downloads/
-MAINTAINER= Dmitrij D. Czarkoff <[hidden email]>
+PERMIT_PACKAGE_CDROM=Yes
+# XXX remove FIX_EXTRACT_PERMISSIONS with update to version >14.9.9
+FIX_EXTRACT_PERMISSIONS=Yes
 
-MAKE_FILE= makefile
-MAKE_FLAGS= CC="${CC}" \
- CFLAGS="${CFLAGS}" \
- C_INCLUDE_PATH="${LOCALBASE}/include" \
- LDFLAGS="${LDFLAGS}" \
- LD_LIBRARY_PATH="${LOCALBASE}/lib" \
- MANDIR="${PREFIX}/man" \
- SYSCONFDIR="${SYSCONFDIR}" \
- WANT_AUTOCC=0 \
- WANT_EDITLINE=0 \
- WANT_NCL=1 \
- WANT_DOTLOCK=0 \
- SID=
+FLAVOR?=
+WANTLIB= c crypto curses iconv ssl
+LIB_DEPENDS= converters/libiconv
+.if ${FLAVOR:Midna}
+WANTLIB+= idn2
+LIB_DEPENDS+= devel/libidn2
+.endif
 
+PORTHOME= ${WRKDIR}
+MAKE_FILE= makefile
+MAKE_ENV= VERBOSE=anynonempty
+MAKE_FLAGS= C_INCLUDE_PATH="${LOCALBASE}/include" \
+ LD_LIBRARY_PATH="${LOCALBASE}/lib" \
+ VAL_MANDIR="${PREFIX}/man" \
+ VAL_SYSCONFDIR="${SYSCONFDIR}" \
+ VAL_SID= \
+ \
+ OPT_AGENT=no \
+ OPT_AUTOCC=no \
+ OPT_DOTLOCK=no \
+ OPT_GSSAPI=no \
+ OPT_SPAM_SPAMC=yes \
+ OPT_SSL_RANDOM=no
+.if ${FLAVOR:Midna}
+MAKE_FLAGS+= OPT_IDNA=yes
+.else
+MAKE_FLAGS+= OPT_IDNA=no
+.endif
 .if !empty(DEBUG)
-MAKE_FLAGS+= WANT_DEBUG=1
-FAKE_FLAGS+= WANT_DEBUG=1
+MAKE_FLAGS+= OPT_DEBUG=yes
+FAKE_FLAGS+= OPT_DEBUG=yes
 .endif
-
-MAKE_ENV= VERBOSE=Yes
-
-LIB_DEPENDS= converters/libiconv \
- devel/libidn
-
-INSTALL_TARGET= packager-install
 
 post-install:
  ${INSTALL_DATA_DIR} ${PREFIX}/share/examples/nail
Index: distinfo
===================================================================
RCS file: /cvs/ports/mail/s-nail/distinfo,v
retrieving revision 1.13
diff -u -p -r1.13 distinfo
--- distinfo 29 Jan 2017 06:08:51 -0000 1.13
+++ distinfo 10 Mar 2018 21:56:02 -0000
@@ -1,2 +1,2 @@
-SHA256 (s-nail-14.8.16.tar.gz) = xpt0+0scKhokHVOfVTFUpx53TocSI+6AjoY5Zl2bTMo=
-SIZE (s-nail-14.8.16.tar.gz) = 604423
+SHA256 (s-nail-14.9.9.tar.gz) = zb0ni2NPMt+A8i0KP8flmw1fPUGhn+9GOO/LbC0ZhJA=
+SIZE (s-nail-14.9.9.tar.gz) = 885904
Index: patches/patch-cc_test_sh
===================================================================
RCS file: patches/patch-cc_test_sh
diff -N patches/patch-cc_test_sh
--- /dev/null 1 Jan 1970 00:00:00 -0000
+++ patches/patch-cc_test_sh 10 Mar 2018 21:56:02 -0000
@@ -0,0 +1,46 @@
+$OpenBSD$
+--- cc-test.sh
++++ cc-test.sh
+@@ -3052,16 +3052,16 @@ t_behave_attachments() {
+    printf 'att3-1\natt3-2\natt3-4\n' > ./.t3
+    printf 'att4-1\natt4-2\natt4-4\n' > './.t 4'
+
+-   printf '\
+-!@  ./.t3              "./.t 4"             ""
++   printf \
++'!@  ./.t3              "./.t 4"             ""
+ !p
+ !@
+    ./.t3
+  "./.t 2"
+
+ !p
+-!.
+-   ' | ${MAILX} ${ARGS} -Sescape=! -Smta=./.tsendmail.sh \
++!.' \
++   | ${MAILX} ${ARGS} -Sescape=! -Smta=./.tsendmail.sh \
+       -a ./.t1 -a './.t 2' \
+       -s attachment-test \
+       [hidden email] > ./.tall 2>&1
+@@ -3069,8 +3069,8 @@ t_behave_attachments() {
+    check behave:attachments-2 - .tall '1928331872 720'
+
+    ${rm} -f "${MBOX}"
+-   printf '\
+-      mail [hidden email]
++   printf \
++'mail [hidden email]
+ !s This the subject is
+ !@  ./.t3        "#2"      "./.t 4"          "#1"   ""
+ !p
+@@ -3112,8 +3112,8 @@ t_behave_attachments() {
+  "#2"
+
+ !p
+-!.
+-   ' | ${MAILX} ${ARGS} -Sescape=! -Smta=./.tsendmail.sh -Rf ./.tx \
++!.' \
++   | ${MAILX} ${ARGS} -Sescape=! -Smta=./.tsendmail.sh -Rf ./.tx \
+          > ./.tall 2>&1
+    check behave:attachments-3 0 "${MBOX}" '798122412 2285'
+    check behave:attachments-4 - .tall '2526106274 1910'
Index: patches/patch-mime_c
===================================================================
RCS file: patches/patch-mime_c
diff -N patches/patch-mime_c
--- /dev/null 1 Jan 1970 00:00:00 -0000
+++ patches/patch-mime_c 10 Mar 2018 21:56:02 -0000
@@ -0,0 +1,11 @@
+$OpenBSD$
+--- mime.c 2018-03-09 20:24:35.737754669 +0100
++++ mime.c 2018-03-09 20:24:39.107748465 +0100
+@@ -678,7 +678,6 @@ mime_write_tohdr_a(struct str *in, FILE
+       xin.l = PTR2SIZE(cp - lastcp);
+       if ((sz = a_mime__convhdra(&xin, f, colp, msh)) < 0)
+          goto jleave;
+-      xin.s[xin.l] = '<';
+       lastcp = cp;
+    } else {
+       cp = lastcp;
Index: patches/patch-nail_rc
===================================================================
RCS file: patches/patch-nail_rc
diff -N patches/patch-nail_rc
--- patches/patch-nail_rc 20 Oct 2016 10:49:23 -0000 1.5
+++ /dev/null 1 Jan 1970 00:00:00 -0000
@@ -1,14 +0,0 @@
-$OpenBSD: patch-nail_rc,v 1.5 2016/10/20 10:49:23 czarkoff Exp $
-
---- nail.rc.orig Wed Oct  5 12:04:53 2016
-+++ nail.rc Sat Oct  8 03:38:20 2016
-@@ -43,6 +43,9 @@ set ask
- # *header* on a per-folder basis (it is meaningless unless *header* is set)
- set bsdannounce
-
-+# Use the traditional BSD Mail interface style.
-+set bsdcompat
-+
- # Uncomment this in order to get coloured output in $PAGER.
- # (Coloured output is only used if $TERM is either found in *colour-terms*
- # or includes the string "color")
Index: pkg/DESCR
===================================================================
RCS file: /cvs/ports/mail/s-nail/pkg/DESCR,v
retrieving revision 1.1.1.1
diff -u -p -r1.1.1.1 DESCR
--- pkg/DESCR 29 Mar 2013 03:54:34 -0000 1.1.1.1
+++ pkg/DESCR 10 Mar 2018 21:56:02 -0000
@@ -1,5 +1,7 @@
-S-nail is a fork of Heirloom mailx, formerly known as nail.  It is a mail user
-agent derived from Berkeley Mail 8.1 and is intended to provide the
-functionality of the POSIX.2 mailx command with additional support for MIME
-messages, Maildir, POP3, IMAP, SMTP, threading, spam control, and other
-features.
+S-nail provides a simple and friendly environment for sending and receiving
+mail.  It is intended to provide the functionality of the POSIX mailx(1)
+command, but is MIME capable and optionally offers extensions for line editing,
+S/MIME, SMTP and POP3, among others.
+
+Flavors:
+ idna - Link with GNU Libidn2 to support internationalized domain names.

--steffen
|
|Der Kragenbaer,                The moon bear,
|der holt sich munter           he cheerfully and one by one
|einen nach dem anderen runter  wa.ks himself off
|(By Robert Gernhardt)

Reply | Threaded
Open this post in threaded view
|

Re: UPDATE mail/s-nail

Steffen Nurpmeso-2
i wrote:
 |Stuart Henderson <[hidden email]> wrote:
 ||On 2018/03/09 18:39, Steffen Nurpmeso wrote:
 ||> Stuart Henderson <[hidden email]> wrote:
 ||>|On 2018/03/08 17:35, Steffen Nurpmeso wrote:
 ||>|> This brings in two and a half years of development and bug fixes.
 ||>|> It has really improved, though a long road is ahead still.
 ||>|> Changelog etc. at: https://www.sdaoden.eu/code-nail-ann.html
 ...

I have released v14.9.10, the 40th BSD Mail anniversary version.
Find below the updated recipe.
Thanks already here, your

Index: Makefile
===================================================================
RCS file: /cvs/ports/mail/s-nail/Makefile,v
retrieving revision 1.19
diff -u -p -r1.19 Makefile
--- Makefile 8 Dec 2017 01:04:14 -0000 1.19
+++ Makefile 26 Mar 2018 18:45:48 -0000
@@ -1,48 +1,56 @@
 # $OpenBSD: Makefile,v 1.19 2017/12/08 01:04:14 espie Exp $
 
-COMMENT= enhanced, MIME capable Berkeley Mail
+COMMENT= SysV mail/BSD Mail/POSIX mailx: send and receive mail
 
-DISTNAME= s-nail-14.8.16
-CATEGORIES= mail
-HOMEPAGE= https://www.sdaoden.eu/code.html\#s-mailx
-FIX_EXTRACT_PERMISSIONS=Yes
+DISTNAME= s-nail-14.9.10
+CATEGORIES= mail
+FLAVORS= idna
+HOMEPAGE= https://www.sdaoden.eu/code.html\#s-mailx
+MAINTAINER= Dmitrij D. Czarkoff <[hidden email]>
 
+MASTER_SITES= https://ftp.sdaoden.eu/
 # BSD
-PERMIT_PACKAGE_CDROM= Yes
+PERMIT_PACKAGE_CDROM=Yes
 
-WANTLIB += c crypto iconv idn ssl
-
-MASTER_SITES= https://www.sdaoden.eu/downloads/
-MAINTAINER= Dmitrij D. Czarkoff <[hidden email]>
-
-MAKE_FILE= makefile
-MAKE_FLAGS= CC="${CC}" \
- CFLAGS="${CFLAGS}" \
- C_INCLUDE_PATH="${LOCALBASE}/include" \
- LDFLAGS="${LDFLAGS}" \
- LD_LIBRARY_PATH="${LOCALBASE}/lib" \
- MANDIR="${PREFIX}/man" \
- SYSCONFDIR="${SYSCONFDIR}" \
- WANT_AUTOCC=0 \
- WANT_EDITLINE=0 \
- WANT_NCL=1 \
- WANT_DOTLOCK=0 \
- SID=
+FLAVOR?=
+WANTLIB= c crypto curses iconv ssl
+LIB_DEPENDS= converters/libiconv
+
+CONFIG_ADDS=
+
+.if ${FLAVOR:Midna}
+WANTLIB+= idn2
+LIB_DEPENDS+= devel/libidn2
+CONFIG_ADDS+= OPT_IDNA=yes VAL_IDNA=idn2
+.else
+CONFIG_ADDS+= OPT_IDNA=no
+.endif
 
 .if !empty(DEBUG)
-MAKE_FLAGS+= WANT_DEBUG=1
-FAKE_FLAGS+= WANT_DEBUG=1
+CONFIG_ADDS+= OPT_DEBUG=yes
+FAKE_FLAGS+= OPT_DEBUG=yes
 .endif
 
-MAKE_ENV= VERBOSE=Yes
-
-LIB_DEPENDS= converters/libiconv \
- devel/libidn
-
-INSTALL_TARGET= packager-install
+PORTHOME= ${WRKDIR}
+MAKE_FILE= makefile
+MAKE_ENV= VERBOSE=anynonempty
+MAKE_FLAGS= C_INCLUDE_PATH="${LOCALBASE}/include" \
+ LD_LIBRARY_PATH="${LOCALBASE}/lib" \
+ VAL_MANDIR="${PREFIX}/man" \
+ VAL_SYSCONFDIR="${SYSCONFDIR}" \
+ VAL_SID= \
+ \
+ OPT_ALWAYS_UNICODE_LOCALE=yes \
+ OPT_AGENT=no \
+ OPT_DOTLOCK=no \
+ OPT_GSSAPI=no \
+ \
+ VAL_RANDOM=arc4 \
+ \
+ ${CONFIG_ADDS}
 
 post-install:
  ${INSTALL_DATA_DIR} ${PREFIX}/share/examples/nail
- mv ${DESTDIR}${SYSCONFDIR}/nail.rc ${PREFIX}/share/examples/nail
+ mv ${DESTDIR}${SYSCONFDIR}/nail.rc ${PREFIX}/share/examples/nail/
 
 .include <bsd.port.mk>
Index: distinfo
===================================================================
RCS file: /cvs/ports/mail/s-nail/distinfo,v
retrieving revision 1.13
diff -u -p -r1.13 distinfo
--- distinfo 29 Jan 2017 06:08:51 -0000 1.13
+++ distinfo 26 Mar 2018 18:45:48 -0000
@@ -1,2 +1,2 @@
-SHA256 (s-nail-14.8.16.tar.gz) = xpt0+0scKhokHVOfVTFUpx53TocSI+6AjoY5Zl2bTMo=
-SIZE (s-nail-14.8.16.tar.gz) = 604423
+SHA256 (s-nail-14.9.10.tar.gz) = h63nu+sRAlCvzoIhsrtVOj2WYTJ9/KP2IplPsBfEnMs=
+SIZE (s-nail-14.9.10.tar.gz) = 895283
Index: patches/patch-nail_rc
===================================================================
RCS file: patches/patch-nail_rc
diff -N patches/patch-nail_rc
--- patches/patch-nail_rc 20 Oct 2016 10:49:23 -0000 1.5
+++ /dev/null 1 Jan 1970 00:00:00 -0000
@@ -1,14 +0,0 @@
-$OpenBSD: patch-nail_rc,v 1.5 2016/10/20 10:49:23 czarkoff Exp $
-
---- nail.rc.orig Wed Oct  5 12:04:53 2016
-+++ nail.rc Sat Oct  8 03:38:20 2016
-@@ -43,6 +43,9 @@ set ask
- # *header* on a per-folder basis (it is meaningless unless *header* is set)
- set bsdannounce
-
-+# Use the traditional BSD Mail interface style.
-+set bsdcompat
-+
- # Uncomment this in order to get coloured output in $PAGER.
- # (Coloured output is only used if $TERM is either found in *colour-terms*
- # or includes the string "color")
Index: patches/patch-obs-imap_c
===================================================================
RCS file: patches/patch-obs-imap_c
diff -N patches/patch-obs-imap_c
--- /dev/null 1 Jan 1970 00:00:00 -0000
+++ patches/patch-obs-imap_c 26 Mar 2018 18:45:48 -0000
@@ -0,0 +1,58 @@
+--- obs-imap.c
++++ obs-imap.c
+@@ -246,10 +246,9 @@ static enum okay  imap_list(struct mailbox *mp, const char *base, int strip,
+ static enum okay  imap_copy1(struct mailbox *mp, struct message *m, int n,
+                      const char *name);
+ static enum okay  imap_copyuid_parse(const char *cp,
+-                     unsigned long *uidvalidity, unsigned long *olduid,
+-                     unsigned long *newuid);
++                     ui64_t *uidvalidity, ui64_t *olduid, ui64_t *newuid);
+ static enum okay  imap_appenduid_parse(const char *cp,
+-                     unsigned long *uidvalidity, unsigned long *uid);
++                     ui64_t *uidvalidity, ui64_t *uid);
+ static enum okay  imap_copyuid(struct mailbox *mp, struct message *m,
+                      const char *name);
+ static enum okay  imap_appenduid(struct mailbox *mp, FILE *fp, time_t t,
+@@ -3465,16 +3464,16 @@ imap_copy(struct message *m, int n, const char *name)
+ }
+
+ static enum okay
+-imap_copyuid_parse(const char *cp, unsigned long *uidvalidity,
+-   unsigned long *olduid, unsigned long *newuid)
++imap_copyuid_parse(const char *cp, ui64_t *uidvalidity, ui64_t *olduid,
++   ui64_t *newuid)
+ {
+-   char *xp, *yp, *zp;
++   char const *xp, *yp, *zp;
+    enum okay rv;
+    NYD_ENTER;
+
+-   *uidvalidity = strtoul(cp, &xp, 10);
+-   *olduid = strtoul(xp, &yp, 10);
+-   *newuid = strtoul(yp, &zp, 10);
++   n_idec_ui64_cp(uidvalidity, cp, 10, &xp); /* TODO errors */
++   n_idec_ui64_cp(olduid, xp, 10, &yp); /* TODO errors */
++   n_idec_ui64_cp(newuid, yp, 10, &zp); /* TODO errors */
+    rv = (*uidvalidity && *olduid && *newuid && xp > cp && *xp == ' ' &&
+       yp > xp && *yp == ' ' && zp > yp && *zp == ']');
+    NYD_LEAVE;
+@@ -3482,15 +3481,14 @@ imap_copyuid_parse(const char *cp, unsigned long *uidvalidity,
+ }
+
+ static enum okay
+-imap_appenduid_parse(const char *cp, unsigned long *uidvalidity,
+-   unsigned long *uid)
++imap_appenduid_parse(const char *cp, ui64_t *uidvalidity, ui64_t *uid)
+ {
+-   char *xp, *yp;
++   char const *xp, *yp;
+    enum okay rv;
+    NYD_ENTER;
+
+-   *uidvalidity = strtoul(cp, &xp, 10);
+-   *uid = strtoul(xp, &yp, 10);
++   n_idec_ui64_cp(uidvalidity, cp, 10, &xp); /* TODO errors */
++   n_idec_ui64_cp(uid, xp, 10, &yp); /* TODO errors */
+    rv = (*uidvalidity && *uid && xp > cp && *xp == ' ' && yp > xp &&
+       *yp == ']');
+    NYD_LEAVE;
Index: pkg/DESCR
===================================================================
RCS file: /cvs/ports/mail/s-nail/pkg/DESCR,v
retrieving revision 1.1.1.1
diff -u -p -r1.1.1.1 DESCR
--- pkg/DESCR 29 Mar 2013 03:54:34 -0000 1.1.1.1
+++ pkg/DESCR 26 Mar 2018 18:45:48 -0000
@@ -1,5 +1,7 @@
-S-nail is a fork of Heirloom mailx, formerly known as nail.  It is a mail user
-agent derived from Berkeley Mail 8.1 and is intended to provide the
-functionality of the POSIX.2 mailx command with additional support for MIME
-messages, Maildir, POP3, IMAP, SMTP, threading, spam control, and other
-features.
+S-nail provides a simple and friendly environment for sending and receiving
+mail.  It is intended to provide the functionality of the POSIX mailx(1)
+command, but is MIME capable and optionally offers extensions for line editing,
+S/MIME, SMTP and POP3, among others.
+
+Flavors:
+ idna - Link with GNU Libidn2 to support internationalized domain names.

--steffen
|
|Der Kragenbaer,                The moon bear,
|der holt sich munter           he cheerfully and one by one
|einen nach dem anderen runter  wa.ks himself off
|(By Robert Gernhardt)

Reply | Threaded
Open this post in threaded view
|

Re: UPDATE mail/s-nail

Steffen Nurpmeso-2
P.S.: unplanned but nice coincidence: according to marc.info this
was message 444 on openbsd-ports@ this month.. which is the very
number of the S-nail project on Coverity.com!

Ciao,

--steffen
|
|Der Kragenbaer,                The moon bear,
|der holt sich munter           he cheerfully and one by one
|einen nach dem anderen runter  wa.ks himself off
|(By Robert Gernhardt)

Reply | Threaded
Open this post in threaded view
|

Re: UPDATE mail/s-nail

Steffen Nurpmeso-2
In reply to this post by Steffen Nurpmeso-2
Hello,

i wrote:
 |i wrote:
 ||Stuart Henderson <[hidden email]> wrote:
 |||On 2018/03/09 18:39, Steffen Nurpmeso wrote:
 |||> Stuart Henderson <[hidden email]> wrote:
 |||>|On 2018/03/08 17:35, Steffen Nurpmeso wrote:
 |||>|> This brings in two and a half years of development and bug fixes.
 |||>|> It has really improved, though a long road is ahead still.
 |||>|> Changelog etc. at: https://www.sdaoden.eu/code-nail-ann.html
 | ...
 |
 |I have released v14.9.10, the 40th BSD Mail anniversary version.
 |Find below the updated recipe.

four weeks have passed -- is anyone from ports interested in this
(as such that is)?  Or is anything not right, is anything missing?
It is not bad from the feature side, it is stable, and it is
getting better.  Suggestions and bug reports are always welcome.
Would be very much cooler to finally install 6.3 and have a binary
package at a fingertip!

--steffen
|
|Der Kragenbaer,                The moon bear,
|der holt sich munter           he cheerfully and one by one
|einen nach dem anderen runter  wa.ks himself off
|(By Robert Gernhardt)

Reply | Threaded
Open this post in threaded view
|

Re: UPDATE mail/s-nail

Stuart Henderson
On 2018/04/23 18:09, Steffen Nurpmeso wrote:

> Hello,
>
> i wrote:
>  |i wrote:
>  ||Stuart Henderson <[hidden email]> wrote:
>  |||On 2018/03/09 18:39, Steffen Nurpmeso wrote:
>  |||> Stuart Henderson <[hidden email]> wrote:
>  |||>|On 2018/03/08 17:35, Steffen Nurpmeso wrote:
>  |||>|> This brings in two and a half years of development and bug fixes.
>  |||>|> It has really improved, though a long road is ahead still.
>  |||>|> Changelog etc. at: https://www.sdaoden.eu/code-nail-ann.html
>  | ...
>  |
>  |I have released v14.9.10, the 40th BSD Mail anniversary version.
>  |Find below the updated recipe.
>
> four weeks have passed -- is anyone from ports interested in this
> (as such that is)?  Or is anything not right, is anything missing?
> It is not bad from the feature side, it is stable, and it is
> getting better.  Suggestions and bug reports are always welcome.
> Would be very much cooler to finally install 6.3 and have a binary
> package at a fingertip!
>
> --steffen
> |
> |Der Kragenbaer,                The moon bear,
> |der holt sich munter           he cheerfully and one by one
> |einen nach dem anderen runter  wa.ks himself off
> |(By Robert Gernhardt)
>

Just given this a try (4 weeks ago we were tying up release IIRC,
never a good time to send updates if you want them picked up ;)

I see it is ignoring CFLAGS and setting its own optimizer levels,
this should be under control of ports.

Reply | Threaded
Open this post in threaded view
|

Re: UPDATE mail/s-nail

Steffen Nurpmeso-2
Oh, hello again Stuart.

Stuart Henderson <[hidden email]> wrote:
 |On 2018/04/23 18:09, Steffen Nurpmeso wrote:
 |> i wrote:
 |>|i wrote:
 |>||Stuart Henderson <[hidden email]> wrote:
 |>|||On 2018/03/09 18:39, Steffen Nurpmeso wrote:
 |>|||> Stuart Henderson <[hidden email]> wrote:
 |>|||>|On 2018/03/08 17:35, Steffen Nurpmeso wrote:
 |>|||>|> This brings in two and a half years of development and bug fixes.
 |>|||>|> It has really improved, though a long road is ahead still.
 |>|||>|> Changelog etc. at: https://www.sdaoden.eu/code-nail-ann.html
 |>| ...
 |>|
 |>|I have released v14.9.10, the 40th BSD Mail anniversary version.
 |>|Find below the updated recipe.
 |>
 |> four weeks have passed -- is anyone from ports interested in this
 ...
 |Just given this a try (4 weeks ago we were tying up release IIRC,
 |never a good time to send updates if you want them picked up ;)

Yes, i have seen that, then.  Of course, sure.  Thank you.

 |I see it is ignoring CFLAGS and setting its own optimizer levels,
 |this should be under control of ports.

Well, but many autotools based things do so, as well as others.
And it is setting all security related compiler flags it finds
that i know of, except for meltdown/spectre (the latter of) which
does not matter for us as far as i can tell.

But, ok, if the OpenBSD port wants to replace that with a custom
set, all that is needed is to reinclude OPT_AUTOCC=no.  I have
edited this directly into the latter patch.  You know, this box is
so restricted, doing the complete cycle takes hours, i hope it
flies like that.

Index: Makefile
===================================================================
RCS file: /cvs/ports/mail/s-nail/Makefile,v
retrieving revision 1.19
diff -u -p -r1.19 Makefile
--- Makefile 8 Dec 2017 01:04:14 -0000 1.19
+++ Makefile 26 Mar 2018 18:45:48 -0000
@@ -1,48 +1,56 @@
 # $OpenBSD: Makefile,v 1.19 2017/12/08 01:04:14 espie Exp $
 
-COMMENT= enhanced, MIME capable Berkeley Mail
+COMMENT= SysV mail/BSD Mail/POSIX mailx: send and receive mail
 
-DISTNAME= s-nail-14.8.16
-CATEGORIES= mail
-HOMEPAGE= https://www.sdaoden.eu/code.html\#s-mailx
-FIX_EXTRACT_PERMISSIONS=Yes
+DISTNAME= s-nail-14.9.10
+CATEGORIES= mail
+FLAVORS= idna
+HOMEPAGE= https://www.sdaoden.eu/code.html\#s-mailx
+MAINTAINER= Dmitrij D. Czarkoff <[hidden email]>
 
+MASTER_SITES= https://ftp.sdaoden.eu/
 # BSD
-PERMIT_PACKAGE_CDROM= Yes
+PERMIT_PACKAGE_CDROM=Yes
 
-WANTLIB += c crypto iconv idn ssl
-
-MASTER_SITES= https://www.sdaoden.eu/downloads/
-MAINTAINER= Dmitrij D. Czarkoff <[hidden email]>
-
-MAKE_FILE= makefile
-MAKE_FLAGS= CC="${CC}" \
- CFLAGS="${CFLAGS}" \
- C_INCLUDE_PATH="${LOCALBASE}/include" \
- LDFLAGS="${LDFLAGS}" \
- LD_LIBRARY_PATH="${LOCALBASE}/lib" \
- MANDIR="${PREFIX}/man" \
- SYSCONFDIR="${SYSCONFDIR}" \
- WANT_AUTOCC=0 \
- WANT_EDITLINE=0 \
- WANT_NCL=1 \
- WANT_DOTLOCK=0 \
- SID=
+FLAVOR?=
+WANTLIB= c crypto curses iconv ssl
+LIB_DEPENDS= converters/libiconv
+
+CONFIG_ADDS=
+
+.if ${FLAVOR:Midna}
+WANTLIB+= idn2
+LIB_DEPENDS+= devel/libidn2
+CONFIG_ADDS+= OPT_IDNA=yes VAL_IDNA=idn2
+.else
+CONFIG_ADDS+= OPT_IDNA=no
+.endif
 
 .if !empty(DEBUG)
-MAKE_FLAGS+= WANT_DEBUG=1
-FAKE_FLAGS+= WANT_DEBUG=1
+CONFIG_ADDS+= OPT_DEBUG=yes
+FAKE_FLAGS+= OPT_DEBUG=yes
 .endif
 
-MAKE_ENV= VERBOSE=Yes
-
-LIB_DEPENDS= converters/libiconv \
- devel/libidn
-
-INSTALL_TARGET= packager-install
+PORTHOME= ${WRKDIR}
+MAKE_FILE= makefile
+MAKE_ENV= VERBOSE=anynonempty
+MAKE_FLAGS= C_INCLUDE_PATH="${LOCALBASE}/include" \
+ LD_LIBRARY_PATH="${LOCALBASE}/lib" \
+ VAL_MANDIR="${PREFIX}/man" \
+ VAL_SYSCONFDIR="${SYSCONFDIR}" \
+ VAL_SID= \
+ \
+ OPT_ALWAYS_UNICODE_LOCALE=yes \
+ OPT_AGENT=no \
+ OPT_AUTOCC=no OPT_DOTLOCK=no \
+ OPT_GSSAPI=no \
+ \
+ VAL_RANDOM=arc4 \
+ \
+ ${CONFIG_ADDS}
 
 post-install:
  ${INSTALL_DATA_DIR} ${PREFIX}/share/examples/nail
- mv ${DESTDIR}${SYSCONFDIR}/nail.rc ${PREFIX}/share/examples/nail
+ mv ${DESTDIR}${SYSCONFDIR}/nail.rc ${PREFIX}/share/examples/nail/
 
 .include <bsd.port.mk>
Index: distinfo
===================================================================
RCS file: /cvs/ports/mail/s-nail/distinfo,v
retrieving revision 1.13
diff -u -p -r1.13 distinfo
--- distinfo 29 Jan 2017 06:08:51 -0000 1.13
+++ distinfo 26 Mar 2018 18:45:48 -0000
@@ -1,2 +1,2 @@
-SHA256 (s-nail-14.8.16.tar.gz) = xpt0+0scKhokHVOfVTFUpx53TocSI+6AjoY5Zl2bTMo=
-SIZE (s-nail-14.8.16.tar.gz) = 604423
+SHA256 (s-nail-14.9.10.tar.gz) = h63nu+sRAlCvzoIhsrtVOj2WYTJ9/KP2IplPsBfEnMs=
+SIZE (s-nail-14.9.10.tar.gz) = 895283
Index: patches/patch-nail_rc
===================================================================
RCS file: patches/patch-nail_rc
diff -N patches/patch-nail_rc
--- patches/patch-nail_rc 20 Oct 2016 10:49:23 -0000 1.5
+++ /dev/null 1 Jan 1970 00:00:00 -0000
@@ -1,14 +0,0 @@
-$OpenBSD: patch-nail_rc,v 1.5 2016/10/20 10:49:23 czarkoff Exp $
-
---- nail.rc.orig Wed Oct  5 12:04:53 2016
-+++ nail.rc Sat Oct  8 03:38:20 2016
-@@ -43,6 +43,9 @@ set ask
- # *header* on a per-folder basis (it is meaningless unless *header* is set)
- set bsdannounce
-
-+# Use the traditional BSD Mail interface style.
-+set bsdcompat
-+
- # Uncomment this in order to get coloured output in $PAGER.
- # (Coloured output is only used if $TERM is either found in *colour-terms*
- # or includes the string "color")
Index: patches/patch-obs-imap_c
===================================================================
RCS file: patches/patch-obs-imap_c
diff -N patches/patch-obs-imap_c
--- /dev/null 1 Jan 1970 00:00:00 -0000
+++ patches/patch-obs-imap_c 26 Mar 2018 18:45:48 -0000
@@ -0,0 +1,58 @@
+--- obs-imap.c
++++ obs-imap.c
+@@ -246,10 +246,9 @@ static enum okay  imap_list(struct mailbox *mp, const char *base, int strip,
+ static enum okay  imap_copy1(struct mailbox *mp, struct message *m, int n,
+                      const char *name);
+ static enum okay  imap_copyuid_parse(const char *cp,
+-                     unsigned long *uidvalidity, unsigned long *olduid,
+-                     unsigned long *newuid);
++                     ui64_t *uidvalidity, ui64_t *olduid, ui64_t *newuid);
+ static enum okay  imap_appenduid_parse(const char *cp,
+-                     unsigned long *uidvalidity, unsigned long *uid);
++                     ui64_t *uidvalidity, ui64_t *uid);
+ static enum okay  imap_copyuid(struct mailbox *mp, struct message *m,
+                      const char *name);
+ static enum okay  imap_appenduid(struct mailbox *mp, FILE *fp, time_t t,
+@@ -3465,16 +3464,16 @@ imap_copy(struct message *m, int n, const char *name)
+ }
+
+ static enum okay
+-imap_copyuid_parse(const char *cp, unsigned long *uidvalidity,
+-   unsigned long *olduid, unsigned long *newuid)
++imap_copyuid_parse(const char *cp, ui64_t *uidvalidity, ui64_t *olduid,
++   ui64_t *newuid)
+ {
+-   char *xp, *yp, *zp;
++   char const *xp, *yp, *zp;
+    enum okay rv;
+    NYD_ENTER;
+
+-   *uidvalidity = strtoul(cp, &xp, 10);
+-   *olduid = strtoul(xp, &yp, 10);
+-   *newuid = strtoul(yp, &zp, 10);
++   n_idec_ui64_cp(uidvalidity, cp, 10, &xp); /* TODO errors */
++   n_idec_ui64_cp(olduid, xp, 10, &yp); /* TODO errors */
++   n_idec_ui64_cp(newuid, yp, 10, &zp); /* TODO errors */
+    rv = (*uidvalidity && *olduid && *newuid && xp > cp && *xp == ' ' &&
+       yp > xp && *yp == ' ' && zp > yp && *zp == ']');
+    NYD_LEAVE;
+@@ -3482,15 +3481,14 @@ imap_copyuid_parse(const char *cp, unsigned long *uidvalidity,
+ }
+
+ static enum okay
+-imap_appenduid_parse(const char *cp, unsigned long *uidvalidity,
+-   unsigned long *uid)
++imap_appenduid_parse(const char *cp, ui64_t *uidvalidity, ui64_t *uid)
+ {
+-   char *xp, *yp;
++   char const *xp, *yp;
+    enum okay rv;
+    NYD_ENTER;
+
+-   *uidvalidity = strtoul(cp, &xp, 10);
+-   *uid = strtoul(xp, &yp, 10);
++   n_idec_ui64_cp(uidvalidity, cp, 10, &xp); /* TODO errors */
++   n_idec_ui64_cp(uid, xp, 10, &yp); /* TODO errors */
+    rv = (*uidvalidity && *uid && xp > cp && *xp == ' ' && yp > xp &&
+       *yp == ']');
+    NYD_LEAVE;
Index: pkg/DESCR
===================================================================
RCS file: /cvs/ports/mail/s-nail/pkg/DESCR,v
retrieving revision 1.1.1.1
diff -u -p -r1.1.1.1 DESCR
--- pkg/DESCR 29 Mar 2013 03:54:34 -0000 1.1.1.1
+++ pkg/DESCR 26 Mar 2018 18:45:48 -0000
@@ -1,5 +1,7 @@
-S-nail is a fork of Heirloom mailx, formerly known as nail.  It is a mail user
-agent derived from Berkeley Mail 8.1 and is intended to provide the
-functionality of the POSIX.2 mailx command with additional support for MIME
-messages, Maildir, POP3, IMAP, SMTP, threading, spam control, and other
-features.
+S-nail provides a simple and friendly environment for sending and receiving
+mail.  It is intended to provide the functionality of the POSIX mailx(1)
+command, but is MIME capable and optionally offers extensions for line editing,
+S/MIME, SMTP and POP3, among others.
+
+Flavors:
+ idna - Link with GNU Libidn2 to support internationalized domain names.


--steffen
|
|Der Kragenbaer,                The moon bear,
|der holt sich munter           he cheerfully and one by one
|einen nach dem anderen runter  wa.ks himself off
|(By Robert Gernhardt)

Reply | Threaded
Open this post in threaded view
|

Re: UPDATE mail/s-nail

Stuart Henderson
On 2018/04/23 19:36, Steffen Nurpmeso wrote:

> Oh, hello again Stuart.
>
> Stuart Henderson <[hidden email]> wrote:
>  |On 2018/04/23 18:09, Steffen Nurpmeso wrote:
>  |> i wrote:
>  |>|i wrote:
>  |>||Stuart Henderson <[hidden email]> wrote:
>  |>|||On 2018/03/09 18:39, Steffen Nurpmeso wrote:
>  |>|||> Stuart Henderson <[hidden email]> wrote:
>  |>|||>|On 2018/03/08 17:35, Steffen Nurpmeso wrote:
>  |>|||>|> This brings in two and a half years of development and bug fixes.
>  |>|||>|> It has really improved, though a long road is ahead still.
>  |>|||>|> Changelog etc. at: https://www.sdaoden.eu/code-nail-ann.html
>  |>| ...
>  |>|
>  |>|I have released v14.9.10, the 40th BSD Mail anniversary version.
>  |>|Find below the updated recipe.
>  |>
>  |> four weeks have passed -- is anyone from ports interested in this
>  ...
>  |Just given this a try (4 weeks ago we were tying up release IIRC,
>  |never a good time to send updates if you want them picked up ;)
>
> Yes, i have seen that, then.  Of course, sure.  Thank you.
>
>  |I see it is ignoring CFLAGS and setting its own optimizer levels,
>  |this should be under control of ports.
>
> Well, but many autotools based things do so, as well as others.

Yes, and we usually patch them out where we notice them.

> And it is setting all security related compiler flags it finds
> that i know of, except for meltdown/spectre (the latter of) which
> does not matter for us as far as i can tell.

The ones that are generally reliable on an arch are already enabled
by default in the compiler, some arches have problems with certain
of these features and in those cases the default is not to use them.

> But, ok, if the OpenBSD port wants to replace that with a custom
> set, all that is needed is to reinclude OPT_AUTOCC=no.  I have
> edited this directly into the latter patch.  You know, this box is
> so restricted, doing the complete cycle takes hours, i hope it
> flies like that.

Here's an updated version that puts back most of the unnecessary
changes to Makefile (ordering, whitespace etc).

Dmitrij, are you around? Want to test or shall I just go ahead?


Index: Makefile
===================================================================
RCS file: /cvs/ports/mail/s-nail/Makefile,v
retrieving revision 1.19
diff -u -p -r1.19 Makefile
--- Makefile 8 Dec 2017 01:04:14 -0000 1.19
+++ Makefile 23 Apr 2018 20:31:09 -0000
@@ -1,45 +1,54 @@
 # $OpenBSD: Makefile,v 1.19 2017/12/08 01:04:14 espie Exp $
 
-COMMENT= enhanced, MIME capable Berkeley Mail
+COMMENT= SysV mail/BSD Mail/POSIX mailx: send and receive mail
 
-DISTNAME= s-nail-14.8.16
+DISTNAME= s-nail-14.9.10
 CATEGORIES= mail
 HOMEPAGE= https://www.sdaoden.eu/code.html\#s-mailx
-FIX_EXTRACT_PERMISSIONS=Yes
 
 # BSD
 PERMIT_PACKAGE_CDROM= Yes
 
-WANTLIB += c crypto iconv idn ssl
+WANTLIB += c crypto curses iconv ssl
 
-MASTER_SITES= https://www.sdaoden.eu/downloads/
+MASTER_SITES= https://ftp.sdaoden.eu/
 MAINTAINER= Dmitrij D. Czarkoff <[hidden email]>
 
+FLAVORS= idna
+FLAVOR?=
+
+PORTHOME= ${WRKDIR}
 MAKE_FILE= makefile
 MAKE_FLAGS= CC="${CC}" \
- CFLAGS="${CFLAGS}" \
  C_INCLUDE_PATH="${LOCALBASE}/include" \
- LDFLAGS="${LDFLAGS}" \
  LD_LIBRARY_PATH="${LOCALBASE}/lib" \
- MANDIR="${PREFIX}/man" \
- SYSCONFDIR="${SYSCONFDIR}" \
- WANT_AUTOCC=0 \
- WANT_EDITLINE=0 \
- WANT_NCL=1 \
- WANT_DOTLOCK=0 \
- SID=
+ VAL_MANDIR="${PREFIX}/man" \
+ VAL_SYSCONFDIR="${SYSCONFDIR}" \
+ VAL_SID= \
+ OPT_ALWAYS_UNICODE_LOCALE=yes \
+ OPT_AGENT=no \
+ OPT_AUTOCC=no \
+ OPT_DOTLOCK=no \
+ OPT_GSSAPI=no \
+ VAL_RANDOM=arc4
+
+.if ${FLAVOR:Midna}
+WANTLIB+= idn2
+LIB_DEPENDS+= devel/libidn2
+MAKE_FLAGS+= OPT_IDNA=yes \
+ VAL_IDNA=idn2
+.else
+MAKE_FLAGS+= OPT_IDNA=no
+.endif
 
 .if !empty(DEBUG)
-MAKE_FLAGS+= WANT_DEBUG=1
-FAKE_FLAGS+= WANT_DEBUG=1
+MAKE_FLAGS+= OPT_DEBUG=yes
+FAKE_FLAGS+= OPT_DEBUG=yes
 .endif
 
 MAKE_ENV= VERBOSE=Yes
 
-LIB_DEPENDS= converters/libiconv \
- devel/libidn
-
-INSTALL_TARGET= packager-install
+LIB_DEPENDS= converters/libiconv
 
 post-install:
  ${INSTALL_DATA_DIR} ${PREFIX}/share/examples/nail
Index: distinfo
===================================================================
RCS file: /cvs/ports/mail/s-nail/distinfo,v
retrieving revision 1.13
diff -u -p -r1.13 distinfo
--- distinfo 29 Jan 2017 06:08:51 -0000 1.13
+++ distinfo 23 Apr 2018 20:31:09 -0000
@@ -1,2 +1,2 @@
-SHA256 (s-nail-14.8.16.tar.gz) = xpt0+0scKhokHVOfVTFUpx53TocSI+6AjoY5Zl2bTMo=
-SIZE (s-nail-14.8.16.tar.gz) = 604423
+SHA256 (s-nail-14.9.10.tar.gz) = h63nu+sRAlCvzoIhsrtVOj2WYTJ9/KP2IplPsBfEnMs=
+SIZE (s-nail-14.9.10.tar.gz) = 895283
Index: patches/patch-nail_rc
===================================================================
RCS file: patches/patch-nail_rc
diff -N patches/patch-nail_rc
--- patches/patch-nail_rc 20 Oct 2016 10:49:23 -0000 1.5
+++ /dev/null 1 Jan 1970 00:00:00 -0000
@@ -1,14 +0,0 @@
-$OpenBSD: patch-nail_rc,v 1.5 2016/10/20 10:49:23 czarkoff Exp $
-
---- nail.rc.orig Wed Oct  5 12:04:53 2016
-+++ nail.rc Sat Oct  8 03:38:20 2016
-@@ -43,6 +43,9 @@ set ask
- # *header* on a per-folder basis (it is meaningless unless *header* is set)
- set bsdannounce
-
-+# Use the traditional BSD Mail interface style.
-+set bsdcompat
-+
- # Uncomment this in order to get coloured output in $PAGER.
- # (Coloured output is only used if $TERM is either found in *colour-terms*
- # or includes the string "color")
Index: patches/patch-obs-imap_c
===================================================================
RCS file: patches/patch-obs-imap_c
diff -N patches/patch-obs-imap_c
--- /dev/null 1 Jan 1970 00:00:00 -0000
+++ patches/patch-obs-imap_c 23 Apr 2018 20:31:09 -0000
@@ -0,0 +1,58 @@
+--- obs-imap.c
++++ obs-imap.c
+@@ -246,10 +246,9 @@ static enum okay  imap_list(struct mailbox *mp, const char *base, int strip,
+ static enum okay  imap_copy1(struct mailbox *mp, struct message *m, int n,
+                      const char *name);
+ static enum okay  imap_copyuid_parse(const char *cp,
+-                     unsigned long *uidvalidity, unsigned long *olduid,
+-                     unsigned long *newuid);
++                     ui64_t *uidvalidity, ui64_t *olduid, ui64_t *newuid);
+ static enum okay  imap_appenduid_parse(const char *cp,
+-                     unsigned long *uidvalidity, unsigned long *uid);
++                     ui64_t *uidvalidity, ui64_t *uid);
+ static enum okay  imap_copyuid(struct mailbox *mp, struct message *m,
+                      const char *name);
+ static enum okay  imap_appenduid(struct mailbox *mp, FILE *fp, time_t t,
+@@ -3465,16 +3464,16 @@ imap_copy(struct message *m, int n, const char *name)
+ }
+
+ static enum okay
+-imap_copyuid_parse(const char *cp, unsigned long *uidvalidity,
+-   unsigned long *olduid, unsigned long *newuid)
++imap_copyuid_parse(const char *cp, ui64_t *uidvalidity, ui64_t *olduid,
++   ui64_t *newuid)
+ {
+-   char *xp, *yp, *zp;
++   char const *xp, *yp, *zp;
+    enum okay rv;
+    NYD_ENTER;
+
+-   *uidvalidity = strtoul(cp, &xp, 10);
+-   *olduid = strtoul(xp, &yp, 10);
+-   *newuid = strtoul(yp, &zp, 10);
++   n_idec_ui64_cp(uidvalidity, cp, 10, &xp); /* TODO errors */
++   n_idec_ui64_cp(olduid, xp, 10, &yp); /* TODO errors */
++   n_idec_ui64_cp(newuid, yp, 10, &zp); /* TODO errors */
+    rv = (*uidvalidity && *olduid && *newuid && xp > cp && *xp == ' ' &&
+       yp > xp && *yp == ' ' && zp > yp && *zp == ']');
+    NYD_LEAVE;
+@@ -3482,15 +3481,14 @@ imap_copyuid_parse(const char *cp, unsigned long *uidvalidity,
+ }
+
+ static enum okay
+-imap_appenduid_parse(const char *cp, unsigned long *uidvalidity,
+-   unsigned long *uid)
++imap_appenduid_parse(const char *cp, ui64_t *uidvalidity, ui64_t *uid)
+ {
+-   char *xp, *yp;
++   char const *xp, *yp;
+    enum okay rv;
+    NYD_ENTER;
+
+-   *uidvalidity = strtoul(cp, &xp, 10);
+-   *uid = strtoul(xp, &yp, 10);
++   n_idec_ui64_cp(uidvalidity, cp, 10, &xp); /* TODO errors */
++   n_idec_ui64_cp(uid, xp, 10, &yp); /* TODO errors */
+    rv = (*uidvalidity && *uid && xp > cp && *xp == ' ' && yp > xp &&
+       *yp == ']');
+    NYD_LEAVE;
Index: pkg/DESCR
===================================================================
RCS file: /cvs/ports/mail/s-nail/pkg/DESCR,v
retrieving revision 1.1.1.1
diff -u -p -r1.1.1.1 DESCR
--- pkg/DESCR 29 Mar 2013 03:54:34 -0000 1.1.1.1
+++ pkg/DESCR 23 Apr 2018 20:31:09 -0000
@@ -1,5 +1,7 @@
-S-nail is a fork of Heirloom mailx, formerly known as nail.  It is a mail user
-agent derived from Berkeley Mail 8.1 and is intended to provide the
-functionality of the POSIX.2 mailx command with additional support for MIME
-messages, Maildir, POP3, IMAP, SMTP, threading, spam control, and other
-features.
+S-nail provides a simple and friendly environment for sending and receiving
+mail.  It is intended to provide the functionality of the POSIX mailx(1)
+command, but is MIME capable and optionally offers extensions for line editing,
+S/MIME, SMTP and POP3, among others.
+
+Flavors:
+ idna - Link with GNU Libidn2 to support internationalized domain names.

Reply | Threaded
Open this post in threaded view
|

Re: UPDATE mail/s-nail

Steffen Nurpmeso-2
Stuart Henderson <[hidden email]> wrote:
 |On 2018/04/23 19:36, Steffen Nurpmeso wrote:
 |> Stuart Henderson <[hidden email]> wrote:
 |>|On 2018/04/23 18:09, Steffen Nurpmeso wrote:
 |>|> i wrote:
 |>|>|i wrote:
 |>|>||Stuart Henderson <[hidden email]> wrote:
 |>|>|||On 2018/03/09 18:39, Steffen Nurpmeso wrote:
 |>|>|||> Stuart Henderson <[hidden email]> wrote:
 |>|>|||>|On 2018/03/08 17:35, Steffen Nurpmeso wrote:
 |>|>|||>|> This brings in two and a half years of development and bug fixes.
 |>|>|||>|> It has really improved, though a long road is ahead still.
 |>|>|||>|> Changelog etc. at: https://www.sdaoden.eu/code-nail-ann.html
 |>|>| ...
 |>|>|
 |>|>|I have released v14.9.10, the 40th BSD Mail anniversary version.
 |>|>|Find below the updated recipe.
 |>|>
 |>|> four weeks have passed -- is anyone from ports interested in this
 ...
 |>|I see it is ignoring CFLAGS and setting its own optimizer levels,
 |>|this should be under control of ports.
 |>
 |> Well, but many autotools based things do so, as well as others.
 |
 |Yes, and we usually patch them out where we notice them.

Yes, fine; 'just want to mention you could overwrite any
last-occurrence-wins flag by setting EXTRA_CFLAGS, for example
EXTRA_CFLAGS=-Os.

 |> And it is setting all security related compiler flags it finds
 |> that i know of, except for meltdown/spectre (the latter of) which
 |> does not matter for us as far as i can tell.
 |
 |The ones that are generally reliable on an arch are already enabled
 |by default in the compiler, some arches have problems with certain
 |of these features and in those cases the default is not to use them.

hmhmm.  hmmmmm :)

 |> But, ok, if the OpenBSD port wants to replace that with a custom
 |> set, all that is needed is to reinclude OPT_AUTOCC=no.  I have
 |> edited this directly into the latter patch.  You know, this box is
 |> so restricted, doing the complete cycle takes hours, i hope it
 |> flies like that.
 |
 |Here's an updated version that puts back most of the unnecessary
 |changes to Makefile (ordering, whitespace etc).
 |
 |Dmitrij, are you around? Want to test or shall I just go ahead?

Thank you for taking action!

--steffen
|
|Der Kragenbaer,                The moon bear,
|der holt sich munter           he cheerfully and one by one
|einen nach dem anderen runter  wa.ks himself off
|(By Robert Gernhardt)