Henning Brauer (henning@) wrote in with his report on the recent hackathon in New Zealand as well as events immediately before and after:
I flew to New Zealand a good week before the hackathon in Dunedin to
hike with benno@ and Anja. Fortunately, we didn't plan ahead, all of
that had been moot anyway - Qantas didn't feel like getting Anja's bag
to NZ and couldn't even tell where it might be (I knew better than to
fly Qantas after making that mistake last year), not even a day later -
at that point we would have been in the mountains already under normal
circumstances. So we went to buy some replacement gear and took off 2
days after arrival.
We went over the Mr. Robert ridge line to Angelus Lake, to continue
on an unmarked "trail" towards hopeless hut and almost got stuck in a
500m high rock wall with rain and heavy heavy gusts - it was fun.
When we returned after 3 days, we found our car broken into and almost
all of our stuff stolen, including 5 laptops and most of our clothes.
Most of Anja's stuff was safely at some Airport in Qantas possession,
but I didn't even have underwear any more.
To cut a long story short, next day we drove 100km without the
passenger window to pick up a new car, another 200 in the opposite
direction to meet the police guy in charge - who found a lot of our
stuff in a nearby ditch. At least we had our underwear back! However, 4
of the 5 Laptops, 2 each for Benno and me, were in there - thrown out
of the window of a driving car, my ones damaged beyond repair, Benno's
2 with broken displays. They kept the cheapest and oldest one.
Eventually late at night that day we arrived in Dunedin, having driven
over 900km that day, including me driving for a couple of hours, first
time in 5 years that I drove a car.
At the hackathon dlg@ loaned me his X60, with my recovered SSD put in
there I almost felt home and could hack. Yay!
My biggest achievement on this hackathon was that I managed to not
start another giant subsystem rewrite that drives me even more nuts
than I already am. Instead, I did lots of small things, of which I am
going to mention just two here.
We had a discussion about the pf ruleset in /etc/rc that gets loaded
at boottime before we bring the network up - the real ruleset is
loaded later. The question was whether we might accidentally pass carp
announcements through. That would require the host to be configured as
multicast router and we didn't actually check whether the order of
operations even leave a (in any case tiny) window, but it was clear we
want to tighten this a little more. What we'd want to express is
"don't pass these if forwarded". And that means received-on. If a
packet has been received on an interface, it doesn't originate from
the local host (at least not with the environment set up during boot).
So something like
block out quick received-on any
should catch all these. Except... that we didn't have a way to match
"any" interface. So I added that, "any" (in interface matching context)
matching any interface except loopback ones, because, well, loopback
is special. While there, I also added "! received-on".
The other bit I want to mention is followup work to the big checksum
rewrite. Since the stack now has nice software engines to offload the
checksum calculation to, even if no hardware is present, we could get
rid of a few checksum calculations in the upper parts of the stack,
just marking the packet for "needs checksumming" is enough now. I had
added the functionality for icmp too, even tho there is no hardware
that can do icmp checksum offloading (that I am aware of, at least) -
consistency is a good thing. So there were several places that did
their icmp checksum calculations manually, and I replaced those
calculations with the simple "set the flag" operation. That even fixed
some minor bugs.
Benno, Anja and myself went for another week of hiking afterwards, in
the Arthur's Pass area, going over Kelly Pass, then up the Taipo River
valley and finally over Harman Pass. Left our car by the hotel and our
gear inside, we're capable of learning from mistakes after all, got
rides from nice locals in & out and finally drove back to
Christchurch, where I spent and extra day with phessler@ since I am
apparently incapable of booking flights on the right days - in the
end, that was a nice extra day, some slacking before the 38 hours
door-to-door travel back home and work the day after, so all good.
I still had one problem to solve, when they broke into our car, my
house keys went missing (pretty sure they are still in a ditch in NZ),
and my primary phone was stolen - I had already ordered a replacement
while I was in Dunedin, shipped to my office, and a replacement SIM
card too. So one of my coworkers deposited a nice package with the new
phone, the new SIM card and my spare keys at my Portuguese coffee
place, and when I arrived Monday morning, I got myself a galao along
with the phone & the key to get into home.
By now I even acquired new laptops to replace the 2 broken ones and am
curious what forgotten diffs I'll find on the SSD I used in Dunedin.
Watch source-changes@ for them :)
We're terminally curious about what's in those forgotten diffs too, Henning! Thanks for the report and for putting in all this work on our favorite operating system.