.Net's defective-by-default browser capabilities detection lends itself to DoS

Ever since .Net v4, in all versions including the last classic .Net version v4.8, the built-in browser detection accessible in the Request.Browser (a HttpBrowserCapabilities object) has a serious flaw which will bite you as soon as your site gets several visitors per minute. What happens, if you rely on this object, is that users will randomly report having their browser mis-identified. This post shows why it happens and how to solve it. The issue is also easy to reproduce locally, worth a few fun minutes. If you are so inclined, the problem also lends itself to a DoS attack. ...

January 30, 2021 · 3 min · wpgundersen

Lenovo X1 Nano - actual use

I have used the X1 Nano heavily for the last few days after configuring it with all the software I use as a software developer and manager. If you are considering the X1 Nano, but is wondering how it really is, this post is for you. I got the first model available in Scandinavia, the Core i5 16/256GB with 4G and non-touch matte 2160px 16:10 screen with extended warranty (20UN002CMX). This came from the first shipment to Norway, while Lenovo’s own web shop still just said “Coming soon”. ...

January 16, 2021 · 5 min · wpgundersen

Replacing thermal paste on Lenovo X1 Carbon to reduce temp, fan noise and CPU-throttling

I have exclusively used Lenovo (used to be IBM) Thinkpads for over 20 years, opting for X1 Carbons since the launch. Almost all Lenovo laptops suffer thermal throttling and excessive heating after a few years. Here is how to solve this issue, shown on a X1 Carbon Gen 3 (but they are quite similar). The bottom is easy to remove, just a few standard Philips screws. Inside, the cooling assembly with fan and heat sink is located top left. ...

January 3, 2021 · 2 min · wpgundersen

Solved: Azure Function "Publish Failed" from Visual Studio 2017

The “Publishing failed” error message will make you feel cursed. It appears when publishing an Azure serverless Function directly from Visual Studio 2017. Some never see it, but those who do can’t seem to get rid of it. I tried all the recommended internet forum voodoo of creating new deployment profiles, restarting Visual Studio, cleaning the project and downloading deployment profiles. If it did go away for once, it always came back. ...

March 25, 2020 · 1 min · wpgundersen

IKEA Trådfri Garage Opener

Modifying an IKEA Trådfri mains switch to become a potential free/non voltage relay, using only two components, even leaving the mains outlet free for other use. The IKEA Trådfri (or Tradfri) smart home system is inexpensive and widely available, but limited in functionality. If you want more, for instance a simple relay (not connected to mains), you need to get it somewhere else, often necessitating the install of another Zigbee controller in addition to the IKEA one. Instead, I modified a Trådfri outlet switch to become a potential free relay to control the garage door. ...

September 28, 2019 · 3 min · wpgundersen
DRAC5

Solved: Dell DRAC 5 not responding

I suddenly found myself in charge of an unresponsive old Dell PowerEdge 1950 server with a DRAC 5 remote management card from 2006. Don’t ask. The DRAC was pingable, but did not respond to http/https. When that was sorted out, the remote console did not want to play nice, because Java. The solution was long-winded and might help others, so here it is. Start at whatever step suits you, it is all a case of IT archeology at this point. ...

June 7, 2017 · 2 min · wpgundersen
ASUS 4G AC55U

Solved: Asus 4G-AC55U randomly going offline

This Asus 4G router can be great, if configured correctly. It has excellent sensitivity. Previously, I needed an external (outdoors) antenna to get 3G and 4G (LTE) coverage at the cabin; but the AC55U is sensitive enough to get the same reception indoors. I have another one at a remote shooting range to provide WiFi there. But sometimes, even with the (at writing) most recent firmware 3.0.0.4.378_8071, it suddenly disconnects from the mobile provider or refuses to route traffic. At first I wrote it off as random service issues with the mobile coverage. After all, these are rural areas with weak signal. But the outages kept appearing while my cell phone worked fine. ...

November 13, 2016 · 2 min · wpgundersen

Functional Floppy Disks - in 2015

Update December 2015: This project has now ended and the floppy era is over - for me at least. The project has been featured quite a bit in the press and blogosphere. Most notably: BBC World Service (14min12sek in) CBC Spark Norwegian National Broadcasting (NRK) Dagbladet (national newspaper) While mass production of the venerable floppy disk stopped about 2010, some are still needed for applications designed in the nineties. It is actually possible to work with floppy disks on an almost daily basis at work, in 2015. In fact, I do. ...

September 27, 2015 · 4 min · wpgundersen

SSL Host Header with wildcard certificate on IIS7 solved

When adding a HTTPS site on IIS7, the Host header field is disabled. If you have one IP per site, as used to be the requirement, this is not a problem. But when you want to host multiple sites on one IP, it is a show stopper. In my case I had a wildcard certificate, and ran into this when adding my second site. It was important not to cause any down-time on the already running site. ...

March 2, 2015 · 1 min · wpgundersen
OpenVPN OpenBSD FreeBSD

OpenVPN server on FreeBSD with pf firewall

FreeBSD 10, with the new and improved packet filter/firewall pf, and OpenVPN are all great products. But I had a not so great time making them play together - especially with a Windows 8 client. As with everything, it is easy when you know how. Most OpenVPN examples seem to be using the tap interface and ethernet bridging. To keep things simple, I wanted to go with the default ip-routed tun interface. Apart from being default, thus requiring less config fiddling, it fits nicely with pf and requires one less kernel module. ...

November 3, 2014 · 6 min · wpgundersen