4 ms·
This is how ragel [1] does things. It basically compiles to giant-switch state machines, and is damn fast. [1] https://www.colm.net/open-source/ragel/ https://
by kstenerud 8y ago
This is how ragel [1] does things. It basically compiles to giant-switch state machines, and is damn fast.
[1] https://www.colm.net/open-source/ragel/ https://www.colm.net/open-source/ragel/
- jgrahamc 8y agoAgreed. We used to use Ragel for some tasks and it was fast.
- nicoburns 8y agoRagel was also the source of cloudbleed! So I would definitely understand if cloudflare were wary of using that kind of technique again.
- Matthias247 8y agoAs far as I remember not Ragel was the issue, but the code around it. If you use a Rust parser from inside broken C code which Leaks memory the same thing can happen.
- jgrahamc 8y agoThat's not the right way to talk about it. The error was in code that used Ragel but it was all on us. But as part of improving things we have moved away from non-memory safe languages and Ragel was using C.