Hello folks,
I'm a sysadmin at W3C, and we're looking at using ngIRCd to serve our private staff IRC channel, requiring users to authenticate through PAM. Our initial tests with this have been encouraging, and I really like how clean ngIRCd is, but we have hit a couple of corner cases with authentication I wanted to ask about.
First, users who have passwords with spaces in them can't connect. If I've done my homework right, this seems to be a limitation of the IRC protocol itself: when clients connect, they provide all their important information (nick, username, password, etc.) on a space-separated line, so the server has no choice but to parse a password with spaces as multiple fields. Do I have that right? I'd be happy to be told I'm wrong about this if it means I can accommodate these users better.
Second, ngIRCd allocates 21 bytes for the password buffer, which is too short for some of our users' passwords. As far as I can tell, a maximum password length isn't defined in the RFC or similar, so I'm guessing this limitation is largely historical. I've patched ngIRCd locally to #define CLIENT_PASS_LEN to 64, which seems to be working with no ill effects. Would you be willing to consider a patch like this upstream? We'd love to be running stock ngIRCd without any patches, even one as trivial as this.
Thank you,