The awful genius of horrible workarounds
Sometimes, you have to redact and change details quite a lot to avoid getting in trouble with the clients/friends/lovers you are writing about.
This is one of those blog posts.
Let’s say for the sake of argument that one of my voluntary roles involved helping some end users deploy and use a web app. The apps sits inside the network these users use, and it’s maintained day to day by their in house IT.
Unfortunately, the users hit a problem with one aspect of the app: uploading files. This works 99% of the time but one particular ZIP file wouldn’t upload.
Sounds like a problem with the app, right? And as the app author, that’s why they called me.
However, where do you go next when you establish that the problem affects some, but not all, of their users? And that what seems to happen is that the HTTP request to the app gets cut off before the body is delivered, despite it having left the browser?
At this point, I was pretty sure the organization in question had some sort of (supposed to be) transparent proxy being forced in between (some of) the users and the app.
Unfortunately, the organization point blank denied that being the case. The trouble with … larger … organizations is that it can take weeks to get hold of someone who even understands the question they are being asked, and with a deadline coming up, that route wasn’t going to be quick enough.
So what to do? Unpacking and repacking the problematic ZIP didn’t change the results, but then I had one of those “stench of genius” moments…
ZIP files can be password protected, and the password protection involves encrypting the contents. It may not be the most robust or foolproof way of securing things, but as a way of bypassing whatever proxy or intrusion detection was (probably) involved in this situation (without making unwanted modifications to the ZIP), it worked out perfectly.
Obviously, I had to modify the app to spot password protected ZIP files and assume they were using a single well-known and pre-agreed password so it knew how to unpack them.
Delicious? Disgraceful? I still need to get to the bottom of the actual problem, but some Fridays, a workaround and a happy user wishing you happy weekend is the best you can hope for.