Tuesday, February 23, 2010

And another snapshot for today

Bug fix (which should be applied to stable 2.5 branch of Deadwood): Compression code had incorrect RDLENGTH in decompressed packet when the first packet had a DNS label that wasn't a compression pointer.

This actually doesn't cause any problems in Deadwood 2.4/2.5 because the RDLENGTH has the correct value again when we recompress the string before sending it over the wire (see dwc_compress_rr() where it says dw_put_u16(c,c->len - rdold,rdold - 2);), but it's best to fix this bug.

Also, dwx_stdout_dns_packet() implemented; this will allow Deadwood to be run thusly when there's a DNS name Deadwood is having a hard time resolving correctly:

Deadwood --solve www.poorly-done.dns.name.foo

The idea is to implement things so if Deadwood is run this way, it will interactively try and solve the DNS name in question, showing why it is we're having a hard time trying to resolve it.