charybdis-ircd / charybdis

Scalable IRCv3.2 server for large, community-oriented networks
GNU General Public License v2.0
231 stars 102 forks source link

m_alias: Preserve protocol framing characters #345

Closed edk0 closed 4 years ago

edk0 commented 4 years ago

The introduction of msgbufs made aliases change, e.g., SET PROPERTY foo :bar to SET PROPERTY foo bar. By storing just one extra piece of information in struct MsgBuf, a pointer to the end of the input string, we gain the ability to restore the input exactly, and can pass it to services exactly as we received it.