I&#x27;m familar with all this langsec stuff.  I think it&#x27;s interesting, but I&#x27;m not convinced about the delimiter argument.  I actually watched one of those talks and I remember an audience member argued in favor of length prefixes too.<p>I think this is mostly confusing tokenization and parsing.  Regular languages and context free grammars basically define predicates on infinite streams of tokens (match or no match).  In practice, the tokens are variable length, like HTTP headers.  And if you care about resource exhaustion attacks, which you do in practice, then you need some kind of length limit.<p>Even if you&#x27;re using delimiters instead of length prefixes, you need this.  Do you want to accept a 10 GB HTTP header value?  Well the minute you do that, your recognizer is no longer context-free or regular, and you cannot solve the halting problem, etc.<p>I think they bring up Mongrel as an example of a principled parser.  But AFAIK it still has semantic actions for capture -- the whole point of Ragel is that you can embed semantic actions, like Yacc.  Once you have semantics actions, you&#x27;re writing in a Turing complete language, so you have all the same problems.  The problems are only mitigated, not theoretically eliminated.<p>I think there is a pretty large gulf in computational power between &quot;weird machine, input data is a full-fledged programming language&quot; and length prefixes and length limits.  I bet you can define some formalism with length prefixes or length limits and prove things about them too.  They are only speaking to one aspect of security, in any case.<p>I looked at their Hammer parser combinator project recently too.  That seems to have failed or languished, I think because parser combinators aren&#x27;t good at expressing real world message formats.  For one, a lot of servers are async, and a lot of parser generators assume that they pull their input rather than having it pushed upon them in async fashion.  Another is that I would think using parser combinators probably doesn&#x27;t lead to good memory allocation patterns.<p>So basically I think the langsec stuff is interesting but doesn&#x27;t entirely line up with reality. Though if they continue to pursue it, I think it will bear some fruits.  I&#x27;m not ready to accept protocol design suggestions from them until they have tested their ideas in practice more.  The Hammer thing was a good idea, but as far as I can tell it was mostly a negative result in terms of testing theory against practice.