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).
/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
the X-Chat configuration directory (usually
~/.xchat2/) at startup.
External dependencies: xchat-plugin.h and
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