At the beginning of 2010 I could no longer connect to FreeNode IRC network via provided Tor hidden service. It appeared that my X-Chat IRC client didn't support SASL authentication method required for access. After failing to find any simple solution I bit the bullet and coded simple X-Chat plugin for this purpose.
Plugin is extremely primitive: no error-checking and only PLAIN mechanism is used (Tor hidden services provide end-to-end encryption already). Use
/sasl <login> <password> <network> to enable SASL authentication for the given network (see Network List for all names, comparison is case-sensitive). For convenience plugin will execute
cap_sasl.conf from the X-Chat configuration directory (usually
~/.xchat2/) at startup.
External dependencies: xchat-plugin.h and
glib-2.0 (Debian packages:
libglib2.0-dev). Compile with:
gcc $(pkg-config --cflags --libs glib-2.0) -Wl,--export-dynamic -Wall -O1 -shared -fPIC cap_sasl.c -o cap_sasl.so