SASL plugin for X-Chat

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: xchat-common 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