I took Russ’s Irc client at https://swtch.com/irc/ <https://swtch.com/irc/> and added enough SASL PLAIN support to access Freenode so that I could use it as my IRC client.
It’s available at https://github.com/cptaffe/airc <https://github.com/cptaffe/airc>. I documented the flow as best I could in this commit <https://github.com/cptaffe/airc/commit/d5aa833e6f6f874e664f938ab619aac30ae55f77> , and I’d appreciate constructive feedback on how to improve the implementation or add more comprehensive SASL support. My initial idea was to support CertFP, but I had difficulty getting tlsClient in libsec to work, and reading through the code I’m not sure it supports sending the client certificate (there’s a bit which indicates it always sends an empty cert). Another peculiarity is that mk all fails with a symbol error because it builds Irc.o and irc.o from irc.c on macOS, I believe this is to do with case-insensitivity in Apple’s FS. To get around this, just run the 9l command by hand without Irc.o. After mk install, running "Irc -n nick -p passed irc.freenode.net <http://irc.freenode.net/>" should attempt SASL PLAIN. Speaking of IRC, is there a plan9port IRC channel? ------------------------------------------ 9fans: 9fans Permalink: https://9fans.topicbox.com/groups/9fans/Tb7203430b1bb75f4-M26d3edd1bad27ee619cfaeaf Delivery options: https://9fans.topicbox.com/groups/9fans/subscription