Real (email) HTML can get a bit extreme

Over on the Fediverse, I noted a discovery I'd made recently :

It turns out that if you nest a couple hundred

s inside eachother before you get to the actual content text, GNU Emacs shr (itssimple HTML renderer) can't cope with the result and gives you nocontent.

Guess what some HTML-capable email clients do (possibly after theemail is repeatedly mutated and resent).

I wonder if I dare report this as an Emacs shr bug. Reproduction issimple


Finding which NFSv4 client owns a lock on a Linux NFS(v4) server

A while back I wrote an entry about finding which NFS client ownsa lock on a Linux NFS server , which turnedout to be specific to NFS v3 (which I really should have seen coming,since it involved NLM and lockd). Finding the NFS v4 client thatowns a lock is, depending on your perspective, either simpler ormore complex. The simpler bit is that I believe you can do it allin user space; the more complex is that as far as I've been able


One reason that ZFS can't turn a directory into a filesystem

One of the wishes that I and other people frequently have for ZFSis the ability to take an existing directory (and everythingunderneath it) in a ZFS filesystem and turn it into a sub-filesystemof its own. One reason for wanting this is that a number of thingsare set and controlled on a per-filesystem basis in ZFS, insteadof on a per-directory basis; if you have a (sub)directory where youwant any special value for those, you need to make it a filesystem


Thinking about the sensible limits of customization of things

Recently, for reasons beyond the scope of this entry, I've beenmostly handling my email in GNU Emacs, with MH-E . GNU Emacs is famously flexible andcustomizable, mostly through the somewhat challenging method of'merely' writing the relevant (Emacs) Lisp code to do what you want.I'm capable of writing Emacs Lisp, so armed with a hammer and usinga new mail client, I have been finding plenty of things to use thathammer on ( sometimes with hackery and Emacs crimes


Alerting on sticky configuration reload failures for Prometheus

Recently, I discovered that 'promtool check config' doesn't alwaysfail if you have Prometheus configuration errors (which may be abug). Fortunately this was only a mild issue because quite sometime ago I added an alert for a sticky configuration reload failure.When this alert fired soon after I thought my configuration wasgood and my reload had succeeded, it was pretty straightforward towork out that 'promtool check config' was more or less lying to me(especially since the Prometheus server did log information about


The issue of what headers to include in your DKIM signatures

Increasingly, you have to sign your outgoing email messages withDKIM . When you use DKIM to signthings, in one sense you're signing an abstract 'email message',and in another, more concrete sense, you're signing the email bodyplus some of the email message headers. You might innocently thinkthat the message headers to sign are standardized and obvious, butI've recently learned that neither is the case due to a recentdiscussion on the Exim mailing list. Different mail systems maysign


There are at least two ways to 'verify' TLS client host certificates

One of the lesser used aspects of TLS is thatTLS clients can send a certificate to the TLS server, in additionto the server sending one to clients. In private deployments, theseclient certificates are often issued out of a private CertificateAuthority, possibly with custom fields that are understood by thesoftware involved. However, you can also use conventional publicTLS certificates for hosts as client certificates, and there aresituations where you might want to do this; for a non-hypotheticalexample, you might want to verify


dup()'s shared file IO offset is a necessary part of Unix

In a recent entry I noted dup() somewhat weirdseeming behavior that the new file descriptor you get from dup()(and also from dup2(), its sometimes better sibling) shares thefile's IO offset with the original file descriptor. This behavioris different from open()'ing the same file again, where you get afile descriptor with an independent file IO offset (sometimes calledthe seek offset or the seek position). In discussing this on theFediverse, I wondered if


Internet network sessions can be remarkably durable

These days, we do NAT for our internal networks on our perimeterfirewall instead of the firewalls for these internal networks . One of the advantages of doing your NAT onyour perimeter firewall is that the external NAT IP ranges you usecan be on a completely different subnet than your internal firewalls,which is quite handy if you want to do things like round robinNAT but are running out of IP address spaceon the subnet with your firewalls. With OpenBSD PF based firewalls,you can normally switch your NAT IPs without breaking


Unix /dev/fd and dup(2)

I recently read Amber Screen's A tale of /dev/fd ( via ) which notes an odd behaviorof Linux's /dev/fd and in fact of FreeBSD's /dev/fd as well, whereif you try to open a /dev/fd/N name for a file descriptor, it doespermissions checks and may refuse a process permissions to re-opena file descriptor it already has open. Screen writes:

To the dispassionate hacker (or a reader of Stevens),