<?xml version="1.0" encoding="UTF-8"?>
<feed xmlns="http://www.w3.org/2005/Atom">
<title>luad, branch HEAD</title>
<subtitle>Unnamed repository; edit this file &#39;description&#39; to name the repository.
</subtitle>
<entry>
<id>f2b13bc34cbf2f7b2ef9ee54a31b6d2c411c7ccc</id>
<published>2026-06-01T14:51:38Z</published>
<updated>2026-06-01T14:51:38Z</updated>
<title type="text">move check for full peer table</title>
<link rel="alternate" type="text/html" href="https://gti.telent.net/dan/commit/f2b13bc34cbf2f7b2ef9ee54a31b6d2c411c7ccc.html" />
<author>
<name>Daniel Barlow</name>
<email>dan@telent.net</email>
</author>
<content type="text">commit f2b13bc34cbf2f7b2ef9ee54a31b6d2c411c7ccc
parent 3e8640e54f5515974675d1ccc1e92d06f94d831d
Author: Daniel Barlow &lt;dan@telent.net&gt;
Date:   Mon,  1 Jun 2026 15:51:38 +0100

move check for full peer table

if we can&#39;t accept any more connections, don&#39;t poll the socket

</content>
</entry>
<entry>
<id>3e8640e54f5515974675d1ccc1e92d06f94d831d</id>
<published>2026-06-01T13:40:51Z</published>
<updated>2026-06-01T13:40:51Z</updated>
<title type="text">swap pollfds order</title>
<link rel="alternate" type="text/html" href="https://gti.telent.net/dan/commit/3e8640e54f5515974675d1ccc1e92d06f94d831d.html" />
<author>
<name>Daniel Barlow</name>
<email>dan@telent.net</email>
</author>
<content type="text">commit 3e8640e54f5515974675d1ccc1e92d06f94d831d
parent 12c7abd3b0299395bb5071cf9313cf45ac896cdb
Author: Daniel Barlow &lt;dan@telent.net&gt;
Date:   Mon,  1 Jun 2026 14:40:51 +0100

swap pollfds order

</content>
</entry>
<entry>
<id>12c7abd3b0299395bb5071cf9313cf45ac896cdb</id>
<published>2026-06-01T13:11:45Z</published>
<updated>2026-06-01T13:11:45Z</updated>
<title type="text">if message exceeds buffer size, disconnect instead of running lua</title>
<link rel="alternate" type="text/html" href="https://gti.telent.net/dan/commit/12c7abd3b0299395bb5071cf9313cf45ac896cdb.html" />
<author>
<name>Daniel Barlow</name>
<email>dan@telent.net</email>
</author>
<content type="text">commit 12c7abd3b0299395bb5071cf9313cf45ac896cdb
parent 0d7dfa957070d4c6311472f595846d36873befc3
Author: Daniel Barlow &lt;dan@telent.net&gt;
Date:   Mon,  1 Jun 2026 14:11:45 +0100

if message exceeds buffer size, disconnect instead of running lua

</content>
</entry>
<entry>
<id>0d7dfa957070d4c6311472f595846d36873befc3</id>
<published>2026-05-26T18:41:13Z</published>
<updated>2026-05-27T12:05:22Z</updated>
<title type="text">-Wall -Werror</title>
<link rel="alternate" type="text/html" href="https://gti.telent.net/dan/commit/0d7dfa957070d4c6311472f595846d36873befc3.html" />
<author>
<name>Daniel Barlow</name>
<email>dan@telent.net</email>
</author>
<content type="text">commit 0d7dfa957070d4c6311472f595846d36873befc3
parent ae1e109cd1b54ec7c91d2e0d1aa25808f339b2dd
Author: Daniel Barlow &lt;dan@telent.net&gt;
Date:   Tue, 26 May 2026 19:41:13 +0100

-Wall -Werror

</content>
</entry>
<entry>
<id>ae1e109cd1b54ec7c91d2e0d1aa25808f339b2dd</id>
<published>2026-05-26T18:18:57Z</published>
<updated>2026-05-27T12:05:22Z</updated>
<title type="text">remove unused variable</title>
<link rel="alternate" type="text/html" href="https://gti.telent.net/dan/commit/ae1e109cd1b54ec7c91d2e0d1aa25808f339b2dd.html" />
<author>
<name>Daniel Barlow</name>
<email>dan@telent.net</email>
</author>
<content type="text">commit ae1e109cd1b54ec7c91d2e0d1aa25808f339b2dd
parent cbdd65ecdaec1458d19365962dbe401c4fa3cc17
Author: Daniel Barlow &lt;dan@telent.net&gt;
Date:   Tue, 26 May 2026 19:18:57 +0100

remove unused variable

</content>
</entry>
<entry>
<id>cbdd65ecdaec1458d19365962dbe401c4fa3cc17</id>
<published>2026-05-26T18:14:58Z</published>
<updated>2026-05-27T12:05:22Z</updated>
<title type="text">remove useless check for fd &gt; 0</title>
<link rel="alternate" type="text/html" href="https://gti.telent.net/dan/commit/cbdd65ecdaec1458d19365962dbe401c4fa3cc17.html" />
<author>
<name>Daniel Barlow</name>
<email>dan@telent.net</email>
</author>
<content type="text">commit cbdd65ecdaec1458d19365962dbe401c4fa3cc17
parent 0e03b0a763b24a63b8f41aff5e28318e0ee8e57c
Author: Daniel Barlow &lt;dan@telent.net&gt;
Date:   Tue, 26 May 2026 19:14:58 +0100

