<feed xmlns='http://www.w3.org/2005/Atom'>
<title>pounce, branch 1.0p1</title>
<subtitle>IRC bouncer
</subtitle>
<id>https://git.causal.agency/pounce/atom?h=1.0p1</id>
<link rel='self' href='https://git.causal.agency/pounce/atom?h=1.0p1'/>
<link rel='alternate' type='text/html' href='https://git.causal.agency/pounce/'/>
<updated>2019-11-21T21:45:40+00:00</updated>
<entry>
<title>Link calico with libcrypto on Linux</title>
<updated>2019-11-21T21:45:40+00:00</updated>
<author>
<name>C. McEnroe</name>
<email>june@causal.agency</email>
</author>
<published>2019-11-21T21:45:40+00:00</published>
<link rel='alternate' type='text/html' href='https://git.causal.agency/pounce/commit/?id=3051555d4e7975bcc05a9fef86b4016637a14832'/>
<id>urn:sha1:3051555d4e7975bcc05a9fef86b4016637a14832</id>
<content type='text'>
For the strlcpy implementation.
</content>
</entry>
<entry>
<title>Fix wordcmp return value when the words have differing lengths</title>
<updated>2019-11-21T21:26:43+00:00</updated>
<author>
<name>Michael Forney</name>
<email>mforney@mforney.org</email>
</author>
<published>2019-11-20T09:45:52+00:00</published>
<link rel='alternate' type='text/html' href='https://git.causal.agency/pounce/commit/?id=a17b38979617e8799da58be83699ea64dbed4503'/>
<id>urn:sha1:a17b38979617e8799da58be83699ea64dbed4503</id>
<content type='text'>
Otherwise, the result of strncmp gets converted size_t, since size_t
has greater rank than int.

Since wordcmp is only ever used as a boolean condition, this poses
no real issue, but presumably, it is meant to behave like the other
*cmp function and return a value less than, equal to, or greater
than 0 depending on the result of the comparison.
</content>
</entry>
<entry>
<title>Declare globals as extern in headers, and define in source file</title>
<updated>2019-11-21T21:26:37+00:00</updated>
<author>
<name>Michael Forney</name>
<email>mforney@mforney.org</email>
</author>
<published>2019-11-20T09:22:06+00:00</published>
<link rel='alternate' type='text/html' href='https://git.causal.agency/pounce/commit/?id=f4b0d09e3f782511b99626104ca960dd5decd4b8'/>
<id>urn:sha1:f4b0d09e3f782511b99626104ca960dd5decd4b8</id>
<content type='text'>
Otherwise, each source file that includes the header gets its own
definition, and according to the C standard (C99 6.9p5):

&gt; If an identifier declared with external linkage is used in an
&gt; expression (other than as part of the operand of a sizeof operator
&gt; whose result is an integer constant), somewhere in the entire
&gt; program there shall be exactly one external definition for the
&gt; identifier

Most compilers use the .bss section for zero data, but if it uses
.data instead, or if -Wl,--warn-common is used, this will cause a
linking error.
</content>
</entry>
<entry>
<title>Zero temporary SASL PLAIN buffer</title>
<updated>2019-11-21T21:26:08+00:00</updated>
<author>
<name>C. McEnroe</name>
<email>june@causal.agency</email>
</author>
<published>2019-11-21T21:26:08+00:00</published>
<link rel='alternate' type='text/html' href='https://git.causal.agency/pounce/commit/?id=407adf0ddd1be0b80de206d012b944b8113d02d2'/>
<id>urn:sha1:407adf0ddd1be0b80de206d012b944b8113d02d2</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Use a static buffer for plainBase64</title>
<updated>2019-11-21T21:25:09+00:00</updated>
<author>
<name>C. McEnroe</name>
<email>june@causal.agency</email>
</author>
<published>2019-11-21T21:25:09+00:00</published>
<link rel='alternate' type='text/html' href='https://git.causal.agency/pounce/commit/?id=cb38ad54eb54c1b3d3f0adbcf7b60eb50d6a3394'/>
<id>urn:sha1:cb38ad54eb54c1b3d3f0adbcf7b60eb50d6a3394</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Use a fixed buffer size for SASL PLAIN authentication</title>
<updated>2019-11-21T21:14:10+00:00</updated>
<author>
<name>Michael Forney</name>
<email>mforney@mforney.org</email>
</author>
<published>2019-11-20T09:13:29+00:00</published>
<link rel='alternate' type='text/html' href='https://git.causal.agency/pounce/commit/?id=113a33bdf883602313fa33fd323fe1af80b1c620'/>
<id>urn:sha1:113a33bdf883602313fa33fd323fe1af80b1c620</id>
<content type='text'>
handleAuthenticate only sends a single AUTHENTICATE message, so
according to https://ircv3.net/specs/extensions/sasl-3.1.html, its
maximum length is 399. So, we know that the authentication string
can be at most 299 bytes.
</content>
</entry>
<entry>
<title>Avoid a couple VLAs with constant size</title>
<updated>2019-11-20T20:23:46+00:00</updated>
<author>
<name>Michael Forney</name>
<email>mforney@mforney.org</email>
</author>
<published>2019-11-20T09:10:10+00:00</published>
<link rel='alternate' type='text/html' href='https://git.causal.agency/pounce/commit/?id=d6055480175938d9d8d968db326469833cff5bf3'/>
<id>urn:sha1:d6055480175938d9d8d968db326469833cff5bf3</id>
<content type='text'>
These are really just regular arrays masquerading as VLAs.
</content>
</entry>
<entry>
<title>client: Include time.h for gmtime and strftime</title>
<updated>2019-11-20T19:54:32+00:00</updated>
<author>
<name>Michael Forney</name>
<email>mforney@mforney.org</email>
</author>
<published>2019-11-20T07:35:23+00:00</published>
<link rel='alternate' type='text/html' href='https://git.causal.agency/pounce/commit/?id=fd0424b1fc835639e61a9cb25798cc7a472bea47'/>
<id>urn:sha1:fd0424b1fc835639e61a9cb25798cc7a472bea47</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Use strlcpy for sun_paths</title>
<updated>2019-11-20T18:39:25+00:00</updated>
<author>
<name>C. McEnroe</name>
<email>june@causal.agency</email>
</author>
<published>2019-11-20T18:39:25+00:00</published>
<link rel='alternate' type='text/html' href='https://git.causal.agency/pounce/commit/?id=db43450638ae9875619ce5c5a5e821990dd68c9f'/>
<id>urn:sha1:db43450638ae9875619ce5c5a5e821990dd68c9f</id>
<content type='text'>
My understanding is that sun_path need not be nul-terminated, but I
didn't notice that SUN_LEN actually requires it.

