Re: NULs in drafts

Michael Richardson <[email protected]> Fri, 07 Nov 2025 10:17:17 -0500
Newsgroups gmane.mail.mh-e.user,gmane.mail.nmh.devel
Message-ID <249498.1762528637@dyas>
Ken Hornstein <[email protected]> wrote:
    > I guess what I would instrument would be:

    > - What does the draft look like before send(1) gets it?  send(1) will
    > generally just take whatever you give it and shove it out on the wire,
    > so I would be surprised if that was the failure point (but I've been
    > surprised before!)

My ~/bin/send-logged, which I've told mh-e to use:

  #!/bin/zsh
  exec 2>&1
  exec >/var/tmp/send.$$
  echo $@
  local last_arg=$argv[$#]
  hexdump -C $last_arg
  exec /sandel/bin/send "$@"

and this morning I see GPG signed emails which end at not-multiple-of-16 with
no trailing nuls.

I wound up writing a "findnull.c" code because grep'ing for NUL apparently
won't work due to C-issues.  SED can do things, but I couldn't get it to
work.

An email just now to [email protected] (so not like it's private):

dyas-[~/Mail/outgoing](3.3.8) mcr 10390 %hexdump -C 156 | tail -8
00000b40  38 43 37 79 6a 47 39 61  57 34 64 57 30 6e 47 4c  |8C7yjG9aW4dW0nGL|
00000b50  0a 6e 36 52 53 53 6e 70  68 7a 4e 46 76 64 68 30  |.n6RSSnphzNFvdh0|
00000b60  67 41 41 6b 47 41 5a 79  2b 76 61 5a 45 30 51 3d  |gAAkGAZy+vaZE0Q=|
00000b70  3d 0a 3d 4d 46 38 42 0a  2d 2d 2d 2d 2d 45 4e 44  |=.=MF8B.-----END|
00000b80  20 50 47 50 20 53 49 47  4e 41 54 55 52 45 2d 2d  | PGP SIGNATURE--|
00000b90  2d 2d 2d 0a 2d 2d 3d 2d  3d 2d 3d 2d 2d 0a 00 00  |---.--=-=-=--...|
00000ba0  00 00 00 00 00 00                                 |......|

dyas-[~/Mail/outgoing](3.3.8) mcr 10389 %tail -8 /var/tmp/send.248446
00000b00  55 7a 73 76 6b 4a 70 4a  41 48 50 38 43 37 79 6a  |UzsvkJpJAHP8C7yj|
00000b10  47 39 61 57 34 64 57 30  6e 47 4c 0a 6e 36 52 53  |G9aW4dW0nGL.n6RS|
00000b20  53 6e 70 68 7a 4e 46 76  64 68 30 67 41 41 6b 47  |SnphzNFvdh0gAAkG|
00000b30  41 5a 79 2b 76 61 5a 45  30 51 3d 3d 0a 3d 4d 46  |AZy+vaZE0Q==.=MF|
00000b40  38 42 0a 2d 2d 2d 2d 2d  45 4e 44 20 50 47 50 20  |8B.-----END PGP |
00000b50  53 49 47 4e 41 54 55 52  45 2d 2d 2d 2d 2d 0a 2d  |SIGNATURE-----.-|
00000b60  2d 3d 2d 3d 2d 3d 2d 2d  0a                       |-=-=-=--.|

"W4dW0nGL" appears in the signature of both files, in case you want to
be sure it's the same email.

So my conclusion this morning is that it's *send* that is doing this.
I will dig in with printf...

--
]               Never tell me the odds!                 | ipv6 mesh networks [
]   Michael Richardson, Sandelman Software Works        | network architect  [
]     [email protected]  http://www.sandelman.ca/        |   ruby on rails    [
signature.asc (application/pgp-signature, 487 B)
-----BEGIN PGP SIGNATURE-----

iQEzBAEBCgAdFiEERK+9HEcJHTJ9UqTMlUzhVv38QpAFAmkODXwACgkQlUzhVv38
QpAMWAgAhSIPRs96iZdyPoQ3a30mWGOFgFGwA8KV9mv6acC4EN+X1ztca9kv+6hR
wIaAF2yyq2OLlAGWvE8J8q8qPKCDu8nGuuuSnvnNSCKO3miaJ49zGhhAaZIucdj3
4H6D2sAWa86eT32ghsB7UV4fzNi6Hk4QmBaAQYpqsMglue28NCnF43DmBH8SFckH
pM/VIOQiPz1/QOiKSgxVMI6wjD2eMTjupE2XE6SlJ93yLl9oToONHpm0gpnjY0CD
84fe2RAdsSEL2bCH45PNZ36rk4zMh9A2oS5snwZrOtV6qEOkVq2noLAnUxSDtHj+
gdBNbj2zIxOI3nlOEsUqPSYXzgdTqQ==
=YYE9
-----END PGP SIGNATURE-----