chiark / gitweb /
authbind: get endianness right (again) stable
authorIan Jackson <ijackson@chiark.greenend.org.uk>
Sun, 11 Dec 2011 12:40:37 +0000 (12:40 +0000)
committerIan Jackson <ijackson@chiark.greenend.org.uk>
Sun, 11 Dec 2011 14:07:09 +0000 (14:07 +0000)
commit2e0cc1a2c562452d4d43b38df778530d676f0fe5
tree1247a3a994960fbbd2bf3a3994c0115770da7b6b
parent3e69b1eec376fdd75e9923b35d21dad0c37644a9
authbind: get endianness right (again)

It appears that:

 * authbind's documentation authbind-helper(8) describes the
   endianness convention of authbind's helper program incorrectly.
   See Debian #651694.

 * The version of secnet 0.1.16 tagged as such in revision control
   contains a "fix" which was based on the authbind documentation but
   not apparently tested against authbind.  Ie, this part from NEWS:
    4) Change the endianess of the arguments to authbind-helper.
       sprintf("%04X") already translates from machine repesentation to most
       significant octet first so htons reversed it again.

 * The version of secnet 0.1.16 actually in service on chiark had an
   out-of-version-control change to udp.c to make it work with
   chiark's authbind 1.2.0.  The actual code found has been recorded
   on the dead branch "chiark-0.1.16" in the master git repo, but the
   version of udp.c is exactly that from 0.1.15 so it looks like we
   just reverted to the previous udp.c during deployment of 0.1.16.

 * We (re)discovered all this after the release of secnet 0.2.0
   because my attempt to deploy 0.2.0 on chiark was not actually
   effective.

Therefore, undo the authbind endianness change introduced in secnet
0.1.16.  This is most easily achieved by constructing the arguments to
the helper from the sockaddr rather than the contents of "st".

Thanks are due to Simon Tatham for the bug report.

Signed-off-by: Ian Jackson <ijackson@chiark.greenend.org.uk>
(cherry picked from commit 51b259535294bb46757a040596ab052e53f29483)
udp.c