<feed xmlns='http://www.w3.org/2005/Atom'>
<title>sliderule.git/gopher, branch main</title>
<subtitle>The small web toolkit for Go
</subtitle>
<id>https://code.tjp.lol/sliderule.git/atom?h=main</id>
<link rel='self' href='https://code.tjp.lol/sliderule.git/atom?h=main'/>
<link rel='alternate' type='text/html' href='https://code.tjp.lol/sliderule.git/'/>
<updated>2026-07-01T16:47:36Z</updated>
<entry>
<title>Harden Gopher parsing and recover server goroutines</title>
<updated>2026-07-01T16:47:36Z</updated>
<author>
<name>T</name>
<email>t@tjp.lol</email>
</author>
<published>2025-04-03T16:00:40Z</published>
<link rel='alternate' type='text/html' href='https://code.tjp.lol/sliderule.git/commit/?id=748a806adc5a325e63ca6883b2aa9bf15da90513'/>
<id>urn:sha1:748a806adc5a325e63ca6883b2aa9bf15da90513</id>
<content type='text'>
Reject oversized or malformed Gopher selectors as parse errors instead of panicking. Keep search requests bounded, and wrap shared server goroutines with panic logging so one bad connection cannot take down the process.
</content>
</entry>
<entry>
<title>tolerate bare newlines in gophermap parsing (non CRLF)</title>
<updated>2024-01-15T02:53:10Z</updated>
<author>
<name>tjp</name>
<email>tjp@ctrl-c.club</email>
</author>
<published>2024-01-15T02:53:10Z</published>
<link rel='alternate' type='text/html' href='https://code.tjp.lol/sliderule.git/commit/?id=751f423f11bf6fd848a074b2575cc00fdb6c3bad'/>
<id>urn:sha1:751f423f11bf6fd848a074b2575cc00fdb6c3bad</id>
<content type='text'>
</content>
</entry>
<entry>
<title>dial timeouts for clients, and catch up on test fixes</title>
<updated>2024-01-13T18:29:17Z</updated>
<author>
<name>tjp</name>
<email>tjp@ctrl-c.club</email>
</author>
<published>2024-01-13T18:29:17Z</published>
<link rel='alternate' type='text/html' href='https://code.tjp.lol/sliderule.git/commit/?id=4d861a2c395c0926b066014b92999d4dda454b2b'/>
<id>urn:sha1:4d861a2c395c0926b066014b92999d4dda454b2b</id>
<content type='text'>
</content>
</entry>
<entry>
<title>add a *Request to Response</title>
<updated>2024-01-10T18:10:09Z</updated>
<author>
<name>tjp</name>
<email>tjp@ctrl-c.club</email>
</author>
<published>2024-01-10T18:06:53Z</published>
<link rel='alternate' type='text/html' href='https://code.tjp.lol/sliderule.git/commit/?id=b6c0ba24cf5902e6bafff4243979bb12010aa142'/>
<id>urn:sha1:b6c0ba24cf5902e6bafff4243979bb12010aa142</id>
<content type='text'>
</content>
</entry>
<entry>
<title>optional tabs for gopher i lines</title>
<updated>2024-01-04T03:15:11Z</updated>
<author>
<name>tjp</name>
<email>tjp@ctrl-c.club</email>
</author>
<published>2024-01-04T03:15:11Z</published>
<link rel='alternate' type='text/html' href='https://code.tjp.lol/sliderule.git/commit/?id=69c5336ea11aa51e2b47526f7d6108ac42ddcef1'/>
<id>urn:sha1:69c5336ea11aa51e2b47526f7d6108ac42ddcef1</id>
<content type='text'>
</content>
</entry>
<entry>
<title>bugfixes from the Protocol refactor</title>
<updated>2023-11-14T16:39:53Z</updated>
<author>
<name>tjp</name>
<email>tjp@ctrl-c.club</email>
</author>
<published>2023-11-14T16:39:53Z</published>
<link rel='alternate' type='text/html' href='https://code.tjp.lol/sliderule.git/commit/?id=c22799fa12c99932fc4620fce2dc0994567a52af'/>
<id>urn:sha1:c22799fa12c99932fc4620fce2dc0994567a52af</id>
<content type='text'>
</content>
</entry>
<entry>
<title>lint and bug fixes</title>
<updated>2023-11-13T14:27:56Z</updated>
<author>
<name>tjp</name>
<email>tjp@ctrl-c.club</email>
</author>
<published>2023-11-13T14:27:56Z</published>
<link rel='alternate' type='text/html' href='https://code.tjp.lol/sliderule.git/commit/?id=aa9bca810912f102a13a674ee30bf97f5667f662'/>
<id>urn:sha1:aa9bca810912f102a13a674ee30bf97f5667f662</id>
<content type='text'>
</content>
</entry>
<entry>
<title>refactor contribs to work with a Protocol interface</title>
<updated>2023-11-13T14:27:16Z</updated>
<author>
<name>tjp</name>
<email>tjp@ctrl-c.club</email>
</author>
<published>2023-11-13T14:25:39Z</published>
<link rel='alternate' type='text/html' href='https://code.tjp.lol/sliderule.git/commit/?id=1e0f8e0aaeaf1bd2ee39c02e922238b641bcf88b'/>
<id>urn:sha1:1e0f8e0aaeaf1bd2ee39c02e922238b641bcf88b</id>
<content type='text'>
</content>
</entry>
<entry>
<title>enable optional selector/host/port in extended gophermap lines</title>
<updated>2023-10-31T23:31:30Z</updated>
<author>
<name>tjpcc</name>
<email>tjp@ctrl-c.club</email>
</author>
<published>2023-10-31T23:31:30Z</published>
<link rel='alternate' type='text/html' href='https://code.tjp.lol/sliderule.git/commit/?id=5be7e44150d31582e6d8577d48c842a421fa8ddc'/>
<id>urn:sha1:5be7e44150d31582e6d8577d48c842a421fa8ddc</id>
<content type='text'>
fixes #11
</content>
</entry>
<entry>
<title>add NewTLSServer for gopher and finger</title>
<updated>2023-10-10T22:50:06Z</updated>
<author>
<name>tjpcc</name>
<email>tjp@ctrl-c.club</email>
</author>
<published>2023-10-10T22:50:06Z</published>
<link rel='alternate' type='text/html' href='https://code.tjp.lol/sliderule.git/commit/?id=0a7e966d5a093e8c2d3b3834d25feb93f5fca156'/>
<id>urn:sha1:0a7e966d5a093e8c2d3b3834d25feb93f5fca156</id>
<content type='text'>
</content>
</entry>
</feed>
