Monday, August 18, 2008

Deadwood update; ObHack minor update

On Friday, I silently updated the MaraDNS web page to point to the latest releases of MaraDNS which I uploaded two weeks ago. I haven't uploaded the latest release to Sourceforge, but will probably do so this week sometime.

On Saturday, I drove my neighbor to work. I then did some errands, and picked her up after work. She made me some "Russian salad" and we spent the afternoon eating and talking.

On Sunday, my neighbor was busy so I ended up having some time to geek out. I ended up updating Deadwood to remove a couple of Cygwin-only compile-time warnings, and getting "resurrections" to work when Deadwood is unable to connect to the upstream DNS server.

"resurrections" is the ability to pull expired records from the DNS cache when there is no other way to get a DNS record. Basically, it's a DNS record of last resort. If, for whatever reason, it's impossible to get a current DNS record, it's probably better to give the user a possibly outdated DNS record than no record at all. This is called "resurrections" in Deadwood. And yes, if you feel this someone violates the DNS spec or whatever, it can be disabled.

Anyway, resurrections now work either when there's a timeout trying to connect to an upstream DNS provider, or if it's impossible to send a packet upstream. Each case uses different code; I may also eventually add code to use resurrections in the case of being able to connect to the upstream DNS provider, but upstream gives Deadwood a DNS error instead of the reply (the code may actually already do this; I will have to check).

I also have the version number of Deadwood appear when it's started.

In addition, I have made a minor update to ObHack. This backports Andrew's bugfix for monsters or items on crates. The fix doesn't seem to be perfect, but does seem to reduce the number of times monsters or items are inaccessible because they're on top of a crate.

This will probably be my last update to ObHack for a while; to be honest, I currently don't enjoy playing first person shooters so have little motivation to work on this code. I may end up releasing ObHack 004a and declaring it stable. We'll see.