Steffen Nurpmeso wrote:
> I cannot reproduce it at a glance via AlpineLinux:
> [...]
> It seems i have to boot my NetBSD 8 VM, it could be that the fix
> takes until tomorrow, thus. (Very slow, dependent on how weird it
> is...)
I forgot to mention that I use s-nail with torify, but the same seems
to happen without it. Also it's not the same all the time: I reconnected
with `dhclient -r`, then the usual wpa_supplicant+dhclient thing, s-nail
just hanged after "G":
--
^C
Interrupting this operation may turn the DNS resolver unusable
^Cs-nail interrupted
Interrupt
There are new messages in the error [...]
[...]
ERROR# ? q
Held messages in [my inbox]
[1] Segmentation fault (core dumped) s-nail
--
Maybe make flags should be noted [shameless stolen from the APKBUILD]:
VAL_IDNA=idn
VAL_RANDOM="libgetrandom sysgetrandom urandom builtin"
There are patches also used, I am attaching them, though they don't seem
to be related to the issue, and they don't exist in aports. Should I
remove them?
Thanks, Steffen!
--
caóc
---- a/mime.c 2018-03-09 20:24:35.737754669 +0100
-+++ b/mime.c 2018-03-09 20:24:39.107748465 +0100
-_at_@ -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;
+diff --git a/obs-imap.c b/obs-imap.c
+index 95692bd2..d403078b 100644
+--- a/obs-imap.c
++++ b/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;