May 15, 2008
Unicode nickname support in UnrealIRCd
A recent release of UnrealIRCd has brought us support for some latin codepages and even mulitbyte encodings. Unicode, however, is not included, so that it looks a bit like a kludge.
But there’s a comprehensive discussion along with patches for better codepage support in the project’s bug tracker. Unfortunately, some of the patches are not done right, and the rest of them are a bit, uh, stale.
This procedure worked for me:
- Get UnrealIRCd 3.2.5 (3.2.x might work, too)
- Patch with
unreal3.2.5.cvs.codepages-2.diff(allowed fuzz of five or so) - Edit
src/modules/Makefile.inmanually (the patch was rejected here for me), addingm_names.so m_codepage.soto R_MODULES and COMMANDS. - To allow full UTF8 nick names, change the conditional in
src/modules/m_nick.caround line 150 to read:/* For a local clients, do proper nickname checking via do_nick_name() * and reject the nick if it returns false. * For remote clients, do a quick check by using do_remote_nick_name(), * if this returned false then reject and kill it. -- Syzop */ if (!do_remote_nick_name(nick)) /* just do some basic checking */ {
That way you still won’t have
\xA0!+%@&~#$:'\"?*,.
but I guess this is a limitation of the IRC protocol.
After that you should be ready to run
./Config && make, and set up yourunrealircd.conf. It’s best to also enabled UTF-8 as the default incodepage.conf.Happy hacking!
Comments(3)