144 karma · joined November 5, 2015
> Even [if] I was interested before, ... after reading this?
You can find a better (though slightly outdated) description here: https://wiki.freebsd.org/PkgBase
The docs that most recently bit us are pcie/ethernet on the RPi4; I got in touch with Broadcom, who is now in a multi-year effort to figure out how to disperse usable docs (under NDA?) to the broader community. I lost faith after 9ish months of poking and getting back "oh, you know how it is" in response.
Allwinner and Rockchip tend to be pretty solid, as far as SoC go; start here: https://wiki.freebsd.org/arm
I'm angry that this has blown up like it has, and I realize that Netgate hasn't helped themselves out at all with the statements they've been releasing. If I was a PR person, my immediate reaction would have been "Hey, we're pulling this from the build. Know you guys were all excited about it, but points to press release"
I'm trapped here, you know? I can't speak for the proportions of how bad it was because I'm just a kernel guy, not a security guy. If I say "I don't think it was really that bad," I can pretty much immediately be written off as unqualified to make those kinds of statements.
We did end up nearly entirely rewriting the driver, but a significant chunk of that was removing iflib to fix a load of vnet issues and simplify it. I'm proud of what we ended up with, but I'm not proud of how this was handled by pretty much everyone around me.
Finally, to me, the deadline was very real. I thought we could end up with something that I'd be able to merge in time for 13.0rc3 (builds started today) in a relatively non-disruptive manner. It wasn't until most of the time was up that time had passed until I realized what we had come up with, and started hoping that I could still pull it off with significant testing.
This wasn't a "mission to fix if_wg," at least it didn't start that way, and I think that it's important to acknowledge that my motivations here weren't exactly what's happened.
Let me start with: folks can hate me for this, but I generally like mmacy. I don't like specific things he did with this driver, but we usually get along. I don't really like how he's getting dragged around like this.
Now, this didn't start as a campaign to fix what was put into the tree, or to get Matt hit with the crap-bombs he's been dealt. This is the rough sequence of events:
- I use openvpn
- I don't like my openvpn setup, let's try if_wg
- oh, there are a couple problems here, let's fix those
- ok, what would it take to get wireguard-tools support?
This is where I get in touch with Jason.
- "oh, we gotta fix this"
- yeah, I can believe that
Cue hackathon session, we fix:
- All the jail bugs I can spot
- The race conditions we spot
- Number of panics
- Buffer overflow
- Privilege check
- Resync a lot of stuff with OpenBSD
- A number of things that I don't see, but I'm not a qualified expert in the area
Then we're here, where the stories start dropping and all hell breaks loose. For me, this isn't a story about how skilled people rallied to get it together, this is a story I'm not particularly proud of.
No further comment, because I'd like to get back to what I do. I know this isn't going to end well for me, so I likely won't check back.
> This is a personal project, not backed by the author's employer.
FreeBSD >= 13.0 has an aarch64 RPI image that should boot OOTB for both RPi3/RPi4 -- the medium article referenced predates the introduction of this image, and it should generally make all the firmware steps obsolete. The dts replacement might still be necessary with it, I hadn't really looked at the differences between the one placed in review vs. upstream.
FWIW, FreeBSD tends to go to pretty great lengths to ensure newer kernel with older userland works. A stock GENERIC kernel comes with COMPAT_FREEBSD* options back to COMPAT_FREEBSD4, and parts of the project's infrastructure tend to explicitly rely on at least supported releases to be functional in a jail on a -CURRENT kernel.
After looking at this repo more closely, this really is pretty suboptimal. build.sh is incredibly flexible, but yeah- no documentation on what you'd need to build a non-pfsense branded product.
That's pretty weird, given how much of this system seems to be geared towards being generically applicable and has some replacements aimed directly at rebranding some literal occurrences of "pfSense".
I would guess that pfsense/pfsense should be able to build it, but you probably won't have any luck on !FreeBSD/pfSense.
[0] https://github.com/pfsense/FreeBSD-src
[1] https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=252894
Are all Prosody modules pure-lua, or can/do some have a C/binary component to them? I note that the API documentation describes only lua bits, at least.
I could be convinced (well, paid) to make it a higher priority, but ultimately it's currently at the bottom of a barrel of much more enticing fish since I'm not really in the demographic that that kind of stuff targets.
FreeBSD should be able to switch before 13.0, but the bsdgrep developer is a slacker. It's only missing a couple of GNU extensions that are somewhat surprisingly (to me) common.
There's been some WIP to also use it for some pkgbase stuff, as well as an ldconfig lua script for use in post-install scripts now that pkg supports post-install.lua.
I've had my eye on a couple of other components that could use a rewrite with flua. A new flua-based replacement for kernel config(8) could be quite excellent, for instance.