remove useless check for fd &gt; 0

we can&#39;t even be here if the fd is not valid

</content>
</entry>
<entry>
<id>0e03b0a763b24a63b8f41aff5e28318e0ee8e57c</id>
<published>2026-05-26T18:14:04Z</published>
<updated>2026-05-27T12:05:22Z</updated>
<title type="text">print error if garbage received from client</title>
<link rel="alternate" type="text/html" href="https://gti.telent.net/dan/commit/0e03b0a763b24a63b8f41aff5e28318e0ee8e57c.html" />
<author>
<name>Daniel Barlow</name>
<email>dan@telent.net</email>
</author>
<content type="text">commit 0e03b0a763b24a63b8f41aff5e28318e0ee8e57c
parent 2fea793900d4a0fbfe3fb292bdfa759599341e81
Author: Daniel Barlow &lt;dan@telent.net&gt;
Date:   Tue, 26 May 2026 19:14:04 +0100

print error if garbage received from client

</content>
</entry>
<entry>
<id>2fea793900d4a0fbfe3fb292bdfa759599341e81</id>
<published>2026-05-26T18:09:43Z</published>
<updated>2026-05-27T12:05:22Z</updated>
<title type="text">remove fork_lua return value check</title>
<link rel="alternate" type="text/html" href="https://gti.telent.net/dan/commit/2fea793900d4a0fbfe3fb292bdfa759599341e81.html" />
<author>
<name>Daniel Barlow</name>
<email>dan@telent.net</email>
</author>
<content type="text">commit 2fea793900d4a0fbfe3fb292bdfa759599341e81
parent 1b018b3db487aa68b89af5e459fa64ece8c24f96
Author: Daniel Barlow &lt;dan@telent.net&gt;
Date:   Tue, 26 May 2026 19:09:43 +0100

remove fork_lua return value check

as it dies on failure anyway

</content>
</entry>
<entry>
<id>1b018b3db487aa68b89af5e459fa64ece8c24f96</id>
<published>2026-05-26T18:08:34Z</published>
<updated>2026-05-27T12:05:22Z</updated>
<title type="text">check recvmsg return</title>
<link rel="alternate" type="text/html" href="https://gti.telent.net/dan/commit/1b018b3db487aa68b89af5e459fa64ece8c24f96.html" />
<author>
<name>Daniel Barlow</name>
<email>dan@telent.net</email>
</author>
<content type="text">commit 1b018b3db487aa68b89af5e459fa64ece8c24f96
parent adf7f542bb09d6cb4fe4417ae97b50ae4f558b21
Author: Daniel Barlow &lt;dan@telent.net&gt;
Date:   Tue, 26 May 2026 19:08:34 +0100

check recvmsg return

</content>
</entry>
<entry>
<id>adf7f542bb09d6cb4fe4417ae97b50ae4f558b21</id>
<published>2026-05-26T18:08:12Z</published>
<updated>2026-05-27T12:05:22Z</updated>
<title type="text">check for total fds passed inc. previous cmsgs</title>
<link rel="alternate" type="text/html" href="https://gti.telent.net/dan/commit/adf7f542bb09d6cb4fe4417ae97b50ae4f558b21.html" />
<author>
<name>Daniel Barlow</name>
<email>dan@telent.net</email>
</author>
<content type="text">commit adf7f542bb09d6cb4fe4417ae97b50ae4f558b21
parent a820bbf9330bc46238b6d284a90e8ac88f9691de
Author: Daniel Barlow &lt;dan@telent.net&gt;
Date:   Tue, 26 May 2026 19:08:12 +0100

check for total fds passed inc. previous cmsgs

</content>
</entry>
<entry>
<id>a820bbf9330bc46238b6d284a90e8ac88f9691de</id>
<published>2026-05-19T20:50:02Z</published>
<updated>2026-05-19T20:50:02Z</updated>
<title type="text">verify we get exactly 3 fds from client</title>
<link rel="alternate" type="text/html" href="https://gti.telent.net/dan/commit/a820bbf9330bc46238b6d284a90e8ac88f9691de.html" />
<author>
<name>Daniel Barlow</name>
<email>dan@telent.net</email>
</author>
<content type="text">commit a820bbf9330bc46238b6d284a90e8ac88f9691de
parent 7e123822485df1e01abf2a698f10b21540f4c24e
Author: Daniel Barlow &lt;dan@telent.net&gt;
Date:   Tue, 19 May 2026 21:50:02 +0100

verify we get exactly 3 fds from client

</content>
</entry>
<entry>
<id>7e123822485df1e01abf2a698f10b21540f4c24e</id>
<published>2026-05-19T20:32:39Z</published>
<updated>2026-05-19T20:32:39Z</updated>
<title type="text">why do we return NULL</title>
<link rel="alternate" type="text/html" href="https://gti.telent.net/dan/commit/7e123822485df1e01abf2a698f10b21540f4c24e.html" />
<author>
<name>Daniel Barlow</name>
<email>dan@telent.net</email>
</author>
<content type="text">commit 7e123822485df1e01abf2a698f10b21540f4c24e
parent 59da5998b89b8c1aa724dad0eecd0b444af11fdc
Author: Daniel Barlow &lt;dan@telent.net&gt;
Date:   Tue, 19 May 2026 21:32:39 +0100

why do we return NULL

