SeaMonkey Trunk Tracker

Friday, February 20, 2009

Better Late Than Never

Now that Alpha 3 has been tagged it's time for... something completely different. :-)

Back in 2005 (when I was still at university) I was taking an "Internet lab" course where we implemented a basic HTTP server, a POP3 client with simple MIME support and a stripped-down Chord network, all in Java. The intention was to give an introduction to Internet protocols. Our task was to look at the relevant RFCs and come up with a standards-compliant implementation.

When we arrived at the POP3 client exercise our tutor gave us a Really Simple POP Server (RSPS). We used Mozilla (the suite) to check if it worked. It didn't. Or rather that's how it appeared to us. The truth was that Mozilla was violating the relevant RFC 1939 by requiring the server to support the optional commands TOP and UIDL. Our tutor was kind enough to implement those to let us test with Mozilla but obviously it wasn't RSPS's fault.

It was only recently that I found that the corresponding bug 156998 has been fixed (in June 2007 already, actually) so the good news is that this will be fixed in SeaMonkey 2 (the fix has not been back-ported to the Mozilla1.8 branch SeaMonkey 1.1 updates are released from); verified with the original RSPS (AFAIK it's not publicly available and all I have is the binary JAR so no source, sorry).



  • Unless it's been obfuscated it's relatively easy to disassemble Java bytecode; I even have a version that tries to reconstruct the original expressions, although it can't really cope with declarations or control flow, so there's still lots to fix before you can recompile.

    By Blogger Neil, at 11:53 AM  

Post a Comment

<< Home