Category Archives: stuff

NMEA2000 and CANbus

I’ve been looking at NMEA2000 and CANbus lately. I’m attempting to reverse engineer the binary protocol seen coming out of the USB port on a Garmin GND10 network bridge, and that opens a whole field of new and interesting stuff … Continue reading

Posted in stuff | Tagged , , , , , | Leave a comment

What happened to ban.url in Varnish 4.0?

tl;dr; when using Varnish 4 and bans via varnishadm, instead of “ban.url EXPRESSION”, use “ban req.url ~ EXPRESSION”. In Varnish 3.0 we had the ban.url command in the varnishadm CLI. This was a shortcut function expanding to the a bit cryptic (but powerful) … Continue reading

Posted in stuff | Tagged , , | 1 Comment

DNS RBL test address for development

If you are writing code that checks a DNS real-time blockhole list (RBL), it looks like 127.0.0.2 is the standard address that is always in the black/white -list. This is probably know for most sysadmins/security people and whatnot, but wasn’t … Continue reading

Posted in stuff | Tagged , , , , | Leave a comment

Varnish and Ghost blogging software

So there is a new shiny blogging platform out called Ghost. Looks pretty good to me. If you want to run it behind Varnish, you’ll soon notice it has the usual problem of setting session cookies everywhere leading to 0% … Continue reading

Posted in stuff | Tagged , , | 1 Comment

GSM A5/1 rainbow tables in Oslo, Norway

The A5/1 encryption algorithm used in (traditional) GSM networks were proven to be breakable by brute force back in 2009/2010. This means that GSM calls can be intercepted, decoded and listened to by anyone. (SMS also, but that is a … Continue reading

Posted in stuff | Tagged , , , , , , | 66 Comments

Building a Varnish VMOD on Debian

From the tutorials department, here are some quick notes on how to install a Varnish VMOD from source. This is slightly complicated because Varnish demands that a VMOD must be built against the same git commit (or release) as the … Continue reading

Posted in stuff | Tagged , , , , | 7 Comments

Setting client.ip in Varnish VCL with libvmod-ipcast

I’ve written a new Varnish 3.0 VMOD called ipcast. It has a single function; ipcast.clientip(ipstring) which sets the internal Varnish variable client.ip to whatever IPv4/IPv6 address you give as the argument. You need this if you want to do ACL checks … Continue reading

Posted in stuff | Tagged , , , , | Leave a comment

Guidelines for ticketing systems (rant)

If you are writing a ticketing/support request system, make sure to remember the following: It is ok to mangle the subject line if you are the ticketing system. Absolutely no UTF8 support. ø Ã¥ ought to do it. Make sure to … Continue reading

Posted in stuff | Tagged , , , , , , | Leave a comment

Varnish trick: Serve stale content while refetching

Here is a small trick we recently implemented for a customer: The main premise was: No clients should have to wait while the backend works. If a request is a miss, give the client a slightly stale/old page instead, and fetch … Continue reading

Posted in stuff | Tagged , , | 9 Comments

Porting GnuRadio USRP examples to USRP2

Most example code in gnuradio-examples/ is written for the USRP. If you are new to this (as I am), it is somewhat tricky to update the USRP1 code into working with the USRP2. This is a short list of what … Continue reading

Posted in stuff | Tagged , , , | 2 Comments