</content>
</entry>
<entry>
<id>59da5998b89b8c1aa724dad0eecd0b444af11fdc</id>
<published>2026-05-19T20:32:24Z</published>
<updated>2026-05-19T20:32:24Z</updated>
<title type="text">don&#39;t leak passed fds in parent</title>
<link rel="alternate" type="text/html" href="https://gti.telent.net/dan/commit/59da5998b89b8c1aa724dad0eecd0b444af11fdc.html" />
<author>
<name>Daniel Barlow</name>
<email>dan@telent.net</email>
</author>
<content type="text">commit 59da5998b89b8c1aa724dad0eecd0b444af11fdc
parent 20bf3b8fba247b300b1cc92093c735f0cf184d56
Author: Daniel Barlow &lt;dan@telent.net&gt;
Date:   Tue, 19 May 2026 21:32:24 +0100

don&#39;t leak passed fds in parent

</content>
</entry>
<entry>
<id>20bf3b8fba247b300b1cc92093c735f0cf184d56</id>
<published>2026-05-19T20:30:37Z</published>
<updated>2026-05-19T20:30:37Z</updated>
<title type="text">allocate peer_fds on stack</title>
<link rel="alternate" type="text/html" href="https://gti.telent.net/dan/commit/20bf3b8fba247b300b1cc92093c735f0cf184d56.html" />
<author>
<name>Daniel Barlow</name>
<email>dan@telent.net</email>
</author>
<content type="text">commit 20bf3b8fba247b300b1cc92093c735f0cf184d56
parent a0a8bd0de4d55c3e0a8f419ef72023d0082c1bba
Author: Daniel Barlow &lt;dan@telent.net&gt;
Date:   Tue, 19 May 2026 21:30:37 +0100

allocate peer_fds on stack

</content>
</entry>
<entry>
<id>a0a8bd0de4d55c3e0a8f419ef72023d0082c1bba</id>
<published>2026-05-19T20:27:02Z</published>
<updated>2026-05-19T20:27:02Z</updated>
<title type="text">hardcode 3 fds</title>
<link rel="alternate" type="text/html" href="https://gti.telent.net/dan/commit/a0a8bd0de4d55c3e0a8f419ef72023d0082c1bba.html" />
<author>
<name>Daniel Barlow</name>
<email>dan@telent.net</email>
</author>
<content type="text">commit a0a8bd0de4d55c3e0a8f419ef72023d0082c1bba
parent d5c2503150f2b65d666b93240346a5a3ba6901ff
Author: Daniel Barlow &lt;dan@telent.net&gt;
Date:   Tue, 19 May 2026 21:27:02 +0100

hardcode 3 fds

</content>
</entry>
<entry>
<id>d5c2503150f2b65d666b93240346a5a3ba6901ff</id>
<published>2026-05-19T20:26:30Z</published>
<updated>2026-05-19T20:26:30Z</updated>
<title type="text">note the (unfulfilled) requirement for fds_from_msg</title>
<link rel="alternate" type="text/html" href="https://gti.telent.net/dan/commit/d5c2503150f2b65d666b93240346a5a3ba6901ff.html" />
<author>
<name>Daniel Barlow</name>
<email>dan@telent.net</email>
</author>
<content type="text">commit d5c2503150f2b65d666b93240346a5a3ba6901ff
parent cafb33d5f0b5eedac444e410fa2ae1e500e7c6ea
Author: Daniel Barlow &lt;dan@telent.net&gt;
Date:   Tue, 19 May 2026 21:26:30 +0100

note the (unfulfilled) requirement for fds_from_msg

</content>
</entry>
<entry>
<id>cafb33d5f0b5eedac444e410fa2ae1e500e7c6ea</id>
<published>2026-05-19T20:21:56Z</published>
<updated>2026-05-19T20:21:56Z</updated>
<title type="text">die</title>
<link rel="alternate" type="text/html" href="https://gti.telent.net/dan/commit/cafb33d5f0b5eedac444e410fa2ae1e500e7c6ea.html" />
<author>
<name>Daniel Barlow</name>
<email>dan@telent.net</email>
</author>
<content type="text">commit cafb33d5f0b5eedac444e410fa2ae1e500e7c6ea
parent eaede95bac98194a74eae342aabd6046117584a6
Author: Daniel Barlow &lt;dan@telent.net&gt;
Date:   Tue, 19 May 2026 21:21:56 +0100

die

</content>
</entry>
<entry>
<id>eaede95bac98194a74eae342aabd6046117584a6</id>
<published>2026-05-19T20:21:45Z</published>
<updated>2026-05-19T20:21:45Z</updated>
<title type="text">check malloc failure</title>
<link rel="alternate" type="text/html" href="https://gti.telent.net/dan/commit/eaede95bac98194a74eae342aabd6046117584a6.html" />
<author>
<name>Daniel Barlow</name>
<email>dan@telent.net</email>
</author>
<content type="text">commit eaede95bac98194a74eae342aabd6046117584a6
parent 0b9189a4129049050ac801418d6c2d9754a27a55
Author: Daniel Barlow &lt;dan@telent.net&gt;
Date:   Tue, 19 May 2026 21:21:45 +0100

check malloc failure

