Menu

libqcap / News: Recent posts

First stab at SMTP

The NPG parser can now (sort of) handle the client-side of SMTP conversations. I've only tested it against one stream, but the parser works.

Posted by Evan Hughes 2006-07-08

Now we can really parse ABNF

Despite my post a while back about our ability to parse ABNF, I was wrong. There were a few bugs and errors that prevented the generation of a proper context free parser.

Now, however, that's all behind us. Now we really have an ABNF parser. The next step is to clean up the code base, and start integrating NPG features.

Posted by Evan Hughes 2006-06-02

Breaking my own rules

I have a personal rule that I will never put a source repository into a broken state. In other words, I will never knowingly push buggy or nonfunctional revisions into the repository.

Sadly, I'm in the middle of refactorying the NFA coalescence algorithm, and I need somewhere to store the quasi-functional current version. More importantly, the code base has churned a fair bit since my last commit, meaning that I don't have any offsite backups of the most recent updates. ... read more

Posted by Evan Hughes 2006-05-28

NFA pains

In order for qcap to be able to parse application streams, we need a language to describe the application-level streams, as well as a parser generator capable of turning instances of that language into runnable parsers.

Recently, my focus has been on taking our ABNF-like language for protocol specification and building a parser out of it. The approach I'm taking is two pass. First, we generate a non-determinate finite automata (NFA), full of lots of empty transitions - we allow empty transitions in the initial NFA because they make the NFA construction much easier. Second, we coalesce the NFA into a compact form, that doesn't have any empty transitions. This makes runtime parsing much easier. ... read more

Posted by Evan Hughes 2006-05-27

CVS is dead! Long live SVN!

Today we made the switch from CVS to Subversion. Instead of the nasty, crufty old CVS repository, I've moved the code into the Subversion version control system. That is now the canonical source for qcap code.

Export, compile, and enjoy!

Posted by Evan Hughes 2006-04-26

Two new developers, and parsing NPG

Today we welcome two new developers to qcap: Tim Furlong (http://www.ccsl.carleton.ca/people/tfurlong/), and Hajime (Jim) Inoue (http://www.ccsl.carleton.ca/people/hinoue/). They are both actively using qcap for research projects, and pushing it beyond its initial specifications (huzzah!).

In slightly less exciting news, the ABNF parser mentioned on Friday now understands NPG; meaning that the NPG GLL parser should be able to parse NPG compliant streams by May.

Posted by Evan Hughes 2006-04-25

We can parse from ABNF specifications!

As of the most recent CVS checkin, qcap's parser library can parse Augmented Backus-Naur Format (ABNF), as specified in RFC 2234. This may not sound like much of an accomplishment, but it finally puts us in a position where we can implement the Network Protocol Grammar.

The Network Protocol Grammar (described in http://www.scs.carleton.ca/research/tech_reports/2006/download/TR-06-02.pdf\) is an ABNF-like grammar that describes standard IEEE protocols in a machine-readable manner. This means that we can use the NPG to specify a protocol (such as HTTP, FTP, or SMTP) and build a parser that will be able to handle every valid conversation. ... read more

Posted by Evan Hughes 2006-04-21
MongoDB Logo MongoDB