ArrayIndexOutOfBoundsException in MiniDNS Version 0.3.3

I was working on a project that uses MiniDNS, a DNS services library for Java.  I noticed I was getting a strange error message when loading certain requests, with no noticeable correlation between them:

java.lang.ArrayIndexOutOfBoundsException: Index -1 out of bounds for length 32
	at minidns.core@0.3.3/org.minidns.record.NSEC.createTypeBitMap(
	at minidns.core@0.3.3/org.minidns.record.NSEC3.<init>(
	at minidns.core@0.3.3/org.minidns.record.NSEC3.<init>(
	at minidns.core@0.3.3/org.minidns.record.NSEC3.parse(
	at minidns.core@0.3.3/org.minidns.record.Record.parse(
	at minidns.core@0.3.3/org.minidns.dnsmessage.DnsMessage.<init>(

This is an edge case where an unknown DNS response type being returned for an NSEC3 answer gets “un-resolved” down the road and crashes the parser.  It has been fixed in 0.4.0-alpha.

Fixing Java URL Authentication 401 Errors

I came across an issue the other day where my URL with inline authentication tokens was giving me a 401 Unauthorized error.  For the unfamiliar, URL authentication isn’t very heavily used, but it works like this:


That username:password bit is known in Java as the User Info string, and Java handles it differently than web browsers do.

Continue reading “Fixing Java URL Authentication 401 Errors”