</content>
</entry>
<entry>
<id>0b9189a4129049050ac801418d6c2d9754a27a55</id>
<published>2026-05-19T16:59:25Z</published>
<updated>2026-05-19T20:19:14Z</updated>
<title type="text">off-by-one</title>
<link rel="alternate" type="text/html" href="https://gti.telent.net/dan/commit/0b9189a4129049050ac801418d6c2d9754a27a55.html" />
<author>
<name>Daniel Barlow</name>
<email>dan@telent.net</email>
</author>
<content type="text">commit 0b9189a4129049050ac801418d6c2d9754a27a55
parent 3788f97dbf79bcfe2989577afecc418aeb0c9cfd
Author: Daniel Barlow &lt;dan@telent.net&gt;
Date:   Tue, 19 May 2026 17:59:25 +0100

off-by-one

</content>
</entry>
<entry>
<id>3788f97dbf79bcfe2989577afecc418aeb0c9cfd</id>
<published>2026-05-19T16:58:51Z</published>
<updated>2026-05-19T20:19:14Z</updated>
<title type="text">whitespace</title>
<link rel="alternate" type="text/html" href="https://gti.telent.net/dan/commit/3788f97dbf79bcfe2989577afecc418aeb0c9cfd.html" />
<author>
<name>Daniel Barlow</name>
<email>dan@telent.net</email>
</author>
<content type="text">commit 3788f97dbf79bcfe2989577afecc418aeb0c9cfd
parent 1d1b986e6d3578db533c06db563c7573a2d74f23
Author: Daniel Barlow &lt;dan@telent.net&gt;
Date:   Tue, 19 May 2026 17:58:51 +0100

whitespace

</content>
</entry>
<entry>
<id>1d1b986e6d3578db533c06db563c7573a2d74f23</id>
<published>2026-05-19T16:58:12Z</published>
<updated>2026-05-19T20:19:14Z</updated>
<title type="text">check for space in peers table before accepting new request</title>
<link rel="alternate" type="text/html" href="https://gti.telent.net/dan/commit/1d1b986e6d3578db533c06db563c7573a2d74f23.html" />
<author>
<name>Daniel Barlow</name>
<email>dan@telent.net</email>
</author>
<content type="text">commit 1d1b986e6d3578db533c06db563c7573a2d74f23
parent f7ef74ea057fd903d52f80beb61e374e63819093
Author: Daniel Barlow &lt;dan@telent.net&gt;
Date:   Tue, 19 May 2026 17:58:12 +0100

check for space in peers table before accepting new request

</content>
</entry>
<entry>
<id>f7ef74ea057fd903d52f80beb61e374e63819093</id>
<published>2026-05-19T16:57:49Z</published>
<updated>2026-05-19T20:19:14Z</updated>
<title type="text">apparently C has booleans now</title>
<link rel="alternate" type="text/html" href="https://gti.telent.net/dan/commit/f7ef74ea057fd903d52f80beb61e374e63819093.html" />
<author>
<name>Daniel Barlow</name>
<email>dan@telent.net</email>
</author>
<content type="text">commit f7ef74ea057fd903d52f80beb61e374e63819093
parent e2685769d04bd7c2f92255e5744d6cdee161e95e
Author: Daniel Barlow &lt;dan@telent.net&gt;
Date:   Tue, 19 May 2026 17:57:49 +0100

apparently C has booleans now

</content>
</entry>
<entry>
<id>e2685769d04bd7c2f92255e5744d6cdee161e95e</id>
<published>2026-05-19T16:54:36Z</published>
<updated>2026-05-19T20:19:14Z</updated>
<title type="text">make the peers table a global</title>
<link rel="alternate" type="text/html" href="https://gti.telent.net/dan/commit/e2685769d04bd7c2f92255e5744d6cdee161e95e.html" />
<author>
<name>Daniel Barlow</name>
<email>dan@telent.net</email>
</author>
<content type="text">commit e2685769d04bd7c2f92255e5744d6cdee161e95e
parent 262fc6437c1f1ca2c1bb08da00d9ff8b5ed54efd
Author: Daniel Barlow &lt;dan@telent.net&gt;
Date:   Tue, 19 May 2026 17:54:36 +0100

make the peers table a global

less complicated when the size is known at compile time

</content>
</entry>
<entry>
<id>262fc6437c1f1ca2c1bb08da00d9ff8b5ed54efd</id>
<published>2026-05-18T22:26:48Z</published>
<updated>2026-05-18T22:29:23Z</updated>
<title type="text">die with sensible error message if socket path too long</title>
<link rel="alternate" type="text/html" href="https://gti.telent.net/dan/commit/262fc6437c1f1ca2c1bb08da00d9ff8b5ed54efd.html" />
<author>
<name>Daniel Barlow</name>
<email>dan@telent.net</email>
</author>
<content type="text">commit 262fc6437c1f1ca2c1bb08da00d9ff8b5ed54efd
parent 9569ba3cfa0614ffd9921de81144604e5f343ccb
Author: Daniel Barlow &lt;dan@telent.net&gt;
Date:   Mon, 18 May 2026 23:26:48 +0100

die with sensible error message if socket path too long

</content>
</entry>
<entry>
<id>9569ba3cfa0614ffd9921de81144604e5f343ccb</id>
<published>2026-05-18T22:21:13Z</published>
<updated>2026-05-18T22:21:25Z</updated>
<title type="text">update README</title>
<link rel="alternate" type="text/html" href="https://gti.telent.net/dan/commit/9569ba3cfa0614ffd9921de81144604e5f343ccb.html" />
<author>
<name>Daniel Barlow</name>
<email>dan@telent.net</email>
</author>
<content type="text">commit 9569ba3cfa0614ffd9921de81144604e5f343ccb
parent 79313f1d5565009a608160e0aa830fa12be97c73
Author: Daniel Barlow &lt;dan@telent.net&gt;
Date:   Mon, 18 May 2026 23:21:13 +0100

