Dynamic Syntax Highlighting in Vim

I’m a huge fan of syntax highlighting in my editor Vim. One thing I started to miss was that user defined type miss out on the highlighting, because Vim does not know about them. Wouldn’t it be cool to have some sort of automatic support that detect your types and adds them to the correct highlighting group? I call this “dynamic syntax highlighting”. As a proof-of-concept I took the tagbar plugin, and modified it a little to take advantage of the language detection (specifically the types).
Read more →

Updated DNS syntax file for VIM

When editing zone files with vim I always get annoyed by the fact that the syntax highlighting did not understand newer types ’n stuff. I never did anything about until now. Download this vim syntax file and drop it in ~/.vim/syntax. It adds newer (DNSSEC) types and base64 highlighting. Base64 only works when there are no embedded spaces (patch welcome to fix that btw!)
Read more →

Tweets of August 31 2012

Replying to @jessemcnelis ah thanks I was only using cpuprof, but indeed there is also memprof. Fri Aug 31 05:35:59 +0000 2012 Mail subject: “DS lunch”, huh Delegation Signer lunch?? Alas, turned out to be something completely different Fri Aug 31 07:01:57 +0000 2012 Replying to @ecnivnl Dacht dat we dit gefixt hadden toen we de crawler geupgrade hadden. Je hebt zeker alleen een algo 8 key? \(perfectly ok\) Fri Aug 31 07:30:23 +0000 2012
Read more →

User management in fksd

If you do DNS for too long everything looks like 53. In this “trace” I’m showing the logging of fksd when I add a zone, try to list it as a non-existent user miekg (which fails), add the user miekg and list it again. User are identified by the key in the TSIG record, their password is the shared secret. The “config files” from nsupdate can be found in the github repo of fksd.
Read more →

Dynamic nameserver provisioning with dns pkts

I’m writing a nameserver called fksd (Funkensturm daemon), which is currently in a prototype stage (but the code is available at github). In this server I’m pursuing some interesting directions in nameserver development, such as the dynamic configuration as provided by BIND10. BIND10 uses http(s), but I think using DNS packets is more in line with a nameserver, so I opted for that route. With fksd you can use packets (which will be TSIG signed in the future tomorrow) to configure the server.
Read more →

Tweets of July 31 2012

Android Jelly bean on my aging Xoom. Indeed nice and fast Tue Jul 31 16:00:22 +0000 2012 Either my server crashed or something else happened... 7000 km from home Tue Jul 31 16:18:11 +0000 2012
Read more →

Libunbound wrapper in Go

I’ve created a small wrapper for libunbound for use in Go. The code can be found at github. It depends on my Go DNS library which can be found here. Official announcement on the Unbound-users@ list. To give you a little taste of how it looks, I’ve (re)created tutorials 2 to 6 in Go. Tutorial 2 looks like this, for instance: package main // https://www.unbound.net/documentation/libunbound-tutorial-2.html import ( "dns" "fmt" "os" "unbound" ) func main() { u := unbound.
Read more →

Tweets of June 30 2012

Replying to @nlmarkscholten je hebt toch de ip’s van de nameservers, met een tcp\(\!\) DNSKEY query ben je al een heel eind. Zie ook: http://drskey.sidnlabs.nl/ Sat Jun 30 08:11:25 +0000 2012 back to go’old XFCE 4.10. GNOME3 is more slick, but at least this just works \(and fast\!\) Sat Jun 30 08:12:23 +0000 2012 Replying to @nlmarkscholten key2ds? zit in ldns, perl’s net:dns en nog een paar andere libs denk ik zo :-)
Read more →

Sync subversion to github.com

This is a post that details on how to sync a subversion repository to git repository on github.com, and how to keep it in sync. The following sites were instrumental in getting this to work: stackoverflow.com question on getting svn into git; ssh foo. There are a number of steps to take. From a bird’s eye view: Use git svn to clone the svn repo to a git repo; Create a github git repo; Add a remote origin in your local git to the remote github repo; Use some SSH foo to use a separate SSH key for pushing to github.
Read more →

Munin port traffic plugin

I wanted to look at the increase in ntp traffic now that I’ve joined the pool.ntp.org ranks. Unfortunately munin didn’t have a watch-port-x-and-draw-something-plugin. So I wrote my own based upon the ip_ plugin. The plugin monitors both v6, v4, tcp and udp and plots them together, as send and received. Just symlink the port number to the plugin: ip_port_123 -> ip_port_ For it to work, you do need some iptables rules, so yes, this plugin only works in Linux.
Read more →

Printing MX records with Go DNS

Now that the API seems to stabilize it is time to update these items. We want to create a little program that prints out the MX records of domains, like so: % mx miek.nl miek.nl. 86400 IN MX 10 elektron.atoom.net. Or % mx microsoft.com microsoft.com. 3600 IN MX 10 mail.messaging.microsoft.com. We are using my Go DNS package. First the normal header of a Go program, with a bunch of imports.
Read more →

ath9k under Linux

For some reason I was experiencing wifi disconnects with the ath9k wifi driver under Linux (Ubuntu 12.04). After reading numerous blogs and bug reports (disable ipv6, use hwcrypto=0, etc.), I suspected it was the power management that was somehow disabling the driver, in turn leading to a disconnect. This will probably be fixed in newer kernels (Ubuntu 12.04 ships 3.2.x). For now I took a shortcut and disabled the power management on the wlan0 interface.
Read more →

