Right now ngIRCd terminates any connection that sends in a message longer than 512 chars including line termination (see conn.c:1232).
This strikes me as a bit brutal. Other possibilities include: truncating the message, ignoring the message, or replying with some error code.
RFC 2812 doesn't directly specify what should happen when messages exceed the maximum length, but in at least once place it implies they should be truncated. In the description of ISON, it states, "The only limit on the number of nicks that may be checked is that the combined length MUST NOT be too large as to cause the server to chop it off so it fits in 512 characters."
Thoughts?
Dana