update README

</content>
</entry>
<entry>
<id>79313f1d5565009a608160e0aa830fa12be97c73</id>
<published>2026-05-18T22:04:38Z</published>
<updated>2026-05-18T22:13:38Z</updated>
<title type="text">consult env var to find socket path</title>
<link rel="alternate" type="text/html" href="https://gti.telent.net/dan/commit/79313f1d5565009a608160e0aa830fa12be97c73.html" />
<author>
<name>Daniel Barlow</name>
<email>dan@telent.net</email>
</author>
<content type="text">commit 79313f1d5565009a608160e0aa830fa12be97c73
parent a0e760884db30436f22323e87ec858db8d3df284
Author: Daniel Barlow &lt;dan@telent.net&gt;
Date:   Mon, 18 May 2026 23:04:38 +0100

consult env var to find socket path

</content>
</entry>
<entry>
<id>a0e760884db30436f22323e87ec858db8d3df284</id>
<published>2026-05-18T22:04:23Z</published>
<updated>2026-05-18T22:11:13Z</updated>
<title type="text">improve error reporting</title>
<link rel="alternate" type="text/html" href="https://gti.telent.net/dan/commit/a0e760884db30436f22323e87ec858db8d3df284.html" />
<author>
<name>Daniel Barlow</name>
<email>dan@telent.net</email>
</author>
<content type="text">commit a0e760884db30436f22323e87ec858db8d3df284
parent 4a7fc4570466569a9486bc84d87516ab6a133a3f
Author: Daniel Barlow &lt;dan@telent.net&gt;
Date:   Mon, 18 May 2026 23:04:23 +0100

improve error reporting

</content>
</entry>
<entry>
<id>4a7fc4570466569a9486bc84d87516ab6a133a3f</id>
<published>2026-05-18T20:58:01Z</published>
<updated>2026-05-18T21:48:50Z</updated>
<title type="text">wait for server to send script&#39;s exit status</title>
<link rel="alternate" type="text/html" href="https://gti.telent.net/dan/commit/4a7fc4570466569a9486bc84d87516ab6a133a3f.html" />
<author>
<name>Daniel Barlow</name>
<email>dan@telent.net</email>
</author>
<content type="text">commit 4a7fc4570466569a9486bc84d87516ab6a133a3f
parent e2a87ea5c9097fe26f9213a82f00e2338e92bd2b
Author: Daniel Barlow &lt;dan@telent.net&gt;
Date:   Mon, 18 May 2026 21:58:01 +0100

wait for server to send script&#39;s exit status

</content>
</entry>
<entry>
<id>e2a87ea5c9097fe26f9213a82f00e2338e92bd2b</id>
<published>2026-05-18T20:12:15Z</published>
<updated>2026-05-18T21:48:50Z</updated>
<title type="text">use static initaliser for msg</title>
<link rel="alternate" type="text/html" href="https://gti.telent.net/dan/commit/e2a87ea5c9097fe26f9213a82f00e2338e92bd2b.html" />
<author>
<name>Daniel Barlow</name>
<email>dan@telent.net</email>
</author>
<content type="text">commit e2a87ea5c9097fe26f9213a82f00e2338e92bd2b
parent 7a567117e16152d00120afd901cd87b90f66934c
Author: Daniel Barlow &lt;dan@telent.net&gt;
Date:   Mon, 18 May 2026 21:12:15 +0100

use static initaliser for msg

</content>
</entry>
<entry>
<id>7a567117e16152d00120afd901cd87b90f66934c</id>
<published>2026-05-18T20:11:25Z</published>
<updated>2026-05-18T21:48:50Z</updated>
<title type="text">tidy up open_socket and explain need for abstract bind</title>
<link rel="alternate" type="text/html" href="https://gti.telent.net/dan/commit/7a567117e16152d00120afd901cd87b90f66934c.html" />
<author>
<name>Daniel Barlow</name>
<email>dan@telent.net</email>
</author>
<content type="text">commit 7a567117e16152d00120afd901cd87b90f66934c
parent d286b82eba1028731b80d1b1610aca9739ae1634
Author: Daniel Barlow &lt;dan@telent.net&gt;
Date:   Mon, 18 May 2026 21:11:25 +0100

tidy up open_socket and explain need for abstract bind

</content>
</entry>
<entry>
<id>d286b82eba1028731b80d1b1610aca9739ae1634</id>
<published>2026-05-18T19:52:12Z</published>
<updated>2026-05-18T21:48:50Z</updated>
<title type="text">add luac to makefile</title>
<link rel="alternate" type="text/html" href="https://gti.telent.net/dan/commit/d286b82eba1028731b80d1b1610aca9739ae1634.html" />
<author>
<name>Daniel Barlow</name>
<email>dan@telent.net</email>
</author>
<content type="text">commit d286b82eba1028731b80d1b1610aca9739ae1634
parent 05d083d5b5cae5ea191b710175786ca256d2ed9b
Author: Daniel Barlow &lt;dan@telent.net&gt;
Date:   Mon, 18 May 2026 20:52:12 +0100

add luac to makefile

