utcc.utoronto.ca utcc.utoronto.ca

Microsoft SharePoint is being used to send spam

I'm paying more attention to what our mail system detects as spam and where it's coming from than usual, so I'm getting to notice things (or, in the alternate phrasing, being forced to notice things). Today's thing that I noticed is that to no one's surprise, Microsoft SharePoint is currently being used as a spam sending vector. I say 'to no one's surprise' because it's a long standing rule that anything that can be used to send email...

utcc.utoronto.ca utcc.utoronto.ca

A handy diff argument handling feature that's actually very old

Some time ago I stumbled over a useful feature in the diff on our Linux machines (ie, GNU diff), where 'diff exim4.conf /etc/exim4/' is the same as 'diff exim4.conf /etc/exim4/exim4.conf'. As a sysadmin, I routinely diff versions of configuration files to do things like verify that my intended new changes are actually the only changes, so this feature routinely saves me from having to repeat the file name. I was all set to write a...

utcc.utoronto.ca utcc.utoronto.ca

Web page generation systems should support remapping external URLs

Some web pages and web sites are hand authored, but many more are generated (dynamically or statically) through web page generation systems and content management systems of various sorts. Also, often our writing in these systems has links to external pages; to other people's writing, to reference documentation, to Wikipedia, to whatever. This presents us (the people running web sites and writing on them) a long term problem, because...

utcc.utoronto.ca utcc.utoronto.ca

A thought about the lifetimes of hard disks and solid state disks

At work, a related group to ours just had a SSD start reaching its official total writes lifetime, and this sparked a thought (especially when combined with my goal of moving away from hard drives on my own machine). On the one hand, it's increasingly conventional wisdom that modern solid state drives (both SSD and NVMe) have a longer expected lifetime on average than hard drives. On the other hand, you can get lucky and have...

utcc.utoronto.ca utcc.utoronto.ca

Using DMARC information is complicated in practice in the real world

As part of a planned switch to rspamd as our anti-spam system (well, our spam recognition system), I've been taking a closer look at how our test rspamd scores some email and what it reports about why. This has given me a new and unhappy view of DMARC in the real world, building on how DKIM looks for our 'good' email. So let me tell you a story, starting with the background. The university is now a big user of Microsoft Teams. The...

utcc.utoronto.ca utcc.utoronto.ca

Why the Unix newgrp command exists (sort of)

Recently in the Fediverse, I read this toot: Did you know that #Unix groups have passwords? Apparently if you set one, you then have to use newgrp to log in to that group. I have never seen anyone use unix group passwords. (Via @mhoye.) There are some things to say about this, but the first thing you might wonder is why the newgrp command exists at all. The best answer is that it's mostly a Unix historical relic (or, to put it another...

utcc.utoronto.ca utcc.utoronto.ca

Where (and how) you limit your concurrency in Go can matter

At the start of September, I wrote about how concurrency is still not easy even in Go, using a section of real code with a deadlock as the example. In that entry, I proposed three fixes to remove the deadlock. Since Hillel Wayne's Finding Goroutine Bugs with TLA+ has now formally demonstrated that all three of my proposed fixes work, I can talk about the practical differences between them. For convenience, here's the original code from...