I suppose people might be curious.
- Fix a remotely-exploitable bug in Gaim where people can send specially crafted SNACs to you and cause Gaim to go into an infinite loop. This is bad. (Although, instead of fixing it ASAP I decided to create a blog. Go figure.) These things are a pain because we should probably get CVE number, and post info to http://gaim.sourceforge.net/security/, and make a new release. AND it makes us look bad. Maybe that’s why I was so annoyed when the guy froze my Gaim instance last night.
- Tidy up my jcoverage fork, import it to sourceforge CVS, make a release, and add more info to the web page. It’s called Cobertura.
- Work on my C# AIM client. I don’t know where I’m going with this, but it’s fun. I figured out how to use the MD5 class last night,1 so I’m basically done with the auth stuff. It’s so nice to be able to use objects. I know you can emulate it in C… but it’s not the same.
1 About System.Security.Cryptography.MD5CryptoServiceProvider: I don’t think you can pass it chunks of data at time. You have to pass it everything at once. I was used to the MD5 functions we use in Gaim, where you can give it a byte array, then another, then another, and it just calculates the checksum as it goes along. With the C# class you can pass it a byte array or a stream. I originally tried passing it three byte arrays in three different function calls. I got it working by putting the 3 byte arrays into a MemoryStream and passing in that.