</content>
</entry>
<entry>
<id>05d083d5b5cae5ea191b710175786ca256d2ed9b</id>
<published>2026-05-18T19:01:42Z</published>
<updated>2026-05-18T21:48:50Z</updated>
<title type="text">no need to call access() here</title>
<link rel="alternate" type="text/html" href="https://gti.telent.net/dan/commit/05d083d5b5cae5ea191b710175786ca256d2ed9b.html" />
<author>
<name>Daniel Barlow</name>
<email>dan@telent.net</email>
</author>
<content type="text">commit 05d083d5b5cae5ea191b710175786ca256d2ed9b
parent 7fdcc89ec178dd27d33629e301189d5d2d353e6f
Author: Daniel Barlow &lt;dan@telent.net&gt;
Date:   Mon, 18 May 2026 20:01:42 +0100

no need to call access() here

lua will report an error if the file is not found anyway

</content>
</entry>
<entry>
<id>7fdcc89ec178dd27d33629e301189d5d2d353e6f</id>
<published>2026-05-17T22:57:42Z</published>
<updated>2026-05-17T22:57:42Z</updated>
<title type="text">WIP luac C translation</title>
<link rel="alternate" type="text/html" href="https://gti.telent.net/dan/commit/7fdcc89ec178dd27d33629e301189d5d2d353e6f.html" />
<author>
<name>Daniel Barlow</name>
<email>dan@telent.net</email>
</author>
<content type="text">commit 7fdcc89ec178dd27d33629e301189d5d2d353e6f
parent e3bf89dcdf6588076e04a66bbb150671c84b0854
Author: Daniel Barlow &lt;dan@telent.net&gt;
Date:   Sun, 17 May 2026 23:57:42 +0100

WIP luac C translation

TODO wait for server to send script exit value

</content>
</entry>
<entry>
<id>e3bf89dcdf6588076e04a66bbb150671c84b0854</id>
<published>2026-05-17T19:38:04Z</published>
<updated>2026-05-17T19:38:04Z</updated>
<title type="text">delete rust stuff and add a Makefile</title>
<link rel="alternate" type="text/html" href="https://gti.telent.net/dan/commit/e3bf89dcdf6588076e04a66bbb150671c84b0854.html" />
<author>
<name>Daniel Barlow</name>
<email>dan@telent.net</email>
</author>
<content type="text">commit e3bf89dcdf6588076e04a66bbb150671c84b0854
parent 7c33ceadf4465652dccd2fdac6753a44957b3d9a
Author: Daniel Barlow &lt;dan@telent.net&gt;
Date:   Sun, 17 May 2026 20:38:04 +0100

delete rust stuff and add a Makefile

</content>
</entry>
<entry>
<id>7c33ceadf4465652dccd2fdac6753a44957b3d9a</id>
<published>2026-05-08T12:26:42Z</published>
<updated>2026-05-17T19:18:58Z</updated>
<title type="text">remove unused python from rustup shell</title>
<link rel="alternate" type="text/html" href="https://gti.telent.net/dan/commit/7c33ceadf4465652dccd2fdac6753a44957b3d9a.html" />
<author>
<name>Daniel Barlow</name>
<email>dan@telent.net</email>
</author>
<content type="text">commit 7c33ceadf4465652dccd2fdac6753a44957b3d9a
parent 9b7832a44d2e19ea39b249287ca0c872246366dc
Author: Daniel Barlow &lt;dan@telent.net&gt;
Date:   Fri,  8 May 2026 13:26:42 +0100

remove unused python from rustup shell

</content>
</entry>
<entry>
<id>9b7832a44d2e19ea39b249287ca0c872246366dc</id>
<published>2026-05-14T22:20:11Z</published>
<updated>2026-05-14T22:20:11Z</updated>
<title type="text">WIP rewrite in C</title>
<link rel="alternate" type="text/html" href="https://gti.telent.net/dan/commit/9b7832a44d2e19ea39b249287ca0c872246366dc.html" />
<author>
<name>Daniel Barlow</name>
<email>dan@telent.net</email>
</author>
<content type="text">commit 9b7832a44d2e19ea39b249287ca0c872246366dc
parent 713d30f9a2f42bcc43c7f5bba53d962fcba207cf
Author: Daniel Barlow &lt;dan@telent.net&gt;
Date:   Thu, 14 May 2026 23:20:11 +0100

WIP rewrite in C

$ ls -l result/bin/luad src/luad
-r-xr-xr-x 1 root root  415032 Jan  1  1970 result/bin/luad
-rwxr-xr-x 1 dan  users  21872 May 14 23:18 src/luad

it&#39;s difficult to argue against that size saving, and we weren&#39;t
doing much except calling libraries written in C anyway

this is WIP as in it&#39;s functional mostly but it&#39;s a first pass, may
contain bugs, needs lint, hardcodes the socket path

</content>
</entry>
<entry>
<id>713d30f9a2f42bcc43c7f5bba53d962fcba207cf</id>
<published>2026-05-13T18:06:38Z</published>
<updated>2026-05-13T18:06:38Z</updated>
<title type="text">fix most compiler warnings</title>
<link rel="alternate" type="text/html" href="https://gti.telent.net/dan/commit/713d30f9a2f42bcc43c7f5bba53d962fcba207cf.html" />
<author>
<name>Daniel Barlow</name>
<email>dan@telent.net</email>
</author>
<content type="text">commit 713d30f9a2f42bcc43c7f5bba53d962fcba207cf
parent 0a5d7f83f6a30637cb39d539142e59f8dde985b6
Author: Daniel Barlow &lt;dan@telent.net&gt;
Date:   Wed, 13 May 2026 19:06:38 +0100