draft-gieben-creating-rfcs-pandoc-00.txt

Maybe I’ll try to send it in as a individual submission. Source repository at github As txt download Pandoc2rfc code repository Network Working Group R. Gieben Internet-Draft SIDN Intended status: Informational April 2012 Expires: October 3, 2012 Creating Internet Drafts and RFCs using Pandoc draft-gieben-creating-rfcs-pandoc-00 Abstract This memo presents a technique for using Pandoc syntax as a source format for documents in the Internet-Drafts (I-Ds) and Request for Comments (RFC) series.
Read more →

Tweets of May 31 2012

Replying to @silentlennie and @dakami The equivalent of HTST in DNS is the DS at the parent. If its there you *expect* DNSKEYs and RRSIGs as a resolver Thu May 31 11:23:42 +0000 2012 Replying to @dakami and @silentlennie yeah, but dns is of course a slightly diff. proto than http\(s\) Thu May 31 12:41:00 +0000 2012 RT @nlmarkscholten: Aanrader RT @SIDN U kunt het webinar ‘Do’s and don’ts van DNSSEC voor .
Read more →

Tweets of April 30 2012

Replying to @jessemcnelis ah ok. Silly that go vet complains about it then Mon Apr 30 08:35:10 +0000 2012 What is the LOC record a bitch! Mon Apr 30 12:09:26 +0000 2012 Replying to @_cyclops_ that too. Implementing experimental records *sigh* Mon Apr 30 12:15:43 +0000 2012 Replying to @rogpeppe how do you encode for that? One long tag-string or multiple tags? Mon Apr 30 12:34:34 +0000 2012 #xfce #4.10 #ubuntu No packages yet: https://launchpad.
Read more →

Tweets of March 31 2012

RT @jasparov: En zo blijft Nijmegen ‘scoren’@fabfrank1508: Zo staan ze bij alle parkeerautomaten in #Nijmegenparkeren. Schande http://t. ... Sat Mar 31 16:33:48 +0000 2012 Replying to @stonehead sorry? Wat voor voornemens...? Sat Mar 31 16:34:39 +0000 2012 Site van Paradigit, paradigit.nl, nog steeds down... Sat Mar 31 21:01:32 +0000 2012
Read more →

Lord of the DNSSEC

“One Key to rule them all, one Key to find them, one Key to bring them all and in the Resolver bind them." Modified from Lord of the Rings. Yes, this quote is mine. And I think this Internet Protocol Journal has its first use.
Read more →

Why not ZIP the damn thing

See this code in github, where I’ve implemented zipping DNS messages. A modified q prints the compression rate at the first line. It only shows how much compression you would get when you compress the answer. For compression we use DEFLATE as described in RFC 1951. A typical example: q @open.nlnetlabs.nl MX miek.nl ;; Uncompressed/Compressed 253/142 (1.781690) ;; bla bla bla bla That’s not bad a compression factor of almost 1.
Read more →

Super-short guide to getting q (Part II)

The development of the language Go is going at a fast pace, hence an updated version of Super-short guide to gettinq q. Get the latest version (called weekly) of Go: Get Go: hg clone -u release https://go.googlecode.com/hg/ go Note the directory you have downloaded it to and set add its bin directory to your PATH: PATH=$PWD/go/bin. Update Go to the latest weekly: cd go; hg pull; hg update weekly Compile Go: cd src, you should now sit in go/src.
Read more →

Tweets of February 29 2012

RT @Raspberry_Pi: Oh god I need a coffee. Wed Feb 29 06:54:58 +0000 2012 Alle problemen zijn als sneeuw voor de zon verschenen Wed Feb 29 12:54:10 +0000 2012 .US uses RSA keys with a 2^32+1 exponent. This breaks Go’s crypto lib, hence the validation failures.. http://code.google.com/p/go/issues/detail?id=3161 Wed Feb 29 18:22:26 +0000 2012 domainski, knot, http://www.knot-dns.cz/ cloning Git repo now Wed Feb 29 18:26:33 +0000 2012 #knot knot-zcompile parses my test zone in 12.
Read more →

godns is now dns

Due to the new go tool (long story), I’ve renamed godns to dns. This means the github repo is also somewhere else. godns installed itself as dns so code using it does not need to be changed.
Read more →

Tweets of January 31 2012

http://tools.ietf.org down? Tue Jan 31 09:09:58 +0000 2012 I don’t like the go build tool ‘go’ #WantMakefiles Tue Jan 31 09:45:13 +0000 2012 Replying to @twitjeb thanks. With shift-reloading that page. Also saw it is working again. Tue Jan 31 09:55:21 +0000 2012 Always a keep way to check if your e-mail server setup is working. Incoming spam and PHP security alerts. Tue Jan 31 10:00:47 +0000 2012 Replying to @SpamExperts and @ecnivnl
Read more →

DNS Fingerprinting

Announcing FP The tool for DNS fingerprinting is fpdns, which is Perl based. In recent times development seems to have picked up, but a little competition never hurt anyone, so I wrote fp in Go. Fp is also a fingerprint program for DNS servers. Its aim is to be more readable then fpdns is (was?). And make it more easy to add new server types. Help needed! Do you have some old(er) nameserver laying around that can be queried?
Read more →