&gt; The length of UNIX-domain address, required by bind(2) and connect(2),
&gt; can be calculated by the macro SUN_LEN() defined in &lt;sys/un.h&gt;.  The
&gt; sun_path field must be terminated by a NUL character to be used with
&gt; SUN_LEN(), but the terminating NUL is not part of the address.

Thanks to Duncan Overbruck &lt;mail@duncano.de&gt; for the report.
</content>
</entry>
<entry>
<title>Format milliseconds as int</title>
<updated>2019-11-20T18:33:22+00:00</updated>
<author>
<name>C. McEnroe</name>
<email>june@causal.agency</email>
</author>
<published>2019-11-20T18:33:22+00:00</published>
<link rel='alternate' type='text/html' href='https://git.causal.agency/pounce/commit/?id=b237b9c82d1bac32be09e3ab4e3defee88d271f9'/>
<id>urn:sha1:b237b9c82d1bac32be09e3ab4e3defee88d271f9</id>
<content type='text'>
I don't know what I was thinking. I'm expecting a number less than 1000
of course that fits in int.
</content>
</entry>
</feed>
td>June McEnroe</td></tr>
<tr><td><span title='2018-09-11 22:08:54 -0400'>2018-09-11</span></td><td><a href='/src/commit/bin/man/xx.1?id=324026700184917040f360aced5995856eea838f&amp;follow=1'>Move bin man pages to bin/man</a></td><td>June McEnroe</td></tr>
<tr><td><span title='2018-09-11 21:57:05 -0400'>2018-09-11</span></td><td><a href='/src/commit/gfx/gfx.7?id=56e8803c62da1f2a31e19b2b5ac460566f8e5d38&amp;follow=1'>Rewrite gfx.7 and render plaintext README</a></td><td>June McEnroe</td></tr>
<tr><td><span title='2018-09-11 21:48:52 -0400'>2018-09-11</span></td><td><a href='/src/commit/bin/Makefile?id=340c3d7b7cdc71c7878929d1cb85db36c9acf8f3&amp;follow=1'>Remove GAMES from BINS</a></td><td>June McEnroe</td></tr>
<tr><td><span title='2018-09-11 21:46:31 -0400'>2018-09-11</span></td><td><a href='/src/commit/bin/bin.7?id=23435dd4ba517744a95c7e981a6cac82922136d4&amp;follow=1'>Rewrite bin.7 and render to plaintext README</a></td><td>June McEnroe</td></tr>
<tr><td><span title='2018-09-11 15:31:20 -0400'>2018-09-11</span></td><td><a href='/src/commit/gfx/gfxx.1?id=260b43450938e23b669b4f78b446197309ac4c69&amp;follow=1'>Add "blank" lines to man pages</a></td><td>June McEnroe</td></tr>
<tr><td><span title='2018-09-10 14:49:00 -0400'>2018-09-10</span></td><td><a href='/src/commit/home/.config/nvim/syntax/mdoc.vim?id=5ca08433216edae5e160a3764d2200d565fcd565&amp;follow=1'>Add mdoc syntax file</a></td><td>June McEnroe</td></tr>
<tr><td><span title='2018-09-08 16:08:58 -0400'>2018-09-08</span></td><td><a href='/src/commit/bin/pbd.1?id=86e5be333fcb4ccd24abb68efb7d01dc2428ccda&amp;follow=1'>Fix Nm usage in multi-name man pages</a></td><td>June McEnroe</td></tr>
<tr><td><span title='2018-09-08 01:29:57 -0400'>2018-09-08</span></td><td><a href='/src/commit/gfx/gfxx.1?id=57ef66e307b920532f21354035495f95b3794ef2&amp;follow=1'>Put real dates on man pages</a></td><td>June McEnroe</td></tr>
<tr><td><span title='2018-09-08 01:22:51 -0400'>2018-09-08</span></td><td><a href='/src/commit/gfx/README.7?id=aa5b7ab66dcbc15d4458f035987a4e84bb14dcd5&amp;follow=1'>Replace gfx README with REAMDE.7</a></td><td>June McEnroe</td></tr>
<tr><td><span title='2018-09-08 01:15:55 -0400'>2018-09-08</span></td><td><a href='/src/commit/gfx/Makefile?id=cfbb67a437dd7d7ff95e5f21a77d2c4de2320f0b&amp;follow=1'>Link gfx man pages in ~/.local</a></td><td>June McEnroe