fix most compiler warnings

</content>
</entry>
<entry>
<id>0a5d7f83f6a30637cb39d539142e59f8dde985b6</id>
<published>2026-05-13T18:02:48Z</published>
<updated>2026-05-13T18:02:48Z</updated>
<title type="text">remove fork and nix crates, use libc directly</title>
<link rel="alternate" type="text/html" href="https://gti.telent.net/dan/commit/0a5d7f83f6a30637cb39d539142e59f8dde985b6.html" />
<author>
<name>Daniel Barlow</name>
<email>dan@telent.net</email>
</author>
<content type="text">commit 0a5d7f83f6a30637cb39d539142e59f8dde985b6
parent 4370b6ea999223409870a161cc0c6c28bd50cdfc
Author: Daniel Barlow &lt;dan@telent.net&gt;
Date:   Wed, 13 May 2026 19:02:48 +0100

remove fork and nix crates, use libc directly

doesn&#39;t seem to make any difference to binary size?

</content>
</entry>
<entry>
<id>4370b6ea999223409870a161cc0c6c28bd50cdfc</id>
<published>2026-05-13T16:56:39Z</published>
<updated>2026-05-13T16:58:46Z</updated>
<title type="text">luad allow preloading lua in parent process</title>
<link rel="alternate" type="text/html" href="https://gti.telent.net/dan/commit/4370b6ea999223409870a161cc0c6c28bd50cdfc.html" />
<author>
<name>Daniel Barlow</name>
<email>dan@telent.net</email>
</author>
<content type="text">commit 4370b6ea999223409870a161cc0c6c28bd50cdfc
parent 73efb4223387a64ae11490648b51c632a98e4737
Author: Daniel Barlow &lt;dan@telent.net&gt;
Date:   Wed, 13 May 2026 17:56:39 +0100

luad allow preloading lua in parent process

if you have libaries that you require in every lua script, you can use
this to load them when luad starts so that they are already there (and
maybe sharing ram?) when clients connect.

</content>
</entry>
<entry>
<id>73efb4223387a64ae11490648b51c632a98e4737</id>
<published>2026-05-11T06:32:10Z</published>
<updated>2026-05-11T09:09:52Z</updated>
<title type="text">new file</title>
<link rel="alternate" type="text/html" href="https://gti.telent.net/dan/commit/73efb4223387a64ae11490648b51c632a98e4737.html" />
<author>
<name>Daniel Barlow</name>
<email>dan@telent.net</email>
</author>
<content type="text">commit 73efb4223387a64ae11490648b51c632a98e4737
parent 15aad21535c9c627b87a4e7c3b7481a4aee8c613
Author: Daniel Barlow &lt;dan@telent.net&gt;
Date:   Mon, 11 May 2026 07:32:10 +0100

new file

</content>
</entry>
<entry>
<id>15aad21535c9c627b87a4e7c3b7481a4aee8c613</id>
<published>2026-05-08T22:27:00Z</published>
<updated>2026-05-08T22:27:00Z</updated>
<title type="text">add README</title>
<link rel="alternate" type="text/html" href="https://gti.telent.net/dan/commit/15aad21535c9c627b87a4e7c3b7481a4aee8c613.html" />
<author>
<name>Daniel Barlow</name>
<email>dan@telent.net</email>
</author>
<content type="text">commit 15aad21535c9c627b87a4e7c3b7481a4aee8c613
parent 9d91c35caed66a8c6e5b6f3f93a07833e8936861
Author: Daniel Barlow &lt;dan@telent.net&gt;
Date:   Fri,  8 May 2026 23:27:00 +0100

add README

</content>
</entry>
<entry>
<id>9d91c35caed66a8c6e5b6f3f93a07833e8936861</id>
<published>2026-05-08T22:04:02Z</published>
<updated>2026-05-08T22:04:02Z</updated>
<title type="text">set up arg array in lua</title>
<link rel="alternate" type="text/html" href="https://gti.telent.net/dan/commit/9d91c35caed66a8c6e5b6f3f93a07833e8936861.html" />
<author>
<name>Daniel Barlow</name>
<email>dan@telent.net</email>
</author>
<content type="text">commit 9d91c35caed66a8c6e5b6f3f93a07833e8936861
parent 56c7d48e654fe00e1e118a7c91a9fb91fc813456
Author: Daniel Barlow &lt;dan@telent.net&gt;
Date:   Fri,  8 May 2026 23:04:02 +0100

set up arg array in lua

</content>
</entry>
<entry>
<id>56c7d48e654fe00e1e118a7c91a9fb91fc813456</id>
<published>2026-05-08T21:33:15Z</published>
<updated>2026-05-08T21:33:15Z</updated>
<title type="text">remove hard tabs</title>
<link rel="alternate" type="text/html" href="https://gti.telent.net/dan/commit/56c7d48e654fe00e1e118a7c91a9fb91fc813456.html" />
<author>
<name>Daniel Barlow</name>
<email>dan@telent.net</email>
</author>
<content type="text">commit 56c7d48e654fe00e1e118a7c91a9fb91fc813456
parent 4c22cfbe0f69a854cfb8a24649c3d95fe0a3ba39
Author: Daniel Barlow &lt;dan@telent.net&gt;
Date:   Fri,  8 May 2026 22:33:15 +0100

