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(NSEC.java:104)
	at minidns.core@0.3.3/org.minidns.record.NSEC3.<init>(NSEC3.java:132)
	at minidns.core@0.3.3/org.minidns.record.NSEC3.<init>(NSEC3.java:136)
	at minidns.core@0.3.3/org.minidns.record.NSEC3.parse(NSEC3.java:119)
	at minidns.core@0.3.3/org.minidns.record.Record.parse(Record.java:387)
	at minidns.core@0.3.3/org.minidns.dnsmessage.DnsMessage.<init>(DnsMessage.java:413)
	<snip>

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.

StableHost Ad on the Sidebar

So I’ve added a little HTML advert on the sidebar promoting StableHost, my personal host of choice.  I found myself recommending them to a friend the other day and decided it might be a good idea to join their affiliate program.  I have never had any service issues with them, and I’ve been a happy customer for two years now.

Continue reading “StableHost Ad on the Sidebar”

Disable Sign-In Button in Office 2013 and 2016

Office has a sign-in button in the top corner of every program by default to give you the (supposed) benefit of linking everything you do to Microsoft’s cloud.  There’s a way to disable this “feature” by changing a simple registry key.  I understand that this information isn’t new; there are articles out there on how to do this.  But without fail I need to look it up every time I reinstall Office, so this is here for my own sanity.

Continue reading “Disable Sign-In Button in Office 2013 and 2016”

Fix Twitch’s Proprietary Links with Camomile

Twitch has been giving away free games with Twitch Prime for a while now.  But being a streaming service, they didn’t really have a distribution platform in place, at least anything in the same league as Steam or EA Origin, to distribute their games to the eligible masses.  Enter Twitch Desktop, a clunky app that tries to be everything Twitch is along with everything Discord and Steam are, and failing at most of what it tries to do.

When a Twitch Prime member downloads their games through Twitch Desktop, they are written to a special Twitch Games folder and links are added to the desktop and Start menu (on Windows at least) that launch the games.  Unfortunately, they aren’t just ordinary links: these are Twitch Fuel links that open Twitch Desktop, hunt for the game after it loads (which can be hit-or-miss), and THEN tries to load the game.  Fortunately, with a little deobfuscation, guesswork, and magic, we can unmask these links and get things slightly back to normal.

Continue reading “Fix Twitch’s Proprietary Links with Camomile”

Disable HP Client Security’s Password Manager

I already use a password manager, and I don’t want to use HP’s.  Yet because I installed HP Client Security, I’m bombarded with notifications to install an addon that isn’t properly supported just because I want to use disk encryption and a fingerprint reader.  There’s no good solutions out there (HP forum says “uninstall our software”), so I poked around with Process Monitor and “fixed” it myself.
Continue reading “Disable HP Client Security’s Password Manager”

View Piped Data and Arguments with Argsposer

I occasionally run into the issue of wanting to inspect a link despite not having a protocol handler for it that lets me inspect it.  For instance, VMWare has a specialty link that lets a user open a remote virtual machine in a local instance of VMWare Workstation.  There are several other application-specific link handlers out there, and a majority of them will suppress the actual link in favor of just doing what you ask it to do – open the thing!

Continue reading “View Piped Data and Arguments with Argsposer”

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:

https://username:password@protected.domain.example/resource

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”