From: "Jeff Johnson" <trnsz@pobox.com>
To: 36233@debbugs.gnu.org
Cc: jhj@trnsz.com
Subject: bug#36233: 26.2; Tokenization error in rcirc parser
Date: Sat, 15 Jun 2019 18:01:38 -0400 [thread overview]
Message-ID: <884c1235-744e-43b2-b379-77b3b3b04a9f@www.fastmail.com> (raw)
I'm reporting a bug that has to do with unused IRC
protocol colon escaping combined with the use of
certain unusual but not disallowed characters in
channel keys.
It should be noted that certain IRC servers that
always colon escape the last token, (pedantic, but
certainly valid per the IRC RFC's) often triggers a class
of bugs, to most of which rcirc is immune, except when
combing the use of ':' in a channel key, which leads the
to the channel key being stripped of the ':' but not
final argument.
Example, if the server sends:
"MODE #cchan +kl a:b :999"
That is somehow parsed by rcirc as:
"MODE +kl a b :999"
Clearly incorrect - it should be "MODE +kl a:b 999".
The colon *is* allowed as part of the channel key (as it
is not disallowed in the RFC), except, of course, as the
first character of the key, where it would break protocol.
ircrc client does parse the case of "MODE #chan +k :a:b"
correctly, yet fails for "MODE #chan +kl a:b :999".
An example of an ircd that always escapes the final token
and does not disallow colons in channel keys is inspircd,
but there are many others. inspircd exactly follows the
RFC - pedantically so - but does not conform to historical
behavior - only standards compliance.
Inspircd has a testnet at testnet.inspircd.org which can be
easily used to reproduce the behavior reported.
I've tested that this bugs exists and is reproducible on both
Emacs 26.2 and 25.1 with the included rcirc.
--
Jeff Johnson
trnsz@pobox.com
next reply other threads:[~2019-06-15 22:01 UTC|newest]
Thread overview: 4+ messages / expand[flat|nested] mbox.gz Atom feed top
2019-06-15 22:01 Jeff Johnson [this message]
2019-06-16 20:10 ` bug#36233: 26.2; Tokenization error in rcirc parser Noam Postavsky
2019-06-17 1:53 ` trnsz
2019-06-22 23:30 ` Noam Postavsky
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=884c1235-744e-43b2-b379-77b3b3b04a9f@www.fastmail.com \
--to=trnsz@pobox.com \
--cc=36233@debbugs.gnu.org \
--cc=jhj@trnsz.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
Code repositories for project(s) associated with this external index
https://git.savannah.gnu.org/cgit/emacs.git
https://git.savannah.gnu.org/cgit/emacs/org-mode.git
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.