remove hard tabs

</content>
</entry>
<entry>
<id>4c22cfbe0f69a854cfb8a24649c3d95fe0a3ba39</id>
<published>2026-04-30T20:41:50Z</published>
<updated>2026-04-30T20:41:50Z</updated>
<title type="text">decruft</title>
<link rel="alternate" type="text/html" href="https://gti.telent.net/dan/commit/4c22cfbe0f69a854cfb8a24649c3d95fe0a3ba39.html" />
<author>
<name>Daniel Barlow</name>
<email>dan@telent.net</email>
</author>
<content type="text">commit 4c22cfbe0f69a854cfb8a24649c3d95fe0a3ba39
parent f0f7f5d9fa9015558a967bdb06952929109355c8
Author: Daniel Barlow &lt;dan@telent.net&gt;
Date:   Thu, 30 Apr 2026 21:41:50 +0100

decruft

</content>
</entry>
<entry>
<id>f0f7f5d9fa9015558a967bdb06952929109355c8</id>
<published>2026-04-30T20:41:36Z</published>
<updated>2026-04-30T20:41:36Z</updated>
<title type="text">pass lua exit status or signal to client</title>
<link rel="alternate" type="text/html" href="https://gti.telent.net/dan/commit/f0f7f5d9fa9015558a967bdb06952929109355c8.html" />
<author>
<name>Daniel Barlow</name>
<email>dan@telent.net</email>
</author>
<content type="text">commit f0f7f5d9fa9015558a967bdb06952929109355c8
parent 9f0450b2dd0e2ec5670aa96278d7a3a843985b39
Author: Daniel Barlow &lt;dan@telent.net&gt;
Date:   Thu, 30 Apr 2026 21:41:36 +0100

pass lua exit status or signal to client

</content>
</entry>
<entry>
<id>9f0450b2dd0e2ec5670aa96278d7a3a843985b39</id>
<published>2026-04-30T19:41:57Z</published>
<updated>2026-04-30T19:41:57Z</updated>
<title type="text">wait for lua child to exit before client exits</title>
<link rel="alternate" type="text/html" href="https://gti.telent.net/dan/commit/9f0450b2dd0e2ec5670aa96278d7a3a843985b39.html" />
<author>
<name>Daniel Barlow</name>
<email>dan@telent.net</email>
</author>
<content type="text">commit 9f0450b2dd0e2ec5670aa96278d7a3a843985b39
parent 40ae833af3411497de25e68cab0222a3256ec0be
Author: Daniel Barlow &lt;dan@telent.net&gt;
Date:   Thu, 30 Apr 2026 20:41:57 +0100

wait for lua child to exit before client exits

* handle sigchld with the self-pipe trick
* use libc bindings to poll() to watch that and the socket simultaneously

</content>
</entry>
<entry>
<id>40ae833af3411497de25e68cab0222a3256ec0be</id>
<published>2026-04-30T19:40:02Z</published>
<updated>2026-04-30T19:41:07Z</updated>
<title type="text">client: bind socket to abstract name before connect</title>
<link rel="alternate" type="text/html" href="https://gti.telent.net/dan/commit/40ae833af3411497de25e68cab0222a3256ec0be.html" />
<author>
<name>Daniel Barlow</name>
<email>dan@telent.net</email>
</author>
<content type="text">commit 40ae833af3411497de25e68cab0222a3256ec0be
parent 8dbe90e0ad291d83c56e6a1a7081701dfcba22f8
Author: Daniel Barlow &lt;dan@telent.net&gt;
Date:   Thu, 30 Apr 2026 20:40:02 +0100

client: bind socket to abstract name before connect

it seems that the server can&#39;t sendto() an unbound peer

</content>
</entry>
<entry>
<id>8dbe90e0ad291d83c56e6a1a7081701dfcba22f8</id>
<published>2026-04-29T20:25:34Z</published>
<updated>2026-04-29T20:25:34Z</updated>
<title type="text">parse the datagram payload and fork lua on the file</title>
<link rel="alternate" type="text/html" href="https://gti.telent.net/dan/commit/8dbe90e0ad291d83c56e6a1a7081701dfcba22f8.html" />
<author>
<name>Daniel Barlow</name>
<email>dan@telent.net</email>
</author>
<content type="text">commit 8dbe90e0ad291d83c56e6a1a7081701dfcba22f8
parent a747b0c8d3871483ee64f865d57dc10ccd828ec0
Author: Daniel Barlow &lt;dan@telent.net&gt;
Date:   Wed, 29 Apr 2026 21:25:34 +0100

parse the datagram payload and fork lua on the file

</content>
</entry>
<entry>
<id>a747b0c8d3871483ee64f865d57dc10ccd828ec0</id>
<published>2026-04-29T18:04:02Z</published>
<updated>2026-04-29T18:04:02Z</updated>
<title type="text">initial commit</title>
<link rel="alternate" type="text/html" href="https://gti.telent.net/dan/commit/a747b0c8d3871483ee64f865d57dc10ccd828ec0.html" />
<author>
<name>Daniel Barlow</name>
<email>dan@telent.net</email>
</author>
<content type="text">commit a747b0c8d3871483ee64f865d57dc10ccd828ec0
Author: Daniel Barlow &lt;dan@telent.net&gt;
Date:   Wed, 29 Apr 2026 19:04:02 +0100

initial commit

</content>
</entry>
</feed>
